(**************************************************************************)
(*                                                                        *)
(* Definition Module DosL.def by Marcel Timmermans.                       *)
(* Date     : 21 Feb 1994                                                 *)
(* Language : Modula-2                                                    *)
(*                                                                        *)
(**************************************************************************)

DEFINITION MODULE DosL {"dos.library", 33};

FROM SYSTEM IMPORT ADDRESS,LONGSET;

FROM ExecD IMPORT
 MsgPortPtr,BPTR;

FROM UtilityD IMPORT
 TagItemPtr;

IMPORT
 DosD,Reg;

VAR
 dosBase:DosD.DosLibraryPtr;

CONST
 dosMinVersion=33;
 dosName="dos.library";

PROCEDURE AbortPkt(port{Reg.D1}:DosD.ProcessId;
                 pkt{Reg.D2}:DosD.DosPacketPtr); CODE -264;

PROCEDURE AddBuffers(name{Reg.D1}:DosD.StrPtr;
                 number{Reg.D2}:LONGINT):BOOLEAN; CODE -732;

PROCEDURE AddDosEntry(dlist{Reg.D1}:DosD.DosListPtr):BOOLEAN; CODE -678;

PROCEDURE AddPart(dirname{Reg.D1}:DosD.StrPtr;
                 filename{Reg.D2}:DosD.StrPtr;
                 size{Reg.D3}:LONGINT):BOOLEAN; CODE -882;

PROCEDURE AddSegment(name{Reg.D1}:DosD.StrPtr;
                 seg{Reg.D2}:DosD.SegmentPtr;
                 system{Reg.D3}:LONGINT):BOOLEAN; CODE -774;

PROCEDURE AllocDosObject(type{Reg.D1}:LONGCARD;
                 tags{Reg.D2}:TagItemPtr):ADDRESS; CODE -228;

PROCEDURE AssignAdd(name{Reg.D1}:DosD.StrPtr;
                 lock{Reg.D2}:DosD.FileLockPtr):BOOLEAN; CODE -630;

PROCEDURE AssignLate(name{Reg.D1}:DosD.StrPtr;
                 path{Reg.D2}:DosD.StrPtr):BOOLEAN; CODE -618;

PROCEDURE AssignLock(name{Reg.D1}:DosD.StrPtr;
                 lock{Reg.D2}:DosD.FileLockPtr):BOOLEAN; CODE -612;

PROCEDURE AssignPath(name{Reg.D1}:DosD.StrPtr;
                 path{Reg.D2}:DosD.StrPtr):BOOLEAN; CODE -624;

PROCEDURE AttemptLockDosList(
            flags{Reg.D1}:DosD.LockDosFlagSet):DosD.DosListPtr ; CODE -666;

PROCEDURE ChangeMode(type{Reg.D1}:LONGCARD;
                 object{Reg.D2}:BPTR;
                 newmode{Reg.D3}:LONGINT):BOOLEAN; CODE -450;

PROCEDURE CheckSignal(mask{Reg.D1}:LONGSET):LONGSET; CODE -792;

PROCEDURE Cli():DosD.CommandLineInterfaceAPtr; CODE -492;

PROCEDURE CliInitNewcli(
              dp{Reg.A0}:DosD.DosPacketPtr):LONGSET; CODE -930;

PROCEDURE CliInitRun(
              dp{Reg.A0}:DosD.DosPacketPtr):LONGSET; CODE -936;

PROCEDURE Close(file{Reg.D1}:DosD.FileHandlePtr); CODE -36;

PROCEDURE CloseB(file{Reg.D1}:DosD.FileHandlePtr):BOOLEAN; CODE -36;

PROCEDURE CompareDates(date1{Reg.D1},
                       date2{Reg.D2}:DosD.DatePtr):LONGINT; CODE -738;

PROCEDURE CreateDir(name{Reg.D1}:DosD.StrPtr):DosD.FileLockPtr; CODE -120;

PROCEDURE CreateNewProc(tags{Reg.D1}:TagItemPtr):DosD.ProcessPtr; CODE -498;

