udi_block.h

Contains the block device metalanguage interface details

Author

Marcel Sondaar

License

Public Domain

Summary
udi_block.hContains the block device metalanguage interface details
Types
udi_block_op_tan enumeration for reading or writing operations
udi_block_bind_cb_tContains the operations of a read/write transaction
Variables
gcbThe main control block
Functions
udi_block_bind_reqfunction pointer prototype for connecting to a block device
udi_block_bind_ackfunction pointer prototype for acknowledging a connection request
udi_block_unbind_reqfunction pointer prototype for disconnecting a block device
udi_block_unbind_ackfunction pointer prototype for connecting to a block device
udi_block_xfer_cb_tContains the operations of a read/write transaction
Variables
gcbThe main control block
opThe operation to perform
startthe starting block
countthe number of blocks to read
data_bufThe buffer to pass data in
udi_blockmap_xfer_cb_tContains the operations of a read/write transaction on a mapped block device
Variables
gcbThe main control block
opThe operation to perform
startthe starting block
countthe number of blocks to read
mapthe mapping to use
data_bufThe buffer to pass data in
Functions
udi_block_xfer_reqfunction pointer prototype for the block transfer request
udi_block_xfer_ackfunction pointer prototype for the block transfer success reply
udi_block_xfer_nakfunction pointer prototype for the block transfer fail reply
udi_blockmap_xfer_reqfunction pointer prototype for the block transfer request
udi_blockmap_xfer_ackfunction pointer prototype for the block transfer success reply
udi_blockmap_xfer_nakfunction pointer prototype for the block transfer fail reply
udi_blockmap_map_cb_tContains the requests of a mapping modification call
Variables
gcbThe main control block
Functions
udi_blockmap_map_reqfunction pointer prototype for the block transfer fail reply
udi_blockmap_map_ackfunction pointer prototype for the block transfer fail reply
udi_blockmap_map_ackfunction pointer prototype for the block transfer fail reply
udi_blockmap_mgmt_cb_tContains the requests of a mapping management calls
Variables
gcbThe main control block
mapthe map index in question
Functions
udi_blockmap_new_reqCreate a new mapping
udi_blockmap_new_ackConfirm a new mapping
udi_blockmap_del_reqCreate a new mapping
udi_blockmap_del_ackConfirm a new mapping
udi_blockmap_map_cb_tContains the requests of a map information demand call
Variables
gcbThe main control block
Functions
udi_blockmap_demand_reqfunction pointer prototype for mapping driver reqesting a fill-in
udi_blockmap_demand_ackfunction pointer prototype for the fill-in complete message
udi_block_provider_ops_tThe block metalanguage entry points (provider side)
udi_block_ops_tThe block metalanguage entry points (client side)
udi_blockmap_provider_ops_tThe mapped block metalanguage entry points (provider side)
udi_blockmap_ops_tThe mapped block device metalanguage entry points (client side)

Types

udi_block_op_t

an enumeration for reading or writing operations

udi_block_bind_cb_t

Contains the operations of a read/write transaction

Summary
Variables
gcbThe main control block
Functions
udi_block_bind_reqfunction pointer prototype for connecting to a block device
udi_block_bind_ackfunction pointer prototype for acknowledging a connection request
udi_block_unbind_reqfunction pointer prototype for disconnecting a block device
udi_block_unbind_ackfunction pointer prototype for connecting to a block device

Variables

gcb

udi_cb_t gcb

The main control block

Functions

udi_block_bind_req

typedef void udi_block_bind_req_op_t (udi_block_bind_cb_t *cb)

function pointer prototype for connecting to a block device

in

cbA pointer to a udi_block_bind_cb_t

udi_block_bind_ack

typedef void udi_block_bind_ack_op_t (udi_block_bind_cb_t *cb,
udi_ubit32_t block_count_lo,
udi_ubit32_t block_count_hi,
udi_ubit32_t block_size,
udi_status_t status)

function pointer prototype for acknowledging a connection request

in

cbA pointer to a udi_block_bind_cb_t

udi_block_unbind_req

typedef void udi_block_unbind_req_op_t (udi_block_bind_cb_t *cb)

function pointer prototype for disconnecting a block device

in

cbA pointer to a udi_block_bind_cb_t

udi_block_unbind_ack

typedef void udi_block_unbind_ack_op_t (udi_block_bind_cb_t *cb)

function pointer prototype for connecting to a block device

in

cbA pointer to a udi_block_bind_cb_t

udi_block_xfer_cb_t

Contains the operations of a read/write transaction

Summary
Variables
gcbThe main control block
opThe operation to perform
startthe starting block
countthe number of blocks to read
data_bufThe buffer to pass data in

Variables

gcb

udi_cb_t gcb

The main control block

op

udi_block_op_t op

The operation to perform

start

udi_size_t start

the starting block

count

udi_size_t count

the number of blocks to read

data_buf

udi_buf_t *data_buf

The buffer to pass data in

udi_blockmap_xfer_cb_t

