2 /* : : generated by proto : : */
3 /***********************************************************************
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 *
11 * A copy of the License is available at *
12 * http://www.opensource.org/licenses/cpl1.0.txt *
13 * (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) *
15 * Information and Software Systems Research *
19 * Glenn Fowler <gsf@research.att.com> *
20 * David Korn <dgk@research.att.com> *
21 * Phong Vo <kpv@research.att.com> *
23 ***********************************************************************/
26 * Advanced Software Technology Library
29 * a union of standard headers that works
30 * with local extensions enabled
31 * and local omission compensation
35 #if !defined(__PROTO__)
36 #include <prototyped.h>
38 #if !defined(__LINKAGE__)
39 #define __LINKAGE__ /* 2004-08-11 transition */
45 #include <ast_common.h>
51 #define _BLD_vmalloc 1
56 #define _SKIP_SFSTDIO_H
63 #define FILE struct _sfio_s
64 #ifndef __FILE_typedef
65 #define __FILE_typedef 1
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
96 char* int_curr_symbol
;
97 char* currency_symbol
;
98 char* mon_decimal_point
;
99 char* mon_thousands_sep
;
103 char int_frac_digits
;
115 #if _BLD_ast && defined(__EXPORT__)
117 #define __MANGLE__ __LINKAGE__ __EXPORT__
120 #if !_UWIN /* for ast54 compatibility */
123 #define getenv _ast_getenv
126 #define setenviron _ast_setenviron
128 extern __MANGLE__
char* getenv
__PROTO__((const char*));
133 #define localeconv _ast_localeconv
136 #define setlocale _ast_setlocale
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
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)
177 #define LC_ALL (-AST_LC_ALL)
180 #define LC_COLLATE (-AST_LC_COLLATE)
183 #define LC_CTYPE (-AST_LC_CTYPE)
186 #define LC_MESSAGES (-AST_LC_MESSAGES)
189 #define LC_MONETARY (-AST_LC_MONETARY)
192 #define LC_NUMERIC (-AST_LC_NUMERIC)
195 #define LC_TIME (-AST_LC_TIME)
198 #define LC_ADDRESS (-AST_LC_ADDRESS)
200 #ifndef LC_IDENTIFICATION
201 #define LC_IDENTIFICATION (-AST_LC_IDENTIFICATION)
204 #define LC_NAME (-AST_LC_NAME)
207 #define LC_TELEPHONE (-AST_LC_TELEPHONE)
210 #define LC_XLITERATE (-AST_LC_XLITERATE)
212 #ifndef LC_MEASUREMENT
213 #define LC_MEASUREMENT (-AST_LC_MEASUREMENT)
216 #define LC_PAPER (-AST_LC_PAPER)
219 #define LC_LANG (-AST_LC_LANG)
223 #define __MANGLE__ __LINKAGE__
227 #define strcoll _ast_info.collate
229 #define strcoll strcmp
249 int (*collate
) __PROTO__((const char*, const char*));
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));
269 #if _BLD_ast && defined(__EXPORT__)
271 #define __MANGLE__ __LINKAGE__ __EXPORT__
273 #if !_BLD_ast && defined(__IMPORT__)
275 #define __MANGLE__ __LINKAGE__ __IMPORT__
278 extern __MANGLE__ _Ast_info_t _ast_info
;
281 #define __MANGLE__ __LINKAGE__
283 /* largefile hackery -- ast uses the large versions by default */
287 #define off_t off64_t
289 #if !defined(ftruncate) && _lib_ftruncate64
290 #define ftruncate ftruncate64
291 extern __MANGLE__
int ftruncate64
__PROTO__((int, off64_t
));
293 #if !defined(lseek) && _lib_lseek64
294 #define lseek lseek64
295 extern __MANGLE__ off64_t lseek64
__PROTO__((int, off64_t
, int));
297 #if !defined(truncate) && _lib_truncate64
298 #define truncate truncate64
299 extern __MANGLE__
int truncate64
__PROTO__((const char*, off64_t
));
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))
310 #if !defined(memzero) && !defined(_lib_memzero)
311 #if defined(_lib_memset) || !defined(_lib_bzero)
312 #define memzero(b,n) memset(b,0,n)
314 #define memzero(b,n) (bzero(b,n),(b))
321 extern __MANGLE__
int remove
__PROTO__((const char*));
325 extern __MANGLE__
int rename
__PROTO__((const char*, const char*));
328 #if !defined(strchr) && !defined(_lib_strchr) && defined(_lib_index)
329 #define strchr(s,c) index(s,c)
332 #if !defined(strrchr) && !defined(_lib_strrchr) && defined(_lib_rindex)
333 #define strrchr(s,c) rindex(s,c)
336 /* and now introducing prototypes botched by the standard(s) */
338 #if _BLD_ast && defined(__EXPORT__)
340 #define __MANGLE__ __LINKAGE__ __EXPORT__
344 #define getpgrp() _ast_getpgrp()
345 extern __MANGLE__
int _ast_getpgrp
__PROTO__((void));
348 #define __MANGLE__ __LINKAGE__
351 * and finally, standard interfaces hijacked by ast
352 * _AST_STD_I delays headers that require <ast_map.h>
359 #if _AST_GETOPT_H < 0
361 #include <ast_getopt.h>