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/* : : generated from /home/gisburn/ksh93/ast_ksh_20110208/build_sparc_64bit_opt/src/lib/libast/features/common by iffe version 2011-01-07 : : */
1N/A#ifndef _AST_COMMON_H
1N/A#define _AST_COMMON_H 1
1N/A#define _sys_types 1 /* #include <sys/types.h> ok */
1N/A#define _hdr_pthread 1 /* #include <pthread.h> ok */
1N/A#define _hdr_stdarg 1 /* #include <stdarg.h> ok */
1N/A#define _hdr_stddef 1 /* #include <stddef.h> ok */
1N/A#define _hdr_stdint 1 /* #include <stdint.h> ok */
1N/A#define _hdr_inttypes 1 /* #include <inttypes.h> ok */
1N/A#define _hdr_unistd 1 /* #include <unistd.h> ok */
1N/A#define _hdr_time 1 /* #include <time.h> ok */
1N/A#define _sys_time 1 /* #include <sys/time.h> ok */
1N/A#define _sys_times 1 /* #include <sys/times.h> ok */
1N/A#define _hdr_stdlib 1 /* #include <stdlib.h> ok */
1N/A#define _typ_long_double 1 /* long double is a type */
1N/A#define _typ_size_t 1 /* size_t is a type */
1N/A#define _typ_ssize_t 1 /* ssize_t is a type */
1N/A#define _hdr_stdio 1 /* #include <stdio.h> ok */
1N/A#define _typ___va_list 1 /* __va_list is a type */
1N/A#define _sys_stat 1 /* #include <sys/stat.h> ok */
1N/A#define _sys_socket 1 /* #include <sys/socket.h> ok */
1N/A#define _std_proto 1 /* standard C prototypes ok */
1N/A#define _ptr_void 1 /* standard C void* ok */
1N/A/* disable non-standard linux/gnu inlines */
1N/A#ifdef __GNUC__
1N/A# undef __OPTIMIZE_SIZE__
1N/A# define __OPTIMIZE_SIZE__ 1
1N/A#endif
1N/A
1N/A/* __STD_C indicates that the language is ANSI-C or C++ */
1N/A#if !defined(__STD_C) && __STDC__
1N/A# define __STD_C 1
1N/A#endif
1N/A#if !defined(__STD_C) && (__cplusplus || c_plusplus)
1N/A# define __STD_C 1
1N/A#endif
1N/A#if !defined(__STD_C) && _std_proto
1N/A# define __STD_C 1
1N/A#endif
1N/A#if !defined(__STD_C)
1N/A# define __STD_C 0
1N/A#endif
1N/A
1N/A/* extern symbols must be protected against C++ name mangling */
1N/A#ifndef _BEGIN_EXTERNS_
1N/A# if __cplusplus || c_plusplus
1N/A# define _BEGIN_EXTERNS_ extern "C" {
1N/A# define _END_EXTERNS_ }
1N/A# else
1N/A# define _BEGIN_EXTERNS_
1N/A# define _END_EXTERNS_
1N/A# endif
1N/A#endif
1N/A
1N/A/* _ARG_ simplifies function prototyping among flavors of C */
1N/A#ifndef _ARG_
1N/A# if __STD_C
1N/A# define _ARG_(x) x
1N/A# else
1N/A# define _ARG_(x) ()
1N/A# endif
1N/A#endif
1N/A
1N/A/* _NIL_ simplifies defining nil pointers to a given type */
1N/A#ifndef _NIL_
1N/A# define _NIL_(x) ((x)0)
1N/A#endif
1N/A
1N/A/* __INLINE__, if defined, is the inline keyword */
1N/A#if !defined(__INLINE__) && defined(__cplusplus)
1N/A# define __INLINE__ inline
1N/A#endif
1N/A#if !defined(__INLINE__) && defined(_WIN32) && !defined(__GNUC__)
1N/A# define __INLINE__ __inline
1N/A#endif
1N/A
1N/A/* Void_t is defined so that Void_t* can address any type */
1N/A#ifndef Void_t
1N/A# if __STD_C
1N/A# define Void_t void
1N/A# else
1N/A# define Void_t char
1N/A# endif
1N/A#endif
1N/A
1N/A/* windows variants and veneers */
1N/A#if !defined(_WINIX) && (_UWIN || __CYGWIN__ || __EMX__)
1N/A# define _WINIX 1
1N/A#endif
1N/A
1N/A/* dynamic linked library external scope handling */
1N/A#ifdef __DYNAMIC__
1N/A# undef __DYNAMIC__
1N/A# ifndef _DLL
1N/A# define _DLL 1
1N/A# endif
1N/A#endif
1N/A#if _dll_import
1N/A# if _BLD_STATIC && !_BLD_DLL
1N/A# undef _DLL
1N/A# else
1N/A# if !_UWIN && !defined(_DLL)
1N/A# define _DLL 1
1N/A# endif
1N/A# endif
1N/A# if !defined(__EXPORT__) && _BLD_DLL
1N/A# define __EXPORT__ __declspec(dllexport)
1N/A# endif
1N/A# if !defined(__IMPORT__) && ( _BLD_DLL || defined(_DLL) )
1N/A# define __IMPORT__ __declspec(dllimport)
1N/A# endif
1N/A# if _BLD_DLL && _UWIN
1N/A# define __DYNAMIC__(v) (_ast_getdll()->_ast_ ## v)
1N/A# endif
1N/A#endif
1N/A#if !defined(_astimport)
1N/A# if defined(__IMPORT__) && defined(_DLL)
1N/A# define _astimport __IMPORT__
1N/A# else
1N/A# define _astimport extern
1N/A# endif
1N/A#endif
1N/A#if _dll_import && ( !_BLD_DLL || _WINIX && !_UWIN )
1N/A# ifdef __STDC__
1N/A# define __EXTERN__(T,obj) extern T obj; T* _imp__ ## obj = &obj
1N/A# define __DEFINE__(T,obj,val) T obj = val; T* _imp__ ## obj = &obj
1N/A# else
1N/A# define __EXTERN__(T,obj) extern T obj; T* _imp__/**/obj = &obj
1N/A# define __DEFINE__(T,obj,val) T obj = val; T* _imp__/**/obj = &obj
1N/A# endif
1N/A#else
1N/A# define __EXTERN__(T,obj) extern T obj
1N/A# define __DEFINE__(T,obj,val) T obj = val
1N/A#endif
1N/A
1N/A#define _ast_LL 1 /* LL numeric suffix supported */
1N/A#define _ast_int1_t char
1N/A#define _ast_int2_t short
1N/A#define _ast_int4_t int
1N/A#define _ast_int8_t long
1N/A#define _ast_intmax_t _ast_int8_t
1N/A#define _ast_intmax_long 1
1N/A#define _ast_intswap 0
1N/A
1N/A#define _ast_sizeof_short 2 /* sizeof(short) */
1N/A#define _ast_sizeof_int 4 /* sizeof(int) */
1N/A#define _ast_sizeof_long 8 /* sizeof(long) */
1N/A#define _ast_sizeof_pointer 8 /* sizeof(pointer) */
1N/A#define _ast_sizeof_float 4 /* sizeof(float) */
1N/A#define _ast_sizeof_double 8 /* sizeof(double) */
1N/A#define _ast_sizeof_long_double 16 /* sizeof(long_double) */
1N/A
1N/A#define _ast_flt4_t float
1N/A#define _ast_flt8_t double
1N/A#define _ast_flt16_t long double
1N/A#define _ast_fltmax_t _ast_flt16_t
1N/A#define _typ_int8_t 1 /* int8_t is a type */
1N/A#define _typ_uint8_t 1 /* uint8_t is a type */
1N/A#define _typ_int16_t 1 /* int16_t is a type */
1N/A#define _typ_uint16_t 1 /* uint16_t is a type */
1N/A#define _typ_int32_t 1 /* int32_t is a type */
1N/A#define _typ_uint32_t 1 /* uint32_t is a type */
1N/A#define _typ_int64_t 1 /* int64_t is a type */
1N/A#define _typ_uint64_t 1 /* uint64_t is a type */
1N/A#define _typ_intmax_t 1 /* intmax_t is a type */
1N/A#define _typ_uintmax_t 1 /* uintmax_t is a type */
1N/A
1N/A#ifndef va_listref
1N/A#ifndef va_start
1N/A#if __STD_C
1N/A#include <stdarg.h>
1N/A#else
1N/A#include <varargs.h>
1N/A#endif
1N/A#endif
1N/A#define va_listref(p) (p) /* pass va_list to varargs function */
1N/A#define va_listval(p) (p) /* retrieve va_list from va_arg(ap,va_listarg) */
1N/A#define va_listarg va_list /* va_arg() va_list type */
1N/A#endif
1N/A#ifndef _AST_STD_H
1N/A# if __STD_C && _hdr_stddef
1N/A# include <stddef.h>
1N/A# endif
1N/A# if _sys_types
1N/A# include <sys/types.h>
1N/A# endif
1N/A# if _hdr_stdint
1N/A# include <stdint.h>
1N/A# else
1N/A# if _hdr_inttypes
1N/A# include <inttypes.h>
1N/A# endif
1N/A# endif
1N/A#endif
1N/A#if !_typ_size_t
1N/A# define _typ_size_t 1
1N/A typedef int size_t;
1N/A#endif
1N/A#if !_typ_ssize_t
1N/A# define _typ_ssize_t 1
1N/A typedef int ssize_t;
1N/A#endif
1N/A#ifndef _AST_STD_H
1N/A# if !_def_map_ast
1N/A# include <ast_map.h>
1N/A# endif
1N/A#endif
1N/A
1N/A#endif