diff options
Diffstat (limited to 'include/gfile')
-rw-r--r-- | include/gfile/gfile.h | 169 | ||||
-rw-r--r-- | include/gfile/options.h | 158 |
2 files changed, 0 insertions, 327 deletions
diff --git a/include/gfile/gfile.h b/include/gfile/gfile.h deleted file mode 100644 index 62972c47..00000000 --- a/include/gfile/gfile.h +++ /dev/null @@ -1,169 +0,0 @@ -/* - * This file is subject to the terms of the GFX License. If a copy of - * the license was not distributed with this file, you can obtain one at: - * - * http://ugfx.org/license.html - */ - -/** - * @file include/gfile/gfile.h - * @brief GFILE - File IO Routines header file. - * - * @addtogroup GFILE - * - * @brief Module which contains Operating system independent FILEIO - * - * @{ - */ - -#ifndef _GFILE_H -#define _GFILE_H - -#include "gfx.h" - -#if GFX_USE_GFILE || defined(__DOXYGEN__) - -/*===========================================================================*/ -/* Type definitions */ -/*===========================================================================*/ - -/** - * @brief A file pointer - */ - -#ifndef GFILE_IMPLEMENTATION - typedef void GFILE; -#else - typedef struct GFILE GFILE; -#endif - -extern GFILE *gfileStdIn; -extern GFILE *gfileStdErr; -extern GFILE *gfileStdOut; - -/*===========================================================================*/ -/* External declarations. */ -/*===========================================================================*/ - -#ifdef __cplusplus -extern "C" { -#endif - - bool_t gfileExists(const char *fname); - bool_t gfileDelete(const char *fname); - long int gfileGetFilesize(const char *fname); - 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, 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); - bool_t gfileEOF(GFILE *f); - - #if GFILE_NEED_CHIBIOSFS && GFX_USE_OS_CHIBIOS - GFILE * gfileOpenBaseFileStream(void *BaseFileStreamPtr, const char *mode); - #endif - #if GFILE_NEED_MEMFS - GFILE * gfileOpenMemory(void *memptr, const char *mode); - #endif - - #if GFILE_NEED_PRINTG - int vfnprintg(GFILE *f, int maxlen, const char *fmt, va_list arg); - int fnprintg(GFILE *f, int maxlen, const char *fmt, ...); - #define vfprintg(f,m,a) vfnprintg(f,0,m,a) - #define fprintg(f,m,...) fnprintg(f,0,m,...) - #define vprintg(m,a) vfnprintg(gfileStdOut,0,m,a) - #define printg(m,...) fnprintg(gfileStdOut,0,m,...) - - #if GFILE_NEED_STRINGS - int vsnprintg(char *buf, int maxlen, const char *fmt, va_list arg); - int snprintg(char *buf, int maxlen, const char *fmt, ...); - #define vsprintg(s,m,a) vsnprintg(s,0,m,a) - #define sprintg(s,m,...) snprintg(s,0,m,...) - #endif - #endif - - #if GFILE_NEED_SCANG - int vfscang(GFILE *f, const char *fmt, va_list arg); - int fscang(GFILE *f, const char *fmt, ...); - #define vscang(f,a) vfscang(gfileStdIn,f,a) - #define scang(f,...) fscang(gfileStdIn,f,...) - - #if GFILE_NEED_STRINGS - int vsscang(const char *buf, const char *fmt, va_list arg); - int sscang(const char *buf, const char *fmt, ...); - #endif - #endif - - #if GFILE_NEED_STDIO && !defined(GFILE_IMPLEMENTATION) - #define stdin gfileStdIn - #define stdout gfileStdOut - #define stderr gfileStdErr - #define FILENAME_MAX 256 // Use a relatively small number for an embedded platform - #define L_tmpnam FILENAME_MAX - #define FOPEN_MAX GFILE_MAX_GFILES - #define TMP_MAX GFILE_MAX_GFILES - #define P_tmpdir "/tmp/" - #define FILE GFILE - #define fopen(n,m) gfileOpen(n,m) - #define fclose(f) gfileClose(f) - size_t gstdioRead(void * ptr, size_t size, size_t count, FILE *f); - size_t gstdioWrite(const void * ptr, size_t size, size_t count, FILE *f); - #define fread(p,sz,cnt,f) gstdioRead(p,sz,cnt,f) - #define fwrite(p,sz,cnt,f) gstdioWrite(p,sz,cnt,f) - int gstdioSeek(FILE *f, size_t offset, int origin); - #define fseek(f,ofs,org) gstdioSeek(f,ofs,org) - #define SEEK_SET 0 - #define SEEK_CUR 1 - #define SEEK_END 2 - #define remove(n) (!gfileDelete(n)) - #define rename(o,n) (!gfileRename(o,n)) - #define fflush(f) (0) - #define ftell(f) gfileGetPos(f) - #define fpos_t long int - int gstdioGetpos(FILE *f, long int *pos); - #define fgetpos(f,pos) gstdioGetpos(f,pos) - #define fsetpos(f, pos) (!gfileSetPos(f, *pos)) - #define rewind(f) gfileSetPos(f, 0); - #define feof(f) gfileEOF(f) - - #define vfprintf(f,m,a) vfnprintg(f,0,m,a) - #define fprintf(f,m,...) fnprintg(f,0,m,...) - #define vprintf(m,a) vfnprintg(gfileStdOut,0,m,a) - #define printf(m,...) fnprintg(gfileStdOut,0,m,...) - #define vsnprintf(s,n,m,a) vsnprintg(s,n,m,a) - #define snprintf(s,n,m,...) snprintg(s,n,m,...) - #define vsprintf(s,m,a) vsnprintg(s,0,m,a) - #define sprintf(s,m,...) snprintg(s,0,m,...) - //TODO - //void clearerr ( FILE * stream ); - //int ferror ( FILE * stream ); - //FILE * tmpfile ( void ); // Auto-deleting - //char * tmpnam ( char * str ); - //char * mktemp (char *template); - //FILE * freopen ( const char * filename, const char * mode, FILE * stream ); - //setbuf - //setvbuf - //fflush - //fgetc - //fgets - //fputc - //fputs - //getc - //getchar - //puts - //ungetc - //void perror (const char * str); - #endif - -#ifdef __cplusplus -} -#endif - -#endif /* GFX_USE_GFILE */ - -#endif /* _GFILE_H */ -/** @} */ - diff --git a/include/gfile/options.h b/include/gfile/options.h deleted file mode 100644 index d73af02c..00000000 --- a/include/gfile/options.h +++ /dev/null @@ -1,158 +0,0 @@ -/* - * This file is subject to the terms of the GFX License. If a copy of - * the license was not distributed with this file, you can obtain one at: - * - * http://ugfx.org/license.html - */ - -/** - * @file include/gfile/options.h - * @brief GFILE - File IO options header file. - * - * @addtogroup GFILE - * @{ - */ - -#ifndef _GFILE_OPTIONS_H -#define _GFILE_OPTIONS_H - -/** - * @name GFILE Functionality to be included - * @{ - */ - /** - * @brief Include printg, fprintg etc functions - * @details Defaults to FALSE - */ - #ifndef GFILE_NEED_PRINTG - #define GFILE_NEED_PRINTG FALSE - #endif - /** - * @brief Include scang, fscang etc functions - * @details Defaults to FALSE - */ - #ifndef GFILE_NEED_SCANG - #define GFILE_NEED_SCANG FALSE - #endif - /** - * @brief Include the string sprintg/sscang functions - * @details Defaults to FALSE - * @pre To get sprintg functions you also need to define @p GFILE_NEED_PRINTG - * @pre To get sscang functions you also need to define @p GFILE_NEED_SCANG - */ - #ifndef GFILE_NEED_STRINGS - #define GFILE_NEED_STRINGS FALSE - #endif - /** - * @brief Map many stdio functions to their GFILE equivalent - * @details Defaults to FALSE - * @note This replaces the functions in stdio.h with equivalents - * - Do not include stdio.h as it has different conflicting definitions. - */ - #ifndef GFILE_NEED_STDIO - #define GFILE_NEED_STDIO FALSE - #endif - /** - * @brief Include the ROM file system - * @details Defaults to FALSE - * @note If GFILE_ALLOW_DEVICESPECIFIC is on then you can ensure that you are - * opening a file on the ROM file system by prefixing - * its name with "S|" (the letter 'S', followed by a vertical bar). - * @note This requires a file called romfs_files.h to be in the - * users project include path. This file should include all the files - * converted to .h files using the file2c utility (using flags "-dbcs"). - */ - #ifndef GFILE_NEED_ROMFS - #define GFILE_NEED_ROMFS FALSE - #endif - /** - * @brief Include the RAM file system - * @details Defaults to FALSE - * @note If GFILE_ALLOW_DEVICESPECIFIC is on then you can ensure that you are - * opening a file on the RAM file system by prefixing - * its name with "R|" (the letter 'R', followed by a vertical bar). - * @note You must also define GFILE_RAMFS_SIZE with the size of the file system - * to be allocated in RAM. - */ - #ifndef GFILE_NEED_RAMFS - #define GFILE_NEED_RAMFS FALSE - #endif - /** - * @brief Include the FAT file system driver - * @details Defaults to FALSE - * @note If GFILE_ALLOW_DEVICESPECIFIC is on then you can ensure that you are - * opening a file on the FAT file system by prefixing - * its name with "F|" (the letter 'F', followed by a vertical bar). - * @note You must separately include the FATFS library and code. - */ - #ifndef GFILE_NEED_FATFS - #define GFILE_NEED_FATFS FALSE - #endif - /** - * @brief Include the operating system's native file system - * @details Defaults to FALSE - * @note If GFILE_ALLOW_DEVICESPECIFIC is on then you can ensure that you are - * opening a file on the native file system by prefixing - * its name with "N|" (the letter 'N', followed by a vertical bar). - * @note If defined then the gfileStdOut and gfileStdErr handles - * use the operating system equivalent stdio and stderr. - * If it is not defined the gfileStdOut and gfileStdErr io is discarded. - */ - #ifndef GFILE_NEED_NATIVEFS - #define GFILE_NEED_NATIVEFS FALSE - #endif - /** - * @brief Include ChibiOS BaseFileStream support - * @details Defaults to FALSE - * @pre This is only relevant on the ChibiOS operating system. - * @note Use the @p gfileOpenBaseFileStream() call to open a GFILE based on a - * BaseFileStream. The BaseFileStream must already be open. - * @note A GFile of this type cannot be opened by filename. The BaseFileStream - * must be pre-opened using the operating system. - */ - #ifndef GFILE_NEED_CHIBIOSFS - #define GFILE_NEED_CHIBIOSFS FALSE - #endif - /** - * @brief Include raw memory pointer support - * @details Defaults to FALSE - * @note Use the @p gfileOpenMemory() call to open a GFILE based on a - * memory pointer. The GFILE opened appears to be of unlimited size. - * @note A GFile of this type cannot be opened by filename. - */ - #ifndef GFILE_NEED_MEMFS - #define GFILE_NEED_MEMFS FALSE - #endif -/** - * @} - * - * @name GFILE Optional Parameters - * @{ - */ - /** - * @brief Add floating point support to printg/scang etc. - */ - #ifndef GFILE_ALLOW_FLOATS - #define GFILE_ALLOW_FLOATS - #endif - /** - * @brief Can the device be specified as part of the file name. - * @note If this is on then a device letter and a vertical bar can be - * prefixed on a file name to specify that it must be on a - * specific device. - */ - #ifndef GFILE_ALLOW_DEVICESPECIFIC - #define GFILE_ALLOW_DEVICESPECIFIC FALSE - #endif - /** - * @brief The maximum number of open files - * @note This count excludes gfileStdIn, gfileStdOut and gfileStdErr - * (if open by default). - */ - #ifndef GFILE_MAX_GFILES - #define GFILE_MAX_GFILES 3 - #endif -/** @} */ - -#endif /* _GFILE_OPTIONS_H */ -/** @} */ |