You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

biosint.h 924B

123456789101112131415161718192021222324252627282930313233
  1. #ifndef BIOSINT_H
  2. #define BIOSINT_H
  3. /**
  4. * @file BIOS interrupts
  5. *
  6. */
  7. FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
  8. #include <realmode.h>
  9. struct segoff;
  10. /**
  11. * Hooked interrupt count
  12. *
  13. * At exit, after unhooking all possible interrupts, this counter
  14. * should be examined. If it is non-zero, it means that we failed to
  15. * unhook at least one interrupt vector, and so must not free up the
  16. * memory we are using. (Note that this also implies that we should
  17. * re-hook INT 15 in order to hide ourselves from the memory map).
  18. */
  19. extern uint16_t __text16 ( hooked_bios_interrupts );
  20. #define hooked_bios_interrupts __use_text16 ( hooked_bios_interrupts )
  21. extern void hook_bios_interrupt ( unsigned int interrupt, unsigned int handler,
  22. struct segoff *chain_vector );
  23. extern int unhook_bios_interrupt ( unsigned int interrupt,
  24. unsigned int handler,
  25. struct segoff *chain_vector );
  26. #endif /* BIOSINT_H */