Classes | |
class | AtomicInt |
class | BasicBlockDevice |
class | BasicCharacterDevice |
class | UniversalVolume |
class | Device |
class | Driver |
class | File |
class | IntermediateBuffer |
class | KernelThread |
class | Mutex |
class | SpinLock |
class | Event |
class | Semaphore |
class | BasicTextDevice |
class | UsbBulkDoublePipe |
A pipe based on a pair of BULK endpoints. More... | |
class | UsbInterface |
class | BasicUsbCharacterDevice |
class | IUsbDevice |
class | UsbDriver |
class | UserBuffer |
Enumerations | |
enum | { USB_CHAR_MINOR_COUNT = 32 } |
Functions | |
void | __compat_spin_lock_init (spinlock_t *pSpinLock) |
This namespace provides several classes that simplify Linux driver development. See the bulkusb sample in SAMPLES\LINUX for usage example.
If you want to use a 16-bit wchar_t type in your cross-platform driver, consider using the wchar16_t typedef instead. Note that the default wchar_t on Linux systems is 32-bit long.
The Linux framework supports the following synchronization object types:
Enable the IMPLEMENT_BZSCMN_INTERFACES macro to make the synchronization objects inherit the corresponding BazisCmn interfaces. It may slow down your driver (by introducing vtables for that clases), but it can be needed for some complex cross-platform cases. By default, this macro is not defined and automatic locking/unlocking is implemented using templates. See FastLocker and FastUnlocker documentation.
void BazisLib::Linux::__compat_spin_lock_init | ( | spinlock_t * | pSpinLock | ) |