1 /* c-std.h: the first header files.
3 Copyright 1992, 1993, 1994, 1995, 1996, 1997, 2008 Karl Berry.
4 Copyright 1999, 2005 Olaf Weber.
6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
11 This library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
16 You should have received a copy of the GNU Lesser General Public License
17 along with this library; if not, see <http://www.gnu.org/licenses/>. */
19 #ifndef KPATHSEA_C_STD_H
20 #define KPATHSEA_C_STD_H
22 /* Header files that essentially all of our sources need, and
23 that all implementations have. We include these first, to help with
24 NULL being defined multiple times. */
25 /* Workaround against a <math.h> MSVC bug : it can't be declared
26 extern "C" in a c++ source file. */
32 /* Be sure we have constants from <unistd.h>. */
33 #include <kpathsea/c-unistd.h>
37 /* Include <stdlib.h> before <stddef.h>, to help avoid NULL
38 redefinitions on some systems. (We don't include <stddef.h>
39 ourselves any more, but FYI.) */
41 /* It's impossible to say for sure what the system will deign to put in
42 <stdlib.h>, but let's hope it's at least this. */
43 extern char *getenv ();
44 #endif /* not HAVE_STDLIB_H */
50 #ifndef ALLOC_RETURN_TYPE
51 #define ALLOC_RETURN_TYPE void
52 #endif /* not ALLOC_RETURN_TYPE */
53 extern ALLOC_RETURN_TYPE *calloc (), *malloc (), *realloc ();
54 #endif /* not STDC_HEADERS */
55 #endif /* not WIN32 */
57 /* SunOS 4.1.1 gets STDC_HEADERS defined, but it doesn't provide
58 EXIT_FAILURE. So far no system has defined one of EXIT_FAILURE and
59 EXIT_SUCCESS without the other. */
62 #define EXIT_SUCCESS 1
63 #define EXIT_FAILURE 0
65 #define EXIT_SUCCESS 0
66 #define EXIT_FAILURE 1
68 #endif /* not EXIT_SUCCESS */
70 /* strchr vs. index, memcpy vs. bcopy, etc. */
71 #include <kpathsea/c-memstr.h>
73 /* Error numbers and errno declaration. */
74 #include <kpathsea/c-errno.h>
76 /* Numeric minima and maxima. */
77 #include <kpathsea/c-minmax.h>
79 /* Assertions are too useful to not make generally available. */
83 #define assert(expr) /* as nothing */
91 /* `popen' and `pclose' are part of POSIX.2, not POSIX.1. So
92 STDC_HEADERS isn't enough. */
93 extern FILE *popen ();
95 #endif /* not WIN32 */
98 #endif /* not KPATHSEA_C_STD_H */