PROCEDURE CreateProc(name{Reg.D1}:DosD.StrPtr;
           pri{Reg.D2}:LONGINT;
           segList{Reg.D3}:BPTR;
           stackSize{Reg.D4}:LONGINT):DosD.ProcessId; CODE -138;

PROCEDURE CurrentDir(lock{Reg.D1}:DosD.FileLockPtr):DosD.FileLockPtr; CODE -126;

PROCEDURE DateStamp(v{Reg.D1}:DosD.DatePtr); CODE -192;

PROCEDURE DateToStr(datetime{Reg.D1}:DosD.DateTimePtr):LONGINT; CODE -744;

PROCEDURE Delay(ticks{Reg.D1}:LONGINT); CODE -198;

PROCEDURE DeleteFile(name{Reg.D1}:DosD.StrPtr):BOOLEAN; CODE -72;

PROCEDURE DeleteVar(name{Reg.D1}:DosD.StrPtr;
                 flags{Reg.D2}:DosD.VarFlagSet):BOOLEAN; CODE -912;

PROCEDURE DeviceProc(name{Reg.D1}:DosD.StrPtr):DosD.ProcessId; CODE -174;

PROCEDURE DoPkt(port{Reg.D1}:DosD.ProcessId;
                action{Reg.D2}:LONGINT;
                arg1{Reg.D3},arg2{Reg.D4},arg3{Reg.D5}:LONGINT;
                arg4{Reg.D6},arg5{Reg.D7}:LONGINT):LONGINT; CODE -240;

PROCEDURE DupLock(lock{Reg.D1}:DosD.FileLockPtr):DosD.FileLockPtr; CODE -96;

PROCEDURE DupLockFromFH(
             fh{Reg.D1}:DosD.FileHandlePtr):DosD.FileLockPtr; CODE -372;

PROCEDURE EndNotify(VAR notify{Reg.D1}:DosD.NotifyRequest); CODE -894;

PROCEDURE ErrorReport(code{Reg.D1}:LONGINT;
                 type{Reg.D2}:LONGINT;
                 arg1{Reg.D3}:LONGCARD;
                 device{Reg.D4}:DosD.ProcessId):BOOLEAN; CODE -480;

PROCEDURE ExAll(lock{Reg.D1}:DosD.FileLockPtr;
                buffer{Reg.D2}:ADDRESS;
                size{Reg.D3}:LONGINT;
                type{Reg.D4}:LONGINT;
                control{Reg.D5}:DosD.ExAllControlPtr):BOOLEAN; CODE -432;

PROCEDURE ExAllEnd(lock{Reg.D1}:DosD.FileLockPtr;
                   buffer{Reg.D2}:ADDRESS;
                   size{Reg.D3}:LONGINT;
                   type{Reg.D4}:LONGINT;
                   control{Reg.D5}:DosD.ExAllControlPtr):LONGINT; CODE -990;

PROCEDURE Examine(lock{Reg.D1}:DosD.FileLockPtr;
           infoBlock{Reg.D2}:DosD.FileInfoBlockPtr):BOOLEAN; CODE -102;

PROCEDURE ExamineFH(fh{Reg.D1}:DosD.FileHandlePtr;
                 fib{Reg.D2}:DosD.FileInfoBlockPtr):BOOLEAN; CODE -390;

PROCEDURE Execute(commandString{Reg.D1}:DosD.StrPtr;
           input{Reg.D2}:DosD.FileHandlePtr;
           output{Reg.D3}:DosD.FileHandlePtr):LONGINT; CODE -222;

PROCEDURE Exit(returnCode{Reg.D1}:LONGINT); CODE -144;

PROCEDURE ExNext(lock{Reg.D1}:DosD.FileLockPtr;
           infoBlock{Reg.D2}:DosD.FileInfoBlockPtr):BOOLEAN; CODE -108;

PROCEDURE Fault(code{Reg.D1}:LONGINT;
                header{Reg.D2}:DosD.StrPtr;
                buffer{Reg.D3}:DosD.StrPtr;
                len{Reg.D4}:LONGINT):BOOLEAN; CODE -468;

