RTS tidyup sweep, first phase
[ghc-hetmet.git] / includes / rts / Types.h
diff --git a/includes/rts/Types.h b/includes/rts/Types.h
new file mode 100644 (file)
index 0000000..6f399e0
--- /dev/null
@@ -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 */