21 #if !defined (_RTEMS_RFS_DIR_H_) 22 #define _RTEMS_RFS_DIR_H_ 28 #include <rtems/rfs/rtems-rfs-data.h> 29 #include <rtems/rfs/rtems-rfs-file-system.h> 30 #include <rtems/rfs/rtems-rfs-inode.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,
RFS File System data.
Definition: rtems-rfs-file-system.h:123
uint32_t rtems_rfs_ino
The inode number or ino.
Definition: rtems-rfs-inode.h:78
int rtems_rfs_dir_del_entry(rtems_rfs_file_system *fs, rtems_rfs_inode_handle *dir, rtems_rfs_ino ino, uint32_t offset)
Del an entry from the directory using an inode number as a key.
Definition: rtems-rfs-dir.c:378
RFS Inode Handle.
Definition: rtems-rfs-inode.h:181
int rtems_rfs_dir_empty(rtems_rfs_file_system *fs, rtems_rfs_inode_handle *dir)
Check if the directory is empty.
Definition: rtems-rfs-dir.c:654
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)
Add an entry to the directory returing the inode number allocated to the entry.
Definition: rtems-rfs-dir.c:231
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)
Read the directory entry from offset into the directory entry buffer and return the length of space t...
Definition: rtems-rfs-dir.c:532
int64_t rtems_rfs_pos_rel
Relative position.
Definition: rtems-rfs-file-system.h:95
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)
Look up a directory entry in the directory pointed to by the inode.
Definition: rtems-rfs-dir.c:56