3 * Defines the structs and unions used to handle the input and output
4 * registers for the DOS interface routines defined in the V2.0 to V3.0
5 * compatability package. It also includes macros to access the segment
6 * and offset values of MS C "far" pointers, so that they may be used by
32 /* general purpose registers union - overlays the corresponding word and
41 /* segment registers */
50 /* dosexterror struct */
59 /* macros to break MS C "far" pointers into their segment and offset
63 #define FP_SEG(fp) (*((unsigned *)&(fp) + 1))
64 #define FP_OFF(fp) (*((unsigned *)&(fp)))
66 /* function declarations for those who want strong type checking
67 * on arguments to library function calls
70 #ifdef LINT_ARGS /* arg. checking enabled */
72 int bdos(int, unsigned int, unsigned int);
73 int dosexterr(struct DOSERROR *);
74 int intdos(union REGS *, union REGS *);
75 int intdosx(union REGS *, union REGS *, struct SREGS *);
76 int int86(int, union REGS *, union REGS *);
77 int int86x(int, union REGS *, union REGS *, struct SREGS *);
78 void segread(struct SREGS *);
80 #endif /* LINT_ARGS */