diff options
Diffstat (limited to 'src/kernel/ipc/request.h')
-rw-r--r-- | src/kernel/ipc/request.h | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/src/kernel/ipc/request.h b/src/kernel/ipc/request.h index bf90c68..4a35dc3 100644 --- a/src/kernel/ipc/request.h +++ b/src/kernel/ipc/request.h @@ -10,13 +10,12 @@ struct request { struct object *obj; - struct thread *requester; - uint32_t func, param1, param2, param3; - struct seg_map *shm_cli, *shm_srv; - int answerType; + struct thread *requester; //0 if nonblocking message + uint32_t func, params[3]; + struct seg_map *shm_srv[3], *shm_cli[3]; union { - int num; - struct object* obj; + int64_t ll; + uint32_t n; } answer; }; @@ -25,5 +24,14 @@ struct user_request { int hasShm; }; +//syscalls +int request_get(int obj, uint32_t ptr, int wait); +int request_has(int obj); +void request_answer(int obj, uint32_t answer); +int request_mapShm(int obj, uint32_t pos, int number); + +int request(int obj, uint32_t func, uint32_t a, uint32_t b, uint32_t c, uint32_t answerptr); +int send_msg(int obj, uint32_t func, uint32_t a, uint32_t b, uint32_t c); + #endif |