diff options
Diffstat (limited to 'src/kernel/ipc/shm.h')
-rw-r--r-- | src/kernel/ipc/shm.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/kernel/ipc/shm.h b/src/kernel/ipc/shm.h new file mode 100644 index 0000000..b409955 --- /dev/null +++ b/src/kernel/ipc/shm.h @@ -0,0 +1,24 @@ +#ifndef DEF_SHM_H +#define DEF_SHM_H + +#include <task/task.h> + +struct shmseg { + size_t len; + uint32_t *frames; + struct process* owner; +}; + +//Shared memory segment stuff +struct segment* shmseg_make(size_t len, struct process* owner); +struct segment_map* shmseg_map(struct segment* seg, struct page_directory *pagedir, size_t offset); +void shmseg_unmap(struct segment_map*); +void shmseg_delete(struct segment *seg); +int shmseg_handleFault(struct segment_map *map, size_t addr, int write); + +//Shared memory syscalls +void shm_create(size_t offset, size_t len); +void shm_delete(size_t offset); + +#endif + |