00001 /* -*- mode: c++; -*- 00002 *----------------------------------------------------------------------------- 00003 * $RCSfile: CStdio.h,v $ 00004 * 00005 * See Copyright for the status of this software. 00006 * 00007 * The OpenSOAP Project 00008 * http://opensoap.jp/ 00009 *----------------------------------------------------------------------------- 00010 */ 00123 #ifndef OpenSOAP_CStdio_H 00124 #define OpenSOAP_CStdio_H 00125 00126 #include <OpenSOAP/ByteArray.h> 00127 00128 #include <stdio.h> 00129 00130 #ifdef __cplusplus 00131 extern "C" { 00132 #endif /* __cplusplus */ 00133 00134 typedef struct tagOpenSOAPCStdio OpenSOAPCStdio; 00135 00136 typedef OpenSOAPCStdio *OpenSOAPCStdioPtr; 00137 00138 int 00139 OPENSOAP_API 00140 OpenSOAPCStdioCreate(/* [out] */ OpenSOAPCStdioPtr *s); 00141 00142 int 00143 OPENSOAP_API 00144 OpenSOAPCStdioCreateWithFILEPtr(/* [in] */ FILE *is, 00145 /* [in] */ FILE *os, 00146 /* [out] */ OpenSOAPCStdioPtr *s); 00147 00148 int 00149 OPENSOAP_API 00150 OpenSOAPCStdioCreateForStdio(/* [out] */ OpenSOAPCStdioPtr *s); 00151 00152 int 00153 OPENSOAP_API 00154 OpenSOAPCStdioClose(/* [in] */ OpenSOAPCStdioPtr s); 00155 00156 int 00157 OPENSOAP_API 00158 OpenSOAPCStdioRelease(/* [in] */ OpenSOAPCStdioPtr s); 00159 00160 int 00161 OPENSOAP_API 00162 OpenSOAPCStdioSetBinaryMode(/* [in] */ OpenSOAPCStdioPtr s); 00163 00164 int 00165 OPENSOAP_API 00166 OpenSOAPCStdioSetTextMode(/* [in] */ OpenSOAPCStdioPtr s); 00167 00168 int 00169 OPENSOAP_API 00170 OpenSOAPCStdioRead(/* [in] */ OpenSOAPCStdioPtr s, 00171 /* [out] */ unsigned char *buf, 00172 /* [in, out] */ size_t *buf_sz); 00173 00174 int 00175 OPENSOAP_API 00176 OpenSOAPCStdioWrite(/* [in] */ OpenSOAPCStdioPtr s, 00177 /* [in] */ const unsigned char *buf, 00178 /* [in, out] */ size_t *buf_sz); 00179 00180 int 00181 OPENSOAP_API 00182 OpenSOAPCStdioReadToDelm(/* [in] */ OpenSOAPCStdioPtr s, 00183 /* [in] */ const unsigned char *delm, 00184 /* [in] */ size_t delm_sz, 00185 /* [out] */ OpenSOAPByteArrayPtr buf); 00186 00187 #ifdef __cplusplus 00188 } 00189 #endif /* __cplusplus */ 00190 00191 #endif /* OpenSOAP_CStdio_H */