/* IBM_PROLOG_BEGIN_TAG                                                   */
/* This is an automatically generated prolog.                             */
/*                                                                        */
/* bos72F src/bos/usr/include/stddef.h 1.12.2.1                           */
/*                                                                        */
/* Licensed Materials - Property of IBM                                   */
/*                                                                        */
/* COPYRIGHT International Business Machines Corp. 1985,2016              */
/* All Rights Reserved                                                    */
/*                                                                        */
/* US Government Users Restricted Rights - Use, duplication or            */
/* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.      */
/*                                                                        */
/* IBM_PROLOG_END_TAG                                                     */
/* @(#)66  1.12.2.1  src/bos/usr/include/stddef.h, incstd, bos72F, f2017_08B1 10/18/16 02:02:11 */

/*
 * COMPONENT_NAME: (INCSTD) Standard Include Files
 *
 * ORIGINS: 27
 *
 */

#ifndef _H_STDDEF 
#define _H_STDDEF 

#ifndef _H_STANDARDS
#include <standards.h>
#endif


#ifdef __cplusplus
extern "C" {
#endif


/*
 *
 *      The ANSI standard requires that certain values be in stddef.h.
 *      It also requires that if _ANSI_C_SOURCE is defined then ONLY these
 *      values are present. This header includes all the ANSI required entries.
 *
 */

#ifdef _ANSI_C_SOURCE

/*
 *	The following definitions are included in <sys/types.h>.  They
 *	are included in <stddef.h> to comply with ANSI.
 */

#ifndef _PTRDIFF_T
#define _PTRDIFF_T
typedef	long		ptrdiff_t;
#endif

#ifndef _SIZE_T
#define _SIZE_T
typedef	unsigned long	size_t;
#endif

#ifndef _WCHAR_T
#define _WCHAR_T
#ifdef __64BIT__
typedef unsigned int	wchar_t;
#else
typedef unsigned short	wchar_t;
#endif
#endif

#ifndef NULL
#define	NULL	0
#endif

#ifndef offsetof
#ifdef __IBMCPP__
#define offsetof __offsetof
#else
#define offsetof(__s_name, __s_member) (size_t)&(((__s_name *)0)->__s_member)
#endif
#endif


/* max_align_t is an object type of the maximum alignment supported on the system */
#if (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)) || defined(_ALL_SOURCE)
#ifndef _MAX_ALIGN_T
#define _MAX_ALIGN_T
typedef long double max_align_t;
#endif
#endif

#endif /* _ANSI_C_SOURCE */

#ifdef __cplusplus
}
#endif

#endif /* _H_STDDEF */