summaryrefslogtreecommitdiffstats
path: root/uisimulator/x11
diff options
context:
space:
mode:
authorBjörn Stenberg <bjorn@haxx.se>2003-01-09 00:55:00 +0000
committerBjörn Stenberg <bjorn@haxx.se>2003-01-09 00:55:00 +0000
commitc78e1b07fead2b5861fb6fc4c9ba130660fb323f (patch)
tree267406ed9e1e3c68238f688934d2088a1fa7c8e3 /uisimulator/x11
parent0e342181c3f96890506aa8720ac2d680b97c12e4 (diff)
downloadrockbox-c78e1b07fead2b5861fb6fc4c9ba130660fb323f.tar.gz
rockbox-c78e1b07fead2b5861fb6fc4c9ba130660fb323f.zip
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.h5
-rw-r--r--uisimulator/x11/io.c26
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;