00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef OpenSOAP_ByteArray_H
00012 #define OpenSOAP_ByteArray_H
00013
00014 #include <stdlib.h>
00015 #include <sys/types.h>
00016
00017 #include <OpenSOAP/Defines.h>
00018 #include <OpenSOAP/ErrorCode.h>
00019
00026 #ifdef __cplusplus
00027 extern "C" {
00028 #endif
00029
00034 typedef struct tagOpenSOAPByteArray OpenSOAPByteArray;
00035
00040 typedef OpenSOAPByteArray *OpenSOAPByteArrayPtr;
00041
00050 int
00051 OPENSOAP_API
00052 OpenSOAPByteArrayCreate(OpenSOAPByteArrayPtr * b_ary);
00053
00066 int
00067 OPENSOAP_API
00068 OpenSOAPByteArrayCreateWithData(const unsigned char * data,
00069 size_t sz,
00070 OpenSOAPByteArrayPtr * b_ary);
00071
00076 #define OpenSOAPByteArrayCreateWithSize(sz, b_ary) OpenSOAPByteArrayCreateWithData(0, (sz), (b_ary))
00077
00086 int
00087 OPENSOAP_API
00088 OpenSOAPByteArrayAppendRef(OpenSOAPByteArrayPtr b_ary);
00089
00098 int
00099 OPENSOAP_API
00100 OpenSOAPByteArrayRelease(OpenSOAPByteArrayPtr b_ary);
00101
00112 int
00113 OPENSOAP_API
00114 OpenSOAPByteArrayGetSize(OpenSOAPByteArrayPtr b_ary,
00115 size_t * sz);
00116
00127 int
00128 OPENSOAP_API
00129 OpenSOAPByteArrayBeginConst(OpenSOAPByteArrayPtr b_ary,
00130 const unsigned char ** beg);
00131
00142 int
00143 OPENSOAP_API
00144 OpenSOAPByteArrayEndConst(OpenSOAPByteArrayPtr b_ary,
00145 const unsigned char ** ed);
00146
00159 int
00160 OPENSOAP_API
00161 OpenSOAPByteArrayGetBeginSizeConst(OpenSOAPByteArrayPtr b_ary,
00162 const unsigned char ** beg,
00163 size_t * sz);
00164
00177 int
00178 OPENSOAP_API
00179 OpenSOAPByteArrayGetBeginEndConst(OpenSOAPByteArrayPtr b_ary,
00180 const unsigned char ** beg,
00181 const unsigned char ** ed);
00182
00193 int
00194 OPENSOAP_API
00195 OpenSOAPByteArrayBegin(OpenSOAPByteArrayPtr b_ary,
00196 unsigned char ** beg);
00197
00208 int
00209 OPENSOAP_API
00210 OpenSOAPByteArrayEnd(OpenSOAPByteArrayPtr b_ary,
00211 unsigned char ** ed);
00212
00225 int
00226 OPENSOAP_API
00227 OpenSOAPByteArrayGetBeginSize(OpenSOAPByteArrayPtr b_ary,
00228 unsigned char ** beg,
00229 size_t * sz);
00230
00243 int
00244 OPENSOAP_API
00245 OpenSOAPByteArrayGetBeginEnd(OpenSOAPByteArrayPtr b_ary,
00246 unsigned char ** beg,
00247 unsigned char ** ed);
00248
00257 int
00258 OPENSOAP_API
00259 OpenSOAPByteArrayClear(OpenSOAPByteArrayPtr b_ary);
00260
00273 int
00274 OPENSOAP_API
00275 OpenSOAPByteArraySetData(OpenSOAPByteArrayPtr b_ary,
00276 const unsigned char * data,
00277 size_t sz);
00278
00291 int
00292 OPENSOAP_API
00293 OpenSOAPByteArrayAppend(OpenSOAPByteArrayPtr b_ary,
00294 const unsigned char *dat,
00295 size_t dat_len);
00296
00307 int
00308 OPENSOAP_API
00309 OpenSOAPByteArrayResize(OpenSOAPByteArrayPtr b_ary,
00310 size_t new_size);
00311
00322 int
00323 OPENSOAP_API
00324 OpenSOAPByteArrayDuplicate(OpenSOAPByteArrayPtr b_ary,
00325 OpenSOAPByteArrayPtr * dup_b_ary);
00326
00327 #ifdef __cplusplus
00328 }
00329 #endif
00330
00331 #endif