2
0

ostypes.inc 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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. OS dependant types internal to the Linux RTL.
  7. See the file COPYING.FPC, included in this distribution,
  8. for details about the copyright.
  9. This program is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  12. **********************************************************************}
  13. Type
  14. {
  15. Linux system calls take arguments as follows :
  16. i386 m68k ppc
  17. %eax %d0 r0 System call number
  18. %ebx %d1 r3 first argument
  19. %ecx %d2 r4 second argument
  20. %edx %d3 r5 third argumens
  21. %esi %d3 r6 fourth argument
  22. %edi %d4 r7 fifth argument
  23. That is why we define a special type, with only these arguments
  24. To make it processor independent, we don't give any system dependent
  25. names, but the rather abstract reg1,reg2 etc;
  26. }
  27. SysCallRegs = record
  28. reg1,
  29. reg2,
  30. reg3,
  31. reg4,
  32. reg5,
  33. reg6 : longint;
  34. end;
  35. PSysCallRegs= ^SysCallRegs;
  36. TSysCallRegs= SysCallRegs;
  37. timezone = packed record
  38. minuteswest,dsttime:longint;
  39. end;
  40. ptimezone =^timezone;
  41. TTimeZone = timezone;
  42. Const // generated by statmacr.c
  43. S_IFMT = 61440; { type of file mask}
  44. S_IFIFO = 4096; { named pipe (fifo)}
  45. S_IFCHR = 8192; { character special}
  46. S_IFDIR = 16384; { directory }
  47. S_IFBLK = 24576; { block special}
  48. S_IFREG = 32768; { regular }
  49. S_IFLNK = 40960; { symbolic link }
  50. S_IFSOCK= 49152; { socket }
  51. {
  52. $Log$
  53. Revision 1.5 2003-09-27 13:45:58 peter
  54. * fpnanosleep exported in baseunix
  55. * fpnanosleep has pointer arguments to be C compliant
  56. Revision 1.4 2003/09/17 11:24:46 marco
  57. * fixes for new macro's
  58. Revision 1.3 2003/09/14 20:15:01 marco
  59. * Unix reform stage two. Remove all calls from Unix that exist in Baseunix.
  60. Revision 1.2 2002/12/18 16:43:26 marco
  61. * new unix rtl, linux part.....
  62. Revision 1.1 2002/11/12 14:37:59 marco
  63. * Parts of new unix rtl
  64. }