Files
net/exec/detect.h
2026-01-06 15:51:03 -08:00

29 lines
777 B
C

#pragma once
#include <stdint.h>
#include <exec/list.h>
#include <exec/hal.h>
#pragma pack(push,1)
struct DetectRegion {
enum HalAddressSpace space;
uintptr_t base;
size_t limit;
};
struct Detect {
struct Node node;
uint8_t compat_length;
uint8_t reg_count;
uint8_t irq_count;
uint8_t reserved;
};
#pragma pack(pop)
void DetectInit(void);
struct Detect *CreateDetect(char* compat, uint8_t reg_count, uint8_t irq_count);
void SetDetectRegion(struct Detect* entry, uint8_t index, enum HalAddressSpace space, uintptr_t base, size_t limit);
void SetDetectIRQ(struct Detect* entry, uint8_t index, uint8_t irq);
void AddDetect(struct Detect* entry);
int BuildCompat(char *str, ...);
void PrintDetect(struct Detect *detect);
void PrintDetects(void);