Go to the documentation of this file.00001
00043 #if !defined (KFILEDEFS_H)
00044 #define KFILEDEFS_H
00045
00046
00047 #include <dsplink.h>
00048
00049
00050 #if defined (__cplusplus)
00051 extern "C" {
00052 #endif
00053
00054
00069 typedef enum {
00070 KFILE_SeekSet = 0x00,
00071 KFILE_SeekCur = 0x01,
00072 KFILE_SeekEnd = 0x02
00073 } KFILE_FileSeek ;
00074
00075
00082 typedef Pstr FileName ;
00083
00084
00118 typedef DSP_STATUS (*FnKfileOpen) (IN CONST FileName fileName,
00119 IN CONST Char8 * mode,
00120 IN Void ** fileHandlePtr) ;
00121
00122
00146 typedef DSP_STATUS (*FnKfileClose) (IN Void * fileHandle) ;
00147
00148
00182 typedef DSP_STATUS (*FnKfileRead) (OUT Char8 * buffer,
00183 IN Uint32 size,
00184 IN Uint32 count,
00185 IN Void * fileHandle) ;
00186
00187
00224 typedef DSP_STATUS (*FnKfileSeek) (IN Void * fileHandle,
00225 IN Int32 offset,
00226 IN KFILE_FileSeek origin) ;
00227
00228
00258 typedef DSP_STATUS (*FnKfileTell) (IN Void * fileHandle,
00259 OUT Int32 * pos) ;
00260
00261
00283 typedef Void (*FnKfileGetSize) (IN Void * fileHandle,
00284 OUT Uint32 * size) ;
00285
00286
00313 typedef struct KFILE_Interface_tag {
00314 FnKfileOpen kfileOpen ;
00315 FnKfileClose kfileClose ;
00316 FnKfileRead kfileRead ;
00317 FnKfileSeek kfileSeek ;
00318 FnKfileTell kfileTell ;
00319 FnKfileGetSize kfileGetSize ;
00320 } KFILE_Interface ;
00321
00339 typedef struct KFileObject_tag {
00340 Uint32 signature ;
00341 KFILE_Interface * fnTable ;
00342 Void * fileObj ;
00343 Bool isOpen ;
00344 } KFileObject ;
00345
00346
00347 #if defined (__cplusplus)
00348 }
00349 #endif
00350
00351
00352 #endif