1N/A
1N/A/* : : generated by proto : : */
1N/A/***********************************************************************
1N/A* *
1N/A* This software is part of the ast package *
1N/A* Copyright (c) 1985-2011 AT&T Intellectual Property *
1N/A* and is licensed under the *
1N/A* Common Public License, Version 1.0 *
1N/A* by AT&T Intellectual Property *
1N/A* *
1N/A* A copy of the License is available at *
1N/A* http://www.opensource.org/licenses/cpl1.0.txt *
1N/A* (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) *
1N/A* *
1N/A* Information and Software Systems Research *
1N/A* AT&T Research *
1N/A* Florham Park NJ *
1N/A* *
1N/A* Glenn Fowler <gsf@research.att.com> *
1N/A* David Korn <dgk@research.att.com> *
1N/A* Phong Vo <kpv@research.att.com> *
1N/A* *
1N/A***********************************************************************/
1N/A
1N/A/*
1N/A * Advanced Software Technology Library
1N/A * AT&T Research
1N/A *
1N/A * a union of standard headers that works
1N/A * with local extensions enabled
1N/A * and local omission compensation
1N/A */
1N/A
1N/A#ifndef _AST_STD_H
1N/A#if !defined(__PROTO__)
1N/A#include <prototyped.h>
1N/A#endif
1N/A#if !defined(__LINKAGE__)
1N/A#define __LINKAGE__ /* 2004-08-11 transition */
1N/A#endif
1N/A
1N/A#define _AST_STD_H 1
1N/A#define _AST_STD_I 1
1N/A
1N/A#include <ast_common.h>
1N/A
1N/A#if _BLD_ast
1N/A#define _BLD_cdt 1
1N/A#define _BLD_sfio 1
1N/A#if !_UWIN
1N/A#define _BLD_vmalloc 1
1N/A#endif
1N/A#endif
1N/A
1N/A#ifdef _SFSTDIO_H
1N/A#define _SKIP_SFSTDIO_H
1N/A#else
1N/A#define _SFSTDIO_H
1N/A#ifndef FILE
1N/A#ifndef _SFIO_H
1N/Astruct _sfio_s;
1N/A#endif
1N/A#define FILE struct _sfio_s
1N/A#ifndef __FILE_typedef
1N/A#define __FILE_typedef 1
1N/A#endif
1N/A#ifndef _FILEDEFED
1N/A#define _FILEDEFED 1
1N/A#endif
1N/A#endif
1N/A#endif
1N/A
1N/A#include <ast_lib.h>
1N/A#include <ast_sys.h>
1N/A#include <ast_getopt.h> /* <stdlib.h> does this */
1N/A#include <ast_fcntl.h>
1N/A#include <ast_limits.h>
1N/A#include <ast_botch.h>
1N/A
1N/A#ifdef _SKIP_SFSTDIO_H
1N/A#undef _SKIP_SFSTDIO_H
1N/A#else
1N/A#undef _SFSTDIO_H
1N/A#undef FILE
1N/A#endif
1N/A
1N/A/* locale stuff */
1N/A
1N/A#if !_hdr_locale
1N/A
1N/Astruct lconv
1N/A{
1N/A char* decimal_point;
1N/A char* thousands_sep;
1N/A char* grouping;
1N/A char* int_curr_symbol;
1N/A char* currency_symbol;
1N/A char* mon_decimal_point;
1N/A char* mon_thousands_sep;
1N/A char* mon_grouping;
1N/A char* positive_sign;
1N/A char* negative_sign;
1N/A char int_frac_digits;
1N/A char frac_digits;
1N/A char p_cs_precedes;
1N/A char p_sep_by_space;
1N/A char n_cs_precedes;
1N/A char n_sep_by_space;
1N/A char p_sign_posn;
1N/A char n_sign_posn;
1N/A};
1N/A
1N/A#endif
1N/A
1N/A#if _BLD_ast && defined(__EXPORT__)
1N/A#undef __MANGLE__
1N/A#define __MANGLE__ __LINKAGE__ __EXPORT__
1N/A#endif
1N/A
1N/A#if !_UWIN /* for ast54 compatibility */
1N/A
1N/A#undef getenv
1N/A#define getenv _ast_getenv
1N/A
1N/A#undef setenviron
1N/A#define setenviron _ast_setenviron
1N/A
1N/Aextern __MANGLE__ char* getenv __PROTO__((const char*));
1N/A
1N/A#endif
1N/A
1N/A#undef localeconv
1N/A#define localeconv _ast_localeconv
1N/A
1N/A#undef setlocale
1N/A#define setlocale _ast_setlocale
1N/A
1N/A#undef strerror
1N/A#define strerror _ast_strerror
1N/A
1N/Aextern __MANGLE__ struct lconv* localeconv __PROTO__((void));
1N/Aextern __MANGLE__ char* setenviron __PROTO__((const char*));
1N/Aextern __MANGLE__ char* setlocale __PROTO__((int, const char*));
1N/Aextern __MANGLE__ char* strerror __PROTO__((int));
1N/A
1N/A#define AST_MESSAGE_SET 3 /* see <mc.h> mcindex() */
1N/A
1N/A/*
1N/A * maintain this order when adding categories
1N/A */
1N/A
1N/A#define AST_LC_ALL 0
1N/A#define AST_LC_COLLATE 1
1N/A#define AST_LC_CTYPE 2
1N/A#define AST_LC_MESSAGES 3
1N/A#define AST_LC_MONETARY 4
1N/A#define AST_LC_NUMERIC 5
1N/A#define AST_LC_TIME 6
1N/A#define AST_LC_IDENTIFICATION 7
1N/A#define AST_LC_ADDRESS 8
1N/A#define AST_LC_NAME 9
1N/A#define AST_LC_TELEPHONE 10
1N/A#define AST_LC_XLITERATE 11
1N/A#define AST_LC_MEASUREMENT 12
1N/A#define AST_LC_PAPER 13
1N/A#define AST_LC_COUNT 14
1N/A#define AST_LC_LANG 255
1N/A
1N/A#define AST_LC_internal 1
1N/A#define AST_LC_test (1L<<26)
1N/A#define AST_LC_setenv (1L<<27)
1N/A#define AST_LC_find (1L<<28)
1N/A#define AST_LC_debug (1L<<29)
1N/A#define AST_LC_setlocale (1L<<30)
1N/A#define AST_LC_translate (1L<<31)
1N/A
1N/A#ifndef LC_ALL
1N/A#define LC_ALL (-AST_LC_ALL)
1N/A#endif
1N/A#ifndef LC_COLLATE
1N/A#define LC_COLLATE (-AST_LC_COLLATE)
1N/A#endif
1N/A#ifndef LC_CTYPE
1N/A#define LC_CTYPE (-AST_LC_CTYPE)
1N/A#endif
1N/A#ifndef LC_MESSAGES
1N/A#define LC_MESSAGES (-AST_LC_MESSAGES)
1N/A#endif
1N/A#ifndef LC_MONETARY
1N/A#define LC_MONETARY (-AST_LC_MONETARY)
1N/A#endif
1N/A#ifndef LC_NUMERIC
1N/A#define LC_NUMERIC (-AST_LC_NUMERIC)
1N/A#endif
1N/A#ifndef LC_TIME
1N/A#define LC_TIME (-AST_LC_TIME)
1N/A#endif
1N/A#ifndef LC_ADDRESS
1N/A#define LC_ADDRESS (-AST_LC_ADDRESS)
1N/A#endif
1N/A#ifndef LC_IDENTIFICATION
1N/A#define LC_IDENTIFICATION (-AST_LC_IDENTIFICATION)
1N/A#endif
1N/A#ifndef LC_NAME
1N/A#define LC_NAME (-AST_LC_NAME)
1N/A#endif
1N/A#ifndef LC_TELEPHONE
1N/A#define LC_TELEPHONE (-AST_LC_TELEPHONE)
1N/A#endif
1N/A#ifndef LC_XLITERATE
1N/A#define LC_XLITERATE (-AST_LC_XLITERATE)
1N/A#endif
1N/A#ifndef LC_MEASUREMENT
1N/A#define LC_MEASUREMENT (-AST_LC_MEASUREMENT)
1N/A#endif
1N/A#ifndef LC_PAPER
1N/A#define LC_PAPER (-AST_LC_PAPER)
1N/A#endif
1N/A#ifndef LC_LANG
1N/A#define LC_LANG (-AST_LC_LANG)
1N/A#endif
1N/A
1N/A#undef __MANGLE__
1N/A#define __MANGLE__ __LINKAGE__
1N/A
1N/A#undef strcoll
1N/A#if _std_strcoll
1N/A#define strcoll _ast_info.collate
1N/A#else
1N/A#define strcoll strcmp
1N/A#endif
1N/A
1N/Atypedef struct
1N/A{
1N/A
1N/A char* id;
1N/A
1N/A struct
1N/A {
1N/A uint32_t serial;
1N/A uint32_t set;
1N/A } locale;
1N/A
1N/A long tmp_long;
1N/A size_t tmp_size;
1N/A short tmp_short;
1N/A char tmp_char;
1N/A wchar_t tmp_wchar;
1N/A
1N/A int (*collate) __PROTO__((const char*, const char*));
1N/A
1N/A int tmp_int;
1N/A __V_* tmp_pointer;
1N/A
1N/A int mb_cur_max;
1N/A int (*mb_len) __PROTO__((const char*, size_t));
1N/A int (*mb_towc) __PROTO__((wchar_t*, const char*, size_t));
1N/A size_t (*mb_xfrm) __PROTO__((char*, const char*, size_t));
1N/A int (*mb_width) __PROTO__((wchar_t));
1N/A int (*mb_conv) __PROTO__((char*, wchar_t));
1N/A
1N/A uint32_t env_serial;
1N/A uint32_t mb_sync;
1N/A uint32_t version;
1N/A
1N/A int (*mb_alpha) __PROTO__((wchar_t));
1N/A
1N/A char pad[936 - sizeof(__V_*)];
1N/A
1N/A} _Ast_info_t;
1N/A
1N/A#if _BLD_ast && defined(__EXPORT__)
1N/A#undef __MANGLE__
1N/A#define __MANGLE__ __LINKAGE__ __EXPORT__
1N/A#endif
1N/A#if !_BLD_ast && defined(__IMPORT__)
1N/A#undef __MANGLE__
1N/A#define __MANGLE__ __LINKAGE__ __IMPORT__
1N/A#endif
1N/A
1N/Aextern __MANGLE__ _Ast_info_t _ast_info;
1N/A
1N/A#undef __MANGLE__
1N/A#define __MANGLE__ __LINKAGE__
1N/A
1N/A/* largefile hackery -- ast uses the large versions by default */
1N/A
1N/A#if _typ_off64_t
1N/A#undef off_t
1N/A#define off_t off64_t
1N/A#endif
1N/A#if !defined(ftruncate) && _lib_ftruncate64
1N/A#define ftruncate ftruncate64
1N/Aextern __MANGLE__ int ftruncate64 __PROTO__((int, off64_t));
1N/A#endif
1N/A#if !defined(lseek) && _lib_lseek64
1N/A#define lseek lseek64
1N/Aextern __MANGLE__ off64_t lseek64 __PROTO__((int, off64_t, int));
1N/A#endif
1N/A#if !defined(truncate) && _lib_truncate64
1N/A#define truncate truncate64
1N/Aextern __MANGLE__ int truncate64 __PROTO__((const char*, off64_t));
1N/A#endif
1N/A
1N/A/* direct macro access for bsd crossover */
1N/A
1N/A#if !defined(__cplusplus)
1N/A
1N/A#if !defined(memcpy) && !defined(_lib_memcpy) && defined(_lib_bcopy)
1N/A#define memcpy(t,f,n) (bcopy(f,t,n),(t))
1N/A#endif
1N/A
1N/A#if !defined(memzero) && !defined(_lib_memzero)
1N/A#if defined(_lib_memset) || !defined(_lib_bzero)
1N/A#define memzero(b,n) memset(b,0,n)
1N/A#else
1N/A#define memzero(b,n) (bzero(b,n),(b))
1N/A#endif
1N/A#endif
1N/A
1N/A#endif
1N/A
1N/A#if !defined(remove)
1N/Aextern __MANGLE__ int remove __PROTO__((const char*));
1N/A#endif
1N/A
1N/A#if !defined(rename)
1N/Aextern __MANGLE__ int rename __PROTO__((const char*, const char*));
1N/A#endif
1N/A
1N/A#if !defined(strchr) && !defined(_lib_strchr) && defined(_lib_index)
1N/A#define strchr(s,c) index(s,c)
1N/A#endif
1N/A
1N/A#if !defined(strrchr) && !defined(_lib_strrchr) && defined(_lib_rindex)
1N/A#define strrchr(s,c) rindex(s,c)
1N/A#endif
1N/A
1N/A/* and now introducing prototypes botched by the standard(s) */
1N/A
1N/A#if _BLD_ast && defined(__EXPORT__)
1N/A#undef __MANGLE__
1N/A#define __MANGLE__ __LINKAGE__ __EXPORT__
1N/A#endif
1N/A
1N/A#undef getpgrp
1N/A#define getpgrp() _ast_getpgrp()
1N/Aextern __MANGLE__ int _ast_getpgrp __PROTO__((void));
1N/A
1N/A#undef __MANGLE__
1N/A#define __MANGLE__ __LINKAGE__
1N/A
1N/A/*
1N/A * and finally, standard interfaces hijacked by ast
1N/A * _AST_STD_I delays headers that require <ast_map.h>
1N/A */
1N/A
1N/A#include <ast_map.h>
1N/A
1N/A#undef _AST_STD_I
1N/A
1N/A#if _AST_GETOPT_H < 0
1N/A#undef _AST_GETOPT_H
1N/A#include <ast_getopt.h>
1N/A#endif
1N/A
1N/A#if _GETOPT_H < 0
1N/A#undef _GETOPT_H
1N/A#include <getopt.h>
1N/A#endif
1N/A
1N/A#if _REGEX_H < 0
1N/A#undef _REGEX_H
1N/A#include <regex.h>
1N/A#endif
1N/A
1N/A#endif