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 /uisimulator | |
parent | 8e0a0babc57db3e9edc06f3e269fb47c27292ed5 (diff) | |
download | rockbox-6eaab4d00446c070c655f0e6c9a872532a776b6f.tar.gz rockbox-6eaab4d00446c070c655f0e6c9a872532a776b6f.zip |
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 'uisimulator')
-rw-r--r-- | uisimulator/common/SOURCES | 4 | ||||
-rw-r--r-- | uisimulator/common/io.c | 21 |
2 files changed, 16 insertions, 9 deletions
diff --git a/uisimulator/common/SOURCES b/uisimulator/common/SOURCES index a30b5abeb2..39f008b9dd 100644 --- a/uisimulator/common/SOURCES +++ b/uisimulator/common/SOURCES | |||
@@ -9,8 +9,10 @@ fmradio.c | |||
9 | backlight-sim.c | 9 | backlight-sim.c |
10 | #endif | 10 | #endif |
11 | 11 | ||
12 | #if !(CONFIG_PLATFORM & PLATFORM_ANDROID) | ||
13 | io.c | ||
14 | #endif | ||
12 | /* this is still needed for application since it has some stubs */ | 15 | /* this is still needed for application since it has some stubs */ |
13 | powermgmt-sim.c | 16 | powermgmt-sim.c |
14 | io.c | ||
15 | sim_tasks.c | 17 | sim_tasks.c |
16 | stubs.c | 18 | stubs.c |
diff --git a/uisimulator/common/io.c b/uisimulator/common/io.c index 6547421668..f630ae49c8 100644 --- a/uisimulator/common/io.c +++ b/uisimulator/common/io.c | |||
@@ -158,13 +158,18 @@ extern const char *sim_root_dir; | |||
158 | 158 | ||
159 | static int num_openfiles = 0; | 159 | static int num_openfiles = 0; |
160 | 160 | ||
161 | struct sim_dirent { | 161 | /* from dir.h */ |
162 | unsigned char d_name[MAX_PATH]; | 162 | struct dirinfo { |
163 | int attribute; | 163 | int attribute; |
164 | long size; | 164 | long size; |
165 | unsigned short wrtdate; | ||
166 | unsigned short wrttime; | ||
167 | }; | ||
168 | |||
169 | struct sim_dirent { | ||
170 | unsigned char d_name[MAX_PATH]; | ||
171 | struct dirinfo info; | ||
165 | long startcluster; | 172 | long startcluster; |
166 | unsigned short wrtdate; /* Last write date */ | ||
167 | unsigned short wrttime; /* Last write time */ | ||
168 | }; | 173 | }; |
169 | 174 | ||
170 | struct dirstruct { | 175 | struct dirstruct { |
@@ -329,14 +334,14 @@ struct sim_dirent *sim_readdir(MYDIR *dir) | |||
329 | 334 | ||
330 | #define ATTR_DIRECTORY 0x10 | 335 | #define ATTR_DIRECTORY 0x10 |
331 | 336 | ||
332 | secret.attribute = S_ISDIR(s.st_mode)?ATTR_DIRECTORY:0; | 337 | secret.info.attribute = S_ISDIR(s.st_mode)?ATTR_DIRECTORY:0; |
333 | secret.size = s.st_size; | 338 | secret.info.size = s.st_size; |
334 | 339 | ||
335 | tm = localtime(&(s.st_mtime)); | 340 | tm = localtime(&(s.st_mtime)); |
336 | secret.wrtdate = ((tm->tm_year - 80) << 9) | | 341 | secret.info.wrtdate = ((tm->tm_year - 80) << 9) | |
337 | ((tm->tm_mon + 1) << 5) | | 342 | ((tm->tm_mon + 1) << 5) | |
338 | tm->tm_mday; | 343 | tm->tm_mday; |
339 | secret.wrttime = (tm->tm_hour << 11) | | 344 | secret.info.wrttime = (tm->tm_hour << 11) | |
340 | (tm->tm_min << 5) | | 345 | (tm->tm_min << 5) | |
341 | (tm->tm_sec >> 1); | 346 | (tm->tm_sec >> 1); |
342 | return &secret; | 347 | return &secret; |