Browse Source

+ added most of missing stuff

Károly Balogh 21 years ago
parent
commit
3a2a858ef7
3 changed files with 1133 additions and 116 deletions
  1. 78 24
      rtl/morphos/doslib.pp
  2. 486 62
      rtl/morphos/doslibd.inc
  3. 569 30
      rtl/morphos/doslibf.inc

+ 78 - 24
rtl/morphos/doslib.pp

@@ -26,42 +26,93 @@ uses Exec, Timer;
 var
   DosBase: Pointer;
 
+
 {$include doslibd.inc}
 {$include doslibf.inc}
 
 
-{ * Define real functions * }
+{ * dos global definitions (V50)
+  *********************************************************************
+  * }
+
+function BADDR(x: LongInt): Pointer; Inline;
+function MKBADDR(x: Pointer): LongInt; Inline;
 
-function Close(fileh: LongInt location 'd1'): Boolean; 
-SysCall MOS_DOSBase 36;
 
-function Read(fileh : LongInt location 'd1'; 
-              buffer: Pointer location 'd2'; 
-              length: LongInt location 'd3'): LongInt; 
-SysCall MOS_DOSBase 42;
+{ * dos stdio definitions
+  *********************************************************************
+  * }
 
-function Write(fileh : LongInt location 'd1'; 
-               buffer: Pointer location 'd2'; 
-               length: LongInt location 'd3'): LongInt; 
-SysCall MOS_DOSBase 48;
+function ReadChar: LongInt; Inline;
+function WriteChar(ch: Char): LongInt; Inline;
+function UnReadChar(ch: Char): LongInt; Inline;
+function ReadChars(buf: Pointer; num: LongInt): LongInt; Inline;
+function dosReadLn(buf: PChar; num: LongInt): PChar; Inline;
+function WriteStr(str: PChar): LongInt; Inline;
+procedure VWritef(format: PChar; argv: Pointer); Inline;
 
-function Input: LongInt; 
-SysCall MOS_DOSBase 54;
 
-function Output: LongInt; 
-SysCall MOS_DOSBase 60;
 
-function Seek(fileh   : LongInt location 'd1';
-              position: LongInt location 'd2';
-              posmode : LongInt location 'd3'): LongInt; 
-SysCall MOS_DOSBase 66;
+implementation
 
-function Rename(oldName: PChar location 'd1';
-                newName: PChar location 'd2'): Boolean; 
-SysCall MOS_DOSBase 78;
+
+{ * dos stdio definitions
+  *********************************************************************
+  * }
+
+function ReadChar: LongInt; Inline;
+begin
+  ReadChar:=FGetC(dosInput);
+end;
+
+function WriteChar(ch: Char): LongInt; Inline;
+begin
+  WriteChar:=FPutC(dosOutput,Byte(ch));
+end;
+
+function UnReadChar(ch: Char): LongInt; Inline;
+begin
+  UnReadChar:=UnGetC(dosInput,Byte(ch));
+end;
+
+function ReadChars(buf: Pointer; num: LongInt): LongInt; Inline;
+begin
+  ReadChars:=FRead(dosInput,buf,1,num);
+end;
+
+function dosReadLn(buf: PChar; num: LongInt): PChar; Inline;
+begin
+  dosReadLn:=FGets(dosInput,buf,num);
+end;
+
+function WriteStr(str: PChar): LongInt; Inline;
+begin
+  WriteStr:=FPuts(dosOutput,str);
+end;
+
+procedure VWritef(format: PChar; argv: Pointer); Inline;
+begin
+  VFWritef(dosOutput,format,argv);
+end;
+
+
+
+{ * dos global definitions (V50)
+  *********************************************************************
+  * }
+
+
+function BADDR(x: LongInt): Pointer; Inline;
+begin
+ BADDR:=Pointer(x Shl 2);
+end;
+
+function MKBADDR(x: Pointer): LongInt; Inline;
+begin
+ MKBADDR:=LongInt(x) Shr 2;
+end;
 
 
-implementation
 
 begin
   DosBase:=MOS_DOSBase;
@@ -69,7 +120,10 @@ end.
 
 {
   $Log$
-  Revision 1.1  2004-06-26 20:46:17  karoly
+  Revision 1.2  2004-08-09 00:10:19  karoly
+    + added most of missing stuff
+
+  Revision 1.1  2004/06/26 20:46:17  karoly
     * initial revision
 
 }

+ 486 - 62
rtl/morphos/doslibd.inc

@@ -126,20 +126,10 @@ const
 const
   FAULT_MAX = 82;
 
-{$WARNING FIX ME!!!}
-{
-typedef long BPTR;
-typedef long BSTR;
-
-
-#ifdef OBSOLETE_LIBRARIES_DOS_H
-# define BADDR(bptr)  (((ULONG)bptr) << 2)
-#else
-# define BADDR(x)     ((APTR)((ULONG)(x) << 2))
-#endif
 
-  MKBADDR(x)    (((LONG)(x)) >> 2)
-}
+type 
+  BPTR = LongInt;
+  BSTR = LongInt;
 
 type
   PInfoData = ^TInfoData;
@@ -155,6 +145,7 @@ type
     id_InUse        : LongInt;
   end;
 
+
 const
   ID_WRITE_PROTECTED = 80;
   ID_VALIDATING      = 81;
@@ -363,7 +354,6 @@ const
 
 
 type
-  {$WARNING FIX ME!!!}
   PFileHandle = ^TFileHandle;
   TFileHandle = packed record
     fh_Flags      : DWord;
@@ -549,18 +539,18 @@ type
 type
   PDOSInfo = ^TDOSInfo;
   TDOSInfo = packed record
-    case smallint of
-      0 : ( di_ResList: DWord; { BPTR }
-          );
-      1 : ( di_McName    : DWord; { BPTR }
-            di_DevInfo   : DWord; { BPTR }          
-            di_Devices   : DWord; { BPTR }          
-            di_Handlers  : DWord; { BPTR }          
-            di_NetHand   : Pointer;       
-            di_DevLock   : TSignalSemaphore;                      
-            di_EntryLock : TSignalSemaphore;
-            di_DeleteLock: TSignalSemaphore;
-          );
+    case Byte of
+    0 : ( di_ResList: DWord; { BPTR }
+        );
+    1 : ( di_McName    : DWord; { BPTR }
+          di_DevInfo   : DWord; { BPTR }          
+          di_Devices   : DWord; { BPTR }          
+          di_Handlers  : DWord; { BPTR }          
+          di_NetHand   : Pointer;       
+          di_DevLock   : TSignalSemaphore;                      
+          di_EntryLock : TSignalSemaphore;
+          di_DeleteLock: TSignalSemaphore;
+        );
   end;
 
 type
@@ -647,27 +637,27 @@ type
     dol_Task: PMsgPort;
     dol_Lock: DWord;    { BPTR }      
     case Byte of
