da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/***********************************************************************
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* This software is part of the ast package *
3e14f97f673e8a630f076077de35afdd43dc1587Roger A. Faulkner* Copyright (c) 1985-2010 AT&T Intellectual Property *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* and is licensed under the *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* Common Public License, Version 1.0 *
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin* by AT&T Intellectual Property *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* A copy of the License is available at *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* http://www.opensource.org/licenses/cpl1.0.txt *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* Information and Software Systems Research *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* AT&T Research *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* Florham Park NJ *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* Glenn Fowler <gsf@research.att.com> *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* David Korn <dgk@research.att.com> *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* Phong Vo <kpv@research.att.com> *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin***********************************************************************/
3e14f97f673e8a630f076077de35afdd43dc1587Roger A. Faulkner/* : : generated from /home/gisburn/ksh93/ast_ksh_20100309/build_i386_64bit/src/lib/libast/features/common by iffe version 2009-12-04 : : */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#ifndef _AST_COMMON_H
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _AST_COMMON_H 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _sys_types 1 /* #include <sys/types.h> ok */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _hdr_pthread 1 /* #include <pthread.h> ok */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _hdr_stdarg 1 /* #include <stdarg.h> ok */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _hdr_stddef 1 /* #include <stddef.h> ok */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _hdr_stdint 1 /* #include <stdint.h> ok */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _hdr_inttypes 1 /* #include <inttypes.h> ok */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _hdr_unistd 1 /* #include <unistd.h> ok */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _hdr_time 1 /* #include <time.h> ok */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _sys_time 1 /* #include <sys/time.h> ok */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _sys_times 1 /* #include <sys/times.h> ok */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _hdr_stdlib 1 /* #include <stdlib.h> ok */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _typ_long_double 1 /* long double is a type */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _typ_size_t 1 /* size_t is a type */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _typ_ssize_t 1 /* ssize_t is a type */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _sys_stat 1 /* #include <sys/stat.h> ok */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _sys_socket 1 /* #include <sys/socket.h> ok */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _std_proto 1 /* standard C prototypes ok */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _ptr_void 1 /* standard C void* ok */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/* disable non-standard linux/gnu inlines */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#ifdef __GNUC__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# undef __OPTIMIZE_SIZE__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __OPTIMIZE_SIZE__ 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/* __STD_C indicates that the language is ANSI-C or C++ */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#if !defined(__STD_C) && __STDC__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __STD_C 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#if !defined(__STD_C) && (__cplusplus || c_plusplus)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __STD_C 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#if !defined(__STD_C) && _std_proto
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __STD_C 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#if !defined(__STD_C)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __STD_C 0
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/* extern symbols must be protected against C++ name mangling */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#ifndef _BEGIN_EXTERNS_
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if __cplusplus || c_plusplus
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define _BEGIN_EXTERNS_ extern "C" {
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define _END_EXTERNS_ }
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# else
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define _BEGIN_EXTERNS_
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define _END_EXTERNS_
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/* _ARG_ simplifies function prototyping among flavors of C */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#ifndef _ARG_
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if __STD_C
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define _ARG_(x) x
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# else
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define _ARG_(x) ()
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/* _NIL_ simplifies defining nil pointers to a given type */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#ifndef _NIL_
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define _NIL_(x) ((x)0)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/* __INLINE__ is the inline keyword */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#if !defined(__INLINE__) && defined(__cplusplus)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __INLINE__ inline
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#if !defined(__INLINE__) && defined(_WIN32) && !defined(__GNUC__)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __INLINE__ __inline
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/* Void_t is defined so that Void_t* can address any type */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#ifndef Void_t
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if __STD_C
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define Void_t void
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# else
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define Void_t char
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/* windows variants and veneers */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#if !defined(_WINIX) && (_UWIN || __CYGWIN__ || __EMX__)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define _WINIX 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/* dynamic linked library external scope handling */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#ifdef __DYNAMIC__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# undef __DYNAMIC__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# ifndef _DLL
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define _DLL 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#if _dll_import
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if _BLD_STATIC && !_BLD_DLL
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# undef _DLL
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# else
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if !_UWIN && !defined(_DLL)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define _DLL 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if !defined(__EXPORT__) && _BLD_DLL
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __EXPORT__ __declspec(dllexport)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if !defined(__IMPORT__) && ( _BLD_DLL || defined(_DLL) )
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __IMPORT__ __declspec(dllimport)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if _BLD_DLL && _UWIN
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __DYNAMIC__(v) (_ast_getdll()->_ast_ ## v)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#if !defined(_astimport)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if defined(__IMPORT__) && defined(_DLL)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define _astimport __IMPORT__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# else
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define _astimport extern
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#if _dll_import && ( !_BLD_DLL || _WINIX && !_UWIN )
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# ifdef __STDC__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __EXTERN__(T,obj) extern T obj; T* _imp__ ## obj = &obj
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __DEFINE__(T,obj,val) T obj = val; T* _imp__ ## obj = &obj
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# else
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __EXTERN__(T,obj) extern T obj; T* _imp__/**/obj = &obj
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __DEFINE__(T,obj,val) T obj = val; T* _imp__/**/obj = &obj
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#else
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __EXTERN__(T,obj) extern T obj
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __DEFINE__(T,obj,val) T obj = val
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _ast_LL 1 /* LL numeric suffix supported */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _ast_int1_t char
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _ast_int2_t short
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _ast_int4_t int
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _ast_int8_t long
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _ast_intmax_t _ast_int8_t
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _ast_intmax_long 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _ast_intswap 7
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _ast_flt4_t float
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _ast_flt8_t double
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _ast_flt16_t long double
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _ast_fltmax_t _ast_flt16_t
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _typ_int8_t 1 /* int8_t is a type */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _typ_uint8_t 1 /* uint8_t is a type */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _typ_int16_t 1 /* int16_t is a type */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _typ_uint16_t 1 /* uint16_t is a type */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _typ_int32_t 1 /* int32_t is a type */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _typ_uint32_t 1 /* uint32_t is a type */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _typ_int64_t 1 /* int64_t is a type */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _typ_uint64_t 1 /* uint64_t is a type */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _typ_intmax_t 1 /* intmax_t is a type */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _typ_uintmax_t 1 /* uintmax_t is a type */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#ifndef va_listref
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#ifndef va_start
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#if __STD_C
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#include <stdarg.h>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#else
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#include <varargs.h>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz#define va_listref(p) (&(p)) /* pass va_list to varargs function */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz#define va_listval(p) (*(p)) /* retrieve va_list from va_arg(ap,va_listarg) */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz#define va_listarg va_list* /* va_arg() va_list type */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#ifndef _AST_STD_H
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if __STD_C && _hdr_stddef
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# include <stddef.h>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if _sys_types
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# include <sys/types.h>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if _hdr_stdint
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# include <stdint.h>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# else
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if _hdr_inttypes
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# include <inttypes.h>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#if !_typ_size_t
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define _typ_size_t 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin typedef int size_t;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#if !_typ_ssize_t
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define _typ_ssize_t 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin typedef int ssize_t;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#ifndef _AST_STD_H
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if !_def_map_ast
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# include <ast_map.h>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif