home *** CD-ROM | disk | FTP | other *** search
/ Global Amiga Experience / globalamigaexperience.iso / compressed / development / clusterdemo.dms / clusterdemo.adf / Modules.lha / modules / txt / Dos.def < prev    next >
Text File  |  1994-05-25  |  60KB  |  1,613 lines

  1. |##########|
  2. |#MAGIC   #|CLABLJEK
  3. |#PROJECT #|"IMPORTALL"
  4. |#PATHS   #|"StdProject"
  5. |#FLAGS   #|xx---x--x---x-x-----------------
  6. |#USERSW  #|--------------------------------
  7. |#USERMASK#|--------------------------------
  8. |#SWITCHES#|x----x----------
  9. |##########|
  10. (* $A- *)
  11. DEFINITION MODULE Dos;
  12.  
  13. FROM System     IMPORT  BPTR,LONGSET,BITSET,PROC,SysStringPtr,Regs;
  14. FROM Resources  IMPORT  ResHandles;
  15. FROM Exec       IMPORT  Library,Message,MessagePtr,MsgPort,MsgPortPtr,
  16.                         Task,LibraryPtr,MinList,MinNode,TaskPtr,Node,
  17.                         SignalSemaphore;
  18. FROM Utility    IMPORT  tagUser,TagListPtr,HookPtr,StdTags;
  19.  
  20.  
  21. TYPE
  22.   BSTR            =  BCPLPTR TO CHAR;
  23.   FileHandlePtr   =  BCPLPTR TO FileHandle;
  24.   FileHandleCPtr  =  POINTER TO FileHandle;
  25.   FileLockPtr     =  BCPLPTR TO FileLock;
  26.   FileLockCPtr    =  POINTER TO FileLock;
  27.   ProcessId       =  POINTER TO MsgPort;
  28.   DeviceListPtr   =  BCPLPTR TO DeviceList;
  29.  
  30. DEFINITION MODULE FileHandleRes = ResHandles( FileHandleCPtr );
  31.  
  32. DEFINITION MODULE FileLockRes = ResHandles( FileLockCPtr );
  33.  
  34. CONST
  35.   lenDatString    =  16;
  36.  
  37. TYPE
  38.   DatFlags        =  (Subst,Future);
  39.   DatFlagSet      =  SET OF DatFlags;
  40.   DateFormats     =  (DOS,INT,USA,CDN,MAX=CDN);
  41.  
  42.   DatePtr         =  POINTER TO Date;
  43.   Date            =  RECORD
  44.                        days       : LONGCARD;
  45.                        minute     : LONGCARD;
  46.                        tick       : LONGCARD;
  47.                      END;
  48.  
  49.   DateTimePtr     =  POINTER TO DateTime;
  50.   DateTime        =  RECORD OF Date;
  51.                        format     :  DateFormats;
  52.                        flags      :  DatFlagSet;
  53.                        strDay     :  SysStringPtr;
  54.                        strDate    :  SysStringPtr;
  55.                        strTime    :  SysStringPtr;
  56.                      END;
  57.  
  58.  
  59.  
  60. TYPE
  61.   OpenMode        =  ( readWrite=1004,readOnly,
  62.                        oldFile=1005,newFile,
  63.                        makemelong=1000000 );
  64.  
  65.  
  66.   SeekMode        =  ( beginning=-1,current,end,
  67.                        makemelong=1000000 );
  68.  
  69.  
  70.   LockMode        =  (sharedLock=-2,
  71.                       accessRead=sharedLock,
  72.                       exclusiveLock=-1,
  73.                       accessWrite=exclusiveLock,
  74.                       makemelong=1000000 );
  75.  
  76.   FileLock        =  RECORD OF FileLockRes.ResHandle
  77.                        link          :  FileLockPtr;
  78.                        key           :  LONGINT;
  79.                        access        :  LockMode;
  80.                        task          :  ProcessId;
  81.                        volume        :  DeviceListPtr;
  82.                      END;
  83.  
  84.  
  85. CONST
  86.   ticksPerSecond  =  50;
  87.  
  88. TYPE
  89.   DiskStatus      =  (writeProtect=80,validating,validated,
  90.                       makemelong=1000000);
  91.   DiskType        =  (
  92.                       noDiskPresent   =  -1,
  93.                       unreadableDisk  =  $42414400, (* "BAD\0" *)
  94.                       dosDisk         =  $444F5300, (* "DOS\0" *)
  95.                       ffsDisk         =  $444F5301, (* "DOS\1" *)
  96.                       notReallyDos    =  $4E444F53, (* "NDOS"  *)
  97.                       kickstartDisk   =  $4B49434B, (* "KICK"  *)
  98.                       msdosDisk       =  $4D534400  (* "MSD\0" *)
  99.                      );
  100.  
  101.   InfoDataPtr     =  POINTER TO InfoData;
  102.   InfoData        =  RECORD
  103.                        numSoftErrors  : LONGINT;
  104.                        unitNumber     : LONGINT;
  105.                        diskState      : DiskStatus;
  106.                        numBlocks,
  107.                        numBlocksUsed  : LONGINT;
  108.                        bytesPerBlock  : LONGINT;
  109.                        diskType       : DiskType;
  110.                        volumeNode     : DeviceListPtr;
  111.                        inUse          : LONGBOOL;
  112.                      END;
  113.  
  114.  
  115. | Fehlermeldungen von IoErr()
  116.  
  117. TYPE
  118.   IoErrors        = ( noFreeStore=103,
  119.                       taskTableFull=105,      badTemplate=114,
  120.                       badNumber,              requiredArgMissing,
  121.                       keyNeedsArg,            tooManyArgs,
  122.                       unmatchedQuotes,        lineTooLong,
  123.                       fileNotObject,          invalidResidentLibrary,
  124.                       noDefaultDir=201,       objectInUse,
  125.                       objectExists,           dirNotFound,
  126.                       objectNotFound,         badStreamName,
  127.                       objectTooLarge,         actionNotKnown=209,
  128.                       invalidComponentName,   invalidLock,
  129.                       objectWrongType,        diskNotValidated,
  130.                       diskWriteProtected,     renameAcrossDevices,
  131.                       directoryNotEmpty,      tooManyLevels,
  132.                       deviceNotMounted,       seekError,
  133.                       commentTooBig,          diskFull,
  134.                       deleteProtected,        writeProtected,
  135.                       readProtected,          notADosDisk,
  136.                       noDisk,                 noMoreEntries=232,
  137.                       isSoftLink,             objectLinked,
  138.                       badHunk,                notImplemented,
  139.                       recordNotLocked=240,    lockCollision,
  140.                       lockTimeout,            unlockError,
  141.                       bufferOverflow=303,     break,
  142.                       notExecutable,          makemelong=1000000 );
  143.  
  144. | Rueckgabewerte der Amiga DOS Kommandos
  145.   ReturnCode      = (ok=0,warn=5,error=10,fail=20,makemelong=1000000 );
  146.  
  147.  
  148. |Break Signale
  149. TYPE
  150.   BreakSignals    = (ctrlC=12,ctrlD,ctrlE,ctrlF);
  151.  
  152.  
  153. |Rueckgabewerte von SameLock()
  154.   SameLockType    = (lockDifferent=-1,lockSame,
  155.                      lockSameHandler,makemelong=1000000 );
  156.  
  157.  
  158. |Typen fuer ChangeMode()
  159.   ChangeModeType  = ( changeLock,changeFH,makemelong=1000000 );
  160.  
  161.  
  162. |Werte fuer MakeLink()
  163.   LinkType        = ( linkHard,
  164.                       linkSoft,            |Noch nicht voll unterstuetzt
  165.                       makemelong=1000000 );
  166.  
  167. |Rueckgabewerte von ReadItem()
  168.   ReadItemType    = ( itemEqual=-2,itemError,itemNothing,
  169.                       itemUnquoted,itemQuoted,makemelong=1000000 );
  170. |For SetMode
  171.   ScreenType      = ( con,raw,makemelong=1000000);
  172.  
  173. |Typen fuer Alloc-/FreeDosObject()
  174. TYPE
  175.   DosObject       = ( fileHandle,exAllControl,FIB,stdPkt,
  176.                       CLI,rArgs,makemelong=1000000 );
  177.  
  178.  
  179.   ProtectionFlags =  (delete,execute,writeProt,readProt,archive,
  180.                       pure,script,hidden,pf31=31);
  181.   ProtectionFlagSet=  SET OF ProtectionFlags;
  182.  
  183.   EntryType       =  (linkFile=-4,file,root=1,userDir,
  184.                       softLink,linkDir,makemelong=1000000);
  185.  
  186.   FileInfoBlockPtr =  POINTER TO FileInfoBlock;
  187.   FileInfoBlock    =  RECORD
  188.                         diskKey      : LONGINT;
  189.                         dirEntryType : EntryType;
  190.                         fileName     : ARRAY [0..107] OF CHAR;
  191.                         protection   : ProtectionFlagSet;
  192.                         entryType    : LONGINT;
  193.                         size         : LONGINT;
  194.                         numBlocks    : LONGINT;
  195.                         date         : Date;
  196.                         comment      : ARRAY [0..79] OF CHAR;
  197.                         reserved     : ARRAY [0..35] OF CHAR;
  198.                       END;
  199.  
  200.   ExAllType       =  (name=1,type,size,protection,date,comment);
  201.  
  202.   ExAllDataPtr    =  POINTER TO ExAllData;
  203.   ExAllData       =  RECORD
  204.                        next       :  ExAllDataPtr;
  205.                        name       :  SysStringPtr;
  206.                        type       :  EntryType;
  207.                        size       :  LONGCARD;
  208.                        prot       :  ProtectionFlagSet;
  209.                        date       :  Date;
  210.                        comment    :  SysStringPtr;
  211.                      END;
  212.  
  213.   ExAllControlPtr =  POINTER TO ExAllControl;
  214.   ExAllControl    =  RECORD
  215.                        entries    :  LONGCARD;
  216.                        lastkey    :  LONGCARD;
  217.                        matchString:  SysStringPtr;
  218.                        matchFunc  :  HookPtr;
  219.                      END;
  220.  
  221. | Konstanten aus dosasl.h
  222.   AChainFlags     =  (patternBit,examinedBit,completed,allBit,single);
  223.   AChainFlagSet   =  SET OF AChainFlags;
  224.  
  225.  
  226.   AChainPtr       =  POINTER TO AChain;
  227.   AChain          =  RECORD
  228.                        child      :  AChainPtr;
  229.                        parent     :  AChainPtr;
  230.                        lock       :  BPTR;
  231.                        info       :  FileInfoBlock;
  232.                        flags      :  AChainFlagSet;
  233.                        string     :  CHAR; | nobody knows
  234.                      END;
  235.  
  236.   AnchorPathFlags =  (doWild,itsWild,doDir,didDir,noMemErr,doDot,
  237.                       dirChanged);
  238.   AnchorPathFlagSet = SET OF AnchorPathFlags;
  239.  
  240.   AnchorPathPtr   =  POINTER TO AnchorPath;
  241.   AnchorPath      =  RECORD
  242.                        base       :  AChainPtr;
  243.                        last       :  AChainPtr;
  244.                        breakBits  :  LONGINT;
  245.                        foundBreak :  LONGINT;
  246.                        flags      :  AnchorPathFlagSet;
  247.                        reserved   :  SHORTINT;
  248.                        strLen     :  INTEGER;  | set to 0
  249.                        info       :  FileInfoBlock;
  250.                      END;
  251.  
  252.   FullAnchorPathPtr = POINTER TO FullAnchorPath;
  253.   FullAnchorPath  = RECORD OF AnchorPath;
  254.                       buffer : ARRAY [256] OF CHAR; |set strlen to 256
  255.                     END;
  256.  
  257. CONST
  258.   complexBit      =  1;
  259.   examineBit      =  2;
  260.  
  261.  
  262. TYPE
  263.   ProcessFlags    =  (freeSegList, freeCurrDir, freeCLI, closeInput,
  264.                       closeOutput, freeArgs,prf31=31);
  265.   ProcessFlagSet  =  SET OF ProcessFlags;
  266.  
  267.   CommandLineInterfacePtr  =  BCPLPTR TO CommandLineInterface;
  268.  
  269.   ProcessPtr      =  POINTER TO Process;
  270.   Process         =  RECORD OF Task
  271.                        msgPort            :  MsgPort;
  272.                        pad                :  CARDINAL;
  273.                        segList            :  BPTR;
  274.                        stackSize          :  LONGINT;
  275.                        globVec            :  ANYPTR;
  276.                        taskNum            :  LONGINT;
  277.                        stackBase          :  BPTR;
  278.                        result2            :  LONGINT;
  279.                        currentDir         :  FileLockPtr;
  280.                        cis                :  FileHandlePtr;
  281.                        cos                :  FileHandlePtr;
  282.                        consoleTask        :  ProcessId;
  283.                        fileSystemTask     :  ProcessId;
  284.                        cli                :  CommandLineInterfacePtr;
  285.                        returnAddr         :  ANYPTR;
  286.                        pktWait            :  ANYPTR;
  287.                        windowPtr          :  ANYPTR;
  288.                        homeDir            :  BPTR;
  289.                        flags              :  ProcessFlagSet;
  290.                        exitCode           :  PROC;
  291.                        exitData           :  LONGINT;
  292.                        arguments          :  ANYPTR;
  293.                        localVars          :  MinList;
  294.                        shellPrivate       :  LONGCARD;
  295.                        ces                :  BPTR;
  296.                      END;
  297.  
  298.  
  299.  
  300.  
  301. TYPE
  302.   | you MUST always specify at least read or write
  303.   LockDosFlags    =  (read,write,devices,volumes,
  304.                       assigns,entry,delete,ldf31=31);
  305.   LockDosFlagSet  =  SET OF LockDosFlags;
  306.  
  307. CONST
  308.   ldfAll          =  LockDosFlagSet:{devices,volumes,assigns};
  309.  
  310.  
  311. | Error Report Typen fuer ErrorReport()
  312. TYPE
  313.   ErrorReportType =  (stream,task,lock,volume,insert);
  314.  
  315. CONST
  316.    abortDiskError =  296;
  317.    abortBusy      =  288;
  318.  
  319. TYPE
  320.   RunType         =  (systemAsynch = -3,system,execute);
  321.  
  322.  
  323.  
  324.   Hunks           =  (hunkUnit=999, hunkName, hunkCode, hunkData,
  325.                       hunkBss, hunkReloc32, hunkReloc16, hunkReloc8,
  326.                       hunkExt, hunkSymbol, hunkDebug, hunkEnd,
  327.                       hunkHeader, hunkOverlay=1013, hunkBreak,
  328.                       hunkDRel32, hunkDRel16, hunkDRel8, hunkLib,
  329.                       hunkIndex);
  330.   External        =  (extSymb, extDef, extAbs, extRes, extRef32=129,
  331.                       extCommon, extRef16, extRef8, extDExt32,
  332.                       extDExt16, extDExt8);
  333.  
  334.  
  335. CONST
  336.   notifyClass     =  $40000000; | attention, these constants may be
  337.                                 | changeged
  338.   notifyCode      =  $1234;     | next time, so don't use them
  339.  
  340. TYPE
  341.   NotifyRequestFlags      =  (sendMessage,sendSignal,waitReply=3,
  342.                               notifyInitial,nrf16=16,magic=31);
  343.   NotifyRequestFlagSet    =  SET OF NotifyRequestFlags;
  344.  
  345. CONST
  346.   handlerFlags    =  NotifyRequestFlagSet:{nrf16..magic};
  347.   nrHandlerFlags  =  $FFFF0000;
  348.  
  349. TYPE
  350.   NotifyRequestPtr=  POINTER TO NotifyRequest;
  351.   NotifyRequest   =  RECORD
  352.                        name       :  SysStringPtr;
  353.                        fullName   :  SysStringPtr;
  354.                        userData   :  LONGCARD;
  355.                        flags      :  NotifyRequestFlagSet;
  356.                        IF KEY : NotifyRequestFlags
  357.                          OF message THEN port      : MsgPortPtr
  358.                          OF signal  THEN task      : TaskPtr;
  359.                                          signalNum : Exec.TaskSignals;
  360.                                          pad       : ARRAY[0..2] OF SHORTCARD
  361.                        END;
  362.                        reserved   :  ARRAY[0..3] OF LONGCARD;
  363.                        msgCount   :  LONGCARD;
  364.                        handler    :  MsgPortPtr;
  365.                      END;
  366.  
  367.   NotifyMessagePtr=  POINTER TO NotifyMessage;
  368.   NotifyMessage   =  RECORD OF Message
  369.                        class      :  LONGCARD;
  370.                        code       :  CARDINAL;
  371.                        nReq       :  NotifyRequestPtr;
  372.                        doNotTouch,
  373.                        doNotTouch2:  LONGCARD;
  374.                      END;
  375.  
  376.  
  377. TYPE
  378.   RDArgsFlags     =  (stdIn, noAlloc, noPrompt,rdaf31=31);
  379.   RDArgsFlagSet   =  SET OF RDArgsFlags;
  380.  
  381. CONST
  382.   maxTemplateItems=  100;
  383.   maxMultiArgs    =  128;
  384.  
  385. TYPE
  386.   CSourcePtr      =  POINTER TO CSource;
  387.   CSource         =  RECORD
  388.                        buffer     :  SysStringPtr;
  389.                        length     :  LONGINT;
  390.                        curChr     :  LONGINT;
  391.                      END;
  392.  
  393.   RDArgsPtr       =  POINTER TO RDArgs;
  394.   RDArgs          =  RECORD OF CSource
  395.                        daList     :  LONGINT;
  396.                        buffer     :  SysStringPtr;
  397.                        bufSiz     :  LONGINT;
  398.                        extHelp    :  SysStringPtr;
  399.                        flags      :  RDArgsFlagSet;
  400.                      END;
  401.  
  402.   RecordMode      = (recExclusive,recExclusiveImmed,recShared,
  403.                      recSharedImmed,makemelong=1000000);
  404.  
  405.   RecordLockPtr   =  POINTER TO RecordLock;
  406.   RecordLock      =  RECORD
  407.                        fh         :  FileHandlePtr;
  408.                        offset     :  LONGCARD;
  409.                        length     :  LONGCARD;
  410.                        mode       :  RecordMode;
  411.                      END;
  412. | for SetVBuf
  413.   BuffType        =  (bufLine,bufFull,bufNone,makemelong=1000000);
  414.  
  415.  
  416.  
  417.  
  418. TYPE
  419.   PathInfoPtr     =  BCPLPTR TO PathInfo;
  420.  
  421.   WindowPtr       =  DEFERRED POINTER Intuition.WindowPtr;;
  422.  
  423.   NewProcTags     =  TAGS OF StdTags;
  424.                        dummy            =  tagUser + 1000;
  425.                        segList          :  BPTR;
  426.                        freeSegList      :  BPTR;
  427.                        entry            :  PROC;
  428.                        input            :  FileHandlePtr;
  429.                        output           :  FileHandlePtr;
  430.                        closeInput       :  LONGBOOL;
  431.                        closeOutput      :  LONGBOOL;
  432.                        error            :  FileHandlePtr;
  433.                        closeError       :  LONGBOOL;
  434.                        currentDir       :  FileLockPtr;
  435.                        stackSize        :  LONGINT;
  436.                        name             :  SysStringPtr;
  437.                        priority         :  LONGINT;
  438.                        consoleTask      :  ProcessId;
  439.                        windowPtr        :  WindowPtr;
  440.                        homeDir          :  FileLockPtr;
  441.                        copyVars         :  LONGBOOL;
  442.                        cli              :  LONGBOOL;
  443.                        path             :  PathInfoPtr;
  444.                        commandName      :  BSTR;
  445.                        arguments        :  SysStringPtr;
  446.                        notifyOnDeath    :  LONGBOOL;
  447.                        synchronous      :  LONGBOOL;
  448.                        exitCode         :  ANYPTR;
  449.                        exitData         :  ANYPTR;
  450.                      END;
  451.   NewProcTagListPtr= POINTER TO NewProcTagList;
  452.   NewProcTagList   = ARRAY OF NewProcTags;
  453.  
  454.   SystemTags      =  TAGS OF NewProcTags
  455.                        dummy           =  tagUser + 32;
  456.                        input           :  FileHandlePtr;
  457.                        output          :  FileHandlePtr;
  458.                        asynch          :  LONGBOOL;
  459.                        userShell       :  ANYPTR;
  460.                        customShell     :  SysStringPtr;
  461.                      END;
  462.   SystemTagList   =  ARRAY OF SystemTags;
  463.   SystemTagListPtr=  POINTER TO SystemTagList;
  464.  
  465.  
  466.  
  467.  
  468.   DosObjectTags   =  TAGS OF StdTags;
  469.                        dummy           =  tagUser + 2000;
  470.                        fHMode          :  LONGINT;
  471.                        dirLen          :  LONGINT;
  472.                        commNameLen     :  LONGINT;
  473.                        commFileLen     :  LONGINT;
  474.                        promptLen       :  LONGINT;
  475.                      END;
  476.   DosObjectTagListPtr= POINTER TO DosObjectTagList;
  477.   DosObjectTagList = ARRAY OF DosObjectTags;
  478.  
  479.  
  480.  
  481.  
  482.   PathInfo        =  RECORD
  483.                        nextPath  : PathInfoPtr;
  484.                        lock      : FileLockPtr;
  485.                      END;
  486.  
  487.  
  488.   FileHandle      =  RECORD OF FileHandleRes.ResHandle
  489.                        link           : MessagePtr;
  490.                        port           : MsgPortPtr;
  491.                        type           : ProcessId;
  492.                        buf            : LONGINT;
  493.                        pos            : LONGINT;
  494.                        end            : LONGINT;
  495.                        func1,
  496.                        func2,
  497.                        func3          : PROC;
  498.                        arg1           : LONGINT;
  499.                        arg2           : LONGINT;
  500.                      END;
  501.  
  502.   DosCommands     = ( nil=0,              startup=0,
  503.                       getBlock=2,         setMap=4,
  504.                       die,                event,
  505.                       currentVolume,      locateObject,
  506.                       renameDisk,         freelock=15,
  507.                       deleteObject,       renameObject,
  508.                       moreCache,          copyDir,
  509.                       waitChar,           setProtect,
  510.                       createDir,          examineObject,
  511.                       examineNext,        diskInfo,
  512.                       info,               flush,
  513.                       setComment,         parent,
  514.                       timer,              inhibit,
  515.                       diskType,           diskChange,
  516.                       setDate,            sameLock=40,
  517.                       screenMode=994,     changeSignal,
  518.                       readReturn=1001,    writeReturn,
  519.                       findUpDate=1004,    findInput,
  520.                       findOutput,         actionEnd,
  521.                       seek,               format=1020,
  522.                       makeLink,           truncate,
  523.                       writeLock,          readLink,
  524.                       fhFromLock=1026,    isFileSystem,
  525.                       changeMode,         copyDirFh=1030,
  526.                       parentFh,           examineAll=1033,
  527.                       examineFh,          lockRecord=2008,
  528.                       freeRecord,         addNotify=4097,
  529.                       removeNotify,       read=LONGINT("R"),
  530.                       write=LONGINT("W"), makemelong=1000000 );
  531.  
  532.  
  533. TYPE
  534.   DosPacketPtr    =  POINTER TO DosPacket;
  535.   DosPacket       =  RECORD
  536.                        link           : MessagePtr;
  537.                        port           : MsgPortPtr;
  538.                        type           : DosCommands;
  539.                        res1,
  540.                        res2,
  541.                        arg1,
  542.                        arg2,
  543.                        arg3,
  544.                        arg4,
  545.                        arg5,
  546.                        arg6,
  547.                        arg7           : LONGINT;
  548.                      END;
  549.  
  550.   StandardPacketPtr= POINTER TO StandardPacket;
  551.   StandardPacket  =  RECORD OF Message
  552.                        pkt  : DosPacket;
  553.                      END;
  554.  
  555.   RootNodePtr     =  POINTER TO RootNode;
  556.  
  557.   ErrorStringPtr  =  POINTER TO ErrorString;
  558.   ErrorString     =  RECORD
  559.                        nums               :  ANYPTR;
  560.                        strings            :  SysStringPtr;
  561.                      END;
  562.  
  563.   DosLibraryPtr   =  POINTER TO DosLibrary;
  564.   DosLibrary      =  RECORD OF Library
  565.                        root               :  RootNodePtr;
  566.                        gv                 :  ANYPTR;
  567.                        a2,
  568.                        a5,
  569.                        a6                 :  LONGINT;
  570.                        errors             :  ErrorStringPtr;
  571.                        timeReq            :  ANYPTR;
  572.                        utilityBase        :  LibraryPtr;
  573.                        intuitionBase      :  LibraryPtr;
  574.                      END;
  575.  
  576.   TaskArray       =  RECORD
  577.                        maxCli             :  LONGINT;
  578.                        cli                :  ARRAY [1..99] OF ProcessId;
  579.                      END;
  580.  
  581.   DosInfoPtr      =  BCPLPTR TO DosInfo;
  582.   TaskArrayPtr    =  BCPLPTR TO TaskArray;
  583.   DosEnvecPtr     =  BCPLPTR TO DosEnvec;
  584.   FileSysStartupMsgPtr = BCPLPTR TO FileSysStartupMsg;
  585.  
  586. CONST
  587.   | special values for ResidentSegment.usecount
  588.   cmdSystem       =  -1;
  589.   cmdInternal     =  -2;
  590.   cmdDisabled     =  -999;
  591.  
  592. TYPE
  593.   ResidentSegmentPtr      =  BCPLPTR TO ResidentSegment;
  594.   ResidentSegment =  RECORD
  595.                        next       :  ResidentSegmentPtr;
  596.                        usecount   :  LONGINT;
  597.                        segment    :  BPTR;
  598.                        name       :  ARRAY [32] OF CHAR
  599.                      END;
  600.  
  601.  
  602.   RootNodeFlags   =  (private1=1,wildStar=24,rnf31=31);
  603.   RootNodeFlagSet =  SET OF RootNodeFlags;
  604.  
  605.  
  606.   RootNode        =  RECORD
  607.                        taskArray          :  TaskArrayPtr;
  608.                        consoleSegment     :  BPTR;
  609.                        time               :  Date;
  610.                        restartSeg         :  BPTR;
  611.                        info               :  DosInfoPtr;
  612.                        fileHandlerSegment :  BPTR;
  613.                        cliList            :  MinList;
  614.                        bootProc           :  MsgPortPtr;
  615.                        shellSegment       :  BPTR;
  616.                        flags              :  RootNodeFlagSet;
  617.                      END;
  618.  
  619.   MsgPortFieldPtr =  POINTER TO MsgPortField;
  620.   MsgPortField    =  ARRAY OF MsgPortPtr;
  621.   CliProcList     =  RECORD OF MinNode
  622.                        first              :  LONGINT;
  623.                        array              :  MsgPortFieldPtr;
  624.                      END;
  625.  
  626.   DosInfo         =  RECORD
  627.                        mcName              :  BSTR;
  628.                        devInfo             :  DeviceListPtr;
  629.                        devices             :  BPTR;
  630.                        handlers            :  BPTR;
  631.                        netHand             :  ResidentSegmentPtr;
  632.                        devLock,
  633.                        entryLock,
  634.                        deleteLock          : SignalSemaphore;
  635.                      END;
  636.  
  637.   CommandLineInterface  =  RECORD
  638.                        result2       :  LONGINT;
  639.                        setName       :  BSTR;
  640.                        commandDir    :  PathInfoPtr;
  641.                        returnCode    :  LONGINT;
  642.                        commandName   :  BSTR;
  643.                        failLevel     :  LONGINT;
  644.                        prompt        :  BSTR;
  645.                        standardInput :  FileHandlePtr;
  646.                        currentInput  :  FileHandlePtr;
  647.                        commandFile   :  BSTR;
  648.                        interactive   :  LONGINT;
  649.                        background    :  LONGINT;
  650.                        currentOutput :  FileHandlePtr;
  651.                        defaultStack  :  LONGINT;
  652.                        standardOutput:  FileHandlePtr;
  653.                        module        :  BPTR;
  654.                      END;
  655.  
  656.   AssignListPtr   =  POINTER TO AssignList;
  657.   AssignList      =  RECORD
  658.                        next       :  AssignListPtr;
  659.                        lock       :  FileHandlePtr;
  660.                      END;
  661.  
  662.  
  663.   DeviceListType  = ( device,directory,volume,late,nonBinding,
  664.                       private=-1,makemelong=1000000 );
  665.  
  666.   DeviceList      =  RECORD
  667.                        next          :  DeviceListPtr;
  668.                        type          :  DeviceListType;
  669.                        task          :  ProcessId;
  670.                        lock          :  FileLockPtr;
  671.                        IF KEY : DeviceListType
  672.                          OF device,
  673.                            directory   THEN
  674.                                          handler    :  BSTR;
  675.                                          stackSize  :  LONGINT;
  676.                                          priority   :  LONGINT;
  677.                                          startup    :  FileSysStartupMsgPtr;
  678.                                          segList    :  BPTR;
  679.                                          globeVec   :  BPTR
  680.                          OF volume     THEN
  681.                                          volumeDate :  Date;
  682.                                          lockList   :  FileLockPtr;
  683.                                          diskType   :  LONGINT;
  684.                          OF assign     THEN
  685.                                          assignName :  SysStringPtr;
  686.                                          assignList :  AssignListPtr
  687.                        END;
  688.                        name  :  BSTR;
  689.                      END;
  690.   DosList         =  DeviceList;
  691.   DosListPtr      =  DeviceListPtr;
  692.   DeviceNode      =  DeviceList;
  693.   DeviceNodePtr   =  POINTER TO DeviceNode;
  694.  
  695.  
  696.   DevProcFlags    =  (unlock,assign,dvp31=31);
  697.   DevProcFlagSet  =  SET OF DevProcFlags;
  698.  
  699.   DevProcPtr      =  POINTER TO DevProc;
  700.   DevProc         =  RECORD
  701.                        port   :  MsgPortPtr;
  702.                        lock   :  FileLockPtr;
  703.                        flags  :  DevProcFlagSet;
  704.                        devNode:  DosListPtr;
  705.                      END;
  706.  
  707.   DosEnvec        =  RECORD
  708.                        tableSize        :  LONGCARD;
  709.                        sizeBlock        :  LONGCARD;
  710.                        secOrg           :  LONGCARD;
  711.                        surfaces         :  LONGCARD;
  712.                        sectorsPerBlock  :  LONGCARD;
  713.                        blocksPerTrack   :  LONGCARD;
  714.                        reserved         :  LONGCARD;
  715.                        preAlloc         :  LONGCARD;
  716.                        interleave       :  LONGCARD;
  717.                        lowCyl           :  LONGCARD;
  718.                        highCyl          :  LONGCARD;
  719.                        numBuffers       :  LONGCARD;
  720.                        bufMemType       :  LONGCARD;
  721.                        maxTransfers     :  LONGCARD;
  722.                        mask             :  LONGSET;
  723.                        bootPri          :  LONGINT;
  724.                        dosType          :  ARRAY [0..3] OF CHAR;
  725.                        baud             :  LONGCARD;
  726.                        control          :  LONGCARD;
  727.                        bootBlocks       :  LONGCARD;
  728.                      END;
  729.  
  730.  
  731.   FileSysStartupMsg= RECORD
  732.                        unit     : LONGCARD;
  733.                        device   : BSTR;
  734.                        environ  : DosEnvecPtr;
  735.                        flags    : LONGSET
  736.                      END;
  737.   ArgArrayPtr     =  POINTER TO ArgArray;
  738.   ArgArray        =  ARRAY OF SysStringPtr;
  739.  
  740.  
  741.  
  742.  
  743.   GetVarFlags     =  (var,alias,ignore=7,globalOnly,localOnly,
  744.                       binaryVar,gvf31=31);
  745.   GetVarFlagSet   =  SET OF GetVarFlags;
  746.  
  747.   LocalVarPtr     =  POINTER TO LocalVar;
  748.   LocalVar        =  RECORD OF MinNode
  749.                        type       :  GetVarFlags;
  750.                        pri        :  SHORTINT;
  751.                        name       :  SysStringPtr;
  752.                        flags      :  BITSET;
  753.                        value      :  SysStringPtr;
  754.                        len        :  LONGCARD;
  755.                      END;
  756.  
  757. GROUP
  758.   DosErrorGrp     =    IoErrors;
  759.  
  760.  
  761. VAR DosBase : DosLibraryPtr;
  762.  
  763.  
  764. |-------------------------------------------------------------------------
  765. |  1. Ein- und Ausgabe
  766. |-------------------------------------------------------------------------
  767.  
  768. LIBRARY DosBase BY -36
  769.   PROCEDURE Close( file IN D1 : FileHandlePtr):LONGBOOL;
  770.  
  771. LIBRARY DosBase BY -30
  772.   PROCEDURE Open( REF name       IN D1 : STRING;
  773.                       accessMode IN D2 : OpenMode):FileHandlePtr;
  774.  
  775.  
  776. LIBRARY DosBase BY -42
  777.   PROCEDURE Read( file       IN D1 : FileHandlePtr;
  778.                   buffer     IN D2 : ANYPTR;
  779.                   length     IN D3 : LONGINT ): LONGINT;
  780.  
  781. LIBRARY DosBase BY -66
  782.   PROCEDURE Seek( file       IN D1 : FileHandlePtr;
  783.                   position   IN D2 : LONGINT;
  784.                   mode       IN D3 : SeekMode ): LONGINT;
  785.  
  786. LIBRARY DosBase BY -48
  787.   PROCEDURE Write( file       IN D1 : FileHandlePtr;
  788.                    buffer     IN D2 : ANYPTR;
  789.                    length     IN D3 : LONGINT ): LONGINT;
  790.  
  791. LIBRARY DosBase BY -294
  792.   PROCEDURE SelectInput( fh IN D1 : FileHandlePtr ): FileHandlePtr;
  793.  
  794. LIBRARY DosBase BY -300
  795.   PROCEDURE SelectOutput( fh IN D1 : FileHandlePtr ): FileHandlePtr;
  796.  
  797. LIBRARY DosBase BY -306
  798.   PROCEDURE FGetC( fh IN D1 : FileHandlePtr ): CHAR;
  799.  
  800. LIBRARY DosBase BY -312
  801.   PROCEDURE FPutC( fh IN D1 : FileHandlePtr;
  802.                    ch IN D2 : CHAR ): CHAR;
  803.  
  804. LIBRARY DosBase BY -318
  805.   PROCEDURE UnGetC( fh        IN D1 : FileHandlePtr;
  806.                     character IN D2 : CHAR);
  807.  
  808. LIBRARY DosBase BY -324
  809.   PROCEDURE FRead( fh       IN D1 : FileHandlePtr;
  810.                    buf      IN D2 : ANYPTR;
  811.                    blocklen IN D3 : LONGCARD;
  812.                    number   IN D4 : LONGCARD ): LONGCARD;
  813.  
  814. LIBRARY DosBase BY -330
  815.   PROCEDURE FWrite( fh       IN D1 : FileHandlePtr;
  816.                     buf      IN D2 : ANYPTR;
  817.                     blocklen IN D3 : LONGCARD;
  818.                     number   IN D4 : LONGCARD ): LONGCARD;
  819.  
  820. LIBRARY DosBase BY -336
  821.   PROCEDURE FGets( fh     IN D1 : FileHandlePtr;
  822.                    buf    IN D2 : ANYPTR;
  823.                    buflen IN D3 : LONGCARD ): ANYPTR;
  824.  
  825. LIBRARY DosBase BY -342
  826.   PROCEDURE FPuts(     fh  IN D1 : FileHandlePtr;
  827.                    REF str IN D2 : STRING );
  828.  
  829. LIBRARY DosBase BY -348
  830.   PROCEDURE VFWritef(     fh       IN D1 : FileHandlePtr;
  831.                       REF format   IN D2 : STRING;
  832.                           argarray IN D3 : ArgArrayPtr );
  833.  
  834. LIBRARY DosBase BY -354
  835.   PROCEDURE VFPrintf(     fh       IN D1 : FileHandlePtr;
  836.                       REF format   IN D2 : STRING;
  837.                           argarray IN D3 : ArgArrayPtr );
  838.  
  839. LIBRARY DosBase BY -360
  840.   PROCEDURE Flush( fh IN D1 : FileHandlePtr ): LONGBOOL;
  841.  
  842. LIBRARY DosBase BY -366
  843.   PROCEDURE SetVBuf( fh   IN D1 : FileHandlePtr;
  844.                      buff IN D2 : ANYPTR;
  845.                      type IN D3 : BuffType;
  846.                      size IN D4 : LONGINT ): LONGINT;
  847.  
  848. LIBRARY DosBase BY -942
  849.   PROCEDURE WriteChars( REF buf    IN D1 : STRING;
  850.                             buflen IN D2 : LONGINT ): LONGINT;
  851.  
  852. LIBRARY DosBase BY -948
  853.   PROCEDURE PutStr( REF str IN D1: STRING ): LONGINT;
  854.  
  855. LIBRARY DosBase BY -954
  856.   PROCEDURE VPrintf( REF format   IN D1 : STRING;
  857.                          argarray IN D2 : ArgArrayPtr ): LONGINT;
  858.  
  859.  
  860. GROUP
  861.   DosIOGrp   = Open,Close,Read,FileHandlePtr,FileHandlePtr,Seek,Write,
  862.                OpenMode,SeekMode,SelectInput,SelectOutput,FGetC,FPutC,
  863.                UnGetC,FRead,FWrite,FGets,FPuts,VFWritef,VFPrintf,Flush,
  864.                SetVBuf, WriteChars, PutStr, VPrintf, ArgArrayPtr;
  865.  
  866. |-------------------------------------------------------------------------
  867. |  2. Dateiverwaltung
  868. |-------------------------------------------------------------------------
  869.  
  870. LIBRARY DosBase BY -120
  871.   PROCEDURE CreateDir( REF Name IN D1 : STRING ): FileLockPtr;
  872.  
  873. LIBRARY DosBase BY -126
  874.   PROCEDURE CurrentDir( Lock IN D1 : FileLockPtr ): FileLockPtr;
  875.  
  876. LIBRARY DosBase BY -72
  877.   PROCEDURE DeleteFile( REF Name IN D1 : STRING ): LONGBOOL;
  878.  
  879.  
  880. LIBRARY DosBase BY -102
  881.   PROCEDURE Examine(Lock      IN D1 : FileLockPtr;
  882.                     InfoBlock IN D2 : FileInfoBlockPtr): LONGBOOL;
  883.  
  884. LIBRARY DosBase BY -108
  885.   PROCEDURE ExNext( Lock      IN D1 : FileLockPtr;
  886.                     InfoBlock IN D2 : FileInfoBlockPtr ): LONGBOOL;
  887.  
  888. LIBRARY DosBase BY -114
  889.   PROCEDURE Info( Lock           IN D1 : FileLockPtr;
  890.                   ParameterBlock IN D2 : InfoDataPtr ): LONGBOOL;
  891.  
  892. LIBRARY DosBase BY -210
  893.   PROCEDURE ParentDir( Lock IN D1 : FileLockPtr ): FileLockPtr;
  894.  
  895. LIBRARY DosBase BY -78
  896.   PROCEDURE Rename( REF OldName IN D1,
  897.                         NewName IN D2 : STRING ): LONGBOOL;
  898.  
  899. LIBRARY DosBase BY -180
  900.   PROCEDURE SetComment( REF Name    IN D1,
  901.                             Comment IN D2 : STRING ): LONGBOOL;
  902.  
  903. LIBRARY DosBase BY -186
  904.   PROCEDURE SetProtection( REF Name IN D1 : STRING;
  905.                                Mask IN D2 : ProtectionFlagSet ): LONGBOOL;
  906.  
  907. LIBRARY DosBase BY -96
  908.   PROCEDURE DupLock( lock IN D1 : FileLockPtr ): FileLockPtr;
  909.  
  910. LIBRARY DosBase BY -54
  911.   PROCEDURE Input(): FileHandlePtr;
  912.  
  913. LIBRARY DosBase BY -132
  914.   PROCEDURE IoErr(): IoErrors;
  915.  
  916. LIBRARY DosBase BY -216
  917.   PROCEDURE IsInteractive( File IN D1 : FileHandlePtr ): LONGBOOL;
  918.  
  919. LIBRARY DosBase BY -84
  920.   PROCEDURE Lock( REF name       IN D1 : STRING;
  921.                       accessMode IN D2 : LockMode ): FileLockPtr;
  922.  
  923. LIBRARY DosBase BY -60
  924.   PROCEDURE Output(): FileHandlePtr;
  925.  
  926. LIBRARY DosBase BY -90
  927.   PROCEDURE Unlock( Lock IN D1 : FileLockPtr );
  928.  
  929. LIBRARY DosBase BY -270
  930.   PROCEDURE LockRecord( fh      IN D1 : FileHandlePtr;
  931.                         offset  IN D2 : LONGCARD;
  932.                         length  IN D3 : LONGCARD;
  933.                         mode    IN D4 : LONGCARD;
  934.                         timeout IN D5 : LONGCARD ): LONGBOOL;
  935.  
  936. LIBRARY DosBase BY -276
  937.   PROCEDURE LockRecords( recArray IN D1 : RecordLockPtr;
  938.                          timeout  IN D2 : LONGCARD ): LONGBOOL;
  939.  
  940. LIBRARY DosBase BY -282
  941.   PROCEDURE UnLockRecord( fh     IN D1 : FileHandlePtr;
  942.                           offset IN D2 : LONGCARD;
  943.                           length IN D3 : LONGCARD ): LONGBOOL;
  944.  
  945. LIBRARY DosBase BY -288
  946.   PROCEDURE UnLockRecords(recArray IN D1 : RecordLockPtr):LONGBOOL;
  947.  
  948. LIBRARY DosBase BY -372
  949.   PROCEDURE DupLockFromFH( fh IN D1: FileHandlePtr ): FileLockPtr;
  950.  
  951. LIBRARY DosBase BY -378
  952.   PROCEDURE OpenFromLock( lock IN D1: FileLockPtr ): FileLockPtr;
  953.  
  954. LIBRARY DosBase BY -384
  955.   PROCEDURE ParentOfFH( fh IN D1: FileHandlePtr ): FileHandlePtr;
  956.  
  957. LIBRARY DosBase BY -390
  958.   PROCEDURE ExamineFH( fh  IN D1 : FileHandlePtr;
  959.                        fib IN D2 : FileInfoBlockPtr ): LONGBOOL;
  960.  
  961. LIBRARY DosBase BY -396
  962.   PROCEDURE SetFileDate( REF name IN D1 : STRING;
  963.                              date IN D2 : DatePtr ): LONGBOOL;
  964.  
  965. PROCEDURE NameFromLock(     lock   : FileLockPtr;
  966.                         VAR buffer : STRING;
  967.                             len    : LONGINT:=0): LONGBOOL;
  968.  
  969.  
  970. PROCEDURE NameFromFH(     fh     : FileHandlePtr;
  971.                       VAR buffer : STRING;
  972.                           len    : LONGINT:=0 ): LONGBOOL;
  973.  
  974. PROCEDURE SplitName( REF name      : STRING;
  975.                          seperator : CHAR;
  976.                      VAR buf       : STRING;
  977.                          oldpos    : INTEGER;
  978.                          size      : LONGINT:=0): INTEGER;
  979.  
  980. LIBRARY DosBase BY -420
  981.   PROCEDURE SameLock( lock1 IN D1 : FileLockPtr;
  982.                       lock2 IN D2 : FileLockPtr ): SameLockType;
  983.  
  984. LIBRARY DosBase BY -426
  985.   PROCEDURE SetMode( fh   IN D1 : FileHandlePtr;
  986.                      mode IN D2 : ScreenType ): LONGBOOL;
  987.  
  988. LIBRARY DosBase BY -432
  989.   PROCEDURE ExAll( lock    IN D1 : FileLockPtr;
  990.                    buffer  IN D2 : ANYPTR;
  991.                    size    IN D3 : LONGINT;
  992.                    type    IN D4 : ExAllType;
  993.                    control IN D5 : ExAllControlPtr ): LONGBOOL;;
  994.  
  995. PROCEDURE ReadLink(     port   : MsgPortPtr;
  996.                         lock   : FileLockPtr;
  997.                     REF path   : STRING;
  998.                     VAR buffer : STRING;
  999.                         size   : LONGCARD:=0): LONGBOOL;
  1000.  
  1001. LIBRARY DosBase BY -444
  1002.   PROCEDURE MakeLink( REF name IN D1 : STRING;
  1003.                           dest IN D2 : LONGINT;
  1004.                           soft IN D3 : LinkType): LONGBOOL;
  1005.  
  1006. LIBRARY DosBase BY -450
  1007.   PROCEDURE ChangeMode( type    IN D1 : ChangeModeType;
  1008.                         fh      IN D2 : FileHandlePtr;
  1009.                         newmode IN D3 : LockMode): LONGBOOL;
  1010.  
  1011. LIBRARY DosBase BY -456
  1012.   PROCEDURE SetFileSize( fh   IN D1 : FileHandlePtr;
  1013.                          pos  IN D2 : LONGINT;
  1014.                          mode IN D3 : SeekMode): LONGINT;
  1015.  
  1016. LIBRARY DosBase BY -462
  1017.   PROCEDURE SetIoErr( result IN D1 : LONGINT ): LONGINT;
  1018.  
  1019. LIBRARY DosBase BY -708
  1020.   PROCEDURE IsFileSystem( REF name IN D1 : STRING ): LONGBOOL;
  1021.  
  1022. LIBRARY DosBase BY -714
  1023.   PROCEDURE Format( REF filesystem IN D1 : STRING;
  1024.                     REF volumename IN D2 : STRING;
  1025.                         dostype    IN D3 : LONGCARD ): LONGBOOL;
  1026.  
  1027. LIBRARY DosBase BY -720
  1028.   PROCEDURE Relabel( REF drive   IN D1 : STRING;
  1029.                      REF newname IN D2 : STRING ): LONGBOOL;
  1030.  
  1031. LIBRARY DosBase BY -726
  1032.   PROCEDURE Inhibit( REF name  IN D1 : STRING;
  1033.                          onoff IN D2 : LONGINT ): LONGBOOL;
  1034.  
  1035. LIBRARY DosBase BY -732
  1036.   PROCEDURE AddBuffers( REF name   IN D1 : STRING;
  1037.                             number IN D2 : LONGINT ): LONGBOOL;
  1038.  
  1039. LIBRARY DosBase BY -738
  1040.   PROCEDURE CompareDates( date1 IN D1 : DatePtr;
  1041.                           date2 IN D2 : DatePtr ): LONGINT;
  1042.  
  1043. LIBRARY DosBase BY -984
  1044.   PROCEDURE SameDevice( lock1 IN D1 : FileLockPtr;
  1045.                         lock2 IN D2 : FileLockPtr ): LONGBOOL;
  1046.  
  1047. GROUP
  1048.   DosFileGrp  =  CreateDir,FileLockPtr, CurrentDir,DeleteFile,
  1049.                  Examine,FileInfoBlockPtr,FileInfoBlock,Info,
  1050.                  InfoDataPtr,InfoData,ParentDir,Rename,SetComment,
  1051.                  SetComment,SetProtection,ProtectionFlagSet,
  1052.                  ProtectionFlags,DupLock,Input,IoErr,IsInteractive,
  1053.                  Lock,Lock,Output,Unlock,LockMode,LockRecord,DatePtr,
  1054.                  LockRecords, UnLockRecord, UnLockRecords, DupLockFromFH,
  1055.                  OpenFromLock, ParentOfFH, ExamineFH, SetFileDate,
  1056.                  NameFromLock,NameFromFH, SplitName, SameLock, SetMode,
  1057.                  ExAll, ReadLink,MakeLink, ChangeMode, SetFileSize,
  1058.                  SetIoErr, IsFileSystem,Format, Relabel, Inhibit,
  1059.                  AddBuffers, CompareDates, SameDevice,ExAllControl,
  1060.                  ExAllType,ScreenType,LinkType,LockMode;
  1061.  
  1062. |-------------------------------------------------------------------------
  1063. |  4. Prozeßverwaltung
  1064. |-------------------------------------------------------------------------
  1065.  
  1066. LIBRARY DosBase BY -138
  1067.   PROCEDURE CreateProc( REF Name       IN D1 : STRING;
  1068.                             Pri        IN D2 : LONGINT;
  1069.                             Segment    IN D3 : BPTR;
  1070.                             StackSize  IN D4 : LONGINT):ProcessId;
  1071.  
  1072. LIBRARY DosBase BY -192
  1073.   PROCEDURE DateStamp( VAR Date IN D1 : Date );
  1074.  
  1075. | Due to a bug in the kickstart ROM, we'll fix the problem ourselves
  1076. | |LIBRARY DosBase BY-198
  1077. PROCEDURE Delay( ticks IN D1  : LONGCARD );
  1078.  
  1079. LIBRARY DosBase BY -198
  1080.   PROCEDURE oldDelay( ticks IN D1 : LONGCARD );
  1081.  
  1082. LIBRARY DosBase BY -174
  1083.   PROCEDURE DeviceProc( REF Name IN D1 : STRING ): ProcessId;
  1084.  
  1085. LIBRARY DosBase BY -144
  1086.   PROCEDURE Exit( ReturnCode IN D1 : LONGINT );
  1087.  
  1088. LIBRARY DosBase BY -204
  1089.   PROCEDURE WaitForChar( File    IN D1 : FileHandlePtr;
  1090.                          Timeout IN D2 : LONGINT ): LONGBOOL;
  1091.  
  1092. PROCEDURE Fault(     code   : IoErrors;
  1093.                  REF header : STRING;
  1094.                  VAR buffer : STRING;
  1095.                      len    : LONGINT:=0 ): LONGBOOL;
  1096.  
  1097. LIBRARY DosBase BY -474
  1098.   PROCEDURE PrintFault(     code   IN D1 : IoErrors;
  1099.                         REF header IN D2 : STRING ): LONGBOOL;
  1100.  
  1101. LIBRARY DosBase BY -480
  1102.   PROCEDURE ErrorReport( code   IN D1 : LONGINT;
  1103.                          type   IN D2 : LONGINT;
  1104.                          arg1   IN D3 : LONGCARD;
  1105.                          device IN D4 : MsgPortPtr ): LONGBOOL;
  1106.  
  1107. LIBRARY DosBase BY -492
  1108.   PROCEDURE Cli(): CommandLineInterfacePtr;
  1109.  
  1110. LIBRARY DosBase BY -498
  1111.   PROCEDURE CreateNewProc( tags IN D1 : LIST OF NewProcTags): ProcessPtr;
  1112.  
  1113. LIBRARY DosBase BY -498
  1114.   PROCEDURE CreateNewProcList( tags IN D1: NewProcTagListPtr ): ProcessPtr;
  1115.  
  1116. LIBRARY DosBase BY -504
  1117.   PROCEDURE RunCommand(     seg      IN D1 : BPTR;
  1118.                             stack    IN D2 : LONGCARD;
  1119.                         REF param    IN D3 : STRING;
  1120.                             paramlen IN D4 : LONGCARD ): LONGINT;
  1121.  
  1122. LIBRARY DosBase BY -510
  1123.   PROCEDURE GetConsoleTask(): MsgPortPtr;
  1124.  
  1125. LIBRARY DosBase BY -516
  1126.   PROCEDURE SetConsoleTask( task IN D1 : MsgPortPtr ): MsgPortPtr;
  1127.  
  1128. LIBRARY DosBase BY -522
  1129.   PROCEDURE GetFileSysTask(): MsgPortPtr;
  1130.  
  1131. LIBRARY DosBase BY -528
  1132.   PROCEDURE SetFileSysTask( task IN D1 : MsgPortPtr ): MsgPortPtr;
  1133.  
  1134. LIBRARY DosBase BY -534
  1135.   PROCEDURE GetArgStr(): SysStringPtr;
  1136.  
  1137. LIBRARY DosBase BY -540
  1138.   PROCEDURE SetArgStr( REF string IN D1 : STRING ): SysStringPtr;
  1139.  
  1140. LIBRARY DosBase BY -546
  1141.   PROCEDURE FindCliProc( num IN D1 : LONGINT ): ProcessPtr;
  1142.  
  1143. LIBRARY DosBase BY -552
  1144.   PROCEDURE MaxCli(): LONGINT;
  1145.  
  1146. LIBRARY DosBase BY -558
  1147.   PROCEDURE SetCurrentDirName( REF name IN D1 : STRING ): LONGBOOL;
  1148.  
  1149. PROCEDURE GetCurrentDirName( VAR buf : STRING;
  1150.                                  len : LONGINT:=0): LONGBOOL;
  1151.  
  1152. LIBRARY DosBase BY -570
  1153.   PROCEDURE SetProgramName( REF name IN D1 : STRING ): LONGBOOL;
  1154.  
  1155. PROCEDURE GetProgramName( VAR buf : STRING;
  1156.                               len : LONGINT:=0): LONGBOOL;
  1157.  
  1158. LIBRARY DosBase BY -582
  1159.   PROCEDURE SetPrompt( REF name IN D1 : STRING ): LONGBOOL;
  1160.  
  1161. PROCEDURE GetPrompt( VAR buf : STRING;
  1162.                          len : LONGINT:=0): LONGBOOL;
  1163.  
  1164. LIBRARY DosBase BY -594
  1165.   PROCEDURE SetProgramDir( lock IN D1 : FileLockPtr ): FileLockPtr;
  1166.  
  1167. LIBRARY DosBase BY -600
  1168.   PROCEDURE GetProgramDir(): FileLockPtr;
  1169.  
  1170. LIBRARY DosBase BY -606
  1171.   PROCEDURE CallSystemTags( REF command IN D1 : STRING;
  1172.                                 tags    IN D2 : LIST OF SystemTags):LONGINT;
  1173. LIBRARY DosBase BY -606
  1174.   PROCEDURE CallSystemTagList(REF command IN D1 : STRING;
  1175.                                   tags    IN D2 : SystemTagListPtr):LONGINT;
  1176.  
  1177. LIBRARY DosBase BY -612
  1178.   PROCEDURE AssignLock( REF name IN D1 : STRING;
  1179.                             lock IN D2 : FileLockPtr ): LONGBOOL;
  1180.  
  1181. LIBRARY DosBase BY -618
  1182.   PROCEDURE AssignLate( REF name IN D1 : STRING;
  1183.                         REF path IN D2 : STRING ): LONGBOOL;
  1184.  
  1185. LIBRARY DosBase BY -624
  1186.   PROCEDURE AssignPath( REF name IN D1 : STRING;
  1187.                         REF path IN D2 : STRING ): LONGBOOL;
  1188.  
  1189. LIBRARY DosBase BY -630
  1190.   PROCEDURE AssignAdd( REF name IN D1 : STRING;
  1191.                            lock IN D2 : FileLockPtr ): LONGBOOL;
  1192.  
  1193. LIBRARY DosBase BY -636
  1194.   PROCEDURE RemAssignList( REF name IN D1 : STRING;
  1195.                                lock IN D2 : FileLockPtr ): LONGBOOL;
  1196.  
  1197. LIBRARY DosBase BY -642
  1198.   PROCEDURE GetDeviceProc( REF name IN D1 : STRING;
  1199.                                dp   IN D2 : DevProcPtr ): DevProcPtr;
  1200.  
  1201. LIBRARY DosBase BY -648
  1202.   PROCEDURE FreeDeviceProc( dp IN D1 : DevProcPtr);
  1203.  
  1204. LIBRARY DosBase BY -744
  1205.   PROCEDURE DateToStr(VAR datetime IN D1 : DateTime ): LONGBOOL;
  1206.  
  1207. LIBRARY DosBase BY -750
  1208.   PROCEDURE StrToDate(VAR datetime IN D1 : DateTime ): LONGBOOL;
  1209.  
  1210.  
  1211.  
  1212. GROUP
  1213.   DosProcessGrp  = CreateProc,CreateProc,DateStamp,Delay,DeviceProc,Exit,
  1214.                    WaitForChar,ticksPerSecond,Date,Process,ProcessPtr,
  1215.                    ProcessId, Fault, PrintFault, ErrorReport, Cli,
  1216.                    CreateNewProc,RunCommand, GetConsoleTask,
  1217.                    SetConsoleTask, SetFileSysTask,GetArgStr, SetArgStr,
  1218.                    FindCliProc,MaxCli,SetCurrentDirName,GetCurrentDirName,
  1219.                    SetProgramName, GetProgramName, SetPrompt,GetPrompt,
  1220.                    SystemTagListPtr, AssignLock, AssignLate, AssignPath,
  1221.                    AssignAdd, RemAssignList, GetDeviceProc, FreeDeviceProc,
  1222.                    StrToDate,DateToStr,FileLockPtr,DevProcPtr,MsgPortPtr,
  1223.                    IoErrors,CommandLineInterfacePtr,SystemTags,
  1224.                    SystemTagList,NewProcTags,NewProcTags;
  1225.  
  1226.  
  1227. |------------------------------------------------------------------------
  1228. |  5. Programme laden
  1229. |------------------------------------------------------------------------
  1230.  
  1231. LIBRARY DosBase BY -222
  1232.   PROCEDURE Execute( REF CommandString IN D1 : STRING;
  1233.                          Input         IN D2 : FileHandlePtr;
  1234.                          Output        IN D3 : FileHandlePtr ): LONGBOOL;
  1235.  
  1236. LIBRARY DosBase BY -150
  1237.   PROCEDURE LoadSeg( REF Name IN D1 : STRING ): BPTR;
  1238.  
  1239. LIBRARY DosBase BY -156
  1240.   PROCEDURE UnLoadSeg( Segment IN D1 : BPTR );
  1241.  
  1242. LIBRARY DosBase BY -756
  1243.   PROCEDURE InternalLoadSeg( fh        IN D0 : FileHandlePtr;
  1244.                              table     IN A0 : BPTR;
  1245.                              funcarray IN A1 : ANYPTR;
  1246.                              stack     IN A2 : ANYPTR ): BPTR;
  1247.  
  1248. LIBRARY DosBase BY -762
  1249.   PROCEDURE InternalUnLoadSeg(seglist  IN D1 : BPTR;
  1250.                               freefunc IN A1 : ANYPTR):LONGBOOL;
  1251.  
  1252. LIBRARY DosBase BY -768
  1253.   PROCEDURE NewLoadSeg( REF file IN D1 : STRING;
  1254.                             tags IN D2 : TagListPtr ): BPTR;
  1255.  
  1256. LIBRARY DosBase BY -774
  1257.   PROCEDURE AddSegment( REF name   IN D1 : STRING;
  1258.                             seg    IN D2 : BPTR;
  1259.                             system IN D3 : LONGINT ): LONGBOOL;
  1260.  
  1261. LIBRARY DosBase BY -780
  1262.   PROCEDURE FindSegment( REF name   IN D1 : STRING;
  1263.                              seg    IN D2 : BPTR;
  1264.                              system IN D3 : LONGINT ): BPTR;
  1265.  
  1266. LIBRARY DosBase BY -786
  1267.   PROCEDURE RemSegment( seg IN D1 : BPTR ): LONGBOOL;
  1268.  
  1269. GROUP
  1270.   DosSegmentGrp  = Execute,LoadSeg, UnLoadSeg, InternalLoadSeg,
  1271.                    InternalUnLoadSeg,NewLoadSeg, AddSegment,
  1272.                    FindSegment, RemSegment, BPTR,FileHandlePtr;
  1273.  
  1274. |-------------------------------------------------------------------------
  1275. |  6. DOS-Interne Befehle
  1276. |-------------------------------------------------------------------------
  1277.  
  1278. LIBRARY DosBase BY -162
  1279.   PROCEDURE GetPacket( Wait IN D1 : LONGINT ): DosPacketPtr;
  1280.  
  1281. LIBRARY DosBase BY -168
  1282.   PROCEDURE QueuePacket( Packet IN D1 : DosPacketPtr ): LONGINT;
  1283.  
  1284. LIBRARY DosBase BY -240
  1285.   PROCEDURE DoPkt( port   IN D1 : MsgPortPtr;
  1286.                    action IN D2 : LONGINT;
  1287.                    arg1   IN D3 : LONGINT;
  1288.                    arg2   IN D4 : LONGINT;
  1289.                    arg3   IN D5 : LONGINT;
  1290.                    arg4   IN D6 : LONGINT;
  1291.                    arg5   IN D7 : LONGINT ): LONGINT;
  1292.  
  1293. LIBRARY DosBase BY -246
  1294.   PROCEDURE SendPkt( dp        IN D1 : DosPacketPtr;
  1295.                      port      IN D2 : MsgPortPtr;
  1296.                      replyport IN D3 : MsgPortPtr );
  1297.  
  1298. LIBRARY DosBase BY -252
  1299.   PROCEDURE WaitPkt(): DosPacketPtr;
  1300.  
  1301. LIBRARY DosBase BY -258
  1302.   PROCEDURE ReplyPkt( dp   IN D1 : DosPacketPtr;
  1303.                       res1 IN D2 : LONGINT;
  1304.                       res2 IN D3 : LONGINT );
  1305.  
  1306. LIBRARY DosBase BY -264
  1307.   PROCEDURE AbortPkt( port IN D1 : MsgPortPtr;
  1308.                       pkt  IN D2 : DosPacketPtr );
  1309.  
  1310. LIBRARY DosBase BY -924
  1311.   PROCEDURE CliInit( dp IN A0 : DosPacketPtr ): LONGINT;
  1312.  
  1313. LIBRARY DosBase BY -930
  1314.   PROCEDURE CliInitNewCli( dp IN A0 : DosPacketPtr ): LONGINT;
  1315.  
  1316. LIBRARY DosBase BY -936
  1317.   PROCEDURE CliInitRun( dp IN A0 : DosPacketPtr ): LONGINT;
  1318.  
  1319.  
  1320. GROUP
  1321.   PacketGrp     = DosPacket,DosPacketPtr,StandardPacket,StandardPacketPtr,
  1322.                   nil,getBlock,setMap,die,event,currentVolume,locateObject,
  1323.                   renameDisk,write,read,freelock,deleteObject,renameObject,
  1324.                   moreCache,copyDir,waitChar,setProtect,createDir,
  1325.                   examineObject,examineNext,diskInfo,info,flush,setComment,
  1326.                   parent,timer,inhibit,diskType,diskChange,setDate,
  1327.                   screenMode,readReturn,writeReturn,findUpDate,findInput,
  1328.                   findOutput,actionEnd,seek,truncate,writeLock,
  1329.                   GetPacket,QueuePacket, DoPkt, SendPkt, WaitPkt, ReplyPkt,
  1330.                   AbortPkt, CliInit, CliInitNewCli, CliInitRun,MsgPortPtr
  1331.  
  1332. |-------------------------------------------------------------------------
  1333. |  7. Dos - Listen Befehle
  1334. |-------------------------------------------------------------------------
  1335.  
  1336. LIBRARY DosBase BY -654
  1337.   PROCEDURE LockDosList( flags IN D1 : LockDosFlagSet ): DosListPtr;
  1338.  
  1339. LIBRARY DosBase BY -660
  1340.   PROCEDURE UnLockDosList( flags IN D1 : LockDosFlagSet );
  1341.  
  1342. LIBRARY DosBase BY -666
  1343.   PROCEDURE AttemptLockDosList( flags IN D1 : LockDosFlagSet ): DosListPtr;
  1344.  
  1345. LIBRARY DosBase BY -672
  1346.   PROCEDURE RemDosEntry( dlist IN D1 : DosListPtr ): LONGBOOL;
  1347.  
  1348. LIBRARY DosBase BY -678
  1349.   PROCEDURE AddDosEntry( dlist IN D1 : DosListPtr ): LONGBOOL;
  1350.  
  1351. LIBRARY DosBase BY -684
  1352.   PROCEDURE FindDosEntry(     dlist IN D1 : DosListPtr;
  1353.                           REF name  IN D2 : STRING;
  1354.                               flags IN D3 : LONGCARD ): DosListPtr;
  1355.  
  1356. LIBRARY DosBase BY -690
  1357.   PROCEDURE NextDosEntry( dlist IN D1 : DosListPtr;
  1358.                           flags IN D2 : LONGCARD ): DosListPtr;
  1359.  
  1360. LIBRARY DosBase BY -696
  1361.   PROCEDURE MakeDosEntry( REF name IN D1 : STRING;
  1362.                               type IN D2 : LONGINT ): DosListPtr;
  1363.  
  1364. LIBRARY DosBase BY -702
  1365.   PROCEDURE FreeDosEntry( dlist IN D1: DosListPtr );
  1366.  
  1367.  
  1368. GROUP
  1369.   DosListGrp    =  LockDosList, UnLockDosList, AttemptLockDosList,
  1370.                    RemDosEntry,AddDosEntry, FindDosEntry, NextDosEntry,
  1371.                    MakeDosEntry,FreeDosEntry, LockDosFlags,
  1372.                    LockDosFlagSet, DosListPtr;
  1373.  
  1374. |** Now the new 2.0 Functions **
  1375.  
  1376.  
  1377. |-------------------------------------------------------------------------
  1378. |  8. Argument/PatternMatch & sonstige String Manipulationen
  1379. |-------------------------------------------------------------------------
  1380.  
  1381. LIBRARY DosBase BY -798
  1382.   PROCEDURE ReadArgs( REF template IN D1 : STRING;
  1383.                           array    IN D2 : ANYPTR;
  1384.                           args     IN D3 : RDArgsPtr ): RDArgsPtr;
  1385.  
  1386. LIBRARY DosBase BY -804
  1387.   PROCEDURE FindArg( REF keyword  IN D1 : STRING;
  1388.                      REF template IN D2 : STRING ): LONGINT;
  1389.  
  1390. LIBRARY DosBase BY -810
  1391.   PROCEDURE ReadItem( REF name     IN D1 : STRING;
  1392.                           maxchars IN D2 : LONGINT;
  1393.                           cSource  IN D3 : CSourcePtr ): LONGINT;
  1394.  
  1395. LIBRARY DosBase BY -816
  1396.   PROCEDURE StrToLong( REF string IN D1 : STRING;
  1397.                            value  IN D2 : ANYPTR ): LONGINT;
  1398.  
  1399. LIBRARY DosBase BY -822
  1400.   PROCEDURE MatchFirst( REF pat    IN D1 : STRING;
  1401.                             anchor IN D2 : AnchorPathPtr ): LONGBOOL;
  1402.  
  1403. LIBRARY DosBase BY -828
  1404.   PROCEDURE MatchNext( anchor IN D1 : AnchorPathPtr ): LONGBOOL;
  1405.  
  1406. LIBRARY DosBase BY -834
  1407.   PROCEDURE MatchEnd( anchor IN D1 : AnchorPathPtr );
  1408.  
  1409. LIBRARY DosBase BY -840
  1410.   PROCEDURE ParsePattern( REF pat    IN D1 : STRING;
  1411.                           REF buf    IN D2 : STRING;
  1412.                               buflen IN D3 : LONGINT ): LONGINT;
  1413.  
  1414. LIBRARY DosBase BY -846
  1415.   PROCEDURE MatchPattern( REF pat IN D1 : STRING;
  1416.                           REF str IN D2 : STRING ): LONGBOOL;
  1417.  
  1418.  
  1419.  
  1420. LIBRARY DosBase BY -858
  1421.   PROCEDURE FreeArgs( args IN D1 : RDArgsPtr );
  1422.  
  1423. LIBRARY DosBase BY -870
  1424.   PROCEDURE FilePart( REF path IN D1 : STRING ): SysStringPtr;
  1425.  
  1426. LIBRARY DosBase BY -876
  1427.   PROCEDURE PathPart( REF path IN D1 : STRING ): SysStringPtr;
  1428.  
  1429. LIBRARY DosBase BY -882
  1430.   PROCEDURE AddPart( REF dirname  IN D1 : STRING;
  1431.                      REF filename IN D2 : STRING;
  1432.                          size     IN D3 : LONGCARD ): LONGBOOL;
  1433.  
  1434. LIBRARY DosBase BY -966
  1435.   PROCEDURE ParsePatternNoCase( REF buf    IN D1 : STRING;
  1436.                                     pat    IN D2 : ANYPTR;
  1437.                                     buflen IN D3 : LONGINT ): LONGINT;
  1438.  
  1439. LIBRARY DosBase BY -972
  1440.   PROCEDURE MatchPatternNoCase(     pat IN D1 : ANYPTR;
  1441.                                 REF str IN D2 : STRING ): LONGBOOL;
  1442.  
  1443.  
  1444. GROUP
  1445.   DosArgGrp     =  ReadArgs, FindArg, ReadItem, StrToLong, MatchFirst,
  1446.                    MatchNext,MatchEnd, ParsePattern, MatchPattern,
  1447.                    FreeArgs, FilePart,PathPart, AddPart, RDArgs,
  1448.                    RDArgsPtr, CSource, CSourcePtr,AnchorPath,
  1449.                    AnchorPathPtr, ParsePatternNoCase, MatchPatternNoCase;
  1450.  
  1451.  
  1452. |-------------------------------------------------------------------------
  1453. |  9. Var Group
  1454. |-------------------------------------------------------------------------
  1455. LIBRARY DosBase BY -900
  1456.   PROCEDURE SetVar( REF name   IN D1 : STRING;
  1457.                     REF buffer IN D2 : STRING;
  1458.                         size   IN D3 : LONGINT;
  1459.                         flags  IN D4 : GetVarFlagSet): LONGBOOL;
  1460.  
  1461. PROCEDURE GetVar( REF name   : STRING;
  1462.                   VAR buffer : STRING;
  1463.                       size   : LONGINT;
  1464.                       flags  : GetVarFlagSet): LONGBOOL;
  1465.  
  1466. LIBRARY DosBase BY -912
  1467.   PROCEDURE DeleteVar( REF name  IN D1 : STRING;
  1468.                            flags IN D2 : GetVarFlagSet): LONGBOOL;
  1469.  
  1470. LIBRARY DosBase BY -918
  1471.   PROCEDURE FindVar( REF name IN D1: STRING;
  1472.                          type IN D2: GetVarFlagSet): LocalVarPtr;
  1473.  
  1474.  
  1475. GROUP
  1476.   DosVarGrp     =  SetVar, GetVar, DeleteVar, FindVar, LocalVar,
  1477.                    LocalVarPtr,GetVarFlags;
  1478.  
  1479.  
  1480. |-------------------------------------------------------------------------
  1481. |  10. Misc
  1482. |-------------------------------------------------------------------------
  1483.  
  1484.  
  1485. LIBRARY DosBase BY -228
  1486.   PROCEDURE AllocDosObject( type IN D1 : DosObject;
  1487.                             tags IN D2 : LIST OF DosObjectTags):ANYPTR;
  1488. LIBRARY DosBase BY -228
  1489.   PROCEDURE AllocDosObjectList( type IN D1 : DosObject;
  1490.                                 tags IN D2 : DosObjectTagListPtr):ANYPTR;
  1491.  
  1492. LIBRARY DosBase BY -234
  1493.   PROCEDURE FreeDosObject( type IN D1 : DosObject;
  1494.                            ptr  IN D2 : ANYPTR );
  1495.  
  1496. LIBRARY DosBase BY -792
  1497.   PROCEDURE CheckSignal( mask IN D1 : LONGCARD ): LONGCARD;
  1498.  
  1499.  
  1500. LIBRARY DosBase BY -888
  1501.   PROCEDURE StartNotify( notify IN D1 : NotifyRequestPtr ): LONGBOOL;
  1502.  
  1503. LIBRARY DosBase BY -894
  1504.   PROCEDURE EndNotify( notify IN D1 : NotifyRequestPtr );
  1505.  
  1506.  
  1507. GROUP
  1508.   DosMiscGrp    =  AllocDosObject, FreeDosObject, CheckSignal, StartNotify,
  1509.                    EndNotify, NotifyRequest, NotifyRequestPtr;
  1510.  
  1511.   TypeGrp       = AChainFlags,        AnchorPathFlags,    BreakSignals,
  1512.                   ChangeModeType,     DateFormats,        DatFlags,
  1513.                   DeviceListType,     DevProcFlags,       DiskStatus,
  1514.                   DiskType,           DosCommands,        DosObject,
  1515.                   EntryType,          ErrorReportType,    ExAllType,
  1516.                   External,           GetVarFlags,
  1517.                   Hunks,              IoErrors,           LinkType,
  1518.                   GetVarFlags,        LockDosFlags,       LockMode,
  1519.                   NotifyRequestFlags, OpenMode,
  1520.                   ProcessFlags,       ProtectionFlags,    RDArgsFlags,
  1521.                   ReadItemType,       ReturnCode,         RootNodeFlags,
  1522.                   RunType,            SameLockType,       SameLockType,
  1523.                   SeekMode;
  1524.  
  1525.  
  1526. GROUP
  1527.   All           = AChain,
  1528.                   BSTR,                         CommandLineInterface,
  1529.                   CommandLineInterfacePtr,      ctrlC,
  1530.                   ctrlD,                        ctrlE,
  1531.                   ctrlF,                        Date,
  1532.                   DatePtr,                      DateTime,
  1533.                   DateTimePtr,
  1534.                   DeviceList,                   DeviceListPtr,
  1535.                   DeviceListType,               DeviceNode,
  1536.                   DeviceNodePtr,                DevProc,
  1537.                   DosArgGrp,                    DosBase,
  1538.                   DosEnvec,                     DosEnvecPtr,
  1539.                   DosErrorGrp,
  1540.                   DosFileGrp,                   DosInfo,
  1541.                   DosInfoPtr,                   DosIOGrp,
  1542.                   DosLibrary,                   DosLibraryPtr,
  1543.                   DosListGrp,                   DosMiscGrp,
  1544.                   DosProcessGrp,                DosSegmentGrp,
  1545.                   DosVarGrp,                    error,
  1546.                   fail,                         FileHandle,
  1547.                   FileLock,                     FileSysStartupMsg,
  1548.                   FileSysStartupMsgPtr,         ok,
  1549.                   PacketGrp,                    PathInfo,
  1550.                   PathInfoPtr,                  Process,
  1551.                   ResidentSegment,              ResidentSegmentPtr,
  1552.                   RootNode,                     RootNodePtr,
  1553.                   TaskArray,                    TaskArrayPtr,
  1554.                   TypeGrp,                      warn;
  1555.  
  1556.  
  1557. LIBRARY DosBase BY -402
  1558.   PROCEDURE ROMNameFromLock(lock   IN D1 : FileLockPtr;
  1559.                             buffer IN D2 : SysStringPtr;
  1560.                             len    IN D3 : LONGINT ): LONGBOOL;
  1561.  
  1562.  
  1563. LIBRARY DosBase BY -408
  1564.   PROCEDURE ROMNameFH(fh     IN D1 : FileHandlePtr;
  1565.                       buffer IN D2 : SysStringPtr;
  1566.                       len    IN D3 : LONGINT ): LONGBOOL;
  1567.  
  1568.  
  1569. LIBRARY DosBase BY -414
  1570.   PROCEDURE ROMSplitName( REF name      IN D1 : STRING;
  1571.                               seperator IN D2 : CHAR;
  1572.                               buf       IN D3 : SysStringPtr;
  1573.                               oldpos    IN D4 : INTEGER;
  1574.                               size      IN D5 : LONGINT ): INTEGER;
  1575.  
  1576. LIBRARY DosBase BY -438
  1577.   PROCEDURE ROMReadLink(     port   IN D1 : MsgPortPtr;
  1578.                              lock   IN D2 : FileLockPtr;
  1579.                          REF path   IN D3 : STRING;
  1580.                              buffer IN D4 : SysStringPtr;
  1581.                              size   IN D5 : LONGCARD ): LONGBOOL;
  1582.  
  1583. LIBRARY DosBase BY -468
  1584.   PROCEDURE ROMFault(     code   IN D1 : IoErrors;
  1585.                       REF header IN D2 : STRING;
  1586.                           buffer IN D3 : SysStringPtr;
  1587.                           len    IN D4 : LONGINT ): LONGBOOL;
  1588.  
  1589.  LIBRARY DosBase BY -564
  1590.   PROCEDURE ROMGetCurrentDirName(buf IN D1 : SysStringPtr;
  1591.                                  len IN D2 : LONGINT ): LONGBOOL;
  1592.  
  1593.  
  1594. LIBRARY DosBase BY -576
  1595.   PROCEDURE ROMGetProgramName(  buf IN D1 : SysStringPtr;
  1596.                                 len IN D2 : LONGINT ): LONGBOOL;
  1597.  
  1598.  
  1599. LIBRARY DosBase BY -906
  1600.   PROCEDURE ROMGetVar( REF name   IN D1 : STRING;
  1601.                            buffer IN D2 : SysStringPtr;
  1602.                            size   IN D3 : LONGINT;
  1603.                            flags  IN D4 : GetVarFlagSet): LONGBOOL;
  1604.  
  1605. LIBRARY DosBase BY -198
  1606.   PROCEDURE ROMDelay( ticks IN D1 : LONGCARD );
  1607.  
  1608. LIBRARY DosBase BY -588
  1609.   PROCEDURE ROMGetPrompt(  buf IN D1 : SysStringPtr;
  1610.                            len IN D2 : LONGINT ): LONGBOOL;
  1611.  
  1612. END Dos.
  1613.