sysc11.inc 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. {
  2. $Id$
  3. This file is part of the Free Pascal run time library.
  4. Copyright (c) 1999-2000 by Michael Van Canneyt,
  5. member of the Free Pascal development team.
  6. See the file COPYING.FPC, included in this distribution,
  7. for details about the copyright.
  8. This program is distributed in the hope that it will be useful,
  9. but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  11. **********************************************************************}
  12. { Include syscall itself }
  13. {i syscallo.inc}
  14. Function Sys_mmap(adr,len,prot,flags,fdes,off:longint):longint; // moved from sysunix.inc, used in sbrk
  15. begin
  16. fpmmap(pointer(adr),size_t(len),cint(prot),cint(flags),cint(fdes),off_t(off));
  17. end;
  18. Function Sys_munmap(adr,len:longint):longint; // moved from sysunix.inc, used in sbrk
  19. begin
  20. fpmunmap(pointer(adr),cint(len));
  21. end;
  22. {
  23. Interface to Unix ioctl call.
  24. Performs various operations on the filedescriptor Handle.
  25. Ndx describes the operation to perform.
  26. Data points to data needed for the Ndx function. The structure of this
  27. data is function-dependent.
  28. }
  29. Function Sys_IOCtl(Handle,Ndx: Longint;Data: Pointer):LongInt; // This was missing here, instead hardcode in Do_IsDevice
  30. begin
  31. sys_ioctl:=fpioctl(handle,ndx,data);
  32. end;
  33. {
  34. $Log$
  35. Revision 1.3 2003-11-17 11:28:08 marco
  36. * Clone moved to linux, + few small unit unix changes
  37. Revision 1.2 2003/10/31 08:55:11 mazen
  38. + assembler mode forced to ATT style for x86 cpu
  39. Revision 1.1 2003/10/30 16:42:25 marco
  40. * Killing off old syscall convention anywhere except for oldlinux
  41. Revision 1.19 2003/10/17 20:56:24 olle
  42. * Changed m68k to cpum68k, i386 to cpui386
  43. Revision 1.18 2003/09/14 20:15:01 marco
  44. * Unix reform stage two. Remove all calls from Unix that exist in Baseunix.
  45. Revision 1.17 2002/12/18 16:43:26 marco
  46. * new unix rtl, linux part.....
  47. Revision 1.16 2002/11/11 21:40:26 marco
  48. * rename syscall.inc -> syscallo.inc
  49. Revision 1.15 2002/10/14 19:39:17 peter
  50. * threads unit added for thread support
  51. Revision 1.14 2002/09/10 21:32:14 jonas
  52. + added "nop" after sc instruction, since normally in case of success,
  53. sc returns to the second instruction after itself
  54. Revision 1.13 2002/09/07 16:01:19 peter
  55. * old logs removed and tabs fixed
  56. Revision 1.12 2002/09/07 13:14:04 florian
  57. * hopefully final fix for ppc syscall BTW: The regX numbering is somehow messy
  58. Revision 1.11 2002/09/03 21:37:54 florian
  59. * hopefully final fix for ppc syscall
  60. Revision 1.10 2002/09/02 20:42:22 florian
  61. * another ppc syscall fix
  62. Revision 1.9 2002/09/02 20:03:20 florian
  63. * ppc syscall code fixed
  64. Revision 1.8 2002/08/19 18:24:05 jonas
  65. + ppc support for do_syscall
  66. Revision 1.7 2002/07/29 21:28:17 florian
  67. * several fixes to get further with linux/ppc system unit compilation
  68. Revision 1.6 2002/07/28 20:43:48 florian
  69. * several fixes for linux/powerpc
  70. * several fixes to MT
  71. }