summaryrefslogtreecommitdiff
path: root/src/kernel/ipc/shm.h
diff options
context:
space:
mode:
authorAlexis211 <alexis211@gmail.com>2010-03-02 17:21:32 +0100
committerAlexis211 <alexis211@gmail.com>2010-03-02 17:21:32 +0100
commit6266a24cd2f71a0bad0e55c1eedd480790868c0f (patch)
treecc0c8c9f36ffa29ee3a1aa3ebafaff05f654e442 /src/kernel/ipc/shm.h
parent3e1998280319e8060e797ca39b3b0b1bc766d569 (diff)
downloadTCE-6266a24cd2f71a0bad0e55c1eedd480790868c0f.tar.gz
TCE-6266a24cd2f71a0bad0e55c1eedd480790868c0f.zip
old uncommited changes commited
Diffstat (limited to 'src/kernel/ipc/shm.h')
-rw-r--r--src/kernel/ipc/shm.h24
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
+