diff options
| author | Kimplul <kimi.h.kuparinen@gmail.com> | 2021-12-27 20:40:44 +0200 |
|---|---|---|
| committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2021-12-27 20:40:44 +0200 |
| commit | a12e50e5a7dae52ed8bd5a24cc6576371e20985b (patch) | |
| tree | 70ddf625029dbe1ca4d38ec4f1819fe5fe7e4291 /common/uapi/ipc.c | |
| parent | d98ec57128628b81fcd32269a92742a037b7f713 (diff) | |
| download | kmi-a12e50e5a7dae52ed8bd5a24cc6576371e20985b.tar.gz kmi-a12e50e5a7dae52ed8bd5a24cc6576371e20985b.zip | |
Started work on syscalls
Diffstat (limited to 'common/uapi/ipc.c')
| -rw-r--r-- | common/uapi/ipc.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/common/uapi/ipc.c b/common/uapi/ipc.c new file mode 100644 index 0000000..5abbaeb --- /dev/null +++ b/common/uapi/ipc.c @@ -0,0 +1,28 @@ +#include <apos/uapi.h> +#include <apos/tcb.h> + +vm_t sys_ipc_server(vm_t callback, vm_t u0, vm_t u1, vm_t u2) +{ + UNUSED(u0); UNUSED(u1); UNUSED(u2); + struct tcb *r = cur_tcb(); + if(r->callback) /* server can't be reinitialized */ + return 1; + + r->callback = callback; + return 0; +} + +vm_t sys_ipc_req(vm_t pid, vm_t d0, vm_t d1, vm_t d2) +{ + struct tcb *t = get_tcb(pid); + /* something like jump_to_callback(t, d0, d1, d2) */ + return 0; +} + +vm_t sys_ipc_resp(vm_t pid, vm_t ret, vm_t u0, vm_t u1) +{ + UNUSED(u0); UNUSED(u1); + struct tcb *r = get_tcb(pid); + /* something like return_from_callback(t, r) */ + return 0; /* oh yeah probably unreachable? */ +} |
