dmake: do not set MAKEFLAGS=k
[unleashed/tickless.git] / usr / src / lib / libast / i386 / include / ast / ast_std.h
blobf98d1861b9baa6b6863ed8b8015a98710a1fb71a
2 /* : : generated by proto : : */
3 /***********************************************************************
4 * *
5 * This software is part of the ast package *
6 * Copyright (c) 1985-2010 AT&T Intellectual Property *
7 * and is licensed under the *
8 * Common Public License, Version 1.0 *
9 * by AT&T Intellectual Property *
10 * *
11 * A copy of the License is available at *
12 * http://www.opensource.org/licenses/cpl1.0.txt *
13 * (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) *
14 * *
15 * Information and Software Systems Research *
16 * AT&T Research *
17 * Florham Park NJ *
18 * *
19 * Glenn Fowler <gsf@research.att.com> *
20 * David Korn <dgk@research.att.com> *
21 * Phong Vo <kpv@research.att.com> *
22 * *
23 ***********************************************************************/
26 * Advanced Software Technology Library
27 * AT&T Research
29 * a union of standard headers that works
30 * with local extensions enabled
31 * and local omission compensation
34 #ifndef _AST_STD_H
35 #if !defined(__PROTO__)
36 #include <prototyped.h>
37 #endif
38 #if !defined(__LINKAGE__)
39 #define __LINKAGE__ /* 2004-08-11 transition */
40 #endif
42 #define _AST_STD_H 1
43 #define _AST_STD_I 1
45 #include <ast_common.h>
47 #if _BLD_ast
48 #define _BLD_cdt 1
49 #define _BLD_sfio 1
50 #if !_UWIN
51 #define _BLD_vmalloc 1
52 #endif
53 #endif
55 #ifdef _SFSTDIO_H
56 #define _SKIP_SFSTDIO_H
57 #else
58 #define _SFSTDIO_H
59 #ifndef FILE
60 #ifndef _SFIO_H
61 struct _sfio_s;
62 #endif
63 #define FILE struct _sfio_s
64 #ifndef __FILE_typedef
65 #define __FILE_typedef 1
66 #endif
67 #ifndef _FILEDEFED
68 #define _FILEDEFED 1
69 #endif
70 #endif
71 #endif
73 #include <ast_lib.h>
74 #include <ast_sys.h>
75 #include <ast_getopt.h> /* <stdlib.h> does this */
76 #include <ast_fcntl.h>
77 #include <ast_limits.h>
78 #include <ast_botch.h>
80 #ifdef _SKIP_SFSTDIO_H
81 #undef _SKIP_SFSTDIO_H
82 #else
83 #undef _SFSTDIO_H
84 #undef FILE
85 #endif
87 /* locale stuff */
89 #if !_hdr_locale
91 struct lconv
93 char* decimal_point;
94 char* thousands_sep;
95 char* grouping;
96 char* int_curr_symbol;
97 char* currency_symbol;
98 char* mon_decimal_point;
99 char* mon_thousands_sep;
100 char* mon_grouping;
101 char* positive_sign;
102 char* negative_sign;
103 char int_frac_digits;
104 char frac_digits;
105 char p_cs_precedes;
106 char p_sep_by_space;
107 char n_cs_precedes;
108 char n_sep_by_space;
109 char p_sign_posn;
110 char n_sign_posn;
113 #endif
115 #if _BLD_ast && defined(__EXPORT__)
116 #undef __MANGLE__
117 #define __MANGLE__ __LINKAGE__ __EXPORT__
118 #endif
120 #if !_UWIN /* for ast54 compatibility */
122 #undef getenv
123 #define getenv _ast_getenv
125 #undef setenviron
126 #define setenviron _ast_setenviron
128 extern __MANGLE__ char* getenv __PROTO__((const char*));
130 #endif
132 #undef localeconv
133 #define localeconv _ast_localeconv
135 #undef setlocale
136 #define setlocale _ast_setlocale
138 #undef strerror
139 #define strerror _ast_strerror
141 extern __MANGLE__ struct lconv* localeconv __PROTO__((void));
142 extern __MANGLE__ char* setenviron __PROTO__((const char*));
143 extern __MANGLE__ char* setlocale __PROTO__((int, const char*));
144 extern __MANGLE__ char* strerror __PROTO__((int));
146 #define AST_MESSAGE_SET 3 /* see <mc.h> mcindex() */
149 * maintain this order when adding categories
152 #define AST_LC_ALL 0
153 #define AST_LC_COLLATE 1
154 #define AST_LC_CTYPE 2
155 #define AST_LC_MESSAGES 3
156 #define AST_LC_MONETARY 4
157 #define AST_LC_NUMERIC 5
158 #define AST_LC_TIME 6
159 #define AST_LC_IDENTIFICATION 7
160 #define AST_LC_ADDRESS 8
161 #define AST_LC_NAME 9
162 #define AST_LC_TELEPHONE 10
163 #define AST_LC_XLITERATE 11
164 #define AST_LC_MEASUREMENT 12
165 #define AST_LC_PAPER 13
166 #define AST_LC_COUNT 14
167 #define AST_LC_LANG 255
169 #define AST_LC_internal 1
170 #define AST_LC_setenv (1L<<27)
171 #define AST_LC_find (1L<<28)
172 #define AST_LC_debug (1L<<29)
173 #define AST_LC_setlocale (1L<<30)
174 #define AST_LC_translate (1L<<31)
176 #ifndef LC_ALL
177 #define LC_ALL (-AST_LC_ALL)
178 #endif
179 #ifndef LC_COLLATE
180 #define LC_COLLATE (-AST_LC_COLLATE)
181 #endif
182 #ifndef LC_CTYPE
183 #define LC_CTYPE (-AST_LC_CTYPE)
184 #endif
185 #ifndef LC_MESSAGES
186 #define LC_MESSAGES (-AST_LC_MESSAGES)
187 #endif
188 #ifndef LC_MONETARY
189 #define LC_MONETARY (-AST_LC_MONETARY)
190 #endif
191 #ifndef LC_NUMERIC
192 #define LC_NUMERIC (-AST_LC_NUMERIC)
193 #endif
194 #ifndef LC_TIME
195 #define LC_TIME (-AST_LC_TIME)
196 #endif
197 #ifndef LC_ADDRESS
198 #define LC_ADDRESS (-AST_LC_ADDRESS)
199 #endif
200 #ifndef LC_IDENTIFICATION
201 #define LC_IDENTIFICATION (-AST_LC_IDENTIFICATION)
202 #endif
203 #ifndef LC_NAME
204 #define LC_NAME (-AST_LC_NAME)
205 #endif
206 #ifndef LC_TELEPHONE
207 #define LC_TELEPHONE (-AST_LC_TELEPHONE)
208 #endif
209 #ifndef LC_XLITERATE
210 #define LC_XLITERATE (-AST_LC_XLITERATE)
211 #endif
212 #ifndef LC_MEASUREMENT
213 #define LC_MEASUREMENT (-AST_LC_MEASUREMENT)
214 #endif
215 #ifndef LC_PAPER
216 #define LC_PAPER (-AST_LC_PAPER)
217 #endif
218 #ifndef LC_LANG
219 #define LC_LANG (-AST_LC_LANG)
220 #endif
222 #undef __MANGLE__
223 #define __MANGLE__ __LINKAGE__
225 #undef strcoll
226 #if _std_strcoll
227 #define strcoll _ast_info.collate
228 #else
229 #define strcoll strcmp
230 #endif
232 typedef struct
235 char* id;
237 struct
239 uint32_t serial;
240 uint32_t set;
241 } locale;
243 long tmp_long;
244 size_t tmp_size;
245 short tmp_short;
246 char tmp_char;
247 wchar_t tmp_wchar;
249 int (*collate) __PROTO__((const char*, const char*));
251 int tmp_int;
252 __V_* tmp_pointer;
254 int mb_cur_max;
255 int (*mb_len) __PROTO__((const char*, size_t));
256 int (*mb_towc) __PROTO__((wchar_t*, const char*, size_t));
257 size_t (*mb_xfrm) __PROTO__((char*, const char*, size_t));
258 int (*mb_width) __PROTO__((wchar_t));
259 int (*mb_conv) __PROTO__((char*, wchar_t));
261 uint32_t env_serial;
262 uint32_t mb_sync;
263 uint32_t version;
265 char pad[936];
267 } _Ast_info_t;
269 #if _BLD_ast && defined(__EXPORT__)
270 #undef __MANGLE__
271 #define __MANGLE__ __LINKAGE__ __EXPORT__
272 #endif
273 #if !_BLD_ast && defined(__IMPORT__)
274 #undef __MANGLE__
275 #define __MANGLE__ __LINKAGE__ __IMPORT__
276 #endif
278 extern __MANGLE__ _Ast_info_t _ast_info;
280 #undef __MANGLE__
281 #define __MANGLE__ __LINKAGE__
283 /* largefile hackery -- ast uses the large versions by default */
285 #if _typ_off64_t
286 #undef off_t
287 #define off_t off64_t
288 #endif
289 #if !defined(ftruncate) && _lib_ftruncate64
290 #define ftruncate ftruncate64
291 extern __MANGLE__ int ftruncate64 __PROTO__((int, off64_t));
292 #endif
293 #if !defined(lseek) && _lib_lseek64
294 #define lseek lseek64
295 extern __MANGLE__ off64_t lseek64 __PROTO__((int, off64_t, int));
296 #endif
297 #if !defined(truncate) && _lib_truncate64
298 #define truncate truncate64
299 extern __MANGLE__ int truncate64 __PROTO__((const char*, off64_t));
300 #endif
302 /* direct macro access for bsd crossover */
304 #if !defined(__cplusplus)
306 #if !defined(memcpy) && !defined(_lib_memcpy) && defined(_lib_bcopy)
307 #define memcpy(t,f,n) (bcopy(f,t,n),(t))
308 #endif
310 #if !defined(memzero) && !defined(_lib_memzero)
311 #if defined(_lib_memset) || !defined(_lib_bzero)
312 #define memzero(b,n) memset(b,0,n)
313 #else
314 #define memzero(b,n) (bzero(b,n),(b))
315 #endif
316 #endif
318 #endif
320 #if !defined(remove)
321 extern __MANGLE__ int remove __PROTO__((const char*));
322 #endif
324 #if !defined(rename)
325 extern __MANGLE__ int rename __PROTO__((const char*, const char*));
326 #endif
328 #if !defined(strchr) && !defined(_lib_strchr) && defined(_lib_index)
329 #define strchr(s,c) index(s,c)
330 #endif
332 #if !defined(strrchr) && !defined(_lib_strrchr) && defined(_lib_rindex)
333 #define strrchr(s,c) rindex(s,c)
334 #endif
336 /* and now introducing prototypes botched by the standard(s) */
338 #if _BLD_ast && defined(__EXPORT__)
339 #undef __MANGLE__
340 #define __MANGLE__ __LINKAGE__ __EXPORT__
341 #endif
343 #undef getpgrp
344 #define getpgrp() _ast_getpgrp()
345 extern __MANGLE__ int _ast_getpgrp __PROTO__((void));
347 #undef __MANGLE__
348 #define __MANGLE__ __LINKAGE__
351 * and finally, standard interfaces hijacked by ast
352 * _AST_STD_I delays headers that require <ast_map.h>
355 #include <ast_map.h>
357 #undef _AST_STD_I
359 #if _AST_GETOPT_H < 0
360 #undef _AST_GETOPT_H
361 #include <ast_getopt.h>
362 #endif
364 #if _GETOPT_H < 0
365 #undef _GETOPT_H
366 #include <getopt.h>
367 #endif
369 #if _REGEX_H < 0
370 #undef _REGEX_H
371 #include <regex.h>
372 #endif
374 #endif