libcm/cmStrStream.h
2014-01-12 13:06:13 -05:00

42 rindas
1.1 KiB
C

#ifndef cmStrStream_h
#define cmStrStream_h
#ifdef __cplusplus
extern "C" {
#endif
enum
{
kOkSsRC = cmOkRC,
kLHeapMemFailSsRC
};
typedef cmHandle_t cmStrStreamH_t;
typedef cmRC_t cmSsRC_t;
extern cmStrStreamH_t cmStrStreamNullHandle;
// If 'dfltBlkByteCnt' 'is set to 0 then the dfltBlkByteCnt is internally set to 4096.
cmSsRC_t cmOStrStreamCreate( cmCtx_t* ctx, cmStrStreamH_t* hp, unsigned dfltBlkByteCnt );
cmSsRC_t cmOStrStreamDestroy( cmStrStreamH_t* hp );
bool cmOStrStreamIsValid( cmStrStreamH_t h );
cmSsRC_t cmOStrStreamWrite( cmStrStreamH_t h, const void* dp, unsigned byteCnt );
cmSsRC_t cmOStrStreamWriteStr( cmStrStreamH_t h, const cmChar_t* str );
cmSsRC_t cmOStrStreamWriteStrN( cmStrStreamH_t h, const cmChar_t* str, unsigned n );
cmSsRC_t cmOStrStreamVPrintf( cmStrStreamH_t h, const cmChar_t* fmt, va_list vl );
cmSsRC_t cmOStrStreamPrintf( cmStrStreamH_t h, const cmChar_t* fmt, ... );
unsigned cmOStrStreamByteCount( cmStrStreamH_t h );
void* cmOStrStreamAllocBuf( cmStrStreamH_t h );
cmChar_t* cmOStrStreamAllocText( cmStrStreamH_t h );
#ifdef __cplusplus
}
#endif
#endif