Browse Source

add components/libc/compilers/armlibc/dirent.h

SummerGift 7 years ago
parent
commit
4dfabdcb0a
1 changed files with 54 additions and 0 deletions
  1. 54 0
      components/libc/compilers/armlibc/dirent.h

+ 54 - 0
components/libc/compilers/armlibc/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