#ifndef _MSL_CSTDDEF
#define _MSL_CSTDDEF

#include <ansi_params.h>

#if !_MSL_USING_MW_C_HEADERS
    #include <stddef.h>

    #if _MSL_PUT_THIRD_PARTY_C_IN_STD
        #include <msl_cpp_std_stddef.h>
    #endif
#else

#ifndef RC_INVOKED

#include <null.h>
#include <size_t.h>
#include <wchar_t.h>

#ifndef _MSL_OFFSETOF
    #define _MSL_OFFSETOF(type, member) ((__std(size_t)) & (((type *)0)->member))
#endif

#ifndef offsetof
    #define offsetof(type, member) _MSL_OFFSETOF(type, member)
#endif

_MSL_BEGIN_NAMESPACE_STD
    _MSL_BEGIN_EXTERN_C

    #ifndef _MSL_PTRDIFF_T_TYPE
        #define _MSL_PTRDIFF_T_TYPE __typeof__((char *)0 - (char *)0)
    #endif

typedef _MSL_PTRDIFF_T_TYPE ptrdiff_t;

_MSL_END_EXTERN_C
    _MSL_END_NAMESPACE_STD

#endif

#endif

#endif
