X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=includes%2Frts%2FTypes.h;fp=includes%2Frts%2FTypes.h;h=6f399e083d3697f774f1fbb1ee553abf60511bf8;hb=a2a67cd520b9841114d69a87a423dabcb3b4368e;hp=0000000000000000000000000000000000000000;hpb=5d379cbe65e406d5c3a848fe7fcd090cafbfeb78;p=ghc-hetmet.git diff --git a/includes/rts/Types.h b/includes/rts/Types.h new file mode 100644 index 0000000..6f399e0 --- /dev/null +++ b/includes/rts/Types.h @@ -0,0 +1,42 @@ +/* ----------------------------------------------------------------------------- + * + * (c) The GHC Team, 1998-2008 + * + * RTS-specific types. + * + * ---------------------------------------------------------------------------*/ + +/* ------------------------------------------------------------------------- + Generally useful typedefs + ------------------------------------------------------------------------- */ + +#ifndef RTS_TYPES_H +#define RTS_TYPES_H + +typedef unsigned int nat; /* at least 32 bits (like int) */ +typedef unsigned long lnat; /* at least 32 bits */ +#ifndef _MSC_VER +typedef unsigned long long ullong; /* at least 32 bits */ +typedef long long llong; +#else +typedef unsigned __int64 ullong; /* at least 32 bits */ +typedef __int64 llong; +#endif + +/* ullong (64|128-bit) type: only include if needed (not ANSI) */ +#if defined(__GNUC__) +#define LL(x) (x##LL) +#else +#define LL(x) (x##L) +#endif + +typedef enum { + rtsFalse = 0, + rtsTrue +} rtsBool; + +typedef struct StgClosure_ StgClosure; +typedef struct StgInfoTable_ StgInfoTable; +typedef struct StgTSO_ StgTSO; + +#endif /* RTS_TYPES_H */