|
|
1.1 root 1: #ifndef BIOSINT_H
2: #define BIOSINT_H
3:
4: /**
5: * @file BIOS interrupts
6: *
7: */
8:
9: FILE_LICENCE ( GPL2_OR_LATER );
10:
11: #include <realmode.h>
12:
13: struct segoff;
14:
15: /**
16: * Hooked interrupt count
17: *
18: * At exit, after unhooking all possible interrupts, this counter
19: * should be examined. If it is non-zero, it means that we failed to
20: * unhook at least one interrupt vector, and so must not free up the
21: * memory we are using. (Note that this also implies that we should
22: * re-hook INT 15 in order to hide ourselves from the memory map).
23: */
24: extern uint16_t __text16 ( hooked_bios_interrupts );
25: #define hooked_bios_interrupts __use_text16 ( hooked_bios_interrupts )
26:
27: extern void hook_bios_interrupt ( unsigned int interrupt, unsigned int handler,
28: struct segoff *chain_vector );
29: extern int unhook_bios_interrupt ( unsigned int interrupt,
30: unsigned int handler,
31: struct segoff *chain_vector );
32:
33: #endif /* BIOSINT_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.