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 )