22 #if !defined (_RTEMS_RFS_GROUP_H_) 23 #define _RTEMS_RFS_GROUP_H_ 32 #include <rtems/rfs/rtems-rfs-trace.h> 33 #include <rtems/rfs/rtems-rfs-bitmaps.h> 34 #include <rtems/rfs/rtems-rfs-buffer.h> 39 #define RTEMS_RFS_GROUP_BLOCK_BITMAP_BLOCK (0) 40 #define RTEMS_RFS_GROUP_INODE_BITMAP_BLOCK (1) 41 #define RTEMS_RFS_GROUP_INODE_BLOCK (2) 88 #define rtems_rfs_group_block(_g, _b) (((_g)->base) + (_b)) 93 #define rtems_rfs_group_inode(_f, _g, _i) \ 94 (((_f)->group_inodes * (_g)) + (_i) + RTEMS_RFS_ROOT_INO) int rtems_rfs_group_open(rtems_rfs_file_system *fs, rtems_rfs_buffer_block base, size_t size, size_t inodes, rtems_rfs_group *group)
Open a group.
Definition: rtems-rfs-group.c:31
Creates bit allocator for blocks in the group simpler.
Definition: rtems-rfs-group.h:51
int rtems_rfs_group_bitmap_test(rtems_rfs_file_system *fs, bool inode, rtems_rfs_bitmap_bit no, bool *state)
Test the group allocated bit.
Definition: rtems-rfs-group.c:303
int32_t rtems_rfs_bitmap_bit
A bit in a map.
Definition: rtems-rfs-bitmaps.h:84
int rtems_rfs_group_usage(rtems_rfs_file_system *fs, size_t *blocks, size_t *inodes)
Determine the number of blocks and inodes used.
Definition: rtems-rfs-group.c:348
The bitmap control is a simple way to manage the various parts of a bitmap.
Definition: rtems-rfs-bitmaps.h:104
struct _rtems_rfs_group rtems_rfs_group
Creates bit allocator for blocks in the group simpler.
RFS File System data.
Definition: rtems-rfs-file-system.h:123
uint32_t rtems_rfs_buffer_block
Define the method used to interface to the buffers.
Definition: rtems-rfs-buffer.h:62
rtems_rfs_buffer_block base
Base block number.
Definition: rtems-rfs-group.h:56
int rtems_rfs_group_bitmap_alloc(rtems_rfs_file_system *fs, rtems_rfs_bitmap_bit goal, bool inode, rtems_rfs_bitmap_bit *result)
Allocate an inode or block.
Definition: rtems-rfs-group.c:152
rtems_rfs_buffer_handle inode_bitmap_buffer
The handle to the inode bitmap buffer.
Definition: rtems-rfs-group.h:81
int rtems_rfs_group_bitmap_free(rtems_rfs_file_system *fs, bool inode, rtems_rfs_bitmap_bit no)
Free the group allocated bit.
Definition: rtems-rfs-group.c:262
size_t size
The number of blocks in the group.
Definition: rtems-rfs-group.h:61
RFS Buffer handle.
Definition: rtems-rfs-buffer.h:91
int rtems_rfs_group_close(rtems_rfs_file_system *fs, rtems_rfs_group *group)
Close a group.
Definition: rtems-rfs-group.c:122
rtems_rfs_buffer_handle block_bitmap_buffer
The handle to the block bitmap buffer.
Definition: rtems-rfs-group.h:71
rtems_rfs_bitmap_control block_bitmap
The block bitmap control.
Definition: rtems-rfs-group.h:66
rtems_rfs_bitmap_control inode_bitmap
The inode bitmap control.
Definition: rtems-rfs-group.h:76