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 ...);