12 #include "../../gfx.h"
14 #if GFX_USE_GFILE && GFILE_NEED_MEMFS
20 static int MEMRead(
GFILE *f,
void *buf,
int size);
21 static int MEMWrite(
GFILE *f,
const void *buf,
int size);
22 static gBool MEMSetpos(
GFILE *f, gFileSize pos);
24 static const GFILEVMT FsMemVMT = {
25 GFSFLG_SEEKABLE|GFSFLG_WRITEABLE,
28 0, 0, MEMRead, MEMWrite,
31 #if GFILE_NEED_FILELISTS
36 static int MEMRead(
GFILE *f,
void *buf,
int size) {
37 memcpy(buf, ((
char *)f->obj)+f->pos, size);
40 static int MEMWrite(
GFILE *f,
const void *buf,
int size) {
41 memcpy(((
char *)f->obj)+f->pos, buf, size);
44 static gBool MEMSetpos(
GFILE *f, gFileSize pos) {
54 if (!(f = _gfileFindSlot(mode)))
61 f->flags |= GFILEFLG_OPEN|GFILEFLG_CANSEEK;
GFILE file system header.
struct GFILE GFILE
A file pointer.
GFILE * gfileOpenMemory(void *memptr, const char *mode)
Open file from a memory pointer.