DataMuseum.dk

Presents historical artifacts from the history of:

CP/M

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦259b40a2e⟧ TextFile

    Length: 4411 (0x113b)
    Types: TextFile
    Names: »DOS.DOC«

Derivation

└─⟦505fbc898⟧ Bits:30002732 Turbo Pascal 5.0 for C-DOS Partner
    └─⟦this⟧ »DOC\DOS.DOC« 

TextFile


æ*******************************************************å
æ                                                       å
æ       Turbo Pascal Version 5.0                        å
æ       DOS Interface Unit                              å
æ                                                       å
æ       Copyright (C) 1987,88 Borland International     å
æ                                                       å
æ*******************************************************å

unit Dos;

æ$D-,I-,S-å

interface

const

æ Flags bit masks å

  FCarry     = $0001;
  FParity    = $0004;
  FAuxiliary = $0010;
  FZero      = $0040;
  FSign      = $0080;
  FOverflow  = $0800;

æ File mode magic numbers å

  fmClosed = $D7B0;
  fmInput  = $D7B1;
  fmOutput = $D7B2;
  fmInOut  = $D7B3;

æ File attribute constants å

  ReadOnly  = $01;
  Hidden    = $02;
  SysFile   = $04;
  VolumeID  = $08;
  Directory = $10;
  Archive   = $20;
  AnyFile   = $3F;

type

æ String types å

  ComStr  = stringÆ127Å;        æ Command line string å
  PathStr = stringÆ79Å;         æ Full file path string å
  DirStr  = stringÆ67Å;         æ Drive and directory string å
  NameStr = stringÆ8Å;          æ File name string å
  ExtStr  = stringÆ4Å;          æ File extension string å

æ Registers record used by Intr and MsDos å

  Registers = record
                case Integer of
                  0: (AX,BX,CX,DX,BP,SI,DI,DS,ES,Flags: Word);
                  1: (AL,AH,BL,BH,CL,CH,DL,DH: Byte);
              end;

æ Typed-file and untyped-file record å

  FileRec = record
              Handle: Word;
              Mode: Word;
              RecSize: Word;
              Private: arrayÆ1..26Å of Byte;
              UserData: arrayÆ1..16Å of Byte;
              Name: arrayÆ0..79Å of Char;
            end;

æ Textfile record å

  TextBuf = arrayÆ0..127Å of Char;
  TextRec = record
              Handle: Word;
              Mode: Word;
              BufSize: Word;
              Private: Word;
              BufPos: Word;
              BufEnd: Word;
              BufPtr: ^TextBuf;
              OpenFunc: Pointer;
              InOutFunc: Pointer;
              FlushFunc: Pointer;
              CloseFunc: Pointer;
              UserData: arrayÆ1..16Å of Byte;
              Name: arrayÆ0..79Å of Char;
              Buffer: TextBuf;
            end;

æ Search record used by FindFirst and FindNext å

  SearchRec = record
                Fill: arrayÆ1..21Å of Byte;
                Attr: Byte;
                Time: Longint;
                Size: Longint;
                Name: stringÆ12Å;
              end;

æ Date and time record used by PackTime and UnpackTime å

  DateTime = record
               Year,Month,Day,Hour,Min,Sec: Word;
             end;

var

æ Error status variable å

  DosError: Integer;


function DosVersion: Word;
procedure Intr(IntNo: Byte; var Regs: Registers);
procedure MsDos(var Regs: Registers);
procedure GetDate(var Year,Month,Day,DayOfWeek: Word);
procedure SetDate(Year,Month,Day: Word);
procedure GetTime(var Hour,Minute,Second,Sec100: Word);
procedure SetTime(Hour,Minute,Second,Sec100: Word);
procedure GetCBreak(var Break: Boolean);
procedure SetCBreak(Break: Boolean);
procedure GetVerify(var Verify: Boolean);
procedure SetVerify(Verify: Boolean);
function DiskFree(Drive: Byte): Longint;
function DiskSize(Drive: Byte): Longint;
procedure GetFAttr(var F; var Attr: Word);
procedure SetFAttr(var F; Attr: Word);
procedure GetFTime(var F; var Time: Longint);
procedure SetFTime(var F; Time: Longint);
procedure FindFirst(Path: PathStr; Attr: Word; var F: SearchRec);
procedure FindNext(var F: SearchRec);
procedure UnpackTime(P: Longint; var T: DateTime);
procedure PackTime(var T: DateTime; var P: Longint);
procedure GetIntVec(IntNo: Byte; var Vector: Pointer);
procedure SetIntVec(IntNo: Byte; Vector: Pointer);
procedure SwapVectors;
procedure Keep(ExitCode: Word);
procedure Exec(Path: PathStr; ComLine: ComStr);
function DosExitCode: Word;
function FSearch(Path: PathStr; DirList: String): PathStr;
function FExpand(Path: PathStr): PathStr;
procedure FSplit(Path: PathStr; var Dir: DirStr;
  var Name: NameStr; var Ext: ExtStr);
function EnvCount: Integer;
function EnvStr(Index: Integer): String;
function GetEnv(EnvVar: String): String;

«eof»