libraries/libnxdrv/inc/libnxdrv.h

37 lines
1.0 KiB
C
Raw Permalink Normal View History

// This file is part of noxos and licensed under the MIT open source license
#ifndef LIBNXDRV_LIBNXDRV_H
#define LIBNXDRV_LIBNXDRV_H
#include "stdtypes.h"
typedef struct {
uint16_t vendor_id;
uint16_t device_id;
} __attribute__((packed)) nx_drv_device_id_T;
typedef struct {
bool enable_progif;
uint8_t class;
uint8_t subclass;
uint8_t progif;
uint16_t num_device_ids;
nx_drv_device_id_T device_ids;
} __attribute__((packed)) nx_drv_config_pci_T;
typedef struct {
uint8_t min_version;
uint16_t num_device_ids;
nx_drv_device_id_T device_ids;
} __attribute__((packed)) nx_drv_config_usb_T;
typedef struct {
uint8_t gpt_guid[16];
uint8_t mbr_type;
} __attribute__((packed)) nx_drv_config_fs_T;
void nx_drv_pci_config(nx_drv_config_pci_T* config);
void nx_drv_usb_config(nx_drv_config_usb_T* config);
void nx_drv_fs_config (nx_drv_config_fs_T* config);
#endif //LIBNXDRV_LIBNXDRV_H