Defines | |
| #define | hycomp_h | 
| #define | HY_PLATFORM_DOUBLE_ORDER | 
| USE_PROTOTYPES: Use full ANSI prototypes.   | |
| #define | NO_LVALUE_CASTING | 
| #define | VMAPICALL _stdcall | 
| #define | VMCALL _cdecl | 
| #define | EXE_EXTENSION_CHAR '.' | 
| #define | DIR_SEPARATOR '\\' | 
| #define | DIR_SEPARATOR_STR "\\" | 
| #define | HY_PRIORITY_MAP | 
| #define | GLOBAL_DATA(symbol) ((void*)&(symbol)) | 
| #define | GLOBAL_TABLE(symbol) GLOBAL_DATA(symbol) | 
| #define | PVMCALL VMCALL * | 
| #define | HYCONST64(x) x##L | 
| #define | HY_DEFAULT_SCHED SCHED_OTHER | 
By default, pthreads platforms use the SCHED_OTHER thread scheduling policy.   | |
| #define | FALSE ((BOOLEAN) 0) | 
| #define | TRUE ((BOOLEAN) (!FALSE)) | 
| #define | NULL ((void *)0) | 
| #define | USE_PROTOTYPES | 
| #define | PROTOTYPE(x) x | 
| #define | VARARGS , ... | 
| #define | PLATFORM_LINE_DELIMITER "\015\012" | 
| Assign the default line delimiter, if it was not set.   | |
| #define | MAX_IMAGE_PATH_LENGTH (2048) | 
| Set the max path length, if it was not set.   | |
| #define | CLEAR_U64(u64) (u64 = (U_64)0) | 
| Helpers for U_64s.   | |
| #define | LOW_LONG(l) (*((U_32 *) &(l))) | 
| #define | HIGH_LONG(l) (*(((U_32 *) &(l)) + 1)) | 
| #define | I8(x) ((I_8) (x)) | 
| #define | I8P(x) ((I_8 *) (x)) | 
| #define | U16(x) ((U_16) (x)) | 
| #define | I16(x) ((I_16) (x)) | 
| #define | I16P(x) ((I_16 *) (x)) | 
| #define | U32(x) ((U_32) (x)) | 
| #define | I32(x) ((I_32) (x)) | 
| #define | I32P(x) ((I_32 *) (x)) | 
| #define | U16P(x) ((U_16 *) (x)) | 
| #define | U32P(x) ((U_32 *) (x)) | 
| #define | OBJP(x) ((HyObject *) (x)) | 
| #define | OBJPP(x) ((HyObject **) (x)) | 
| #define | OBJPPP(x) ((HyObject ***) (x)) | 
| #define | CLASSP(x) ((Class *) (x)) | 
| #define | CLASSPP(x) ((Class **) (x)) | 
| #define | BYTEP(x) ((BYTE *) (x)) | 
| #define | ESCHAR(x) ((CHARACTER) (x)) | 
| Test - was conflicting with OS2.h.   | |
| #define | FLT(x) ((FLOAT) x) | 
| #define | FLTP(x) ((FLOAT *) (x)) | 
| #define | LI8(x) (*((I_8 *) &(x))) | 
| #define | LI8P(x) (*((I_8 **) &(x))) | 
| #define | LU16(x) (*((U_16 *) &(x))) | 
| #define | LI16(x) (*((I_16 *) &(x))) | 
| #define | LU32(x) (*((U_32 *) &(x))) | 
| #define | LI32(x) (*((I_32 *) &(x))) | 
| #define | LI32P(x) (*((I_32 **) &(x))) | 
| #define | LU16P(x) (*((U_16 **) &(x))) | 
| #define | LU32P(x) (*((U_32 **) &(x))) | 
| #define | LOBJP(x) (*((HyObject **) &(x))) | 
| #define | LOBJPP(x) (*((HyObject ***) &(x))) | 
| #define | LOBJPPP(x) (*((HyObject ****) &(x)) | 
| #define | LCLASSP(x) (*((Class **) &(x))) | 
| #define | LBYTEP(x) (*((BYTE **) &(x))) | 
| #define | LCHAR(x) (*((CHARACTER) &(x))) | 
| #define | LFLT(x) (*((FLOAT) &x)) | 
| #define | LFLTP(x) (*((FLOAT *) &(x))) | 
| #define | HIGH_WORD(x) U16(U32((x)) >> 16) | 
| Macros for converting between words and longs and accessing bits.   | |
| #define | LOW_WORD(x) U16(U32((x)) & 0xFFFF) | 
| #define | LOW_BIT(o) (U32((o)) & 1) | 
| #define | LOW_2_BITS(o) (U32((o)) & 3) | 
| #define | LOW_3_BITS(o) (U32((o)) & 7) | 
| #define | LOW_4_BITS(o) (U32((o)) & 15) | 
| #define | MAKE_32(h, l) ((U32((h)) << 16) | U32((l))) | 
| #define | MAKE_64(h, l) ((((I_64)(h)) << 32) | (l)) | 
| #define | HY_CFUNC | 
| #define | HY_CDATA | 
| #define | READSVMTHREAD | 
| Macros for tagging functions which read/write the vm thread.   | |
| #define | WRITESVMTHREAD | 
| #define | REQUIRESSTACKFRAME | 
| #define | NORETURN | 
| Macro for tagging functions, which never return.   | |
| #define | PTR_LONG_STORE(dstPtr, aLongPtr) (*(dstPtr) = *(aLongPtr)) | 
| Macros for accessing I_64 values.   | |
| #define | PTR_LONG_VALUE(dstPtr, aLongPtr) (*(aLongPtr) = *(dstPtr)) | 
| #define | HYCONST_TABLE const | 
| Macro used when declaring tables which require relocations.   | |
| #define | HY_SORT(base, nmemb, size, compare) qsort((base), (nmemb), (size), (compare)) | 
| ANSI qsort is not always available.   | |
Typedefs | |
| typedef __int64 | I_64 | 
| Provide some reasonable defaults for the VM types:.   | |
| typedef unsigned __int64 | U_64 | 
| typedef double | SYS_FLOAT | 
| typedef unsigned int | UDATA | 
| typedef unsigned int | U_32 | 
| typedef unsigned short | U_16 | 
| typedef unsigned char | U_8 | 
| typedef int | IDATA | 
| typedef int | I_32 | 
| typedef short | I_16 | 
| typedef char | I_8 | 
| typedef double | ESDOUBLE | 
| typedef float | ESSINGLE | 
| #define hycomp_h | 
| #define HY_PLATFORM_DOUBLE_ORDER | 
USE_PROTOTYPES: Use full ANSI prototypes.
CLOCK_PRIMS: We want the timer/clock prims to be used
LITTLE_ENDIAN: This is for the intel machines or other little endian processors. Defaults to big endian.
NO_LVALUE_CASTING: This is for compilers that don't like the left side of assigns to be cast. It hacks around to do the right thing.
ATOMIC_FLOAT_ACCESS: So that float operations will work.
LINKED_USER_PRIMITIVES: Indicates that user primitives are statically linked with the VM executeable.
OLD_SPACE_SIZE_DIFF: The 68k uses a different amount of old space. This "legitimizes" the change.
SIMPLE_SIGNAL: For machines that don't use real signals in C. (eg: PC, 68k)
OS_NAME_LOOKUP: Use nlist to lookup user primitive addresses.
VMCALL: Tag for all functions called by the VM.
VMAPICALL: Tag for all functions called via the PlatformFunction callWith: mechanism.
SYS_FLOAT: For some math functions where extended types (80 or 96 bits) are returned Most platforms return as a double
FLOAT_EXTENDED: If defined, the type name for extended precision floats.
PLATFORM_IS_ASCII: Must be defined if the platform is ASCII
EXE_EXTENSION_CHAR: the executable has a delimiter that we want to stop at as part of argv[0].
By default order doubles in the native (that is big/little endian) ordering.
| #define NO_LVALUE_CASTING | 
| #define VMAPICALL _stdcall | 
| #define VMCALL _cdecl | 
| #define EXE_EXTENSION_CHAR '.' | 
| #define DIR_SEPARATOR '\\' | 
| #define DIR_SEPARATOR_STR "\\" | 
| #define HY_PRIORITY_MAP | 
Value:
{ \
  THREAD_PRIORITY_IDLE,             /* 0 */\
  THREAD_PRIORITY_LOWEST,           /* 1 */\
  THREAD_PRIORITY_BELOW_NORMAL,     /* 2 */\
  THREAD_PRIORITY_BELOW_NORMAL,     /* 3 */\
  THREAD_PRIORITY_BELOW_NORMAL,     /* 4 */\
  THREAD_PRIORITY_NORMAL,           /* 5 */\
  THREAD_PRIORITY_ABOVE_NORMAL,     /* 6 */\
  THREAD_PRIORITY_ABOVE_NORMAL,     /* 7 */\
  THREAD_PRIORITY_ABOVE_NORMAL,     /* 8 */\
  THREAD_PRIORITY_ABOVE_NORMAL,     /* 9 */\
  THREAD_PRIORITY_HIGHEST,          /*10 */\
  THREAD_PRIORITY_TIME_CRITICAL     /*11 */}
