1/* @title: uACPI interface */
2#pragma once
3#include <stdbool.h>
4#include <stdint.h>
5#include <types/types.h>
6#include <uacpi/types.h>
7
8typedef struct { // typedefing it because of consistency with uacpi naming
9 uint8_t bus, slot, func;
10 bool is_open;
11} uacpi_pci_device;
12
13typedef struct {
14 uacpi_io_addr base;
15 uacpi_size len;
16 bool valid;
17} uacpi_io_handle;
18
19typedef struct {
20 uacpi_interrupt_handler handler;
21 uacpi_handle ctx;
22 bool installed;
23} irq_entry_t;
24
25void uacpi_mark_irq_installed(irq_t irq);
26void uacpi_init(uint64_t rsdp);
27void uacpi_print_devs();
28