PROCEDURE FGetC(fh{Reg.D1}:DosD.FileHandlePtr):LONGINT; CODE -306;

PROCEDURE FGets(fh{Reg.D1}:DosD.FileHandlePtr;
                buf{Reg.D2}:ADDRESS;
                buflen{Reg.D3}:LONGCARD):DosD.StrPtr; CODE -336;

PROCEDURE FilePart(path{Reg.D1}:DosD.StrPtr):DosD.StrPtr; CODE -870;

PROCEDURE FindArg(keyword{Reg.D1}:DosD.StrPtr;
                  template{Reg.D2}:DosD.StrPtr):LONGINT; CODE -804;

PROCEDURE FindCliProc(num{Reg.D1}:LONGINT):DosD.ProcessPtr; CODE -546;

PROCEDURE FindDosEntry(dlist{Reg.D1}:DosD.DosListPtr;
                 name{Reg.D2}:DosD.StrPtr;
                 flags{Reg.D3}:DosD.LockDosFlagSet):DosD.DosListPtr; CODE -684;

PROCEDURE FindSegment(name{Reg.D1}:DosD.StrPtr;
                 seg{Reg.D2}:DosD.SegmentPtr;
                 system{Reg.D3}:BOOLEAN):DosD.SegmentPtr; CODE -780;

PROCEDURE FindVar(name{Reg.D1}:DosD.StrPtr;
                 type{Reg.D2}:DosD.VarFlagSet):DosD.LocalVarPtr; CODE -918;

PROCEDURE Flush(fh{Reg.D1}:DosD.FileHandlePtr):BOOLEAN; CODE -360;

PROCEDURE Format(filesystem{Reg.D1}:DosD.StrPtr;
                 volumename{Reg.D2}:DosD.StrPtr;
                 dostype{Reg.D3}:LONGINT):BOOLEAN; CODE -714;

PROCEDURE FPutC(fh{Reg.D1}:DosD.FileHandlePtr;
                ch{Reg.D2}:LONGINT):LONGINT; CODE -312;

PROCEDURE FPuts(fh{Reg.D1}:DosD.FileHandlePtr;
                str{Reg.D2}:DosD.StrPtr):BOOLEAN; CODE -342;

PROCEDURE FRead(fh{Reg.D1}:DosD.FileHandlePtr;
                buf{Reg.D2}:ADDRESS;
                blocklen{Reg.D3}:LONGCARD;
                blocks{Reg.D4}:LONGCARD):LONGINT; CODE -324;

PROCEDURE FreeArgs(args{Reg.D1}:DosD.RDArgsPtr); CODE -858;

PROCEDURE FreeDeviceProc(devproc{Reg.D1}:DosD.DevProcPtr); CODE -648;

PROCEDURE FreeDosEntry(dlist{Reg.D1}:DosD.DosListPtr); CODE -702;

PROCEDURE FreeDosObject(type{Reg.D1}:LONGCARD;
                 ptr{Reg.D2}:ADDRESS); CODE -234;

PROCEDURE FWrite(fh{Reg.D1}:DosD.FileHandlePtr;
                 buf{Reg.D2}:ADDRESS;
                 blocklen{Reg.D3}:LONGCARD;
                 blocks{Reg.D4}:LONGCARD):LONGINT; CODE -330;

PROCEDURE GetArgStr():DosD.StrPtr; CODE -534;

PROCEDURE GetConsoleTask():DosD.ProcessId; CODE -510;

PROCEDURE GetCurrentDirName(buf{Reg.D1}:DosD.StrPtr;
                 len{Reg.D2}:LONGINT):BOOLEAN; CODE -564;

PROCEDURE GetDeviceProc(name{Reg.D1}:DosD.StrPtr;
                 devproc{Reg.D2}:DosD.DevProcPtr):DosD.DevProcPtr; CODE -642;

PROCEDURE GetFileSysTask():DosD.ProcessId; CODE -522;

