-typedef struct {
- void (*init)(void* data);
- unsigned char (*read)(unsigned addr);
- void (*write)(unsigned addr, unsigned char value);
- void (*set_iopl)(int level);
-} cmos_access_t;
-
-static void cmos_hal_init(void* data);
-static unsigned char cmos_hal_read(unsigned addr);
-static void cmos_hal_write(unsigned addr, unsigned char value);
-static void cmos_set_iopl(int level);
-
-static cmos_access_t cmos_hal = {
- .init = cmos_hal_init,
- .read = cmos_hal_read,
- .write = cmos_hal_write,
- .set_iopl = cmos_set_iopl,
-};
-
-static void mem_hal_init(void* data);
-static unsigned char mem_hal_read(unsigned addr);
-static void mem_hal_write(unsigned addr, unsigned char value);
-static void mem_set_iopl(int level);
-
-static cmos_access_t memory_hal = {
- .init = mem_hal_init,
- .read = mem_hal_read,
- .write = mem_hal_write,
- .set_iopl = mem_set_iopl,
-};
-