summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMeco Man <[email protected]>2021-08-30 22:27:09 -0400
committerMeco Man <[email protected]>2021-08-30 22:39:14 -0400
commitaab382c32ed0fb795d12191c7a59265f574e8466 (patch)
tree98b737db189338b2c7487ed29fe6d4fdbdbff557
parent14d0001c2b0b94b109e4690e0935900ccf52bd7a (diff)
[rtlibc] remove libc_dirent.h
-rw-r--r--components/dfs/include/dfs.h19
-rw-r--r--components/dfs/include/dfs_posix.h8
-rw-r--r--components/libc/compilers/common/dirent.h27
-rw-r--r--include/libc/libc_dirent.h17
-rw-r--r--include/rtlibc.h1
5 files changed, 24 insertions, 48 deletions
diff --git a/components/dfs/include/dfs.h b/components/dfs/include/dfs.h
index 80dc433787..6af8bbd99f 100644
--- a/components/dfs/include/dfs.h
+++ b/components/dfs/include/dfs.h
@@ -16,10 +16,13 @@
#include <stdlib.h>
#include <string.h>
-#include <time.h>
-#include <rtthread.h>
+#include <sys/time.h>
#include <rtdevice.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifndef DFS_FILESYSTEMS_MAX
#define DFS_FILESYSTEMS_MAX 2
#endif
@@ -63,9 +66,7 @@
#define DFS_F_EOF 0x04000000
#define DFS_F_ERR 0x08000000
-#ifdef __cplusplus
-extern "C" {
-#endif
+#include <dirent.h>
struct statfs
{
@@ -74,14 +75,6 @@ struct statfs
size_t f_bfree; /* free blocks in file system */
};
-struct dirent
-{
- uint8_t d_type; /* The type of the file */
- uint8_t d_namlen; /* The length of the not including the terminating null file name */
- uint16_t d_reclen; /* length of this record */
- char d_name[DFS_PATH_MAX]; /* The null-terminated file name */
-};
-
struct dfs_fdtable
{
uint32_t maxfd;
diff --git a/components/dfs/include/dfs_posix.h b/components/dfs/include/dfs_posix.h
index 0475460d95..ec7cdc9de4 100644
--- a/components/dfs/include/dfs_posix.h
+++ b/components/dfs/include/dfs_posix.h
@@ -21,14 +21,6 @@
extern "C" {
#endif
-typedef struct
-{
- int fd; /* directory file */
- char buf[512];
- int num;
- int cur;
-} DIR;
-
/* directory api*/
int mkdir(const char *path, mode_t mode);
DIR *opendir(const char *name);
diff --git a/components/libc/compilers/common/dirent.h b/components/libc/compilers/common/dirent.h
index bfba586093..6727d96788 100644
--- a/components/libc/compilers/common/dirent.h
+++ b/components/libc/compilers/common/dirent.h
@@ -6,10 +6,14 @@
* Change Logs:
* Date Author Notes
*/
-#ifndef __RTT_DIRENT_H__
-#define __RTT_DIRENT_H__
+#ifndef __DIRENT_H__
+#define __DIRENT_H__
-#include <rtthread.h>
+#include <rtdef.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
/*
* dirent.h - format of directory entries
@@ -26,27 +30,32 @@
#define DT_REG 0x01
#define DT_DIR 0x02
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#ifndef HAVE_DIR_STRUCTURE
+#define HAVE_DIR_STRUCTURE
typedef struct
{
int fd; /* directory file */
char buf[512];
int num;
int cur;
-} DIR;
+}DIR;
#endif
#ifndef HAVE_DIRENT_STRUCTURE
+#define HAVE_DIRENT_STRUCTURE
+
+#ifdef DFS_PATH_MAX
+#define DIRENT_NAME_MAX DFS_PATH_MAX
+#else
+#define DIRENT_NAME_MAX 256
+#endif
+
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 */
+ char d_name[DIRENT_NAME_MAX]; /* The null-terminated file name */
};
#endif
diff --git a/include/libc/libc_dirent.h b/include/libc/libc_dirent.h
deleted file mode 100644
index a86332e633..0000000000
--- a/include/libc/libc_dirent.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright (c) 2006-2021, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- */
-
-#ifndef LIBC_DIRENT_H__
-#define LIBC_DIRENT_H__
-
-#define DT_UNKNOWN 0x00
-#define DT_REG 0x01
-#define DT_DIR 0x02
-
-#endif
diff --git a/include/rtlibc.h b/include/rtlibc.h
index 4b145b1b1b..b59a29dadb 100644
--- a/include/rtlibc.h
+++ b/include/rtlibc.h
@@ -14,7 +14,6 @@
/* definitions for libc if toolchain has no these definitions */
#include "libc/libc_stat.h"
#include "libc/libc_fcntl.h"
-#include "libc/libc_dirent.h"
#ifndef RT_USING_LIBC
#if defined(__ARMCC_VERSION) || defined(__IAR_SYSTEMS_ICC__)