58 lines
1.1 KiB
C
58 lines
1.1 KiB
C
#ifndef _DOS_H_
|
|
#define _DOS_H_
|
|
|
|
union REGS {
|
|
struct {
|
|
unsigned long ax;
|
|
unsigned long bx;
|
|
unsigned long cx;
|
|
unsigned long dx;
|
|
unsigned long si;
|
|
unsigned long di;
|
|
unsigned long cflag;
|
|
unsigned long flags;
|
|
} x;
|
|
struct {
|
|
unsigned char al;
|
|
unsigned char ah;
|
|
unsigned short upper_ax;
|
|
unsigned char bl;
|
|
unsigned char bh;
|
|
unsigned short upper_bx;
|
|
unsigned char cl;
|
|
unsigned char ch;
|
|
unsigned short upper_cx;
|
|
unsigned char dl;
|
|
unsigned char dh;
|
|
unsigned short upper_dx;
|
|
} h;
|
|
};
|
|
|
|
struct SREGS {
|
|
unsigned short cs;
|
|
unsigned short ds;
|
|
unsigned short es;
|
|
unsigned short fs;
|
|
unsigned short gs;
|
|
unsigned short ss;
|
|
};
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
int bdos(int func, unsigned dx, unsigned al);
|
|
int bdosptr(int func, void *dx, unsigned al);
|
|
int int86(int ivec, union REGS *in, union REGS *out);
|
|
int int86x(int ivec, union REGS *in, union REGS *out, struct SREGS *seg);
|
|
int intdos(union REGS *in, union REGS *out);
|
|
int intdosx(union REGS *in, union REGS *out, struct SREGS *seg);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|