ApertureOS
process_man.h
Go to the documentation of this file.
1 #ifndef _PROC_MAN_H_
2 #define _PROC_MAN_H_
3 
4 #include "types.h"
5 #include "processors.h"
6 #include "managers.h"
7 
8 #define MAX_PROC_NAME_LEN 128
9 
10 typedef enum
11 {
16 }PROC_FLAGS;
17 
18 typedef struct ProcessInfo
19 {
20  uint32_t flags;
22  const char name[MAX_PROC_NAME_LEN];
23  const char *path;
26  struct ProcessInfo *next;
28 
29 void
31 
32 UID
34  const char *path,
35  uint32_t argc,
36  char **argv,
38  uint32_t flags);
39 uint32_t
41 
42 
43 UID
45 
46 uint32_t
48 
51 
52 UID
54 
55 uint32_t
57 
58 
59 #endif
UID uid
Definition: process_man.h:21
Definition: process_man.h:13
UID ProcessManager_GetCurPID(void)
Definition: process_man.c:115
uint64_t UID
Definition: types.h:8
const char * path
Definition: process_man.h:23
uint32_t flags
Definition: process_man.h:20
ProcessInfo * ProcessManager_GetCurProcessInfo(void)
Definition: process_man.c:108
Definition: process_man.h:18
void ProcessManager_Initialize(void)
Definition: process_man.c:8
struct ProcessInfo * parent
Definition: process_man.h:24
UID ProcessManager_CreateProcess(const char *name, const char *path, uint32_t argc, char **argv, ProcessInfo *parent, uint32_t flags)
Definition: process_man.c:39
Definition: process_man.h:15
const char name[MAX_PROC_NAME_LEN]
Definition: process_man.h:22
uint32_t ProcessManager_ForkProcess_Syscall(void *param)
Definition: process_man.c:102
struct ProcessInfo * next
Definition: process_man.h:26
PROC_FLAGS
Definition: process_man.h:10
Definition: process_man.h:12
Definition: process_man.h:14
uint32_t ProcessManager_CreateProcess_Syscall(void *param)
Definition: process_man.c:89
uint32_t ProcessManager_GetCurPID_Syscall(void *param)
Definition: process_man.c:121
struct ProcessInfo * children
Definition: process_man.h:25
#define MAX_PROC_NAME_LEN
Definition: process_man.h:8
UID ProcessManager_ForkProcess(UID to_fork)
Definition: process_man.c:96