41 #define FLAG_FILE_CLOSED 0
42 #define FLAG_FILE_OPEN 1
47 #ifdef CFS_RAM_CONF_SIZE
48 #define CFS_RAM_SIZE CFS_RAM_CONF_SIZE
50 #define CFS_RAM_SIZE 4096
53 static struct filestate file;
54 static char filemem[CFS_RAM_SIZE];
60 if(file.flag == FLAG_FILE_CLOSED) {
61 file.flag = FLAG_FILE_OPEN;
67 file.fileptr = file.filesize;
82 file.flag = FLAG_FILE_CLOSED;
86 cfs_read(
int f,
void *buf,
unsigned int len)
88 if(file.fileptr + len >
sizeof(filemem)) {
89 len =
sizeof(filemem) - file.fileptr;
92 if(file.fileptr + len > file.filesize) {
93 len = file.filesize - file.fileptr;
97 memcpy(buf, &filemem[file.fileptr], len);
106 cfs_write(
int f,
const void *buf,
unsigned int len)
108 if(file.fileptr >=
sizeof(filemem)) {
111 if(file.fileptr + len >
sizeof(filemem)) {
112 len =
sizeof(filemem) - file.fileptr;
115 if(file.fileptr + len > file.filesize) {
117 file.filesize = file.fileptr + len;
121 memcpy(&filemem[file.fileptr], buf, len);
133 if(o > file.filesize) {
139 return (cfs_offset_t)-1;