Karg  v0.2.0
The kernel of CargOS
proc.h File Reference
#include <config.h>
#include <fd.h>
#include <list.h>
#include <timer.h>

Go to the source code of this file.

Classes

struct  proc
 

Macros

#define PROC_FLAG_KERN   0x1
 

Typedefs

typedef i32 pid_t
 
typedef struct proc proc_t
 

Enumerations

enum  proc_state_t {
  PROC_STATE_INIT , PROC_STATE_READY , PROC_STATE_CURR , PROC_STATE_WAIT_SEM ,
  PROC_STATE_WAIT_CHILD , PROC_STATE_SLEEP , PROC_STATE_ZOMBIE
}
 

Functions

i32 proc_init (proc_t *proc, void *entry, u32 flags, proc_t *parent, i32 argc, const char **argv, void *page_table)
 
void proc_deinit (proc_t *proc)
 
void proc_ctx_sw (proc_t *old_proc, proc_t *new_proc)
 
void proc_adopt (proc_t *new_parent, proc_t *proc)
 
bool proc_is_bad_fd (const proc_t *proc, i32 fd)
 

Variables

proc_tproc_table []
 

Macro Definition Documentation

◆ PROC_FLAG_KERN

#define PROC_FLAG_KERN   0x1

Typedef Documentation

◆ pid_t

typedef i32 pid_t

◆ proc_t

typedef struct proc proc_t

Enumeration Type Documentation

◆ proc_state_t

Enumerator
PROC_STATE_INIT 
PROC_STATE_READY 
PROC_STATE_CURR 
PROC_STATE_WAIT_SEM 
PROC_STATE_WAIT_CHILD 
PROC_STATE_SLEEP 
PROC_STATE_ZOMBIE 

Function Documentation

◆ proc_adopt()

void proc_adopt ( proc_t new_parent,
proc_t proc 
)

◆ proc_ctx_sw()

void proc_ctx_sw ( proc_t old_proc,
proc_t new_proc 
)

◆ proc_deinit()

void proc_deinit ( proc_t proc)

◆ proc_init()

i32 proc_init ( proc_t proc,
void *  entry,
u32  flags,
proc_t parent,
i32  argc,
const char **  argv,
void *  page_table 
)

◆ proc_is_bad_fd()

bool proc_is_bad_fd ( const proc_t proc,
i32  fd 
)

Variable Documentation

◆ proc_table

proc_t* proc_table[]
extern