|##########| |#MAGIC #|CLABLJEK |#PROJECT #|"IMPORTALL" |#PATHS #|"StdProject" |#FLAGS #|xx---x--x---x-x----------------- |#USERSW #|-------------------------------- |#USERMASK#|-------------------------------- |#SWITCHES#|x----x---------- |##########| (* $A- *) DEFINITION MODULE Dos; FROM System IMPORT BPTR,LONGSET,BITSET,PROC,SysStringPtr,Regs; FROM Resources IMPORT ResHandles; FROM Exec IMPORT Library,Message,MessagePtr,MsgPort,MsgPortPtr, Task,LibraryPtr,MinList,MinNode,TaskPtr,Node, SignalSemaphore; FROM Utility IMPORT tagUser,TagListPtr,HookPtr,StdTags; TYPE BSTR = BCPLPTR TO CHAR; FileHandlePtr = BCPLPTR TO FileHandle; FileHandleCPtr = POINTER TO FileHandle; FileLockPtr = BCPLPTR TO FileLock; FileLockCPtr = POINTER TO FileLock; ProcessId = POINTER TO MsgPort; DeviceListPtr = BCPLPTR TO DeviceList; DEFINITION MODULE FileHandleRes = ResHandles( FileHandleCPtr ); DEFINITION MODULE FileLockRes = ResHandles( FileLockCPtr ); CONST lenDatString = 16; TYPE DatFlags = (Subst,Future); DatFlagSet = SET OF DatFlags; DateFormats = (DOS,INT,USA,CDN,MAX=CDN); DatePtr = POINTER TO Date; Date = RECORD days : LONGCARD; minute : LONGCARD; tick : LONGCARD; END; DateTimePtr = POINTER TO DateTime; DateTime = RECORD OF Date; format : DateFormats; flags : DatFlagSet; strDay : SysStringPtr; strDate : SysStringPtr; strTime : SysStringPtr; END; TYPE OpenMode = ( readWrite=1004,readOnly, oldFile=1005,newFile, makemelong=1000000 ); SeekMode = ( beginning=-1,current,end, makemelong=1000000 ); LockMode = (sharedLock=-2, accessRead=sharedLock, exclusiveLock=-1, accessWrite=exclusiveLock, makemelong=1000000 ); FileLock = RECORD OF FileLockRes.ResHandle link : FileLockPtr; key : LONGINT; access : LockMode; task : ProcessId; volume : DeviceListPtr; END; CONST ticksPerSecond = 50; TYPE DiskStatus = (writeProtect=80,validating,validated, makemelong=1000000); DiskType = ( noDiskPresent = -1, unreadableDisk = $42414400, (* "BAD\0" *) dosDisk = $444F5300, (* "DOS\0" *) ffsDisk = $444F5301, (* "DOS\1" *) notReallyDos = $4E444F53, (* "NDOS" *) kickstartDisk = $4B49434B, (* "KICK" *) msdosDisk = $4D534400 (* "MSD\0" *) ); InfoDataPtr = POINTER TO InfoData; InfoData = RECORD numSoftErrors : LONGINT; unitNumber : LONGINT; diskState : DiskStatus; numBlocks, numBlocksUsed : LONGINT; bytesPerBlock : LONGINT; diskType : DiskType; volumeNode : DeviceListPtr; inUse : LONGBOOL; END; | Fehlermeldungen von IoErr() TYPE IoErrors = ( noFreeStore=103, taskTableFull=105, badTemplate=114, badNumber, requiredArgMissing, keyNeedsArg, tooManyArgs, unmatchedQuotes, lineTooLong, fileNotObject, invalidResidentLibrary, noDefaultDir=201, objectInUse, objectExists, dirNotFound, objectNotFound, badStreamName, objectTooLarge, actionNotKnown=209, invalidComponentName, invalidLock, objectWrongType, diskNotValidated, diskWriteProtected, renameAcrossDevices, directoryNotEmpty, tooManyLevels, deviceNotMounted, seekError, commentTooBig, diskFull, deleteProtected, writeProtected, readProtected, notADosDisk, noDisk, noMoreEntries=232, isSoftLink, objectLinked, badHunk, notImplemented, recordNotLocked=240, lockCollision, lockTimeout, unlockError, bufferOverflow=303, break, notExecutable, makemelong=1000000 ); | Rueckgabewerte der Amiga DOS Kommandos ReturnCode = (ok=0,warn=5,error=10,fail=20,makemelong=1000000 ); |Break Signale TYPE BreakSignals = (ctrlC=12,ctrlD,ctrlE,ctrlF); |Rueckgabewerte von SameLock() SameLockType = (lockDifferent=-1,lockSame, lockSameHandler,makemelong=1000000 ); |Typen fuer ChangeMode() ChangeModeType = ( changeLock,changeFH,makemelong=1000000 ); |Werte fuer MakeLink() LinkType = ( linkHard, linkSoft, |Noch nicht voll unterstuetzt makemelong=1000000 ); |Rueckgabewerte von ReadItem() ReadItemType = ( itemEqual=-2,itemError,itemNothing, itemUnquoted,itemQuoted,makemelong=1000000 ); |For SetMode ScreenType = ( con,raw,makemelong=1000000); |Typen fuer Alloc-/FreeDosObject() TYPE DosObject = ( fileHandle,exAllControl,FIB,stdPkt, CLI,rArgs,makemelong=1000000 ); ProtectionFlags = (delete,execute,writeProt,readProt,archive, pure,script,hidden,pf31=31); ProtectionFlagSet= SET OF ProtectionFlags; EntryType = (linkFile=-4,file,root=1,userDir, softLink,linkDir,makemelong=1000000); FileInfoBlockPtr = POINTER TO FileInfoBlock; FileInfoBlock = RECORD diskKey : LONGINT; dirEntryType : EntryType; fileName : ARRAY [0..107] OF CHAR; protection : ProtectionFlagSet; entryType : LONGINT; size : LONGINT; numBlocks : LONGINT; date : Date; comment : ARRAY [0..79] OF CHAR; reserved : ARRAY [0..35] OF CHAR; END; ExAllType = (name=1,type,size,protection,date,comment); ExAllDataPtr = POINTER TO ExAllData; ExAllData = RECORD next : ExAllDataPtr; name : SysStringPtr; type : EntryType; size : LONGCARD; prot : ProtectionFlagSet; date : Date; comment : SysStringPtr; END; ExAllControlPtr = POINTER TO ExAllControl; ExAllControl = RECORD entries : LONGCARD; lastkey : LONGCARD; matchString: SysStringPtr; matchFunc : HookPtr; END; | Konstanten aus dosasl.h AChainFlags = (patternBit,examinedBit,completed,allBit,single); AChainFlagSet = SET OF AChainFlags; AChainPtr = POINTER TO AChain; AChain = RECORD child : AChainPtr; parent : AChainPtr; lock : BPTR; info : FileInfoBlock; flags : AChainFlagSet; string : CHAR; | nobody knows END; AnchorPathFlags = (doWild,itsWild,doDir,didDir,noMemErr,doDot, dirChanged); AnchorPathFlagSet = SET OF AnchorPathFlags; AnchorPathPtr = POINTER TO AnchorPath; AnchorPath = RECORD base : AChainPtr; last : AChainPtr; breakBits : LONGINT; foundBreak : LONGINT; flags : AnchorPathFlagSet; reserved : SHORTINT; strLen : INTEGER; | set to 0 info : FileInfoBlock; END; FullAnchorPathPtr = POINTER TO FullAnchorPath; FullAnchorPath = RECORD OF AnchorPath; buffer : ARRAY [256] OF CHAR; |set strlen to 256 END; CONST complexBit = 1; examineBit = 2; TYPE ProcessFlags = (freeSegList, freeCurrDir, freeCLI, closeInput, closeOutput, freeArgs,prf31=31); ProcessFlagSet = SET OF ProcessFlags; CommandLineInterfacePtr = BCPLPTR TO CommandLineInterface; ProcessPtr = POINTER TO Process; Process = RECORD OF Task msgPort : MsgPort; pad : CARDINAL; segList : BPTR; stackSize : LONGINT; globVec : ANYPTR; taskNum : LONGINT; stackBase : BPTR; result2 : LONGINT; currentDir : FileLockPtr; cis : FileHandlePtr; cos : FileHandlePtr; consoleTask : ProcessId; fileSystemTask : ProcessId; cli : CommandLineInterfacePtr; returnAddr : ANYPTR; pktWait : ANYPTR; windowPtr : ANYPTR; homeDir : BPTR; flags : ProcessFlagSet; exitCode : PROC; exitData : LONGINT; arguments : ANYPTR; localVars : MinList; shellPrivate : LONGCARD; ces : BPTR; END; TYPE | you MUST always specify at least read or write LockDosFlags = (read,write,devices,volumes, assigns,entry,delete,ldf31=31); LockDosFlagSet = SET OF LockDosFlags; CONST ldfAll = LockDosFlagSet:{devices,volumes,assigns}; | Error Report Typen fuer ErrorReport() TYPE ErrorReportType = (stream,task,lock,volume,insert); CONST abortDiskError = 296; abortBusy = 288; TYPE RunType = (systemAsynch = -3,system,execute); Hunks = (hunkUnit=999, hunkName, hunkCode, hunkData, hunkBss, hunkReloc32, hunkReloc16, hunkReloc8, hunkExt, hunkSymbol, hunkDebug, hunkEnd, hunkHeader, hunkOverlay=1013, hunkBreak, hunkDRel32, hunkDRel16, hunkDRel8, hunkLib, hunkIndex); External = (extSymb, extDef, extAbs, extRes, extRef32=129, extCommon, extRef16, extRef8, extDExt32, extDExt16, extDExt8); CONST notifyClass = $40000000; | attention, these constants may be | changeged notifyCode = $1234; | next time, so don't use them TYPE NotifyRequestFlags = (sendMessage,sendSignal,waitReply=3, notifyInitial,nrf16=16,magic=31); NotifyRequestFlagSet = SET OF NotifyRequestFlags; CONST handlerFlags = NotifyRequestFlagSet:{nrf16..magic}; nrHandlerFlags = $FFFF0000; TYPE NotifyRequestPtr= POINTER TO NotifyRequest; NotifyRequest = RECORD name : SysStringPtr; fullName : SysStringPtr; userData : LONGCARD; flags : NotifyRequestFlagSet; IF KEY : NotifyRequestFlags OF message THEN port : MsgPortPtr OF signal THEN task : TaskPtr; signalNum : Exec.TaskSignals; pad : ARRAY[0..2] OF SHORTCARD END; reserved : ARRAY[0..3] OF LONGCARD; msgCount : LONGCARD; handler : MsgPortPtr; END; NotifyMessagePtr= POINTER TO NotifyMessage; NotifyMessage = RECORD OF Message class : LONGCARD; code : CARDINAL; nReq : NotifyRequestPtr; doNotTouch, doNotTouch2: LONGCARD; END; TYPE RDArgsFlags = (stdIn, noAlloc, noPrompt,rdaf31=31); RDArgsFlagSet = SET OF RDArgsFlags; CONST maxTemplateItems= 100; maxMultiArgs = 128; TYPE CSourcePtr = POINTER TO CSource; CSource = RECORD buffer : SysStringPtr; length : LONGINT; curChr : LONGINT; END; RDArgsPtr = POINTER TO RDArgs; RDArgs = RECORD OF CSource daList : LONGINT; buffer : SysStringPtr; bufSiz : LONGINT; extHelp : SysStringPtr; flags : RDArgsFlagSet; END; RecordMode = (recExclusive,recExclusiveImmed,recShared, recSharedImmed,makemelong=1000000); RecordLockPtr = POINTER TO RecordLock; RecordLock = RECORD fh : FileHandlePtr; offset : LONGCARD; length : LONGCARD; mode : RecordMode; END; | for SetVBuf BuffType = (bufLine,bufFull,bufNone,makemelong=1000000); TYPE PathInfoPtr = BCPLPTR TO PathInfo; WindowPtr = DEFERRED POINTER Intuition.WindowPtr;; NewProcTags = TAGS OF StdTags; dummy = tagUser + 1000; segList : BPTR; freeSegList : BPTR; entry : PROC; input : FileHandlePtr; output : FileHandlePtr; closeInput : LONGBOOL; closeOutput : LONGBOOL; error : FileHandlePtr; closeError : LONGBOOL; currentDir : FileLockPtr; stackSize : LONGINT; name : SysStringPtr; priority : LONGINT; consoleTask : ProcessId; windowPtr : WindowPtr; homeDir : FileLockPtr; copyVars : LONGBOOL; cli : LONGBOOL; path : PathInfoPtr; commandName : BSTR; arguments : SysStringPtr; notifyOnDeath : LONGBOOL; synchronous : LONGBOOL; exitCode : ANYPTR; exitData : ANYPTR; END; NewProcTagListPtr= POINTER TO NewProcTagList; NewProcTagList = ARRAY OF NewProcTags; SystemTags = TAGS OF NewProcTags dummy = tagUser + 32; input : FileHandlePtr; output : FileHandlePtr; asynch : LONGBOOL; userShell : ANYPTR; customShell : SysStringPtr; END; SystemTagList = ARRAY OF SystemTags; SystemTagListPtr= POINTER TO SystemTagList; DosObjectTags = TAGS OF StdTags; dummy = tagUser + 2000; fHMode : LONGINT; dirLen : LONGINT; commNameLen : LONGINT; commFileLen : LONGINT; promptLen : LONGINT; END; DosObjectTagListPtr= POINTER TO DosObjectTagList; DosObjectTagList = ARRAY OF DosObjectTags; PathInfo = RECORD nextPath : PathInfoPtr; lock : FileLockPtr; END; FileHandle = RECORD OF FileHandleRes.ResHandle link : MessagePtr; port : MsgPortPtr; type : ProcessId; buf : LONGINT; pos : LONGINT; end : LONGINT; func1, func2, func3 : PROC; arg1 : LONGINT; arg2 : LONGINT; END; DosCommands = ( nil=0, startup=0, getBlock=2, setMap=4, die, event, currentVolume, locateObject, renameDisk, freelock=15, deleteObject, renameObject, moreCache, copyDir, waitChar, setProtect, createDir, examineObject, examineNext, diskInfo, info, flush, setComment, parent, timer, inhibit, diskType, diskChange, setDate, sameLock=40, screenMode=994, changeSignal, readReturn=1001, writeReturn, findUpDate=1004, findInput, findOutput, actionEnd, seek, format=1020, makeLink, truncate, writeLock, readLink, fhFromLock=1026, isFileSystem, changeMode, copyDirFh=1030, parentFh, examineAll=1033, examineFh, lockRecord=2008, freeRecord, addNotify=4097, removeNotify, read=LONGINT("R"), write=LONGINT("W"), makemelong=1000000 ); TYPE DosPacketPtr = POINTER TO DosPacket; DosPacket = RECORD link : MessagePtr; port : MsgPortPtr; type : DosCommands; res1, res2, arg1, arg2, arg3, arg4, arg5, arg6, arg7 : LONGINT; END; StandardPacketPtr= POINTER TO StandardPacket; StandardPacket = RECORD OF Message pkt : DosPacket; END; RootNodePtr = POINTER TO RootNode; ErrorStringPtr = POINTER TO ErrorString; ErrorString = RECORD nums : ANYPTR; strings : SysStringPtr; END; DosLibraryPtr = POINTER TO DosLibrary; DosLibrary = RECORD OF Library root : RootNodePtr; gv : ANYPTR; a2, a5, a6 : LONGINT; errors : ErrorStringPtr; timeReq : ANYPTR; utilityBase : LibraryPtr; intuitionBase : LibraryPtr; END; TaskArray = RECORD maxCli : LONGINT; cli : ARRAY [1..99] OF ProcessId; END; DosInfoPtr = BCPLPTR TO DosInfo; TaskArrayPtr = BCPLPTR TO TaskArray; DosEnvecPtr = BCPLPTR TO DosEnvec; FileSysStartupMsgPtr = BCPLPTR TO FileSysStartupMsg; CONST | special values for ResidentSegment.usecount cmdSystem = -1; cmdInternal = -2; cmdDisabled = -999; TYPE ResidentSegmentPtr = BCPLPTR TO ResidentSegment; ResidentSegment = RECORD next : ResidentSegmentPtr; usecount : LONGINT; segment : BPTR; name : ARRAY [32] OF CHAR END; RootNodeFlags = (private1=1,wildStar=24,rnf31=31); RootNodeFlagSet = SET OF RootNodeFlags; RootNode = RECORD taskArray : TaskArrayPtr; consoleSegment : BPTR; time : Date; restartSeg : BPTR; info : DosInfoPtr; fileHandlerSegment : BPTR; cliList : MinList; bootProc : MsgPortPtr; shellSegment : BPTR; flags : RootNodeFlagSet; END; MsgPortFieldPtr = POINTER TO MsgPortField; MsgPortField = ARRAY OF MsgPortPtr; CliProcList = RECORD OF MinNode first : LONGINT; array : MsgPortFieldPtr; END; DosInfo = RECORD mcName : BSTR; devInfo : DeviceListPtr; devices : BPTR; handlers : BPTR; netHand : ResidentSegmentPtr; devLock, entryLock, deleteLock : SignalSemaphore; END; CommandLineInterface = RECORD result2 : LONGINT; setName : BSTR; commandDir : PathInfoPtr; returnCode : LONGINT; commandName : BSTR; failLevel : LONGINT; prompt : BSTR; standardInput : FileHandlePtr; currentInput : FileHandlePtr; commandFile : BSTR; interactive : LONGINT; background : LONGINT; currentOutput : FileHandlePtr; defaultStack : LONGINT; standardOutput: FileHandlePtr; module : BPTR; END; AssignListPtr = POINTER TO AssignList; AssignList = RECORD next : AssignListPtr; lock : FileHandlePtr; END; DeviceListType = ( device,directory,volume,late,nonBinding, private=-1,makemelong=1000000 ); DeviceList = RECORD next : DeviceListPtr; type : DeviceListType; task : ProcessId; lock : FileLockPtr; IF KEY : DeviceListType OF device, directory THEN handler : BSTR; stackSize : LONGINT; priority : LONGINT; startup : FileSysStartupMsgPtr; segList : BPTR; globeVec : BPTR OF volume THEN volumeDate : Date; lockList : FileLockPtr; diskType : LONGINT; OF assign THEN assignName : SysStringPtr; assignList : AssignListPtr END; name : BSTR; END; DosList = DeviceList; DosListPtr = DeviceListPtr; DeviceNode = DeviceList; DeviceNodePtr = POINTER TO DeviceNode; DevProcFlags = (unlock,assign,dvp31=31); DevProcFlagSet = SET OF DevProcFlags; DevProcPtr = POINTER TO DevProc; DevProc = RECORD port : MsgPortPtr; lock : FileLockPtr; flags : DevProcFlagSet; devNode: DosListPtr; END; DosEnvec = RECORD tableSize : LONGCARD; sizeBlock : LONGCARD; secOrg : LONGCARD; surfaces : LONGCARD; sectorsPerBlock : LONGCARD; blocksPerTrack : LONGCARD; reserved : LONGCARD; preAlloc : LONGCARD; interleave : LONGCARD; lowCyl : LONGCARD; highCyl : LONGCARD; numBuffers : LONGCARD; bufMemType : LONGCARD; maxTransfers : LONGCARD; mask : LONGSET; bootPri : LONGINT; dosType : ARRAY [0..3] OF CHAR; baud : LONGCARD; control : LONGCARD; bootBlocks : LONGCARD; END; FileSysStartupMsg= RECORD unit : LONGCARD; device : BSTR; environ : DosEnvecPtr; flags : LONGSET END; ArgArrayPtr = POINTER TO ArgArray; ArgArray = ARRAY OF SysStringPtr; GetVarFlags = (var,alias,ignore=7,globalOnly,localOnly, binaryVar,gvf31=31); GetVarFlagSet = SET OF GetVarFlags; LocalVarPtr = POINTER TO LocalVar; LocalVar = RECORD OF MinNode type : GetVarFlags; pri : SHORTINT; name : SysStringPtr; flags : BITSET; value : SysStringPtr; len : LONGCARD; END; GROUP DosErrorGrp = IoErrors; VAR DosBase : DosLibraryPtr; |------------------------------------------------------------------------- | 1. Ein- und Ausgabe |------------------------------------------------------------------------- LIBRARY DosBase BY -36 PROCEDURE Close( file IN D1 : FileHandlePtr):LONGBOOL; LIBRARY DosBase BY -30 PROCEDURE Open( REF name IN D1 : STRING; accessMode IN D2 : OpenMode):FileHandlePtr; LIBRARY DosBase BY -42 PROCEDURE Read( file IN D1 : FileHandlePtr; buffer IN D2 : ANYPTR; length IN D3 : LONGINT ): LONGINT; LIBRARY DosBase BY -66 PROCEDURE Seek( file IN D1 : FileHandlePtr; position IN D2 : LONGINT; mode IN D3 : SeekMode ): LONGINT; LIBRARY DosBase BY -48 PROCEDURE Write( file IN D1 : FileHandlePtr; buffer IN D2 : ANYPTR; length IN D3 : LONGINT ): LONGINT; LIBRARY DosBase BY -294 PROCEDURE SelectInput( fh IN D1 : FileHandlePtr ): FileHandlePtr; LIBRARY DosBase BY -300 PROCEDURE SelectOutput( fh IN D1 : FileHandlePtr ): FileHandlePtr; LIBRARY DosBase BY -306 PROCEDURE FGetC( fh IN D1 : FileHandlePtr ): CHAR; LIBRARY DosBase BY -312 PROCEDURE FPutC( fh IN D1 : FileHandlePtr; ch IN D2 : CHAR ): CHAR; LIBRARY DosBase BY -318 PROCEDURE UnGetC( fh IN D1 : FileHandlePtr; character IN D2 : CHAR); LIBRARY DosBase BY -324 PROCEDURE FRead( fh IN D1 : FileHandlePtr; buf IN D2 : ANYPTR; blocklen IN D3 : LONGCARD; number IN D4 : LONGCARD ): LONGCARD; LIBRARY DosBase BY -330 PROCEDURE FWrite( fh IN D1 : FileHandlePtr; buf IN D2 : ANYPTR; blocklen IN D3 : LONGCARD; number IN D4 : LONGCARD ): LONGCARD; LIBRARY DosBase BY -336 PROCEDURE FGets( fh IN D1 : FileHandlePtr; buf IN D2 : ANYPTR; buflen IN D3 : LONGCARD ): ANYPTR; LIBRARY DosBase BY -342 PROCEDURE FPuts( fh IN D1 : FileHandlePtr; REF str IN D2 : STRING ); LIBRARY DosBase BY -348 PROCEDURE VFWritef( fh IN D1 : FileHandlePtr; REF format IN D2 : STRING; argarray IN D3 : ArgArrayPtr ); LIBRARY DosBase BY -354 PROCEDURE VFPrintf( fh IN D1 : FileHandlePtr; REF format IN D2 : STRING; argarray IN D3 : ArgArrayPtr ); LIBRARY DosBase BY -360 PROCEDURE Flush( fh IN D1 : FileHandlePtr ): LONGBOOL; LIBRARY DosBase BY -366 PROCEDURE SetVBuf( fh IN D1 : FileHandlePtr; buff IN D2 : ANYPTR; type IN D3 : BuffType; size IN D4 : LONGINT ): LONGINT; LIBRARY DosBase BY -942 PROCEDURE WriteChars( REF buf IN D1 : STRING; buflen IN D2 : LONGINT ): LONGINT; LIBRARY DosBase BY -948 PROCEDURE PutStr( REF str IN D1: STRING ): LONGINT; LIBRARY DosBase BY -954 PROCEDURE VPrintf( REF format IN D1 : STRING; argarray IN D2 : ArgArrayPtr ): LONGINT; GROUP DosIOGrp = Open,Close,Read,FileHandlePtr,FileHandlePtr,Seek,Write, OpenMode,SeekMode,SelectInput,SelectOutput,FGetC,FPutC, UnGetC,FRead,FWrite,FGets,FPuts,VFWritef,VFPrintf,Flush, SetVBuf, WriteChars, PutStr, VPrintf, ArgArrayPtr; |------------------------------------------------------------------------- | 2. Dateiverwaltung |------------------------------------------------------------------------- LIBRARY DosBase BY -120 PROCEDURE CreateDir( REF Name IN D1 : STRING ): FileLockPtr; LIBRARY DosBase BY -126 PROCEDURE CurrentDir( Lock IN D1 : FileLockPtr ): FileLockPtr; LIBRARY DosBase BY -72 PROCEDURE DeleteFile( REF Name IN D1 : STRING ): LONGBOOL; LIBRARY DosBase BY -102 PROCEDURE Examine(Lock IN D1 : FileLockPtr; InfoBlock IN D2 : FileInfoBlockPtr): LONGBOOL; LIBRARY DosBase BY -108 PROCEDURE ExNext( Lock IN D1 : FileLockPtr; InfoBlock IN D2 : FileInfoBlockPtr ): LONGBOOL; LIBRARY DosBase BY -114 PROCEDURE Info( Lock IN D1 : FileLockPtr; ParameterBlock IN D2 : InfoDataPtr ): LONGBOOL; LIBRARY DosBase BY -210 PROCEDURE ParentDir( Lock IN D1 : FileLockPtr ): FileLockPtr; LIBRARY DosBase BY -78 PROCEDURE Rename( REF OldName IN D1, NewName IN D2 : STRING ): LONGBOOL; LIBRARY DosBase BY -180 PROCEDURE SetComment( REF Name IN D1, Comment IN D2 : STRING ): LONGBOOL; LIBRARY DosBase BY -186 PROCEDURE SetProtection( REF Name IN D1 : STRING; Mask IN D2 : ProtectionFlagSet ): LONGBOOL; LIBRARY DosBase BY -96 PROCEDURE DupLock( lock IN D1 : FileLockPtr ): FileLockPtr; LIBRARY DosBase BY -54 PROCEDURE Input(): FileHandlePtr; LIBRARY DosBase BY -132 PROCEDURE IoErr(): IoErrors; LIBRARY DosBase BY -216 PROCEDURE IsInteractive( File IN D1 : FileHandlePtr ): LONGBOOL; LIBRARY DosBase BY -84 PROCEDURE Lock( REF name IN D1 : STRING; accessMode IN D2 : LockMode ): FileLockPtr; LIBRARY DosBase BY -60 PROCEDURE Output(): FileHandlePtr; LIBRARY DosBase BY -90 PROCEDURE Unlock( Lock IN D1 : FileLockPtr ); LIBRARY DosBase BY -270 PROCEDURE LockRecord( fh IN D1 : FileHandlePtr; offset IN D2 : LONGCARD; length IN D3 : LONGCARD; mode IN D4 : LONGCARD; timeout IN D5 : LONGCARD ): LONGBOOL; LIBRARY DosBase BY -276 PROCEDURE LockRecords( recArray IN D1 : RecordLockPtr; timeout IN D2 : LONGCARD ): LONGBOOL; LIBRARY DosBase BY -282 PROCEDURE UnLockRecord( fh IN D1 : FileHandlePtr; offset IN D2 : LONGCARD; length IN D3 : LONGCARD ): LONGBOOL; LIBRARY DosBase BY -288 PROCEDURE UnLockRecords(recArray IN D1 : RecordLockPtr):LONGBOOL; LIBRARY DosBase BY -372 PROCEDURE DupLockFromFH( fh IN D1: FileHandlePtr ): FileLockPtr; LIBRARY DosBase BY -378 PROCEDURE OpenFromLock( lock IN D1: FileLockPtr ): FileLockPtr; LIBRARY DosBase BY -384 PROCEDURE ParentOfFH( fh IN D1: FileHandlePtr ): FileHandlePtr; LIBRARY DosBase BY -390 PROCEDURE ExamineFH( fh IN D1 : FileHandlePtr; fib IN D2 : FileInfoBlockPtr ): LONGBOOL; LIBRARY DosBase BY -396 PROCEDURE SetFileDate( REF name IN D1 : STRING; date IN D2 : DatePtr ): LONGBOOL; PROCEDURE NameFromLock( lock : FileLockPtr; VAR buffer : STRING; len : LONGINT:=0): LONGBOOL; PROCEDURE NameFromFH( fh : FileHandlePtr; VAR buffer : STRING; len : LONGINT:=0 ): LONGBOOL; PROCEDURE SplitName( REF name : STRING; seperator : CHAR; VAR buf : STRING; oldpos : INTEGER; size : LONGINT:=0): INTEGER; LIBRARY DosBase BY -420 PROCEDURE SameLock( lock1 IN D1 : FileLockPtr; lock2 IN D2 : FileLockPtr ): SameLockType; LIBRARY DosBase BY -426 PROCEDURE SetMode( fh IN D1 : FileHandlePtr; mode IN D2 : ScreenType ): LONGBOOL; LIBRARY DosBase BY -432 PROCEDURE ExAll( lock IN D1 : FileLockPtr; buffer IN D2 : ANYPTR; size IN D3 : LONGINT; type IN D4 : ExAllType; control IN D5 : ExAllControlPtr ): LONGBOOL;; PROCEDURE ReadLink( port : MsgPortPtr; lock : FileLockPtr; REF path : STRING; VAR buffer : STRING; size : LONGCARD:=0): LONGBOOL; LIBRARY DosBase BY -444 PROCEDURE MakeLink( REF name IN D1 : STRING; dest IN D2 : LONGINT; soft IN D3 : LinkType): LONGBOOL; LIBRARY DosBase BY -450 PROCEDURE ChangeMode( type IN D1 : ChangeModeType; fh IN D2 : FileHandlePtr; newmode IN D3 : LockMode): LONGBOOL; LIBRARY DosBase BY -456 PROCEDURE SetFileSize( fh IN D1 : FileHandlePtr; pos IN D2 : LONGINT; mode IN D3 : SeekMode): LONGINT; LIBRARY DosBase BY -462 PROCEDURE SetIoErr( result IN D1 : LONGINT ): LONGINT; LIBRARY DosBase BY -708 PROCEDURE IsFileSystem( REF name IN D1 : STRING ): LONGBOOL; LIBRARY DosBase BY -714 PROCEDURE Format( REF filesystem IN D1 : STRING; REF volumename IN D2 : STRING; dostype IN D3 : LONGCARD ): LONGBOOL; LIBRARY DosBase BY -720 PROCEDURE Relabel( REF drive IN D1 : STRING; REF newname IN D2 : STRING ): LONGBOOL; LIBRARY DosBase BY -726 PROCEDURE Inhibit( REF name IN D1 : STRING; onoff IN D2 : LONGINT ): LONGBOOL; LIBRARY DosBase BY -732 PROCEDURE AddBuffers( REF name IN D1 : STRING; number IN D2 : LONGINT ): LONGBOOL; LIBRARY DosBase BY -738 PROCEDURE CompareDates( date1 IN D1 : DatePtr; date2 IN D2 : DatePtr ): LONGINT; LIBRARY DosBase BY -984 PROCEDURE SameDevice( lock1 IN D1 : FileLockPtr; lock2 IN D2 : FileLockPtr ): LONGBOOL; GROUP DosFileGrp = CreateDir,FileLockPtr, CurrentDir,DeleteFile, Examine,FileInfoBlockPtr,FileInfoBlock,Info, InfoDataPtr,InfoData,ParentDir,Rename,SetComment, SetComment,SetProtection,ProtectionFlagSet, ProtectionFlags,DupLock,Input,IoErr,IsInteractive, Lock,Lock,Output,Unlock,LockMode,LockRecord,DatePtr, LockRecords, UnLockRecord, UnLockRecords, DupLockFromFH, OpenFromLock, ParentOfFH, ExamineFH, SetFileDate, NameFromLock,NameFromFH, SplitName, SameLock, SetMode, ExAll, ReadLink,MakeLink, ChangeMode, SetFileSize, SetIoErr, IsFileSystem,Format, Relabel, Inhibit, AddBuffers, CompareDates, SameDevice,ExAllControl, ExAllType,ScreenType,LinkType,LockMode; |------------------------------------------------------------------------- | 4. Prozeßverwaltung |------------------------------------------------------------------------- LIBRARY DosBase BY -138 PROCEDURE CreateProc( REF Name IN D1 : STRING; Pri IN D2 : LONGINT; Segment IN D3 : BPTR; StackSize IN D4 : LONGINT):ProcessId; LIBRARY DosBase BY -192 PROCEDURE DateStamp( VAR Date IN D1 : Date ); | Due to a bug in the kickstart ROM, we'll fix the problem ourselves | |LIBRARY DosBase BY-198 PROCEDURE Delay( ticks IN D1 : LONGCARD ); LIBRARY DosBase BY -198 PROCEDURE oldDelay( ticks IN D1 : LONGCARD ); LIBRARY DosBase BY -174 PROCEDURE DeviceProc( REF Name IN D1 : STRING ): ProcessId; LIBRARY DosBase BY -144 PROCEDURE Exit( ReturnCode IN D1 : LONGINT ); LIBRARY DosBase BY -204 PROCEDURE WaitForChar( File IN D1 : FileHandlePtr; Timeout IN D2 : LONGINT ): LONGBOOL; PROCEDURE Fault( code : IoErrors; REF header : STRING; VAR buffer : STRING; len : LONGINT:=0 ): LONGBOOL; LIBRARY DosBase BY -474 PROCEDURE PrintFault( code IN D1 : IoErrors; REF header IN D2 : STRING ): LONGBOOL; LIBRARY DosBase BY -480 PROCEDURE ErrorReport( code IN D1 : LONGINT; type IN D2 : LONGINT; arg1 IN D3 : LONGCARD; device IN D4 : MsgPortPtr ): LONGBOOL; LIBRARY DosBase BY -492 PROCEDURE Cli(): CommandLineInterfacePtr; LIBRARY DosBase BY -498 PROCEDURE CreateNewProc( tags IN D1 : LIST OF NewProcTags): ProcessPtr; LIBRARY DosBase BY -498 PROCEDURE CreateNewProcList( tags IN D1: NewProcTagListPtr ): ProcessPtr; LIBRARY DosBase BY -504 PROCEDURE RunCommand( seg IN D1 : BPTR; stack IN D2 : LONGCARD; REF param IN D3 : STRING; paramlen IN D4 : LONGCARD ): LONGINT; LIBRARY DosBase BY -510 PROCEDURE GetConsoleTask(): MsgPortPtr; LIBRARY DosBase BY -516 PROCEDURE SetConsoleTask( task IN D1 : MsgPortPtr ): MsgPortPtr; LIBRARY DosBase BY -522 PROCEDURE GetFileSysTask(): MsgPortPtr; LIBRARY DosBase BY -528 PROCEDURE SetFileSysTask( task IN D1 : MsgPortPtr ): MsgPortPtr; LIBRARY DosBase BY -534 PROCEDURE GetArgStr(): SysStringPtr; LIBRARY DosBase BY -540 PROCEDURE SetArgStr( REF string IN D1 : STRING ): SysStringPtr; LIBRARY DosBase BY -546 PROCEDURE FindCliProc( num IN D1 : LONGINT ): ProcessPtr; LIBRARY DosBase BY -552 PROCEDURE MaxCli(): LONGINT; LIBRARY DosBase BY -558 PROCEDURE SetCurrentDirName( REF name IN D1 : STRING ): LONGBOOL; PROCEDURE GetCurrentDirName( VAR buf : STRING; len : LONGINT:=0): LONGBOOL; LIBRARY DosBase BY -570 PROCEDURE SetProgramName( REF name IN D1 : STRING ): LONGBOOL; PROCEDURE GetProgramName( VAR buf : STRING; len : LONGINT:=0): LONGBOOL; LIBRARY DosBase BY -582 PROCEDURE SetPrompt( REF name IN D1 : STRING ): LONGBOOL; PROCEDURE GetPrompt( VAR buf : STRING; len : LONGINT:=0): LONGBOOL; LIBRARY DosBase BY -594 PROCEDURE SetProgramDir( lock IN D1 : FileLockPtr ): FileLockPtr; LIBRARY DosBase BY -600 PROCEDURE GetProgramDir(): FileLockPtr; LIBRARY DosBase BY -606 PROCEDURE CallSystemTags( REF command IN D1 : STRING; tags IN D2 : LIST OF SystemTags):LONGINT; LIBRARY DosBase BY -606 PROCEDURE CallSystemTagList(REF command IN D1 : STRING; tags IN D2 : SystemTagListPtr):LONGINT; LIBRARY DosBase BY -612 PROCEDURE AssignLock( REF name IN D1 : STRING; lock IN D2 : FileLockPtr ): LONGBOOL; LIBRARY DosBase BY -618 PROCEDURE AssignLate( REF name IN D1 : STRING; REF path IN D2 : STRING ): LONGBOOL; LIBRARY DosBase BY -624 PROCEDURE AssignPath( REF name IN D1 : STRING; REF path IN D2 : STRING ): LONGBOOL; LIBRARY DosBase BY -630 PROCEDURE AssignAdd( REF name IN D1 : STRING; lock IN D2 : FileLockPtr ): LONGBOOL; LIBRARY DosBase BY -636 PROCEDURE RemAssignList( REF name IN D1 : STRING; lock IN D2 : FileLockPtr ): LONGBOOL; LIBRARY DosBase BY -642 PROCEDURE GetDeviceProc( REF name IN D1 : STRING; dp IN D2 : DevProcPtr ): DevProcPtr; LIBRARY DosBase BY -648 PROCEDURE FreeDeviceProc( dp IN D1 : DevProcPtr); LIBRARY DosBase BY -744 PROCEDURE DateToStr(VAR datetime IN D1 : DateTime ): LONGBOOL; LIBRARY DosBase BY -750 PROCEDURE StrToDate(VAR datetime IN D1 : DateTime ): LONGBOOL; GROUP DosProcessGrp = CreateProc,CreateProc,DateStamp,Delay,DeviceProc,Exit, WaitForChar,ticksPerSecond,Date,Process,ProcessPtr, ProcessId, Fault, PrintFault, ErrorReport, Cli, CreateNewProc,RunCommand, GetConsoleTask, SetConsoleTask, SetFileSysTask,GetArgStr, SetArgStr, FindCliProc,MaxCli,SetCurrentDirName,GetCurrentDirName, SetProgramName, GetProgramName, SetPrompt,GetPrompt, SystemTagListPtr, AssignLock, AssignLate, AssignPath, AssignAdd, RemAssignList, GetDeviceProc, FreeDeviceProc, StrToDate,DateToStr,FileLockPtr,DevProcPtr,MsgPortPtr, IoErrors,CommandLineInterfacePtr,SystemTags, SystemTagList,NewProcTags,NewProcTags; |------------------------------------------------------------------------ | 5. Programme laden |------------------------------------------------------------------------ LIBRARY DosBase BY -222 PROCEDURE Execute( REF CommandString IN D1 : STRING; Input IN D2 : FileHandlePtr; Output IN D3 : FileHandlePtr ): LONGBOOL; LIBRARY DosBase BY -150 PROCEDURE LoadSeg( REF Name IN D1 : STRING ): BPTR; LIBRARY DosBase BY -156 PROCEDURE UnLoadSeg( Segment IN D1 : BPTR ); LIBRARY DosBase BY -756 PROCEDURE InternalLoadSeg( fh IN D0 : FileHandlePtr; table IN A0 : BPTR; funcarray IN A1 : ANYPTR; stack IN A2 : ANYPTR ): BPTR; LIBRARY DosBase BY -762 PROCEDURE InternalUnLoadSeg(seglist IN D1 : BPTR; freefunc IN A1 : ANYPTR):LONGBOOL; LIBRARY DosBase BY -768 PROCEDURE NewLoadSeg( REF file IN D1 : STRING; tags IN D2 : TagListPtr ): BPTR; LIBRARY DosBase BY -774 PROCEDURE AddSegment( REF name IN D1 : STRING; seg IN D2 : BPTR; system IN D3 : LONGINT ): LONGBOOL; LIBRARY DosBase BY -780 PROCEDURE FindSegment( REF name IN D1 : STRING; seg IN D2 : BPTR; system IN D3 : LONGINT ): BPTR; LIBRARY DosBase BY -786 PROCEDURE RemSegment( seg IN D1 : BPTR ): LONGBOOL; GROUP DosSegmentGrp = Execute,LoadSeg, UnLoadSeg, InternalLoadSeg, InternalUnLoadSeg,NewLoadSeg, AddSegment, FindSegment, RemSegment, BPTR,FileHandlePtr; |------------------------------------------------------------------------- | 6. DOS-Interne Befehle |------------------------------------------------------------------------- LIBRARY DosBase BY -162 PROCEDURE GetPacket( Wait IN D1 : LONGINT ): DosPacketPtr; LIBRARY DosBase BY -168 PROCEDURE QueuePacket( Packet IN D1 : DosPacketPtr ): LONGINT; LIBRARY DosBase BY -240 PROCEDURE DoPkt( port IN D1 : MsgPortPtr; action IN D2 : LONGINT; arg1 IN D3 : LONGINT; arg2 IN D4 : LONGINT; arg3 IN D5 : LONGINT; arg4 IN D6 : LONGINT; arg5 IN D7 : LONGINT ): LONGINT; LIBRARY DosBase BY -246 PROCEDURE SendPkt( dp IN D1 : DosPacketPtr; port IN D2 : MsgPortPtr; replyport IN D3 : MsgPortPtr ); LIBRARY DosBase BY -252 PROCEDURE WaitPkt(): DosPacketPtr; LIBRARY DosBase BY -258 PROCEDURE ReplyPkt( dp IN D1 : DosPacketPtr; res1 IN D2 : LONGINT; res2 IN D3 : LONGINT ); LIBRARY DosBase BY -264 PROCEDURE AbortPkt( port IN D1 : MsgPortPtr; pkt IN D2 : DosPacketPtr ); LIBRARY DosBase BY -924 PROCEDURE CliInit( dp IN A0 : DosPacketPtr ): LONGINT; LIBRARY DosBase BY -930 PROCEDURE CliInitNewCli( dp IN A0 : DosPacketPtr ): LONGINT; LIBRARY DosBase BY -936 PROCEDURE CliInitRun( dp IN A0 : DosPacketPtr ): LONGINT; GROUP PacketGrp = DosPacket,DosPacketPtr,StandardPacket,StandardPacketPtr, nil,getBlock,setMap,die,event,currentVolume,locateObject, renameDisk,write,read,freelock,deleteObject,renameObject, moreCache,copyDir,waitChar,setProtect,createDir, examineObject,examineNext,diskInfo,info,flush,setComment, parent,timer,inhibit,diskType,diskChange,setDate, screenMode,readReturn,writeReturn,findUpDate,findInput, findOutput,actionEnd,seek,truncate,writeLock, GetPacket,QueuePacket, DoPkt, SendPkt, WaitPkt, ReplyPkt, AbortPkt, CliInit, CliInitNewCli, CliInitRun,MsgPortPtr |------------------------------------------------------------------------- | 7. Dos - Listen Befehle |------------------------------------------------------------------------- LIBRARY DosBase BY -654 PROCEDURE LockDosList( flags IN D1 : LockDosFlagSet ): DosListPtr; LIBRARY DosBase BY -660 PROCEDURE UnLockDosList( flags IN D1 : LockDosFlagSet ); LIBRARY DosBase BY -666 PROCEDURE AttemptLockDosList( flags IN D1 : LockDosFlagSet ): DosListPtr; LIBRARY DosBase BY -672 PROCEDURE RemDosEntry( dlist IN D1 : DosListPtr ): LONGBOOL; LIBRARY DosBase BY -678 PROCEDURE AddDosEntry( dlist IN D1 : DosListPtr ): LONGBOOL; LIBRARY DosBase BY -684 PROCEDURE FindDosEntry( dlist IN D1 : DosListPtr; REF name IN D2 : STRING; flags IN D3 : LONGCARD ): DosListPtr; LIBRARY DosBase BY -690 PROCEDURE NextDosEntry( dlist IN D1 : DosListPtr; flags IN D2 : LONGCARD ): DosListPtr; LIBRARY DosBase BY -696 PROCEDURE MakeDosEntry( REF name IN D1 : STRING; type IN D2 : LONGINT ): DosListPtr; LIBRARY DosBase BY -702 PROCEDURE FreeDosEntry( dlist IN D1: DosListPtr ); GROUP DosListGrp = LockDosList, UnLockDosList, AttemptLockDosList, RemDosEntry,AddDosEntry, FindDosEntry, NextDosEntry, MakeDosEntry,FreeDosEntry, LockDosFlags, LockDosFlagSet, DosListPtr; |** Now the new 2.0 Functions ** |------------------------------------------------------------------------- | 8. Argument/PatternMatch & sonstige String Manipulationen |------------------------------------------------------------------------- LIBRARY DosBase BY -798 PROCEDURE ReadArgs( REF template IN D1 : STRING; array IN D2 : ANYPTR; args IN D3 : RDArgsPtr ): RDArgsPtr; LIBRARY DosBase BY -804 PROCEDURE FindArg( REF keyword IN D1 : STRING; REF template IN D2 : STRING ): LONGINT; LIBRARY DosBase BY -810 PROCEDURE ReadItem( REF name IN D1 : STRING; maxchars IN D2 : LONGINT; cSource IN D3 : CSourcePtr ): LONGINT; LIBRARY DosBase BY -816 PROCEDURE StrToLong( REF string IN D1 : STRING; value IN D2 : ANYPTR ): LONGINT; LIBRARY DosBase BY -822 PROCEDURE MatchFirst( REF pat IN D1 : STRING; anchor IN D2 : AnchorPathPtr ): LONGBOOL; LIBRARY DosBase BY -828 PROCEDURE MatchNext( anchor IN D1 : AnchorPathPtr ): LONGBOOL; LIBRARY DosBase BY -834 PROCEDURE MatchEnd( anchor IN D1 : AnchorPathPtr ); LIBRARY DosBase BY -840 PROCEDURE ParsePattern( REF pat IN D1 : STRING; REF buf IN D2 : STRING; buflen IN D3 : LONGINT ): LONGINT; LIBRARY DosBase BY -846 PROCEDURE MatchPattern( REF pat IN D1 : STRING; REF str IN D2 : STRING ): LONGBOOL; LIBRARY DosBase BY -858 PROCEDURE FreeArgs( args IN D1 : RDArgsPtr ); LIBRARY DosBase BY -870 PROCEDURE FilePart( REF path IN D1 : STRING ): SysStringPtr; LIBRARY DosBase BY -876 PROCEDURE PathPart( REF path IN D1 : STRING ): SysStringPtr; LIBRARY DosBase BY -882 PROCEDURE AddPart( REF dirname IN D1 : STRING; REF filename IN D2 : STRING; size IN D3 : LONGCARD ): LONGBOOL; LIBRARY DosBase BY -966 PROCEDURE ParsePatternNoCase( REF buf IN D1 : STRING; pat IN D2 : ANYPTR; buflen IN D3 : LONGINT ): LONGINT; LIBRARY DosBase BY -972 PROCEDURE MatchPatternNoCase( pat IN D1 : ANYPTR; REF str IN D2 : STRING ): LONGBOOL; GROUP DosArgGrp = ReadArgs, FindArg, ReadItem, StrToLong, MatchFirst, MatchNext,MatchEnd, ParsePattern, MatchPattern, FreeArgs, FilePart,PathPart, AddPart, RDArgs, RDArgsPtr, CSource, CSourcePtr,AnchorPath, AnchorPathPtr, ParsePatternNoCase, MatchPatternNoCase; |------------------------------------------------------------------------- | 9. Var Group |------------------------------------------------------------------------- LIBRARY DosBase BY -900 PROCEDURE SetVar( REF name IN D1 : STRING; REF buffer IN D2 : STRING; size IN D3 : LONGINT; flags IN D4 : GetVarFlagSet): LONGBOOL; PROCEDURE GetVar( REF name : STRING; VAR buffer : STRING; size : LONGINT; flags : GetVarFlagSet): LONGBOOL; LIBRARY DosBase BY -912 PROCEDURE DeleteVar( REF name IN D1 : STRING; flags IN D2 : GetVarFlagSet): LONGBOOL; LIBRARY DosBase BY -918 PROCEDURE FindVar( REF name IN D1: STRING; type IN D2: GetVarFlagSet): LocalVarPtr; GROUP DosVarGrp = SetVar, GetVar, DeleteVar, FindVar, LocalVar, LocalVarPtr,GetVarFlags; |------------------------------------------------------------------------- | 10. Misc |------------------------------------------------------------------------- LIBRARY DosBase BY -228 PROCEDURE AllocDosObject( type IN D1 : DosObject; tags IN D2 : LIST OF DosObjectTags):ANYPTR; LIBRARY DosBase BY -228 PROCEDURE AllocDosObjectList( type IN D1 : DosObject; tags IN D2 : DosObjectTagListPtr):ANYPTR; LIBRARY DosBase BY -234 PROCEDURE FreeDosObject( type IN D1 : DosObject; ptr IN D2 : ANYPTR ); LIBRARY DosBase BY -792 PROCEDURE CheckSignal( mask IN D1 : LONGCARD ): LONGCARD; LIBRARY DosBase BY -888 PROCEDURE StartNotify( notify IN D1 : NotifyRequestPtr ): LONGBOOL; LIBRARY DosBase BY -894 PROCEDURE EndNotify( notify IN D1 : NotifyRequestPtr ); GROUP DosMiscGrp = AllocDosObject, FreeDosObject, CheckSignal, StartNotify, EndNotify, NotifyRequest, NotifyRequestPtr; TypeGrp = AChainFlags, AnchorPathFlags, BreakSignals, ChangeModeType, DateFormats, DatFlags, DeviceListType, DevProcFlags, DiskStatus, DiskType, DosCommands, DosObject, EntryType, ErrorReportType, ExAllType, External, GetVarFlags, Hunks, IoErrors, LinkType, GetVarFlags, LockDosFlags, LockMode, NotifyRequestFlags, OpenMode, ProcessFlags, ProtectionFlags, RDArgsFlags, ReadItemType, ReturnCode, RootNodeFlags, RunType, SameLockType, SameLockType, SeekMode; GROUP All = AChain, BSTR, CommandLineInterface, CommandLineInterfacePtr, ctrlC, ctrlD, ctrlE, ctrlF, Date, DatePtr, DateTime, DateTimePtr, DeviceList, DeviceListPtr, DeviceListType, DeviceNode, DeviceNodePtr, DevProc, DosArgGrp, DosBase, DosEnvec, DosEnvecPtr, DosErrorGrp, DosFileGrp, DosInfo, DosInfoPtr, DosIOGrp, DosLibrary, DosLibraryPtr, DosListGrp, DosMiscGrp, DosProcessGrp, DosSegmentGrp, DosVarGrp, error, fail, FileHandle, FileLock, FileSysStartupMsg, FileSysStartupMsgPtr, ok, PacketGrp, PathInfo, PathInfoPtr, Process, ResidentSegment, ResidentSegmentPtr, RootNode, RootNodePtr, TaskArray, TaskArrayPtr, TypeGrp, warn; LIBRARY DosBase BY -402 PROCEDURE ROMNameFromLock(lock IN D1 : FileLockPtr; buffer IN D2 : SysStringPtr; len IN D3 : LONGINT ): LONGBOOL; LIBRARY DosBase BY -408 PROCEDURE ROMNameFH(fh IN D1 : FileHandlePtr; buffer IN D2 : SysStringPtr; len IN D3 : LONGINT ): LONGBOOL; LIBRARY DosBase BY -414 PROCEDURE ROMSplitName( REF name IN D1 : STRING; seperator IN D2 : CHAR; buf IN D3 : SysStringPtr; oldpos IN D4 : INTEGER; size IN D5 : LONGINT ): INTEGER; LIBRARY DosBase BY -438 PROCEDURE ROMReadLink( port IN D1 : MsgPortPtr; lock IN D2 : FileLockPtr; REF path IN D3 : STRING; buffer IN D4 : SysStringPtr; size IN D5 : LONGCARD ): LONGBOOL; LIBRARY DosBase BY -468 PROCEDURE ROMFault( code IN D1 : IoErrors; REF header IN D2 : STRING; buffer IN D3 : SysStringPtr; len IN D4 : LONGINT ): LONGBOOL; LIBRARY DosBase BY -564 PROCEDURE ROMGetCurrentDirName(buf IN D1 : SysStringPtr; len IN D2 : LONGINT ): LONGBOOL; LIBRARY DosBase BY -576 PROCEDURE ROMGetProgramName( buf IN D1 : SysStringPtr; len IN D2 : LONGINT ): LONGBOOL; LIBRARY DosBase BY -906 PROCEDURE ROMGetVar( REF name IN D1 : STRING; buffer IN D2 : SysStringPtr; size IN D3 : LONGINT; flags IN D4 : GetVarFlagSet): LONGBOOL; LIBRARY DosBase BY -198 PROCEDURE ROMDelay( ticks IN D1 : LONGCARD ); LIBRARY DosBase BY -588 PROCEDURE ROMGetPrompt( buf IN D1 : SysStringPtr; len IN D2 : LONGINT ): LONGBOOL; END Dos.