execf.inc 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. {
  2. This file is part of the Free Pascal run time library.
  3. Copyright (c) 2006 by Karoly Balogh
  4. exec.library functions for AmigaOS 4.x/PowerPC
  5. See the file COPYING.FPC, included in this distribution,
  6. for details about the copyright.
  7. This program is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  10. **********************************************************************}
  11. function execAllocMem(byteSize: longword; attributes: longword): Pointer; syscall IExec 104;
  12. function AllocPooled(poolHeader: Pointer;memSize: longword): Pointer; syscall IExec 108;
  13. function CreatePool(memFlags: longword; puddleSize: longword; threshSize: longword): Pointer; syscall IExec 132;
  14. procedure DeletePool(poolHeader: Pointer); syscall IExec 140;
  15. procedure Forbid; syscall IExec 156;
  16. procedure execFreeMem(memoryBlock: Pointer; byteSize: longword); syscall IExec 164;
  17. procedure FreePooled(poolHeader: Pointer;memory: Pointer;memSize: longword); syscall IExec 168;
  18. procedure Permit; syscall IExec 200;
  19. function FindTask(name: PChar): PTask; syscall IExec 260;
  20. function AllocSignal(signalNum: shortint): shortint; syscall IExec 276;
  21. procedure FreeSignal(signalNum: shortint); syscall IExec 280;
  22. function SetSignal(newSignals: longword; signalMask: longword): longword; syscall IExec 288;
  23. procedure AddPort(port: PMsgPort); syscall IExec 300;
  24. function GetMsg(port: PMsgPort): PMessage; syscall IExec 324;
  25. procedure PutMsg(port: PMsgPort; message: PMessage); syscall IExec 328;
  26. procedure RemPort(port: PMsgPort); syscall IExec 332;
  27. procedure ReplyMsg(message: PMessage); syscall IExec 336;
  28. function WaitPort(port: PMsgPort): PMessage; syscall IExec 340;
  29. function AttemptSemaphore(sigSem: PSignalSemaphore): Cardinal; syscall IExec 352;
  30. procedure InitSemaphore(sigSem: PSignalSemaphore); syscall IExec 364;
  31. procedure ObtainSemaphore(sigSem: PSignalSemaphore); syscall IExec 368;
  32. procedure ObtainSemaphoreShared(sigSem: PSignalSemaphore); syscall IExec 376;
  33. procedure ReleaseSemaphore(sigSem: PSignalSemaphore); syscall IExec 384;
  34. function OpenLibrary(name: PChar; version: longword): PLibrary; syscall IExec 424;
  35. function CloseLibrary(_library: PLibrary): Pointer; syscall IExec 428;
  36. function GetInterface(_library: PLibrary;name: PChar;version: longword;taglist: PTagItem): POS4Interface; syscall IExec 448;
  37. function GetInterfaceTags(_library: PLibrary;name: PChar;version: longword): POS4Interface; {varargs;} syscall IExec 452; {$WARNING varargs should be possible with syscalls too on OS4}
  38. procedure DropInterface(_interface: POS4Interface); syscall IExec 456;
  39. function OpenDevice(devName: PChar; unitNumber: longword;ioRequest: PIORequest; flags: longword): longint; syscall IExec 504;
  40. function CloseDevice(ioRequest: PIORequest): Pointer; syscall IExec 508;
  41. function DoIO(ioRequest: PIORequest): shortint; syscall IExec 528;
  42. procedure RawPutChar(c: Char); syscall IExec 760;