| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 |
- (* Release 3.10 *)
- (*-------------------------------------------------------------------------*
- * *
- * PASDOS.DEF - Modula-2 interface to PASDOS.ITF *
- * *
- * COPYRIGHT (C) 1989..1992 Clarion Software Corporation. *
- * All Rights Reserved *
- * *
- *--------------------------------------------------------------------------*)
- (*# project("#set tspas='on'") *)
- (*# call(o_a_size=>off, o_a_copy=>off) *)
- (*%F _fdata *)
- (*# call(seg_name => null) *)
- (*# data(seg_name => null) *)
- (*%E *)
- (*# module(implementation=>off) *)
- DEFINITION MODULE PasDos;
- IMPORT PasLib, CoreFile, CoreMath;
- VAR
- AssignBuffer : PROCEDURE(VAR PasLib.filetype, BOOLEAN);
- read : PROCEDURE (INTEGER, CoreFile.StreamPtr, INTEGER): INTEGER;
- write : PROCEDURE(INTEGER, CoreFile.StreamPtr, INTEGER): INTEGER;
- RunTimeError: PROCEDURE(LONGINT, CARDINAL, SHORTCARD, ARRAY OF CHAR);
- TYPE
- Registers = RECORD
- CASE : BOOLEAN OF
- | FALSE: AX,BX,CX,DX,BP,SI,DI,DS,ES,Flags: CARDINAL;
- | TRUE: AL,AH,BL,BH,CL,CH,DL,DH: SHORTCARD;
- END;
- END;
- ProcType = PROCEDURE;
- CONST
- ZeroFlag = 040H;
- PROCEDURE ParamCount(): CARDINAL;
- PROCEDURE SysErrno(): CARDINAL;
- PROCEDURE EnvCount(): LONGINT;
- (*# save *)
- (*# call(seg_name=>null) *)
- PROCEDURE Exec(Psize: BYTE; Path: ARRAY OF CHAR; Csize: BYTE; Command: ARRAY OF CHAR);
- (*# restore *)
- PROCEDURE DosExitCode(): CARDINAL;
- PROCEDURE SetExitCode(code: CARDINAL);
- PROCEDURE GetDate(VAR Year, Month, Day, DayOfWeek: CARDINAL);
- PROCEDURE SetDate(Year, Month, Day : CARDINAL);
- PROCEDURE GetTime(VAR Hour, Minute, Second, Hund: CARDINAL);
- PROCEDURE SetTime(Hour, Minute, Second, Hund: CARDINAL);
- PROCEDURE Intr(IntNo: SHORTCARD; VAR Regs: Registers);
- PROCEDURE MsDos(VAR Regs: Registers);
- PROCEDURE GetInProgramFlag(): SHORTCARD;
- PROCEDURE SetInProgramFlag(f: SHORTCARD);
- PROCEDURE Terminate(P : ProcType; VAR C: ProcType);
- TYPE
- CommandStr = ARRAY [0..127] OF CHAR;
- (*# save *)
- (*# data(near_ptr => off) *)
- CommandType = POINTER TO CommandStr;
- (*# restore *)
- TYPE
- PackedBcd = ARRAY[0..9] OF SHORTCARD;
- (*# save *)
- (*# call(reg_param => (ax,bx,cx,dx), reg_saved => (ds,si,di,st1,st2)) *)
- PROCEDURE LongToBcd(A: REAL) : PackedBcd;
- PROCEDURE BcdToLong(A: PackedBcd) : REAL;
- (*# restore *)
- (*# save *)
- (*# call(near_call=>off) *)
- TYPE
- HardHandler = PROCEDURE(CARDINAL, CARDINAL, FarADDRESS);
- (*# restore *)
- PROCEDURE harderr(handler: HardHandler);
- PROCEDURE hardresume(code: CARDINAL);
- PROCEDURE hardretn(code: CARDINAL);
- PROCEDURE ProtectedMode(): BOOLEAN;
- TYPE
- CpuKind = (cpu_Unknown,cpu_V20,cpu_V30,cpu_8088,cpu_8086,
- cpu_80188,cpu_80186,
- cpu_80286,cpu_80386);
- FpuKind = (fpu_none,fpu_8087,fpu_80287,fpu_80387);
- CpuRec = RECORD
- cpu : CpuKind;
- fpu : FpuKind;
- END;
- PROCEDURE CpuId (VAR r : CpuRec );
- PROCEDURE EnableBreakCheck;
- PROCEDURE DisableBreakCheck;
- PROCEDURE Delay(ms: CARDINAL);
- VAR
- LastChar : CHAR ;
- LastScan : SHORTCARD ;
- PROCEDURE KeyPressed(): BOOLEAN ;
- PROCEDURE RdKey(): CHAR ;
- PROCEDURE RdChar(): CHAR ;
- TYPE
- KBF = ( RShift, LShift, Ctrl, Alt, Scroll, Num, Cap, Ins );
- KBFlagSet = SET OF KBF ;
- PROCEDURE KBFlags(): KBFlagSet ;
- (*
- TYPE
- Exception = RECORD
- etype: CARDINAL;
- Name: address;
- arg1, arg2, retval: REAL;
- END;
- VAR
- matherr: PROCEDURE (VAR E: Exception): CARDINAL;
- *)
- CONST
- matherr ::= CoreMath.matherr;
- Exception ::= CoreMath.Exception;
- ReadOnly = 01H;
- Hidden = 02H;
- SysFile = 04H;
- VolumeID = 08H;
- Directory = 10H;
- Archive = 20H;
- AnyFile = 3FH;
- TYPE
- SearchRec = RECORD
- Fill: ARRAY [1..21] OF SHORTCARD;
- Attr: SHORTCARD;
- Time: LONGINT;
- Size: LONGINT;
- Name: ARRAY [0..12] OF CHAR;
- END;
- PROCEDURE FindFirst(size: BYTE; Path: ARRAY OF CHAR; Attr: CARDINAL; VAR S: SearchRec);
- PROCEDURE FindNext(VAR S: SearchRec);
- PROCEDURE ChDir(size: BYTE; s: ARRAY OF CHAR);
- PROCEDURE GetDir(d: SHORTCARD; size: BYTE; VAR s: ARRAY OF CHAR);
- PROCEDURE MkDir(size: BYTE; s: ARRAY OF CHAR);
- PROCEDURE RmDir(size: BYTE; s: ARRAY OF CHAR);
- END PasDos.
|