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_CALLBACK_STREAM_TYPES_H 00014 #define LT_IO_CALLBACK_STREAM_TYPES_H 00015 00016 #include "lt_base.h" 00017 #include "lt_lib_io.h" 00018 00019 #if defined(LT_COMPILER_MS) 00020 #pragma warning(push,4) 00021 #endif 00022 00023 #ifdef LT_CPLUSPLUS 00024 extern "C" { 00025 #endif 00026 00027 00031 typedef void* LTIOStreamH; 00032 00037 00045 typedef LT_STATUS (*LTIOCallbackStream_Open)(void*); 00046 00054 typedef LT_STATUS (*LTIOCallbackStream_Close)(void*); 00055 00064 typedef lt_uint32 (*LTIOCallbackStream_Read)(void*, lt_uint8*, lt_uint32); 00065 00074 typedef lt_uint32 (*LTIOCallbackStream_Write)(void*, const lt_uint8*, lt_uint32); 00075 00084 typedef LT_STATUS (*LTIOCallbackStream_Seek)(void*, lt_int64, LTIOSeekDir); 00085 00093 typedef lt_int64 (*LTIOCallbackStream_Tell)(void*); 00094 00102 typedef lt_uint8 (*LTIOCallbackStream_IsEOF)(void*); 00103 00111 typedef lt_uint8 (*LTIOCallbackStream_IsOpen)(void*); 00112 00120 typedef LTIOStreamH (*LTIOCallbackStream_Duplicate)(void*); 00121 00125 #ifdef LT_CPLUSPLUS 00126 } 00127 #endif 00128 00129 #if defined(LT_COMPILER_MS) 00130 #pragma warning(pop) 00131 #endif 00132 00133 #endif
LizardTech |