22 #if !defined (_RTEMS_RFS_INODE_H_) 23 #define _RTEMS_RFS_INODE_H_ 33 #define RTEMS_RFS_S_ISUID S_ISUID 34 #define RTEMS_RFS_S_ISGID S_ISGID 35 #define RTEMS_RFS_S_ISVTX S_ISVTX 36 #define RTEMS_RFS_S_IREAD S_IREAD 37 #define RTEMS_RFS_S_IWRITE S_IWRITE 38 #define RTEMS_RFS_S_IEXEC S_IEXEC 39 #define RTEMS_RFS_S_ENFMT S_ENFMT 40 #define RTEMS_RFS_S_IFMT S_IFMT 41 #define RTEMS_RFS_S_IFDIR S_IFDIR 42 #define RTEMS_RFS_S_IFCHR S_IFCHR 43 #define RTEMS_RFS_S_IFBLK S_IFBLK 44 #define RTEMS_RFS_S_IFREG S_IFREG 45 #define RTEMS_RFS_S_IFLNK S_IFLNK 46 #define RTEMS_RFS_S_IFSOCK S_IFSOCK 47 #define RTEMS_RFS_S_IFIFO S_IFIFO 48 #define RTEMS_RFS_S_IRWXU S_IRWXU 49 #define RTEMS_RFS_S_IRUSR S_IRUSR 50 #define RTEMS_RFS_S_IWUSR S_IWUSR 51 #define RTEMS_RFS_S_IXUSR S_IXUSR 52 #define RTEMS_RFS_S_IRWXG S_IRWXG 53 #define RTEMS_RFS_S_IRGRP S_IRGRP 54 #define RTEMS_RFS_S_IWGRP S_IWGRP 55 #define RTEMS_RFS_S_IXGRP S_IXGRP 56 #define RTEMS_RFS_S_IRWXO S_IRWXO 57 #define RTEMS_RFS_S_IROTH S_IROTH 58 #define RTEMS_RFS_S_IWOTH S_IWOTH 59 #define RTEMS_RFS_S_IXOTH S_IXOTH 61 #define RTEMS_RFS_S_ISBLK(m) S_ISBLK(m) 62 #define RTEMS_RFS_S_ISCHR(m) S_ISCHR(m) 63 #define RTEMS_RFS_S_ISDIR(m) S_ISDIR(m) 64 #define RTEMS_RFS_S_ISFIFO(m) S_ISFIFO(m) 65 #define RTEMS_RFS_S_ISREG(m) S_ISREG(m) 66 #define RTEMS_RFS_S_ISLNK(m) S_ISLNK(m) 67 #define RTEMS_RFS_S_ISSOCK(m) S_ISSOCK(m) 72 #define RTEMS_RFS_S_SYMLINK \ 73 RTEMS_RFS_S_IFLNK | RTEMS_RFS_S_IRWXU | RTEMS_RFS_S_IRWXG | RTEMS_RFS_S_IRWXO 94 #define RTEMS_RFS_INODE_DATA_NAME_SIZE \ 95 (RTEMS_RFS_INODE_BLOCKS * sizeof (rtems_rfs_inode_block)) 176 #define RTEMS_RFS_INODE_SIZE (sizeof (rtems_rfs_inode)) 223 #define rtems_rfs_inode_is_loaded(_h) ((_h)->node) 228 #define rtems_rfs_inode_ino(_h) ((_h)->ino) 237 static inline uint16_t
267 static inline uint16_t
293 static inline uint16_t
319 static inline uint16_t
332 static inline uint16_t
347 uint16_t uid, uint16_t gid)
360 static inline uint16_t
374 uint16_t block_offset)
387 static inline uint32_t
495 static inline uint32_t
522 static inline uint32_t
549 static inline uint32_t
int rtems_rfs_inode_open(rtems_rfs_file_system *fs, rtems_rfs_ino ino, rtems_rfs_inode_handle *handle, bool load)
Definition: rtems-rfs-inode.c:53
struct _rtems_rfs_inode rtems_rfs_inode
int rtems_rfs_inode_delete(rtems_rfs_file_system *fs, rtems_rfs_inode_handle *handle)
Definition: rtems-rfs-inode.c:320
#define RTEMS_RFS_INODE_BLOCKS
Definition: rtems-rfs-file-system.h:67
int32_t rtems_rfs_bitmap_bit
Definition: rtems-rfs-bitmaps.h:84
#define rtems_rfs_read_u16(_d)
Definition: rtems-rfs-data.h:50
uint32_t rtems_rfs_inode_block
Definition: rtems-rfs-inode.h:89
uint32_t block_count
Definition: rtems-rfs-inode.h:130
int rtems_rfs_inode_time_stamp_now(rtems_rfs_inode_handle *handle, bool atime, bool mtime)
Definition: rtems-rfs-inode.c:394
#define RTEMS_RFS_INODE_DATA_NAME_SIZE
Definition: rtems-rfs-inode.h:94
uint16_t mode
Definition: rtems-rfs-inode.h:110
struct _rtems_rfs_inode_handle rtems_rfs_inode_handle
int rtems_rfs_inode_unload(rtems_rfs_file_system *fs, rtems_rfs_inode_handle *handle, bool update_ctime)
Definition: rtems-rfs-inode.c:145
int rtems_rfs_inode_alloc(rtems_rfs_file_system *fs, rtems_rfs_bitmap_bit goal, rtems_rfs_ino *ino)
Definition: rtems-rfs-inode.c:32
Definition: rtems-rfs-file-system.h:123
rtems_rfs_time mtime
Definition: rtems-rfs-inode.h:140
uint64_t rtems_rfs_pos
Definition: rtems-rfs-file-system.h:90
uint32_t rtems_rfs_buffer_block
Definition: rtems-rfs-buffer.h:62
uint32_t rtems_rfs_ino
Definition: rtems-rfs-inode.h:78
int rtems_rfs_inode_initialise(rtems_rfs_inode_handle *handle, uint16_t links, uint16_t mode, uid_t uid, gid_t gid)
Definition: rtems-rfs-inode.c:373
uint16_t flags
Definition: rtems-rfs-inode.h:120
rtems_rfs_time atime
Definition: rtems-rfs-inode.h:135
uint16_t block_offset
Definition: rtems-rfs-inode.h:125
rtems_rfs_inode * node
Definition: rtems-rfs-inode.h:196
uint32_t owner
Definition: rtems-rfs-inode.h:115
rtems_rfs_buffer_block block
Definition: rtems-rfs-inode.h:206
int offset
Definition: rtems-rfs-inode.h:211
int rtems_rfs_inode_close(rtems_rfs_file_system *fs, rtems_rfs_inode_handle *handle)
Definition: rtems-rfs-inode.c:91
Definition: rtems-rfs-inode.h:181
int rtems_rfs_inode_free(rtems_rfs_file_system *fs, rtems_rfs_ino ino)
Definition: rtems-rfs-inode.c:44
Definition: rtems-rfs-inode.h:100
rtems_rfs_inode_block last_data_block
Definition: rtems-rfs-inode.h:169
rtems_chain_node link
Definition: rtems-rfs-inode.h:186
rtems_rfs_inode_block last_map_block
Definition: rtems-rfs-inode.h:164
#define rtems_rfs_write_u16(_d, _v)
Definition: rtems-rfs-data.h:72
uint32_t rtems_rfs_time
Definition: rtems-rfs-inode.h:83
int rtems_rfs_inode_load(rtems_rfs_file_system *fs, rtems_rfs_inode_handle *handle)
Definition: rtems-rfs-inode.c:114
Definition: rtems-rfs-buffer.h:91
union _rtems_rfs_inode::@3972 data
#define rtems_rfs_buffer_mark_dirty(_h)
Definition: rtems-rfs-buffer.h:144
int rtems_rfs_inode_create(rtems_rfs_file_system *fs, rtems_rfs_ino parent, const char *name, size_t length, uint16_t mode, uint16_t links, uid_t uid, gid_t gid, rtems_rfs_ino *ino)
Definition: rtems-rfs-inode.c:179
rtems_rfs_ino ino
Definition: rtems-rfs-inode.h:191
#define rtems_rfs_read_u32(_d)
Definition: rtems-rfs-data.h:57
rtems_rfs_time ctime
Definition: rtems-rfs-inode.h:145
uint16_t links
Definition: rtems-rfs-inode.h:105
rtems_rfs_pos rtems_rfs_inode_get_size(rtems_rfs_file_system *fs, rtems_rfs_inode_handle *handle)
Definition: rtems-rfs-inode.c:410
#define rtems_rfs_write_u32(_d, _v)
Definition: rtems-rfs-data.h:81
rtems_rfs_buffer_handle buffer
Definition: rtems-rfs-inode.h:201
int loads
Definition: rtems-rfs-inode.h:216