Core: vfs-dir stuff cleaned
authorLiu Aleaxander <Aleaxander@gmail.com>
Fri, 28 Aug 2009 10:56:00 +0000 (18:56 +0800)
committerLiu Aleaxander <Aleaxander@gmail.com>
Fri, 28 Aug 2009 10:56:00 +0000 (18:56 +0800)
Removes the core/include/dir.h, and put the dir structures to sys/dirent.h to
avoid the compile error.

Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
com32/include/dirent.h
com32/include/sys/dirent.h [new file with mode: 0644]
com32/modules/dir.c
core/comboot.inc
core/dir.c
core/fs.c
core/fs/fat/fat.c
core/include/dir.h [deleted file]
core/include/fs.h

index d2bfd62..c4aca4f 100644 (file)
 #include <stddef.h>
 #include <sys/types.h>
 
-#ifndef NAME_MAX
-#define NAME_MAX 255
-#endif
-
-struct dirent {
-    uint32_t d_ino;
-    uint32_t d_off;
-    uint16_t d_reclen;
-    uint16_t d_type;
-    char d_name[NAME_MAX + 1];
-};
-
-struct file;
-
-typedef struct {
-       struct file *dd_dir;
-} DIR;
+#include <sys/dirent.h>
 
 __extern DIR *opendir(const char *);
 __extern struct dirent *readdir(DIR *);
diff --git a/com32/include/sys/dirent.h b/com32/include/sys/dirent.h
new file mode 100644 (file)
index 0000000..bfdbb9b
--- /dev/null
@@ -0,0 +1,30 @@
+/*
+ * sys/dirent.h
+ */
+
+#ifndef DIRENT_H
+#define DIRENT_H
+
+#include <stdint.h>
+
+#ifndef NAME_MAX
+#define NAME_MAX 255
+#endif
+
+struct dirent {
+    uint32_t d_ino;
+    uint32_t d_off;
+    uint16_t d_reclen;
+    uint16_t d_type;
+    char d_name[NAME_MAX + 1];
+};
+
+struct file;
+
+typedef struct {
+       struct file *dd_dir;
+} DIR;
+
+#define DIR_REC_LEN(name) (12 + strlen(name) + 1 + 3) & ~3
+
+#endif /* sys/dirent.h */
index badc37d..a3c9815 100644 (file)
@@ -20,7 +20,6 @@ int main(int argc, char *argv[])
        }
        
        dir = opendir(argv[1]);
-       printf("back from in main ...? \n");
        if (dir == NULL) {
                printf("Unable to read dir: %s\n", argv[1]);
                return 0;
index 7f9b3a9..731e432 100644 (file)
@@ -900,7 +900,6 @@ comapi_getcwd:
 ; INT 22h AX=0020h     Open directory
 ;
 %if IS_SYSLINUX
-               global comapi_opendir
 comapi_opendir:
                mov es,P_ES
                mov si,P_SI
index 1bc8a26..a8d5805 100644 (file)
@@ -1,6 +1,6 @@
 #include <stdio.h>
 #include <string.h>
-#include <dir.h>
+#include <sys/dirent.h>
 #include <fs.h>
 #include <core.h>
 
index b6e112a..9a812d5 100644 (file)
--- a/core/fs.c
+++ b/core/fs.c
@@ -10,17 +10,6 @@ struct fs_info fs;
 
 /* Actual file structures (we don't have malloc yet...) */
 struct file files[MAX_OPEN];
-/*
- * Convert between a 16-bit file handle and a file structure
- */
-inline uint16_t file_to_handle(struct file *file)
-{
-    return file ? (file - files)+1 : 0;
-}
-inline struct file *handle_to_file(uint16_t handle)
-{
-    return handle ? &files[handle-1] : NULL;
-}
 
 /*
  * Get an empty file structure
@@ -54,6 +43,18 @@ void _close_file(struct file *file)
     free_file(file);
 }
 
+/*
+ * Convert between a 16-bit file handle and a file structure
+ */
+inline uint16_t file_to_handle(struct file *file)
+{
+    return file ? (file - files)+1 : 0;
+}
+inline struct file *handle_to_file(uint16_t handle)
+{
+    return handle ? &files[handle-1] : NULL;
+}
+
 void load_config(com32sys_t *regs)
 {
     this_fs->fs_ops->load_config(regs);
index a254042..3efba4c 100644 (file)
@@ -1,10 +1,10 @@
 #include <stdio.h>
 #include <string.h>
+#include <sys/dirent.h>
 #include <cache.h>
 #include <core.h>
 #include <disk.h>
 #include <fs.h>
-#include <dir.h>
 #include "fat_fs.h"
 
 #define ROOT_DIR_WORD    0x002f
diff --git a/core/include/dir.h b/core/include/dir.h
deleted file mode 100644 (file)
index 04f0d09..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef DIR_H
-#define DIR_H
-
-#include <stddef.h>
-#include <stdbool.h>
-#include <string.h>
-#include <com32.h>
-#include "disk.h"
-#include "fs.h"
-
-struct dirent {
-       uint32_t d_ino;
-       uint32_t d_off;
-       uint16_t d_reclen;
-       uint16_t d_type;
-       char d_name[256];
-};
-
-struct file;
-
-typedef struct {
-       struct file *dd_dir;
-} DIR;
-
-#define DIR_REC_LEN(name) (12 + strlen(name) + 1 + 3) & ~3
-
-
-#endif /* dir.h */
index a8b0294..a668759 100644 (file)
@@ -7,7 +7,6 @@
 #include <com32.h>
 #include "core.h"
 #include "disk.h"
-#include "dir.h"
 
 /*
  * Maximum number of open files.  This is *currently* constrained by the
@@ -27,6 +26,7 @@ struct fs_info {
 };
 
 struct open_file_t;            /* Filesystem private structure */
+struct dirent;          /* Directory entry structure */
 
 struct file {
     struct open_file_t *open_file; /* Filesystem private data */