diff options
Diffstat (limited to 'components/libc/compilers')
| -rw-r--r-- | components/libc/compilers/common/include/sys/statfs.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/components/libc/compilers/common/include/sys/statfs.h b/components/libc/compilers/common/include/sys/statfs.h index 818ec9eb77..8765e1d820 100644 --- a/components/libc/compilers/common/include/sys/statfs.h +++ b/components/libc/compilers/common/include/sys/statfs.h @@ -5,6 +5,7 @@ * * Change Logs: * Date Author Notes + * 2023-03-27 xqyjlj adapt musl */ #ifndef __SYS_STATFS_H__ @@ -16,16 +17,31 @@ extern "C" { #endif +#ifdef RT_USING_MUSLLIBC +/* this is required for musl <sys/statfs.h> */ +#ifndef _POSIX_SOURCE +#define _POSIX_SOURCE +#include_next <sys/statfs.h> +/* limiting influence of _POSIX_SOURCE */ +#undef _POSIX_SOURCE + +#else /* def _POSIX_SOURCE */ +#include_next <sys/statfs.h> +#endif +#else struct statfs { size_t f_bsize; /* block size */ size_t f_blocks; /* total data blocks in file system */ size_t f_bfree; /* free blocks in file system */ + size_t f_bavail; /* free blocks available to unprivileged user*/ }; int statfs(const char *path, struct statfs *buf); int fstatfs(int fd, struct statfs *buf); +#endif + #ifdef __cplusplus } #endif |
