Section 3udi -- UDI Programming

UDI_ATTR32_SET, UDI_ATTR32_GET, UDI_ATTR32_INIT
Instance attribute encoding/decoding utilities
UDI_BASE_STRUCT
Find base of structure from pointer to member
UDI_BFMASK, UDI_BFGET, UDI_BFSET
Bit-field helper macros
UDI_BUF_ALLOC
Allocate and initialize a new buffer
UDI_BUF_DELETE
Delete bytes from a logical buffer
UDI_BUF_DUP
Copy a logical buffer in its entirety
UDI_BUF_INSERT
Insert bytes into a logical buffer
UDI_DEQUEUE_XXX, UDI_QUEUE_REMOVE
Remove an element from a queue
UDI_ENDIAN_SWAP_16, UDI_ENDIAN_SWAP_32
Byte-swap 16 or 32-bit integers
UDI_ENDIAN_SWAP_ARRAY
Byte-swap each element in an array
UDI_ENQUEUE_XXX, UDI_QUEUE_INSERT_XXX
Insert an element into a queue
UDI_FIRST_ELEMENT, UDI_LAST_ELEMENT, UDI_NEXT_ELEMENT, UDI_PREV_ELEMENT
Get first/last/next/previous element in queue
UDI_GCB
Convert any control block to generic udi_cb_t
UDI_HANDLE_ID
Get identification value for specified handle
UDI_HANDLE_IS_NULL
Determine whether a handle value is null
UDI_INSTANCE_ATTR_DELETE
Driver instance attribute delete macro
UDI_MBGET, UDI_MBGET_2, UDI_MBGET_3, UDI_MBGET_4
Multi-byte extract helper macros
UDI_MBSET, UDI_MBSET_2, UDI_MBSET_3, UDI_MBSET_4
Multi-byte deposit helper macros
UDI_MCB
Convert a generic control block to a specific one
UDI_MEI_STUBS
Metalanguage stub generator macro
UDI_PIO_REP_ARGS
Parameters for repeated PIO transactions
UDI_QUEUE_FOREACH
Safe mechanism to walk a queue
UDI_QUEUE_INIT, UDI_QUEUE_EMPTY
Initialize queue; check if it's empty
UDI_VA_ARG
Varargs macro for UDI data types
udi_assert
Perform driver internal consistency check
udi_buf_best_path
Select best path(s) for a data buffer
udi_buf_copy
Copy data from one logical buffer to another
udi_buf_free
Free a logical buffer
udi_buf_path_alloc
Buffer path handle allocation
udi_buf_path_free
Buffer path handle deallocation
udi_buf_path_t
Buffer path routing handle
udi_buf_read
Read data bytes from a logical buffer
udi_buf_t
Logical buffer type
udi_buf_tag_apply
Apply modifications to tagged buffer data
udi_buf_tag_compute
Compute values from tagged buffer data
udi_buf_tag_get
Gets one or more tags from a buffer
udi_buf_tag_set
Sets a tag for a portion of buffer data
udi_buf_tag_t
Buffer tag structure
udi_buf_write
Write data bytes into a logical buffer
udi_bus_bind_ack
Acknowledge a bus bridge binding
udi_bus_bind_cb_t
Control block for bus bridge binding operations
udi_bus_bind_req
Request a binding to a bridge driver
udi_bus_bridge_ops_t
Bridge driver entry point ops vector
udi_bus_device_ops_t
Device driver entry point ops vector
udi_bus_unbind_ack
Acknowledge a bus bridge unbinding
udi_bus_unbind_req
Request a bridge driver unbinding (child to bridge)
udi_busaddr64_t
64-bit bus address data type
udi_cancel
Cancel a pending asynchronous service call
udi_cb_alloc
Allocate a new control block
udi_cb_alloc_batch
Allocate a batch of control blocks with buffers
udi_cb_alloc_dynamic
Allocate a control block with variable inline layout
udi_cb_free
Deallocates a previously obtained control block
udi_cb_init_t
Control block initialization structure
udi_cb_select_t
Control block selections for incoming channel ops
udi_cb_t
Generic, least-common-denominator control block
udi_chan_context_t
Initial context for bind channels
udi_channel_anchor
Anchor a channel to the current region
udi_channel_close
Close a channel
udi_channel_event_cb_t
Channel event control block
udi_channel_event_complete
Complete a channel event (driver-to-env)
udi_channel_event_ind
Channel event notification (env-to-driver)
udi_channel_op_abort
Abort a previously issued channel operation
udi_channel_set_context
Attach a new context to a channel endpoint
udi_channel_spawn
Spawn a new channel
udi_channel_t
UDI inter-module communications handle
udi_child_chan_context_t
Initial channel context for child-bind channels
udi_debug_break
Request a debug breakpoint at the current location
udi_debug_printf
Output a debugging message
udi_dequeue
Dequeue a queue element
udi_devmgmt_ack
Acknowledge a device management request
udi_devmgmt_req
Device Management request
udi_dma_buf_map
Map a buffer for DMA
udi_dma_buf_unmap
Release a buffer's DMA mapping
udi_dma_constraints_attr_reset
Reset a constraints attribute to default
udi_dma_constraints_attr_set
Set constraints attributes
udi_dma_constraints_attr_spec_t
Specify attribute/value pair
udi_dma_constraints_attr_t
DMA constraints attributes
udi_dma_constraints_free
Free a constraints object
udi_dma_constraints_t
UDI DMA constraints handle
udi_dma_free
Free DMA resources
udi_dma_handle_t
DMA handle type
udi_dma_limits
Platform-specific allocation and access limits
udi_dma_mem_alloc
Allocate shared control structure memory
udi_dma_mem_barrier
Ordering barrier for accesses to DMA-able memory
udi_dma_mem_to_buf
Convert DMA-mapped control memory into a buffer
udi_dma_prepare
Prepare for DMA mapping
udi_dma_scgth_sync
Sync host & device views of scatter/gather list
udi_dma_sync
Sync host & device views of DMA-able memory
udi_endian_swap
Byte-swap multiple data items
udi_enqueue
Insert a queue element into a queue
udi_enumerate_ack
Provide child instance information
udi_enumerate_cb_t
Enumeration operation control block
udi_enumerate_req
Request information regarding a child instance
udi_filter_element_t
Enumeration filter element structure
udi_final_cleanup_ack
Acknowledge completion of a final cleanup request
udi_final_cleanup_req
Release final resources prior to instance unload
udi_gcb_init_t
Generic control block initialization properties
udi_gio_bind_ack
Acknowledge a GIO binding
udi_gio_bind_cb_t
Control block for GIO binding operations
udi_gio_bind_req
Request a binding to a GIO provider
udi_gio_client_ops_t
Client entry point ops vector
udi_gio_diag_params_t
Parameters for standard GIO diagnostic ops
udi_gio_event_cb_t
Control block for GIO event operations
udi_gio_event_ind
GIO event indication
udi_gio_event_res
GIO event response
udi_gio_op_t
GIO operation type
udi_gio_op_t_diag
Diagnostics control operations
udi_gio_provider_ops_t
Provider entry point ops vector
udi_gio_rw_params_t
Parameters for standard GIO read/write ops
udi_gio_unbind_ack
Acknowledge a GIO unbind request
udi_gio_unbind_req
Request to unbind from a GIO provider
udi_gio_xfer_ack
Acknowledge a GIO transfer request
udi_gio_xfer_cb_t
Control block for GIO transfer operations
udi_gio_xfer_nak
Abnormal completion of a GIO transfer request
udi_gio_xfer_req
Request a Generic I/O transfer
udi_init_context_t
Initial context for new regions
udi_init_info
Module initialization structure
udi_instance_attr_get
Read an attribute value for a driver instance
udi_instance_attr_list_t
Enumeration instance attribute list
udi_instance_attr_set
Set a driver instance attribute value
udi_instance_attr_type_t
Instance attribute data-type type
udi_intr_attach_ack
Acknowledge an interrupt attachment
udi_intr_attach_cb_t
Control block for interrupt registration operations
udi_intr_attach_req
Request an interrupt attachment
udi_intr_detach_ack
Acknowledge an interrupt detachment
udi_intr_detach_cb_t
Control block for interrupt detachment operations
udi_intr_detach_req
Request an interrupt detachment
udi_intr_dispatcher_ops_t
Interrupt dispatcher ops vector
udi_intr_event_cb_t
Control block for interrupt event ops
udi_intr_event_ind
Interrupt event indication
udi_intr_event_rdy
Acknowledge an interrupt event
udi_intr_handler_ops_t
Interrupt handler ops vector
udi_layout_t
Data layout specifier
udi_layout_t_DMA
Data layout specifier for DMA
udi_layout_t_PIO
Data layout specifier for PIO
udi_limits_t
Platform-specific allocation and access limits
udi_log_write
Record log data
udi_mei_backend_stub_t
Metalanguage back-end stub type
udi_mei_call
Channel operation invocation
udi_mei_direct_stub_t
Metalanguage direct-call stub type
udi_mei_driver_error
Metalanguage violation by the driver
udi_mei_enumeration_rank_func_t
Metalanguage library device enumeration ranking
udi_mei_op_template_t
Metalanguage channel op template
udi_mei_ops_vec_template_t
Metalanguage ops vector template
udi_mem_alloc
Allocate memory for a virtually-contiguous object
udi_mem_free
Free a memory object
udi_memset
Memory initialization
udi_meta_info
Metalanguage initialization structure
udi_mgmt_cb_t
Common Management Control Block
udi_mgmt_ops_t
Management Meta channel ops vector
udi_nd_bind_req
Network driver bind request
udi_nd_ctrl_ops_t
ND control entry point ops vector
udi_nd_ctrl_req
Network control operation request
udi_nd_disable_req
Network link disable request operation
udi_nd_enable_req
Network link enable request
udi_nd_exp_tx_req
Expedited data transmit request
udi_nd_info_req
Network information request
udi_nd_rx_ops_t
ND receive entry point ops vector
udi_nd_rx_rdy
Network receive packet response
udi_nd_tx_ops_t
ND transmit entry point ops vector
udi_nd_tx_req
Network send packet
udi_nd_unbind_req
Network unbind request
udi_nic_bind_cb_t
Network bind control block
udi_nic_cb_t
Standard network control block
udi_nic_ctrl_cb_t
Network control operation control block
udi_nic_info_cb_t
Network information control block
udi_nic_rx_cb_t
Network receive control block
udi_nic_status_cb_t
Status indication control block
udi_nic_tx_cb_t
Network transmit control block
udi_nsr_bind_ack
Network bind acknowledgment
udi_nsr_ctrl_ack
Network control acknowledgment
udi_nsr_ctrl_ops_t
NSR control entry point ops vector
udi_nsr_enable_ack
Network link enable acknowledgment
udi_nsr_exp_rx_ind
Network receive packet indication
udi_nsr_info_ack
Network information response
udi_nsr_rx_ind
Network receive packet indication
udi_nsr_rx_ops_t
NSR receive entry point ops vector
udi_nsr_status_ind
Network status indication
udi_nsr_tx_ops_t
NSR transmit entry point ops vector
udi_nsr_tx_rdy
Network driver ready to transmit packet
udi_nsr_unbind_ack
Network unbind acknowledgment
udi_ops_init_t
Ops vector initialization structure
udi_origin_t
Request origination handle
udi_pio_abort_sequence
Register a PIO abort sequence
udi_pio_atomic_sizes
Retrieve supported PIO operation atomicity
udi_pio_handle_t
PIO handle type
udi_pio_map
Map device memory/registers for access
udi_pio_probe
Probe a PIO device that might not be present
udi_pio_trans
Generate PIO transactions
udi_pio_trans_t
PIO transaction descriptor
udi_pio_unmap
Unmap a PIO handle and free associated resources
udi_primary_init_t
Primary region initialization structure
udi_queue_t
Queue element structure
udi_scgth_t
I/O Bus scatter/gather structure
udi_scsi_bind_ack
Acknowledge a SCSI bind request (HD-to-PD)
udi_scsi_bind_cb_t
Control block for SCSI bind operations
udi_scsi_bind_req
Request a SCSI binding (PD-to-HD)
udi_scsi_ctl_ack
Ack completion of SCSI control request (HD-to-PD)
udi_scsi_ctl_cb_t
Control block for SCSI control operations
udi_scsi_ctl_req
Request a SCSI control operation (PD-to-HD)
udi_scsi_event_cb_t
Control block for SCSI event operations
udi_scsi_event_ind
SCSI event notification (HD-to-PD)
udi_scsi_event_res
Acknowledge a SCSI event (PD-to-HD)
udi_scsi_hd_ops_t
SCSI HBA Driver entry point ops vector
udi_scsi_inquiry_to_string
Encode SCSI INQUIRY data as a string
udi_scsi_io_ack
Acknowledge normal completion of SCSI I/O request
udi_scsi_io_cb_t
Control block for SCSI I/O operations
udi_scsi_io_nak
Indicate abnormal completion of SCSI I/O request
udi_scsi_io_req
Request a SCSI I/O operation (PD-to-HD)
udi_scsi_pd_ops_t
SCSI Peripheral Driver entry point ops vector
udi_scsi_status_t
Status structure in SCSI I/O Acknowledgement
udi_scsi_unbind_ack
Acknowledge a SCSI unbind (HD-to-PD)
udi_scsi_unbind_req
Request a SCSI unbind (PD-to-HD)
udi_secondary_init_t
Secondary region initialization structure
udi_snprintf
Format printable string
udi_status_t
UDI status code
udi_strcat, udi_strncat
String concatenation
udi_strchr, udi_strrchr, udi_memchr
String/memory searching
udi_strcmp, udi_strncmp, udi_memcmp
String/memory comparison
udi_strcpy, udi_strncpy, udi_memcpy, udi_memmove
String/memory copy
udi_strlen
Determine string length
udi_strncpy_rtrim
Copy char array to string, removing trailing spaces
udi_strtou32
Convert string to unsigned 32-bit value
udi_tagtype_t
Buffer tag type
udi_time_between
Return time interval between two points
udi_time_current
Return indication of the current relative time
udi_time_since
Return time interval since a starting point
udi_time_t
Time value structure
udi_timer_cancel
Cancel a pending timer
udi_timer_start
Start a callback timer
udi_timer_start_repeating
Start a repeating timer
udi_trace_write
Record trace data
udi_trevent_t
Trace event type definition
udi_usage_cb_t
Resource indication and trace level control block
udi_usage_ind
Indicate desired resource usage and trace levels
udi_usage_res
Resource usage and trace level response operation
udi_vsnprintf
Format printable string with varargs
udi_xfer_constraints_t
Transfer constraints structure
© 2002 Caldera International, Inc. All rights reserved.