#ifndef _PROC_H
#define _PROC_H
-#include <threads_int.h>
-
// === TYPES ==
typedef struct sTSS {
Uint32 Link;
Uint16 Resvd, IOPB; // IO Permissions Bitmap
} __attribute__((packed)) tTSS;
-// === FUNCTIONS ===
-extern void Proc_Start(void);
-extern int Proc_Clone(Uint *Err, Uint Flags);
+typedef struct {
+ #if USE_PAE
+ Uint PDPT[4];
+ #else
+ Uint32 CR3;
+ #endif
+} tMemoryState;
+
+// 512 bytes, 16 byte aligned
+typedef struct sSSEState
+{
+ char data[512];
+} tSSEState;
+
+typedef struct {
+ Uint EIP, ESP;
+ Uint32 UserCS, UserEIP;
+ tSSEState *SSE;
+ int bSSEModified;
+} tTaskState;
+
+#include <threads_int.h>
+
+#define USER_MAX KERNEL_BASE
#endif