| #define GLOBAL_DATA | ( | symbol | ) | ((void*)&(symbol)) | 
| #define GLOBAL_TABLE | ( | symbol | ) | GLOBAL_DATA(symbol) | 
| #define PVMCALL VMCALL * | 
| #define HYCONST64 | ( | x | ) | x##L | 
| #define HY_DEFAULT_SCHED SCHED_OTHER | 
By default, pthreads platforms use the SCHED_OTHER thread scheduling policy. 
| #define FALSE ((BOOLEAN) 0) | 
| #define TRUE ((BOOLEAN) (!FALSE)) | 
| #define NULL ((void *)0) | 
| #define USE_PROTOTYPES | 
| #define PROTOTYPE | ( | x | ) | x | 
| #define VARARGS , ... | 
| #define PLATFORM_LINE_DELIMITER "\015\012" | 
Assign the default line delimiter, if it was not set.
| #define MAX_IMAGE_PATH_LENGTH (2048) | 
Set the max path length, if it was not set.
| #define CLEAR_U64 | ( | u64 | ) | (u64 = (U_64)0) | 
Helpers for U_64s.
| #define LOW_LONG | ( | l | ) | (*((U_32 *) &(l))) | 
| #define HIGH_LONG | ( | l | ) | (*(((U_32 *) &(l)) + 1)) | 
| #define I8 | ( | x | ) | ((I_8) (x)) | 
| #define I8P | ( | x | ) | ((I_8 *) (x)) | 
| #define U16 | ( | x | ) | ((U_16) (x)) | 
| #define I16 | ( | x | ) | ((I_16) (x)) | 
| #define I16P | ( | x | ) | ((I_16 *) (x)) | 
| #define U32 | ( | x | ) | ((U_32) (x)) | 
| #define I32 | ( | x | ) | ((I_32) (x)) | 
| #define I32P | ( | x | ) | ((I_32 *) (x)) | 
| #define U16P | ( | x | ) | ((U_16 *) (x)) | 
| #define U32P | ( | x | ) | ((U_32 *) (x)) | 
| #define OBJP | ( | x | ) | ((HyObject *) (x)) | 
| #define OBJPP | ( | x | ) | ((HyObject **) (x)) | 
| #define OBJPPP | ( | x | ) | ((HyObject ***) (x)) | 
| #define CLASSP | ( | x | ) | ((Class *) (x)) | 
| #define CLASSPP | ( | x | ) | ((Class **) (x)) | 
| #define BYTEP | ( | x | ) | ((BYTE *) (x)) | 
| #define ESCHAR | ( | x | ) | ((CHARACTER) (x)) | 
Test - was conflicting with OS2.h.
| #define FLT | ( | x | ) | ((FLOAT) x) | 
| #define FLTP | ( | x | ) | ((FLOAT *) (x)) | 
| #define LI8 | ( | x | ) | (*((I_8 *) &(x))) | 
| #define LI8P | ( | x | ) | (*((I_8 **) &(x))) | 
| #define LU16 | ( | x | ) | (*((U_16 *) &(x))) | 
| #define LI16 | ( | x | ) | (*((I_16 *) &(x))) | 
| #define LU32 | ( | x | ) | (*((U_32 *) &(x))) | 
| #define LI32 | ( | x | ) | (*((I_32 *) &(x))) | 
| #define LI32P | ( | x | ) | (*((I_32 **) &(x))) | 
| #define LU16P | ( | x | ) | (*((U_16 **) &(x))) | 
| #define LU32P | ( | x | ) | (*((U_32 **) &(x))) | 
| #define LOBJP | ( | x | ) | (*((HyObject **) &(x))) | 
| #define LOBJPP | ( | x | ) | (*((HyObject ***) &(x))) | 
| #define LOBJPPP | ( | x | ) | (*((HyObject ****) &(x)) | 
| #define LCLASSP | ( | x | ) | (*((Class **) &(x))) | 
| #define LBYTEP | ( | x | ) | (*((BYTE **) &(x))) | 
| #define LCHAR | ( | x | ) | (*((CHARACTER) &(x))) | 
| #define LFLT | ( | x | ) | (*((FLOAT) &x)) | 
| #define LFLTP | ( | x | ) | (*((FLOAT *) &(x))) | 
| #define HIGH_WORD | ( | x | ) | U16(U32((x)) >> 16) | 
Macros for converting between words and longs and accessing bits.
| #define LOW_WORD | ( | x | ) | U16(U32((x)) & 0xFFFF) | 
| #define LOW_BIT | ( | o | ) | (U32((o)) & 1) | 
| #define LOW_2_BITS | ( | o | ) | (U32((o)) & 3) | 
| #define LOW_3_BITS | ( | o | ) | (U32((o)) & 7) | 
| #define LOW_4_BITS | ( | o | ) | (U32((o)) & 15) | 
| #define MAKE_32 | ( | h, | |||
| l | ) | ((U32((h)) << 16) | U32((l))) | 
| #define MAKE_64 | ( | h, | |||
| l | ) | ((((I_64)(h)) << 32) | (l)) | 
| #define HY_CFUNC | 
| #define HY_CDATA | 
| #define READSVMTHREAD | 
Macros for tagging functions which read/write the vm thread.
| #define WRITESVMTHREAD | 
| #define REQUIRESSTACKFRAME | 
| #define NORETURN | 
Macro for tagging functions, which never return.
| #define PTR_LONG_STORE | ( | dstPtr, | |||
| aLongPtr | ) | (*(dstPtr) = *(aLongPtr)) | 
Macros for accessing I_64 values.
| #define PTR_LONG_VALUE | ( | dstPtr, | |||
| aLongPtr | ) | (*(aLongPtr) = *(dstPtr)) | 
| #define HYCONST_TABLE const | 
Macro used when declaring tables which require relocations.
| #define HY_SORT | ( | base, | |||
| nmemb, | |||||
| size, | |||||
| compare | ) | qsort((base), (nmemb), (size), (compare)) | 
ANSI qsort is not always available.
| typedef __int64 I_64 | 
Provide some reasonable defaults for the VM types:.
UDATA - unsigned data, can be used as an integer or pointer storage IDATA - signed data, can be used as an integer or pointer storage U_64 / I_64 - unsigned/signed 64 bits U_32 / I_32 - unsigned/signed 32 bits U_16 / I_16 - unsigned/signed 16 bits U_8 / I_8 - unsigned/signed 8 bits (bytes -- not to be confused with char) BOOLEAN - something that can be zero or non-zero | typedef unsigned __int64 U_64 | 
| typedef double SYS_FLOAT | 
| typedef unsigned int UDATA | 
| typedef unsigned int U_32 | 
| typedef unsigned short U_16 | 
| typedef unsigned char U_8 | 
| typedef int IDATA | 
| typedef int I_32 | 
| typedef short I_16 | 
| typedef char I_8 | 
| typedef double ESDOUBLE | 
| typedef float ESSINGLE | 
Genereated on Tue Mar 11 19:25:45 2008 by Doxygen.
(c) Copyright 2005, 2008 The Apache Software Foundation or its licensors, as applicable.