-      0: ( dol_handler : record
-             dol_Handler  : DWord;    { BSTR }
-             dol_StackSize: LongInt;
-             dol_Priority : LongInt;
-             dol_Startup  : DWord;
-             dol_SegList  : DWord;    { BPTR }
-             dol_GlobVec  : DWord;    { BPTR }
-           end;
-         );
-      1: ( dol_volume : record
-             dol_VolumeDate: TDateStamp;
-             dol_LockList  : DWord;   { BPTR } 
-             dol_DiskType  : LongInt;
-           end;
-         );
-      2: ( dol_assign : record
-             dol_AssignName: PChar;
-             dol_List      : PAssignList;    
-           end;
-           dol_Name: DWord;    { BPTR }
-         );
+    0: ( dol_handler : record
+           dol_Handler  : DWord;    { BSTR }
+           dol_StackSize: LongInt;
+           dol_Priority : LongInt;
+           dol_Startup  : DWord;
+           dol_SegList  : DWord;    { BPTR }
+           dol_GlobVec  : DWord;    { BPTR }
+         end;
+       );
+    1: ( dol_volume : record
+           dol_VolumeDate: TDateStamp;
+           dol_LockList  : DWord;   { BPTR } 
+           dol_DiskType  : LongInt;
+         end;
+       );
+    2: ( dol_assign : record
+           dol_AssignName: PChar;
+           dol_List      : PAssignList;    
+         end;
+         dol_Name: DWord;    { BPTR }
+       );
   end;
 
 
@@ -781,20 +771,20 @@ type
   PAnchorPath = ^TAnchorPath;
   TAnchorPath = packed record
     case Byte of
-      0 : ( ap_First: PAChain;
-            ap_Last : PAChain;
-          );
-      1 : ( ap_Base      : PAChain;
-            ap_Current   : PAChain;   
-            ap_BreakBits : LongInt;
-            ap_FoundBreak: LongInt;  
-            ap_Flags     : ShortInt;
-            ap_Reserved  : ShortInt;
-            ap_Strlen    : Integer;
-            ap_Info      : TFileInfoBlock;
-            ap_Buf       : Array[0..0] of Char;
-            { * an_Buf continues * }
-          );
+    0 : ( ap_First: PAChain;
+          ap_Last : PAChain;
+        );
+    1 : ( ap_Base      : PAChain;
+          ap_Current   : PAChain;   
+          ap_BreakBits : LongInt;
+          ap_FoundBreak: LongInt;  
+          ap_Flags     : ShortInt;
+          ap_Reserved  : ShortInt;
+          ap_Strlen    : Integer;
+          ap_Info      : TFileInfoBlock;
+          ap_Buf       : Array[0..0] of Char;
+          { * an_Buf continues * }
+        );
   end;
 
 
@@ -956,9 +946,443 @@ const
 
 
 
