ReactOS  0.4.14-dev-98-gb0d4763
standard.h
Go to the documentation of this file.
1 /* @(#)standard.h 1.40 13/05/01 Copyright 1985-2013 J. Schilling */
2 /*
3  * standard definitions
4  *
5  * This file should be included past:
6  *
7  * mconfig.h / config.h
8  * stdio.h
9  * stdlib.h (better use schily/stdlib.h)
10  * unistd.h (better use schily/unistd.h) needed f. LARGEFILE support
11  *
12  * If you need stdio.h, you must include it before standard.h
13  *
14  * Copyright (c) 1985-2013 J. Schilling
15  */
16 /*
17  * The contents of this file are subject to the terms of the
18  * Common Development and Distribution License, Version 1.0 only
19  * (the "License"). You may not use this file except in compliance
20  * with the License.
21  *
22  * See the file CDDL.Schily.txt in this distribution for details.
23  *
24  * When distributing Covered Code, include this CDDL HEADER in each
25  * file and include the License file CDDL.Schily.txt from this distribution.
26  */
27 
28 #ifndef _SCHILY_STANDARD_H
29 #define _SCHILY_STANDARD_H
30 
31 #ifndef _SCHILY_MCONFIG_H
32 #include <schily/mconfig.h>
33 #endif
34 
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38 
39 #ifdef M68000
40 # ifndef tos
41 # define JOS 1
42 # endif
43 #endif
44 
45 /*
46  * fundamental constants
47  */
48 #ifndef NULL
49 # define NULL 0
50 #endif
51 #ifndef TRUE
52 # define TRUE 1
53 # define FALSE 0
54 #endif
55 
56 /*
57  * Program exit codes used with comerr(), comexit() and similar.
58  *
59  * Exit codes between -2 and -63 are currently available to flag
60  * program specific error conditions.
61  */
62 #define EX_BAD (-1) /* Default error exit code */
63 #define EX_CLASH (-64) /* Exit code used with exit clashes */
64 
65 /*
66  * standard storage class definitions
67  */
68 #define GLOBAL extern
69 #define IMPORT extern
70 #define EXPORT
71 #define INTERN static
72 #define LOCAL static
73 #define FAST register
74 
75 #ifndef PROTOTYPES
76 # ifndef const
77 # define const
78 # endif
79 # ifndef signed
80 # define signed
81 # endif
82 # ifndef volatile
83 # define volatile
84 # endif
85 #endif /* PROTOTYPES */
86 
87 /*
88  * standard type definitions
89  *
90  * The hidden Schily BOOL definition is used in case we need to deal
91  * with other BOOL defines on systems we like to port to.
92  */
93 typedef int __SBOOL;
94 typedef int BOOL;
95 #ifdef JOS
96 # ifndef __GNUC__
97 # define NO_VOID
98 # endif
99 #endif
100 #ifdef NO_VOID
101 # ifndef lint
102  typedef int void;
103 # endif
104 #endif
105 
106 #if defined(_INCL_SYS_TYPES_H) || defined(_INCL_TYPES_H) || defined(off_t)
107 # ifndef FOUND_OFF_T
108 # define FOUND_OFF_T
109 # endif
110 #endif
111 #if defined(_INCL_SYS_TYPES_H) || defined(_INCL_TYPES_H) || defined(size_t)
112 # ifndef FOUND_SIZE_T
113 # define FOUND_SIZE_T
114 # endif
115 #endif
116 #if defined(_MSC_VER) && !defined(_SIZE_T_DEFINED)
117 # undef FOUND_SIZE_T
118 #endif
119 
120 #ifdef __never_def__
121 /*
122  * It turns out that we cannot use the folloginw definition because there are
123  * some platforms that do not behave application friendly. These are mainly
124  * BSD-4.4 based systems (which #undef a definition when size_t is available.
125  * We actually removed this code because of a problem with QNX Neutrino.
126  * For this reason, it is important not to include <sys/types.h> directly but
127  * via the Schily SING include files so we know whether it has been included
128  * before we come here.
129  */
130 #if defined(_SIZE_T) || defined(_T_SIZE_) || defined(_T_SIZE) || \
131  defined(__SIZE_T) || defined(_SIZE_T_) || \
132  defined(_GCC_SIZE_T) || defined(_SIZET_) || \
133  defined(__sys_stdtypes_h) || defined(___int_size_t_h) || defined(size_t)
134 
135 #ifndef FOUND_SIZE_T
136 # define FOUND_SIZE_T /* We already included a size_t definition */
137 #endif
138 #endif
139 #endif /* __never_def__ */
140 
141 #ifdef __cplusplus
142 }
143 #endif
144 
145 #if defined(_JOS) || defined(JOS)
146 # ifndef _SCHILY_SCHILY_H
147 # include <schily/schily.h>
148 # endif
149 
150 # ifndef _SCHILY_JOS_DEFS_H
151 # include <schily/jos_defs.h>
152 # endif
153 
154 # ifndef _SCHILY_JOS_IO_H
155 # include <schily/jos_io.h>
156 # endif
157 #endif
158 
159 #endif /* _SCHILY_STANDARD_H */
int __SBOOL
Definition: standard.h:93
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:49
int BOOL
Definition: standard.h:94