From 7eba7122d2cab00106edf5a4abe86015b6232f3f Mon Sep 17 00:00:00 2001 From: marcus Date: Sun, 4 Dec 2016 16:58:59 +0000 Subject: [PATCH] AROS: ABIv1 AmigaDOS unit git-svn-id: trunk@35067 - --- packages/arosunits/src/amigados.pas | 335 +++++++++++++++------------- rtl/aros/i386/doslibf.inc | 16 ++ rtl/aros/system.pp | 4 - 3 files changed, 194 insertions(+), 161 deletions(-) diff --git a/packages/arosunits/src/amigados.pas b/packages/arosunits/src/amigados.pas index a8c957bcb3..a5a6585434 100644 --- a/packages/arosunits/src/amigados.pas +++ b/packages/arosunits/src/amigados.pas @@ -2246,172 +2246,179 @@ const {$endif} -procedure AbortPkt(Port: PMsgPort; Pkt: PDosPacket); syscall AOS_DOSBase 44; -function AddBuffers(const DeviceName: STRPTR; NumbBuffers: LongInt): LongBool; syscall AOS_DOSBase 122; -function AddDosEntry(DList: PDosList): LongInt; syscall AOS_DOSBase 113; -function AddPart(DirName: STRPTR; const FileName: STRPTR; Size: LongWord): LongBool; syscall AOS_DOSBase 147; -function AddSegment(const Name: STRPTR; Seg: BPTR; Type_: LongInt): LongBool; syscall AOS_DOSBase 129; +function DOSOpen(const Name: STRPTR; AccessMode: LongInt): BPTR; syscall AOS_DOSBase 5; +function DOSClose(File_: BPTR): LongBool; syscall AOS_DOSBase 6; +function DOSRead(File_: BPTR; Buffer: APTR; Length: LongInt): LongInt; syscall AOS_DOSBase 7; +function DOSWrite(File_: BPTR; Buffer: APTR; Length: LongInt): LongInt; syscall AOS_DOSBase 8; +function DOSInput: BPTR; syscall AOS_DOSBase 9; +function DOSOutput : BPTR; syscall AOS_DOSBase 10; +function DOSSeek(File_: BPTR; Position: LongInt; Mode: LongInt): LongInt; syscall AOS_DOSBase 11; +function DOSDeleteFile(const Name: STRPTR): LongBool; syscall AOS_DOSBase 12; +function DOSRename(const OldName: STRPTR; const NewName: STRPTR): LongInt; syscall AOS_DOSBase 13; +function Lock(const Name: STRPTR; AccessMode: LongInt): BPTR; syscall AOS_DOSBase 14; +function UnLock(Lock: BPTR): LongBool; syscall AOS_DOSBase 15; +function DupLock(Lock: BPTR): BPTR; syscall AOS_DOSBase 16; +function Examine(Lock: BPTR; FileInfoBlock: PFileInfoBlock): LongInt; syscall AOS_DOSBase 17; +function ExNext(Lock: BPTR; FileInfoBlock: PFileInfoBlock): LongInt; syscall AOS_DOSBase 18; +function Info(Lock: BPTR; ParameterBlock: PInfoData): LongInt; syscall AOS_DOSBase 19; +function DOSCreateDir(const Name: STRPTR): BPTR; syscall AOS_DOSBase 20; +function CurrentDir(Lock: BPTR): BPTR; syscall AOS_DOSBase 21; +function IoErr: LongInt; syscall AOS_DOSBase 22; +function CreateProc(const Name: STRPTR; Pri: LongInt; SegList: BPTR; StackSize: LongInt): PMsgPort; syscall AOS_DOSBase 23; +procedure DOSExit(ReturnCode: LongInt); syscall AOS_DOSBase 24; +function LoadSeg(const Name: STRPTR): BPTR; syscall AOS_DOSBase 25; +procedure UnLoadSeg(Seglist: BPTR); syscall AOS_DOSBase 26; +function DeviceProc(const Name: STRPTR): PMsgPort; syscall AOS_DOSBase 29; +function SetComment(const Name: STRPTR; const Comment: STRPTR): LongInt; syscall AOS_DOSBase 30; +function SetProtection(const Name: STRPTR; Protect: LongWord): LongInt; syscall AOS_DOSBase 31; +function DateStamp(Date: PDateStamp): PDateStamp; syscall AOS_DOSBase 32; +procedure DOSDelay(TimeOut: LongWord); syscall AOS_DOSBase 33; +function WaitForChar(File_: BPTR; TimeOut: LongInt): LongInt; syscall AOS_DOSBase 34; +function ParentDir(Lock: BPTR): BPTR; syscall AOS_DOSBase 35; +function IsInteractive(File_: BPTR): LongInt; syscall AOS_DOSBase 36; +function Execute(const String_: STRPTR; Input: BPTR; Output: BPTR): LongInt; syscall AOS_DOSBase 37; function AllocDosObject(Type_: LongWord; const Tags: PTagItem): APTR; syscall AOS_DOSBase 38; function AllocDosObjectTagList(Type_: LongWord; const Tags: PTagItem): APTR; syscall AOS_DOSBase 38; -function AssignAdd(const Name: STRPTR; Lock: BPTR): LongBool; syscall AOS_DOSBase 105; -function AssignLate(const Name: STRPTR; const Path: STRPTR): LongBool; syscall AOS_DOSBase 103; -function AssignLock(const Name: STRPTR; Lock: BPTR): LongInt; syscall AOS_DOSBase 102; -function AssignPath(const Name: STRPTR; const Path: STRPTR): LongBool; syscall AOS_DOSBase 104; -function AttemptLockDosList(Flags: LongWord): PDosList; syscall AOS_DOSBase 111; -function ChangeMode(Type_: LongWord; Object_: BPTR; NewMode: LongWord): LongBool; syscall AOS_DOSBase 75; -function CheckSignal(Mask: LongInt): LongInt; syscall AOS_DOSBase 132; -function Cli: PCommandLineInterface; syscall AOS_DOSBase 82; -function CliInitNewcli(Dp: PDosPacket): IPTR; syscall AOS_DOSBase 155; -function CliInitRun(Dp: PDosPacket): IPTR; syscall AOS_DOSBase 156; -function CompareDates(const Date1: PDateStamp; const Date2: PDateStamp): LongInt; syscall AOS_DOSBase 123; -function DOSCreateDir(const Name: STRPTR): BPTR; syscall AOS_DOSBase 20; -function CreateNewProc(const Tags: PTagItem): PProcess; syscall AOS_DOSBase 83; -function CreateNewProcTagList(const Tags: PTagItem): PProcess; syscall AOS_DOSBase 83; -function CreateProc(const Name: STRPTR; Pri: LongInt; SegList: BPTR; StackSize: LongInt): PMsgPort; syscall AOS_DOSBase 23; -function CurrentDir(Lock: BPTR): BPTR; syscall AOS_DOSBase 21; -function DateStamp(Date: PDateStamp): PDateStamp; syscall AOS_DOSBase 32; -function DOSDateToStr(Datetime: _PDateTime): LongBool; syscall AOS_DOSBase 124; -function DOSDeleteFile(const Name: STRPTR): LongBool; syscall AOS_DOSBase 12; -function DeleteVar(const Name: STRPTR; Flags: LongWord): LongInt; syscall AOS_DOSBase 152; -function DeviceProc(const Name: STRPTR): PMsgPort; syscall AOS_DOSBase 29; -function DisplayError(FormstStr: STRPTR; Flags: LongWord; Args: APTR): LongInt; syscall AOS_DOSBase 81; -function DoPkt(Port: PMsgPort; Action: LongInt; Arg1, Arg2, Arg3, Arg4, Arg5: LongInt): LongInt; syscall AOS_DOSBase 40; -function DOSClose(File_: BPTR): LongBool; syscall AOS_DOSBase 6; -procedure DOSDelay(TimeOut: LongWord); syscall AOS_DOSBase 33; -procedure DOSExit(ReturnCode: LongInt); syscall AOS_DOSBase 24; -function DosError(): BPTR; syscall AOS_DOSBase 142; -function DOSFlush(File_: BPTR): LongInt; syscall AOS_DOSBase 60; -function DosGetLocalizedString(StringNum: LongInt): STRPTR; syscall AOS_DOSBase 154; -function DosGetString(StringNum: LongInt): STRPTR; syscall AOS_DOSBase 163; -function DOSInput: BPTR; syscall AOS_DOSBase 9; -function DOSOpen(const Name: STRPTR; AccessMode: LongInt): BPTR; syscall AOS_DOSBase 5; -function DOSOutput : BPTR; syscall AOS_DOSBase 10; -function DOSRead(File_: BPTR; Buffer: APTR; Length: LongInt): LongInt; syscall AOS_DOSBase 7; -function DOSRename(const OldName: STRPTR; const NewName: STRPTR): LongInt; syscall AOS_DOSBase 13; -function DOSSeek(File_: BPTR; Position: LongInt; Mode: LongInt): LongInt; syscall AOS_DOSBase 11; -function DOSWrite(File_: BPTR; Buffer: APTR; Length: LongInt): LongInt; syscall AOS_DOSBase 8; -function DupLock(Lock: BPTR): BPTR; syscall AOS_DOSBase 16; -function DupLockFromFH(Lock: BPTR): BPTR; syscall AOS_DOSBase 62; -procedure EndNotify(Notify: PNotifyRequest); syscall AOS_DOSBase 149; -function ErrorReport(Code: LongInt; Type_: LongInt; Arg1: IPTR; Device: PMsgPort): LongBool; syscall AOS_DOSBase 80; -function ExAll(Lock: BPTR; Buffer: PExAllData; Size: LongInt; Data: LongInt; Control: PExAllControl): LongBool; syscall AOS_DOSBase 72; -procedure ExAllEnd(Lock: BPTR; Buffer: PExAllData; Size: LongInt; Data: LongInt; Control: PExAllControl); syscall AOS_DOSBase 165; -function Examine(Lock: BPTR; FileInfoBlock: PFileInfoBlock): LongInt; syscall AOS_DOSBase 17; -function ExamineFH(Fh: BPTR; Fib: PFileInfoBlock): LongBool; syscall AOS_DOSBase 65; -function Execute(const String_: STRPTR; Input: BPTR; Output: BPTR): LongInt; syscall AOS_DOSBase 37; -function ExNext(Lock: BPTR; FileInfoBlock: PFileInfoBlock): LongInt; syscall AOS_DOSBase 18; -function Fault(Code: LongInt; Header: STRPTR; Buffer: STRPTR; Len: LongInt): LongBool; syscall AOS_DOSBase 78; -function FGetC(File_: BPTR): LongInt; syscall AOS_DOSBase 51; -function FGets(Fh: BPTR; Buf: STRPTR; BufLen: LongWord): STRPTR; syscall AOS_DOSBase 56; -function FilePart(const Path: STRPTR): STRPTR; syscall AOS_DOSBase 145; -function FindArg(const Template: STRPTR; const KeyWord: STRPTR): LongInt; syscall AOS_DOSBase 134; -function FindCliProc(Num: LongWord): PProcess; syscall AOS_DOSBase 91; -function FindDosEntry(const DList: PDosList; const Name: STRPTR; Flags: LongWord): PDosList; syscall AOS_DOSBase 114; -function FindSegment(const Name: STRPTR; const Seg: PSegment; System: LongBool): PSegment; syscall AOS_DOSBase 130; -function FindVar(const Name: STRPTR; Type_: LongWord): PLocalVar; syscall AOS_DOSBase 153; -function DosFormat(const DeviceName: STRPTR; const VolumeName: STRPTR; DosType: LongWord): LongBool; syscall AOS_DOSBase 119; -function FPutC(File_: BPTR; Character: LongInt): LongInt; syscall AOS_DOSBase 52; -function FPuts(File_: BPTR; const String_: STRPTR): LongInt; syscall AOS_DOSBase 57; -function FRead(Fh: BPTR; Block: APTR; Blocklen: LongWord; Number: LongWord): LongInt; syscall AOS_DOSBase 54; -procedure FreeArgs(Args: PRDArgs); syscall AOS_DOSBase 143; -procedure FreeDeviceProc(Dp: PDevProc); syscall AOS_DOSBase 108; -procedure FreeDosEntry(DList: PDosList); syscall AOS_DOSBase 117; procedure FreeDosObject(Type_: LongWord; Ptr: APTR); syscall AOS_DOSBase 39; -function FWrite(Fh: BPTR; Block: APTR; Blocklen: LongWord; NumBlocks: LongWord): LongInt; syscall AOS_DOSBase 55; -function GetArgStr: STRPTR; syscall AOS_DOSBase 89; -function GetConsoleTask: PMsgPort; syscall AOS_DOSBase 85; -function GetCurrentDirName(Buf: STRPTR; Len: LongInt): LongBool; syscall AOS_DOSBase 94; -function GetDeviceProc(const Name: STRPTR; Dp: PDevProc): PDevProc; syscall AOS_DOSBase 107; -function GetFileSysTask: PMsgPort; syscall AOS_DOSBase 87; -function GetProgramDir: BPTR; syscall AOS_DOSBase 100; -function GetProgramName(Buf: STRPTR; Len: LongInt): LongBool; syscall AOS_DOSBase 96; -function GetPrompt(Buf: STRPTR; Len: LongInt): LongBool; syscall AOS_DOSBase 98; -function GetVar(const Name: STRPTR; Buffer: STRPTR; Size: LongInt; Flags: LongInt): LongInt; syscall AOS_DOSBase 151; -function Info(Lock: BPTR; ParameterBlock: PInfoData): LongInt; syscall AOS_DOSBase 19; -function Inhibit(const Name: STRPTR; OnOff: LongInt): LongInt; syscall AOS_DOSBase 121; -function InternalLoadSeg(Fh: BPTR; Table: BPTR; const FuncArray: PLongInt; var Stack: LongInt): BPTR; syscall AOS_DOSBase 126; -function InternalUnLoadSeg(SegList: BPTR; FreeFunc: TProcedure): LongBool; syscall AOS_DOSBase 127; -function IoErr: LongInt; syscall AOS_DOSBase 22; -function IsFileSystem(const Name: STRPTR): LongBool; syscall AOS_DOSBase 118; -function IsInteractive(File_: BPTR): LongInt; syscall AOS_DOSBase 36; -function LoadSeg(const Name: STRPTR): BPTR; syscall AOS_DOSBase 25; -function Lock(const Name: STRPTR; AccessMode: LongInt): BPTR; syscall AOS_DOSBase 14; -function LockDosList(Flags: LongWord): PDosList; syscall AOS_DOSBase 109; +function DoPkt(Port: PMsgPort; Action: LongInt; Arg1, Arg2, Arg3, Arg4, Arg5: LongInt): LongInt; syscall AOS_DOSBase 40; +procedure SendPkt(Dp: PDosPacket; Port: PMsgPort; ReplyPort: PMsgPort); syscall AOS_DOSBase 41; +function WaitPkt: PDosPacket; syscall AOS_DOSBase 42; +procedure ReplyPkt(Dp: PDosPacket; Res1: LongInt; Res2: LongInt); syscall AOS_DOSBase 43; +procedure AbortPkt(Port: PMsgPort; Pkt: PDosPacket); syscall AOS_DOSBase 44; function LockRecord(Fh: BPTR; Offset: LongWord; Length: LongWord; Mode: LongWord; Timeout: LongWord): LongBool; syscall AOS_DOSBase 45; function LockRecords(RecArray: PRecordLock; TimeOut: LongWord): LongBool; syscall AOS_DOSBase 46; -function MakeDosEntry(const Name: STRPTR; Type_: LongInt): PDosList; syscall AOS_DOSBase 116; -function MakeLink(const Name: STRPTR; Dest: APTR; Soft: LongInt): LongInt; syscall AOS_DOSBase 74; -procedure MatchEnd(AP: PAnchorPath); syscall AOS_DOSBase 139; -function MatchFirst(const Pat: STRPTR; AP: PAnchorPath): LongInt; syscall AOS_DOSBase 137; -function MatchNext(AP: PAnchorPath): LongInt; syscall AOS_DOSBase 138; -function MatchPattern(const Pat: STRPTR; Str: STRPTR): LongBool; syscall AOS_DOSBase 141; -function MatchPatternNoCase(const Pat: STRPTR; Str: STRPTR): LongBool; syscall AOS_DOSBase 162; -function MaxCli: LongWord; syscall AOS_DOSBase 92; -function NameFromFH(Fh: BPTR; Buffer: STRPTR; Length: LongInt): LongBool; syscall AOS_DOSBase 68; -function NameFromLock(Lock: BPTR; Buffer: STRPTR; Length: LongInt): LongBool; syscall AOS_DOSBase 67; -function NewLoadSeg(const File_: STRPTR; const Tags: PTagItem): BPTR; syscall AOS_DOSBase 128; -function NewLoadSegTagList(const File_: STRPTR; const Tags: PTagItem): BPTR; syscall AOS_DOSBase 128; -function NextDosEntry(const DList: PDosList; Flags: LongWord): PDosList; syscall AOS_DOSBase 115; -function OpenFromLock(Lock: BPTR): BPTR; syscall AOS_DOSBase 62; -function ParentDir(Lock: BPTR): BPTR; syscall AOS_DOSBase 35; -function ParentOfFH(Fh: BPTR): BPTR; syscall AOS_DOSBase 64; -function ParsePattern(const Source: STRPTR; Dest: STRPTR; DestLength: LongInt): LongInt; syscall AOS_DOSBase 140; -function ParsePatternNoCase(const Source: STRPTR; Dest: STRPTR; DestLen: LongInt): LongInt; syscall AOS_DOSBase 161; -function PathPart(const Path: STRPTR): STRPTR; syscall AOS_DOSBase 146; -function Pipe(const Name: STRPTR; var Reader: BPTR; var Writer: BPTR): LongInt; syscall AOS_DOSBase 160; -function PrintFault(Code: LongInt; const Header: STRPTR): LongBool; syscall AOS_DOSBase 79; -function PutStr(const String_: STRPTR): LongInt; syscall AOS_DOSBase 158; -function ReadArgs(const Template: STRPTR; Array_: PIPTR; RdArgs: PRDArgs): PRDArgs; syscall AOS_DOSBase 133; -function ReadItem(const Buffer: STRPTR; MaxChars: LongInt; CSource: PCSource): LongInt; syscall AOS_DOSBase 135; -function ReadLink(Port: PMsgPort; Lock: LongInt; const Path: STRPTR; Buffer: STRPTR; Size: LongWord): LongInt; syscall AOS_DOSBase 73; -function Relabel(const Drive: STRPTR; const NewName: STRPTR): LongInt; syscall AOS_DOSBase 120; -function RemAssignList(const Name: STRPTR; Lock: BPTR): LongInt; syscall AOS_DOSBase 106; -function RemDosEntry(DList: PDosList): LongInt; syscall AOS_DOSBase 112; -function RemSegment(Seg: PSegment): LongInt; syscall AOS_DOSBase 131; -procedure ReplyPkt(Dp: PDosPacket; Res1: LongInt; Res2: LongInt); syscall AOS_DOSBase 43; -function RunCommand(SegList: BPTR; StackSize: LongWord; const ArgPtr: STRPTR; ArgSize: LongWord): LongInt; syscall AOS_DOSBase 84; -function RunHandler(DevNode: PDeviceNode; Path: PChar): PMsgPort; syscall AOS_DOSBase 27; -function SameDevice(Lock1: BPTR; Lock2: BPTR): LongBool; syscall AOS_DOSBase 164; -function SameLock(Lock1: BPTR; Lock2: BPTR): LongInt; syscall AOS_DOSBase 70; -function ScanVars(Hook: PHook; Flags: LongWord; UserData: APTR): LongInt; syscall AOS_DOSBase 167; -function SelectError(Fh: BPTR): BPTR; syscall AOS_DOSBase 144; -function SelectInput(Fh: BPTR): BPTR; syscall AOS_DOSBase 49; -function SelectOutput(Fh: BPTR): BPTR; syscall AOS_DOSBase 50; -procedure SendPkt(Dp: PDosPacket; Port: PMsgPort; ReplyPort: PMsgPort); syscall AOS_DOSBase 41; -function SetArgStr(const String_: STRPTR): STRPTR; syscall AOS_DOSBase 90; -function SetComment(const Name: STRPTR; const Comment: STRPTR): LongInt; syscall AOS_DOSBase 30; -function SetConsoleTask(const Handler: PMsgPort): PMsgPort; syscall AOS_DOSBase 86; -function SetCurrentDirName(const Name: STRPTR): LongBool; syscall AOS_DOSBase 93; -function SetFileDate(const Name: STRPTR; Date: PDateStamp): LongBool; syscall AOS_DOSBase 66; -function SetFileSize(File_: BPTR; Offset: LongInt; Mode: LongInt): LongInt; syscall AOS_DOSBase 76; -function SetFileSysTask(const Task: PMsgPort): PMsgPort; syscall AOS_DOSBase 88; -function SetIoErr(Result_: LongInt): LongInt; syscall AOS_DOSBase 77; -function SetMode(Fh: BPTR; Mode: LongInt): LongBool; syscall AOS_DOSBase 72; -function SetOwner(const Name: STRPTR; Owner_Info: LongWord): LongBool; syscall AOS_DOSBase 166; -function SetProgramDir(Lock: BPTR): BPTR; syscall AOS_DOSBase 99; -function SetProgramName(const Name: STRPTR): LongBool; syscall AOS_DOSBase 95; -function SetPrompt(const Name: STRPTR): LongBool; syscall AOS_DOSBase 97; -function SetProtection(const Name: STRPTR; Protect: LongWord): LongInt; syscall AOS_DOSBase 31; -function SetVar(const Name: STRPTR; Buffer: PChar; Size: LongInt; Flags: LongInt): LongBool; syscall AOS_DOSBase 150; -function SetVBuf(File_: BPTR; Buff: STRPTR; Type_: LongInt; Size: LongInt): LongInt; syscall AOS_DOSBase 61; -function SplitName(const Name: STRPTR; Seperator: LongWord; Buf: STRPTR; OldPos: LongInt; Size: LongInt): LongInt; syscall AOS_DOSBase 69; -function StartNotify(Notify: PNotifyRequest): LongBool; syscall AOS_DOSBase 148; -function DOSStrToDate(DateTime: _PDateTime): LongBool; syscall AOS_DOSBase 125; -function StrToLong(const String_: STRPTR; var Value: LongInt): LongInt; syscall AOS_DOSBase 136; -function SystemTagList(const Command: STRPTR; const Tags: PTagItem): LongInt; syscall AOS_DOSBase 101; -function DOSSystem(const Command: STRPTR; const Tags: PTagItem): LongInt; syscall AOS_DOSBase 101; -function UnGetC(File_: BPTR; Character: LongInt): LongInt; syscall AOS_DOSBase 53; -procedure UnLoadSeg(Seglist: BPTR); syscall AOS_DOSBase 26; -function UnLock(Lock: BPTR): LongBool; syscall AOS_DOSBase 15; -procedure UnLockDosList(Flags: LongWord); syscall AOS_DOSBase 110; function UnLockRecord(Fh: BPTR; Offset: LongWord; Length: LongWord): LongBool; syscall AOS_DOSBase 47; function UnLockRecords(RecArray: PRecordLock): LongBool; syscall AOS_DOSBase 48; -function VFPrintf(Fh: BPTR; const format: STRPTR; const ArgArray: PLongInt): LongInt; syscall AOS_DOSBase 59; +function SelectInput(Fh: BPTR): BPTR; syscall AOS_DOSBase 49; +function SelectOutput(Fh: BPTR): BPTR; syscall AOS_DOSBase 50; +function FGetC(File_: BPTR): LongInt; syscall AOS_DOSBase 51; +function FPutC(File_: BPTR; Character: LongInt): LongInt; syscall AOS_DOSBase 52; +function UnGetC(File_: BPTR; Character: LongInt): LongInt; syscall AOS_DOSBase 53; +function FRead(Fh: BPTR; Block: APTR; Blocklen: LongWord; Number: LongWord): LongInt; syscall AOS_DOSBase 54; +function FWrite(Fh: BPTR; Block: APTR; Blocklen: LongWord; NumBlocks: LongWord): LongInt; syscall AOS_DOSBase 55; +function FGets(Fh: BPTR; Buf: STRPTR; BufLen: LongWord): STRPTR; syscall AOS_DOSBase 56; +function FPuts(File_: BPTR; const String_: STRPTR): LongInt; syscall AOS_DOSBase 57; function VFWritef(Fh: BPTR; const Fmt: STRPTR; const ArgArray: PLongInt): LongInt; syscall AOS_DOSBase 58; -function VPrintf(const Format: STRPTR; var ArgArray: IPTR): LongInt; syscall AOS_DOSBase 159; -function WaitForChar(File_: BPTR; TimeOut: LongInt): LongInt; syscall AOS_DOSBase 34; -function WaitPkt: PDosPacket; syscall AOS_DOSBase 42; +function VFPrintf(Fh: BPTR; const format: STRPTR; const ArgArray: PLongInt): LongInt; syscall AOS_DOSBase 59; +function DOSFlush(File_: BPTR): LongInt; syscall AOS_DOSBase 60; +function SetVBuf(File_: BPTR; Buff: STRPTR; Type_: LongInt; Size: LongInt): LongInt; syscall AOS_DOSBase 61; +function DupLockFromFH(Lock: BPTR): BPTR; syscall AOS_DOSBase 62; +function OpenFromLock(Lock: BPTR): BPTR; syscall AOS_DOSBase 63; +function ParentOfFH(Fh: BPTR): BPTR; syscall AOS_DOSBase 64; +function ExamineFH(Fh: BPTR; Fib: PFileInfoBlock): LongBool; syscall AOS_DOSBase 65; +function SetFileDate(const Name: STRPTR; Date: PDateStamp): LongBool; syscall AOS_DOSBase 66; +function NameFromLock(Lock: BPTR; Buffer: STRPTR; Length: LongInt): LongBool; syscall AOS_DOSBase 67; +function NameFromFH(Fh: BPTR; Buffer: STRPTR; Length: LongInt): LongBool; syscall AOS_DOSBase 68; +function SplitName(const Name: STRPTR; Seperator: LongWord; Buf: STRPTR; OldPos: LongInt; Size: LongInt): LongInt; syscall AOS_DOSBase 69; +function SameLock(Lock1: BPTR; Lock2: BPTR): LongInt; syscall AOS_DOSBase 70; +function SetMode(Fh: BPTR; Mode: LongInt): LongBool; syscall AOS_DOSBase 71; +function ExAll(Lock: BPTR; Buffer: PExAllData; Size: LongInt; Data: LongInt; Control: PExAllControl): LongBool; syscall AOS_DOSBase 72; +function ReadLink(Port: PMsgPort; Lock: LongInt; const Path: STRPTR; Buffer: STRPTR; Size: LongWord): LongInt; syscall AOS_DOSBase 73; +function MakeLink(const Name: STRPTR; Dest: APTR; Soft: LongInt): LongInt; syscall AOS_DOSBase 74; +function ChangeMode(Type_: LongWord; Object_: BPTR; NewMode: LongWord): LongBool; syscall AOS_DOSBase 75; +function SetFileSize(File_: BPTR; Offset: LongInt; Mode: LongInt): LongInt; syscall AOS_DOSBase 76; +function SetIoErr(Result_: LongInt): LongInt; syscall AOS_DOSBase 77; +function Fault(Code: LongInt; Header: STRPTR; Buffer: STRPTR; Len: LongInt): LongBool; syscall AOS_DOSBase 78; +function PrintFault(Code: LongInt; const Header: STRPTR): LongBool; syscall AOS_DOSBase 79; +function ErrorReport(Code: LongInt; Type_: LongInt; Arg1: IPTR; Device: PMsgPort): LongBool; syscall AOS_DOSBase 80; +function DisplayError(FormstStr: STRPTR; Flags: LongWord; Args: APTR): LongInt; syscall AOS_DOSBase 81; +function Cli: PCommandLineInterface; syscall AOS_DOSBase 82; +function CreateNewProc(const Tags: PTagItem): PProcess; syscall AOS_DOSBase 83; +function CreateNewProcTagList(const Tags: PTagItem): PProcess; syscall AOS_DOSBase 83; +function RunCommand(SegList: BPTR; StackSize: LongWord; const ArgPtr: STRPTR; ArgSize: LongWord): LongInt; syscall AOS_DOSBase 84; +function GetConsoleTask: PMsgPort; syscall AOS_DOSBase 85; +function SetConsoleTask(const Handler: PMsgPort): PMsgPort; syscall AOS_DOSBase 86; +function GetFileSysTask: PMsgPort; syscall AOS_DOSBase 87; +function SetFileSysTask(const Task: PMsgPort): PMsgPort; syscall AOS_DOSBase 88; +function GetArgStr: STRPTR; syscall AOS_DOSBase 89; +function SetArgStr(const String_: STRPTR): STRPTR; syscall AOS_DOSBase 90; +function FindCliProc(Num: LongWord): PProcess; syscall AOS_DOSBase 91; +function MaxCli: LongWord; syscall AOS_DOSBase 92; +function SetCurrentDirName(const Name: STRPTR): LongBool; syscall AOS_DOSBase 93; +function GetCurrentDirName(Buf: STRPTR; Len: LongInt): LongBool; syscall AOS_DOSBase 94; +function SetProgramName(const Name: STRPTR): LongBool; syscall AOS_DOSBase 95; +function GetProgramName(Buf: STRPTR; Len: LongInt): LongBool; syscall AOS_DOSBase 96; +function SetPrompt(const Name: STRPTR): LongBool; syscall AOS_DOSBase 97; +function GetPrompt(Buf: STRPTR; Len: LongInt): LongBool; syscall AOS_DOSBase 98; +function SetProgramDir(Lock: BPTR): BPTR; syscall AOS_DOSBase 99; +function GetProgramDir: BPTR; syscall AOS_DOSBase 100; +function SystemTagList(const Command: STRPTR; const Tags: PTagItem): LongInt; syscall AOS_DOSBase 101; +function DOSSystem(const Command: STRPTR; const Tags: PTagItem): LongInt; syscall AOS_DOSBase 101; +function AssignLock(const Name: STRPTR; Lock: BPTR): LongInt; syscall AOS_DOSBase 102; +function AssignLate(const Name: STRPTR; const Path: STRPTR): LongBool; syscall AOS_DOSBase 103; +function AssignPath(const Name: STRPTR; const Path: STRPTR): LongBool; syscall AOS_DOSBase 104; +function AssignAdd(const Name: STRPTR; Lock: BPTR): LongBool; syscall AOS_DOSBase 105; +function RemAssignList(const Name: STRPTR; Lock: BPTR): LongInt; syscall AOS_DOSBase 106; +function GetDeviceProc(const Name: STRPTR; Dp: PDevProc): PDevProc; syscall AOS_DOSBase 107; +procedure FreeDeviceProc(Dp: PDevProc); syscall AOS_DOSBase 108; +function LockDosList(Flags: LongWord): PDosList; syscall AOS_DOSBase 109; +procedure UnLockDosList(Flags: LongWord); syscall AOS_DOSBase 110; +function AttemptLockDosList(Flags: LongWord): PDosList; syscall AOS_DOSBase 111; +function RemDosEntry(DList: PDosList): LongInt; syscall AOS_DOSBase 112; +function AddDosEntry(DList: PDosList): LongInt; syscall AOS_DOSBase 113; +function FindDosEntry(const DList: PDosList; const Name: STRPTR; Flags: LongWord): PDosList; syscall AOS_DOSBase 114; +function NextDosEntry(const DList: PDosList; Flags: LongWord): PDosList; syscall AOS_DOSBase 115; +function MakeDosEntry(const Name: STRPTR; Type_: LongInt): PDosList; syscall AOS_DOSBase 116; +procedure FreeDosEntry(DList: PDosList); syscall AOS_DOSBase 117; +function IsFileSystem(const Name: STRPTR): LongBool; syscall AOS_DOSBase 118; +function DosFormat(const DeviceName: STRPTR; const VolumeName: STRPTR; DosType: LongWord): LongBool; syscall AOS_DOSBase 119; +function Relabel(const Drive: STRPTR; const NewName: STRPTR): LongInt; syscall AOS_DOSBase 120; +function Inhibit(const Name: STRPTR; OnOff: LongInt): LongInt; syscall AOS_DOSBase 121; +function AddBuffers(const DeviceName: STRPTR; NumbBuffers: LongInt): LongBool; syscall AOS_DOSBase 122; +function CompareDates(const Date1: PDateStamp; const Date2: PDateStamp): LongInt; syscall AOS_DOSBase 123; +function DOSDateToStr(Datetime: _PDateTime): LongBool; syscall AOS_DOSBase 124; +function DOSStrToDate(DateTime: _PDateTime): LongBool; syscall AOS_DOSBase 125; +function InternalLoadSeg(Fh: BPTR; Table: BPTR; const FuncArray: PLongInt; var Stack: LongInt): BPTR; syscall AOS_DOSBase 126; +function InternalUnLoadSeg(SegList: BPTR; FreeFunc: TProcedure): LongBool; syscall AOS_DOSBase 127; +function NewLoadSeg(const File_: STRPTR; const Tags: PTagItem): BPTR; syscall AOS_DOSBase 128; +function NewLoadSegTagList(const File_: STRPTR; const Tags: PTagItem): BPTR; syscall AOS_DOSBase 128; +function AddSegment(const Name: STRPTR; Seg: BPTR; Type_: LongInt): LongBool; syscall AOS_DOSBase 129; +function FindSegment(const Name: STRPTR; const Seg: PSegment; System: LongBool): PSegment; syscall AOS_DOSBase 130; +function RemSegment(Seg: PSegment): LongInt; syscall AOS_DOSBase 131; +function CheckSignal(Mask: LongInt): LongInt; syscall AOS_DOSBase 132; +function ReadArgs(const Template: STRPTR; Array_: PIPTR; RdArgs: PRDArgs): PRDArgs; syscall AOS_DOSBase 133; +function FindArg(const Template: STRPTR; const KeyWord: STRPTR): LongInt; syscall AOS_DOSBase 134; +function ReadItem(const Buffer: STRPTR; MaxChars: LongInt; CSource: PCSource): LongInt; syscall AOS_DOSBase 135; +function StrToLong(const String_: STRPTR; var Value: LongInt): LongInt; syscall AOS_DOSBase 136; +function MatchFirst(const Pat: STRPTR; AP: PAnchorPath): LongInt; syscall AOS_DOSBase 137; +function MatchNext(AP: PAnchorPath): LongInt; syscall AOS_DOSBase 138; +procedure MatchEnd(AP: PAnchorPath); syscall AOS_DOSBase 139; +function ParsePattern(const Source: STRPTR; Dest: STRPTR; DestLength: LongInt): LongInt; syscall AOS_DOSBase 140; +function MatchPattern(const Pat: STRPTR; Str: STRPTR): LongBool; syscall AOS_DOSBase 141; +procedure FreeArgs(Args: PRDArgs); syscall AOS_DOSBase 143; +function FilePart(const Path: STRPTR): STRPTR; syscall AOS_DOSBase 145; +function PathPart(const Path: STRPTR): STRPTR; syscall AOS_DOSBase 146; +function AddPart(DirName: STRPTR; const FileName: STRPTR; Size: LongWord): LongBool; syscall AOS_DOSBase 147; +function StartNotify(Notify: PNotifyRequest): LongBool; syscall AOS_DOSBase 148; +procedure EndNotify(Notify: PNotifyRequest); syscall AOS_DOSBase 149; +function SetVar(const Name: STRPTR; Buffer: PChar; Size: LongInt; Flags: LongInt): LongBool; syscall AOS_DOSBase 150; +function GetVar(const Name: STRPTR; Buffer: STRPTR; Size: LongInt; Flags: LongInt): LongInt; syscall AOS_DOSBase 151; +function DeleteVar(const Name: STRPTR; Flags: LongWord): LongInt; syscall AOS_DOSBase 152; +function FindVar(const Name: STRPTR; Type_: LongWord): PLocalVar; syscall AOS_DOSBase 153; +function DosGetLocalizedString(StringNum: LongInt): STRPTR; syscall AOS_DOSBase 154; +function CliInitNewcli(Dp: PDosPacket): IPTR; syscall AOS_DOSBase 155; +function CliInitRun(Dp: PDosPacket): IPTR; syscall AOS_DOSBase 156; function WriteChars(const Buf: STRPTR; BufLen: LongWord): LongInt; syscall AOS_DOSBase 157; +function PutStr(const String_: STRPTR): LongInt; syscall AOS_DOSBase 158; +function VPrintf(const Format: STRPTR; var ArgArray: IPTR): LongInt; syscall AOS_DOSBase 159; +function ParsePatternNoCase(const Source: STRPTR; Dest: STRPTR; DestLen: LongInt): LongInt; syscall AOS_DOSBase 161; +function MatchPatternNoCase(const Pat: STRPTR; Str: STRPTR): LongBool; syscall AOS_DOSBase 162; +function DosGetString(StringNum: LongInt): STRPTR; syscall AOS_DOSBase 163; +function SameDevice(Lock1: BPTR; Lock2: BPTR): LongBool; syscall AOS_DOSBase 164; +procedure ExAllEnd(Lock: BPTR; Buffer: PExAllData; Size: LongInt; Data: LongInt; Control: PExAllControl); syscall AOS_DOSBase 165; +function SetOwner(const Name: STRPTR; Owner_Info: LongWord): LongBool; syscall AOS_DOSBase 166; +function ScanVars(Hook: PHook; Flags: LongWord; UserData: APTR): LongInt; syscall AOS_DOSBase 167; + +{$ifdef AROS_ABIv0} +function RunHandler(DevNode: PDeviceNode; Path: PChar): PMsgPort; syscall AOS_DOSBase 27; +function DosError(): BPTR; syscall AOS_DOSBase 142; +function SelectError(Fh: BPTR): BPTR; syscall AOS_DOSBase 144; +function Pipe(const Name: STRPTR; var Reader: BPTR; var Writer: BPTR): LongInt; syscall AOS_DOSBase 160; +{$endif} + +{$ifdef AROS_ABIv1} +function DosError(): BPTR; +{$endif} function ReadChar(): LongInt; function WriteChar(c: LongInt): LongInt; @@ -2534,6 +2541,20 @@ begin UnReadChar := UnGetC(DosInput(),c); end; +{$ifdef AROS_ABIv1} +function DosError(): BPTR; +var + P: PProcess; +begin + DosError := nil; + P := PProcess(FindTask(nil)); + if Assigned(P) then + DosError := P^.pr_CES; + if DosError = nil then + DosError := DosOutput(); +end; +{$endif} + end. (* UNIT DOS *) diff --git a/rtl/aros/i386/doslibf.inc b/rtl/aros/i386/doslibf.inc index 439825effd..14f31a4d62 100644 --- a/rtl/aros/i386/doslibf.inc +++ b/rtl/aros/i386/doslibf.inc @@ -19,7 +19,9 @@ function dosRead(_file: BPTR; buffer: Pointer; length: longint): longint; syscal function dosWrite(_file: BPTR; buffer: Pointer; length: longint): longint; syscall AOS_DOSBase 8; function dosInput: BPTR; syscall AOS_DOSBase 9; function dosOutput: BPTR; syscall AOS_DOSBase 10; +{$ifdef AROS_ABIv0} function DosError1: BPTR; syscall AOS_DOSBase 142; +{$endif} function dosSeek(_file: BPTR; position: longint;offset: longint): longint; syscall AOS_DOSBase 11; function dosDeleteFile(const name: PChar): LongBool; syscall AOS_DOSBase 12; function dosRename(const oldName: PChar;newName: PChar): LongInt; syscall AOS_DOSBase 13; @@ -57,3 +59,17 @@ function GetVar(name: PChar; buffer: PChar; size: longint; flags: longword): lon function ExamineFH(Fh: BPTR; Fib: PFileInfoBlock): LongBool; syscall AOS_DOSBase 65; function NameFromFH(Fh: BPTR; Buffer: PChar; Length: LongInt): LongBool; syscall AOS_DOSBase 68; + +{$ifdef AROS_ABIv1} +function DosError1(): BPTR; +var + P: PProcess; +begin + DosError1 := 0; + P := PProcess(FindTask(nil)); + if Assigned(P) then + DosError1 := P^.pr_CES; + if DosError1 = 0 then + DosError1 := DosOutput(); +end; +{$endif} diff --git a/rtl/aros/system.pp b/rtl/aros/system.pp index 54ca5b508c..7a4017417a 100644 --- a/rtl/aros/system.pp +++ b/rtl/aros/system.pp @@ -219,11 +219,7 @@ begin if AOS_wbMsg = nil then begin StdInputHandle := THandle(dosInput); StdOutputHandle := THandle(dosOutput); - {$ifdef CPU64} - StdErrorHandle := THandle(DosOutput); - {$else} StdErrorHandle := THandle(DosError1); - {$endif} end else begin AOS_ConHandle := Open(AOS_ConName, MODE_OLDFILE); if AOS_ConHandle <> 0 then begin