Contains the filesystem driver interface details
Marcel Sondaar
The filesystem metalanguage is split in several separate metalanguages, each covering a portion of potential features the filesystem might provide
udi_fs.h | Contains the filesystem driver interface details |
udi_fs_blockread | This metalanguage supports opening files by name and returning blocklists of the file’s locations on disk. |
udi_fs_blockread_bind_cb_t | Contains a mostly empty control block to initialize the read functionality |
Variables | |
gcb | The main control block |
Functions | |
udi_fs_blockread_bind_req | function pointer prototype for connecting to a block device |
udi_fs_blockread_bind_ack | function pointer prototype for acknowledging a connection request |
udi_fs_blockread_unbind_req | function pointer prototype for disconnecting a filesystem driver |
udi_fs_blockread_unbind_ack | function pointer prototype for disconnecting to a filesystem driver |
udi_fs_blockread_filename_cb_t | Contains a cb used for filename transfers |
Variables | |
gcb | The main control block |
buf | buffer holding the filename |
Functions | |
udi_fs_blockread_stat_req | function pointer prototype for requesting file presence and size |
udi_fs_blockread_stat_ack | function pointer prototype for requesting file presence and size |
udi_fs_blockread_stat_nak | function pointer prototype for returning a read error |
udi_fs_blockread_open_req | function pointer prototype for opening a file |
udi_fs_blockread_open_ack | function pointer prototype for returning success on opening a file |
udi_fs_blockread_open_nak | function pointer prototype for file opening failure |
udi_fs_blockread_close_cb_t | Contains a cb used for file closing |
Variables | |
gcb | The main control block |
handle | the file handle |
Functions | |
udi_fs_blockread_close_req | function pointer prototype for closing a file |
udi_fs_blockread_close_ack | function pointer prototype for closing a file |
udi_fs_blockread_map_cb_t | Contains a cb used for file closing |
Variables | |
gcb | The main control block |
handle | the file handle |
buf | the buffer to place mappings in |
off_lo | offset into the file to map |
len_lo | length of the data to map |
Functions | |
udi_fs_blockread_map_req | function pointer prototype for closing a file |
udi_fs_blockread_map_ack | function pointer prototype for closing a file |
udi_fs_blockread_map_nak | function pointer prototype for closing a file |
udi_fs_blockread_provider_ops_t | The mapped filesystem mapped read entry points (provider side) |
udi_fs_blockread_ops_t | The mapped filesystem mapped read metalanguage entry points (client side) |
udi_fs_blockrw | This metalanguage supports adding, modifying and reading files by name, returing blocklists corresponding to the locations on disk. |
udi_fs_blockrw_bind_cb_t | Contains a mostly empty control block to initialize the read-write functionality |
Variables | |
gcb | The main control block |
Functions | |
udi_fs_blockrw_bind_req | function pointer prototype for connecting to a block device |
udi_fs_blockrw_bind_ack | function pointer prototype for acknowledging a connection request |
This metalanguage supports opening files by name and returning blocklists of the file’s locations on disk.
Contains a mostly empty control block to initialize the read functionality
Variables | |
gcb | The main control block |
Functions | |
udi_fs_blockread_bind_req | function pointer prototype for connecting to a block device |
udi_fs_blockread_bind_ack | function pointer prototype for acknowledging a connection request |
udi_fs_blockread_unbind_req | function pointer prototype for disconnecting a filesystem driver |
udi_fs_blockread_unbind_ack | function pointer prototype for disconnecting to a filesystem driver |
typedef void udi_fs_blockread_bind_req_op_t ( udi_fs_blockread_bind_cb_t * cb )
function pointer prototype for connecting to a block device
cb | A pointer to a udi_fs_blockread_bind_cb_t |
typedef void udi_fs_blockread_bind_ack_op_t ( udi_fs_blockread_bind_cb_t * cb, udi_status_t status )
function pointer prototype for acknowledging a connection request
cb | A pointer to a udi_fs_blockread_bind_cb_t |
status | A status value, usually to indicate if a filesystem was correctly mounted. |
typedef void udi_fs_blockread_unbind_req_op_t ( udi_fs_blockread_bind_cb_t * cb )
function pointer prototype for disconnecting a filesystem driver
cb | A pointer to a udi_block_bind_cb_t |
typedef void udi_fs_blockread_unbind_ack_op_t ( udi_fs_blockread_bind_cb_t * cb )
function pointer prototype for disconnecting to a filesystem driver
cb | A pointer to a udi_block_bind_cb_t |
Contains a cb used for filename transfers
Variables | |
gcb | The main control block |
buf | buffer holding the filename |
Functions | |
udi_fs_blockread_stat_req | function pointer prototype for requesting file presence and size |
udi_fs_blockread_stat_ack | function pointer prototype for requesting file presence and size |
udi_fs_blockread_stat_nak | function pointer prototype for returning a read error |
udi_fs_blockread_open_req | function pointer prototype for opening a file |
udi_fs_blockread_open_ack | function pointer prototype for returning success on opening a file |
udi_fs_blockread_open_nak | function pointer prototype for file opening failure |
typedef void udi_fs_blockread_stat_req_op_t ( udi_fs_blockread_filename_cb_t * cb )
function pointer prototype for requesting file presence and size
cb | A pointer to a udi_fs_blockread_filename_cb_t |
typedef void udi_fs_blockread_stat_ack_op_t ( udi_fs_blockread_filename_cb_t * cb, udi_ubit32_t size_lo, udi_ubit32_t size_hi )
function pointer prototype for requesting file presence and size
cb | A pointer to a udi_fs_blockread_filename_cb_t |
size_lo | bottom 32 bits of filesize |
size_hi | top 32 bits of filesize |
typedef void udi_fs_blockread_stat_nak_op_t ( udi_fs_blockread_filename_cb_t * cb, udi_status_t status )
function pointer prototype for returning a read error
cb | A pointer to a udi_fs_blockread_filename_cb_t |
status | cause of the failure |
typedef void udi_fs_blockread_open_req_op_t ( udi_fs_blockread_filename_cb_t * cb )
function pointer prototype for opening a file
cb | A pointer to a udi_fs_blockread_filename_cb_t |
typedef void udi_fs_blockread_open_ack_op_t ( udi_fs_blockread_filename_cb_t * cb, udi_index_t handle )
function pointer prototype for returning success on opening a file
cb | A pointer to a udi_fs_blockread_filename_cb_t |
handle | a reference for the file for later use |
typedef void udi_fs_blockread_open_nak_op_t ( udi_fs_blockread_filename_cb_t * cb, udi_status_t handle )
function pointer prototype for file opening failure
cb | A pointer to a udi_fs_blockread_filename_cb_t |
handle | a reference for the file for later use |
Contains a cb used for file closing
Variables | |
gcb | The main control block |
handle | the file handle |
Functions | |
udi_fs_blockread_close_req | function pointer prototype for closing a file |
udi_fs_blockread_close_ack | function pointer prototype for closing a file |
typedef void udi_fs_blockread_close_req_op_t ( udi_fs_blockread_close_cb_t * cb )
function pointer prototype for closing a file
cb | A pointer to a udi_fs_blockread_filename_cb_t |
typedef void udi_fs_blockread_close_ack_op_t ( udi_fs_blockread_close_cb_t * cb )
function pointer prototype for closing a file
cb | A pointer to a udi_fs_blockread_filename_cb_t |
Contains a cb used for file closing
Variables | |
gcb | The main control block |
handle | the file handle |
buf | the buffer to place mappings in |
off_lo | offset into the file to map |
len_lo | length of the data to map |
Functions | |
udi_fs_blockread_map_req | function pointer prototype for closing a file |
udi_fs_blockread_map_ack | function pointer prototype for closing a file |
udi_fs_blockread_map_nak | function pointer prototype for closing a file |
typedef void udi_fs_blockread_map_req_op_t ( udi_fs_blockread_map_cb_t * cb )
function pointer prototype for closing a file
cb | A pointer to a udi_fs_blockread_map_cb_t |
typedef void udi_fs_blockread_map_ack_op_t ( udi_fs_blockread_map_cb_t * cb )
function pointer prototype for closing a file
cb | A pointer to a udi_fs_blockread_map_cb_t |
typedef void udi_fs_blockread_map_nak_op_t ( udi_fs_blockread_map_cb_t * cb, udi_status_t status )
function pointer prototype for closing a file
cb | A pointer to a udi_fs_blockread_map_cb_t |
status | cause of the failure |
The mapped filesystem mapped read metalanguage entry points (client side)
udi_fs_blockrw | This metalanguage supports adding, modifying and reading files by name, returing blocklists corresponding to the locations on disk. |
This metalanguage supports adding, modifying and reading files by name, returing blocklists corresponding to the locations on disk.
Contains a mostly empty control block to initialize the read-write functionality
Variables | |
gcb | The main control block |
Functions | |
udi_fs_blockrw_bind_req | function pointer prototype for connecting to a block device |
udi_fs_blockrw_bind_ack | function pointer prototype for acknowledging a connection request |
typedef void udi_fs_blockrw_bind_req_op_t ( udi_fs_blockrw_bind_cb_t * cb )
function pointer prototype for connecting to a block device
cb | A pointer to a udi_fs_blockrw_bind_cb_t |
typedef void udi_fs_blockrw_bind_ack_op_t ( udi_fs_blockrw_bind_cb_t * cb, udi_ubit32_t access, udi_status_t status )
function pointer prototype for acknowledging a connection request
cb | A pointer to a udi_fs_blockrw_bind_cb_t |
access | A series of UDI_FS_MOUNT_* flags indicating the operations possible. |
status | A status value, usually to indicate if a filesystem was correctly mounted. |
The main control block
udi_cb_t gcb
function pointer prototype for connecting to a block device
typedef void udi_fs_blockread_bind_req_op_t ( udi_fs_blockread_bind_cb_t * cb )
function pointer prototype for acknowledging a connection request
typedef void udi_fs_blockread_bind_ack_op_t ( udi_fs_blockread_bind_cb_t * cb, udi_status_t status )
function pointer prototype for disconnecting a filesystem driver
typedef void udi_fs_blockread_unbind_req_op_t ( udi_fs_blockread_bind_cb_t * cb )
function pointer prototype for disconnecting to a filesystem driver
typedef void udi_fs_blockread_unbind_ack_op_t ( udi_fs_blockread_bind_cb_t * cb )
The main control block
udi_cb_t gcb
buffer holding the filename
udi_buf_t * buf
function pointer prototype for requesting file presence and size
typedef void udi_fs_blockread_stat_req_op_t ( udi_fs_blockread_filename_cb_t * cb )
function pointer prototype for requesting file presence and size
typedef void udi_fs_blockread_stat_ack_op_t ( udi_fs_blockread_filename_cb_t * cb, udi_ubit32_t size_lo, udi_ubit32_t size_hi )
function pointer prototype for returning a read error
typedef void udi_fs_blockread_stat_nak_op_t ( udi_fs_blockread_filename_cb_t * cb, udi_status_t status )
function pointer prototype for opening a file
typedef void udi_fs_blockread_open_req_op_t ( udi_fs_blockread_filename_cb_t * cb )
function pointer prototype for returning success on opening a file
typedef void udi_fs_blockread_open_ack_op_t ( udi_fs_blockread_filename_cb_t * cb, udi_index_t handle )
function pointer prototype for file opening failure
typedef void udi_fs_blockread_open_nak_op_t ( udi_fs_blockread_filename_cb_t * cb, udi_status_t handle )
The main control block
udi_cb_t gcb
the file handle
udi_index_t handle
function pointer prototype for closing a file
typedef void udi_fs_blockread_close_req_op_t ( udi_fs_blockread_close_cb_t * cb )
function pointer prototype for closing a file
typedef void udi_fs_blockread_close_ack_op_t ( udi_fs_blockread_close_cb_t * cb )
The main control block
udi_cb_t gcb
the file handle
udi_index_t handle
the buffer to place mappings in
udi_buf_t * buf
offset into the file to map
udi_ubit32_t off_lo
length of the data to map
udi_ubit32_t len_lo
function pointer prototype for closing a file
typedef void udi_fs_blockread_map_req_op_t ( udi_fs_blockread_map_cb_t * cb )
function pointer prototype for closing a file
typedef void udi_fs_blockread_map_ack_op_t ( udi_fs_blockread_map_cb_t * cb )
function pointer prototype for closing a file
typedef void udi_fs_blockread_map_nak_op_t ( udi_fs_blockread_map_cb_t * cb, udi_status_t status )
The main control block
udi_cb_t gcb
function pointer prototype for connecting to a block device
typedef void udi_fs_blockrw_bind_req_op_t ( udi_fs_blockrw_bind_cb_t * cb )
function pointer prototype for acknowledging a connection request
typedef void udi_fs_blockrw_bind_ack_op_t ( udi_fs_blockrw_bind_cb_t * cb, udi_ubit32_t access, udi_status_t status )