summaryrefslogtreecommitdiffstats
path: root/uisimulator
diff options
context:
space:
mode:
authorHardeep Sidhu <dyp@pobox.com>2004-06-14 07:00:50 +0000
committerHardeep Sidhu <dyp@pobox.com>2004-06-14 07:00:50 +0000
commitfb26bfb662e7939b6646d290ad658fe1bdbffc8e (patch)
tree6db2aa5049259834333885891f7af6903625cbe2 /uisimulator
parent2dafebfe1698ee32cce48b9cf4cb3b59a17b295d (diff)
downloadrockbox-fb26bfb662e7939b6646d290ad658fe1bdbffc8e.tar.gz
rockbox-fb26bfb662e7939b6646d290ad658fe1bdbffc8e.tar.bz2
rockbox-fb26bfb662e7939b6646d290ad658fe1bdbffc8e.zip
Fixed VC++ build.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4739 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'uisimulator')
-rw-r--r--uisimulator/common/file.h5
-rw-r--r--uisimulator/common/io.c5
-rw-r--r--uisimulator/win32/dir-win32.c91
-rw-r--r--uisimulator/win32/dir-win32.h47
-rw-r--r--uisimulator/win32/rockbox.dsp6
5 files changed, 151 insertions, 3 deletions
diff --git a/uisimulator/common/file.h b/uisimulator/common/file.h
index 8d91b61831..0e50031556 100644
--- a/uisimulator/common/file.h
+++ b/uisimulator/common/file.h
@@ -32,6 +32,11 @@
#ifdef WIN32
#ifndef _commit
extern int _commit( int handle );
+
+#ifdef _MSC_VER
+typedef unsigned int mode_t;
+#endif
+
#endif
#endif
diff --git a/uisimulator/common/io.c b/uisimulator/common/io.c
index 745e417fa6..e321c1adcc 100644
--- a/uisimulator/common/io.c
+++ b/uisimulator/common/io.c
@@ -27,8 +27,13 @@
#elif !defined(WIN32)
#include <sys/vfs.h>
#endif
+
+#ifndef _MSC_VER
#include <dirent.h>
#include <unistd.h>
+#else
+#include "dir-win32.h"
+#endif
#include <fcntl.h>
#include "debug.h"
diff --git a/uisimulator/win32/dir-win32.c b/uisimulator/win32/dir-win32.c
new file mode 100644
index 0000000000..6f14e798be
--- /dev/null
+++ b/uisimulator/win32/dir-win32.c
@@ -0,0 +1,91 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2002 by Felix Arends
+ *
+ * All files in this archive are subject to the GNU General Public License.
+ * See the file COPYING in the source tree root for full license agreement.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+#include <io.h>
+#include <windows.h>
+#include <malloc.h>
+#include "dir-win32.h"
+
+// Directory operations
+//
+
+// opendir
+// open directory for scanning
+DIR *opendir (
+ const char *dirname // directory name
+ )
+{
+ DIR *p = (DIR*)malloc(sizeof(DIR));
+ struct _finddata_t fd;
+ unsigned int i;
+ char *s = (char*)malloc(strlen(dirname) + 5);
+ wsprintf (s, "%s", dirname);
+
+ for (i = 0; i < strlen(s); i++)
+ if (s[i] == '/')
+ s[i] = '\\';
+
+ if (s[i - 1] != '\\')
+ {
+ s[i] = '\\';
+ s[++i] = '\0';
+ }
+
+ OutputDebugString (s);
+
+ wsprintf (s, "%s*.*", s);
+
+ if ((p->handle = _findfirst (s, &fd)) == -1)
+ {
+ free (s);
+ free (p);
+ return 0;
+ }
+ free (s);
+ return p;
+}
+
+// closedir
+// close directory
+int closedir (
+ DIR *dir // previously opened dir search
+ )
+{
+ free(dir);
+ return 0;
+}
+
+// read dir
+// read next entry in directory
+struct dirent *readdir (
+ DIR *dir
+ )
+{
+ struct _finddata_t fd;
+ if (_findnext (dir->handle, &fd) == -1)
+ return 0;
+ memcpy (dir->fd.d_name, fd.name, 256);
+
+ dir->fd.attribute = fd.attrib & 0x3f;
+ dir->fd.size = fd.size;
+ dir->fd.startcluster = 0 ;
+
+
+ return &dir->fd;
+}
diff --git a/uisimulator/win32/dir-win32.h b/uisimulator/win32/dir-win32.h
new file mode 100644
index 0000000000..888a83767a
--- /dev/null
+++ b/uisimulator/win32/dir-win32.h
@@ -0,0 +1,47 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2002 by Björn Stenberg
+ *
+ * All files in this archive are subject to the GNU General Public License.
+ * See the file COPYING in the source tree root for full license agreement.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+#ifndef _DIR_WIN32_H_
+#define _DIR_WIN32_H_
+
+#include <stdbool.h>
+#include "file.h"
+
+struct dirent {
+ unsigned char d_name[MAX_PATH];
+ int attribute;
+ int size;
+ int startcluster;
+};
+
+typedef struct
+{
+ struct dirent fd;
+ int handle;
+} DIR;
+
+extern DIR* opendir(const char* name);
+extern int closedir(DIR* dir);
+extern int mkdir(const char* name);
+extern int rmdir(const char* name);
+
+extern struct dirent* readdir(DIR* dir);
+
+#define S_ISDIR(x) (((x) & _S_IFDIR) == _S_IFDIR)
+
+#endif
diff --git a/uisimulator/win32/rockbox.dsp b/uisimulator/win32/rockbox.dsp
index 8e1a092c5c..4c54889c97 100644
--- a/uisimulator/win32/rockbox.dsp
+++ b/uisimulator/win32/rockbox.dsp
@@ -43,7 +43,7 @@ RSC=rc.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../firmware/export" /I "../../firmware/drivers" /I "../../firmware/common" /I "../common" /I "../win32" /I "../../apps" /I "../../apps/recorder" /D "HAVE_LCD_BITMAP" /D "HAVE_RECORDER_KEYPAD" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "HAVE_CONFIG_H" /D "GETTIMEOFDAY_TWO_ARGS" /D "SIMULATOR" /D "HAVE_RTC" /D APPSVERSION=\"WIN32SIM\" /FR /YX /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../win32" /I "../../apps/recorder" /I "../../firmware/export" /I "../../firmware/drivers" /I "../../firmware/common" /I "../common" /I "../../apps" /D "HAVE_LCD_BITMAP" /D "HAVE_RECORDER_KEYPAD" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "HAVE_CONFIG_H" /D "GETTIMEOFDAY_TWO_ARGS" /D "SIMULATOR" /D "HAVE_RTC" /D APPSVERSION=\"WIN32SIM\" /FR /YX /FD /GZ /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x407 /d "_DEBUG"
@@ -69,7 +69,7 @@ LINK32=link.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../firmware/export" /I "../../firmware/drivers" /I "../../firmware/common" /I "../common" /I "../win32" /I "../../apps" /I "../../apps/player" /D "HAVE_LCD_CHARCELLS" /D "HAVE_PLAYER_KEYPAD" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "HAVE_CONFIG_H" /D "GETTIMEOFDAY_TWO_ARGS" /D "SIMULATOR" /D APPSVERSION=\"WIN32SIM\" /FR /YX /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../win32" /I "../../apps/player" /I "../../firmware/export" /I "../../firmware/drivers" /I "../../firmware/common" /I "../common" /I "../../apps" /D "HAVE_LCD_CHARCELLS" /D "HAVE_PLAYER_KEYPAD" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "HAVE_CONFIG_H" /D "GETTIMEOFDAY_TWO_ARGS" /D "SIMULATOR" /D APPSVERSION=\"WIN32SIM\" /FR /YX /FD /GZ /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x407 /d "_DEBUG"
@@ -478,7 +478,7 @@ SOURCE="..\common\font-player.c"
# End Source File
# Begin Source File
-SOURCE=.\io.c
+SOURCE=..\common\io.c
# End Source File
# Begin Source File