Added public files
Roughly added all public files. Probably missed some, though.
diff --git a/sys/erq.h b/sys/erq.h
new file mode 100644
index 0000000..3d0edfd
--- /dev/null
+++ b/sys/erq.h
@@ -0,0 +1,59 @@
+/* external request demon interface definitions */
+
+#ifndef LPC__ERQ_H__
+#define LPC__ERQ_H__ 1
+
+/* servive request types */
+
+#define ERQ_RLOOKUP 0 /* Lookup ip -> name */
+#define ERQ_EXECUTE 1 /* Execute a program */
+#define ERQ_FORK 2 /* Fork a program */
+#define ERQ_AUTH 3 /* Connect to a remote authd */
+#define ERQ_SPAWN 4 /* Spawn a program */
+#define ERQ_SEND 5 /* Send data to a program or connection */
+#define ERQ_KILL 6 /* Kill a program or connection */
+#define ERQ_OPEN_UDP 7 /* Open a UDP socket */
+#define ERQ_OPEN_TCP 8 /* Open a TCP connection */
+#define ERQ_LISTEN 9 /* Open a TCP accept-socket */
+#define ERQ_ACCEPT 10 /* Accept a connection from a accept-socket */
+#define ERQ_LOOKUP 11 /* Lookup name -> ip */
+
+#ifdef __IPV6__
+#define ERQ_RLOOKUPV6 12 /* Lookup name/ip6 */
+#endif
+
+/* Additional service request type flags evaluated by efun send_erq().
+ * The ERQ itself won't get to see it.
+ */
+
+#define ERQ_CB_STRING (1 << 31) /* Callback closure takes a string arg */
+
+
+/* answers from ERQ_EXECUTE / ERQ_FORK */
+
+#define ERQ_OK 0
+#define ERQ_SIGNALED 1
+#define ERQ_E_NOTFOUND 2 /* process not found by wait */
+#define ERQ_E_UNKNOWN 3 /* unknown exit condition from wait() */
+#define ERQ_E_ARGLENGTH 4
+#define ERQ_E_ARGFORMAT 5
+#define ERQ_E_ARGNUMBER 6
+#define ERQ_E_ILLEGAL 7
+#define ERQ_E_PATHLEN 8
+#define ERQ_E_FORKFAIL 9
+#define ERQ_E_TICKET 11
+#define ERQ_E_INCOMPLETE 12
+#define ERQ_E_WOULDBLOCK 13
+#define ERQ_E_PIPE 14
+#define ERQ_STDOUT 15 /* Normal data received */
+#define ERQ_STDERR 16
+#define ERQ_EXITED 17 /* Connection closed on EOF */
+#define ERQ_E_NSLOTS 18
+
+/* reserved handles */
+
+#define ERQ_HANDLE_RLOOKUP (-1)
+#define ERQ_HANDLE_KEEP_HANDLE (-2)
+#define ERQ_HANDLE_RLOOKUPV6 (-3)
+
+#endif /* LPC__ERQ_H__ */