diff options
author | inmarket <andrewh@inmarket.com.au> | 2014-02-07 14:04:43 +1000 |
---|---|---|
committer | inmarket <andrewh@inmarket.com.au> | 2014-02-07 14:04:43 +1000 |
commit | a86bab4a77ea6a4cd34e011c15535fc8da8a1ba6 (patch) | |
tree | c3256dd39d2636b2711507c7885fe3ac98a2e7b2 /include/gfile | |
parent | 1d904dccaf4e82b5a7225f004f191ebc97176b91 (diff) | |
download | uGFX-a86bab4a77ea6a4cd34e011c15535fc8da8a1ba6.tar.gz uGFX-a86bab4a77ea6a4cd34e011c15535fc8da8a1ba6.tar.bz2 uGFX-a86bab4a77ea6a4cd34e011c15535fc8da8a1ba6.zip |
Updates to GFILE code
Diffstat (limited to 'include/gfile')
-rw-r--r-- | include/gfile/gfile.h | 51 |
1 files changed, 7 insertions, 44 deletions
diff --git a/include/gfile/gfile.h b/include/gfile/gfile.h index b615cb8a..62972c47 100644 --- a/include/gfile/gfile.h +++ b/include/gfile/gfile.h @@ -31,48 +31,11 @@ * @brief A file pointer */ -typedef struct GFILE { - const struct GFILEVMT * vmt; - uint16_t flags; - #define GFILEFLG_OPEN 0x0001 // File is open - #define GFILEFLG_READ 0x0002 // Read the file - #define GFILEFLG_WRITE 0x0004 // Write the file - #define GFILEFLG_APPEND 0x0008 // Append on each write - #define GFILEFLG_BINARY 0x0010 // Treat as a binary file - #define GFILEFLG_DELONCLOSE 0x0020 // Delete on close - #define GFILEFLG_CANSEEK 0x0040 // Seek operations are valid - #define GFILEFLG_FAILONBLOCK 0x0080 // Fail on a blocking call - #define GFILEFLG_MUSTEXIST 0x0100 // On open file must exist - #define GFILEFLG_MUSTNOTEXIST 0x0200 // On open file must not exist - #define GFILEFLG_TRUNC 0x0400 // On open truncate the file - void * obj; - long int pos; -} GFILE; - -typedef struct GFILEVMT { - const struct GFILEVMT * next; - uint8_t flags; - #define GFSFLG_WRITEABLE 0x0001 - #define GFSFLG_CASESENSITIVE 0x0002 - #define GFSFLG_SEEKABLE 0x0004 - #define GFSFLG_FAST 0x0010 - #define GFSFLG_SMALL 0x0020 - #define GFSFLG_TEXTMODES 0x0040 - char prefix; - bool_t del(const char *fname); - bool_t exists(const char *fname); - long int filesize(const char *fname); - bool_t ren(const char *oldname, const char *newname); - bool_t open(GFILE *f, const char *fname); - void close(GFILE *f); - int read(GFILE *f, char *buf, int size); - int write(GFILE *f, const char *buf, int size); - bool_t setpos(GFILE *f, long int pos); - long int getsize(GFILE *f); - bool_t eof(GFILE *f); -} GFILEVMT; - -typedef void GFILE; +#ifndef GFILE_IMPLEMENTATION + typedef void GFILE; +#else + typedef struct GFILE GFILE; +#endif extern GFILE *gfileStdIn; extern GFILE *gfileStdErr; @@ -92,8 +55,8 @@ extern "C" { bool_t gfileRename(const char *oldname, const char *newname); GFILE * gfileOpen(const char *fname, const char *mode); void gfileClose(GFILE *f); - size_t gfileRead(GFILE *f, char *buf, size_t len); - size_t gfileWrite(GFILE *f, const char *buf, size_t len); + size_t gfileRead(GFILE *f, void *buf, size_t len); + size_t gfileWrite(GFILE *f, const void *buf, size_t len); long int gfileGetPos(GFILE *f); bool_t gfileSetPos(GFILE *f, long int pos); long int gfileGetSize(GFILE *f); |