diff --git a/conts/posix/test0/src/capability.c b/conts/posix/test0/src/capability.c new file mode 100644 index 0000000..92d72aa --- /dev/null +++ b/conts/posix/test0/src/capability.c @@ -0,0 +1,24 @@ +#include +#include +#include + +int cap_request_pager(struct capability *cap) +{ + int err; + + write_mr(L4SYS_ARG0, (u32)cap); + + if ((err = l4_sendrecv(pagerid, pagerid, + L4_REQUEST_CAPABILITY)) < 0) { + printf("%s: L4 IPC Error: %d.\n", __FUNCTION__, err); + return err; + } + + /* Check if syscall itself was successful */ + if ((err = l4_get_retval()) < 0) { + printf("%s: Error: %d\n", __FUNCTION__, err); + return err; + } + return err; +} +