diff options
| author | Thomas Martitz <kugel@rockbox.org> | 2010-09-01 21:29:34 +0000 |
|---|---|---|
| committer | Thomas Martitz <kugel@rockbox.org> | 2010-09-01 21:29:34 +0000 |
| commit | 6eaab4d00446c070c655f0e6c9a872532a776b6f (patch) | |
| tree | 69610996dd0a6092459b14e164d4e48e03b1e5bb /firmware/include | |
| parent | 8e0a0babc57db3e9edc06f3e269fb47c27292ed5 (diff) | |
| download | rockbox-6eaab4d00446c070c655f0e6c9a872532a776b6f.zip rockbox-6eaab4d00446c070c655f0e6c9a872532a776b6f.tar.gz rockbox-6eaab4d00446c070c655f0e6c9a872532a776b6f.tar.bz2 rockbox-6eaab4d00446c070c655f0e6c9a872532a776b6f.tar.xz | |
Ged rid of uisimulator/common/io.c for android builds.
Use host's functions for file i/o directly (open(), close() ,etc.), not the sim_* variants.
Some dir functions need to be wrapped still because we need to cache the parents dir's path (host's dirent doesn't let us know).
For the same reason (incompatibility) with host's dirent) detach some members from Rockbox' dirent struct and put it into an extra one,
the values can be retrieved via the new dir_get_info().
Get rid of the sim_ prefix for sleep as well and change the signature to unix sleep().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27968 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/include')
| -rw-r--r-- | firmware/include/dir.h | 13 | ||||
| -rw-r--r-- | firmware/include/dir_uncached.h | 26 | ||||
| -rw-r--r-- | firmware/include/dircache.h | 10 | ||||
| -rw-r--r-- | firmware/include/file.h | 2 |
4 files changed, 29 insertions, 22 deletions
diff --git a/firmware/include/dir.h b/firmware/include/dir.h index 9ff96e3..d143ed2 100644 --- a/firmware/include/dir.h +++ b/firmware/include/dir.h @@ -41,6 +41,15 @@ #endif +#define ATTR_READ_ONLY 0x01 +#define ATTR_HIDDEN 0x02 +#define ATTR_SYSTEM 0x04 +#define ATTR_VOLUME_ID 0x08 +#define ATTR_DIRECTORY 0x10 +#define ATTR_ARCHIVE 0x20 +#define ATTR_VOLUME 0x40 /* this is a volume, not a real directory */ + +#if (CONFIG_PLATFORM & (PLATFORM_NATIVE|PLATFORM_SDL)) #ifdef HAVE_DIRCACHE # include "dircache.h" # define DIR DIR_CACHED @@ -62,5 +71,9 @@ # define mkdir mkdir_uncached # define rmdir rmdir_uncached #endif +#else +#include "dir_uncached.h" +#include "dir-target.h" +#endif #endif diff --git a/firmware/include/dir_uncached.h b/firmware/include/dir_uncached.h index f225cf8..5c7ed14 100644 --- a/firmware/include/dir_uncached.h +++ b/firmware/include/dir_uncached.h @@ -21,18 +21,20 @@ #ifndef _DIR_UNCACHED_H_ #define _DIR_UNCACHED_H_ +#include "config.h" + +struct dirinfo { + int attribute; + long size; + unsigned short wrtdate; + unsigned short wrttime; +}; + +#ifndef APPLICATION #include <stdbool.h> #include "file.h" -#define ATTR_READ_ONLY 0x01 -#define ATTR_HIDDEN 0x02 -#define ATTR_SYSTEM 0x04 -#define ATTR_VOLUME_ID 0x08 -#define ATTR_DIRECTORY 0x10 -#define ATTR_ARCHIVE 0x20 -#define ATTR_VOLUME 0x40 /* this is a volume, not a real directory */ - -#if (CONFIG_PLATFORM & PLATFORM_HOSTED) +#if (CONFIG_PLATFORM & PLATFORM_SDL) #define dirent_uncached sim_dirent #define DIR_UNCACHED SIM_DIR #define opendir_uncached sim_opendir @@ -46,11 +48,8 @@ struct dirent_uncached { unsigned char d_name[MAX_PATH]; - int attribute; - long size; + struct dirinfo info; long startcluster; - unsigned short wrtdate; /* Last write date */ - unsigned short wrttime; /* Last write time */ }; #endif @@ -92,5 +91,6 @@ extern struct dirent_uncached* readdir_uncached(DIR_UNCACHED* dir); extern int release_dirs(int volume); #endif /* DIRFUNCTIONS_DEFINED */ +#endif #endif diff --git a/firmware/include/dircache.h b/firmware/include/dircache.h index 650b926..37a803c 100644 --- a/firmware/include/dircache.h +++ b/firmware/include/dircache.h @@ -63,25 +63,19 @@ struct fdbind_queue { /* Exported structures. */ struct dircache_entry { + struct dirinfo info; struct dircache_entry *next; struct dircache_entry *up; struct dircache_entry *down; - int attribute; - long size; long startcluster; - unsigned short wrtdate; - unsigned short wrttime; unsigned long name_len; char *d_name; }; struct dirent_cached { + struct dirinfo info; char *d_name; - int attribute; - long size; long startcluster; - unsigned short wrtdate; /* Last write date */ - unsigned short wrttime; /* Last write time */ }; typedef struct { diff --git a/firmware/include/file.h b/firmware/include/file.h index 8a084d6..8711124 100644 --- a/firmware/include/file.h +++ b/firmware/include/file.h @@ -37,7 +37,7 @@ #define MAX_OPEN_FILES 11 #if !defined(PLUGIN) && !defined(CODEC) -#if (CONFIG_PLATFORM & PLATFORM_HOSTED) +#if (CONFIG_PLATFORM & PLATFORM_SDL) #define open(x, ...) sim_open(x, __VA_ARGS__) #define creat(x,m) sim_creat(x,m) #define remove(x) sim_remove(x) |