struct request
{
u64 filename_ptr;
u64 fd;
struct syslet_uatom open_file;
struct syslet_uatom read_file;
struct syslet_uatom close_file;
};
request req;
req.open_file.nr = __NR_sys_open;
req.open_file.arg_ptr [0] = (u64) &req.filename_ptr;
...
req.open_file.ret_ptr = (u64) &req.fd;
req.open_file.flags = (u64) SYSLET_STOP_ON_NEGATIVE;
req.open_file.next = (u64) &req.read_file;
...
struct syslet_uatom *done;
done = sys_async_exec (&req.open_file ...);