00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef BASIC_TYPES_INCLUDED
00028 #include "xsb_config.h"
00029 #include "cell_def_xsb.h"
00030
00031
00032
00033
00034
00035
00036 #ifdef BITS64
00037 typedef long prolog_int ;
00038 typedef long Integer ;
00039 typedef unsigned long UInteger ;
00040 #define MY_MAXINT ((long)0x7fffffffffffff)
00041 #else
00042 typedef int prolog_int ;
00043 typedef int Integer ;
00044 typedef unsigned int UInteger ;
00045 #define MY_MAXINT ((int)0x7fffffff)
00046 #endif
00047 #define MY_MININT (-MY_MAXINT - 1)
00048 typedef double prolog_float;
00049
00050 #ifndef FAST_FLOATS
00051 typedef double Float;
00052 #else
00053 typedef float Float;
00054 #endif
00055
00056
00057
00058 typedef int reg_num;
00059
00060
00061
00062
00063
00064 typedef unsigned long prolog_term;
00065
00066 typedef short xsbBool;
00067
00068 #ifndef __RPCNDR_H__
00069 typedef unsigned char byte;
00070 #endif
00071 typedef unsigned int counter;
00072 typedef unsigned long word;
00073 typedef byte *pb;
00074 typedef word *pw;
00075 typedef int (*PFI)(void);
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085 typedef union float_conv {
00086 Cell i;
00087 float f;
00088 } FloatConv;
00089
00090 typedef union float_to_ints_conv {
00091 Float float_val;
00092 struct {
00093 UInteger high;
00094 UInteger low;
00095 }int_vals;
00096
00097 } FloatToIntsConv;
00098
00099 typedef union cell_to_bytes_conv {
00100 Cell cell_val;
00101 struct {
00102 byte b1;
00103 byte b2;
00104 byte b3;
00105 byte b4;
00106 }byte_vals;
00107
00108 } CellToBytesConv;
00109
00110
00111 #endif
00112
00113 #define BASIC_TYPES_INCLUDED