Usermode - Working on new build/makefile system
[tpg/acess2.git] / Kernel / include / threads_int.h
index ed2af53..6516b35 100644 (file)
@@ -6,6 +6,7 @@
 #define _THREADS_INT_H_
 
 #include <threads.h>
+#include <proc.h>
 
 /**
  * \brief IPC Message
@@ -77,6 +78,7 @@ enum {
        THREAD_STAT_SLEEPING,   // Message Sleep
        THREAD_STAT_MUTEXSLEEP, // Mutex Sleep
        THREAD_STAT_SEMAPHORESLEEP,     // Semaphore Sleep
+       THREAD_STAT_QUEUESLEEP, // Queue
        THREAD_STAT_WAITING,    // ??? (Waiting for a thread)
        THREAD_STAT_PREINIT,    // Being created
        THREAD_STAT_ZOMBIE,     // Died/Killed, but parent not informed
@@ -89,6 +91,7 @@ static const char * const casTHREAD_STAT[] = {
        "THREAD_STAT_SLEEPING",
        "THREAD_STAT_MUTEXSLEEP",
        "THREAD_STAT_SEMAPHORESLEEP",
+       "THREAD_STAT_QUEUESLEEP",
        "THREAD_STAT_WAITING",
        "THREAD_STAT_PREINIT",
        "THREAD_STAT_ZOMBIE",
@@ -98,6 +101,7 @@ static const char * const casTHREAD_STAT[] = {
 
 // === GLOBALS ===
 extern BOOL    gaThreads_NoTaskSwitch[MAX_CPUS];
+extern tShortSpinlock  glThreadListLock;
 
 // === FUNCTIONS ===
 extern tThread *Proc_GetCurThread(void);
@@ -108,9 +112,10 @@ extern int Threads_Wake(tThread *Thread);
 extern void    Threads_Kill(tThread *Thread, int Status);
 extern void    Threads_AddActive(tThread *Thread);
 extern tThread *Threads_RemActive(void);
+extern void    Threads_Delete(tThread *Thread);
 extern tThread *Threads_GetNextToRun(int CPU, tThread *Last);
 
-extern tThread *Threads_CloneTCB(Uint *Err, Uint Flags);
+extern tThread *Threads_CloneTCB(Uint Flags);
 extern tThread *Threads_CloneThreadZero(void);
 
 #endif

UCC git Repository :: git.ucc.asn.au