[PATCH] Provide and use dirent.h.

Masaki Muranaka monaka at monami-ya.jp
Sun Jun 2 09:59:19 EDT 2013


It is for compatibility with the POSIX standard.
---
 commands/ls.c          |  2 +-
 common/complete.c      |  2 +-
 common/hush.c          |  2 +-
 fs/ramfs.c             |  1 +
 include/dirent.h       | 25 +++++++++++++++++++++++++
 include/fs.h           | 16 +---------------
 lib/glob.c             |  2 +-
 lib/recursive_action.c |  2 +-
 8 files changed, 32 insertions(+), 20 deletions(-)
 create mode 100644 include/dirent.h

diff --git a/commands/ls.c b/commands/ls.c
index f2d9903..2b1b08b 100644
--- a/commands/ls.c
+++ b/commands/ls.c
@@ -19,7 +19,7 @@
 
 #include <common.h>
 #include <command.h>
-#include <fs.h>
+#include <dirent.h>
 #include <linux/stat.h>
 #include <errno.h>
 #include <malloc.h>
diff --git a/common/complete.c b/common/complete.c
index 9206ef0..1fdc320 100644
--- a/common/complete.c
+++ b/common/complete.c
@@ -17,7 +17,7 @@
 #include <common.h>
 #include <complete.h>
 #include <xfuncs.h>
-#include <fs.h>
+#include <dirent.h>
 #include <linux/stat.h>
 #include <libgen.h>
 #include <command.h>
diff --git a/common/hush.c b/common/hush.c
index b5e111a..64c0b06 100644
--- a/common/hush.c
+++ b/common/hush.c
@@ -114,7 +114,7 @@
 #include <command.h>        /* find_cmd */
 #include <driver.h>
 #include <errno.h>
-#include <fs.h>
+#include <dirent.h>
 #include <libbb.h>
 #include <glob.h>
 #include <getopt.h>
diff --git a/fs/ramfs.c b/fs/ramfs.c
index f45a454..3f9df7c 100644
--- a/fs/ramfs.c
+++ b/fs/ramfs.c
@@ -21,6 +21,7 @@
 #include <driver.h>
 #include <init.h>
 #include <malloc.h>
+#include <dirent.h>
 #include <fs.h>
 #include <command.h>
 #include <errno.h>
diff --git a/include/dirent.h b/include/dirent.h
new file mode 100644
index 0000000..2faee78
--- /dev/null
+++ b/include/dirent.h
@@ -0,0 +1,25 @@
+#ifndef BAREBOX_DIRENT_H__
+#define BAREBOX_DIRENT_H__
+
+struct device_d;
+struct fs_driver_d;
+struct node_d;
+
+struct dirent {
+	char d_name[256];
+};
+
+typedef struct dir {
+	struct device_d *dev;
+	struct fs_driver_d *fsdrv;
+	struct node_d *node;
+	struct dirent d;
+	void *priv; /* private data for the fs driver */
+} DIR;
+
+DIR *opendir(const char *pathname);
+struct dirent *readdir(DIR *dir);
+int closedir(DIR *dir);
+
+
+#endif /* BAREBOX_DIRENT_H__ */
diff --git a/include/fs.h b/include/fs.h
index 7c4e461..0984da1 100644
--- a/include/fs.h
+++ b/include/fs.h
@@ -10,17 +10,7 @@ struct partition;
 struct node_d;
 struct stat;
 
-struct dirent {
-	char d_name[256];
-};
-
-typedef struct dir {
-	struct device_d *dev;
-	struct fs_driver_d *fsdrv;
-	struct node_d *node;
-	struct dirent d;
-	void *priv; /* private data for the fs driver */
-} DIR;
+#include <dirent.h>
 
 typedef struct filep {
 	struct device_d *dev; /* The device this FILE belongs to              */
@@ -133,10 +123,6 @@ int rmdir (const char *pathname);
 const char *getcwd(void);
 int chdir(const char *pathname);
 
-DIR *opendir(const char *pathname);
-struct dirent *readdir(DIR *dir);
-int closedir(DIR *dir);
-
 int symlink(const char *pathname, const char *newpath);
 int readlink(const char *path, char *buf, size_t bufsiz);
 
diff --git a/lib/glob.c b/lib/glob.c
index 1b0137b..7a522a9 100644
--- a/lib/glob.c
+++ b/lib/glob.c
@@ -17,7 +17,7 @@ Cambridge, MA 02139, USA.  */
 
 #include <common.h>
 #include <errno.h>
-#include <fs.h>
+#include <dirent.h>
 #include <linux/stat.h>
 #include <malloc.h>
 #include <xfuncs.h>
diff --git a/lib/recursive_action.c b/lib/recursive_action.c
index 345d3db..06e60b8 100644
--- a/lib/recursive_action.c
+++ b/lib/recursive_action.c
@@ -9,7 +9,7 @@
 #ifdef __BAREBOX__
 
 #include <common.h>
-#include <fs.h>
+#include <dirent.h>
 #include <linux/stat.h>
 #include <malloc.h>
 #include <libbb.h>
-- 
1.8.3




More information about the barebox mailing list