00001
00002
00003
00004
00005
00006
00007
00008
00009
00011
00012
00013 #ifndef LT_IO_C_STREAM_H
00014 #define LT_IO_C_STREAM_H
00015
00016 #include "lt_base.h"
00017 #include "lt_lib_io.h"
00018 #include "lt_ioCallbackStreamTypes.h"
00019
00020 #if defined(LT_COMPILER_MS)
00021 #pragma warning(push,4)
00022 #endif
00023
00024 #ifdef LT_CPLUSPLUS
00025 extern "C" {
00026 #endif
00027
00035
00046 LT_STATUS lt_ioCStreamDestroy(LTIOStreamH stream);
00047
00048
00059 LT_STATUS lt_ioCStreamOpen(LTIOStreamH stream);
00060
00061
00073 LT_STATUS lt_ioCStreamClose(LTIOStreamH stream);
00074
00075
00088 lt_uint32 lt_ioCStreamRead(LTIOStreamH stream, lt_uint8* buf, lt_uint32 len);
00089
00090
00103 lt_uint32 lt_ioCStreamWrite(LTIOStreamH stream, const lt_uint8* buf, lt_uint32 len);
00104
00105
00118 LT_STATUS lt_ioCStreamSeek(LTIOStreamH stream, lt_int64 offset, LTIOSeekDir dir);
00119
00120
00131 lt_int64 lt_ioCStreamTell(LTIOStreamH stream);
00132
00133
00144 lt_uint8 lt_ioCStreamIsEOF(LTIOStreamH stream);
00145
00146
00157 lt_uint8 lt_ioCStreamIsOpen(LTIOStreamH stream);
00158
00159
00170 LTIOStreamH lt_ioCStreamDuplicate(LTIOStreamH stream);
00171
00172
00191 LTIOStreamH lt_ioCallbackStreamCreate(LTIOCallbackStream_Open open,
00192 LTIOCallbackStream_Close close,
00193 LTIOCallbackStream_Read read,
00194 LTIOCallbackStream_Write write,
00195 LTIOCallbackStream_Seek seek,
00196 LTIOCallbackStream_Tell tell,
00197 LTIOCallbackStream_IsEOF isEOF,
00198 LTIOCallbackStream_IsOpen isOpen,
00199 LTIOCallbackStream_Duplicate duplicate,
00200 void* userData);
00201
00204 #ifdef LT_CPLUSPLUS
00205 }
00206 #endif
00207
00208 #if defined(LT_COMPILER_MS)
00209 #pragma warning(pop)
00210 #endif
00211
00212 #endif