summaryrefslogtreecommitdiff
path: root/firmware/target/hosted
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2014-02-11 15:27:23 +0100
committerThomas Martitz <kugel@rockbox.org>2014-02-23 20:23:52 +0100
commit0f928f87850153a38c7e6cfafd283ce4f52a0666 (patch)
tree55bbb19b5a17cd6e30a29bb3c2446a6e4c02738a /firmware/target/hosted
parentcbc57af0f3192093177d90861df72c4074566cf8 (diff)
downloadrockbox-0f928f87850153a38c7e6cfafd283ce4f52a0666.zip
rockbox-0f928f87850153a38c7e6cfafd283ce4f52a0666.tar.gz
rockbox-0f928f87850153a38c7e6cfafd283ce4f52a0666.tar.bz2
rockbox-0f928f87850153a38c7e6cfafd283ce4f52a0666.tar.xz
RaaA: Move directory related stuff from filesystem-unix.c into rbpaths.c.
Part of this change is to align sdlapp builds to other application targets in that the sim_* wrappers are not used anymore (except for sim_read/write). Path mangling is now done in rbpaths.c as well. Change-Id: I9726da73b50a83d9e1a1840288de16ec01ea029d
Diffstat (limited to 'firmware/target/hosted')
-rw-r--r--firmware/target/hosted/android/dir-target.h46
-rw-r--r--firmware/target/hosted/filesystem-unix.c103
-rw-r--r--firmware/target/hosted/samsungypr/dir-target.h48
3 files changed, 1 insertions, 196 deletions
diff --git a/firmware/target/hosted/android/dir-target.h b/firmware/target/hosted/android/dir-target.h
deleted file mode 100644
index 6962d94..0000000
--- a/firmware/target/hosted/android/dir-target.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/***************************************************************************
- * __________ __ ___.
- * Open \______ \ ____ ____ | | _\_ |__ _______ ___
- * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
- * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
- * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
- * \/ \/ \/ \/ \/
- * $Id$
- *
- * Copyright (C) 2010 by Thomas Martitz
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ****************************************************************************/
-
-#ifndef __DIR_TARGET_H__
-#define __DIR_TARGET_H__
-
-#include <dirent.h>
-
-#define dirent_uncached dirent
-#define DIR_UNCACHED DIR
-#define opendir_uncached _opendir
-#define readdir_uncached _readdir
-#define closedir_uncached _closedir
-#define mkdir_uncached _mkdir
-#define rmdir_uncached rmdir
-
-extern DIR* _opendir(const char* name);
-extern int _mkdir(const char* name);
-extern int rmdir(const char* name);
-extern int _closedir(DIR* dir);
-extern struct dirent *_readdir(DIR* dir);
-extern void fat_size(unsigned long *size, unsigned long *free);
-
-#define DIRFUNCTIONS_DEFINED
-#define DIRENT_DEFINED
-#define DIR_DEFINED
-
-#endif /* __DIR_TARGET_H__ */
diff --git a/firmware/target/hosted/filesystem-unix.c b/firmware/target/hosted/filesystem-unix.c
index 45b9e0f..8ac1d4a 100644
--- a/firmware/target/hosted/filesystem-unix.c
+++ b/firmware/target/hosted/filesystem-unix.c
@@ -19,17 +19,8 @@
*
****************************************************************************/
-#include <stdlib.h>
#include <sys/stat.h> /* stat() */
-#include <stdio.h> /* snprintf */
-#include <string.h> /* size_t */
-#include <dirent.h>
-#include <time.h> /* localtime() */
-#include "system-target.h"
-#include "dir-target.h"
-#include "file.h"
-#include "dir.h"
-#include "rbpaths.h"
+#include "mv.h" /* stat() */
long filesize(int fd)
@@ -48,95 +39,3 @@ void fat_size(IF_MV(int volume,) unsigned long* size, unsigned long* free)
IF_MV((void) volume);
*size = *free = 0;
}
-
-#undef opendir
-#undef closedir
-#undef mkdir
-#undef readdir
-
-/* need to wrap around DIR* because we need to save the parent's
- * directory path in order to determine dirinfo */
-struct __dir {
- DIR *dir;
- char *path;
-};
-
-DIR* _opendir(const char *name)
-{
- char *buf = malloc(sizeof(struct __dir) + strlen(name)+1);
- if (!buf)
- return NULL;
-
- struct __dir *this = (struct __dir*)buf;
-
- this->path = buf+sizeof(struct __dir);
- /* definitely fits due to strlen() */
- strcpy(this->path, name);
-
- this->dir = opendir(name);
-
- if (!this->dir)
- {
- free(buf);
- return NULL;
- }
- return (DIR*)this;
-}
-
-int _mkdir(const char *name)
-{
- return mkdir(name, 0777);
-}
-
-int _closedir(DIR *dir)
-{
- struct __dir *this = (struct __dir*)dir;
- int ret = closedir(this->dir);
- free(this);
- return ret;
-}
-
-struct dirent* _readdir(DIR* dir)
-{
- struct __dir *d = (struct __dir*)dir;
- return readdir(d->dir);
-}
-
-struct dirinfo dir_get_info(DIR* _parent, struct dirent *dir)
-{
- struct __dir *parent = (struct __dir*)_parent;
- struct stat s;
- struct tm *tm = NULL;
- struct dirinfo ret;
- char path[MAX_PATH];
-
- snprintf(path, sizeof(path), "%s/%s", parent->path, dir->d_name);
- memset(&ret, 0, sizeof(ret));
-
- if (!stat(path, &s))
- {
- if (S_ISDIR(s.st_mode))
- {
- ret.attribute = ATTR_DIRECTORY;
- }
- ret.size = s.st_size;
- tm = localtime(&(s.st_mtime));
- }
-
- if (!lstat(path, &s) && S_ISLNK(s.st_mode))
- {
- ret.attribute |= ATTR_LINK;
- }
-
- if (tm)
- {
- ret.wrtdate = ((tm->tm_year - 80) << 9) |
- ((tm->tm_mon + 1) << 5) |
- tm->tm_mday;
- ret.wrttime = (tm->tm_hour << 11) |
- (tm->tm_min << 5) |
- (tm->tm_sec >> 1);
- }
-
- return ret;
-}
diff --git a/firmware/target/hosted/samsungypr/dir-target.h b/firmware/target/hosted/samsungypr/dir-target.h
deleted file mode 100644
index acd11d8..0000000
--- a/firmware/target/hosted/samsungypr/dir-target.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/***************************************************************************
- * __________ __ ___.
- * Open \______ \ ____ ____ | | _\_ |__ _______ ___
- * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
- * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
- * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
- * \/ \/ \/ \/ \/
- * $Id$
- *
- * Copyright (C) 2010 by Thomas Martitz
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ****************************************************************************/
-
-#ifndef __DIR_TARGET_H__
-#define __DIR_TARGET_H__
-
-#include <dirent.h>
-/* including unistd.h is too noisy */
-extern int rmdir(const char* name);
-
-
-#define dirent_uncached dirent
-#define DIR_UNCACHED DIR
-#define opendir_uncached _opendir
-#define readdir_uncached _readdir
-#define closedir_uncached _closedir
-#define mkdir_uncached _mkdir
-#define rmdir_uncached rmdir
-
-extern DIR* _opendir(const char* name);
-extern int _mkdir(const char* name);
-extern int _rmdir(const char* name);
-extern int _closedir(DIR* dir);
-extern struct dirent *_readdir(DIR* dir);
-
-#define DIRFUNCTIONS_DEFINED
-#define DIRENT_DEFINED
-#define DIR_DEFINED
-
-#endif /* __DIR_TARGET_H__ */