This appendix discusses the interfaces provided by the Oracle Solaris DDI/DKI. These descriptions should not be considered complete or definitive, nor do they provide a thorough guide to usage. The descriptions are intended to describe what the functions do in general terms. See physio(9F) for more detailed information. The categories are:
The module functions are:
Query a loadable module
Add a loadable module
Remove a loadable module
The device information tree node functions are:
Return driver binding name
Tell whether a device is self-identifying
Return driver major device number
Return normalized driver name
Return the devinfo node name
Check device state
Get device instance number
Return driver binding name
Find the parent of a device information structure
Get the root of the dev_info tree
The device functions are:
Create a minor node for a device
Get kernel internal minor number from an external dev_t
Remove a minor mode for a device
Get major device number
Get minor device number
Make device number from major and minor numbers
The property functions are:
Check for the existence of a property
Free resources consumed by property lookup
Look up integer property
Look up 64-bit integer property
Look up byte array property
Look up integer array property
Look up 64-bit integer array property
Look up string property
Look up string array property
Remove a property of a device
Remove all properties of a device
Hide a property of a device
Create or update byte array property
Create or update integer property
Create or update 64-bit integer property
Create or update integer array property
Create or update 64-bit integer array property
Create or update string property
Create or update string array property
Deprecated Functions |
Replacements |
---|---|
ddi_getlongprop() |
see ddi_prop_lookup() |
ddi_getlongprop_buf() |
ddi_prop_lookup() |
ddi_getprop() |
ddi_prop_get_int() |
ddi_getproplen() |
ddi_prop_lookup() |
ddi_prop_create() |
ddi_prop_lookup() |
ddi_prop_modify() |
ddi_prop_lookup() |
ddi_prop_op() |
ddi_prop_lookup() |
The device software state functions are:
Get the address of the device's private data area
Get pointer to instance soft-state structure
Set the address of the device's private data area
Destroy driver soft-state structure
Free instance soft-state structure
Initialize driver soft-state structure
Allocate instance soft-state structure
The memory allocation and deallocation functions are:
Allocate kernel memory
Free kernel memory
Allocate zero-filled kernel memory
The following functions allocate and free memory intended to be used for DMA. See Direct Memory Access (DMA) Functions.
Allocate memory for DMA transfer
Free previously allocated DMA memory
The following functions allocate and free memory intended to be exported to user space. See User Space Access Functions.
Allocate page-aligned kernel memory
Free page-aligned kernel memory
Deprecated Function |
Replacement |
---|---|
ddi_iopb_alloc() |
ddi_dma_mem_alloc() |
ddi_iopb_free() |
ddi_dma_mem_free() |
ddi_mem_alloc() |
ddi_dma_mem_alloc() |
ddi_mem_free() |
ddi_dma_mem_free() |
The kernel thread control and synchronization functions are:
Wake up all waiting threads
Free an allocated condition variable
Allocate a condition variable
Wake up one waiting thread
Await an event with timeout
Await an event or signal with timeout
Await an event
Await an event or signal
Determine whether the current thread can receive a signal
Enter a critical region of control
Exit a critical region of control
Acquire mutual exclusion lock
Release mutual exclusion lock
Initialize mutual exclusion lock
Determine whether current thread is holding mutual exclusion lock
Attempt to acquire mutual exclusion lock without waiting
Downgrade a readers/writer lock holding from writer to reader
Acquire a readers/writer lock
Release a readers/writer lock
Initialize a readers/writer lock
Determine whether readers/writer lock is held for read or write
Attempt to acquire a readers/writer lock without waiting
Attempt to upgrade readers/writer lock holding from reader to writer
Destroy a semaphore
Initialize a semaphore
Decrement semaphore and possibly block
Decrement semaphore but do not block if signal is pending
Attempt to decrement semaphore but do not block
Increment semaphore and possibly unblock waiter
The task queue management functions are listed below. See the taskq(9F) man page for more information about these interfaces.
Create a task queue
Destroy a task queue
Add a task to a task queue
Wait for pending tasks to complete
Suspend a task queue
Check whether a task queue is suspended
Resume a suspended task queue
The interrupt functions are:
Adds an interrupt handler.
Adds a soft interrupt handler.
Allocates system resources and interrupt vectors for the specified type of interrupt.
Disables the specified range of interrupts. For MSI only.
Enables the specified range of interrupts. For MSI only.
Clears an interrupt mask if the specified interrupt is enabled.
Disables the specified interrupt.
Use with MSI-X only. Copies an address and data pair for an allocated interrupt vector to an unused interrupt vector on the same device.
Enables the specified interrupt.
Releases the system resources and interrupt vectors for a specified interrupt handle.
Returns interrupt capability flags for the specified interrupt.
Returns the minimum priority level for a high-level interrupt.
Returns the number of interrupts available for a particular hardware device and given interrupt type.
Get the number of interrupts that the device supports for the given interrupt type.
Read the interrupt pending bit if one is supported by either the host bridge or the device.
Returns the current software priority setting for the specified interrupt.
Returns the soft interrupt priority for the specified interrupt.
Returns the hardware interrupt types that are supported by both the device and the host.
Removes the specified interrupt handler.
Remove the specified soft interrupt handler.
Sets the DDI_INTR_FLAG_LEVEL or DDI_INTR_FLAG_EDGE flag for the specified interrupt.
Sets an interrupt mask if the specified interrupt is enabled.
Sets the interrupt priority level for the specified interrupt.
Changes the relative soft interrupt priority for the specified soft interrupt.
Trigger the specified soft interrupt.
To take advantage of the features of the new framework, use the above interfaces. Do not use the deprecated interfaces that are listed in the following table. These deprecated interfaces are retained for compatibility purposes only.
Table B–3 Deprecated Interrupt Functions
The programmed I/O functions are:
Return the number of register sets a device has
Return the size of a device's register
Set up a mapping for a register address space
Free a previously mapped register address space
Copy data from one device register to another device register
Zero fill the device
Check data access handle
Read 8-bit data from mapped memory, device register, or DMA memory
Read 16-bit data from mapped memory, device register, or DMA memory
Read 32-bit data from mapped memory, device register, or DMA memory
Read 64-bit data from mapped memory, device register, or DMA memory
Write 8-bit data to mapped memory, device register, or DMA memory
Write 16-bit data to mapped memory, device register, or DMA memory
Write 32-bit data to mapped memory, device register, or DMA memory
Write 64-bit data to mapped memory, device register, or DMA memory
Read multiple 8-bit data from mapped memory, device register, or DMA memory
Read multiple 16-bit data from mapped memory, device register, or DMA memory
Read multiple 32-bit data from mapped memory, device register, or DMA memory
Read multiple 64-bit data from mapped memory, device register, or DMA memory
Write multiple 8-bit data to mapped memory, device register, or DMA memory
Write multiple 16-bit data to mapped memory, device register, or DMA memory
Write multiple 32-bit data to mapped memory, device register, or DMA memory
Write multiple 64-bit data to mapped memory, device register, or DMA memory
Cautiously read an 8-bit value from a location
Cautiously read a 16-bit value from a location
Cautiously read a 32-bit value from a location
Cautiously read a 64-bit value from a location
Cautiously write an 8-bit value to a location
Cautiously write a 16-bit value to a location
Cautiously write a 32-bit value to a location
Cautiously write a 64-bit value to a location
The general programmed I/O functions listed above can always be used rather than the mem, io, and pci_config functions that follow. However, the following functions can be used as alternatives in cases where the type of access is known at compile time.
Read 8-bit data from a mapped device register in I/O space
Read 16-bit data from a mapped device register in I/O space
Read 32-bit data from a mapped device register in I/O space
Write 8-bit data to a mapped device register in I/O space
Write 16-bit data to a mapped device register in I/O space
Write 32-bit data to a mapped device register in I/O space
Read multiple 8-bit data from a mapped device register in I/O space
Read multiple 16-bit data from a mapped device register in I/O space
Read multiple 32-bit data from a mapped device register in I/O space
Write multiple 8-bit data to a mapped device register in I/O space
Write multiple 16-bit data to a mapped device register in I/O space
Write multiple 32-bit data to a mapped device register in I/O space
Read 8-bit data from a mapped device in memory space or DMA memory
Read 16-bit data from a mapped device in memory space or DMA memory
Read 32-bit data from a mapped device in memory space or DMA memory
Read 64-bit data from a mapped device in memory space or DMA memory
Write 8-bit data to a mapped device in memory space or DMA memory
Write 16-bit data to a mapped device in memory space or DMA memory
Write 32-bit data to a mapped device in memory space or DMA memory
Write 64-bit data to a mapped device in memory space or DMA memory
Read multiple 8-bit data from a mapped device in memory space or DMA memory
Read multiple 16-bit data from a mapped device in memory space or DMA memory
Read multiple 32-bit data from a mapped device in memory space or DMA memory
Read multiple 64-bit data from a mapped device in memory space or DMA memory
Write multiple 8-bit data to a mapped device in memory space or DMA memory
Write multiple 16-bit data to a mapped device in memory space or DMA memory
Write multiple 32-bit data to a mapped device in memory space or DMA memory
Write multiple 64-bit data to a mapped device in memory space or DMA memory
Set up access to PCI Local Bus Configuration space
Tear down access to PCI Local Bus Configuration space
Read 8-bit data from the PCI Local Bus Configuration space
Read 16-bit data from the PCI Local Bus Configuration space
Read 32-bit data from the PCI Local Bus Configuration space
Read 64-bit data from the PCI Local Bus Configuration space
Write 8-bit data to the PCI Local Bus Configuration space
Write 16-bit data to the PCI Local Bus Configuration space
Write 32-bit data to the PCI Local Bus Configuration space
Write 64-bit data to the PCI Local Bus Configuration space
Deprecated Function |
Replacement |
---|---|
ddi_getb() |
ddi_get8() |
ddi_getl() |
ddi_get32() |
ddi_getll() |
ddi_get64() |
ddi_getw() |
ddi_get16() |
ddi_io_getb() |
ddi_io_get8() |
ddi_io_getl() |
ddi_io_get32() |
ddi_io_getw() |
ddi_io_get16() |
ddi_io_putb() |
ddi_io_put8() |
ddi_io_putl() |
ddi_io_put32() |
ddi_io_putw() |
ddi_io_put16() |
ddi_io_rep_getb() |
ddi_io_rep_get8() |
ddi_io_rep_getl() |
ddi_io_rep_get32() |
ddi_io_rep_getw() |
ddi_io_rep_get16() |
ddi_io_rep_putb() |
ddi_io_rep_put8() |
ddi_io_rep_putl() |
ddi_io_rep_put32() |
ddi_io_rep_putw() |
ddi_io_rep_put16() |
ddi_map_regs() |
ddi_regs_map_setup() |
ddi_mem_getb() |
ddi_mem_get8() |
ddi_mem_getl() |
ddi_mem_get32() |
ddi_mem_getll() |
ddi_mem_get64() |
ddi_mem_getw() |
ddi_mem_get16() |
ddi_mem_putb() |
ddi_mem_put8() |
ddi_mem_putl() |
ddi_mem_put32() |
ddi_mem_putll() |
ddi_mem_put64() |
ddi_mem_putw() |
ddi_mem_put16() |
ddi_mem_rep_getb() |
ddi_mem_rep_get8() |
ddi_mem_rep_getl() |
ddi_mem_rep_get32() |
ddi_mem_rep_getll() |
ddi_mem_rep_get64() |
ddi_mem_rep_getw() |
ddi_mem_rep_get16() |
ddi_mem_rep_putb() |
ddi_mem_rep_put8() |
ddi_mem_rep_putl() |
ddi_mem_rep_put32() |
ddi_mem_rep_putll() |
ddi_mem_rep_put64() |
ddi_mem_rep_putw() |
ddi_mem_rep_put16() |
ddi_peekc() |
ddi_peek8() |
ddi_peekd() |
ddi_peek64() |
ddi_peekl() |
ddi_peek32() |
ddi_peeks() |
ddi_peek16() |
ddi_pokec() |
ddi_poke8() |
ddi_poked() |
ddi_poke64() |
ddi_pokel() |
ddi_poke32() |
ddi_pokes() |
ddi_poke16() |
ddi_putb() |
ddi_put8() |
ddi_putl() |
ddi_put32() |
ddi_putll() |
ddi_put64() |
ddi_putw() |
ddi_put16() |
ddi_rep_getb() |
ddi_rep_get8() |
ddi_rep_getl() |
ddi_rep_get32() |
ddi_rep_getll() |
ddi_rep_get64() |
ddi_rep_getw() |
ddi_rep_get16() |
ddi_rep_putb() |
ddi_rep_put8() |
ddi_rep_putl() |
ddi_rep_put32() |
ddi_rep_putll() |
ddi_rep_put64() |
ddi_rep_putw() |
ddi_rep_put16() |
ddi_unmap_regs() |
ddi_regs_map_free() |
inb() |
ddi_io_get8() |
inl() |
ddi_io_get32() |
inw() |
ddi_io_get16() |
outb() |
ddi_io_put8() |
outl() |
ddi_io_put32() |
outw() |
ddi_io_put16() |
pci_config_getb() |
pci_config_get8() |
pci_config_getl() |
pci_config_get32() |
pci_config_getll() |
pci_config_get64() |
pci_config_getw() |
pci_config_get16() |
pci_config_putb() |
pci_config_put8() |
pci_config_putl() |
pci_config_put32() |
pci_config_putll() |
pci_config_put64() |
pci_config_putw() |
pci_config_put16() |
repinsb() |
ddi_io_rep_get8() |
repinsd() |
ddi_io_rep_get32() |
repinsw() |
ddi_io_rep_get16() |
repoutsb() |
ddi_io_rep_put8() |
repoutsd() |
ddi_io_rep_put32() |
repoutsw() |
ddi_io_rep_put16() |
The DMA functions are:
Allocate a DMA handle
Free a DMA handle
Allocate memory for a DMA transfer
Free previously allocated DMA memory
Bind an address to a DMA handle
Bind a system buffer to a DMA handle
Unbind the address in a DMA handle
Retrieve the subsequent DMA cookie
Activate a new DMA window
Retrieve number of DMA windows
Synchronize CPU and I/O views of memory
Check a DMA handle
Allow 64-bit transfers on SBus
Report whether a device is installed in a slave access-only location
Find the minimum alignment and transfer size for DMA
Find out the allowed burst sizes for a DMA mapping
Find DMA mapping alignment and minimum transfer size
Acquire a DMA channel
Release a DMA channel
Get the DMA engine attributes
Program a DMA channel
Terminate a DMA engine operation
Disable a DMA channel
Enable a DMA channel
Get the remaining DMA engine count
Configure the DMA channel cascade mode
Convert a DMA cookie to an offset within a DMA handle
Deprecated Function |
Replacement |
---|---|
ddi_dma_addr_setup() |
ddi_dma_alloc_handle(), ddi_dma_addr_bind_handle() |
ddi_dma_buf_setup() |
ddi_dma_alloc_handle(), ddi_dma_buf_bind_handle() |
ddi_dma_curwin() |
ddi_dma_getwin() |
ddi_dma_free() |
ddi_dma_free_handle() |
ddi_dma_htoc() |
ddi_dma_addr_bind_handle(), ddi_dma_buf_bind_handle() |
ddi_dma_movwin() |
ddi_dma_getwin() |
ddi_dma_nextseg() |
ddi_dma_nextcookie() |
ddi_dma_segtocookie() |
ddi_dma_nextcookie() |
ddi_dma_setup() |
ddi_dma_alloc_handle(), ddi_dma_addr_bind_handle(), ddi_dma_buf_bind_handle() |
ddi_dmae_getlim() |
ddi_dmae_getattr() |
ddi_iopb_alloc() |
ddi_dma_mem_alloc() |
ddi_iopb_free() |
ddi_dma_mem_free() |
ddi_mem_alloc() |
ddi_dma_mem_alloc() |
ddi_mem_free() |
ddi_dma_mem_free() |
hat_getkpfnum() |
ddi_dma_addr_bind_handle(), ddi_dma_buf_bind_handle(), ddi_dma_nextcookie() |
The user space access functions are:
Copy data to a driver buffer
Copy data from a driver
Copy kernel data using a uio structure
Add character to a uio structure
Remove a character from a uio structure
Get minor device number.
Determine a data model type mismatch
Determine whether there is a need to translate M_IOCTL contents
Establish the handle to application data in a possibly differing data model
Establish the handle to application data in a possibly differing data model
Establish the handle to application data in a possibly differing data model
Establish the handle to application data in a possibly differing data model
Return the size of pointer in specified data model
Return the size of a structure in the specified data model
Return the size of a structure in the application data model
Return a pointer to the native mode instance of the structure
Return a pointer to the specified field of a structure
Return the specified field of a structure in the application data model
Return the specified pointer field of a structure in the application data model
Set a specified field of a structure in the application data model
Set a specified pointer field of a structure in the application data model
Deprecated Function |
Replacement |
---|---|
copyin() |
ddi_copyin() |
copyout() |
ddi_copyout() |
ddi_getminor() |
getminor() |
The user process event functions are:
Inform a process that an event has occurred
Get a handle on a process to signal
Release a handle on a process to signal
Send a signal to a process
The user process information functions are:
Return a pointer to the credential structure of the caller
Determine process credentials privilege
Return the process ID
Deprecated Functions |
Replacement |
---|---|
drv_getparm() |
ddi_get_pid(), ddi_get_cred() |
The user application kernel and device access functions are:
Return the number of register sets a device has
Return the size of a device's register
Set up a user mapping to device memory using the devmap framework
Export device memory to user space
Validate memory address translations
Invalidate memory address translations
Perform device context switching on a mapping
Set the timeout value for the context management callback
Default driver memory access function
Allocate page-aligned kernel memory
Free page-aligned kernel memory
Lock memory pages
Unlock memory pages
Setup I/O requests to application memory
Export kernel memory to user space
Determine data model type mismatch
Deprecated Function |
Replacement |
---|---|
ddi_mapdev() |
devmap_setup() |
ddi_mapdev_intercept() |
devmap_load() |
ddi_mapdev_nointercept() |
devmap_unload() |
ddi_mapdev_set_device_acc_attr() |
devmap() |
ddi_segmap() |
devmap() |
ddi_segmap_setup() |
devmap_setup() |
hat_getkpfnum() |
devmap() |
ddi_mmap_get_model() |
devmap() |
The time-related functions are:
Return the number of clock ticks since reboot
Return the current time in seconds
Issue nanosecond periodic timeout requests
Cancel nanosecond periodic timeout requests
Delay execution for a specified number of clock ticks
Convert clock ticks to microseconds
Convert microseconds to clock ticks
Busy-wait for specified interval
Get high-resolution time
Get high-resolution LWP virtual time
Execute a function after a specified length of time
Cancel the previous time out function call
ddi_get_lbolt(), ddi_get_time()
Deprecated Function |
Replacement |
---|---|
drv_getparm() |
ddi_get_lbolt(), ddi_get_time() |
The power management functions are:
Check if device loses power with DDI_SUSPEND
Report the power management capability of a PCI device
Mark a component as busy
Mark a component as idle
Raise the power level of a component
Lower the power level of a component
Notify the power management framework of an autonomous power level change
Device power cycle advisory check
Function Name |
Description |
---|---|
ddi_dev_is_needed() |
Inform the system that a device's component is required |
pm_create_components() |
Create power-manageable components |
pm_destroy_components() |
Destroy power-manageable components |
pm_get_normal_power() |
Get the normal power level of a device component |
pm_set_normal_power() |
Set the normal power level of a device component |
The fault management functions are:
Allocates and initializes resources based on declared fault management capabilities
Cleans up resources that were allocated for this device instance to support fault management capabilities declared to ddi_fm_init()
Returns the capability bit mask currently set for this device instance
Registers an error handler callback routine with the IO Fault Management framework
Removes an error handler callback routine that was registered with ddi_fm_handler_register()
Returns the error status for an access handle
Returns the error status for a DMA handle
Clears the error status for an access handle
Clears the error status for a DMA handle
Queues an encoded fault management error report name-value pair list for delivery to the Fault Manager daemon, fmd(1M)
Reports the impact of an error
Initializes support for error report generation and sets up the resources for subsequent accesses to PCI, PCI/X, or PCI Express configuration space
Releases any resources allocated and setup by pci_ereport_setup() for this device instance
Scans for and posts any PCI, PCI/X, or PCI Express bus errors
The kernel statistics (kstats) functions are:
Create and initialize a new kstat
Remove a kstat from the system
Add a fully initialized kstat to the system
Initialize a named kstat
Record a transaction migration from run queue to the wait queue
Record a transaction addition to the run queue
Record a transaction removal from the run queue
Record a transaction addition to the wait queue
Record a transaction removal from the wait queue
Record a transaction migration from the wait queue to the run queue
The kernel logging and printing functions are:
Display an error message
Announce a device
Submit messages to the log driver
Report a hardware failure
Display a SCSI request sense message
Display a SCSI-device-related message
Display a SCSI request sense message
The buffered I/O functions are:
Perform physical I/O
Perform asynchronous physical I/O
Prevent cancellation of an asynchronous I/O request
Limit the physio() buffer size
Suspend processes pending completion of block I/O
Release the buffer after buffer I/O transfer and notify blocked threads
Indicate the error in a buffer header
Return an I/O error
Allocate virtual address space
Deallocate virtual address space
Use a single-direction elevator seek strategy to sort for buffers
Get a raw buffer header
Free a raw buffer header
Return the size of a buffer structure
Initialize a buffer structure
Uninitialize a buffer structure
Reuse a private buffer header after I/O is complete
Clone another buffer
Check whether a buffer is modified
Erase the contents of a buffer
The virtual memory functions are:
Convert device bytes to pages (round down)
Convert device bytes to pages (round up)
Convert device pages to bytes
Convert size in bytes to size in pages (round down)
Convert size in bytes to size in pages (round up)
Convert size in pages to size in bytes
Deprecated Functions |
Replacement |
---|---|
hat_getkpfnum() |
devmap(), ddi_dma_*_bind_handle(), ddi_dma_nextcookie() |
The device ID functions are:
Allocate a device ID structure
Free a device ID structure
Register a device ID
Unregister a device ID
Compare two device IDs
Return the size of a device ID
Validate a device ID
Encode a device ID and minor_name into a null-terminated ASCII string; return a pointer to that string
Decode the device ID and minor_name from a previously encoded string; allocate and return pointers to the extracted parts
Free all strings returned by the ddi_devid_* functions
The SCSI functions are:
Probe a SCSI device
Free resources allocated during initial probing
Allocate an I/O buffer for SCSI DMA
Free a previously allocated SCSI DMA I/O buffer
Prepare a complete SCSI packet
Free an allocated SCSI packet and its DMA resource
Set up SCSI command descriptor block (CDB)
Start a SCSI command
Run a polled SCSI command
Get SCSI transport capability
Set SCSI transport capability
Synchronize CPU and I/O views of memory
Abort a SCSI command
Reset a SCSI bus or target
Notify the target driver of bus resets
Decode a SCSI command
Decode a SCSI peripheral device type
Decode a SCSI message
Decode a SCSI packet completion reason
Decode a SCSI sense key
Display a SCSI request sense message
Display a SCSI-device-related message
Display a SCSI request sense message
SCSI HBA system initialization routine
SCSI HBA system completion routine
SCSI HBA attach routine
SCSI HBA detach routine
Default SCSI HBA probe function
Allocate a transport structure
Free a transport structure
Allocate a scsi_pkt structure
Free a scsi_pkt structure
Return an index matching capability string
Deprecated Function |
Replacement |
---|---|
free_pktiopb() |
scsi_free_consistent_buf() |
get_pktiopb() |
scsi_alloc_consistent_buf() |
makecom_g0() |
scsi_setup_cdb() |
makecom_g0_s() |
scsi_setup_cdb() |
makecom_g1() |
scsi_setup_cdb() |
makecom_g5() |
scsi_setup_cdb() |
scsi_dmafree() |
scsi_destroy_pkt() |
scsi_dmaget() |
scsi_init_pkt() |
scsi_hba_attach() |
scsi_hba_attach_setup() |
scsi_pktalloc() |
scsi_init_pkt() |
scsi_pktfree() |
scsi_destroy_pkt() |
scsi_resalloc() |
scsi_init_pkt() |
scsi_resfree() |
scsi_destroy_pkt() |
scsi_slave() |
scsi_probe() |
scsi_unslave() |
scsi_unprobe() |
The resource map management functions are:
Allocate a resource map
Allocate a resource map, wait if necessary
Free a resource map
Allocate space from a resource map
Allocate space from a resource map, wait if necessary
Free space back into a resource map
Determine whether the system is in panic state
The utility functions are:
Zero return function
Error return function
Error return function for non-pollable devices
Expression verification
Copy data between address locations in the kernel
Clear memory for a given number of bytes
Compare two byte arrays
Find the first bit set in a long integer
Find the last bit set in a long integer
Swap bytes in 16-bit halfwords
Compare two null-terminated strings
Compare two null-terminated strings, with length limit
Determine the number of non-null bytes in a string
(Available starting with SXCE build 88) Determine the number of non-null bytes in a string, with length limit
Copy a string from one location to another
Copy a string from one location to another, with length limit
Find a character in a string
Format characters in memory
Convert an integer to a decimal string
Convert a decimal string to an integer
Return the larger of two integers
Return the lesser of two integers
Finds the next value in a variable argument list
Copies the state of a variable argument list
Deletes pointer to a variable argument list
Finds the pointer to the start of a variable argument list