From 339ccbf610ea58d5a298f28ef3d75f4e387f7e2d Mon Sep 17 00:00:00 2001 From: marcus Date: Tue, 26 Aug 2014 19:41:37 +0000 Subject: [PATCH] AROS: Syscall-ified util and dos library git-svn-id: trunk@28522 - --- rtl/aros/i386/doslibf.inc | 442 ++++---------------------------------- rtl/aros/i386/utilf.inc | 22 +- 2 files changed, 42 insertions(+), 422 deletions(-) diff --git a/rtl/aros/i386/doslibf.inc b/rtl/aros/i386/doslibf.inc index bea3755325..fdb98ecd31 100644 --- a/rtl/aros/i386/doslibf.inc +++ b/rtl/aros/i386/doslibf.inc @@ -13,406 +13,44 @@ **********************************************************************} -function Open(name: PChar; accessMode: longint): Cardinal; -type - TOpen = function(name: PChar; accessMode: longint; Base: Pointer): Cardinal; cdecl; -var - Call: TOpen; -begin - Call := TOpen(GetLibAdress(AOS_DOSBase, 5)); - Open := Call(name, accessMode, AOS_DOSBase); -end; +function Open(name: PChar; accessMode: longint): Cardinal; syscall AOS_DOSBase 5; +function dosClose(_file: Cardinal): LongBool; syscall AOS_DOSBase 6; +function dosRead(_file: Cardinal; buffer: Pointer; length: longint): longint; syscall AOS_DOSBase 7; +function dosWrite(_file: Cardinal; buffer: Pointer; length: longint): longint; syscall AOS_DOSBase 8; +function dosInput: Cardinal; syscall AOS_DOSBase 9; +function dosOutput: Cardinal; syscall AOS_DOSBase 10; +function DosError1: Cardinal; syscall AOS_DOSBase 142; +function dosSeek(_file: longint;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; +function Lock(const name: PChar;_type: longint): longint; syscall AOS_DOSBase 14; +function UnLock(lock: longint): longint; syscall AOS_DOSBase 15; +function DupLock(Lock: longint): longint; syscall AOS_DOSBase 16; +function Examine(lock: longint; fileInfoBlock: PFileInfoBlock): LongInt; syscall AOS_DOSBase 17; +function Info(lock: longint; parameterBlock: PInfoData): LongInt; syscall AOS_DOSBase 19; +function dosCreateDir(const name: PChar): longint; syscall AOS_DOSBase 20; +function CurrentDir(lock: longint): longint; syscall AOS_DOSBase 21; +function IoErr: longint; syscall AOS_DOSBase 22; +procedure dosExit(ErrCode: longint); syscall AOS_DOSBase 24; +function SetProtection(const name: PChar; protect: longword): LongInt; syscall AOS_DOSBase 31; +function DateStamp(date: PDateStamp): PDateStamp; syscall AOS_DOSBase 32; +procedure Delay(ticks: LongWord); syscall AOS_DOSBase 33; +function SetFileDate(name: PChar; date: PDateStamp): LongBool; syscall AOS_DOSBase 66; +function NameFromLock(lock: longint; buffer: PChar; len: longint): LongBool; syscall AOS_DOSBase 67; +function SetFileSize(fh: longint; pos: longint; mode: longint): longint; syscall AOS_DOSBase 76; +function Cli : pCommandLineInterface; syscall AOS_DOSBase 82; +function GetArgStr: PChar; syscall AOS_DOSBase 89; +function GetCurrentDirName(buf: PChar; len: longint): LongBool; syscall AOS_DOSBase 94; +function GetProgramName(buf: PChar; len: longint): LongBool; syscall AOS_DOSBase 96; +function GetProgramDir: longint; syscall AOS_DOSBase 100; +function SystemTagList(command: PChar; tags: PTagItem): longint; syscall AOS_DOSBase 101; +function LockDosList(flags: longword): PDosList; syscall AOS_DOSBase 109; +procedure UnLockDosList(flags: longword); syscall AOS_DOSBase 110; +function NextDosEntry(dlist: PDosList; flags: longword): PDosList; syscall AOS_DOSBase 115; +function MatchFirst(pat: PChar; anchor: PAnchorPath): longint; syscall AOS_DOSBase 137; +function MatchNext(anchor: PAnchorPath): longint; syscall AOS_DOSBase 138; +procedure MatchEnd(anchor: PAnchorPath); syscall AOS_DOSBase 139; +function GetVar(name: PChar; buffer: PChar; size: longint; flags: longword): longint; syscall AOS_DOSBase 151; +function ExamineFH(Fh: BPTR; Fib: PFileInfoBlock): LongBool; syscall AOS_DOSBase 65; +function NameFromFH(Fh: BPTR; Buffer: PChar; Length: LongInt): LongBool; syscall AOS_DOSBase 68; -function dosClose(_file: Cardinal): LongBool; -type - TdosClose = function(_file: Cardinal; Base: Pointer): LongBool; cdecl; -var - Call: TdosClose; -begin - Call := TdosClose(GetLibAdress(AOS_DOSBase, 6)); - dosClose := Call(_file, AOS_DOSBase); -end; - -function dosRead(_file: Cardinal; buffer: Pointer; length: longint): longint; -type - TdosRead = function(_file: Cardinal; buffer: Pointer; length: longint; Base: Pointer): longint; cdecl; -var - Call: TdosRead; -begin - Call := TdosRead(GetLibAdress(AOS_DOSBase, 7)); - dosRead := Call(_file, buffer, length, AOS_DOSBase); -end; - -function dosWrite(_file: Cardinal; buffer: Pointer; length: longint): longint; -type - TdosWrite = function(_file: Cardinal; buffer: Pointer; length: longint; Base: Pointer): longint; cdecl; -var - Call: TdosWrite; -begin - Call := TdosWrite(GetLibAdress(AOS_DOSBase, 8)); - dosWrite := Call(_file, buffer, length, AOS_DOSBase); -end; - -function dosInput: Cardinal; -type - TdosInput = function(Base: Pointer): Cardinal; cdecl; -var - Call: TdosInput; -begin - Call := TdosInput(GetLibAdress(AOS_DOSBase, 9)); - dosInput := Call(AOS_DOSBase); -end; - -function dosOutput: Cardinal; -type - TdosOutput = function(Base: Pointer): Cardinal; cdecl; -var - Call: TdosOutput; -begin - Call := TdosOutput(GetLibAdress(AOS_DOSBase, 10)); - dosOutput := Call(AOS_DOSBase); -end; - -function DosError1: Cardinal; -type - TDosError = function(Base: Pointer): Cardinal; cdecl; -var - Call: TDosError; -begin - Call := TDosError(GetLibAdress(AOS_DOSBase, 142)); - DosError1 := Call(AOS_DOSBase); -end; - -function dosSeek(_file: longint;position: longint;offset: longint): longint; -type - TdosSeek = function(_file: longint;position: longint;offset: longint; Base: Pointer): longint; cdecl; -var - Call: TdosSeek; -begin - Call := TdosSeek(GetLibAdress(AOS_DOSBase, 11)); - dosSeek := Call(_file, position, offset, AOS_DOSBase); -end; - -function dosDeleteFile(const name: PChar): LongBool; -type - TdosDeleteFile = function(const name: PChar; Base: Pointer): LongBool; cdecl; -var - Call: TdosDeleteFile; -begin - Call := TdosDeleteFile(GetLibAdress(AOS_DOSBase, 12)); - dosDeleteFile := Call(name, AOS_DOSBase); -end; - -function dosRename(const oldName: PChar;newName: PChar): LongInt; -type - TdosRename = function(const oldName: PChar;newName: PChar; Base: Pointer): LongInt; cdecl; -var - Call: TdosRename; -begin - Call := TdosRename(GetLibAdress(AOS_DOSBase, 13)); - dosRename := Call(oldname, newname, AOS_DOSBase); -end; - -function Lock(const name: PChar;_type: longint): longint; -type - TLock = function(const name: PChar;_type: longint; Base: Pointer): longint; cdecl; -var - Call: TLock; -begin - Call := TLock(GetLibAdress(AOS_DOSBase, 14)); - Lock := Call(name, _type, AOS_DOSBase); -end; - -function UnLock(lock: longint): longint; -type - TUnLock = function(lock: longint; Base: Pointer): longint; cdecl; -var - Call: TUnLock; -begin - Call := TUnLock(GetLibAdress(AOS_DOSBase, 15)); - UnLock := Call(lock, AOS_DOSBase); -end; - -function DupLock(Lock: longint): longint; -type - TDupLock = function(Lock: longint; Base: Pointer): longint; cdecl; -var - Call: TDupLock; -begin - Call := TDupLock(GetLibAdress(AOS_DOSBase, 16)); - DupLock := Call(Lock, AOS_DOSBase); -end; - -function Examine(lock: longint; fileInfoBlock: PFileInfoBlock): LongInt; -type - TExamine = function(lock: longint; fileInfoBlock: PFileInfoBlock; Base: Pointer): LongInt; cdecl; -var - Call: TExamine; -begin - Call := TExamine(GetLibAdress(AOS_DOSBase, 17)); - Examine := Call(lock, fileInfoBlock, AOS_DOSBase); -end; - -function Info(lock: longint; parameterBlock: PInfoData): LongInt; -type - TInfo = function(lock: longint; parameterBlock: PInfoData; Base: Pointer): LongInt; cdecl; -var - Call: TInfo; -begin - Call := TInfo(GetLibAdress(AOS_DOSBase, 19)); - Info := Call(lock, parameterBlock, AOS_DOSBase); -end; - -function dosCreateDir(const name: PChar): longint; -type - TdosCreateDir = function(const name: PChar; Base: Pointer): longint; cdecl; -var - Call: TdosCreateDir; -begin - Call := TdosCreateDir(GetLibAdress(AOS_DOSBase, 20)); - dosCreateDir := Call(name, AOS_DOSBase); -end; - -function CurrentDir(lock: longint): longint; -type - TCurrentDir = function(lock: longint; Base: Pointer): longint; cdecl; -var - Call: TCurrentDir; -begin - Call := TCurrentDir(GetLibAdress(AOS_DOSBase, 21)); - CurrentDir := Call(lock, AOS_DOSBase); -end; - -function IoErr: longint; -type - TIoErr = function(Base: Pointer): longint; cdecl; -var - Call: TIoErr; -begin - Call := TIoErr(GetLibAdress(AOS_DOSBase, 22)); - IoErr := Call(AOS_DOSBase); -end; - -procedure dosExit(ErrCode: longint); -type - TExit = procedure(ErrCode: longint; Base: Pointer); cdecl; -var - Call: TExit; -begin - Call := TExit(GetLibAdress(AOS_DOSBase, 24)); - Call(ErrCode, AOS_DOSBase); -end; - -function SetProtection(const name: PChar; protect: longword): LongInt; -type - TSetProtection = function(const name: PChar; protect: longword; Base: Pointer): LongInt; cdecl; -var - Call: TSetProtection; -begin - Call := TSetProtection(GetLibAdress(AOS_DOSBase, 31)); - SetProtection := Call(name, protect, AOS_DOSBase); -end; - -function DateStamp(date: PDateStamp): PDateStamp; -type - TDateStamp = function(date: PDateStamp; Base: Pointer): PDateStamp; cdecl; -var - Call: TDateStamp; -begin - Call := TDateStamp(GetLibAdress(AOS_DOSBase, 32)); - DateStamp := Call(date, AOS_DOSBase); -end; - -procedure Delay(ticks: LongWord); -type - TDelay = procedure(ticks: LongWord; Base: Pointer); cdecl; -var - Call: TDelay; -begin - Call := TDelay(GetLibAdress(AOS_DOSBase, 33)); - Call(ticks, AOS_DOSBase); -end; - -function SetFileDate(name: PChar; date: PDateStamp): LongBool; -type - TSetFileDate = function(name: PChar; date: PDateStamp; Base: Pointer): LongBool; cdecl; -var - Call: TSetFileDate; -begin - Call := TSetFileDate(GetLibAdress(AOS_DOSBase, 66)); - SetFileDate := Call(name, date, AOS_DOSBase); -end; - -function NameFromLock(lock: longint; buffer: PChar; len: longint): LongBool; -type - TNameFromLock = function(lock: longint; buffer: PChar; len: longint; Base: Pointer): LongBool; cdecl; -var - Call: TNameFromLock; -begin - Call := TNameFromLock(GetLibAdress(AOS_DOSBase, 67)); - NameFromLock := Call(lock, buffer, len, AOS_DOSBase); -end; - -function SetFileSize(fh: longint; pos: longint; mode: longint): longint; -type - TSetFileSize = function(fh: longint; pos: longint; mode: longint; Base: Pointer): longint; cdecl; -var - Call: TSetFileSize; -begin - Call := TSetFileSize(GetLibAdress(AOS_DOSBase, 76)); - SetFileSize := Call(fh, pos, mode, AOS_DOSBase); -end; - -function Cli : pCommandLineInterface; -type - TLocalCall = function(LibBase: Pointer): pCommandLineInterface; cdecl; -var - Call: TLocalCall; -begin - Call := TLocalCall(GetLibAdress(AOS_DOSBase, 82)); - Cli := Call(AOS_DOSBase); -end; - -function GetArgStr: PChar; -type - TGetArgStr = function(Base: Pointer): PChar; cdecl; -var - Call: TGetArgStr; -begin - Call := TGetArgStr(GetLibAdress(AOS_DOSBase, 89)); - GetArgStr := Call(AOS_DOSBase); -end; - -function GetCurrentDirName(buf: PChar; len: longint): LongBool; -type - TGetCurrentDirName = function(buf: PChar; len: longint; Base: Pointer): LongBool; cdecl; -var - Call: TGetCurrentDirName; -begin - Call := TGetCurrentDirName(GetLibAdress(AOS_DOSBase, 94)); - GetCurrentDirName := Call(buf, len, AOS_DOSBase); -end; - -function GetProgramName(buf: PChar; len: longint): LongBool; -type - TGetProgramName = function(buf: PChar; len: longint; Base: Pointer): LongBool; cdecl; -var - Call: TGetProgramName; -begin - Call := TGetProgramName(GetLibAdress(AOS_DOSBase, 96)); - GetProgramName := Call(buf, len, AOS_DOSBase); -end; - -function GetProgramDir: longint; -type - TGetProgramDir = function(Base: Pointer): longint; cdecl; -var - Call: TGetProgramDir; -begin - Call := TGetProgramDir(GetLibAdress(AOS_DOSBase, 100)); - GetProgramDir := Call(AOS_DOSBase); -end; - -function SystemTagList(command: PChar; tags: PTagItem): longint; -type - TSystemTagList = function(command: PChar; tags: PTagItem; Base: Pointer): longint; cdecl; -var - Call: TSystemTagList; -begin - Call := TSystemTagList(GetLibAdress(AOS_DOSBase, 101)); - SystemTagList := Call(command, tags, AOS_DOSBase); -end; - -function LockDosList(flags: longword): PDosList; -type - TLockDosList = function(flags: longword; Base: Pointer): PDosList; cdecl; -var - Call: TLockDosList; -begin - Call := TLockDosList(GetLibAdress(AOS_DOSBase, 109)); - LockDosList := Call(flags, AOS_DOSBase); -end; - -procedure UnLockDosList(flags: longword); -type - TUnLockDosList = procedure(flags: longword; Base: Pointer); cdecl; -var - Call: TUnLockDosList; -begin - Call := TUnLockDosList(GetLibAdress(AOS_DOSBase, 110)); - Call(flags, AOS_DOSBase); -end; - -function NextDosEntry(dlist: PDosList; flags: longword): PDosList; -type - TNextDosEntry = function(dlist: PDosList; flags: longword; Base: Pointer): PDosList; cdecl; -var - Call: TNextDosEntry; -begin - Call := TNextDosEntry(GetLibAdress(AOS_DOSBase, 115)); - NextDosEntry := Call(dlist, flags, AOS_DOSBase); -end; - -function MatchFirst(pat: PChar; anchor: PAnchorPath): longint; -type - TMatchFirst = function(pat: PChar; anchor: PAnchorPath; Base: Pointer): longint; cdecl; -var - Call: TMatchFirst; -begin - Call := TMatchFirst(GetLibAdress(AOS_DOSBase, 137)); - MatchFirst := Call(pat, anchor, AOS_DOSBase); -end; - -function MatchNext(anchor: PAnchorPath): longint; -type - TMatchNext = function(anchor: PAnchorPath; Base: Pointer): longint; cdecl; -var - Call: TMatchNext; -begin - Call := TMatchNext(GetLibAdress(AOS_DOSBase, 138)); - MatchNext := Call(anchor, AOS_DOSBase); -end; - - -procedure MatchEnd(anchor: PAnchorPath); -type - TMatchEnd = procedure(anchor: PAnchorPath; Base: Pointer); cdecl; -var - Call: TMatchEnd; -begin - Call := TMatchEnd(GetLibAdress(AOS_DOSBase, 139)); - Call(anchor, AOS_DOSBase); -end; - - -function GetVar(name: PChar; buffer: PChar; size: longint; flags: longword): longint; -type - TGetVar = function(name: PChar; buffer: PChar; size: longint; flags: longword; Base: Pointer): longint; cdecl; -var - Call: TGetVar; -begin - Call := TGetVar(GetLibAdress(AOS_DOSBase, 151)); - GetVar := Call(name, buffer, size, flags, AOS_DOSBase); -end; - - -function ExamineFH(Fh: BPTR; Fib: PFileInfoBlock): LongBool; -type - TLocalCall = function(Fh: BPTR; Fib: PFileInfoBlock; LibBase: Pointer): LongBool; cdecl; -Var - Call: TLocalCall; -Begin - Call := TLocalCall(GetLibAdress(AOS_DOSBase, 65)); - ExamineFH:= Call(Fh, Fib, AOS_DOSBase); -end; - - -function NameFromFH(Fh: BPTR; Buffer: PChar; Length: LongInt): LongBool; -type - TLocalCall = function(Fh: BPTR; Buffer: PChar; Length: LongInt; LibBase: Pointer): LongBool; cdecl; -Var - Call: TLocalCall; -Begin - Call := TLocalCall(GetLibAdress(AOS_DOSBase, 68)); - NameFromFH := Call(Fh, Buffer, Length, AOS_DOSBase); -end; diff --git a/rtl/aros/i386/utilf.inc b/rtl/aros/i386/utilf.inc index 54c8ac0500..e0ba18b659 100644 --- a/rtl/aros/i386/utilf.inc +++ b/rtl/aros/i386/utilf.inc @@ -13,24 +13,6 @@ **********************************************************************} -procedure Amiga2Date(date_amiga: longword; cd: PClockData); -type - TAmiga2Date = procedure(date_amiga: longword; cd: PClockData; Base: Pointer); cdecl; -var - Call: TAmiga2Date; -begin - Call := TAmiga2Date(GetLibAdress(AOS_UtilityBase, 20)); - Call(date_amiga, cd, AOS_UtilityBase); -end; - -function Date2Amiga(date: PClockData): longword; -type - TDate2Amiga = function(date: PClockData; Base: Pointer): longword; cdecl; -var - Call: TDate2Amiga; -begin - Call := TDate2Amiga(GetLibAdress(AOS_UtilityBase, 21)); - Date2Amiga := Call(date, AOS_UtilityBase); -end; - +procedure Amiga2Date(date_amiga: longword; cd: PClockData); syscall AOS_UtilityBase 20; +function Date2Amiga(date: PClockData): longword; syscall AOS_UtilityBase 21;