diff options
Diffstat (limited to 'src/kernel/include/process.h')
-rw-r--r-- | src/kernel/include/process.h | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/kernel/include/process.h b/src/kernel/include/process.h index 82ba8dd..c9615d7 100644 --- a/src/kernel/include/process.h +++ b/src/kernel/include/process.h @@ -24,8 +24,18 @@ #define USERSTACK_ADDR 0xB8000000 #define USERSTACK_SIZE 0x00020000 // 32 KB -struct process; -typedef struct process process_t; +struct user_region; +typedef struct process { + pagedir_t *pd; + struct user_region *regions; + + hashtbl_t *filesystems; + + thread_t *thread; + + int pid; + struct process *parent; +} process_t; typedef void* proc_entry_t; @@ -34,9 +44,6 @@ process_t *current_process(); process_t *new_process(process_t *parent); // void delete_process(process_t *p); // TODO define semantics for freeing stuff -pagedir_t *proc_pagedir(process_t *p); -int proc_pid(process_t *p); - bool start_process(process_t *p, proc_entry_t entry); // maps a region for user stack bool proc_add_fs(process_t *p, fs_t *fs, const char* name); |