ast_common.h revision 34f9b3eef6fdadbda0a846aa4d68691ac40eace5
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz/* : : generated from /home/gisburn/ksh93/ast_ksh_20091014/build_i386_64bit/src/lib/libast/features/common by iffe version 2009-10-06 : : */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/* disable non-standard linux/gnu inlines */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/* __STD_C indicates that the language is ANSI-C or C++ */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#if !defined(__STD_C)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/* extern symbols must be protected against C++ name mangling */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/* _ARG_ simplifies function prototyping among flavors of C */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define _ARG_(x) x
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define _ARG_(x) ()
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/* _NIL_ simplifies defining nil pointers to a given type */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define _NIL_(x) ((x)0)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/* __INLINE__ is the inline keyword */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __INLINE__ inline
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#if !defined(__INLINE__) && defined(_WIN32) && !defined(__GNUC__)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/* Void_t is defined so that Void_t* can address any type */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define Void_t void
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define Void_t char
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/* windows variants and veneers */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#if !defined(_WINIX) && (_UWIN || __CYGWIN__ || __EMX__)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/* dynamic linked library external scope handling */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if !defined(__IMPORT__) && ( _BLD_DLL || defined(_DLL) )
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#if !defined(_astimport)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define _astimport extern
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# 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#define _ast_int2_t short
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _ast_flt4_t float
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _ast_flt8_t double
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _ast_flt16_t long double
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 typedef int size_t;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin typedef int ssize_t;