PROCEDURE GetProgramDir():DosD.FileLockPtr; CODE -600;

PROCEDURE GetProgramName(buf{Reg.D1}:DosD.StrPtr;
                 len{Reg.D2}:LONGINT):BOOLEAN; CODE -576;

PROCEDURE GetPrompt(buf{Reg.D1}:DosD.StrPtr;
                 len{Reg.D2}:LONGINT):BOOLEAN; CODE -588;

PROCEDURE GetVar(name{Reg.D1}:DosD.StrPtr;
                 buffer{Reg.D2}:DosD.StrPtr;
                 size{Reg.D3}:LONGINT;
                 flags{Reg.D4}:DosD.VarFlagSet):LONGINT; CODE -906;

PROCEDURE Info(lock{Reg.D1}:DosD.FileLockPtr;
           parameterBlock{Reg.D2}:DosD.InfoDataPtr):BOOLEAN; CODE -114;

PROCEDURE Inhibit(name{Reg.D1}:DosD.StrPtr;
                 onoff{Reg.D2}:BOOLEAN):BOOLEAN; CODE -726;

PROCEDURE Input():DosD.FileHandlePtr; CODE -54;

PROCEDURE IoErr():LONGINT; CODE -132;

PROCEDURE IsFileSystem(name{Reg.D1}:DosD.StrPtr):BOOLEAN; CODE -708;

PROCEDURE IsInteractive(file{Reg.D1}:DosD.FileHandlePtr):BOOLEAN; CODE -216;

PROCEDURE LoadSeg(name{Reg.D1}:DosD.StrPtr):BPTR; CODE -150;

PROCEDURE Lock(name{Reg.D1}:DosD.StrPtr;
           accessMode{Reg.D2}:LONGINT):DosD.FileLockPtr; CODE -84;

PROCEDURE LockDosList(flags{Reg.D1}:DosD.LockDosFlagSet):DosD.DosListPtr; CODE -654;

PROCEDURE LockRecord(fh{Reg.D1}:DosD.FileHandlePtr;
                 offset{Reg.D2},length{Reg.D3}:LONGCARD;
                 mode{Reg.D4},timeout{Reg.D5}:LONGCARD):BOOLEAN; CODE -270;

PROCEDURE LockRecords(recArr{Reg.D1}:DosD.RecordLockPtr;
                 timeout{Reg.D2}:LONGCARD):BOOLEAN; CODE -276;

PROCEDURE MakeDosEntry(name{Reg.D1}:DosD.StrPtr;
                 type{Reg.D2}:LONGINT):DosD.DosListPtr; CODE -696;

PROCEDURE MakeLink(name{Reg.D1}:DosD.StrPtr;
                 dest{Reg.D2}:LONGCARD;
                 soft{Reg.D3}:BOOLEAN):LONGINT; CODE -444;

PROCEDURE MakeHardLink(name{Reg.D1}:DosD.StrPtr;
                 dest{Reg.D2}:DosD.FileLockPtr;
                 soft{Reg.D3}:BOOLEAN):LONGINT; CODE -444;

PROCEDURE MakeSoftLink(name{Reg.D1}:DosD.StrPtr;
                 dest{Reg.D2}:DosD.StrPtr;
                 soft{Reg.D3}:BOOLEAN):LONGINT; CODE -444;

PROCEDURE MatchEnd(VAR anchor{Reg.D1}:DosD.AnchorPath); CODE -834;

PROCEDURE MatchFirst(pat{Reg.D1}:DosD.StrPtr;
                 VAR anchor{Reg.D2}:DosD.AnchorPath):LONGINT; CODE -822;

PROCEDURE MatchNext(VAR anchor{Reg.D1}:DosD.AnchorPath):LONGINT; CODE -828;

PROCEDURE MatchPattern(pat{Reg.D1}:DosD.StrPtr;
                 str{Reg.D2}:DosD.StrPtr):BOOLEAN; CODE -846;

