3.1 KiB
3.1 KiB
NOXOS Drivers API
The API is directly baked into the kernel. The libnxdrv library provides dummies which can be (dynamically) linked into the driver.
All API calls are prefixed with nx_drv_
.
API
Config
struct nx_drv_device_id_T
This struct is used to identify PCI and USB devices.
Name | Type | Description |
---|---|---|
vendor_id | uint16_t | The devices vendors' ID |
device_id | uint16_t | The devices' ID |
struct nx_drv_config_pci_T
Name | Type | Description |
---|---|---|
enable_progif | bool | If set to false, the progif field will be ignored. |
class | uint8_t | The PCI main class of the supported devices. |
subclass | uint8_t | The PCI subclass of the supported devices. |
progif | uint8_t | The PCI progif of the supported devices. |
num_device_ids | uint16_t | The size of the device_ids field. |
device_ids | nx_drv_device_id_T [num_device_ids ] |
An array of device ids that the driver supports. |
struct nx_drv_config_usb_T
Name | Type | Description |
---|---|---|
min_version | uint8_t | The minimum required version of the USB standard. |
num_device_ids | uint16_t | The size of the device_ids field. |
device_ids | nx_drv_device_id_T [num_device_ids ] |
An array of device ids that the driver supports. |
struct nx_drv_config_fs_T
Name | Type | Description |
---|---|---|
gpt_guid | uint8_t [16] | The GPT type GUID of the filesystem that the driver supports. |
mbr_type | uint8_t | The MBR type of the filesystem that the driver supports. |
func - void nx_drv_pci_config(nx_drv_config_pci_T* config)
Applies the pci configuration config
.
This function should be called in the init function, when the driver handles PCI devices.
func - void nx_drv_usb_config(nx_drv_config_usb_T* config)
Applies the usb configuration config
.
This function should be called in the init function, when the driver handles USB devices.
func - void nx_drv_fs_config(nx_drv_config_fs_T* config)
Applies the fs configuration config
.
This function should be called in the init function, when the driver handles a filesystem.
Miscellaneous
func - void nx_drv_log(const char* string)
Logs string
.