Prechádzať zdrojové kódy

AROS: syscall-ified the exec.library functions used by the RTL

git-svn-id: trunk@28464 -
Károly Balogh 11 rokov pred
rodič
commit
167fad359e
1 zmenil súbory, kde vykonal 23 pridanie a 213 odobranie
  1. 23 213
      rtl/aros/i386/execf.inc

+ 23 - 213
rtl/aros/i386/execf.inc

@@ -16,8 +16,30 @@
 var
   LocalExecBase   : Pointer; external name '_ExecBase';
 
-function RawDoFmt(const formatString : pCHAR;const dataStream : POINTER; putChProc : POINTER; putChData : POINTER): pointer; forward;
 
+function execAllocMem(byteSize: Cardinal; requirements: Cardinal): Pointer; syscall LocalExecBase 33;
+procedure execFreeMem(memoryBlock: Pointer; byteSize: Cardinal); syscall LocalExecBase 35;
+function FindTask(name: PChar): PTask; syscall LocalExecBase 49;
+function SetSignal(newSignals: Cardinal; signalSet : Cardinal): Cardinal; syscall LocalExecBase 51;
+function AllocSignal(signalNum: LongInt): ShortInt; syscall LocalExecBase 55;
+procedure FreeSignal(signalNum: LongInt); syscall LocalExecBase 56;
+procedure AddPort(port: PMsgPort); syscall LocalExecBase 59;
+procedure RemPort(port: PMsgPort); syscall LocalExecBase 60;
+function GetMsg(port: PMsgPort): PMessage; syscall LocalExecBase 62;
+procedure ReplyMsg(message : pMessage); syscall LocalExecBase 63;
+function WaitPort(port: PMsgPort): PMessage; syscall LocalExecBase 64;
+procedure CloseLibrary(libHandle: PLibrary); syscall LocalExecBase 69;
+function OpenDevice(devName: PChar; numunit: Cardinal; ioRequest: pIORequest; flags: Cardinal): ShortInt; syscall LocalExecBase 74;
+procedure CloseDevice(ioRequest: PIORequest); syscall LocalExecBase 75;
+function DoIO(ioRequest: PIORequest): ShortInt; syscall LocalExecBase 76;
+function OpenLibrary(libname: PChar; libver : Cardinal): Pointer; syscall LocalExecBase 92;
+function CreatePool(requirements: Cardinal; puddleSize: Cardinal; threshSize: Cardinal): Pointer; syscall LocalExecBase 116;
+procedure DeletePool(poolHeader: Pointer); syscall LocalExecBase 117;
+function AllocPooled(poolHeader: Pointer; memSize: Cardinal): Pointer; syscall LocalExecBase 118;
+function FreePooled(poolHeader: Pointer; memory: Pointer; memSize: Cardinal): Pointer; syscall LocalExecBase 119;
+
+//function RawDoFmt(const formatString : pCHAR;const dataStream : POINTER; putChProc : tPROCEDURE; putChData : POINTER): pointer;
+function RawDoFmt(const formatString : pCHAR;const dataStream : POINTER; putChProc : POINTER; putChData : POINTER): pointer; syscall LocalExecBase 87;
 
 function GetLibAdress(Base: Pointer; Offset: LongInt): Pointer; inline;
 begin
@@ -30,217 +52,6 @@ begin
   GetLibAdress := Pointer((Base -(Offset * SizeOf(Pointer)))^);
 end;
 
