Move the Process typedef to proc.h
diff --git a/ltrace-elf.h b/ltrace-elf.h
index 4da8a0a..507a466 100644
--- a/ltrace-elf.h
+++ b/ltrace-elf.h
@@ -3,6 +3,7 @@
 
 #include <gelf.h>
 #include <stdlib.h>
+#include "proc.h"
 
 struct ltelf {
 	int fd;
diff --git a/ltrace.h b/ltrace.h
index b5ea034..fe3d6ed 100644
--- a/ltrace.h
+++ b/ltrace.h
@@ -21,11 +21,10 @@
 	EVENT_MAX
 };
 
-typedef struct Process Process;
 typedef struct Event Event;
 struct Event {
 	struct Event * next;
-	Process * proc;
+	struct Process * proc;
 	Event_type type;
 	union {
 		int ret_val;     /* EVENT_EXIT */
diff --git a/proc.h b/proc.h
index 75062ad..9b80556 100644
--- a/proc.h
+++ b/proc.h
@@ -47,6 +47,7 @@
  * have Process for the whole group and Task for what's there for
  * per-thread stuff.  But for now this is the less invasive way of
  * structuring it.  */
+typedef struct Process Process;
 struct Process {
 	enum process_state state;
 	Process * parent;         /* needed by STATE_BEING_CREATED */