Contains the operations of a read/write transaction on a mapped block device

Summary
Variables
gcbThe main control block
opThe operation to perform
startthe starting block
countthe number of blocks to read
mapthe mapping to use
data_bufThe buffer to pass data in
Functions
udi_block_xfer_reqfunction pointer prototype for the block transfer request
udi_block_xfer_ackfunction pointer prototype for the block transfer success reply
udi_block_xfer_nakfunction pointer prototype for the block transfer fail reply
udi_blockmap_xfer_reqfunction pointer prototype for the block transfer request
udi_blockmap_xfer_ackfunction pointer prototype for the block transfer success reply
udi_blockmap_xfer_nakfunction pointer prototype for the block transfer fail reply

Variables

gcb

udi_cb_t gcb

The main control block

op

udi_block_op_t op

The operation to perform

start

udi_size_t start

the starting block

count

udi_size_t count

the number of blocks to read

map

udi_size_t map

the mapping to use

data_buf

udi_buf_t *data_buf

The buffer to pass data in

Functions

udi_block_xfer_req

typedef void udi_block_xfer_req_op_t (udi_block_xfer_cb_t *cb)

function pointer prototype for the block transfer request

in

cbA pointer to a udi_block_xfer_cb_t with the arguments of the call

udi_block_xfer_ack

typedef void udi_block_xfer_ack_op_t (udi_block_xfer_cb_t *cb)

function pointer prototype for the block transfer success reply

in

cbA pointer to a udi_block_xfer_cb_t with the arguments of the call

udi_block_xfer_nak

typedef void udi_block_xfer_nak_op_t (udi_block_xfer_cb_t *cb,
udi_status_t status)

function pointer prototype for the block transfer fail reply

in

cbA pointer to a udi_block_xfer_cb_t with the arguments of the call
statusthe error message

udi_blockmap_xfer_req

typedef void udi_blockmap_xfer_req_op_t (udi_blockmap_xfer_cb_t *cb)

function pointer prototype for the block transfer request

in

cbA pointer to a udi_blockmap_xfer_cb_t with the arguments of the call

udi_blockmap_xfer_ack

typedef void udi_blockmap_xfer_ack_op_t (udi_blockmap_xfer_cb_t *cb)

function pointer prototype for the block transfer success reply

in

cbA pointer to a udi_blockmap_xfer_cb_t with the arguments of the call

udi_blockmap_xfer_nak

typedef void udi_blockmap_xfer_nak_op_t (udi_blockmap_xfer_cb_t *cb,
udi_status_t status)

function pointer prototype for the block transfer fail reply

in

cbA pointer to a udi_blockmap_xfer_cb_t with the arguments of the call
statusthe error message

udi_blockmap_map_cb_t

Contains the requests of a mapping modification call

Summary
Variables
gcbThe main control block
Functions
udi_blockmap_map_reqfunction pointer prototype for the block transfer fail reply
udi_blockmap_map_ackfunction pointer prototype for the block transfer fail reply
udi_blockmap_map_ackfunction pointer prototype for the block transfer fail reply

Variables

gcb

udi_cb_t gcb

The main control block

Functions

udi_blockmap_map_req

typedef void udi_blockmap_map_req_op_t (udi_blockmap_map_cb_t *cb)

function pointer prototype for the block transfer fail reply

in

cbA pointer to a udi_blockmap_map_cb_t with the arguments of the call
statusthe error message

udi_blockmap_map_ack

typedef void udi_blockmap_map_ack_op_t (udi_blockmap_map_cb_t *cb)

function pointer prototype for the block transfer fail reply

in

cbA pointer to a udi_blockmap_map_cb_t with the arguments of the call
statusthe error message

udi_blockmap_map_ack

function pointer prototype for the block transfer fail reply

in

cbA pointer to a udi_blockmap_map_cb_t with the arguments of the call
statusthe error message

udi_blockmap_mgmt_cb_t

Contains the requests of a mapping management calls

Summary
Variables
gcbThe main control block
mapthe map index in question
Functions
udi_blockmap_new_reqCreate a new mapping
udi_blockmap_new_ackConfirm a new mapping
udi_blockmap_del_reqCreate a new mapping
udi_blockmap_del_ackConfirm a new mapping

Variables

gcb

udi_cb_t gcb

The main control block

map

udi_ubit32_t map

the map index in question

Functions

udi_blockmap_new_req

typedef void udi_blockmap_new_req_op_t (udi_blockmap_mgmt_cb_t *cb)

Create a new mapping

in

cbA pointer to a udi_blockmap_mgmt_cb_t with the arguments of the call
statusthe error message

udi_blockmap_new_ack

typedef void udi_blockmap_new_ack_op_t (udi_blockmap_mgmt_cb_t *cb)

Confirm a new mapping

in

cbA pointer to a udi_blockmap_mgmt_cb_t with the arguments of the call
statusthe error message

udi_blockmap_del_req

typedef void udi_blockmap_del_req_op_t (udi_blockmap_mgmt_cb_t *cb)

