Thu Jan 18 00:32:43 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
[kopensolaris-gnu/glibc.git] / time / private.h
1 #ifndef PRIVATE_H
2
3 #define PRIVATE_H
4
5 /*
6 ** This header is for use ONLY with the time conversion code.
7 ** There is no guarantee that it will remain unchanged,
8 ** or that it will remain at all.
9 ** Do NOT copy it to any system include directory.
10 ** Thank you!
11 */
12
13 /*
14 ** ID
15 */
16
17 #ifndef lint
18 #ifndef NOID
19 static char     privatehid[] = "@(#)private.h   7.33";
20 #endif /* !defined NOID */
21 #endif /* !defined lint */
22
23 /*
24 ** Defaults for preprocessor symbols.
25 ** You can override these in your C compiler options, e.g. `-DHAVE_ADJTIME=0'.
26 */
27
28 #ifndef HAVE_ADJTIME
29 #define HAVE_ADJTIME            1
30 #endif /* !defined HAVE_ADJTIME */
31
32 #ifndef HAVE_SETTIMEOFDAY
33 #define HAVE_SETTIMEOFDAY       3
34 #endif /* !defined HAVE_SETTIMEOFDAY */
35
36 #ifndef HAVE_UNISTD_H
37 #define HAVE_UNISTD_H           1
38 #endif /* !defined HAVE_UNISTD_H */
39
40 #ifndef LOCALE_HOME
41 #define LOCALE_HOME             "/usr/lib/locale"
42 #endif /* !defined LOCALE_HOME */
43
44 /*
45 ** Nested includes
46 */
47
48 #include "sys/types.h"  /* for time_t */
49 #include "stdio.h"
50 #include "ctype.h"
51 #include "errno.h"
52 #include "string.h"
53 #include "limits.h"     /* for CHAR_BIT */
54 #include "time.h"
55 #include "stdlib.h"
56
57 #if HAVE_UNISTD_H - 0
58 #include "unistd.h"     /* for F_OK and R_OK */
59 #endif /* HAVE_UNISTD_H - 0 */
60
61 #if !(HAVE_UNISTD_H - 0)
62 #ifndef F_OK
63 #define F_OK    0
64 #endif /* !defined F_OK */
65 #ifndef R_OK
66 #define R_OK    4
67 #endif /* !defined R_OK */
68 #endif /* !(HAVE_UNISTD_H - 0) */
69
70 /*
71 ** Workarounds for compilers/systems.
72 */
73
74 /*
75 ** SunOS 4.1.1 cc lacks const.
76 */
77
78 #ifndef const
79 #ifndef __STDC__
80 #define const
81 #endif /* !defined __STDC__ */
82 #endif /* !defined const */
83
84 /*
85 ** SunOS 4.1.1 cc lacks prototypes.
86 */
87
88 #ifndef P
89 #ifdef __STDC__
90 #define P(x)    x
91 #endif /* defined __STDC__ */
92 #ifndef __STDC__
93 #define P(x)    ()
94 #endif /* !defined __STDC__ */
95 #endif /* !defined P */
96
97 /*
98 ** SunOS 4.1.1 headers lack EXIT_SUCCESS.
99 */
100
101 #ifndef EXIT_SUCCESS
102 #define EXIT_SUCCESS    0
103 #endif /* !defined EXIT_SUCCESS */
104
105 /*
106 ** SunOS 4.1.1 headers lack EXIT_FAILURE.
107 */
108
109 #ifndef EXIT_FAILURE
110 #define EXIT_FAILURE    1
111 #endif /* !defined EXIT_FAILURE */
112
113 /*
114 ** SunOS 4.1.1 headers lack FILENAME_MAX.
115 */
116
117 #ifndef FILENAME_MAX
118
119 #ifndef MAXPATHLEN
120 #ifdef unix
121 #include "sys/param.h"
122 #endif /* defined unix */
123 #endif /* !defined MAXPATHLEN */
124
125 #ifdef MAXPATHLEN
126 #define FILENAME_MAX    MAXPATHLEN
127 #endif /* defined MAXPATHLEN */
128 #ifndef MAXPATHLEN
129 #define FILENAME_MAX    1024            /* Pure guesswork */
130 #endif /* !defined MAXPATHLEN */
131
132 #endif /* !defined FILENAME_MAX */
133
134 /*
135 ** SunOS 4.1.1 libraries lack remove.
136 */
137
138 #ifndef remove
139 extern int      unlink P((const char * filename));
140 #define remove  unlink
141 #endif /* !defined remove */
142
143 /*
144 ** Finally, some convenience items.
145 */
146
147 #ifndef TRUE
148 #define TRUE    1
149 #endif /* !defined TRUE */
150
151 #ifndef FALSE
152 #define FALSE   0
153 #endif /* !defined FALSE */
154
155 #ifndef INT_STRLEN_MAXIMUM
156 /*
157 ** 302 / 1000 is log10(2.0) rounded up.
158 ** Subtract one for the sign bit;
159 ** add one for integer division truncation;
160 ** add one more for a minus sign.
161 */
162 #define INT_STRLEN_MAXIMUM(type) \
163         ((sizeof(type) * CHAR_BIT - 1) * 302 / 1000 + 2)
164 #endif /* !defined INT_STRLEN_MAXIMUM */
165
166 /*
167 ** INITIALIZE(x)
168 */
169
170 #ifndef GNUC_or_lint
171 #ifdef lint
172 #define GNUC_or_lint
173 #endif /* defined lint */
174 #ifndef lint
175 #ifdef __GNUC__
176 #define GNUC_or_lint
177 #endif /* defined __GNUC__ */
178 #endif /* !defined lint */
179 #endif /* !defined GNUC_or_lint */
180
181 #ifndef INITIALIZE
182 #ifdef GNUC_or_lint
183 #define INITIALIZE(x)   ((x) = 0)
184 #endif /* defined GNUC_or_lint */
185 #ifndef GNUC_or_lint
186 #define INITIALIZE(x)
187 #endif /* !defined GNUC_or_lint */
188 #endif /* !defined INITIALIZE */
189
190 /*
191 ** UNIX was a registered trademark of UNIX System Laboratories in 1993.
192 */
193
194 #endif /* !defined PRIVATE_H */