PROCEDURE MatchPatternNoCase(
                 pat{Reg.D1}:DosD.StrPtr;
                 str{Reg.D2}:DosD.StrPtr):BOOLEAN; CODE -972;

PROCEDURE MaxCli():LONGINT; CODE -552;

PROCEDURE NameFromFH(fh{Reg.D1}:DosD.FileHandlePtr;
                 buffer{Reg.D2}:DosD.StrPtr;
                 len{Reg.D3}:LONGINT):BOOLEAN; CODE -408;

PROCEDURE NameFromLock(lock{Reg.D1}:DosD.FileLockPtr;
                 buffer{Reg.D2}:DosD.StrPtr;
                 len{Reg.D3}:LONGINT):BOOLEAN; CODE -402;

PROCEDURE NewLoadSeg(file{Reg.D1}:DosD.StrPtr;
                 tags{Reg.D2}:TagItemPtr):BPTR; CODE -768;

PROCEDURE NextDosEntry(dlist{Reg.D1}:DosD.DosListPtr;
                 flags{Reg.D2}:DosD.LockDosFlagSet):DosD.DosListPtr; CODE -690;

PROCEDURE Open(name{Reg.D1}:DosD.StrPtr;
           accessMode{Reg.D2}:LONGINT):DosD.FileHandlePtr; CODE -30;

PROCEDURE OpenFromLock(
                 lock{Reg.D1}:DosD.FileLockPtr):DosD.FileHandlePtr; CODE -378;

PROCEDURE Output():DosD.FileHandlePtr; CODE -60;

PROCEDURE ParentDir(lock{Reg.D1}:DosD.FileLockPtr):DosD.FileLockPtr; CODE -210;

PROCEDURE ParentOfFH(fh{Reg.D1}:DosD.FileHandlePtr):DosD.FileLockPtr; CODE -384;

PROCEDURE ParsePattern(pat{Reg.D1}:DosD.StrPtr;
                 buf{Reg.D2}:DosD.StrPtr;
                 buflen{Reg.D3}:LONGINT):LONGINT; CODE -840;

PROCEDURE ParsePatternNoCase(pat{Reg.D1}:DosD.StrPtr;
                 buf{Reg.D2}:DosD.StrPtr;
                 buflen{Reg.D3}:LONGINT):LONGINT; CODE -966;

PROCEDURE PathPart(path{Reg.D1}:DosD.StrPtr):DosD.StrPtr; CODE -876;

PROCEDURE PrintFault(code{Reg.D1}:LONGINT;
                 header{Reg.D2}:DosD.StrPtr):BOOLEAN; CODE -474;

PROCEDURE PutStr(str{Reg.D1}:DosD.StrPtr):BOOLEAN; CODE -948;

PROCEDURE Read(file{Reg.D1}:DosD.FileHandlePtr;
           buffer{Reg.D2}:ADDRESS;
           length{Reg.D3}:LONGINT):LONGINT; CODE -42;

PROCEDURE ReadArgs(template{Reg.D1}:DosD.StrPtr;
                 array{Reg.D2}:ADDRESS;
                 args{Reg.D3}:DosD.RDArgsPtr):DosD.RDArgsPtr; CODE -798;

PROCEDURE ReadItem(name{Reg.D1}:DosD.StrPtr;
                 maxchars{Reg.D2}:LONGINT;
                 cSource{Reg.D3}:DosD.CSourcePtr):LONGINT; CODE -810;

PROCEDURE ReadLink(port{Reg.D1}:DosD.ProcessId;
                 lock{Reg.D2}:DosD.FileLockPtr;
                 path{Reg.D3}:DosD.StrPtr;
                 buffer{Reg.D4}:DosD.StrPtr;
                 buffSize{Reg.D5}:LONGCARD):BOOLEAN; CODE -438;

PROCEDURE Relabel(drive{Reg.D1}:DosD.StrPtr;
                 newname{Reg.D2}:DosD.StrPtr):BOOLEAN; CODE -720;

PROCEDURE RemAssignList(name{Reg.D1}:DosD.StrPtr;
                 lock{Reg.D2}:DosD.FileLockPtr):BOOLEAN; CODE -636;

