This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit 9b102550885649834012bd25509cac4bd3e06d88 Author: yinshengkai <[email protected]> AuthorDate: Tue Dec 26 23:52:50 2023 +0800 fs: fix structure layout inconsistency in hostfs Use the following command to view the structure layout: pahole nuttx > struct_size.h Signed-off-by: yinshengkai <[email protected]> --- include/nuttx/fs/hostfs.h | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/include/nuttx/fs/hostfs.h b/include/nuttx/fs/hostfs.h index cc175cbc45..af96c4fa9e 100644 --- a/include/nuttx/fs/hostfs.h +++ b/include/nuttx/fs/hostfs.h @@ -108,35 +108,41 @@ /* These must match the definitions in include/sys/types.h */ typedef int16_t nuttx_blksize_t; -#ifdef CONFIG_SMALL_MEMORY +# ifdef CONFIG_SMALL_MEMORY typedef int16_t nuttx_gid_t; typedef int16_t nuttx_uid_t; -#else +typedef uint16_t nuttx_size_t; +typedef int16_t nuttx_ssize_t; +# else /* CONFIG_SMALL_MEMORY */ typedef unsigned int nuttx_gid_t; typedef unsigned int nuttx_uid_t; -#endif +typedef uintptr_t nuttx_size_t; +typedef intptr_t nuttx_ssize_t; +# endif /* CONFIG_SMALL_MEMORY */ typedef uint32_t nuttx_dev_t; typedef uint16_t nuttx_ino_t; typedef uint16_t nuttx_nlink_t; -#ifdef CONFIG_FS_LARGEFILE +# ifdef CONFIG_FS_LARGEFILE typedef int64_t nuttx_off_t; typedef uint64_t nuttx_blkcnt_t; -#else +# else typedef int32_t nuttx_off_t; typedef uint32_t nuttx_blkcnt_t; -#endif +# endif typedef unsigned int nuttx_mode_t; -typedef uintptr_t nuttx_size_t; -typedef intptr_t nuttx_ssize_t; /* These must match the definition in include/time.h */ +# ifdef CONFIG_SYSTEM_TIME64 +typedef int64_t nuttx_time_t; +# else typedef uint32_t nuttx_time_t; +# endif struct nuttx_timespec { - nuttx_time_t tv_sec; - long tv_nsec; + nuttx_time_t tv_sec; + long tv_nsec; }; /* These must exactly match the definition from include/dirent.h: */
