diff options
| author | Kimplul <kimi.h.kuparinen@gmail.com> | 2022-06-12 16:18:47 +0300 |
|---|---|---|
| committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2022-06-12 16:18:47 +0300 |
| commit | 62fc51338d7259c2ea39f38bd8c7d9552e9b2002 (patch) | |
| tree | 87eb670ed58b3ce0d5c0e2ad39f5c633d9e10e40 /common/uapi/ipc.c | |
| parent | 6c529c5c6c2d016d77b143171c5e27fbec0d2bfd (diff) | |
| download | kmi-62fc51338d7259c2ea39f38bd8c7d9552e9b2002.tar.gz kmi-62fc51338d7259c2ea39f38bd8c7d9552e9b2002.zip | |
doxygen shows no warnings
+ Does not mean documentation is done, but it's a nice little
achievement nonetheless.
Diffstat (limited to 'common/uapi/ipc.c')
| -rw-r--r-- | common/uapi/ipc.c | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/common/uapi/ipc.c b/common/uapi/ipc.c index 8584673..4cdec0c 100644 --- a/common/uapi/ipc.c +++ b/common/uapi/ipc.c @@ -9,6 +9,13 @@ #include <apos/uapi.h> #include <apos/tcb.h> +/** + * IPC server notification syscall handler. + * + * @param callback Address of server callback. + * @return \ref ERR_EXT and \c 0 if process already is a server, + * \ref OK and \c 0 otherwise. + */ SYSCALL_DEFINE1(ipc_server)(sys_arg_t callback) { struct tcb *r = cur_tcb(); @@ -19,6 +26,14 @@ SYSCALL_DEFINE1(ipc_server)(sys_arg_t callback) return (struct sys_ret){ OK, 0 }; } +/** + * IPC request syscall handler. + * + * @param pid Process to request RPC to. + * @param d0 IPC argument 0. + * @param d1 IPC argument 1. + * @return \c d0 and \c d1. + */ SYSCALL_DEFINE3(ipc_req)(sys_arg_t pid, sys_arg_t d0, sys_arg_t d1) { struct tcb *r = get_tcb(pid); @@ -27,13 +42,28 @@ SYSCALL_DEFINE3(ipc_req)(sys_arg_t pid, sys_arg_t d0, sys_arg_t d1) return (struct sys_ret){ d0, d1 }; } -SYSCALL_DEFINE3(ipc_fwd)(sys_arg_t tid, sys_arg_t d0, sys_arg_t d1) +/** + * IPC forwarding syscall handler. + * + * @param pid Process to rquest RPC to. + * @param d0 IPC argument 0. + * @param d1 IPC argument 1. + * @return \c d0 and \c d1. + */ +SYSCALL_DEFINE3(ipc_fwd)(sys_arg_t pid, sys_arg_t d0, sys_arg_t d1) { - struct tcb *t = get_tcb(tid); + struct tcb *t = get_tcb(pid); /* ditto */ return (struct sys_ret){ d0, d1 }; } +/** + * IPC response syscall handler. + * + * @param d0 IPC return value 0. + * @param d1 IPC return value 1. + * @return \c d0 and \c d1. + */ SYSCALL_DEFINE2(ipc_resp)(sys_arg_t d0, sys_arg_t d1) { struct tcb *r = cur_tcb(); |
