ApertureOS
Functions | Variables
threads.c File Reference
#include "threads.h"
#include "drivers.h"
#include "managers.h"
#include "utils/common.h"
#include "gdt.h"
Include dependency graph for threads.c:

Functions

uint32_t threadMan_Initialize ()
 
uint8_t threadMan_messageHandler (Message *msg)
 
void kernel_main (int, char **)
 
void ThreadMan_Setup (void)
 
void threadMan_IDTHandler ()
 
void threadMan_InterruptHandler (Registers *regs)
 
UID ThreadMan_CreateThread (ProcessEntryPoint entry, int argc, char **argv, uint32_t flags)
 
void ThreadMan_StartThread (UID id)
 
void ThreadMan_ExitThread (UID id)
 
void ThreadMan_DeleteThread (UID id)
 
void ThreadMan_Yield (void)
 
UID ThreadMan_GetCurThreadID (void)
 
void * ThreadMan_GetCurThreadTLS (void)
 
void * ThreadMan_GetThreadTLS (UID id)
 
void ThreadMan_Lock (void)
 
void ThreadMan_Unlock (void)
 

Variables

SystemDatathread_sys = NULL
 
uint32_t lock_num = 0
 
bool thread_lock = FALSE
 
Threadthreads
 
ThreadcurThread
 
ThreadlastThread
 
UID uidBase = 0
 
static uint32_t curCallNum = 0
 
static uint32_t callNumWhereThreadsDisabled = 0
 

Function Documentation

void kernel_main ( int  ,
char **   
)
UID ThreadMan_CreateThread ( ProcessEntryPoint  entry,
int  argc,
char **  argv,
uint32_t  flags 
)
void ThreadMan_DeleteThread ( UID  id)
void ThreadMan_ExitThread ( UID  id)
UID ThreadMan_GetCurThreadID ( void  )
void* ThreadMan_GetCurThreadTLS ( void  )
void* ThreadMan_GetThreadTLS ( UID  id)
void threadMan_IDTHandler ( )
uint32_t threadMan_Initialize ( void  )
void threadMan_InterruptHandler ( Registers regs)
void ThreadMan_Lock ( void  )
uint8_t threadMan_messageHandler ( Message msg)
void ThreadMan_Setup ( void  )
void ThreadMan_StartThread ( UID  id)
void ThreadMan_Unlock ( void  )
void ThreadMan_Yield ( void  )

Variable Documentation

uint32_t callNumWhereThreadsDisabled = 0
static
uint32_t curCallNum = 0
static
Thread * curThread
Thread * lastThread
uint32_t lock_num = 0
bool thread_lock = FALSE
SystemData* thread_sys = NULL
Thread* threads
UID uidBase = 0