stddef.h (2351B)
1/*------------------------------------------------------------------------- 2 stddef.h - ANSI functions forward declarations 3 4 Copyright (C) 2004, Maarten Brock / sourceforge.brock@dse.nl 5 Copyright (C) 2011, Philipp Klaus Krause / pkk@spth.de 6 7 This library is free software; you can redistribute it and/or modify it 8 under the terms of the GNU General Public License as published by the 9 Free Software Foundation; either version 2, or (at your option) any 10 later version. 11 12 This library is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with this library; see the file COPYING. If not, write to the 19 Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, 20 MA 02110-1301, USA. 21 22 As a special exception, if you link this library with other files, 23 some of which are compiled with SDCC, to produce an executable, 24 this library does not by itself cause the resulting executable to 25 be covered by the GNU General Public License. This exception does 26 not however invalidate any other reasons why the executable file 27 might be covered by the GNU General Public License. 28-------------------------------------------------------------------------*/ 29 30#ifndef __SDCC_STDDEF_H 31#define __SDCC_STDDEF_H 1 32 33#ifndef NULL 34 #define NULL (void *)0 35#endif 36 37#ifndef __PTRDIFF_T_DEFINED 38#define __PTRDIFF_T_DEFINED 39#if defined (__SDCC_mcs51) || defined (__SDCC_ds390) 40 typedef long int ptrdiff_t; 41#else 42 typedef int ptrdiff_t; 43#endif 44#endif 45 46#ifndef __SIZE_T_DEFINED 47#define __SIZE_T_DEFINED 48 typedef unsigned int size_t; 49#endif 50 51#if __STDC_VERSION__ >= 201112L 52 typedef unsigned char max_align_t; 53#endif 54 55#ifndef __WCHAR_T_DEFINED 56#define __WCHAR_T_DEFINED 57 typedef unsigned long int wchar_t; 58#endif 59 60/* Bounds-checking interfaces from annex K of the C11 standard. */ 61#if defined (__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ 62 63#ifndef __RSIZE_T_DEFINED 64#define __RSIZE_T_DEFINED 65typedef size_t rsize_t; 66#endif 67 68#ifndef __ERRNO_T_DEFINED 69#define __ERRNO_T_DEFINED 70typedef int errno_t; 71#endif 72 73#endif 74 75#define offsetof(s, m) __builtin_offsetof (s, m) 76 77#endif 78