with interfaces; use interfaces; with interfaces.c.strings; use interfaces.c.strings; with exec_ports; use exec_ports; with utility_tagitem; use utility_tagitem; with incomplete_type; use incomplete_type; package dos_Dos is DOSNAME : constant Chars_Ptr := Allocate_String("dos.library"); DOSTRUE : constant Unsigned_32 := 16#ffffffff#; DOSFALSE : constant Unsigned_32 := 0; MODE_OLDFILE : constant Unsigned_32 := 1005; MODE_NEWFILE : constant Unsigned_32 := 1006; MODE_READWRITE : constant Unsigned_32 := 1004; OFFSET_BEGINNING : constant Unsigned_32 := 16#ffffffff#; OFFSET_CURRENT : constant Unsigned_32 := 0; OFFSET_END : constant Unsigned_32 := 1; OFFSET_BEGINING : constant Unsigned_32 := OFFSET_BEGINNING; BITSPERBYTE : constant Unsigned_32 := 8; BYTESPERLONG : constant Unsigned_32 := 4; BITSPERLONG : constant Unsigned_32 := 32; MAXINT : constant Unsigned_32 := 16#7FFFFFFF#; MININT : constant Unsigned_32 := 16#80000000#; SHARED_LOCK : constant Unsigned_32 := 16#fffffffe#; ACCESS_READ : constant Unsigned_32 := 16#fffffffe#; EXCLUSIVE_LOCK : constant Unsigned_32 := 16#ffffffff#; ACCESS_WRITE : constant Unsigned_32 := 16#ffffffff#; TICKS_PER_SECOND : constant Unsigned_32 := 50; FIBB_SCRIPT : constant Unsigned_32 := 6; FIBB_PURE : constant Unsigned_32 := 5; FIBB_ARCHIVE : constant Unsigned_32 := 4; FIBB_READ : constant Unsigned_32 := 3; FIBB_WRITE : constant Unsigned_32 := 2; FIBB_EXECUTE : constant Unsigned_32 := 1; FIBB_DELETE : constant Unsigned_32 := 0; FIBF_SCRIPT : constant Unsigned_32 := (2**Integer(FIBB_SCRIPT)); FIBF_PURE : constant Unsigned_32 := (2**Integer(FIBB_PURE)); FIBF_ARCHIVE : constant Unsigned_32 := (2**Integer(FIBB_ARCHIVE)); FIBF_READ : constant Unsigned_32 := (2**Integer(FIBB_READ)); FIBF_WRITE : constant Unsigned_32 := (2**Integer(FIBB_WRITE)); FIBF_EXECUTE : constant Unsigned_32 := (2**Integer(FIBB_EXECUTE)); FIBF_DELETE : constant Unsigned_32 := (2**Integer(FIBB_DELETE)); FAULT_MAX : constant Unsigned_32 := 82; ID_WRITE_PROTECTED : constant Unsigned_32 := 80; ID_VALIDATING : constant Unsigned_32 := 81; ID_VALIDATED : constant Unsigned_32 := 82; ID_NO_DISK_PRESENT : constant Unsigned_32 := (16#ffffffff#); ID_UNREADABLE_DISK : constant Unsigned_32 := (16#42414400#); ID_DOS_DISK : constant Unsigned_32 := (16#444F5300#); ID_FFS_DISK : constant Unsigned_32 := (16#444F5301#); ID_INTER_DOS_DISK : constant Unsigned_32 := (16#444F5302#); ID_INTER_FFS_DISK : constant Unsigned_32 := (16#444F5303#); ID_NOT_REALLY_DOS : constant Unsigned_32 := (16#4E444F53#); ID_KICKSTART_DISK : constant Unsigned_32 := (16#4B49434B#); ID_MSDOS_DISK : constant Unsigned_32 := (16#4d534400#); ERROR_NO_FREE_STORE : constant Unsigned_32 := 103; ERROR_TASK_TABLE_FULL : constant Unsigned_32 := 105; ERROR_BAD_TEMPLATE : constant Unsigned_32 := 114; ERROR_BAD_NUMBER : constant Unsigned_32 := 115; ERROR_REQUIRED_ARG_MISSING : constant Unsigned_32 := 116; ERROR_KEY_NEEDS_ARG : constant Unsigned_32 := 117; ERROR_TOO_MANY_ARGS : constant Unsigned_32 := 118; ERROR_UNMATCHED_QUOTES : constant Unsigned_32 := 119; ERROR_LINE_TOO_LONG : constant Unsigned_32 := 120; ERROR_FILE_NOT_OBJECT : constant Unsigned_32 := 121; ERROR_INVALID_RESIDENT_LIBRARY : constant Unsigned_32 := 122; ERROR_NO_DEFAULT_DIR : constant Unsigned_32 := 201; ERROR_OBJECT_IN_USE : constant Unsigned_32 := 202; ERROR_OBJECT_EXISTS : constant Unsigned_32 := 203; ERROR_DIR_NOT_FOUND : constant Unsigned_32 := 204; ERROR_OBJECT_NOT_FOUND : constant Unsigned_32 := 205; ERROR_BAD_STREAM_NAME : constant Unsigned_32 := 206; ERROR_OBJECT_TOO_LARGE : constant Unsigned_32 := 207; ERROR_ACTION_NOT_KNOWN : constant Unsigned_32 := 209; ERROR_INVALID_COMPONENT_NAME : constant Unsigned_32 := 210; ERROR_INVALID_LOCK : constant Unsigned_32 := 211; ERROR_OBJECT_WRONG_TYPE : constant Unsigned_32 := 212; ERROR_DISK_NOT_VALIDATED : constant Unsigned_32 := 213; ERROR_DISK_WRITE_PROTECTED : constant Unsigned_32 := 214; ERROR_RENAME_ACROSS_DEVICES : constant Unsigned_32 := 215; ERROR_DIRECTORY_NOT_EMPTY : constant Unsigned_32 := 216; ERROR_TOO_MANY_LEVELS : constant Unsigned_32 := 217; ERROR_DEVICE_NOT_MOUNTED : constant Unsigned_32 := 218; ERROR_SEEK_ERROR : constant Unsigned_32 := 219; ERROR_COMMENT_TOO_BIG : constant Unsigned_32 := 220; ERROR_DISK_FULL : constant Unsigned_32 := 221; ERROR_DELETE_PROTECTED : constant Unsigned_32 := 222; ERROR_WRITE_PROTECTED : constant Unsigned_32 := 223; ERROR_READ_PROTECTED : constant Unsigned_32 := 224; ERROR_NOT_A_DOS_DISK : constant Unsigned_32 := 225; ERROR_NO_DISK : constant Unsigned_32 := 226; ERROR_NO_MORE_ENTRIES : constant Unsigned_32 := 232; ERROR_IS_SOFT_LINK : constant Unsigned_32 := 233; ERROR_OBJECT_LINKED : constant Unsigned_32 := 234; ERROR_BAD_HUNK : constant Unsigned_32 := 235; ERROR_NOT_IMPLEMENTED : constant Unsigned_32 := 236; ERROR_RECORD_NOT_LOCKED : constant Unsigned_32 := 240; ERROR_LOCK_COLLISION : constant Unsigned_32 := 241; ERROR_LOCK_TIMEOUT : constant Unsigned_32 := 242; ERROR_UNLOCK_ERROR : constant Unsigned_32 := 243; RETURN_OK : constant Unsigned_32 := 0; RETURN_WARN : constant Unsigned_32 := 5; RETURN_ERROR : constant Unsigned_32 := 10; RETURN_FAIL : constant Unsigned_32 := 20; SIGBREAKB_CTRL_C : constant Unsigned_32 := 12; SIGBREAKB_CTRL_D : constant Unsigned_32 := 13; SIGBREAKB_CTRL_E : constant Unsigned_32 := 14; SIGBREAKB_CTRL_F : constant Unsigned_32 := 15; SIGBREAKF_CTRL_C : constant Unsigned_32 := (2**Integer(SIGBREAKB_CTRL_C)); SIGBREAKF_CTRL_D : constant Unsigned_32 := (2**Integer(SIGBREAKB_CTRL_D)); SIGBREAKF_CTRL_E : constant Unsigned_32 := (2**Integer(SIGBREAKB_CTRL_E)); SIGBREAKF_CTRL_F : constant Unsigned_32 := (2**Integer(SIGBREAKB_CTRL_F)); LOCK_DIFFERENT : constant Unsigned_32 := 16#ffffffff#; LOCK_SAME : constant Unsigned_32 := 0; LOCK_SAME_VOLUME : constant Unsigned_32 := 1; LOCK_SAME_HANDLER : constant Unsigned_32 := LOCK_SAME_VOLUME; CHANGE_LOCK : constant Unsigned_32 := 0; CHANGE_FH : constant Unsigned_32 := 1; LINK_HARD : constant Unsigned_32 := 0; LINK_SOFT : constant Unsigned_32 := 1; ITEM_EQUAL : constant Unsigned_32 := 16#fffffffe#; ITEM_ERROR : constant Unsigned_32 := 16#ffffffff#; ITEM_NOTHING : constant Unsigned_32 := 0; ITEM_UNQUOTED : constant Unsigned_32 := 1; ITEM_QUOTED : constant Unsigned_32 := 2; DOS_FILEHANDLE : constant Unsigned_32 := 0; DOS_EXALLCONTROL : constant Unsigned_32 := 1; DOS_FIB : constant Unsigned_32 := 2; DOS_STDPKT : constant Unsigned_32 := 3; DOS_CLI : constant Unsigned_32 := 4; DOS_RDARGS : constant Unsigned_32 := 5; type DateStamp; type DateStamp_Ptr is access DateStamp; type DateStamp is record ds_Days : Integer; ds_Minute : Integer; ds_Tick : Integer; end record; type FileInfoBlock; type FileInfoBlock_Ptr is access FileInfoBlock; type FileInfoBlock is record fib_DiskKey : Integer; fib_DirEntryType : Integer; fib_FileName : String(1..108); fib_Protection : Integer; fib_EntryType : Integer; fib_Size : Integer; fib_NumBlocks : Integer; fib_Date : DateStamp; fib_Comment : String(1..80); fib_Reserved : String(1..36); end record; type InfoData; type InfoData_Ptr is access InfoData; type InfoData is record id_NumSoftErrors : Integer; id_UnitNumber : Integer; id_DiskState : Integer; id_NumBlocks : Integer; id_NumBlocksUsed : Integer; id_BytesPerBlock : Integer; id_DiskType : Integer; id_VolumeNode : Unsigned_32_Ptr; id_InUse : Integer; end record; procedure AbortPkt( port : MsgPort_Ptr;pkt : DosPacket_Ptr) ; pragma IMPORT (C, AbortPkt, "AbortPkt"); function AddBuffers ( name : Chars_Ptr;number : Integer) return INTEGER ; pragma IMPORT (C, AddBuffers, "AddBuffers"); function AddDosEntry( dlist : DosList_Ptr) return INTEGER ; pragma IMPORT (C, AddDosEntry, "AddDosEntry"); function AddPart ( dirname : Chars_Ptr;filename : Chars_Ptr;size : Integer) return Boolean ; pragma IMPORT (C, AddPart, "AddPart"); function AddSegment ( name : Chars_Ptr;seg : Unsigned_32_Ptr;system : Integer) return INTEGER ; pragma IMPORT (C, AddSegment, "AddSegment"); function AssignAdd ( name : Chars_Ptr;lock : Unsigned_32_Ptr) return Boolean ; pragma IMPORT (C, AssignAdd, "AssignAdd"); function AssignLate ( name : Chars_Ptr;path : Chars_Ptr) return Boolean ; pragma IMPORT (C, AssignLate, "AssignLate"); function AssignLock ( name : Chars_Ptr;lock : Unsigned_32_Ptr) return INTEGER ; pragma IMPORT (C, AssignLock, "AssignLock"); function AssignPath ( name : Chars_Ptr;path : Chars_Ptr) return Boolean ; pragma IMPORT (C, AssignPath, "AssignPath"); function AttemptLockDosList ( flags : Integer) return DosList_Ptr; pragma IMPORT (C, AttemptLockDosList, "AttemptLockDosList"); function ChangeMode ( dos_type : Integer;fh : Unsigned_32_Ptr;newmode : Integer) return INTEGER ; pragma IMPORT (C, ChangeMode, "ChangeMode"); function CheckSignal ( mask : Integer) return INTEGER ; pragma IMPORT (C, CheckSignal, "CheckSignal"); function Cli return CommandLineInterface_Ptr; pragma IMPORT (C, Cli, "Cli"); function CliInitNewcli( dp : DosPacket_Ptr) return INTEGER ; pragma IMPORT (C, CliInitNewcli, "CliInitNewcli"); function CliInitRun( dp : DosPacket_Ptr) return INTEGER ; pragma IMPORT (C, CliInitRun, "CliInitRun"); function Close ( file : Unsigned_32_Ptr) return INTEGER ; pragma IMPORT (C, Close, "Close"); function CompareDates( date1 : DateStamp_Ptr;date2 : DateStamp_Ptr) return INTEGER ; pragma IMPORT (C, CompareDates, "CompareDates"); function CreateDir ( name : Chars_Ptr) return Unsigned_32_Ptr ; pragma IMPORT (C, CreateDir, "CreateDir"); function CreateProc ( name : Chars_Ptr;pri : Integer;segList : Unsigned_32_Ptr;stackSize : Integer) return MsgPort_Ptr; pragma IMPORT (C, CreateProc, "CreateProc"); function CurrentDir ( lock : Unsigned_32_Ptr) return Unsigned_32_Ptr ; pragma IMPORT (C, CurrentDir, "CurrentDir"); function Get_DateStamp( date : DateStamp_Ptr) return DateStamp_Ptr; pragma IMPORT (C, Get_DateStamp, "DateStamp"); function DateToStr( datetime : DateTime_Ptr) return INTEGER ; pragma IMPORT (C, DateToStr, "DateToStr"); procedure Amiga_Delay ( timeout : Integer) ; pragma IMPORT (C, Amiga_Delay, "Delay"); function DeleteFile ( name : Chars_Ptr) return INTEGER ; pragma IMPORT (C, DeleteFile, "DeleteFile"); function DeleteVar ( name : Chars_Ptr; flags : Integer) return INTEGER ; pragma IMPORT (C, DeleteVar, "DeleteVar"); function DeviceProc ( name : Chars_Ptr) return MsgPort_Ptr; pragma IMPORT (C, DeviceProc, "DeviceProc"); function DoPkt( port : MsgPort_Ptr;action : Integer;arg1 : Integer;arg2 : Integer;arg3 : Integer;arg4 : Integer;arg5 : Integer) return INTEGER ; pragma IMPORT (C, DoPkt, "DoPkt"); function DupLock ( lock : Unsigned_32_Ptr) return Unsigned_32_Ptr ; pragma IMPORT (C, DupLock, "DupLock"); function DupLockFromFH ( fh : Unsigned_32_Ptr) return Unsigned_32_Ptr ; pragma IMPORT (C, DupLockFromFH, "DupLockFromFH"); procedure EndNotify( notify : NotifyRequest_Ptr) ; pragma IMPORT (C, EndNotify, "EndNotify"); function ErrorReport( code : Integer;dos_type : Integer; arg1 : Integer;device : MsgPort_Ptr) return INTEGER ; pragma IMPORT (C, ErrorReport, "ErrorReport"); function ExAll( lock : Unsigned_32_Ptr;buffer : ExAllData_Ptr; size : Integer;data : Integer;control : ExAllControl_Ptr) return INTEGER ; pragma IMPORT (C, ExAll, "ExAll"); procedure ExAllEnd( lock : Unsigned_32_Ptr;buffer : ExAllData_Ptr;size : Integer;data : Integer;control : ExAllControl_Ptr) ; pragma IMPORT (C, ExAllEnd, "ExAllEnd"); function ExNext( lock : Unsigned_32_Ptr;fileInfoBlock : FileInfoBlock_Ptr) return INTEGER ; pragma IMPORT (C, ExNext, "ExNext"); function Examine( lock : Unsigned_32_Ptr;fileInfoBlock : FileInfoBlock_Ptr) return INTEGER ; pragma IMPORT (C, Examine, "Examine"); function ExamineFH( fh : Unsigned_32_Ptr;fib : FileInfoBlock_Ptr) return Boolean ; pragma IMPORT (C, ExamineFH, "ExamineFH"); function Execute ( string : Chars_Ptr;file : Unsigned_32_Ptr;file2 : Unsigned_32_Ptr) return Boolean; pragma IMPORT (C, Execute, "Execute"); procedure Amiga_Exit ( returnCode : Integer) ; pragma IMPORT (C, Amiga_Exit, "Exit"); function FGetC ( fh : Unsigned_32_Ptr) return INTEGER ; pragma IMPORT (C, FGetC, "FGetC"); function FGets ( fh : Unsigned_32_Ptr;buf : Chars_Ptr; buflen : Integer) return Chars_Ptr ; pragma IMPORT (C, FGets, "FGets"); function FPutC ( fh : Unsigned_32_Ptr;ch : Integer) return INTEGER ; pragma IMPORT (C, FPutC, "FPutC"); function FPuts ( fh : Unsigned_32_Ptr;str : Chars_Ptr) return INTEGER ; pragma IMPORT (C, FPuts, "FPuts"); function FRead ( fh : Unsigned_32_Ptr;block : Unsigned_32_Ptr; blocklen : Integer; number : Integer) return INTEGER ; pragma IMPORT (C, FRead, "FRead"); function FWrite ( fh : Unsigned_32_Ptr;block : Unsigned_32_Ptr; blocklen : Integer; number : Integer) return INTEGER ; pragma IMPORT (C, FWrite, "FWrite"); function Fault ( code : Integer;header : Chars_Ptr;buffer : Chars_Ptr;len : Integer) return Boolean ; pragma IMPORT (C, Fault, "Fault"); function FilePart ( path : Chars_Ptr) return Chars_Ptr ; pragma IMPORT (C, FilePart, "FilePart"); function FindArg ( keyword : Chars_Ptr;template : Chars_Ptr) return INTEGER ; pragma IMPORT (C, FindArg, "FindArg"); function FindCliProc ( num : Integer) return Process_Ptr; pragma IMPORT (C, FindCliProc, "FindCliProc"); function FindDosEntry( dlist : DosList_Ptr;name : Chars_Ptr; flags : Unsigned_32) return DosList_Ptr; pragma IMPORT (C, FindDosEntry, "FindDosEntry"); function FindSegment( name : Chars_Ptr;seg : Segment_Ptr;system : Integer) return Segment_Ptr; pragma IMPORT (C, FindSegment, "FindSegment"); function FindVar ( name : Chars_Ptr; dos_type : Integer) return LocalVar_Ptr; pragma IMPORT (C, FindVar, "FindVar"); function Flush ( fh : Unsigned_32_Ptr) return INTEGER ; pragma IMPORT (C, Flush, "Flush"); function Format ( filesystem : Chars_Ptr;volumename : Chars_Ptr; dosdos_type : Integer) return Boolean ; pragma IMPORT (C, Format, "Format"); procedure FreeArgs( args : RDArgs_Ptr) ; pragma IMPORT (C, FreeArgs, "FreeArgs"); procedure FreeDeviceProc( dp : DevProc_Ptr) ; pragma IMPORT (C, FreeDeviceProc, "FreeDeviceProc"); procedure FreeDosEntry( dlist : DosList_Ptr) ; pragma IMPORT (C, FreeDosEntry, "FreeDosEntry"); procedure FreeDosObject ( dos_type : Integer; ptr : Unsigned_32_Ptr) ; pragma IMPORT (C, FreeDosObject, "FreeDosObject"); function GetArgStr return Chars_Ptr ; pragma IMPORT (C, GetArgStr, "GetArgStr"); function GetConsoleTask return MsgPort_Ptr; pragma IMPORT (C, GetConsoleTask, "GetConsoleTask"); function GetCurrentDirName ( buf : Chars_Ptr;len : Integer) return Boolean ; pragma IMPORT (C, GetCurrentDirName, "GetCurrentDirName"); function GetDeviceProc( name : Chars_Ptr;dp : DevProc_Ptr) return DevProc_Ptr; pragma IMPORT (C, GetDeviceProc, "GetDeviceProc"); function GetFileSysTask return MsgPort_Ptr; pragma IMPORT (C, GetFileSysTask, "GetFileSysTask"); function GetProgramDir return Unsigned_32_Ptr ; pragma IMPORT (C, GetProgramDir, "GetProgramDir"); function GetProgramName ( buf : Chars_Ptr;len : Integer) return Boolean ; pragma IMPORT (C, GetProgramName, "GetProgramName"); function GetPrompt ( buf : Chars_Ptr;len : Integer) return Boolean ; pragma IMPORT (C, GetPrompt, "GetPrompt"); function GetVar ( name : Chars_Ptr;buffer : Chars_Ptr;size : Integer;flags : Integer) return INTEGER ; pragma IMPORT (C, GetVar, "GetVar"); function Info( lock : Unsigned_32_Ptr;parameterBlock : InfoData_Ptr) return INTEGER ; pragma IMPORT (C, Info, "Info"); function Inhibit ( name : Chars_Ptr;onoff : Integer) return INTEGER ; pragma IMPORT (C, Inhibit, "Inhibit"); function Input return Unsigned_32_Ptr ; pragma IMPORT (C, Input, "Input"); function InternalLoadSeg( fh : Unsigned_32_Ptr;table : Unsigned_32_Ptr;funcarray : INTEGER_Ptr;stack : INTEGER_Ptr) return Unsigned_32_Ptr ; pragma IMPORT (C, InternalLoadSeg, "InternalLoadSeg"); function IoErr return INTEGER ; pragma IMPORT (C, IoErr, "IoErr"); function IsFileSystem ( name : Chars_Ptr) return Boolean ; pragma IMPORT (C, IsFileSystem, "IsFileSystem"); function IsInteractive ( file : Unsigned_32_Ptr) return INTEGER ; pragma IMPORT (C, IsInteractive, "IsInteractive"); function LoadSeg ( name : Chars_Ptr) return Unsigned_32_Ptr ; pragma IMPORT (C, LoadSeg, "LoadSeg"); function Lock ( name : Chars_Ptr;dos_type : Integer) return Unsigned_32_Ptr ; pragma IMPORT (C, Lock, "Lock"); function LockDosList ( flags : Integer) return DosList_Ptr; pragma IMPORT (C, LockDosList, "LockDosList"); function LockRecord ( fh : Unsigned_32_Ptr; offset : Integer; length : Integer; mode : Integer; timeout : Integer) return Boolean ; pragma IMPORT (C, LockRecord, "LockRecord"); function LockRecords( recArray : RecordLock_Ptr; timeout : Integer) return Boolean ; pragma IMPORT (C, LockRecords, "LockRecords"); function MakeDosEntry ( name : Chars_Ptr;dos_type : Integer) return DosList_Ptr; pragma IMPORT (C, MakeDosEntry, "MakeDosEntry"); function MakeLink ( name : Chars_Ptr;dest : Integer;soft : Integer) return INTEGER ; pragma IMPORT (C, MakeLink, "MakeLink"); procedure MatchEnd( anchor : AnchorPath_Ptr) ; pragma IMPORT (C, MatchEnd, "MatchEnd"); function MatchFirst( pat : Chars_Ptr;anchor : AnchorPath_Ptr) return INTEGER ; pragma IMPORT (C, MatchFirst, "MatchFirst"); function MatchNext( anchor : AnchorPath_Ptr) return INTEGER ; pragma IMPORT (C, MatchNext, "MatchNext"); function MatchPattern ( pat : Chars_Ptr;str : Chars_Ptr) return Boolean ; pragma IMPORT (C, MatchPattern, "MatchPattern"); function MatchPatternNoCase ( pat : Chars_Ptr;str : Chars_Ptr) return Boolean ; pragma IMPORT (C, MatchPatternNoCase, "MatchPatternNoCase"); function MaxCli return Unsigned_32 ; pragma IMPORT (C, MaxCli, "MaxCli"); function NameFromFH ( fh : Unsigned_32_Ptr;buffer : Chars_Ptr;len : Integer) return INTEGER ; pragma IMPORT (C, NameFromFH, "NameFromFH"); function NameFromLock ( lock : Unsigned_32_Ptr;buffer : Chars_Ptr;len : Integer) return INTEGER ; pragma IMPORT (C, NameFromLock, "NameFromLock"); function NextDosEntry( dlist : DosList_Ptr; flags : Integer) return DosList_Ptr; pragma IMPORT (C, NextDosEntry, "NextDosEntry"); function Open ( name : Chars_Ptr;accessMode : Integer) return Unsigned_32_Ptr ; pragma IMPORT (C, Open, "Open"); function OpenFromLock ( lock : Unsigned_32_Ptr) return Unsigned_32_Ptr ; pragma IMPORT (C, OpenFromLock, "OpenFromLock"); function Output return Unsigned_32_Ptr ; pragma IMPORT (C, Output, "Output"); function ParentDir ( lock : Unsigned_32_Ptr) return Unsigned_32_Ptr ; pragma IMPORT (C, ParentDir, "ParentDir"); function ParentOfFH ( fh : Unsigned_32_Ptr) return Unsigned_32_Ptr ; pragma IMPORT (C, ParentOfFH, "ParentOfFH"); function ParsePattern ( pat : Chars_Ptr;buf : Chars_Ptr;buflen : Integer) return INTEGER ; pragma IMPORT (C, ParsePattern, "ParsePattern"); function ParsePatternNoCase ( pat : Chars_Ptr;buf : Chars_Ptr;buflen : Integer) return INTEGER ; pragma IMPORT (C, ParsePatternNoCase, "ParsePatternNoCase"); function PathPart ( path : Chars_Ptr) return Chars_Ptr ; pragma IMPORT (C, PathPart, "PathPart"); function PrintFault ( code : Integer;header : Chars_Ptr) return Boolean ; pragma IMPORT (C, PrintFault, "PrintFault"); function PutStr ( str : Chars_Ptr) return INTEGER ; pragma IMPORT (C, PutStr, "PutStr"); function Read ( file : Unsigned_32_Ptr;buffer : Unsigned_32_Ptr;length : Integer) return INTEGER ; pragma IMPORT (C, Read, "Read"); function ReadArgs( template : Chars_Ptr; arg_array : INTEGER_Ptr;args : RDArgs_Ptr) return RDArgs_Ptr; pragma IMPORT (C, ReadArgs, "ReadArgs"); function ReadItem( name : Chars_Ptr;maxchars : Integer;cSource : CSource_Ptr) return INTEGER ; pragma IMPORT (C, ReadItem, "ReadItem"); function ReadLink( port : MsgPort_Ptr;lock : Unsigned_32_Ptr;path : Chars_Ptr;buffer : Chars_Ptr; size : Integer) return INTEGER ; pragma IMPORT (C, ReadLink, "ReadLink"); function Relabel ( drive : Chars_Ptr;newname : Chars_Ptr) return INTEGER ; pragma IMPORT (C, Relabel, "Relabel"); function RemAssignList ( name : Chars_Ptr;lock : Unsigned_32_Ptr) return INTEGER ; pragma IMPORT (C, RemAssignList, "RemAssignList"); function RemDosEntry( dlist : DosList_Ptr) return Boolean ; pragma IMPORT (C, RemDosEntry, "RemDosEntry"); function RemSegment( seg : Segment_Ptr) return INTEGER ; pragma IMPORT (C, RemSegment, "RemSegment"); function Rename ( oldName : Chars_Ptr;newName : Chars_Ptr) return INTEGER ; pragma IMPORT (C, Rename, "Rename"); procedure ReplyPkt( dp : DosPacket_Ptr;res1 : Integer;res2 : Integer) ; pragma IMPORT (C, ReplyPkt, "ReplyPkt"); function RunCommand ( seg : Unsigned_32_Ptr;stack : Integer;param_Ptr : Chars_Ptr;paramlen : Integer) return INTEGER ; pragma IMPORT (C, RunCommand, "RunCommand"); function SameDevice ( lock1 : Unsigned_32_Ptr;lock2 : Unsigned_32_Ptr) return Boolean ; pragma IMPORT (C, SameDevice, "SameDevice"); function SameLock ( lock1 : Unsigned_32_Ptr; lock2 : Unsigned_32_Ptr) return INTEGER ; pragma IMPORT (C, SameLock, "SameLock"); function Seek ( file : Unsigned_32_Ptr;position : Integer;offset : Integer) return INTEGER ; pragma IMPORT (C, Seek, "Seek"); function SelectInput ( fh : Unsigned_32_Ptr) return Unsigned_32_Ptr ; pragma IMPORT (C, SelectInput, "SelectInput"); function SelectOutput ( fh : Unsigned_32_Ptr) return Unsigned_32_Ptr ; pragma IMPORT (C, SelectOutput, "SelectOutput"); procedure SendPkt( dp : DosPacket_Ptr;port : MsgPort_Ptr;replyport : MsgPort_Ptr) ; pragma IMPORT (C, SendPkt, "SendPkt"); function SetArgStr ( string : Chars_Ptr) return Boolean ; pragma IMPORT (C, SetArgStr, "SetArgStr"); function SetComment ( name : Chars_Ptr;comment : Chars_Ptr) return INTEGER ; pragma IMPORT (C, SetComment, "SetComment"); function SetConsoleTask( Amiga_task : MsgPort_Ptr) return MsgPort_Ptr; pragma IMPORT (C, SetConsoleTask, "SetConsoleTask"); function SetCurrentDirName ( name : Chars_Ptr) return Boolean ; pragma IMPORT (C, SetCurrentDirName, "SetCurrentDirName"); function SetFileDate( name : Chars_Ptr;date : DateStamp_Ptr) return INTEGER ; pragma IMPORT (C, SetFileDate, "SetFileDate"); function SetFileSize ( fh : Unsigned_32_Ptr;pos : Integer;mode : Integer) return INTEGER ; pragma IMPORT (C, SetFileSize, "SetFileSize"); function SetFileSysTask( Amiga_task : MsgPort_Ptr) return MsgPort_Ptr; pragma IMPORT (C, SetFileSysTask, "SetFileSysTask"); function SetIoErr ( result : Integer) return INTEGER ; pragma IMPORT (C, SetIoErr, "SetIoErr"); function SetMode ( fh : Unsigned_32_Ptr;mode : Integer) return INTEGER ; pragma IMPORT (C, SetMode, "SetMode"); function SetOwner ( name : Chars_Ptr;owner_info : Integer) return Boolean ; pragma IMPORT (C, SetOwner, "SetOwner"); function SetProgramDir ( lock : Unsigned_32_Ptr) return Unsigned_32_Ptr ; pragma IMPORT (C, SetProgramDir, "SetProgramDir"); function SetProgramName ( name : Chars_Ptr) return Boolean ; pragma IMPORT (C, SetProgramName, "SetProgramName"); function SetPrompt ( name : Chars_Ptr) return Boolean ; pragma IMPORT (C, SetPrompt, "SetPrompt"); function SetProtection ( name : Chars_Ptr;protect : Integer) return INTEGER ; pragma IMPORT (C, SetProtection, "SetProtection"); function SetVBuf ( fh : Unsigned_32_Ptr;buff : Chars_Ptr;dos_type : Integer;size : Integer) return INTEGER ; pragma IMPORT (C, SetVBuf, "SetVBuf"); function SetVar ( name : Chars_Ptr;buffer : Chars_Ptr;size : Integer;flags : Integer) return Boolean ; pragma IMPORT (C, SetVar, "SetVar"); function SplitName ( name : Chars_Ptr; seperator : Integer;buf : Chars_Ptr;oldpos : Integer;size : Integer) return Integer_16 ; pragma IMPORT (C, SplitName, "SplitName"); function StartNotify( notify : NotifyRequest_Ptr) return Boolean ; pragma IMPORT (C, StartNotify, "StartNotify"); function StrToDate( datetime : DateTime_Ptr) return INTEGER ; pragma IMPORT (C, StrToDate, "StrToDate"); function StrToInteger( string : Chars_Ptr;value : INTEGER_Ptr) return INTEGER ; pragma IMPORT (C, StrToInteger, "StrToInteger"); function UnGetC ( fh : Unsigned_32_Ptr;character : Integer) return INTEGER ; pragma IMPORT (C, UnGetC, "UnGetC"); procedure UnLoadSeg ( seglist : Unsigned_32_Ptr) ; pragma IMPORT (C, UnLoadSeg, "UnLoadSeg"); procedure UnLock ( lock : Unsigned_32_Ptr) ; pragma IMPORT (C, UnLock, "UnLock"); procedure UnLockDosList ( flags : Integer) ; pragma IMPORT (C, UnLockDosList, "UnLockDosList"); function UnLockRecord ( fh : Unsigned_32_Ptr; offset : Integer; length : Integer) return Boolean ; pragma IMPORT (C, UnLockRecord, "UnLockRecord"); function UnLockRecords( recArray : RecordLock_Ptr) return Boolean ; pragma IMPORT (C, UnLockRecords, "UnLockRecords"); function VFPrintf ( fh : Unsigned_32_Ptr;format : Chars_Ptr;argarray : Unsigned_32_Ptr) return INTEGER ; pragma IMPORT (C, VFPrintf, "VFPrintf"); procedure VFWritef( fh : Unsigned_32_Ptr;format : Chars_Ptr;argarray : INTEGER_Ptr) ; pragma IMPORT (C, VFWritef, "VFWritef"); function VPrintf ( format : Chars_Ptr;argarray : Unsigned_32_Ptr) return INTEGER ; pragma IMPORT (C, VPrintf, "VPrintf"); function WaitForChar ( file : Unsigned_32_Ptr;timeout : Integer) return INTEGER ; pragma IMPORT (C, WaitForChar, "WaitForChar"); function WaitPkt return DosPacket_Ptr; pragma IMPORT (C, WaitPkt, "WaitPkt"); function Write ( file : Unsigned_32_Ptr;buffer : Unsigned_32_Ptr;length : Integer) return INTEGER ; pragma IMPORT (C, Write, "Write"); function WriteChars ( buf : Chars_Ptr; buflen : Integer) return INTEGER ; pragma Import (C,WriteChars,"WriteChars"); function AllocDosObject( dos_type : Integer;tags : TagListType) return Unsigned_32_Ptr ; function CreateNewProc( tags : TagListType) return Process_Ptr; function NewLoadSeg( file : Chars_Ptr;tags : TagListType) return Unsigned_32_Ptr ; function SystemTagList( command : Chars_Ptr;tags : TagListType) return INTEGER ; end dos_Dos;