home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / pascal / library / dos / sampler / 02 / tsc / dos.tdl < prev    next >
Encoding:
Text File  |  1987-11-05  |  2.8 KB  |  115 lines

  1. {*DOS.TDL of TSC - Copyright 1986-88 by Supratech Inc.}
  2. {** A special format file for providing DOS unit definitions to the
  3.     TSC program. It is needed if DOS unit will be used.
  4. **}
  5.  
  6. UNIT DOS;
  7. INTERFACE
  8. CONST
  9.     FCARRY        = $0001;
  10.     FPARITY        = $0004;
  11.     FAUXILIARY    = $0010;
  12.     FZERO        = $0040;
  13.     FSIGN        = $0080;
  14.     FOVERFLOW    = $0800;
  15.  
  16.     FMCLOSED    = $D7B0;
  17.     FMINPUT        = $D7B1;
  18.     FMOUTPUT    = $D7B2;
  19.     FMINOUT        = $D7B3;
  20.  
  21.     READONLY    = $01;
  22.     HIDDEN        = $02;
  23.     SYSFILE        = $04;
  24.     VOLUMEID    = $08;
  25.     DIRECTORY    = $10;
  26.     ARCHIVE        = $20;
  27.     ANYFILE        = $3F;
  28. TYPE
  29.     REGISTERS    =
  30.         RECORD
  31.             CASE INTEGER OF
  32.                 0    : (AX, BX, CX, DX, BP, SI, DI, DS, ES, FLAGS    : WORD);
  33.                 1    : (AL, AH, BL, BH, CL, CH, DL, DH    : BYTE);
  34.         END;
  35.  
  36.     FILEREC    =
  37.         RECORD
  38.             HANDLE    : WORD;
  39.             MODE    : WORD;
  40.             RECSIZE    : WORD;
  41.             PRIVATE    : ARRAY[1..26] OF BYTE;
  42.             USERDATA    : ARRAY[1..16] OF BYTE;
  43.             NAME    : ARRAY[0..79] OF CHAR;
  44.         END;
  45.  
  46.     TEXTBUF    = ARRAY[0..127] OF CHAR;
  47.     TEXTREC    =
  48.         RECORD
  49.             HANDLE    : WORD;
  50.             MODE    : WORD;
  51.             BUFSIZE    : WORD;
  52.             PRIVATE    : WORD;
  53.             BUFPOS    : WORD;
  54.             BUFEND    : WORD;
  55.             BUFPTR    : ^TEXTBUF;
  56.             OPENFUNC    : POINTER;
  57.             INOUTFUNC    : POINTER;
  58.             FLUSHFUNC    : POINTER;
  59.             CLOSEFUNC    : POINTER;
  60.             USERDATA    : ARRAY[1..16] OF BYTE;
  61.             NAME    : ARRAY[0..79] OF CHAR;
  62.             BUFFER    : TEXTBUF;
  63.         END;
  64.  
  65.     SEARCHREC    =
  66.         RECORD
  67.             FILL    : ARRAY[1..21] OF BYTE;
  68.             ATTR    : BYTE;
  69.             TIME    : LONGINT;
  70.             SIZE    : LONGINT;
  71.             NAME    : STRING[12];
  72.         END;
  73.  
  74.     DATETIME    =
  75.         RECORD
  76.             YEAR, MONTH, DAY, HOUR, MIN, SEC    : WORD;
  77.         END;
  78. VAR
  79.     DOSERROR : INTEGER;
  80.  
  81. PROCEDURE    INTR(INTNO : BYTE; VAR REGS : REGISTERS);
  82. PROCEDURE    MSDOS(VAR REGS : REGISTERS);
  83. PROCEDURE    GETDATE(VAR YEAR, MONTH, DAY, DAYOFWEEK : WORD);
  84. PROCEDURE    SETDATE(YEAR, MONTH, DAY : WORD);
  85. PROCEDURE    GETTIME(VAR HOUR, MINUTE, SECOND, SEC100 : WORD);
  86. PROCEDURE    SETTIME(HOUR, MINUTE, SECOND, SEC100 : WORD);
  87. FUNCTION    DISKFREE(DRIVE : BYTE) : LONGINT;
  88. FUNCTION    DISKSIZE(DRIVE : BYTE) : LONGINT;
  89.  
  90. {$IFDEF NEVER}
  91. {**** special handling of next four procedures in ProcCall() ****}
  92. PROCEDURE    GETFATTR(VAR FILE*; VAR ATTR : WORD);
  93. PROCEDURE    SETFATTR(VAR FILE*; ATTR : WORD);
  94. PROCEDURE    GETFTIME(VAR FILE*; VAR TIME : LONGINT);
  95. PROCEDURE    SETFTIME(VAR FILE*; TIME : LONGINT);
  96. {**** above four procedures are different than others ****}
  97. {$ENDIF}
  98.  
  99. PROCEDURE    FINDFIRST(PATH : STRING; ATTR : WORD; VAR F : SEARCHREC);
  100. PROCEDURE    FINDNEXT(VAR F : SEARCHREC);
  101. PROCEDURE    UNPACKTIME(P : LONGINT; VAR T : DATETIME);
  102. PROCEDURE    PACKTIME(VAR T : DATETIME; VAR P : LONGINT);
  103. PROCEDURE    GETINTVEC(INTNO : BYTE; VAR VECTOR : POINTER);
  104. PROCEDURE    SETINTVEC(INTNO : BYTE; VECTOR : POINTER);
  105. PROCEDURE    KEEP(EXITCODE : WORD);
  106. PROCEDURE    EXEC(PATH, CMDLINE : STRING);
  107. FUNCTION    DOSEXITCODE : WORD;
  108.  
  109. IMPLEMENTATION
  110. END.
  111.  
  112. ENDLIB    {must be the last legal symbol read}
  113.  
  114. {*----- end of DOS.TDL -----}
  115.