diff --git a/components/dfs/include/dfs.h b/components/dfs/include/dfs.h index 80dc43378771556ad8cdeb217e485b197fe57c11..6af8bbd99fc5f32b67afd6672d52bc005e96805e 100644 --- a/components/dfs/include/dfs.h +++ b/components/dfs/include/dfs.h @@ -16,10 +16,13 @@ #include #include -#include -#include +#include #include +#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 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 0475460d9572c041d8e1445070c5a5dcf369bbd5..ec7cdc9de4c84a6f932ccdcfcd2609c623fff3ac 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 bfba586093c498b72e7e4690f7ba1a1334d28f63..6727d96788af241eac8ff280d08c2eae8e13b7af 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 +#include + +#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 a86332e633c3a255cce807cae85b2df4b83447d4..0000000000000000000000000000000000000000 --- 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 4b145b1b1b00cd9ce43042dcedae848ad32b0b4b..b59a29dadb6a5dfb39e458aeff23ca95da78b5ff 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__)