home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c221 / 5.ddi / MWHC.005 / 14 < prev    next >
Encoding:
Text File  |  1992-12-09  |  1.6 KB  |  65 lines

  1. {*********************************************************************
  2. (C) Copyright 1983-1992 MetaWare Incorporated;  Santa Cruz, CA 95060.
  3. *********************************************************************}
  4.  
  5. Export(System,MSDOS,Fileh_type);
  6. pragma include('STATUS.pf');
  7. pragma include('SYSTEM.pf');
  8. pragma include('MSDOS.pf');
  9. pragma fragmented_implementation(System);
  10. pragma fragmented_implementation(MSDOS);
  11. with System,Status;
  12. pragma off(emit_names); pragma on(optimize_for_space);
  13.  
  14. program Implement_DOS_interface;
  15. pragma Alias(Implement_DOS_interface,Implement.RTE || 'DOS_interface7');
  16.  
  17. with Registers;
  18. with Loopholes:[Address,Adr,Retype,&];
  19.  
  20. procedure File_times(F: File_handle; var Date,Time: Cardinal);
  21.    begin
  22.    AX.L := 0; BX.R := F;
  23.    DOS(87);
  24.    Time := CX.R; Date := DX.R;
  25.    end;
  26.  
  27. procedure Set_file_times(F: File_handle; Date,Time: Cardinal);
  28.    begin
  29.    AX.L := 1; BX.R := F;
  30.    CX.R := Time; DX.R := Date;
  31.    DOS(87);
  32.    end;
  33.  
  34. procedure Switch_char(var C:char; Set_it:Boolean);
  35.    begin
  36.    if Set_it then begin AX.L := 1; DX.L := ord(C); end else AX.L := 0;
  37.    DOS(55);
  38.    if not Set_it then C := chr(DX.L);
  39.    end;
  40.  
  41. function Dup(F: File_handle): File_handle;
  42.    begin
  43.    BX.R := F; DOS(69); Dup := AX.L;
  44.    end;
  45.  
  46. procedure Dup2(F,Newfh: File_handle);
  47.    begin
  48.    BX.R := F; CX.R := Newfh; DOS(70);
  49.    end;
  50.  
  51. procedure Set_DMA(A:Address);
  52.    begin
  53.    { Set disk transfer address to DS:DX. }
  54.    Load_DS_DX(A);
  55.    DOS(26);
  56.    end;
  57.  
  58. procedure Find_next(var S: Find_buffer);
  59.    begin
  60.    Set_DMA(Adr(S));
  61.    DOS(79);
  62.    end;
  63.  
  64. -- (C) Copyright 1983,84,85 MetaWare Incorporated;  Santa Cruz, CA 95060.
  65.