/* Copyright (C) 1986-2001 by Digital Mars. $Revision: 1.1.1.1 $ */ #if __SC__ || __RCC__ #pragma once #endif #ifndef __MACROS_H #define __MACROS_H 1 extern void _far _pascal Dos3Call(void); #define LPTR M_I86CM || M_I86LM || M_I86VM #define SPTR M_I86SM || M_I86MM #ifdef _WINDOWS #define bdos __asm call Dos3Call #else #define bdos __asm int 21h #endif #define bdos1(fun) __asm mov ah,fun bdos #if __INTSIZE == 4 #define errno_set __asm mov errno, EAX #else #define errno_set __asm mov errno, AX #endif #define errno_set1(value) __asm mov errno, value #define clr1(reg1) __asm xor reg1, reg1 #define clr2( reg1, reg2 ) __asm xor reg1,reg1 clr1(reg2) #define clr3( reg1, reg2, reg3) __asm xor reg1, reg1 clr2( reg2, reg3 ) #define _ifs(arg1,cond,arg2,lbl) __asm cmp arg1,arg2 __asm j##cond short lbl #if __I386>=3 || (LPTR) #define SIZEPTR 4 #else #define SIZEPTR 2 #endif #endif