40#if !defined (_RTEMS_RFS_DIR_H_)
41#define _RTEMS_RFS_DIR_H_
54#define RTEMS_RFS_DIR_ENTRY_INO (0)
56#define RTEMS_RFS_DIR_ENTRY_HASH (4)
61#define RTEMS_RFS_DIR_ENTRY_LEN (8)
67#define RTEMS_RFS_DIR_ENTRY_SIZE (4 + 4 + 2)
72#define RTEMS_RFS_DIR_ENTRY_EMPTY (0xffff)
81#define rtems_rfs_dir_entry_hash(_e) \
82 rtems_rfs_read_u32 (_e + RTEMS_RFS_DIR_ENTRY_HASH)
91#define rtems_rfs_dir_set_entry_hash(_e, _h) \
92 rtems_rfs_write_u32 (_e + RTEMS_RFS_DIR_ENTRY_HASH, _h)
101#define rtems_rfs_dir_entry_ino(_e) \
102 rtems_rfs_read_u32 (_e + RTEMS_RFS_DIR_ENTRY_INO)
111#define rtems_rfs_dir_set_entry_ino(_e, _i) \
112 rtems_rfs_write_u32 (_e + RTEMS_RFS_DIR_ENTRY_INO, _i)
121#define rtems_rfs_dir_entry_length(_e) \
122 rtems_rfs_read_u16 (_e + RTEMS_RFS_DIR_ENTRY_LEN)
130#define rtems_rfs_dir_set_entry_length(_e, _l) \
131 rtems_rfs_write_u16 (_e + RTEMS_RFS_DIR_ENTRY_LEN, _l)
212 struct dirent* dirent,
LibIO Internal Interface.
int rtems_rfs_dir_read(rtems_rfs_file_system *fs, rtems_rfs_inode_handle *dir, rtems_rfs_pos_rel offset, struct dirent *dirent, size_t *length)
Definition: rtems-rfs-dir.c:545
int rtems_rfs_dir_del_entry(rtems_rfs_file_system *fs, rtems_rfs_inode_handle *dir, rtems_rfs_ino ino, uint32_t offset)
Definition: rtems-rfs-dir.c:391
int rtems_rfs_dir_empty(rtems_rfs_file_system *fs, rtems_rfs_inode_handle *dir)
Definition: rtems-rfs-dir.c:668
int rtems_rfs_dir_add_entry(rtems_rfs_file_system *fs, rtems_rfs_inode_handle *dir, const char *name, size_t length, rtems_rfs_ino ino)
Definition: rtems-rfs-dir.c:244
int rtems_rfs_dir_lookup_ino(rtems_rfs_file_system *fs, rtems_rfs_inode_handle *inode, const char *name, int length, rtems_rfs_ino *ino, uint32_t *offset)
Definition: rtems-rfs-dir.c:69
int64_t rtems_rfs_pos_rel
Definition: rtems-rfs-file-system.h:114
RTEMS File System Information Node.
uint32_t rtems_rfs_ino
Definition: rtems-rfs-inode.h:97
Definition: rtems-rfs-file-system.h:135
Definition: rtems-rfs-inode.h:201