1/*********************************************************************** 2* * 3* This software is part of the ast package * 4* Copyright (c) 1985-2010 AT&T Intellectual Property * 5* and is licensed under the * 6* Common Public License, Version 1.0 * 7* by AT&T Intellectual Property * 8* * 9* A copy of the License is available at * 10* http://www.opensource.org/licenses/cpl1.0.txt * 11* (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) * 12* * 13* Information and Software Systems Research * 14* AT&T Research * 15* Florham Park NJ * 16* * 17* Glenn Fowler <gsf@research.att.com> * 18* David Korn <dgk@research.att.com> * 19* Phong Vo <kpv@research.att.com> * 20* * 21***********************************************************************/ 22/* : : generated from /home/gisburn/ksh93/ast_ksh_20100309/build_i386_64bit/src/lib/libast/features/common by iffe version 2009-12-04 : : */ 23#ifndef _AST_COMMON_H 24#define _AST_COMMON_H 1 25#define _sys_types 1 /* #include <sys/types.h> ok */ 26#define _hdr_pthread 1 /* #include <pthread.h> ok */ 27#define _hdr_stdarg 1 /* #include <stdarg.h> ok */ 28#define _hdr_stddef 1 /* #include <stddef.h> ok */ 29#define _hdr_stdint 1 /* #include <stdint.h> ok */ 30#define _hdr_inttypes 1 /* #include <inttypes.h> ok */ 31#define _hdr_unistd 1 /* #include <unistd.h> ok */ 32#define _hdr_time 1 /* #include <time.h> ok */ 33#define _sys_time 1 /* #include <sys/time.h> ok */ 34#define _sys_times 1 /* #include <sys/times.h> ok */ 35#define _hdr_stdlib 1 /* #include <stdlib.h> ok */ 36#define _typ_long_double 1 /* long double is a type */ 37#define _typ_size_t 1 /* size_t is a type */ 38#define _typ_ssize_t 1 /* ssize_t is a type */ 39#define _sys_stat 1 /* #include <sys/stat.h> ok */ 40#define _sys_socket 1 /* #include <sys/socket.h> ok */ 41#define _std_proto 1 /* standard C prototypes ok */ 42#define _ptr_void 1 /* standard C void* ok */ 43/* disable non-standard linux/gnu inlines */ 44#ifdef __GNUC__ 45# undef __OPTIMIZE_SIZE__ 46# define __OPTIMIZE_SIZE__ 1 47#endif 48 49/* __STD_C indicates that the language is ANSI-C or C++ */ 50#if !defined(__STD_C) && __STDC__ 51# define __STD_C 1 52#endif 53#if !defined(__STD_C) && (__cplusplus || c_plusplus) 54# define __STD_C 1 55#endif 56#if !defined(__STD_C) && _std_proto 57# define __STD_C 1 58#endif 59#if !defined(__STD_C) 60# define __STD_C 0 61#endif 62 63/* extern symbols must be protected against C++ name mangling */ 64#ifndef _BEGIN_EXTERNS_ 65# if __cplusplus || c_plusplus 66# define _BEGIN_EXTERNS_ extern "C" { 67# define _END_EXTERNS_ } 68# else 69# define _BEGIN_EXTERNS_ 70# define _END_EXTERNS_ 71# endif 72#endif 73 74/* _ARG_ simplifies function prototyping among flavors of C */ 75#ifndef _ARG_ 76# if __STD_C 77# define _ARG_(x) x 78# else 79# define _ARG_(x) () 80# endif 81#endif 82 83/* _NIL_ simplifies defining nil pointers to a given type */ 84#ifndef _NIL_ 85# define _NIL_(x) ((x)0) 86#endif 87 88/* __INLINE__ is the inline keyword */ 89#if !defined(__INLINE__) && defined(__cplusplus) 90# define __INLINE__ inline 91#endif 92#if !defined(__INLINE__) && defined(_WIN32) && !defined(__GNUC__) 93# define __INLINE__ __inline 94#endif 95 96/* Void_t is defined so that Void_t* can address any type */ 97#ifndef Void_t 98# if __STD_C 99# define Void_t void 100# else 101# define Void_t char 102# endif 103#endif 104 105/* windows variants and veneers */ 106#if !defined(_WINIX) && (_UWIN || __CYGWIN__ || __EMX__) 107# define _WINIX 1 108#endif 109 110/* dynamic linked library external scope handling */ 111#ifdef __DYNAMIC__ 112# undef __DYNAMIC__ 113# ifndef _DLL 114# define _DLL 1 115# endif 116#endif 117#if _dll_import 118# if _BLD_STATIC && !_BLD_DLL 119# undef _DLL 120# else 121# if !_UWIN && !defined(_DLL) 122# define _DLL 1 123# endif 124# endif 125# if !defined(__EXPORT__) && _BLD_DLL 126# define __EXPORT__ __declspec(dllexport) 127# endif 128# if !defined(__IMPORT__) && ( _BLD_DLL || defined(_DLL) ) 129# define __IMPORT__ __declspec(dllimport) 130# endif 131# if _BLD_DLL && _UWIN 132# define __DYNAMIC__(v) (_ast_getdll()->_ast_ ## v) 133# endif 134#endif 135#if !defined(_astimport) 136# if defined(__IMPORT__) && defined(_DLL) 137# define _astimport __IMPORT__ 138# else 139# define _astimport extern 140# endif 141#endif 142#if _dll_import && ( !_BLD_DLL || _WINIX && !_UWIN ) 143# ifdef __STDC__ 144# define __EXTERN__(T,obj) extern T obj; T* _imp__ ## obj = &obj 145# define __DEFINE__(T,obj,val) T obj = val; T* _imp__ ## obj = &obj 146# else 147# define __EXTERN__(T,obj) extern T obj; T* _imp__/**/obj = &obj 148# define __DEFINE__(T,obj,val) T obj = val; T* _imp__/**/obj = &obj 149# endif 150#else 151# define __EXTERN__(T,obj) extern T obj 152# define __DEFINE__(T,obj,val) T obj = val 153#endif 154 155#define _ast_LL 1 /* LL numeric suffix supported */ 156#define _ast_int1_t char 157#define _ast_int2_t short 158#define _ast_int4_t int 159#define _ast_int8_t long 160#define _ast_intmax_t _ast_int8_t 161#define _ast_intmax_long 1 162#define _ast_intswap 7 163 164#define _ast_flt4_t float 165#define _ast_flt8_t double 166#define _ast_flt16_t long double 167#define _ast_fltmax_t _ast_flt16_t 168#define _typ_int8_t 1 /* int8_t is a type */ 169#define _typ_uint8_t 1 /* uint8_t is a type */ 170#define _typ_int16_t 1 /* int16_t is a type */ 171#define _typ_uint16_t 1 /* uint16_t is a type */ 172#define _typ_int32_t 1 /* int32_t is a type */ 173#define _typ_uint32_t 1 /* uint32_t is a type */ 174#define _typ_int64_t 1 /* int64_t is a type */ 175#define _typ_uint64_t 1 /* uint64_t is a type */ 176#define _typ_intmax_t 1 /* intmax_t is a type */ 177#define _typ_uintmax_t 1 /* uintmax_t is a type */ 178 179#ifndef va_listref 180#ifndef va_start 181#if __STD_C 182#include <stdarg.h> 183#else 184#include <varargs.h> 185#endif 186#endif 187#define va_listref(p) (&(p)) /* pass va_list to varargs function */ 188#define va_listval(p) (*(p)) /* retrieve va_list from va_arg(ap,va_listarg) */ 189#define va_listarg va_list* /* va_arg() va_list type */ 190#endif 191#ifndef _AST_STD_H 192# if __STD_C && _hdr_stddef 193# include <stddef.h> 194# endif 195# if _sys_types 196# include <sys/types.h> 197# endif 198# if _hdr_stdint 199# include <stdint.h> 200# else 201# if _hdr_inttypes 202# include <inttypes.h> 203# endif 204# endif 205#endif 206#if !_typ_size_t 207# define _typ_size_t 1 208 typedef int size_t; 209#endif 210#if !_typ_ssize_t 211# define _typ_ssize_t 1 212 typedef int ssize_t; 213#endif 214#ifndef _AST_STD_H 215# if !_def_map_ast 216# include <ast_map.h> 217# endif 218#endif 219 220#endif 221