#include <threads.h>
#include <proc.h>
-
typedef struct sProcess tProcess;
/**
*/
struct sProcess
{
+ struct sProcess *Next;
+ tPGID PGID;
tPID PID;
+
int nThreads;
+ struct sThread *FirstThread;
tUID UID; //!< User ID
tGID GID; //!< User and Group
struct sThread *Next;
struct sThread *GlobalNext; //!< Next thread in global list
struct sThread *GlobalPrev; //!< Previous thread in global list
+ struct sThread *ProcessNext;
tShortSpinlock IsLocked; //!< Thread's spinlock
volatile int Status; //!< Thread Status
void *WaitPointer; //!< What (Mutex/Thread/other) is the thread waiting on
extern tShortSpinlock glThreadListLock;
// === FUNCTIONS ===
-extern tThread *Proc_GetCurThread(void);
-
extern tThread *Threads_GetThread(Uint TID);
extern void Threads_SetPriority(tThread *Thread, int Pri);
extern int Threads_Wake(tThread *Thread);