summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2018-05-02 20:47:05 +0800
committerGitHub <[email protected]>2018-05-02 20:47:05 +0800
commita901693fb5aea115913f52ccffdfff7a061894f1 (patch)
tree6b90934be4f5cd8c85a7ac6b7f54d1b6ac80f681 /components
parent795f9873ccd1fc71497d5c2d96fb870ea17fe67b (diff)
parent3a0a3f7c695d7b471ff1763f5eefa02032dda1e9 (diff)
Merge pull request #1394 from armink/fix_dlib
[Components/dlib] Add dirent.h to dlib libc.
Diffstat (limited to 'components')
-rw-r--r--components/libc/compilers/dlib/dirent.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/components/libc/compilers/dlib/dirent.h b/components/libc/compilers/dlib/dirent.h
new file mode 100644
index 0000000000..61e77b9767
--- /dev/null
+++ b/components/libc/compilers/dlib/dirent.h
@@ -0,0 +1,54 @@
+#ifndef __RTT_DIRENT_H__
+#define __RTT_DIRENT_H__
+
+#include <rtthread.h>
+#include <rtlibc.h>
+
+/*
+* dirent.h - format of directory entries
+ * Ref: http://www.opengroup.org/onlinepubs/009695399/basedefs/dirent.h.html
+ */
+
+/* File types */
+#define FT_REGULAR 0 /* regular file */
+#define FT_SOCKET 1 /* socket file */
+#define FT_DIRECTORY 2 /* directory */
+#define FT_USER 3 /* user defined */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef HAVE_DIR_STRUCTURE
+typedef struct
+{
+ int fd; /* directory file */
+ char buf[512];
+ int num;
+ int cur;
+} DIR;
+#endif
+
+#ifndef HAVE_DIRENT_STRUCTURE
+struct dirent
+{
+ rt_uint8_t d_type; /* The type of the file */
+ rt_uint8_t d_namlen; /* The length of the not including the terminating null file name */
+ rt_uint16_t d_reclen; /* length of this record */
+ char d_name[256]; /* The null-terminated file name */
+};
+#endif
+
+int closedir(DIR *);
+DIR *opendir(const char *);
+struct dirent *readdir(DIR *);
+int readdir_r(DIR *, struct dirent *, struct dirent **);
+void rewinddir(DIR *);
+void seekdir(DIR *, long int);
+long telldir(DIR *);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif