diff --git a/src/platform/redox/socket.rs b/src/platform/redox/socket.rs index d0fbe9d010..87ecff53a8 100644 --- a/src/platform/redox/socket.rs +++ b/src/platform/redox/socket.rs @@ -789,6 +789,22 @@ impl PalSocket for Sys { } return Ok(()); } + crate::header::netinet_in::IPPROTO_IP as c_int + | crate::header::netinet_in::IPPROTO_IPV6 as c_int => { + let metadata = [SocketCall::GetSockOpt as u64, option_name as u64]; + let payload = + unsafe { slice::from_raw_parts_mut(option_value as *mut u8, option_len) }; + let call_flags = CallFlags::empty(); + unsafe { + *option_len_ptr = redox_rt::sys::sys_call_ro( + socket as usize, + payload, + CallFlags::empty(), + &metadata, + )? as socklen_t; + } + return Ok(()); + } _ => (), }