PROCEDURE RemDosEntry(dlist{Reg.D1}:DosD.DosListPtr):BOOLEAN; CODE -672;

PROCEDURE RemSegment(seg{Reg.D1}:DosD.SegmentPtr):BOOLEAN; CODE -786;

PROCEDURE Rename(oldName{Reg.D1},newName{Reg.D2}:DosD.StrPtr):BOOLEAN; CODE -78;

PROCEDURE ReplyPkt(dp{Reg.D1}:DosD.DosPacketPtr;
                 res1{Reg.D2},res2{Reg.D3}:LONGINT); CODE -258;

PROCEDURE RunCommand(seg{Reg.D1}:BPTR;
                 stacksize{Reg.D2}:LONGINT;
                 paramptr{Reg.D3}:DosD.StrPtr;
                 paramlen{Reg.D4}:LONGINT):LONGINT; CODE -504;

PROCEDURE SameDevice(lock1{Reg.D1}:DosD.FileLockPtr;
                 lock2{Reg.D2}:DosD.FileLockPtr):BOOLEAN; CODE -984;

PROCEDURE SameLock(lock1{Reg.D1}:DosD.FileLockPtr;
                 lock2{Reg.D2}:DosD.FileLockPtr):LONGINT; CODE -420;

PROCEDURE Seek(file{Reg.D1}:DosD.FileHandlePtr;
           position{Reg.D2}:LONGINT;
           mode{Reg.D3}:LONGINT):LONGINT; CODE -66;

PROCEDURE SelectInput(fh{Reg.D1}:DosD.FileHandlePtr):DosD.FileHandlePtr; CODE -294;

PROCEDURE SelectOutput(fh{Reg.D1}:DosD.FileHandlePtr):DosD.FileHandlePtr; CODE -300;

PROCEDURE SendPkt(dp{Reg.D1}:DosD.ProcessId;
                 port{Reg.D2}:MsgPortPtr;
                 replyport{Reg.D3}:MsgPortPtr); CODE -246;

PROCEDURE SetArgStr(string{Reg.D1}:DosD.StrPtr):DosD.StrPtr; CODE -540;

PROCEDURE SetComment(name{Reg.D1},comment{Reg.D2}:DosD.StrPtr):BOOLEAN; CODE -180;

PROCEDURE SetConsoleTask(task{Reg.D1}:DosD.ProcessId):DosD.ProcessId; CODE -516;

PROCEDURE SetCurrentDirName(name{Reg.D1}:DosD.StrPtr):BOOLEAN; CODE -558;

PROCEDURE SetFileDate(name{Reg.D1}:DosD.StrPtr;
                 date{Reg.D2}:DosD.DatePtr):BOOLEAN; CODE -396;

PROCEDURE SetFileSize(fh{Reg.D1}:DosD.FileHandlePtr;
                 pos{Reg.D2},mode{Reg.D3}:LONGINT):LONGINT; CODE -456;

PROCEDURE SetFileSysTask(task{Reg.D1}:DosD.ProcessId):DosD.ProcessId; CODE -528;

PROCEDURE SetIoErr(result{Reg.D1}:LONGINT):LONGINT; CODE -462;

PROCEDURE SetMode(fh{Reg.D1}:DosD.FileHandlePtr;
                 mode{Reg.D2}:LONGINT):BOOLEAN; CODE -426;

PROCEDURE SetOwner(name{Reg.D1}:DosD.StrPtr;
                 ownerInfo{Reg.D2}:LONGCARD):BOOLEAN; CODE -996;

PROCEDURE SetProgramDir(lock{Reg.D1}:DosD.FileLockPtr):DosD.FileLockPtr; CODE -594;

PROCEDURE SetProgramName(name{Reg.D1}:DosD.StrPtr):BOOLEAN; CODE -570;

PROCEDURE SetPrompt(name{Reg.D1}:DosD.StrPtr):BOOLEAN; CODE -582;

