Skip to content

ddriver.h

RedstoneShell edited this page Oct 10, 2026 · 1 revision

DDRIVER_H

Linking by #include <ddriver.h>.

ddriver

Structure of the driver object in Depressure:

typedef struct ddriver {
  u32 pattern; // DDRV
  u32 version; // For example 0x00010000u is 1.0.0
  u64 next; // Filled by kernel, contains address of next `ddriver` structure in Virtual Memory, 0 = End
  u64 type; // Type of driver (See: Variables>DDRIVER_TYPE_*)
  char name[32]; // Name of driver (ASCII, Null-term)
  u64 entry; // Filled by kernel, entry point of driver in Virtual Memory
  u64 api; // Filled by driver, API of driver (See also: Writing my first driver)
  u64 data; // Driver private data
} ddriver_t

Variables

#define DDRIVER_PATTERN    0x52564444u // Driver set into pattern
#define DDRIVER_VERSION    0x00010000u // Reserved
#define DDRIVER_NAME_MAX   32 // In `char name[32]` used as 32
#define DDRIVER_TYPE_NONE    0
#define DDRIVER_TYPE_VIDEO   1
#define DDRIVER_TYPE_DISK    2
#define DDRIVER_TYPE_NET     3
#define DDRIVER_TYPE_INPUT   4
#define DDRIVER_TYPE_TIMER   5
#define DDRIVER_TYPE_OTHER   255

Clone this wiki locally