ctypes.inc 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. {
  2. $Id$
  3. This file is part of the Free Pascal run time library.
  4. Copyright (c) 2001 by Free Pascal development team
  5. Basic types for C interfacing. Check the 64-bit defines.
  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. {***********************************************************************}
  13. { POSIX TYPE DEFINITIONS }
  14. {***********************************************************************}
  15. Type
  16. { the following type definitions are compiler dependant }
  17. { and system dependant }
  18. cInt8 = shortint;
  19. cUInt8 = byte;
  20. cUInt16= word;
  21. cInt16 = smallint;
  22. cInt32 = longint;
  23. cUInt32= cardinal;
  24. cInt64 = int64;
  25. {$ifndef VER1_0}
  26. cUInt64= qword;
  27. {$else}
  28. cUInt64= int64;
  29. {$endif}
  30. cuchar = byte;
  31. cchar = shortint;
  32. cInt = longint; { minimum range is : 32-bit }
  33. cUInt = Cardinal; { minimum range is : 32-bit }
  34. {$ifdef cpu64}
  35. cLong = int64;
  36. cuLong = qword;
  37. {$else}
  38. cLong = longint;
  39. cuLong = Cardinal;
  40. {$endif}
  41. clonglong = int64;
  42. {$ifndef VER1_0}
  43. culonglong = qword;
  44. {$else VER1_0}
  45. culonglong = int64;
  46. {$endif VER1_0}
  47. cshort = smallint;
  48. cushort = word;
  49. pcInt = ^cInt;
  50. pcUInt = ^cUInt;
  51. pcLong = ^cLong;
  52. pculong = ^cuLong;
  53. pcshort = ^cshort;
  54. pcushort = ^cushort;
  55. pcchar = ^cchar;
  56. pcuchar = ^cuchar;
  57. cunsigned = cuint;
  58. pcunsigned = ^cunsigned;
  59. {
  60. $Log$
  61. Revision 1.1 2005-02-13 22:14:36 peter
  62. * new files
  63. Revision 1.6 2005/02/05 23:02:37 florian
  64. + added some missing c types
  65. Revision 1.5 2004/09/09 20:29:06 jonas
  66. * fixed definition of pthread_mutex_t for non-linux targets (and for
  67. linux as well, actually).
  68. * base libpthread definitions are now in ptypes.inc, included in unixtype
  69. They sometimes have an extra underscore in front of their name, in
  70. case they were also exported by the packages/base/pthreads unit, so
  71. they can keep their original name there
  72. * cthreadds unit now imports systuils, because it uses exceptions (it
  73. already did so before as well)
  74. * fixed many linux definitions of libpthread functions in pthrlinux.inc
  75. (integer -> cint etc)
  76. + added culonglong type to ctype.inc
  77. Revision 1.4 2004/04/26 16:53:19 peter
  78. * use cpu64
  79. Revision 1.3 2003/09/16 21:20:40 marco
  80. * pointer's of some basetypes
  81. Revision 1.2 2002/12/18 16:43:26 marco
  82. * new unix rtl, linux part.....
  83. Revision 1.1 2002/11/09 22:39:28 marco
  84. * first version
  85. }