Skip Navigation Links | |
Exit Print View | |
Writing Device Drivers Oracle Solaris 11.1 Information Library |
Part I Designing Device Drivers for the Oracle Solaris Platform
1. Overview of Oracle Solaris Device Drivers
2. Oracle Solaris Kernel and Device Tree
5. Managing Events and Queueing Tasks
7. Device Access: Programmed I/O
10. Mapping Device and Kernel Memory
13. Hardening Oracle Solaris Drivers
14. Layered Driver Interface (LDI)
Part II Designing Specific Kinds of Device Drivers
15. Drivers for Character Devices
18. SCSI Host Bus Adapter Drivers
19. Drivers for Network Devices
Part III Building a Device Driver
22. Compiling, Loading, Packaging, and Testing Drivers
23. Debugging, Testing, and Tuning Device Drivers
24. Recommended Coding Practices
B. Summary of Oracle Solaris DDI/DKI Services
Device Information Tree Node (dev_info_t) Functions
Device Software State Functions
Memory Allocation and Deallocation Functions
Kernel Thread Control and Synchronization Functions
Task Queue Management Functions
Direct Memory Access (DMA) Functions
User Process Information Functions
User Application Kernel and Device Access Functions
Kernel Logging and Printing Functions
Resource Map Management Functions
C. Making a Device Driver 64-Bit Ready
The following list provides a subset of the utility functions that are available.
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
Append two strings
Append two strings, with length limit
Append two strings, with length and buffer limit
Compare two null-terminated strings
Compare two null-terminated strings, with length limit
Determine the number of non-null bytes in a string
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
Copy a string from one location to another with length limit and buffer limit
Case insensitive version of strcmp()
Case insensitive version of strncmp()
Find a character in a string
Locate the first occurrence of one string in another string
Case insensitive version of strstr()
Frees memory associated with a string
Format characters in memory
Format characters in memory with buffer size specified
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
See the man pages section 9: DDI and DKI Kernel Functions for detailed information about the utility functions.