-function execAllocMem(byteSize: Cardinal; requirements: Cardinal): Pointer;
-type
-  TAllocMem = function(byteSize: Cardinal; requirements: Cardinal; Base: Pointer): Pointer; cdecl;
-var
-  Call: TAllocMem;
-begin
-  Call := TAllocMem(GetLibAdress(LocalExecBase, 33));
-  execAllocMem := Call(byteSize, requirements, LocalExecBase);
-end;
-
-procedure execFreeMem(memoryBlock: Pointer; byteSize: Cardinal);
-type
-  TFreeMem = function(memoryBlock: Pointer; byteSize: Cardinal; Base: Pointer): Pointer; cdecl;
-var
-  Call: TFreeMem;
-begin
-  Call := TFreeMem(GetLibAdress(LocalExecBase, 35));
-  Call(memoryBlock, byteSize, LocalExecBase);
-end;
-
-function FindTask(name: PChar): PTask;
-type
-  TFindTask = function(name: PChar; Base: Pointer): PTask; cdecl;
-var
-  Call: TFindTask;
-begin
-  Call := TFindTask(GetLibAdress(LocalExecBase, 49));
-  FindTask := Call(name, LocalExecBase);
-end;
-
-function SetSignal(newSignals: Cardinal; signalSet : Cardinal): Cardinal;
-type
-  TSetSignal = function(newSignals: Cardinal; signalSet : Cardinal; Base: Pointer): Cardinal; cdecl;
-var
-  Call: TSetSignal;
-begin
-  Call := TSetSignal(GetLibAdress(LocalExecBase, 51));
-  SetSignal := Call(newSignals, signalSet, LocalExecBase);
-end;
-
-function AllocSignal(signalNum: LongInt): ShortInt;
-type
-  TAllocSignal = function(signalNum: LongInt; Base: Pointer): ShortInt; cdecl;
-var
-  Call: TAllocSignal;
-begin
-  Call := TAllocSignal(GetLibAdress(LocalExecBase, 55));
-  AllocSignal := Call(signalNum, LocalExecBase);
-end;
-
-procedure FreeSignal(signalNum: LongInt);
-type
-  TFreeSignal = procedure(signalNum: LongInt; Base: Pointer); cdecl;
-var
-  Call: TFreeSignal;
-begin
-  Call := TFreeSignal(GetLibAdress(LocalExecBase, 56)); 
-  Call(signalNum, LocalExecBase);
-end;
-
-procedure AddPort(port: PMsgPort);
-type
-  TAddPort = procedure(port: PMsgPort; Base: Pointer); cdecl;
-var
-  Call: TAddPort;
-begin
-  Call := TAddPort(GetLibAdress(LocalExecBase, 59)); 
-  Call(port, LocalExecBase);
-end;
-
-procedure RemPort(port: PMsgPort);
-type
-  TRemPort = procedure(port: PMsgPort; Base: Pointer); cdecl;
-var
-  Call: TRemPort;
-begin
-  Call := TRemPort(GetLibAdress(LocalExecBase, 60)); 
-  Call(port, LocalExecBase);
-end;
-
-function GetMsg(port: PMsgPort): PMessage;
-type
-  TGetMsg = function(port: PMsgPort; Base: Pointer): PMessage; cdecl;
-var
-  Call: TGetMsg;
-begin
-  Call := TGetMsg(GetLibAdress(LocalExecBase, 62));
-  GetMsg := Call(port, LocalExecBase);
-end;
-
-procedure ReplyMsg(message : pMessage);
-type
-  TLocalCall = procedure(message : pMessage; LibBase: Pointer); cdecl;
-var
-  Call: TLocalCall;
-begin
-  Call := TLocalCall(GetLibAdress(AOS_ExecBase, 63));
-  Call(message, AOS_ExecBase);
-end;
-
-function WaitPort(port: PMsgPort): PMessage;
-type
-  TWaitPort = function(port: PMsgPort; Base: Pointer): PMessage; cdecl;
-var
-  Call: TWaitPort;
-begin
-  Call := TWaitPort(GetLibAdress(LocalExecBase, 64));
-  WaitPort := Call(port, LocalExecBase);
-end;
-
-procedure CloseLibrary(libHandle: PLibrary);
-type
-  TCloseLibrary = procedure(libHandle: PLibrary; Base: Pointer); cdecl;
-var
-  Call: TCloseLibrary;
-begin
-  Call := TCloseLibrary(GetLibAdress(LocalExecBase, 69)); 
-  Call(libHandle, LocalExecBase);
-end;
-
-function OpenDevice(devName: PChar; numunit: Cardinal; ioRequest: pIORequest; flags: Cardinal): ShortInt;
-type
-  TOpenDevice = function(devName: PChar; numunit: Cardinal; ioRequest: pIORequest; flags: Cardinal; Base: Pointer): ShortInt; cdecl;
-var
-  Call: TOpenDevice;
-begin
-  Call := TOpenDevice(GetLibAdress(LocalExecBase, 74));
-  OpenDevice := Call(devName, numunit, ioRequest, flags, LocalExecBase);
-end;
-
-procedure CloseDevice(ioRequest: PIORequest);
-type
-  TCloseDevice = procedure(ioRequest: PIORequest; Base: Pointer); cdecl;
-var
-  Call: TCloseDevice;
-begin
-  Call := TCloseDevice(GetLibAdress(LocalExecBase, 75)); 
-  Call(ioRequest, LocalExecBase);
-end;
-
-function DoIO(ioRequest: PIORequest): ShortInt;
-type
-  TDoIO = function(ioRequest: PIORequest; Base: Pointer): ShortInt; cdecl;
-var
-  Call: TDoIO;
-begin
-  Call := TDoIO(GetLibAdress(LocalExecBase, 76));
-  DoIO := Call(ioRequest, LocalExecBase);
-end;
-
-function OpenLibrary(libname: PChar; libver : Cardinal): Pointer;
-type
-  TOpenLibrary = function(libname: PChar; libver : Cardinal; Base: Pointer): Pointer; cdecl;
-var
-  Call: TOpenLibrary;
-begin
-  Call := TOpenLibrary(GetLibAdress(LocalExecBase, 92));
-  OpenLibrary := Call(libname, libver, LocalExecBase);
-end;
-
-function CreatePool(requirements: Cardinal; puddleSize: Cardinal; threshSize: Cardinal): Pointer;
-type
-  TCreatePool = function(requirements: Cardinal; puddleSize: Cardinal; threshSize: Cardinal; Base: Pointer): Pointer; cdecl;
-var
-  Call: TCreatePool;
-begin
-  Call := TCreatePool(GetLibAdress(LocalExecBase, 116));
-  CreatePool := Call(requirements, puddleSize, threshSize, LocalExecBase);
-end;
-
-procedure DeletePool(poolHeader: Pointer);
-type
-  TDeletePool = procedure(poolHeader: Pointer; Base: Pointer); cdecl;
-var
-  Call: TDeletePool;
-begin
-  Call := TDeletePool(GetLibAdress(LocalExecBase, 117));
-  Call(poolHeader, LocalExecBase);
-end;
-
-function AllocPooled(poolHeader: Pointer; memSize: Cardinal): Pointer;
-type
-  TAllocPooled = function (poolHeader: Pointer; memSize: Cardinal; Base: Pointer): Pointer; cdecl;
-var
-  Call: TAllocPooled;
-begin
-  Call := TAllocPooled(GetLibAdress(LocalExecBase, 118));
-  AllocPooled := Call(poolHeader, memSize, LocalExecBase);
-end;
-
-function FreePooled(poolHeader: Pointer; memory: Pointer; memSize: Cardinal): Pointer;
-type
-  TFreePooled = function (poolHeader: Pointer; memory: Pointer; memSize: Cardinal; Base: Pointer): Pointer; cdecl;
-var
-  Call: TFreePooled;
-begin
-  Call := TFreePooled(GetLibAdress(LocalExecBase, 119));
-  FreePooled := Call(poolHeader, memory, memSize, LocalExecBase);
-end;
-
-//function RawDoFmt(const formatString : pCHAR;const dataStream : POINTER; putChProc : tPROCEDURE; putChData : POINTER): pointer;
-function RawDoFmt(const formatString : pCHAR;const dataStream : POINTER; putChProc : POINTER; putChData : POINTER): pointer;
-type
-  TLocalCall = function(const formatString : pCHAR;const dataStream : POINTER; putChProc : Pointer; putChData : POINTER; LibBase: Pointer): pointer; cdecl;
-var
-  Call: TLocalCall;
-begin
-  Call := TLocalCall(GetLibAdress(LocalExecBase, 87));
-  RawDoFmt := Call(formatString, dataStream, putChProc, putChData, AOS_ExecBase);
-end;
-
 procedure Debug(s: string);
 type
   TkPrintf = function(Msg: PChar): Integer; cdecl;
@@ -267,4 +78,3 @@ procedure Debugln(s: string);
 begin
   Debug(s + #10);
 end;
-