PROCEDURE SetProtection(name{Reg.D1}:DosD.StrPtr;
           mask{Reg.D2}:DosD.ProtectionMask):BOOLEAN; CODE -186;

PROCEDURE SetVar(name{Reg.D1}:DosD.StrPtr;
                 buffer{Reg.D2}:DosD.StrPtr;
                 size{Reg.D3}:LONGINT;
                 flags{Reg.D4}:DosD.VarFlagSet):BOOLEAN; CODE -900;

PROCEDURE SetVBuf(fh{Reg.D1}:DosD.FileHandlePtr;
                 buff{Reg.D2}:ADDRESS;
                 type{Reg.D3}:LONGINT;
                 size{Reg.D4}:LONGINT):BOOLEAN; CODE -366;

PROCEDURE SplitName(name{Reg.D1}:DosD.StrPtr;
                 seperator{Reg.D2}:CHAR;
                 buf{Reg.D3}:ADDRESS;
                 oldpos{Reg.D4}:LONGINT;
                 size{Reg.D5}:LONGINT):LONGINT; CODE -414;

PROCEDURE StartNotify(VAR notify{Reg.D1}:DosD.NotifyRequest):BOOLEAN; CODE -888;

PROCEDURE StrToDate(datetime{Reg.D1}:DosD.DateTimePtr):LONGINT; CODE -750;

PROCEDURE StrToLong(string{Reg.D1}:DosD.StrPtr;
                 VAR value{Reg.D2}:LONGINT):LONGINT; CODE -816;

PROCEDURE System(command{Reg.D1}:DosD.StrPtr;
                 tags{Reg.D2}:TagItemPtr):LONGINT; CODE -606;

PROCEDURE SystemTagList(command{Reg.D1}:DosD.StrPtr;
                 tags{Reg.D2}:TagItemPtr):LONGINT; CODE -606;

PROCEDURE UnGetC(fh{Reg.D1}:DosD.FileHandlePtr;
                 character{Reg.D2}:LONGINT):LONGINT; CODE -318;

PROCEDURE UnLoadSeg(segment{Reg.D1}:DosD.SegmentPtr); CODE -156;

PROCEDURE UnLock(lock{Reg.D1}:DosD.FileLockPtr); CODE -90;

PROCEDURE UnlockDosList(flags{Reg.D1}:DosD.LockDosFlagSet); CODE -660;

PROCEDURE UnLockRecord(fh{Reg.D1}:DosD.FileHandlePtr;
                 offset{Reg.D2},length{Reg.D3}:LONGCARD):BOOLEAN; CODE -282;

PROCEDURE UnLockRecords(recArr{Reg.D1}:DosD.RecordLockPtr):BOOLEAN; CODE -288;

PROCEDURE VFPrintf(fh{Reg.D1}:DosD.FileHandlePtr;
                 format{Reg.D2}:DosD.StrPtr;
                 argarray{Reg.D3}:ADDRESS):LONGINT; CODE -354;

PROCEDURE VFWritef(fh{Reg.D1}:DosD.FileHandlePtr;
                 format{Reg.D2}:DosD.StrPtr;
                 argarray{Reg.D3}:ADDRESS):LONGINT; CODE -348;

PROCEDURE VPrintf(format{Reg.D1}:DosD.StrPtr;
                 argarray{Reg.D2}:ADDRESS):LONGINT; CODE -954;

PROCEDURE WaitForChar(file{Reg.D1}:DosD.FileHandlePtr;
           timeout{Reg.D2}:LONGINT):BOOLEAN; CODE -204;

PROCEDURE WaitPkt():DosD.DosPacketPtr; CODE -252;

PROCEDURE Write(file{Reg.D1}:DosD.FileHandlePtr;
           buffer{Reg.D2}:ADDRESS;
           length{Reg.D3}:LONGINT):LONGINT; CODE -48;

PROCEDURE WriteChars(buf{Reg.D1}:ADDRESS;
                 buflen{Reg.D2}:LONGINT):LONGINT; CODE -942;


END DosL.
