/* * @COPYRIGHT@ * * Scout Version 1.0 * * Copyright 1998 Arizona Board of Regents, on behalf of * The University of Arizona * All Rights Reserved * * @COPYRIGHT@ * * $RCSfile: types.h,v $ */ #ifndef __types_h__ #define __types_h__ typedef enum { FALSE = 0, TRUE } bool; typedef char __s8; typedef short __s16; typedef int __s32; typedef long long __s64; typedef unsigned char __u8; typedef unsigned short __u16; typedef unsigned int __u32; typedef unsigned long long __u64; typedef union { char c; short s; int i; long l; u_char uc; u_short us; u_int ui; u_long ul; void * p; char * cp; short * sp; int * ip; long * lp; u_char * ucp; u_short * usp; u_int * uip; u_long * ulp; __s8 s8; __s16 s16; __s32 s32; __u8 u8; __u16 u16; __u32 u32; } AnyType; #define anyToAny(w,v) ({AnyType _a; _a.w = (v); _a;}) #define charToAny(v) anyToAny(c,v) #define shortToAny(v) anyToAny(s,v) #define intToAny(v) anyToAny(i,v) #define longToAny(v) anyToAny(l,v) #define ulongToAny(v) anyToAny(ul,v) #define ptrToAny(v) anyToAny(p,v) #define NELEMS(array) (sizeof(array)/sizeof((array)[0])) #endif /* __types_h__ */