MrSID Decode SDK for Raster Reference Manual  9.5.4.4709
lt_ioCStream.h
Go to the documentation of this file.
00001 /* $Id$ */
00002 /* //////////////////////////////////////////////////////////////////////////
00003 //                                                                         //
00004 // This code is Copyright (c) 2004 LizardTech, Inc, 1008 Western Avenue,   //
00005 // Suite 200, Seattle, WA 98104.  Unauthorized use or distribution         //
00006 // prohibited.  Access to and use of this code is permitted only under     //
00007 // license from LizardTech, Inc.  Portions of the code are protected by    //
00008 // US and foreign patents and other filings. All Rights Reserved.          //
00009 //                                                                         //
00011 /* PUBLIC - C */
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