Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/sys/lpctypes.h b/sys/lpctypes.h
new file mode 100644
index 0000000..3187d6b
--- /dev/null
+++ b/sys/lpctypes.h
@@ -0,0 +1,64 @@
+#ifndef LPC_LPCTYPES_H
+#define LPC_LPCTYPES_H
+
+/* compile time types, from functionlist() */
+
+#define TYPE_UNKNOWN    0       /* This type must be casted */
+#define TYPE_NUMBER     1
+#define TYPE_STRING     2
+#define TYPE_VOID       3
+#define TYPE_OBJECT     4
+#define TYPE_MAPPING    5
+#define TYPE_FLOAT      6
+#define TYPE_ANY        7       /* Will match any type */
+#define TYPE_CLOSURE    8
+#define TYPE_SYMBOL     9
+#define TYPE_QUOTED_ARRAY 10
+#define TYPE_STRUCT     11
+
+#define TYPE_MOD_POINTER        0x0040  /* Pointer to a basic type        */
+
+/* runtime types, from typeof() */
+
+#define T_INVALID       0x0
+#define T_LVALUE        0x1
+#define T_NUMBER        0x2
+#define T_STRING        0x3
+#define T_POINTER       0x4
+#define T_OBJECT        0x5
+#define T_MAPPING       0x6
+#define T_FLOAT         0x7
+#define T_CLOSURE       0x8
+#define T_SYMBOL        0x9
+#define T_QUOTED_ARRAY  0xa
+#define T_STRUCT        0xb
+
+/* Closure types, stored as secondary type info */
+
+#ifndef __DRIVER_SOURCE__
+
+#define CLOSURE_LFUN            0  /* lfun in an object */
+  /* Code 1: currently unused, used to be CLOSURE_ALIEN_LFUN */
+#define CLOSURE_IDENTIFIER      2  /* variable in this object */
+#define CLOSURE_PRELIMINARY     3
+    /* Efun closure used in a static initialization */
+#define CLOSURE_BOUND_LAMBDA    4  /* Bound unbound-lambda closure */
+#define CLOSURE_LAMBDA          5  /* normal lambda closure */
+#define CLOSURE_UNBOUND_LAMBDA  6  /* unbound lambda closure. */
+
+#define CLOSURE_OPERATOR        (0xe800)
+#define CLOSURE_EFUN            (0xf000)
+#define CLOSURE_SIMUL_EFUN      (0xf800)
+
+#define CLOSURE_IS_LFUN(x)		(((x)&~1) == 0)
+#define CLOSURE_IS_IDENTIFIER(x)	((x) == CLOSURE_IDENTIFIER)
+#define CLOSURE_IS_BOUND_LAMBDA(x)	((x) == CLOSURE_BOUND_LAMBDA)
+#define CLOSURE_IS_LAMBDA(x)		((x) == CLOSURE_LAMBDA)
+#define CLOSURE_IS_UNBOUND_LAMBDA(x)	((x) == CLOSURE_UNBOUND_LAMBDA)
+#define CLOSURE_IS_SIMUL_EFUN(x) (((x) & 0xf800) == CLOSURE_SIMUL_EFUN)
+#define CLOSURE_IS_EFUN(x)	 (((x) & 0xf800) == CLOSURE_EFUN)
+#define CLOSURE_IS_OPERATOR(x)	 (((x) & 0xf800) == CLOSURE_OPERATOR)
+
+#endif /* __DRIVER_SOURCE__ */
+
+#endif /* LPC_LPCTYPES_H */