21#if !defined (_RTEMS_RFS_DIR_H_)
22#define _RTEMS_RFS_DIR_H_
35#define RTEMS_RFS_DIR_ENTRY_INO (0)
37#define RTEMS_RFS_DIR_ENTRY_HASH (4)
42#define RTEMS_RFS_DIR_ENTRY_LEN (8)
48#define RTEMS_RFS_DIR_ENTRY_SIZE (4 + 4 + 2)
53#define RTEMS_RFS_DIR_ENTRY_EMPTY (0xffff)
62#define rtems_rfs_dir_entry_hash(_e) \
63 rtems_rfs_read_u32 (_e + RTEMS_RFS_DIR_ENTRY_HASH)
72#define rtems_rfs_dir_set_entry_hash(_e, _h) \
73 rtems_rfs_write_u32 (_e + RTEMS_RFS_DIR_ENTRY_HASH, _h)
82#define rtems_rfs_dir_entry_ino(_e) \
83 rtems_rfs_read_u32 (_e + RTEMS_RFS_DIR_ENTRY_INO)
92#define rtems_rfs_dir_set_entry_ino(_e, _i) \
93 rtems_rfs_write_u32 (_e + RTEMS_RFS_DIR_ENTRY_INO, _i)
102#define rtems_rfs_dir_entry_length(_e) \
103 rtems_rfs_read_u16 (_e + RTEMS_RFS_DIR_ENTRY_LEN)
111#define rtems_rfs_dir_set_entry_length(_e, _l) \
112 rtems_rfs_write_u16 (_e + RTEMS_RFS_DIR_ENTRY_LEN, _l)
193 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:526
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:372
int rtems_rfs_dir_empty(rtems_rfs_file_system *fs, rtems_rfs_inode_handle *dir)
Definition: rtems-rfs-dir.c:649
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:225
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:50
int64_t rtems_rfs_pos_rel
Definition: rtems-rfs-file-system.h:95
RTEMS File System Information Node.
uint32_t rtems_rfs_ino
Definition: rtems-rfs-inode.h:78
Definition: rtems-rfs-file-system.h:116
Definition: rtems-rfs-inode.h:182