axlibc/pipe.rs
1use core::ffi::c_int;
2
3use arceos_posix_api::sys_pipe;
4
5use crate::utils::e;
6
7/// Create a pipe
8///
9/// Return 0 if succeed
10#[unsafe(no_mangle)]
11pub unsafe extern "C" fn pipe(fd: *mut c_int) -> c_int {
12 let fds = unsafe { core::slice::from_raw_parts_mut(fd, 2) };
13 e(sys_pipe(fds))
14}