frame = 4 (* standard stack frame, near call *) bxframe = 2 (* bx stack frame, near call *) PopParam = 0 (* Dummy value for changing real return convention *) DOSHUGESHIFT = 12 (***************************** Data Type Sizes *****************************) CodePtrSize = 2 (* Code pointer, near calls *) DataPtrSize = 2 (* Data pointer, 16 bit data pointer models *) _ptr = 0 (* _iob structure *) _cnt = 2 _size = 4 _base = 6 _flag = 8 _file = 10 _pback = 12 _iobSize = 14 (* size of _iob structure *) (***************************** OS Error Codes ******************************) EFAULT = -1 ENOENT = -33 ENOPATH = -42 EMFILE = -18 EACCESS = -39 EBADF = -15 E2BIG = -6 ENOMEM = -10 ENOSPC = -37 EINVAL = -2 EDOM = -2 ERANGE = -7 (***************************** IO Constants*********************************) BUFSIZ = 512 (* IO Buffer size *) _IOFBF = 0 (* setvbuf - full buffering *) _IOLBF = 1 (* setvbuf - line buffering *) _IONBF = 2 (* setvbuf - no buffering *) _F_RDWR = 0003H (* Read/write *) _F_READ = 0001H (* Read only file *) _F_WRIT = 0002H (* Write only file *) _F_UBUF = 0004H (* User allocated buffer *) _F_APP = 0008H (* Append data *) _F_ERR = 0010H (* Error *) _F_EOF = 0020H (* EOF *) _F_BIN = 0040H (* Binary file *) _F_IN = 0080H (* Data is incoming *) _F_OUT = 0100H (* Data is outgoing *) _F_DEV = 0200H (* File is terminal *) _F_RST = 0400H (* Newly opened stream *) _F_LBUF = 0800H (* line buffered stream *) _F_CTZ = 1000H SEEK_SET = 0 (* lseek - origin beginning of file *) SEEK_CUR = 1 (* lseek - origin current position *) SEEK_END = 2 (* lseek - origin end of file *) CTLZ = 1AH (* Text mode EOF character *) EOF = -1 (* end of file return value *) O_RDONLY = 0 O_WRONLY = 1 O_RDWR = 2 O_CREAT = 0100H (* create and open file *) O_TRUNC = 0200H (* open with truncation *) O_EXCL = 0400H (* exclusive open *) _O_EOF = 0200H (* set when text file hits ^Z *) O_APPEND = 0800H (* write to end of file *) O_CHANGED = 1000H (* File has been written *) O_DEVICE = 2000H (* user read only flag *) O_TEXT = 4000H (* CR-LF translation *) O_BINARY = 8000H (* no translation *) SH_NOINHERIT = 80H (* File sharing modes *) SH_COMPAT = 00H SH_DENYRW = 10H SH_DENYWR = 20H SH_DENYRD = 30H SH_DENYNO = 40H SH_DENYNONE = SH_DENYNO (* MS documentation uses both *) S_IFDIR = 4000H (* directory *) S_IFCHR = 2000H (* character device *) S_IFREG = 8000H (* regular file *) S_IREAD = 0100H (* owner may read *) S_IWRITE = 0080H (* owner may write *) S_IEXEC = 0040H (* owner may execute directory search *) FA_NORMAL = 00H (* normal file *) FA_RDONLY = 01H (* Read only attribute *) FA_HIDDEN = 02H (* Hidden file *) FA_SYSTEM = 04H (* System file *) FA_LABEL = 08H (* Volume label *) FA_DIREC = 10H (* Directory *) FA_ARCH = 20H (* Archive *) FA_TEXT = 100H (* Open in text mode *) FA_SHARE = 200H (* Open with sharing *) E_CONS = 8000H (* The console channel *) E_DEVICE = 4000H (* Its a character device *) (************************ OS2 structures and constants ********************) fdateCreation = 0 ftimeCreation = 2 fdateLastAccess = 4 ftimeLastAccess = 6 fdateLastWrite = 8 ftimeLastWrite = 10 cbFile = 12 cbFileAlloc = 16 attrFile = 20 FileInfoSize = 22 IO_WAIT = 0 IO_NOWAIT = 1 hours = 0 minutes = 1 seconds = 2 hundredths = 3 day = 4 month = 5 year = 6 timezone = 8 weekday = 10 DateTimeSize = 11 EXIT_THREAD = 0 EXIT_PROCESS = 1 EXLST_EXIT = 3 EXLST_ADD = 1 (* Signal Numbers for DosSetSigHandler *) SIG_CTRLC = 1 (* Control C *) SIG_BROKENPIPE = 2 (* Broken Pipe *) SIG_KILLPROCESS = 3 (* Program Termination *) SIG_CTRLBREAK = 4 (* Control Break *) SIG_PFLG_A = 5 (* Process Flag A *) SIG_PFLG_B = 6 (* Process Flag B *) SIG_PFLG_C = 7 (* Process Flag C *) SIG_CSIGNALS = 8 (* number of signals plus one *) (* Flag Numbers for DosFlagProcess *) PFLG_A = 0 (* Process Flag A *) PFLG_B = 1 (* Process Flag B *) PFLG_C = 2 (* Process Flag C *) (* Signal actions *) SIGA_KILL = 0 SIGA_IGNORE = 1 SIGA_ACCEPT = 2 SIGA_ERROR = 3 SIGA_ACKNOWLEDGE = 4 SIG_DFL = 0 SIG_IGN = 1 SIG_SGE = 3 SIG_ACK = 4 (************************ Library Internal Constants ***********************) (* *) (* These constants are internal to the run-time library and may NOT *) (* changed. *) (* *) (***************************************************************************) TRUE = 1 FALSE = 0 math_saved_regs = 8 ExpNeg = 80H magic = 01234H (* value to flag exception handler *) MAGIC = 01234H (* value to flag exception handler *) f_st5 = 10H (* arg1 is in st5 *) f_two = 20H (* two arguments *) _DOMAIN = 1 (* parameter not in valid domain *) _SING = 2 (* function is incalculable at this place *) _OVERFLOW = 3 (* result exceeds representable range *) _UNDERFLOW = 4 (* result too close to zero to be represented *) _TLOSS = 5 (* total loss of precision (eg. Sine (2**65)) *) _PLOSS = 6 (* partial precision loss *) ZFLAG = 80H (* Zero pad flag from printf *) stream = 0 flush = 2 count = 4 args = 6 handler = 8 InMathLib = 0 (* Priority = 0 *) (* ProcVar = 2 *) (* InitSize = 4 *) Priority = 2 ProcVar = 3 InitSize = 5 PR0 = 30 PR1 = 29 PR2 = 28 PR3 = 27 PR4 = 26 PR5 = 25 PRL = 20 PRMAX = 32 emu_fraction = 0 emu_exponent = 8 emu_sign = 10 emu_spare = 11 emu_temp_size = 12 by0 = 0 by1 = 1 w0 = 0 w1 = 2 w2 = 4 w3 = 6 dd0 = 0 dd1 = 4 STACK_GUARD = 1234H GETSTATE_START = 0 GETSTATE_END = 2 GETSTATE_FIRST = 4 _j_flag = 0 _j_ip = 2 _j_sp = 4 _j_bp = 6 _j_si = 8 _j_di = 10 _j_dx = 12 _j_cx = 14 _j_bx = 16 _j_classHandle = 18 _j_classPtr = 20 _j_enterFrame = 22 _j_osFrame = 24 _j_st1 = 26 _j_st2 = 36