+{ * dos ExAll definitions
+  *********************************************************************
+  * }
+
+
+const
+  ED_NAME       = 1;
+  ED_TYPE       = 2;
+  ED_SIZE       = 3;
+  ED_PROTECTION = 4;
+  ED_DATE       = 5;
+  ED_COMMENT    = 6;
+  ED_OWNER      = 7;
+
+
+type
+  PExAllData = ^TExAllData;
+  TExAllData = packed record
+    ed_Next    : PExAllData;
+    ed_Name    : PChar;
+    ed_Type    : LongInt;
+    ed_Size    : Cardinal;
+    ed_Prot    : Cardinal;
+    ed_Days    : Cardinal;
+    ed_Mins    : Cardinal;
+    ed_Ticks   : Cardinal;
+    ed_Comment : PChar;
+    ed_OwnerUID: Word;
+    ed_OwnerGID: Word;   
+  end;
+
+type
+  PExAllControl = ^TExAllControl;
+  TexAllControl = packed record
+    eac_Entries    : Cardinal;
+    eac_LastKey    : Cardinal;
+    eac_MatchString: PChar;
+    eac_MatchFunc  : PHook;
+
+  end;
+
+
+
+{ * dos record definitions
+  *********************************************************************
+  * }
+
+
+const
+  REC_EXCLUSIVE       = 0;
+  REC_EXCLUSIVE_IMMED = 1;
+  REC_SHARED          = 2;
+  REC_SHARED_IMMED    = 3;
+
+
+type
+  PRecordLock = ^TRecordLock;
+  TRecordLock = packed record
+    rec_FH    : LongInt;
+    rec_Offset: Cardinal;
+    rec_Length: Cardinal;
+    rec_Mode  : Cardinal; 
+  end;
+
+
+
+{ * dos tag definitions (V50)
+  *********************************************************************
+  * }
+
+
+const
+  SYS_Dummy       = (TAG_USER + 32);
+  SYS_Input       = (SYS_Dummy + 1);
+  SYS_Output      = (SYS_Dummy + 2);
+  SYS_Asynch      = (SYS_Dummy + 3);
+  SYS_UserShell   = (SYS_Dummy + 4);
+  SYS_CustomShell = (SYS_Dummy + 5);
+
+  { *** V50 *** }
+  SYS_FilterTags  = (SYS_Dummy + 6);   { * filters the tags passed down to CreateNewProc(), default: TRUE * }
+
+const
+  NP_Dummy         = (TAG_USER + 1000);
+  NP_Seglist       = (NP_Dummy + 1);
+  NP_FreeSeglist   = (NP_Dummy + 2);
+  NP_Entry         = (NP_Dummy + 3);
+  NP_Input         = (NP_Dummy + 4);
+  NP_Output        = (NP_Dummy + 5);
+  NP_CloseInput    = (NP_Dummy + 6);
+  NP_CloseOutput   = (NP_Dummy + 7);
+  NP_Error         = (NP_Dummy + 8);
+  NP_CloseError    = (NP_Dummy + 9);
+  NP_CurrentDir    = (NP_Dummy + 10);
+  NP_StackSize     = (NP_Dummy + 11);
+  NP_Name          = (NP_Dummy + 12);
+  NP_Priority      = (NP_Dummy + 13);
+  NP_ConsoleTask   = (NP_Dummy + 14);
+  NP_WindowPtr     = (NP_Dummy + 15);
+  NP_HomeDir       = (NP_Dummy + 16);
+  NP_CopyVars      = (NP_Dummy + 17);
+  NP_Cli           = (NP_Dummy + 18);
+  NP_Path          = (NP_Dummy + 19);
+  NP_CommandName   = (NP_Dummy + 20);
+  NP_Arguments     = (NP_Dummy + 21);
+
+  NP_NotifyOnDeath = (NP_Dummy + 22);
+  NP_Synchronous   = (NP_Dummy + 23);
+  NP_ExitCode      = (NP_Dummy + 24);
+  NP_ExitData      = (NP_Dummy + 25);
+
+  { *** V50 *** }
+  NP_SeglistArray  = (NP_Dummy + 26);
+  NP_UserData      = (NP_Dummy + 27);
+  NP_StartupMsg    = (NP_Dummy + 28);  { * PMessage, ReplyMsg'd at exit * }
+  NP_TaskMsgPort   = (NP_Dummy + 29);  { * ^PMsgPort, create MsgPort, automagic delete * }
+
+  NP_CodeType      = (NP_Dummy + 100);
+  NP_PPC_Arg1      = (NP_Dummy + 101);
+  NP_PPC_Arg2      = (NP_Dummy + 102);
+  NP_PPC_Arg3      = (NP_Dummy + 103);
+  NP_PPC_Arg4      = (NP_Dummy + 104);
+  NP_PPC_Arg5      = (NP_Dummy + 105);
+  NP_PPC_Arg6      = (NP_Dummy + 106);
+  NP_PPC_Arg7      = (NP_Dummy + 107);
+  NP_PPC_Arg8      = (NP_Dummy + 108);
+  NP_PPCStackSize  = (NP_Dummy + 109);
+
+const
+  ADO_Dummy       = (TAG_USER + 2000);
+  ADO_FH_Mode     = (ADO_Dummy + 1);
+
+  ADO_DirLen      = (ADO_Dummy + 2);
+  ADO_CommNameLen = (ADO_Dummy + 3);
+  ADO_CommFileLen = (ADO_Dummy + 4);
+  ADO_PromptLen   = (ADO_Dummy + 5);
+
+  { *** V50 *** }
+  ADDS_Dummy      = (TAG_USER + 3000);
+  ADDS_Name       = (ADDS_Dummy + 1);  { * Segment name * }
+  ADDS_Seglist    = (ADDS_Dummy + 2);  { * Seglist for this segment * }
+  ADDS_Filename   = (ADDS_Dummy + 3);  { * Name of the file to load when needed. Ignored if Seglist is given. * }
+  ADDS_Type       = (ADDS_Dummy + 4);  { * Segment type * }
+
+const
+  FNDS_Dummy      = (TAG_USER + 3100);
+  FNDS_Name       = (FNDS_Dummy + 1);  { * Segment name * }
+  FNDS_From       = (FNDS_Dummy + 2);  { * Segment to start from * }
+  FNDS_System     = (FNDS_Dummy + 3);  { * Look for a system segment ? * }
+  FNDS_Load       = (FNDS_Dummy + 4);  { * Load the seglist if needed ? (Default: TRUE) * }
+
+
+
+{ * dos stdio definitions
+  *********************************************************************
+  * }
+
+
+const
+ BUF_LINE = 0;
+ BUF_FULL = 1;
+ BUF_NONE = 2;
+
+const
+ ENDSTREAMCH = -1;
+
+
+
+{ * dos env-var definitions
+  *********************************************************************
+  * }
+
+
+type
+  PLocalVar = ^TLocalVar;
+  TLocalVar = packed record
+    lv_Node : TNode;
+    lv_Flags: Word;
+    lv_Value: PChar;
+    lv_Len  : Cardinal;
+  end;
+
+
+const
+  LV_VAR   = 0;
+  LV_ALIAS = 1;
+
+const
+  LVB_IGNORE         = 7;
+  LVF_IGNORE         = (1 Shl LVB_IGNORE);
+
+  GVB_GLOBAL_ONLY    = 8;
+  GVF_GLOBAL_ONLY    = (1 Shl GVB_GLOBAL_ONLY);
+
+  GVB_LOCAL_ONLY     = 9;
+  GVF_LOCAL_ONLY     = (1 Shl GVB_LOCAL_ONLY);
+
+  GVB_BINARY_VAR     = 10;
+  GVF_BINARY_VAR     = (1 Shl GVB_BINARY_VAR);
+
+  GVB_DONT_NULL_TERM = 11;
+  GVF_DONT_NULL_TERM = (1 Shl GVB_DONT_NULL_TERM);
+
+  GVB_SAVE_VAR       = 12;
+  GVF_SAVE_VAR       = (1 Shl GVB_SAVE_VAR);
+
+
+
+{ * dos ReadArgs definitions
+  *********************************************************************
+  * }
+
+
+type
+  PCSource = ^TCSource;
+  TCSource = packed record
+    CS_Buffer: PChar;
+    CS_Length: LongInt;
+    CS_CurChr: LongInt;
+  end;
+
+type
+  PRDArgs = ^TRDArgs;
+  TRDArgs = packed record
+    RDA_Source : TCSource;
+    RDA_DAList : LongInt;
+    RDA_Buffer : PChar;
+    RDA_BufSiz : LongInt;
+    RDA_ExtHelp: PChar;
+    RDA_Flags  : LongInt;
+  end;
+
+
+const
+  RDAB_STDIN    = 0;
+  RDAF_STDIN    = (1 Shl RDAB_STDIN);
+
+  RDAB_NOALLOC  = 1;
+  RDAF_NOALLOC  = (1 Shl RDAB_NOALLOC);
+
+  RDAB_NOPROMPT = 2;
+  RDAF_NOPROMPT = (1 Shl RDAB_NOPROMPT);
+
+const
+  MAX_TEMPLATE_ITEMS = 100;
+  MAX_MULTIARGS      = 128;
+
+
+
+{ * dos filehandler definitions
+  *********************************************************************
+  * }
+
+
+type
+  PDosEnvec = ^TDosEnvec;
+  TDosEnvec = packed record
+    de_TableSize     : Cardinal;
+    de_SizeBlock     : Cardinal;
+    de_SecOrg        : Cardinal;
+    de_Surfaces      : Cardinal;
+    de_SectorPerBlock: Cardinal;
+    de_BlocksPerTrack: Cardinal;
+    de_Reserved      : Cardinal;
+    de_PreAlloc      : Cardinal;
+    de_Interleave    : Cardinal;
+    de_LowCyl        : Cardinal;
+    de_HighCyl       : Cardinal;
+    de_NumBuffers    : Cardinal;
+    de_BufMemType    : Cardinal;
+    de_MaxTransfer   : Cardinal;
+    de_Mask          : Cardinal;
+    de_BootPri       : LongInt;
+    de_DosType       : Cardinal;
+    de_Baud          : Cardinal;
+    de_Control       : Cardinal;
+    de_BootBlocks    : Cardinal;   
+  end;
+
+
+const
+  DE_TABLESIZE    = 0;
+  DE_SIZEBLOCK    = 1;
+  DE_SECORG       = 2;
+  DE_NUMHEADS     = 3;
+  DE_SECSPERBLK   = 4;
+  DE_BLKSPERTRACK = 5;
+  DE_RESERVEDBLKS = 6;
+  DE_PREFAC       = 7;
+  DE_INTERLEAVE   = 8;
+  DE_LOWCYL       = 9;
+  DE_UPPERCYL     = 10;
+  DE_NUMBUFFERS   = 11;
+  DE_MEMBUFTYPE   = 12;
+  DE_BUFMEMTYPE   = 12;
+  DE_MAXTRANSFER  = 13;
+  DE_MASK         = 14;
+  DE_BOOTPRI      = 15;
+  DE_DOSTYPE      = 16;
+  DE_BAUD         = 17;
+  DE_CONTROL      = 18;
+  DE_BOOTBLOCKS   = 19;
+
+
+type
+  PFileSysStartupMsg = ^TFileSysStartupMsg;
+  TFileSysStartupMsg = packed record
+    fssm_Unit   : Cardinal;
+    fssm_Device : LongInt;
+    fssm_Environ: LongInt;
+    fssm_Flags  : Cardinal;
+  end;
+
+type
+  PDeviceNode = ^TDeviceNode;
+  TDeviceNode = packed record
+    dn_Next     : LongInt;
+    dn_Type     : Cardinal;
+    dn_Task     : PMsgPort;
+    dn_Lock     : LongInt;
+    dn_Handler  : LongInt;
+    dn_StackSize: Cardinal;
+    dn_Priority : LongInt;
+    dn_Startup  : LongInt;
+    dn_SegList  : LongInt;
+    dn_GlobalVec: LongInt;
+    dn_Name     : LongInt; 
+  end;
+
+
+
+{ * dos notification definitions
+  *********************************************************************
+  * }
+
+
+const
+  NOTIFY_CLASS = $40000000;
+  NOTIFY_CODE  = $1234;
+
+
+type
+  PNotifyRequest = ^TNotifyRequest;
+  TNotifyRequest = packed record
+    nr_Name    : PChar;
+    nr_FullName: PChar;
+    nr_UserData: Cardinal;
+    nr_Flags   : Cardinal;
+    nr_stuff : record
+      case Byte of
+      0 : ( nr_Msg : record
+              nr_Port: PMsgPort;
+            end );
+      1 : ( nr_Signal : record
+              nr_Task     : PTask;
+              nr_SignalNum: Byte;
+              nr_pad      : Array[0..2] Of Byte;
+            end );
+    end;
+    nr_Reserved: Array[0..3] Of Cardinal;
+    nr_MsgCount: Cardinal;
+    nr_Handler : PMsgPort;
+  end;
+
+type
+  PNotifyMessage = ^TNotifyMessage;
+  TNotifyMessage = packed record
+    nm_ExecMessage: TMessage;
+    nm_Class      : Cardinal;
+    nm_Code       : Word;
+    nm_NReq       : PNotifyRequest;
+    nm_DoNotTouch : Cardinal;
+    nm_DoNotTouch2: Cardinal;
+  end;
+
+
+const
+  NRB_SEND_MESSAGE   = 0;
+  NRB_SEND_SIGNAL    = 1;
+  NRB_WAIT_REPLY     = 3;
+  NRB_NOTIFY_INITIAL = 4;
+
+  NRB_MAGIC          = 31;
+
+const
+  NRF_SEND_MESSAGE   = (1 Shl NRB_SEND_MESSAGE);
+  NRF_SEND_SIGNAL    = (1 Shl NRB_SEND_SIGNAL);
+  NRF_WAIT_REPLY     = (1 Shl NRB_WAIT_REPLY);
+  NRF_NOTIFY_INITIAL = (1 Shl NRB_NOTIFY_INITIAL);
+
+  NRF_MAGIC          = (1 Shl NRB_MAGIC);
+
+const
+  NR_HANDLER_FLAGS = $ffff0000;
+
+
+
+{ * dos.library segtracker include
+  *********************************************************************
+  * }
+
+
+const
+  SEG_SEM = 'SegTracker';
+
+
+type
+  PSegSem = ^TSegSem;
+  TSegSem = packed record
+    seg_Semaphore: TSignalSemaphore;
+    seg_Find     : Procedure; { Name = seg_Find(REG(a0, ULONG Address), REG(a1, ULONG *SegNum), REG(a2, ULONG *Offset)) }   
+    seg_List     : TMinList;
+  end;
+
+type
+  PSegArray = ^TSegArray;
+  TSegArray = packed record
+    seg_Address: Cardinal;
+    seg_Size   : Cardinal;
+  end;
+
+type
+  PSegNode = ^TSegNode;
+  TSegNode = packed record
+    seg_Node : TMinNode;
+    seg_Name : PChar;
+    seg_Array: Array[0..0] Of TSegArray;
+  end;
+
+
+
 {
   $Log$
-  Revision 1.1  2004-06-26 20:46:17  karoly
+  Revision 1.2  2004-08-09 00:10:19  karoly
+    + added most of missing stuff
+
+  Revision 1.1  2004/06/26 20:46:17  karoly
     * initial revision
 
 }

+ 569 - 30
rtl/morphos/doslibf.inc

@@ -24,35 +24,35 @@ function Open(fname     : PChar   location 'd1';
               accessMode: LongInt location 'd2'): LongInt; 
 SysCall MOS_DOSBase 30;
 
-function Close2(fileh: LongInt location 'd1'): Boolean; 
+function dosClose(fileh: LongInt location 'd1'): Boolean; 
 SysCall MOS_DOSBase 36;
 
-function Read2(fileh : LongInt location 'd1'; 
-               buffer: Pointer location 'd2'; 
-               length: LongInt location 'd3'): LongInt; 
+function dosRead(fileh : LongInt location 'd1'; 
+                 buffer: Pointer location 'd2'; 
+                 length: LongInt location 'd3'): LongInt; 
 SysCall MOS_DOSBase 42;
 
-function Write2(fileh : LongInt location 'd1'; 
-                buffer: Pointer location 'd2'; 
-                length: LongInt location 'd3'): LongInt; 
+function dosWrite(fileh : LongInt location 'd1'; 
+                  buffer: Pointer location 'd2'; 
+                  length: LongInt location 'd3'): LongInt; 
 SysCall MOS_DOSBase 48;
 
-function Input2: LongInt; 
+function dosInput: LongInt; 
 SysCall MOS_DOSBase 54;
 
-function Output2: LongInt; 
+function dosOutput: LongInt; 
 SysCall MOS_DOSBase 60;
 
-function Seek2(fileh   : LongInt location 'd1';
-               position: LongInt location 'd2';
-               posmode : LongInt location 'd3'): LongInt; 
+function dosSeek(fileh   : LongInt location 'd1';
+                 position: LongInt location 'd2';
+                 posmode : LongInt location 'd3'): LongInt; 
 SysCall MOS_DOSBase 66;
 
 function DeleteFile(fname: PChar location 'd1'): Boolean; 
 SysCall MOS_DOSBase 72;
 
-function Rename2(oldName: PChar location 'd1';
-                 newName: PChar location 'd2'): Boolean; 
+function dosRename(oldName: PChar location 'd1';
+                   newName: PChar location 'd2'): Boolean; 
 SysCall MOS_DOSBase 78;
 
 function Lock(lname     : PChar   location 'd1';
@@ -62,10 +62,17 @@ SysCall MOS_DOSBase 84;
 procedure Unlock(lock: LongInt location 'd1'); 
 SysCall MOS_DOSBase 90;
 
-function Examine(lock         : LongInt location 'd1';
-                 FileInfoBlock: Pointer location 'd2'): Boolean; 
+function DupLock(lock: LongInt location 'd1'): LongInt;
+SysCall MOS_DOSBase 096;
+
+function Examine(lock         : LongInt        location 'd1'; 
+                 fileInfoBlock: PFileInfoBlock location 'd2'): Boolean;
 SysCall MOS_DOSBase 102;
 
+function ExNext(lock         : LongInt        location 'd1'; 
+                fileInfoBlock: PFileInfoBlock location 'd2'): LongInt;
+SysCall MOS_DOSBase 108;
+
 function Info(lock          : LongInt   location 'd1';
               parameterBlock: PInfoData location 'd2'): Boolean; 
 SysCall MOS_DOSBase 114;
@@ -79,13 +86,210 @@ SysCall MOS_DOSBase 126;
 function IoErr: LongInt; 
 SysCall MOS_DOSBase 132;
 
+function CreateProc(name     : PChar   location 'd1'; 
+                    pri      : LongInt location 'd2'; 
+                    segList  : LongInt location 'd3'; 
+                    stackSize: LongInt location 'd4'): PMsgPort;
+SysCall MOS_DOSBase 138;
+
+procedure dosExit(returnCode: LongInt location 'd1');
+SysCall MOS_DOSBase 144;
+
+function LoadSeg(name: PChar location 'd1'): LongInt;
+SysCall MOS_DOSBase 150;
+
+procedure UnLoadSeg(seglist: LongInt location 'd1');
+SysCall MOS_DOSBase 156;
+
+function DeviceProc(name: PChar location 'd1'): PMsgPort;
+SysCall MOS_DOSBase 174;
+
+function SetComment(name   : PChar location 'd1'; 
+                    comment: PChar location 'd2'): Boolean;
+SysCall MOS_DOSBase 180;
+
 function SetProtection(name: PChar   location 'd1';
                        mask: LongInt location 'd2'): Boolean; 
 SysCall MOS_DOSBase 186;
 
-function DateStamp(var ds: TDateStamp location 'd1'): LongInt; 
+function DateStamp(date: PDateStamp location 'd1'): PDateStamp;
 SysCall MOS_DOSBase 192;
 
+procedure Delay(timeout: LongInt location 'd1');
+SysCall MOS_DOSBase 198;
+
+function WaitForChar(file1  : LongInt location 'd1'; 
+                     timeout: LongInt location 'd2'): Boolean;
+SysCall MOS_DOSBase 204;
+
+function ParentDir(lock: LongInt location 'd1'): LongInt;
+SysCall MOS_DOSBase 210;
+
+function IsInteractive(file1: LongInt location 'd1'): Boolean;
+SysCall MOS_DOSBase 216;
+
+function Execute(string1: PChar   location 'd1'; 
+                 file1  : LongInt location 'd2'; 
+                 file2  : LongInt location 'd3'): Boolean;
+SysCall MOS_DOSBase 222;
+
+function AllocDosObject(type1: Cardinal location 'd1'; 
+                        tags : PTagItem location 'd2'): Pointer;
+SysCall MOS_DOSBase 228;
+
+function AllocDosObjectTagList(type1: Cardinal location 'd1'; 
+                               tags : PTagItem location 'd2'): Pointer;
+SysCall MOS_DOSBase 228;
+
+procedure FreeDosObject(type1: Cardinal location 'd1'; 
+                        ptr  : Pointer  location 'd2');
+SysCall MOS_DOSBase 234;
+
+function DoPkt(port  : PMsgPort location 'd1'; 
+               action: LongInt  location 'd2'; 
+               arg1  : LongInt  location 'd3'; 
+               arg2  : LongInt  location 'd4'; 
+               arg3  : LongInt  location 'd5'; 
+               arg4  : LongInt  location 'd6'; 
+               arg5  : LongInt  location 'd7'): LongInt;
+SysCall MOS_DOSBase 240;
+
+function DoPkt0(port  : PMsgPort location 'd1'; 
+                action: LongInt  location 'd2'): LongInt;
+SysCall MOS_DOSBase 240;
+
+function DoPkt1(port  : PMsgPort location 'd1'; 
+                action: LongInt  location 'd2'; 
+                arg1  : LongInt  location 'd3'): LongInt;
+SysCall MOS_DOSBase 240;
+
+function DoPkt2(port  : PMsgPort location 'd1'; 
+                action: LongInt  location 'd2'; 
+                arg1  : LongInt  location 'd3'; 
+                arg2  : LongInt  location 'd4'): LongInt;
+SysCall MOS_DOSBase 240;
+
+function DoPkt3(port  : PMsgPort location 'd1'; 
+                action: LongInt  location 'd2'; 
+                arg1  : LongInt  location 'd3'; 
+                arg2  : LongInt  location 'd4'; 
+                arg3  : LongInt  location 'd5'): LongInt;
+SysCall MOS_DOSBase 240;
+
+function DoPkt4(port  : PMsgPort location 'd1'; 
+                action: LongInt  location 'd2'; 
+                arg1  : LongInt  location 'd3'; 
+                arg2  : LongInt  location 'd4'; 
+                arg3  : LongInt  location 'd5'; 
+                arg4  : LongInt  location 'd6'): LongInt;
+SysCall MOS_DOSBase 240;
+
+procedure SendPkt(dp       : PDosPacket location 'd1'; 
+                  port     : PMsgPort   location 'd2'; 
+                  replyport: PMsgPort   location 'd3');
+SysCall MOS_DOSBase 246;
+
+function WaitPkt: PDosPacket;
+SysCall MOS_DOSBase 252;
+
+procedure ReplyPkt(dp  : PDosPacket location 'd1'; 
+                   res1: LongInt    location 'd2'; 
+                   res2: LongInt    location 'd3');
+SysCall MOS_DOSBase 258;
+
+procedure AbortPkt(port: PMsgPort   location 'd1'; 
+                   pkt : PDosPacket location 'd2');
+SysCall MOS_DOSBase 264;
+
+function LockRecord(fh     : LongInt  location 'd1'; 
+                    offset : Cardinal location 'd2'; 
+                    length : Cardinal location 'd3'; 
+                    mode   : Cardinal location 'd4'; 
+                    timeout: Cardinal location 'd5'): Boolean;
+SysCall MOS_DOSBase 270;
+
+function LockRecords(recArray: PRecordLock location 'd1'; 
+                     timeout : Cardinal    location 'd2'): Boolean;
+SysCall MOS_DOSBase 276;
+
+function UnLockRecord(fh    : LongInt  location 'd1'; 
+                      offset: Cardinal location 'd2'; 
+                      length: Cardinal location 'd3'): Boolean;
+SysCall MOS_DOSBase 282;
+
+function UnLockRecords(recArray: PRecordLock location 'd1'): Boolean;
+SysCall MOS_DOSBase 288;
+
+function SelectInput(fh: LongInt location 'd1'): LongInt;
+SysCall MOS_DOSBase 294;
+
+function SelectOutput(fh: LongInt location 'd1'): LongInt;
+SysCall MOS_DOSBase 300;
+
+function FGetC(fh: LongInt location 'd1'): LongInt;
+SysCall MOS_DOSBase 306;
+
+function FPutC(fh: LongInt location 'd1'; 
+               ch: LongInt location 'd2'): LongInt;
+SysCall MOS_DOSBase 312;
+
+function UnGetC(fh       : LongInt location 'd1'; 
+                character: LongInt location 'd2'): LongInt;
+SysCall MOS_DOSBase 318;
+
+function FRead(fh      : LongInt  location 'd1'; 
+               block   : Pointer  location 'd2'; 
+               blocklen: Cardinal location 'd3'; 
+               number  : Cardinal location 'd4'): LongInt;
+SysCall MOS_DOSBase 324;
+
+function FWrite(fh      : LongInt  location 'd1'; 
+                block   : Pointer  location 'd2'; 
+                blocklen: Cardinal location 'd3'; 
+                number  : Cardinal location 'd4'): LongInt;
+SysCall MOS_DOSBase 330;
+
+function FGets(fh    : LongInt  location 'd1'; 
+               buf   : PChar    location 'd2'; 
+               buflen: Cardinal location 'd3'): PChar;
+SysCall MOS_DOSBase 336;
+
+function FPuts(fh : LongInt location 'd1'; 
+               str: PChar   location 'd2'): LongInt;
+SysCall MOS_DOSBase 342;
+
+procedure VFWritef(fh      : LongInt location 'd1'; 
+                   format  : PChar   location 'd2'; 
+                   argarray: Pointer location 'd3');
+SysCall MOS_DOSBase 348;
+
+function VFPrintf(fh      : LongInt location 'd1'; 
+                  format  : PChar   location 'd2'; 
+                  argarray: Pointer location 'd3'): LongInt;
+SysCall MOS_DOSBase 354;
+
+function dosFlush(fh: LongInt location 'd1'): LongInt;
+SysCall MOS_DOSBase 360;
+
+function SetVBuf(fh   : LongInt location 'd1'; 
+                 buff : PChar   location 'd2'; 
+                 type1: LongInt location 'd3'; 
+                 size : LongInt location 'd4'): LongInt;
+SysCall MOS_DOSBase 366;
+
+function DupLockFromFH(fh: LongInt location 'd1'): LongInt;
+SysCall MOS_DOSBase 372;
+
+function OpenFromLock(lock: LongInt location 'd1'): LongInt;
+SysCall MOS_DOSBase 378;
+
+function ParentOfFH(fh: LongInt location 'd1'): LongInt;
+SysCall MOS_DOSBase 384;
+
+function ExamineFH(fh : LongInt        location 'd1'; 
+                   fib: PFileInfoBlock location 'd2'): Boolean;
+SysCall MOS_DOSBase 390;
+
 function SetFileDate(name: PChar      location 'd1';
                      date: PDateStamp location 'd2'): Boolean; 
 SysCall MOS_DOSBase 396;
@@ -95,39 +299,284 @@ function NameFromLock(lock  : LongInt location 'd1';
                       len   : LongInt location 'd3'): Boolean; 
 SysCall MOS_DOSBase 402;
 
-function SetFileSize(fileh   : LongInt location 'd1';
-                     position: LongInt location 'd2';
-                     posmode : LongInt location 'd3'): LongInt; 
+function NameFromFH(fh    : LongInt location 'd1'; 
+                    buffer: PChar   location 'd2'; 
+                    len   : LongInt location 'd3'): LongInt;
+SysCall MOS_DOSBase 408;
+
+function SplitName(name     : PChar    location 'd1'; 
+                   separator: Cardinal location 'd2'; 
+                   buf      : PChar    location 'd3'; 
+                   oldpos   : LongInt  location 'd4'; 
+                   size     : LongInt  location 'd5'): Integer;
+SysCall MOS_DOSBase 414;
+
+function SameLock(lock1: LongInt location 'd1'; 
+                  lock2: LongInt location 'd2'): LongInt;
+SysCall MOS_DOSBase 420;
+
+function SetMode(fh  : LongInt location 'd1'; 
+                 mode: LongInt location 'd2'): LongInt;
+SysCall MOS_DOSBase 426;
+
+function ExAll(lock   : LongInt       location 'd1'; 
+               buffer : PExAllData    location 'd2'; 
+               size   : LongInt       location 'd3'; 
+               data   : LongInt       location 'd4'; 
+               control: PExAllControl location 'd5'): Boolean;
+SysCall MOS_DOSBase 432;
+
+function ReadLink(port  : PMsgPort location 'd1'; 
+                  lock  : LongInt  location 'd2'; 
+                  path  : PChar    location 'd3'; 
+                  buffer: PChar    location 'd4'; 
+                  size  : Cardinal location 'd5'): Boolean;
+SysCall MOS_DOSBase 438;
+
+function MakeLink(name: PChar   location 'd1'; 
+                  dest: LongInt location 'd2'; 
+                  soft: LongInt location 'd3'): Boolean;
+SysCall MOS_DOSBase 444;
+
+function ChangeMode(type1  : LongInt location 'd1'; 
+                    fh     : LongInt location 'd2'; 
+                    newmode: LongInt location 'd3'): Boolean;
+SysCall MOS_DOSBase 450;
+
+function SetFileSize(fh  : LongInt location 'd1'; 
+                     pos : LongInt location 'd2'; 
+                     mode: LongInt location 'd3'): LongInt;
 SysCall MOS_DOSBase 456;
 
+function SetIoErr(result: LongInt location 'd1'): LongInt;
+SysCall MOS_DOSBase 462;
+
+function Fault(code  : LongInt location 'd1'; 
+               header: PChar   location 'd2'; 
+               buffer: PChar   location 'd3'; 
+               len   : LongInt location 'd4'): Boolean;
+SysCall MOS_DOSBase 468;
+
+function PrintFault(code  : LongInt location 'd1'; 
+                    header: PChar   location 'd2'): Boolean;
+SysCall MOS_DOSBase 474;
+
+function ErrorReport(code  : LongInt  location 'd1'; 
+                     type1 : LongInt  location 'd2'; 
+                     arg1  : Cardinal location 'd3'; 
+                     device: PMsgPort location 'd4'): Boolean;
+SysCall MOS_DOSBase 480;
+
+function Cli: PCommandLineInterface;
+SysCall MOS_DOSBase 492;
+
+function CreateNewProc(tags: PTagItem location 'd1'): PProcess;
+SysCall MOS_DOSBase 498;
+
+function CreateNewProcTagList(tags: PTagItem location 'd1'): PProcess;
+SysCall MOS_DOSBase 498;
+
+function RunCommand(seg     : LongInt location 'd1'; 
+                    stack   : LongInt location 'd2';
+                    paramptr: PChar   location 'd3'; 
+                    paramlen: LongInt location 'd4'): LongInt;
+SysCall MOS_DOSBase 504;
+
+function GetConsoleTask: PMsgPort;
+SysCall MOS_DOSBase 510;
+
+function SetConsoleTask(task: PMsgPort location 'd1'): PMsgPort;
+SysCall MOS_DOSBase 516;
+
+function GetFileSysTask: PMsgPort;
+SysCall MOS_DOSBase 522;
+
+function SetFileSysTask(task: PMsgPort location 'd1'): PMsgPort;
+SysCall MOS_DOSBase 528;
+
 function GetArgStr: PChar; 
 SysCall MOS_DOSBase 534;
 
+function SetArgStr(str: PChar location 'd1'): Boolean;
+SysCall MOS_DOSBase 540;
+
+function FindCliProc(num: Cardinal location 'd1'): PProcess;
+SysCall MOS_DOSBase 546;
+
+function MaxCli: Cardinal;
+SysCall MOS_DOSBase 552;
+
+function SetCurrentDirName(name: PChar location 'd1'): Boolean;
+SysCall MOS_DOSBase 558;
+
 function GetCurrentDirName(buf: PChar   location 'd1';
                            len: LongInt location 'd2'): Boolean; 
 SysCall MOS_DOSBase 564;
 
+function SetProgramName(name: PChar location 'd1'): Boolean;
+SysCall MOS_DOSBase 570;
+
 function GetProgramName(buf: PChar   location 'd1';
                         len: LongInt location 'd2'): Boolean; 
 SysCall MOS_DOSBase 576;
 
+function SetPrompt(name: PChar location 'd1'): Boolean;
+SysCall MOS_DOSBase 582;
+
+function GetPrompt(buf: PChar   location 'd1'; 
+                   len: LongInt location 'd2'): Boolean;
+SysCall MOS_DOSBase 588;
+
+function SetProgramDir(lock: LongInt location 'd1'): LongInt;
+SysCall MOS_DOSBase 594;
+
 function GetProgramDir: LongInt; 
 SysCall MOS_DOSBase 600;
 
-function SystemTagList(command: PChar   location 'd1';
-                       tags   : Pointer location 'd2'): LongInt; 
+function SystemTagList(command: PChar    location 'd1';
+                       tags   : PTagItem location 'd2'): LongInt; 
+SysCall MOS_DOSBase 606;
+
+function dosSystem(command: PChar    location 'd1';
+                   tags   : PTagItem location 'd2'): LongInt; 
 SysCall MOS_DOSBase 606;
 
-function LockDosList(flags: LongInt location 'd1'): PDOSList; 
+function AssignLock(name: PChar   location 'd1'; 
+                    lock: LongInt location 'd2'): Boolean;
+SysCall MOS_DOSBase 612;
+
+function AssignLate(name: PChar location 'd1'; 
+                    path: PChar location 'd2'): Boolean;
+SysCall MOS_DOSBase 618;
+
+function AssignPath(name: PChar location 'd1'; 
+                    path: PChar location 'd2'): Boolean;
+SysCall MOS_DOSBase 624;
+
+function AssignAdd(name: PChar   location 'd1'; 
+                   lock: LongInt location 'd2'): Boolean;
+SysCall MOS_DOSBase 630;
+
+function RemAssignList(name: PChar   location 'd1'; 
+                       lock: LongInt location 'd2'): Boolean;
+SysCall MOS_DOSBase 636;
+
+function GetDeviceProc(name: PChar    location 'd1'; 
+                       dp  : PDevProc location 'd2'): PDevProc;
+SysCall MOS_DOSBase 642;
+
+procedure FreeDeviceProc(dp: PDevProc location 'd1');
+SysCall MOS_DOSBase 648;
+
+function LockDosList(flags: Cardinal location 'd1'): PDosList;
 SysCall MOS_DOSBase 654;
 
-procedure UnLockDosList(flags: LongInt location 'd1'); 
+procedure UnLockDosList(flags: Cardinal location 'd1');
 SysCall MOS_DOSBase 660;
 
-function NextDosEntry(dlist: PDOSList location 'd1';
-                      flags: LongInt  location 'd2'): PDOSList; 
+function AttemptLockDosList(flags: Cardinal location 'd1'): PDosList;
+SysCall MOS_DOSBase 666;
+
+function RemDosEntry(dlist: PDosList location 'd1'): Boolean;
+SysCall MOS_DOSBase 672;
+
+function AddDosEntry(dlist: PDosList location 'd1'): LongInt;
+SysCall MOS_DOSBase 678;
+
+function FindDosEntry(dlist: PDosList location 'd1'; 
+                      name : PChar    location 'd2'; 
+                      flags: Cardinal location 'd3'): PDosList;
+SysCall MOS_DOSBase 684;
+
+function NextDosEntry(dlist: PDosList location 'd1';
+                      flags: Cardinal location 'd2'): PDosList; 
 SysCall MOS_DOSBase 690;
 
+function MakeDosEntry(name : PChar   location 'd1'; 
+                      type1: LongInt location 'd2'): PDosList;
+SysCall MOS_DOSBase 696;
+
+procedure FreeDosEntry(dlist: PDosList location 'd1');
+SysCall MOS_DOSBase 702;
+
+function IsFileSystem(name: PChar location 'd1'): Boolean;
+SysCall MOS_DOSBase 708;
+
+function Format(filesystem: PChar    location 'd1'; 
+                volumename: PChar    location 'd2'; 
+                dostype   : Cardinal location 'd3'): Boolean;
+SysCall MOS_DOSBase 714;
+
+function Relabel(drive  : PChar location 'd1'; 
+                 newname: PChar location 'd2'): Boolean;
+SysCall MOS_DOSBase 720;
+
+function Inhibit(name : PChar   location 'd1'; 
+                 onoff: LongInt location 'd2'): Boolean;
+SysCall MOS_DOSBase 726;
+
+function AddBuffers(name  : PChar   location 'd1'; 
+                    number: LongInt location 'd2'): Boolean;
+SysCall MOS_DOSBase 732;
+
+function CompareDates(date1: PDateStamp location 'd1'; 
+                      date2: PDateStamp location 'd2'): LongInt;
+SysCall MOS_DOSBase 738;
+
+function DateToStr(datetime: _PDateTime location 'd1'): Boolean;
+SysCall MOS_DOSBase 744;
+
+function StrToDate(datetime: _PDateTime location 'd1'): Boolean;
+SysCall MOS_DOSBase 750;
+
+function InternalLoadSeg(fh           : LongInt location 'd0'; 
+                         table        : LongInt location 'a0'; 
+                         var funcarray: LongInt location 'a1'; 
+                         var stack    : LongInt location 'a2'): LongInt;
+SysCall MOS_DOSBase 756;
+
+function NewLoadSeg(file1: PChar    location 'd1'; 
+                    tags : PTagItem location 'd2'): LongInt;
+SysCall MOS_DOSBase 768;
+
+function NewLoadSegTagList(file1: PChar    location 'd1'; 
+                           tags : PTagItem location 'd2'): LongInt;
+SysCall MOS_DOSBase 768;
+
+function AddSegment(name  : PChar   location 'd1'; 
+                    seg   : LongInt location 'd2'; 
+                    system: LongInt location 'd3'): Boolean;
+SysCall MOS_DOSBase 774;
+
+function FindSegment(name  : PChar    location 'd1'; 
+                     seg   : PSegment location 'd2'; 
+                     system: LongInt  location 'd3'): PSegment;
+SysCall MOS_DOSBase 780;
+
+function RemSegment(seg: PSegment location 'd1'): Boolean;
+SysCall MOS_DOSBase 786;
+
+function CheckSignal(mask: LongInt location 'd1'): LongInt;
+SysCall MOS_DOSBase 792;
+
+function ReadArgs(arg_template: PChar   location 'd1'; 
+                  var array1  : LongInt location 'd2'; 
+                  args        : PRDArgs location 'd3'): PRDArgs;
+SysCall MOS_DOSBase 798;
+
+function FindArg(keyword     : PChar location 'd1'; 
+                 arg_template: PChar location 'd2'): LongInt;
+SysCall MOS_DOSBase 804;
+
+function ReadItem(name    : PChar    location 'd1'; 
+                  maxchars: LongInt  location 'd2'; 
+                  cSource : PCSource location 'd3'): LongInt;
+SysCall MOS_DOSBase 810;
+
+function StrToLong(string1  : PChar   location 'd1'; 
+                   var value: LongInt location 'd2'): LongInt;
+SysCall MOS_DOSBase 816;
+
 function MatchFirst(pat   : PChar       location 'd1';
                     anchor: PAnchorPath location 'd2'): LongInt; 
 SysCall MOS_DOSBase 822;
@@ -138,20 +587,110 @@ SysCall MOS_DOSBase 828;
 procedure MatchEnd(anchor: PAnchorPath location 'd1'); 
 SysCall MOS_DOSBase 834;
 
-function GetVar(vname : PChar   location 'd1';
+function ParsePattern(pat   : PChar   location 'd1'; 
+                      buf   : PChar   location 'd2'; 
+                      buflen: LongInt location 'd3'): LongInt;
+SysCall MOS_DOSBase 840;
+
+function MatchPattern(pat: PChar location 'd1'; 
+                      str: PChar location 'd2'): Boolean;
+SysCall MOS_DOSBase 846;
+
+procedure FreeArgs(args: pRDArgs location 'd1');
+SysCall MOS_DOSBase 858;
+
+function FilePart(path: PChar location 'd1'): PChar;
+SysCall MOS_DOSBase 870;
+
+function PathPart(path: PChar location 'd1'): PChar;
+SysCall MOS_DOSBase 876;
+
+function AddPart(dirname: PChar    location 'd1'; 
+                filename: PChar    location 'd2'; 
+                size    : Cardinal location 'd3'): Boolean;
+SysCall MOS_DOSBase 882;
+
+function StartNotify(notify: PNotifyRequest location 'd1'): Boolean;
+SysCall MOS_DOSBase 888;
+
+procedure EndNotify(notify: PNotifyRequest location 'd1');
+SysCall MOS_DOSBase 894;
+
+function SetVar(name  : PChar   location 'd1'; 
+                buffer: PChar   location 'd2'; 
+                size  : LongInt location 'd3'; 
+                flags : LongInt location 'd4'): Boolean;
+SysCall MOS_DOSBase 900;
+
+function GetVar(name  : PChar   location 'd1';
                 buffer: PChar   location 'd2';
                 size  : LongInt location 'd3';
                 flags : LongInt location 'd4'): LongInt; 
 SysCall MOS_DOSBase 906;
 
-function WriteChars(buf   : PChar   location 'd1'; 
-                    buflen: LongInt location 'd2'): LongInt; 
+function DeleteVar(name : PChar    location 'd1'; 
+                   flags: Cardinal location 'd2'): Boolean;
+SysCall MOS_DOSBase 912;
+
+function FindVar(name : PChar    location 'd1'; 
+                 type1: Cardinal location 'd2'): PLocalVar;
+SysCall MOS_DOSBase 918;
+
+function CliInitNewcli(dp: PDosPacket location 'a0'): LongInt;
+SysCall MOS_DOSBase 930;
+
+function CliInitRun(dp: PDosPacket location 'a0'): LongInt;
+SysCall MOS_DOSBase 936;
+
+function WriteChars(buf   : PChar    location 'd1'; 
+                    buflen: Cardinal location 'd2'): LongInt; 
 SysCall MOS_DOSBase 942;
 
+function PutStr(str: PChar location 'd1'): LongInt;
+SysCall MOS_DOSBase 948;
+
+function VPrintf(format  : PChar   location 'd1'; 
+                 argarray: Pointer location 'd2'): LongInt;
+SysCall MOS_DOSBase 954;
+
+function ParsePatternNoCase(pat   : PChar   location 'd1'; 
+                            buf   : PChar   location 'd2'; 
+                            buflen: LongInt location 'd3'): LongInt;
+SysCall MOS_DOSBase 966;
+
+function MatchPatternNoCase(pat: PChar location 'd1'; 
+                            str: PChar location 'd2'): Boolean;
+SysCall MOS_DOSBase 972;
+
+function SameDevice(lock1: LongInt location 'd1'; 
+                    lock2: LongInt location 'd2'): Boolean;
+SysCall MOS_DOSBase 984;
+
+procedure ExAllEnd(lock   : LongInt       location 'd1'; 
+                   buffer : PExAllData    location 'd2'; 
+                   size   : LongInt       location 'd3'; 
+                   data   : LongInt       location 'd4'; 
+                   control: PExAllControl location 'd5');
+SysCall MOS_DOSBase 990;
+
+function SetOwner(name      : PChar   location 'd1'; 
+                  owner_info: LongInt location 'd2'): Boolean;
+SysCall MOS_DOSBase 996;
+
+function AddSegmentTagList(tags: PTagItem location 'a0'): LongInt;
+SysCall MOS_DOSBase 1002;
+
+function FindSegmentTagList(tags: PTagItem location 'a0'): PSegment;
+SysCall MOS_DOSBase 1008;
+
+
 
 {
   $Log$
-  Revision 1.1  2004-06-26 20:46:17  karoly
+  Revision 1.2  2004-08-09 00:10:19  karoly
+    + added most of missing stuff
+
+  Revision 1.1  2004/06/26 20:46:17  karoly
     * initial revision
 
 }