()
| 432 | } |
| 433 | |
| 434 | pub fn new_rendezvous() -> Result<(CommHandle, CommHandle), SyscallError> { |
| 435 | let error: u64; |
| 436 | let handle1: u32; |
| 437 | let handle2: u32; |
| 438 | unsafe { |
| 439 | asm!("syscall", |
| 440 | in("rax") SYSCALL_NEW_RENDEZVOUS, |
| 441 | lateout("rax") error, |
| 442 | lateout("rdi") handle1, |
| 443 | lateout("rsi") handle2, |
| 444 | out("rcx") _, |
| 445 | out("r11") _); |
| 446 | } |
| 447 | if error == 0 { |
| 448 | Ok((CommHandle(handle1), CommHandle(handle2))) |
| 449 | } else { |
| 450 | Err(SyscallError(error)) |
| 451 | } |
| 452 | } |
| 453 | |
| 454 | pub struct VFS { |
| 455 | s: String |
no test coverage detected