Create a new mapping

in

cbA pointer to a udi_blockmap_mgmt_cb_t with the arguments of the call
statusthe error message

udi_blockmap_del_ack

typedef void udi_blockmap_del_ack_op_t (udi_blockmap_mgmt_cb_t *cb)

Confirm a new mapping

in

cbA pointer to a udi_blockmap_mgmt_cb_t with the arguments of the call
statusthe error message

udi_blockmap_map_cb_t

Contains the requests of a map information demand call

Summary
Variables
gcbThe main control block
Functions
udi_blockmap_demand_reqfunction pointer prototype for mapping driver reqesting a fill-in
udi_blockmap_demand_ackfunction pointer prototype for the fill-in complete message

Variables

gcb

udi_cb_t gcb

The main control block

Functions

udi_blockmap_demand_req

function pointer prototype for mapping driver reqesting a fill-in

in

cbA pointer to a <udi_blockmap_demand_cb_t> with the arguments of the call

udi_blockmap_demand_ack

typedef void udi_blockmap_demand_ack_op_t (udi_blockmap_demand_cb_t *cb)

function pointer prototype for the fill-in complete message

in

cbA pointer to a <udi_blockmap_demand_cb_t> with the arguments of the call
statusthe error message

udi_block_provider_ops_t

The block metalanguage entry points (provider side)

udi_block_ops_t

The block metalanguage entry points (client side)

udi_blockmap_provider_ops_t

The mapped block metalanguage entry points (provider side)

udi_blockmap_ops_t

The mapped block device metalanguage entry points (client side)

udi_cb_t gcb
The main control block
typedef void udi_block_bind_req_op_t (udi_block_bind_cb_t *cb)
function pointer prototype for connecting to a block device
typedef void udi_block_bind_ack_op_t (udi_block_bind_cb_t *cb,
udi_ubit32_t block_count_lo,
udi_ubit32_t block_count_hi,
udi_ubit32_t block_size,
udi_status_t status)
function pointer prototype for acknowledging a connection request
typedef void udi_block_unbind_req_op_t (udi_block_bind_cb_t *cb)
function pointer prototype for disconnecting a block device
typedef void udi_block_unbind_ack_op_t (udi_block_bind_cb_t *cb)
function pointer prototype for connecting to a block device
udi_cb_t gcb
The main control block
udi_block_op_t op
The operation to perform
udi_size_t start
the starting block
udi_size_t count
the number of blocks to read
udi_buf_t *data_buf
The buffer to pass data in
udi_cb_t gcb
The main control block
udi_block_op_t op
The operation to perform
udi_size_t start
the starting block
udi_size_t count
the number of blocks to read
udi_size_t map
the mapping to use
udi_buf_t *data_buf
The buffer to pass data in
typedef void udi_block_xfer_req_op_t (udi_block_xfer_cb_t *cb)
function pointer prototype for the block transfer request
typedef void udi_block_xfer_ack_op_t (udi_block_xfer_cb_t *cb)
function pointer prototype for the block transfer success reply
typedef void udi_block_xfer_nak_op_t (udi_block_xfer_cb_t *cb,
udi_status_t status)
function pointer prototype for the block transfer fail reply
typedef void udi_blockmap_xfer_req_op_t (udi_blockmap_xfer_cb_t *cb)
function pointer prototype for the block transfer request
typedef void udi_blockmap_xfer_ack_op_t (udi_blockmap_xfer_cb_t *cb)
function pointer prototype for the block transfer success reply
typedef void udi_blockmap_xfer_nak_op_t (udi_blockmap_xfer_cb_t *cb,
udi_status_t status)
function pointer prototype for the block transfer fail reply
udi_cb_t gcb
The main control block
typedef void udi_blockmap_map_req_op_t (udi_blockmap_map_cb_t *cb)
function pointer prototype for the block transfer fail reply
typedef void udi_blockmap_map_ack_op_t (udi_blockmap_map_cb_t *cb)
function pointer prototype for the block transfer fail reply
udi_cb_t gcb
The main control block
udi_ubit32_t map
the map index in question
typedef void udi_blockmap_new_req_op_t (udi_blockmap_mgmt_cb_t *cb)
Create a new mapping
typedef void udi_blockmap_new_ack_op_t (udi_blockmap_mgmt_cb_t *cb)
Confirm a new mapping
typedef void udi_blockmap_del_req_op_t (udi_blockmap_mgmt_cb_t *cb)
Create a new mapping
typedef void udi_blockmap_del_ack_op_t (udi_blockmap_mgmt_cb_t *cb)
Confirm a new mapping
typedef void udi_blockmap_demand_ack_op_t (udi_blockmap_demand_cb_t *cb)
function pointer prototype for the fill-in complete message
Contains the operations of a read/write transaction
Contains the operations of a read/write transaction
Contains the operations of a read/write transaction on a mapped block device
Contains the requests of a mapping modification call
Contains the requests of a mapping management calls