Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
Loading...
Searching...
No Matches
process.h
Go to the documentation of this file.
1#ifndef __PROCC__PROCESS_H__
2#define __PROCC__PROCESS_H__
4#include "memory/vm_manager.h"
5#include "spinlock.h"
6#include <type.h>
8#define MAX_PID_ALLOWED 4194304
9#define INVALID_PID ((pid_t)-1)
16};
17
21};
22
23// TODO: move paging page information into here
24struct thread;
25typedef struct process {
28
29 char name[64];
30
34 bool exited;
35
37
42
43 // linked list
44 struct process* next;
45 struct process* prev;
46} __attribute__((aligned(64))) process_t;
47
48struct thread;
49
51void free_pid(pid_t pid);
52
53process_t* create_process(char* name, struct thread* main_thread);
54int execve(const char* path, char* const argv[], char* const envp[]);
55
56#endif // __PROCC__PROCESS_H__
kstring name
Definition dentry.h:5
typedef __attribute__
Definition msi.c:47
int execve(const char *path, char *const *argv, char *const *envp)
Definition process.c:173
process_t * create_process(char *name, thread_t *main_thread)
Definition process.c:552
pid_t alloc_pid(void)
Definition process.c:529
void free_pid(pid_t pid)
Definition process.c:546
struct thread * main_thread
Definition process.h:5
uint32_t pid_t
Definition process.h:11
pid_t pid
Definition process.h:0
struct process_node * first
Definition process.h:15
struct process_node * prev
Definition process.h:20
struct process_node * next
Definition process.h:19
pid_t parent_pid
Definition process.h:27
spinlock_t vm_lock
Definition process.h:40
uintptr_t heap_end
Definition process.h:39
struct fdtable * fdtable
Definition process.h:32
struct virtual_memory_page * vm_page
Definition process.h:41
uintptr_t heap_start
Definition process.h:38
struct process_node cache
Definition process.h:36
bool exited
Definition process.h:34
struct process * next
Definition process.h:44
pid_t pid
Definition process.h:26
struct thread * main_thread
Definition process.h:31
struct process * prev
Definition process.h:45
char name[64]
Definition process.h:29
int exit_code
Definition process.h:33
unsigned int uint32_t
Definition type.h:19
unsigned long uintptr_t
Definition type.h:73
kstring path
Definition voxmo.h:7