Trac #9878: Make the static form illegal in interpreted mode.
[ghc.git] / includes / rts / Types.h
1 /* -----------------------------------------------------------------------------
2 *
3 * (c) The GHC Team, 1998-2009
4 *
5 * RTS-specific types.
6 *
7 * Do not #include this file directly: #include "Rts.h" instead.
8 *
9 * To understand the structure of the RTS headers, see the wiki:
10 * http://ghc.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
11 *
12 * ---------------------------------------------------------------------------*/
13
14 #ifndef RTS_TYPES_H
15 #define RTS_TYPES_H
16
17 #include <stddef.h>
18
19 typedef unsigned int nat; /* at least 32 bits (like int) */
20
21 // Deprecated; just use StgWord instead
22 typedef StgWord lnat;
23
24 /* ullong (64|128-bit) type: only include if needed (not ANSI) */
25 #if defined(__GNUC__)
26 #define LL(x) (x##LL)
27 #else
28 #define LL(x) (x##L)
29 #endif
30
31 typedef enum {
32 rtsFalse = 0,
33 rtsTrue
34 } rtsBool;
35
36 typedef struct StgClosure_ StgClosure;
37 typedef struct StgInfoTable_ StgInfoTable;
38 typedef struct StgTSO_ StgTSO;
39
40 #endif /* RTS_TYPES_H */