diff options
author | Alexis211 <alexis211@gmail.com> | 2010-03-24 15:40:16 +0100 |
---|---|---|
committer | Alexis211 <alexis211@gmail.com> | 2010-03-24 15:40:16 +0100 |
commit | dbfa8cae66811247e5110e2e17f1c6ae5d1b2bcd (patch) | |
tree | 793b49a6b89c1113c74ae3ee97d197f6070cb7a7 /src/include/gc | |
parent | cbadacbb881200b601c7b53b29aa0c1b78747692 (diff) | |
download | TCE-dbfa8cae66811247e5110e2e17f1c6ae5d1b2bcd.tar.gz TCE-dbfa8cae66811247e5110e2e17f1c6ae5d1b2bcd.zip |
IPC not tested but suposedly working.
Diffstat (limited to 'src/include/gc')
-rw-r--r-- | src/include/gc/syscall.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/include/gc/syscall.h b/src/include/gc/syscall.h index 4001420..5287d85 100644 --- a/src/include/gc/syscall.h +++ b/src/include/gc/syscall.h @@ -1,8 +1,28 @@ #ifndef DEF_SYSCALL_H #define DEF_SYSCALL_H +typedef unsigned long long uint64_t; +typedef unsigned int uint32_t; +typedef unsigned short uint16_t; +typedef unsigned char uint8_t; +typedef long long int64_t; +typedef int int32_t; +typedef short int16_t; +typedef char int8_t; + typedef unsigned size_t; +struct user_request { + uint32_t func, params[3]; + int isBlocking; // 1 : blocking request, 0 : nonblocking request (message) +}; + +struct user_sendrequest { + uint32_t func, a, b, c; + uint32_t answeri; + int64_t answerll; +}; + void thread_exit(); void schedule(); void thread_sleep(int time); @@ -13,5 +33,14 @@ void irq_wait(int number); int proc_priv(); int shm_create(size_t offset, size_t length); int shm_delete(size_t offset); +int object_create(); +int object_owned(int descriptor); +void object_close(int descriptor); +int request_get(int descriptor, struct user_request *rq, int wait); +int request_has(int descriptor); +void request_answer(int descriptor, int answer1, int answer2); +int request_mapShm(int descriptor, size_t offset, int number); +int request(int descriptor, struct user_sendrequest *rq); +int send_msg(int descriptor, struct user_sendrequest *rq); #endif |