summaryrefslogtreecommitdiff
path: root/uisimulator/common/io.c
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2010-09-01 21:29:34 +0000
committerThomas Martitz <kugel@rockbox.org>2010-09-01 21:29:34 +0000
commit6eaab4d00446c070c655f0e6c9a872532a776b6f (patch)
tree69610996dd0a6092459b14e164d4e48e03b1e5bb /uisimulator/common/io.c
parent8e0a0babc57db3e9edc06f3e269fb47c27292ed5 (diff)
downloadrockbox-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/common/io.c')
-rw-r--r--uisimulator/common/io.c21
1 files changed, 13 insertions, 8 deletions
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
159static int num_openfiles = 0; 159static int num_openfiles = 0;
160 160
161struct sim_dirent { 161/* from dir.h */
162 unsigned char d_name[MAX_PATH]; 162struct dirinfo {
163 int attribute; 163 int attribute;
164 long size; 164 long size;
165 unsigned short wrtdate;
166 unsigned short wrttime;
167};
168
169struct 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
170struct dirstruct { 175struct 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;