RTEMS 6.1-rc6
|
Files | |
file | rtems-rfs-bitmaps.h |
RTEMS File Systems Bitmap Routines. | |
file | rtems-rfs-block-pos.h |
RTEMS File Systems Block Position and Size Management. | |
file | rtems-rfs-block.h |
RTEMS File Systems Block Management. | |
file | rtems-rfs-buffer.h |
Maps Blocks to the Media Interface Layers. | |
file | rtems-rfs-data.h |
RTEMS File System Data. | |
file | rtems-rfs-dir-hash.h |
Provides a 32bit Hash of a String used to Search a Directory. | |
file | rtems-rfs-dir.h |
RTEMS File System Directory Support. | |
file | rtems-rfs-file-system-fwd.h |
RTEMS File Systems Data Forward Declaration. | |
file | rtems-rfs-file-system.h |
RTEMS File System Data. | |
file | rtems-rfs-file.h |
RTEMS File System File Support. | |
file | rtems-rfs-group.h |
RTEMS File Systems Group Management. | |
file | rtems-rfs-inode.h |
RTEMS File System Information Node. | |
file | rtems-rfs-link.h |
RTEMS File System Link Support. | |
file | rtems-rfs-mutex.h |
RTEMS File System Mutex. | |
file | rtems-rfs-trace.h |
Manages the Trace and Debugging Features of the RTEMS RFS File System. | |
file | rtems-rfs-format.h |
RTEMS File System Format. | |
file | rtems-rfs-shell.h |
RTEMS File Systems Shell Commands. | |
file | rtems-rfs.h |
RFS File system Initialization. | |
file | rtems-rfs-bitmaps.c |
RTEMS File Systems Bitmap Routines. | |
file | rtems-rfs-block.c |
RTEMS File Systems Block Routines. | |
file | rtems-rfs-buffer-bdbuf.c |
RTEMS File Systems Buffer Routines. | |
file | rtems-rfs-buffer-devio.c |
RTEMS File Systems Buffer Routines. | |
file | rtems-rfs-buffer.c |
RTEMS File Systems Buffer Routines. | |
file | rtems-rfs-dir-hash.c |
RTEMS File Systems Directory Hash function. | |
file | rtems-rfs-dir.c |
RTEMS File Systems Directory Routines. | |
file | rtems-rfs-file-system.c |
RTEMS File Systems Open. | |
file | rtems-rfs-file.c |
RTEMS File Systems File Routines. | |
file | rtems-rfs-format.c |
RTEMS File Systems Format. | |
file | rtems-rfs-group.c |
RTEMS File Systems Group Routines. | |
file | rtems-rfs-inode.c |
RTEMS File Systems Inode Routines. | |
file | rtems-rfs-link.c |
RTEMS File Systems Link Routines. | |
file | rtems-rfs-mutex.c |
RTEMS File System Mutex. | |
file | rtems-rfs-rtems-dev.c |
RTEMS RFS Device Interface. | |
file | rtems-rfs-rtems-dir.c |
RTEMS RFS Directory Access Routines. | |
file | rtems-rfs-rtems-file.c |
RTEMS RFS File Handlers. | |
file | rtems-rfs-rtems-utils.c |
Set of Utility Functions to Support RTEMS RFS on RTEMS. | |
file | rtems-rfs-rtems.c |
RTEMS File System Interface for RTEMS. | |
file | rtems-rfs-rtems.h |
file | rtems-rfs-shell.c |
RTEMS File Systems Shell Commands Support. | |
file | rtems-rfs-trace.c |
RTEMS File Systems Trace Support. | |
Functions | |
int | rtems_rfs_rtems_initialise (rtems_filesystem_mount_table_entry_t *mt_entry, const void *data) |
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. | |
int | rtems_rfs_group_close (rtems_rfs_file_system *fs, rtems_rfs_group *group) |
Close a group. | |
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. | |
int | rtems_rfs_group_bitmap_free (rtems_rfs_file_system *fs, bool inode, rtems_rfs_bitmap_bit no) |
Free the group allocated bit. | |
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. | |
int | rtems_rfs_group_usage (rtems_rfs_file_system *fs, size_t *blocks, size_t *inodes) |
Determine the number of blocks and inodes used. | |
#define | RTEMS_RFS_GROUP_BLOCK_BITMAP_BLOCK (0) |
#define | RTEMS_RFS_GROUP_INODE_BITMAP_BLOCK (1) |
#define | RTEMS_RFS_GROUP_INODE_BLOCK (2) |
#define | rtems_rfs_group_block(_g, _b) (((_g)->base) + (_b)) |
#define | rtems_rfs_group_inode(_f, _g, _i) (((_f)->group_inodes * (_g)) + (_i) + RTEMS_RFS_ROOT_INO) |
typedef struct _rtems_rfs_group | rtems_rfs_group |
Creates bit allocator for blocks in the group simpler. | |
#define rtems_rfs_group_block | ( | _g, | |
_b | |||
) | (((_g)->base) + (_b)) |
Return the disk's block for a block in a group.
#define RTEMS_RFS_GROUP_BLOCK_BITMAP_BLOCK (0) |
RTEMS File System Group Management Block allocations for a group on disk.
#define rtems_rfs_group_inode | ( | _f, | |
_g, | |||
_i | |||
) | (((_f)->group_inodes * (_g)) + (_i) + RTEMS_RFS_ROOT_INO) |
Return the file system inode for a inode in a group.
typedef struct _rtems_rfs_group rtems_rfs_group |
Creates bit allocator for blocks in the group simpler.
A group is a selection of blocks on the disk. Typically the number of blocks in a group is determined by the number of bits a block holds. This makes the bit allocator for blocks in the group simpler plus is allows a simple way to localise access to files and directories.
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.
The groups are searched to find the next available inode or block.
fs | The file system data. |
goal | The goal to seed the bitmap search. |
inode | If true allocate an inode else allocate a block. |
result | The allocated bit in the bitmap. |
int | The error number (errno). No error if 0. |
int rtems_rfs_group_bitmap_free | ( | rtems_rfs_file_system * | fs, |
bool | inode, | ||
rtems_rfs_bitmap_bit | no | ||
) |
Free the group allocated bit.
fs | The file system data. |
inode | If true the number to free is an inode else it is a block. |
block | The inode or block number to free. |
int | The error number (errno). No error if 0. |
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.
fs | The file system data. |
inode | If true the number to free is an inode else it is a block. |
block | The inode or block number to free. |
state | Return the state of the bit. |
int | The error number (errno). No error if 0. |
int rtems_rfs_group_close | ( | rtems_rfs_file_system * | fs, |
rtems_rfs_group * | group | ||
) |
Close a group.
Release all resources the group holds.
fs | The file system. |
group | The group to close. |
int | The error number (errno). No error if 0. |
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.
Allocate all the resources including the bitmaps.
fs | The file system. |
base | The base block number. |
size | The number of blocks in the group. |
group | Reference to the group to open. |
int | The error number (errno). No error if 0. |
int rtems_rfs_group_usage | ( | rtems_rfs_file_system * | fs, |
size_t * | blocks, | ||
size_t * | inodes | ||
) |
Determine the number of blocks and inodes used.
fs | The file system data. |
blocks | The number of blocks used. |
inodes | The number of inodes used. |
int | The error number (errno). No error if 0. |
int rtems_rfs_rtems_initialise | ( | rtems_filesystem_mount_table_entry_t * | mt_entry, |
const void * | data | ||
) |
Initialise the RFS File system.
Open the file system.
Forward decl for the ops table.
Open the file system.