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 */ 00011 #ifndef OpenSOAP_CStdio_H 00012 #define OpenSOAP_CStdio_H 00013 00014 #include <OpenSOAP/ByteArray.h> 00015 00016 #include <stdio.h> 00017 00024 #ifdef __cplusplus 00025 extern "C" { 00026 #endif /* __cplusplus */ 00027 00032 typedef struct tagOpenSOAPCStdio OpenSOAPCStdio; 00033 00038 typedef OpenSOAPCStdio *OpenSOAPCStdioPtr; 00039 00048 int 00049 OPENSOAP_API 00050 OpenSOAPCStdioCreate(/* [out] */ OpenSOAPCStdioPtr *s); 00051 00064 int 00065 OPENSOAP_API 00066 OpenSOAPCStdioCreateWithFILEPtr(/* [in] */ FILE *is, 00067 /* [in] */ FILE *os, 00068 /* [out] */ OpenSOAPCStdioPtr *s); 00069 00078 int 00079 OPENSOAP_API 00080 OpenSOAPCStdioCreateForStdio(/* [out] */ OpenSOAPCStdioPtr *s); 00081 00090 int 00091 OPENSOAP_API 00092 OpenSOAPCStdioClose(/* [in] */ OpenSOAPCStdioPtr s); 00093 00102 int 00103 OPENSOAP_API 00104 OpenSOAPCStdioRelease(/* [in] */ OpenSOAPCStdioPtr s); 00105 00114 int 00115 OPENSOAP_API 00116 OpenSOAPCStdioSetBinaryMode(/* [in] */ OpenSOAPCStdioPtr s); 00117 00126 int 00127 OPENSOAP_API 00128 OpenSOAPCStdioSetTextMode(/* [in] */ OpenSOAPCStdioPtr s); 00129 00142 int 00143 OPENSOAP_API 00144 OpenSOAPCStdioRead(/* [in] */ OpenSOAPCStdioPtr s, 00145 /* [out] */ unsigned char *buf, 00146 /* [in, out] */ size_t *buf_sz); 00147 00160 int 00161 OPENSOAP_API 00162 OpenSOAPCStdioWrite(/* [in] */ OpenSOAPCStdioPtr s, 00163 /* [in] */ const unsigned char *buf, 00164 /* [in, out] */ size_t *buf_sz); 00165 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 */