Add recvmsg (stub on redox)

This commit is contained in:
Jeremy Soller
2024-01-16 19:47:39 -07:00
parent faadbc3d70
commit d4b0e172f0
4 changed files with 19 additions and 0 deletions
+5
View File
@@ -167,6 +167,11 @@ pub unsafe extern "C" fn recvfrom(
)
}
#[no_mangle]
pub unsafe extern "C" fn recvmsg(socket: c_int, msg: *mut msghdr, flags: c_int) -> ssize_t {
Sys::recvmsg(socket, msg, flags)
}
#[no_mangle]
pub unsafe extern "C" fn send(
socket: c_int,
+4
View File
@@ -75,6 +75,10 @@ impl PalSocket for Sys {
)) as ssize_t
}
unsafe fn recvmsg(socket: c_int, msg: *mut msghdr, flags: c_int) -> ssize_t {
e(syscall!(RECVMSG, socket, msg, flags)) as ssize_t
}
unsafe fn sendmsg(socket: c_int, msg: *const msghdr, flags: c_int) -> ssize_t {
e(syscall!(SENDMSG, socket, msg, flags)) as ssize_t
}
+2
View File
@@ -39,6 +39,8 @@ pub trait PalSocket: Pal {
address_len: *mut socklen_t,
) -> ssize_t;
unsafe fn recvmsg(socket: c_int, msg: *mut msghdr, flags: c_int) -> ssize_t;
unsafe fn sendmsg(socket: c_int, msg: *const msghdr, flags: c_int) -> ssize_t;
unsafe fn sendto(
+8
View File
@@ -316,7 +316,15 @@ impl PalSocket for Sys {
}
}
unsafe fn recvmsg(socket: c_int, msg: *mut msghdr, flags: c_int) -> ssize_t {
//TODO: implement recvfrom with recvmsg
eprintln!("recvmsg not implemented on redox");
errno = syscall::ENOSYS;
return -1;
}
unsafe fn sendmsg(socket: c_int, msg: *const msghdr, flags: c_int) -> ssize_t {
//TODO: implement sendto with sendmsg
eprintln!("sendmsg not implemented on redox");
errno = syscall::ENOSYS;
return -1;