1 #ifndef FILEOBJECT_H 2 #define FILEOBJECT_H 3 4 typedef struct FileObjectStruct 5 { 6 void *Data; 7 int (*Read)(void *Data,void *Buffer,int Size); 8 int (*Eof)(void *Data); 9 void (*Rewind)(void *Data); 10 int (*Close)(void *Data); 11 } FileObject; 12 13 FileObject *FileObject_Open(const char *FileName); 14 FileObject *FileObject_FdOpen(int fd); 15 int FileObject_Read(FileObject *File,void *Buffer,int Size); 16 int FileObject_Eof(FileObject *File); 17 void FileObject_Rewind(FileObject *File); 18 int FileObject_Close(FileObject *File); 19 20 void FileObject_SetLastOpenError(const char *Message); 21 const char *FileObject_GetLastOpenError(void); 22 void FileObject_SetLastCloseError(const char *Message); 23 const char *FileObject_GetLastCloseError(void); 24 25 #endif // FILEOBJECT_H 26