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