1 /* int86.h - 8086 interrupt types Author: Kees J. Bot
5 /* Registers used in an PC real mode call for BIOS or DOS services. A
6 * driver is called through the vector if the interrupt number is zero.
10 u32_t ef
; /* 32 bit flags (output only) */
11 u32_t vec
; /* Driver vector (input only) */
13 u32_t eax
; /* 32 bit general registers */
22 u16_t f
, _ef
[1]; /* 16 bit flags (output only) */
23 u16_t off
, seg
; /* Driver vector (input only) */
24 u16_t ds
, es
; /* DS and ES real mode segment regs */
25 u16_t ax
, _eax
[1]; /* 16 bit general registers */
34 u8_t intno
, _intno
[3]; /* Interrupt number (input only) */
37 u8_t al
, ah
, _eax
[2]; /* 8 bit general registers */
47 struct reg86u
{ union reg86 u
; }; /* Better for forward declarations */
49 /* Parameters passed on ioctls to the memory task. */
51 struct mio_int86
{ /* MIOCINT86 */
52 union reg86 reg86
; /* x86 registers as above */
53 u16_t off
, seg
; /* Address of kernel buffer */
54 void *buf
; /* User data buffer */
55 size_t len
; /* Size of user buffer */
58 struct mio_ldt86
{ /* MIOCGLDT86, MIOCSLDT86 */
59 size_t idx
; /* Index in process' LDT */
60 u16_t entry
[4]; /* One LDT entry to get or set. */