00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00221 #ifndef OpenSOAP_ByteArray_H
00222 #define OpenSOAP_ByteArray_H
00223
00224 #include <stdlib.h>
00225 #include <sys/types.h>
00226
00227 #include <OpenSOAP/Defines.h>
00228 #include <OpenSOAP/ErrorCode.h>
00229
00230 #ifdef __cplusplus
00231 extern "C" {
00232 #endif
00233
00234 typedef struct tagOpenSOAPByteArray OpenSOAPByteArray;
00235
00236 typedef OpenSOAPByteArray *OpenSOAPByteArrayPtr;
00237
00238 int
00239 OPENSOAP_API
00240 OpenSOAPByteArrayCreate(OpenSOAPByteArrayPtr * b_ary);
00241
00242 int
00243 OPENSOAP_API
00244 OpenSOAPByteArrayCreateWithData(const unsigned char * data,
00245 size_t sz,
00246 OpenSOAPByteArrayPtr * b_ary);
00247
00248 #define OpenSOAPByteArrayCreateWithSize(sz, b_ary) OpenSOAPByteArrayCreateWithData(0, (sz), (b_ary))
00249
00250 int
00251 OPENSOAP_API
00252 OpenSOAPByteArrayAppendRef(OpenSOAPByteArrayPtr b_ary);
00253
00254 int
00255 OPENSOAP_API
00256 OpenSOAPByteArrayRelease(OpenSOAPByteArrayPtr b_ary);
00257
00258 int
00259 OPENSOAP_API
00260 OpenSOAPByteArrayGetSize(OpenSOAPByteArrayPtr b_ary,
00261 size_t * sz);
00262
00263 int
00264 OPENSOAP_API
00265 OpenSOAPByteArrayBeginConst(OpenSOAPByteArrayPtr b_ary,
00266 const unsigned char ** beg);
00267
00268 int
00269 OPENSOAP_API
00270 OpenSOAPByteArrayEndConst(OpenSOAPByteArrayPtr b_ary,
00271 const unsigned char ** ed);
00272
00273 int
00274 OPENSOAP_API
00275 OpenSOAPByteArrayGetBeginSizeConst(OpenSOAPByteArrayPtr b_ary,
00276 const unsigned char ** beg,
00277 size_t * sz);
00278
00279 int
00280 OPENSOAP_API
00281 OpenSOAPByteArrayGetBeginEndConst(OpenSOAPByteArrayPtr b_ary,
00282 const unsigned char ** beg,
00283 const unsigned char ** ed);
00284
00285 int
00286 OPENSOAP_API
00287 OpenSOAPByteArrayBegin(OpenSOAPByteArrayPtr b_ary,
00288 unsigned char ** beg);
00289
00290 int
00291 OPENSOAP_API
00292 OpenSOAPByteArrayEnd(OpenSOAPByteArrayPtr b_ary,
00293 unsigned char ** ed);
00294
00295 int
00296 OPENSOAP_API
00297 OpenSOAPByteArrayGetBeginSize(OpenSOAPByteArrayPtr b_ary,
00298 unsigned char ** beg,
00299 size_t * sz);
00300
00301 int
00302 OPENSOAP_API
00303 OpenSOAPByteArrayGetBeginEnd(OpenSOAPByteArrayPtr b_ary,
00304 unsigned char ** beg,
00305 unsigned char ** ed);
00306
00307 int
00308 OPENSOAP_API
00309 OpenSOAPByteArrayClear(OpenSOAPByteArrayPtr b_ary);
00310
00311 int
00312 OPENSOAP_API
00313 OpenSOAPByteArraySetData(OpenSOAPByteArrayPtr b_ary,
00314 const unsigned char * data,
00315 size_t sz);
00316
00317 int
00318 OPENSOAP_API
00319 OpenSOAPByteArrayAppend(OpenSOAPByteArrayPtr b_ary,
00320 const unsigned char *dat,
00321 size_t dat_len);
00322
00323 int
00324 OPENSOAP_API
00325 OpenSOAPByteArrayResize(OpenSOAPByteArrayPtr b_ary,
00326 size_t new_size);
00327
00328 int
00329 OPENSOAP_API
00330 OpenSOAPByteArrayDuplicate(OpenSOAPByteArrayPtr b_ary,
00331 OpenSOAPByteArrayPtr * dup_b_ary);
00332
00333 #ifdef __cplusplus
00334 }
00335 #endif
00336
00337 #endif