home *** CD-ROM | disk | FTP | other *** search
/ RISCWORLD 7 / RISCWORLD_VOL7.iso / Software / Issue6 / SDL.ZIP / !gcc / include / unixlib / h / stddef < prev    next >
Encoding:
Text File  |  2006-09-17  |  2.1 KB  |  106 lines

  1. /****************************************************************************
  2.  *
  3.  * $Source: /usr/local/cvsroot/gccsdk/unixlib/source/clib/stddef.h,v $
  4.  * $Date: 2003/04/22 10:59:44 $
  5.  * $Revision: 1.5 $
  6.  * $State: Exp $
  7.  * $Author: peter $
  8.  *
  9.  ***************************************************************************/
  10.  
  11. #ifndef __STDDEF_H
  12.  
  13. #if (! defined __need_wchar_t && ! defined __need_size_t \
  14.      && ! defined __need_ptrdiff_t && ! defined __need_NULL \
  15.      && ! defined __need_wint_t)
  16. #define __STDDEF_H
  17.  
  18. #define __need_wchar_t
  19. #define __need_size_t
  20. #define __need_ptrdiff_t
  21. #define __need_NULL
  22. #define __need_wint_t
  23. #endif
  24.  
  25.  
  26. /* Signed type of difference of two pointers.  */
  27. #if !defined __ptrdiff_t_defined && defined __need_ptrdiff_t
  28. #define __ptrdiff_t_defined
  29.  
  30. #ifndef __PTRDIFF_TYPE__
  31. #define __PTRDIFF_TYPE__ int
  32. #endif
  33. typedef __PTRDIFF_TYPE__ ptrdiff_t;
  34. #endif
  35. #undef __need_ptrdiff_t
  36.  
  37. /* Unsigned type of sizeof something.  */
  38. #if !defined __size_t_defined && defined __need_size_t
  39. #define __size_t_defined
  40.  
  41. #ifndef __size_t
  42. #define __size_t 1
  43. #endif
  44.  
  45. #ifndef __SIZE_TYPE__
  46. #define __SIZE_TYPE__ unsigned int
  47. #endif
  48.  
  49. #ifndef size_t
  50. typedef __SIZE_TYPE__ size_t;
  51. #endif
  52.  
  53. #endif
  54. #undef __need_size_t
  55.  
  56. /* Wide character type.  */
  57. #if !defined __wchar_t_defined && defined __need_wchar_t
  58. #define __wchar_t_defined
  59.  
  60. #define _WCHAR_T
  61. #ifndef __WCHAR_TYPE__
  62. #define __WCHAR_TYPE__ int
  63. #endif
  64.  
  65. #ifndef __cplusplus
  66. typedef __WCHAR_TYPE__ wchar_t;
  67. #endif
  68.  
  69. #endif
  70. #undef __need_wchar_t
  71.  
  72. #if !defined __wint_t_defined && defined __need_wint_t
  73. #define __wint_t_defined
  74. #define _WINT_T
  75. #ifndef __WINT_TYPE__
  76. #define __WINT_TYPE__ unsigned int
  77. #endif
  78. typedef __WINT_TYPE__ wint_t;
  79. #endif
  80. #undef __need_wint_t
  81.  
  82. /* Define NULL.  */
  83. #if !defined __NULL_defined && defined __need_NULL
  84. #define __NULL_defined
  85.  
  86. #ifndef NULL
  87. #define NULL (0)
  88. #endif
  89. #endif
  90. #undef __need_NULL
  91.  
  92. #ifdef __STDDEF_H
  93.  
  94. /* Offset of member 'member' in a struct of type 'type'.  */
  95. #define offsetof(type, member) ((size_t) &((type *)0)->member)
  96.  
  97. #endif /* __STDDEF_H */
  98.  
  99. #else
  100. #undef __need_wchar_t
  101. #undef __need_size_t
  102. #undef __need_ptrdiff_t
  103. #undef __need_NULL
  104. #undef __need_wint_t
  105. #endif /* ! __STDDEF_H */
  106.