X-Git-Url: https://git.saurik.com/apple/libc.git/blobdiff_plain/9385eb3d10ebe5eb398c52040ec3dbfba9b0cdcf..224c70764cab4e0e39a26aaf3ad3016552f62f55:/include/stddef.h diff --git a/include/stddef.h b/include/stddef.h index b7ae6fb..78095de 100644 --- a/include/stddef.h +++ b/include/stddef.h @@ -3,8 +3,6 @@ * * @APPLE_LICENSE_HEADER_START@ * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -60,49 +58,73 @@ * @(#)stddef.h 5.5 (Berkeley) 4/3/91 */ -#ifndef __STDDEF_H__ -#define __STDDEF_H__ +#if !defined(__STDDEF_H__) -#include -#include +#if !defined(__need_wchar_t) && !defined(__need_size_t) \ + && !defined(__need_ptrdiff_t) && !defined(__need_NULL) \ + && !defined(__need_wint_t) +#define __STDDEF_H__ +#endif /* none of __need_* defined */ -typedef _BSD_PTRDIFF_T_ ptrdiff_t; +#include <_types.h> -#ifndef _BSD_SIZE_T_DEFINED_ -#define _BSD_SIZE_T_DEFINED_ -typedef _BSD_SIZE_T_ size_t; -#endif +#if defined(__STDDEF_H__) || defined(__need_ptrdiff_t) +#ifndef _PTRDIFF_T +#define _PTRDIFF_T +typedef __darwin_ptrdiff_t ptrdiff_t; +#endif /* _PTRDIFF_T */ +#endif /* __STDDEF_H__ || __need_ptrdiff_t */ -#ifndef _BSD_CT_RUNE_T_DEFINED_ -#define _BSD_CT_RUNE_T_DEFINED_ -typedef _BSD_CT_RUNE_T_ ct_rune_t; -#endif - -#ifndef _BSD_RUNE_T_DEFINED_ -#define _BSD_RUNE_T_DEFINED_ -typedef _BSD_RUNE_T_ rune_t; -#endif +#if defined(__STDDEF_H__) || defined(__need_size_t) +#ifndef _SIZE_T +#define _SIZE_T +/* DO NOT REMOVE THIS COMMENT: fixincludes needs to see: + * _GCC_SIZE_T */ +typedef __darwin_size_t size_t; +#endif /* _SIZE_T */ +#endif /* __STDDEF_H__ || __need_size_t */ +#if defined(__STDDEF_H__) || defined(__need_wchar_t) #ifndef __cplusplus -#ifndef _BSD_WCHAR_T_DEFINED_ -#define _BSD_WCHAR_T_DEFINED_ -#ifdef __WCHAR_TYPE__ -typedef __WCHAR_TYPE__ wchar_t; -#else /* ! __WCHAR_TYPE__ */ -typedef _BSD_WCHAR_T_ wchar_t; -#endif /* __WCHAR_TYPE__ */ -#endif /* _BSD_WCHAR_T_DEFINED_ */ +#ifndef _WCHAR_T +#define _WCHAR_T +typedef __darwin_wchar_t wchar_t; +#endif /* _WCHAR_T */ #endif /* __cplusplus */ +#endif /* __STDDEF_H__ || __need_wchar_t */ -#ifndef _BSD_WINT_T_DEFINED_ -#define _BSD_WINT_T_DEFINED_ -typedef _BSD_WINT_T_ wint_t; -#endif +#if (defined(__STDDEF_H__) && !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE))) \ + || defined(__need_wint_t) +#ifndef _WINT_T +#define _WINT_T +typedef __darwin_wint_t wint_t; +#endif /* _WINT_T */ +#endif /* __STDDEF_H__ && !_ANSI_SOURCE && (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) || __need_wchar_t */ -#ifndef NULL -#define NULL 0 -#endif +#if defined(__STDDEF_H__) || defined(__need_NULL) +#ifndef NULL +#define NULL __DARWIN_NULL +#endif /* ! NULL */ +#endif /* __STDDEF_H__ || __need_NULL */ -#define offsetof(type, member) __offsetof(type, member) +#ifdef __STDDEF_H__ +#if defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ >= 5 || __GNUC__ > 3) +#ifndef __offsetof /* Deprecated: for source compatability only */ +#define __offsetof(type, field) __builtin_offsetof(type, field) +#endif +#define offsetof(type, field) __builtin_offsetof(type, field) +#else /* ! (gcc >= 3.5) */ +#ifndef __offsetof /* Deprecated: for source compatability only */ +#define __offsetof(type, field) ((size_t)(&((type *)0)->field)) +#endif +#define offsetof(type, field) ((size_t)(&((type *)0)->field)) +#endif /* (gcc >= 3.5) */ +#endif /* __STDDEF_H__ */ #endif /* __STDDEF_H__ */ + +#undef __need_ptrdiff_t +#undef __need_size_t +#undef __need_wchar_t +#undef __need_wint_t +#undef __need_NULL