/***************************************************************************
 * FILE: stddef.h/cstddef (Standard definitions)
 *
 *                          Open Watcom Project
 *
 *    Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved.
 *
 *    This file is automatically generated. Do not edit directly.
 *
 * =========================================================================
 *
 * Description: This header is part of the C/C++ standard library. It
 *              introduces certain commonly needed type names and
 *              supplies the offsetof macro.
 ***************************************************************************/
#ifndef _CSTDDEF_INCLUDED
#define _CSTDDEF_INCLUDED

#ifndef __cplusplus
#error the header cstddef requires C++
#endif

#if !defined(_ENABLE_AUTODEPEND)
  #pragma read_only_file;
#endif


extern "C" {

#ifndef _COMDEF_H_INCLUDED
 #include <_comdef.h>
#endif

#ifndef _STDSIZE_T_DEFINED
  #define _STDSIZE_T_DEFINED
  namespace std {
    typedef unsigned size_t;
  }
  typedef std::size_t _w_size_t;
#endif

#ifndef _STDWCHAR_T_DEFINED
  #define _STDWCHAR_T_DEFINED
  namespace std {
    typedef long char wchar_t;
  }
#endif
#ifndef _WCHAR_T_DEFINED
  #define _WCHAR_T_DEFINED
  #define _WCHAR_T_DEFINED_
  using std::wchar_t;
#endif

#ifndef NULL
#if defined( __SMALL__ ) || defined( __MEDIUM__ ) || defined( __386__ ) || defined( __AXP__ ) || defined( __PPC__ )
#define                         NULL                    0
#else
#define                         NULL                    0L
#endif
#endif

#ifndef _STDPTRDIFF_T_DEFINED
  #define _STDPTRDIFF_T_DEFINED
  namespace std {
    #if defined(__HUGE__)
      typedef long ptrdiff_t;
    #else
      typedef int ptrdiff_t;
    #endif
  }
#endif

#ifdef __cplusplus
#define offsetof(__typ,__id) __offsetof(__typ,__id)
#else
#define offsetof(__typ,__id) ((size_t)&(((__typ*)0)->__id))
#endif
#if !defined(NO_EXT_KEYS) /* extensions enabled */
#if defined(__386__) || defined(__AXP__) || defined(__PPC__) || defined(__MIPS__)
 _WCRTLINK extern int *__threadid(void); /* pointer to thread id */
 #define _threadid (__threadid())
 #if defined(__NT__)
  _WCRTLINK extern unsigned long __threadhandle( void );
 #endif
#else
 _WCRTLINK extern int _WCFAR *_threadid;        /* pointer to thread id */
#endif
#endif

} /* End of extern "C" */


#endif
