diff options
author | Björn Stenberg <bjorn@haxx.se> | 2003-01-09 00:55:00 +0000 |
---|---|---|
committer | Björn Stenberg <bjorn@haxx.se> | 2003-01-09 00:55:00 +0000 |
commit | c78e1b07fead2b5861fb6fc4c9ba130660fb323f (patch) | |
tree | 267406ed9e1e3c68238f688934d2088a1fa7c8e3 /uisimulator/x11 | |
parent | 0e342181c3f96890506aa8720ac2d680b97c12e4 (diff) |
The much-anticipated queue patch by Hardeep Sidhu. Queue a file by holding down PLAY on it while playing other music.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3040 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'uisimulator/x11')
-rw-r--r-- | uisimulator/x11/file.h | 5 | ||||
-rw-r--r-- | uisimulator/x11/io.c | 26 |
2 files changed, 31 insertions, 0 deletions
diff --git a/uisimulator/x11/file.h b/uisimulator/x11/file.h index 28c2f2c17a..134019148c 100644 --- a/uisimulator/x11/file.h +++ b/uisimulator/x11/file.h @@ -21,13 +21,18 @@ #include <sys/types.h> int x11_open(char *name, int opts); +int x11_creat(char *name, int mode); +int x11_remove(char *name); #define open(x,y) x11_open(x,y) +#define creat(x,y) x11_open(x,y) +#define remove(x) x11_remove(x) #include "../../firmware/common/file.h" extern int open(char* pathname, int flags); extern int close(int fd); extern int read(int fd, void* buf, int count); +extern int write(int fd, void* buf, int count); extern int lseek(int fd, int offset, int whence); extern int printf(const char *format, ...); diff --git a/uisimulator/x11/io.c b/uisimulator/x11/io.c index 2951b1f4a0..5890254b79 100644 --- a/uisimulator/x11/io.c +++ b/uisimulator/x11/io.c @@ -109,6 +109,32 @@ int x11_open(char *name, int opts) return open(name, opts); } +int x11_creat(char *name, int mode) +{ + char buffer[256]; /* sufficiently big */ + + if(name[0] == '/') { + sprintf(buffer, "%s%s", SIMULATOR_ARCHOS_ROOT, name); + + debugf("We open the real file '%s'\n", buffer); + return creat(buffer, mode); + } + return creat(name, mode); +} + +int x11_remove(char *name) +{ + char buffer[256]; /* sufficiently big */ + + if(name[0] == '/') { + sprintf(buffer, "%s%s", SIMULATOR_ARCHOS_ROOT, name); + + debugf("We open the real file '%s'\n", buffer); + return remove(buffer); + } + return remove(name); +} + void fat_size(unsigned int* size, unsigned int* free) { struct statfs fs; |