pub trait PalSocket: Pal {
Show 15 methods
// Required methods
unsafe fn accept(
socket: c_int,
address: *mut sockaddr,
address_len: *mut socklen_t,
) -> Result<c_int>;
unsafe fn bind(
socket: c_int,
address: *const sockaddr,
address_len: socklen_t,
) -> Result<()>;
unsafe fn connect(
socket: c_int,
address: *const sockaddr,
address_len: socklen_t,
) -> Result<c_int>;
unsafe fn getpeername(
socket: c_int,
address: *mut sockaddr,
address_len: *mut socklen_t,
) -> Result<()>;
unsafe fn getsockname(
socket: c_int,
address: *mut sockaddr,
address_len: *mut socklen_t,
) -> Result<()>;
unsafe fn getsockopt(
socket: c_int,
level: c_int,
option_name: c_int,
option_value: *mut c_void,
option_len: *mut socklen_t,
) -> Result<()>;
fn listen(socket: c_int, backlog: c_int) -> Result<()>;
unsafe fn recvfrom(
socket: c_int,
buf: *mut c_void,
len: size_t,
flags: c_int,
address: *mut sockaddr,
address_len: *mut socklen_t,
) -> Result<usize>;
unsafe fn recvmsg(
socket: c_int,
msg: *mut msghdr,
flags: c_int,
) -> Result<usize>;
unsafe fn sendmsg(
socket: c_int,
msg: *const msghdr,
flags: c_int,
) -> Result<usize>;
unsafe fn sendto(
socket: c_int,
buf: *const c_void,
len: size_t,
flags: c_int,
dest_addr: *const sockaddr,
dest_len: socklen_t,
) -> Result<usize>;
unsafe fn setsockopt(
socket: c_int,
level: c_int,
option_name: c_int,
option_value: *const c_void,
option_len: socklen_t,
) -> Result<()>;
fn shutdown(socket: c_int, how: c_int) -> Result<()>;
unsafe fn socket(
domain: c_int,
kind: c_int,
protocol: c_int,
) -> Result<c_int>;
fn socketpair(
domain: c_int,
kind: c_int,
protocol: c_int,
sv: &mut [c_int; 2],
) -> Result<()>;
}Expand description
Platform abstraction of socket functionality.
Required Methods§
Sourceunsafe fn accept(
socket: c_int,
address: *mut sockaddr,
address_len: *mut socklen_t,
) -> Result<c_int>
unsafe fn accept( socket: c_int, address: *mut sockaddr, address_len: *mut socklen_t, ) -> Result<c_int>
Platform implementation of accept() from sys/socket.h.
Sourceunsafe fn bind(
socket: c_int,
address: *const sockaddr,
address_len: socklen_t,
) -> Result<()>
unsafe fn bind( socket: c_int, address: *const sockaddr, address_len: socklen_t, ) -> Result<()>
Platform implementation of bind() from sys/socket.h.
Sourceunsafe fn connect(
socket: c_int,
address: *const sockaddr,
address_len: socklen_t,
) -> Result<c_int>
unsafe fn connect( socket: c_int, address: *const sockaddr, address_len: socklen_t, ) -> Result<c_int>
Platform implementation of connect() from sys/socket.h.
Sourceunsafe fn getpeername(
socket: c_int,
address: *mut sockaddr,
address_len: *mut socklen_t,
) -> Result<()>
unsafe fn getpeername( socket: c_int, address: *mut sockaddr, address_len: *mut socklen_t, ) -> Result<()>
Platform implementation of getpeername() from sys/socket.h.
Sourceunsafe fn getsockname(
socket: c_int,
address: *mut sockaddr,
address_len: *mut socklen_t,
) -> Result<()>
unsafe fn getsockname( socket: c_int, address: *mut sockaddr, address_len: *mut socklen_t, ) -> Result<()>
Platform implementation of getsockname() from sys/socket.h.
Sourceunsafe fn getsockopt(
socket: c_int,
level: c_int,
option_name: c_int,
option_value: *mut c_void,
option_len: *mut socklen_t,
) -> Result<()>
unsafe fn getsockopt( socket: c_int, level: c_int, option_name: c_int, option_value: *mut c_void, option_len: *mut socklen_t, ) -> Result<()>
Platform implementation of getsockopt() from sys/socket.h.
Sourcefn listen(socket: c_int, backlog: c_int) -> Result<()>
fn listen(socket: c_int, backlog: c_int) -> Result<()>
Platform implementation of listen() from sys/socket.h.
Sourceunsafe fn recvfrom(
socket: c_int,
buf: *mut c_void,
len: size_t,
flags: c_int,
address: *mut sockaddr,
address_len: *mut socklen_t,
) -> Result<usize>
unsafe fn recvfrom( socket: c_int, buf: *mut c_void, len: size_t, flags: c_int, address: *mut sockaddr, address_len: *mut socklen_t, ) -> Result<usize>
Platform implementation of recvfrom() from sys/socket.h.
Sourceunsafe fn recvmsg(
socket: c_int,
msg: *mut msghdr,
flags: c_int,
) -> Result<usize>
unsafe fn recvmsg( socket: c_int, msg: *mut msghdr, flags: c_int, ) -> Result<usize>
Platform implementation of recvmsg() from sys/socket.h.
Sourceunsafe fn sendmsg(
socket: c_int,
msg: *const msghdr,
flags: c_int,
) -> Result<usize>
unsafe fn sendmsg( socket: c_int, msg: *const msghdr, flags: c_int, ) -> Result<usize>
Platform implementation of sendmsg() from sys/socket.h.
Sourceunsafe fn sendto(
socket: c_int,
buf: *const c_void,
len: size_t,
flags: c_int,
dest_addr: *const sockaddr,
dest_len: socklen_t,
) -> Result<usize>
unsafe fn sendto( socket: c_int, buf: *const c_void, len: size_t, flags: c_int, dest_addr: *const sockaddr, dest_len: socklen_t, ) -> Result<usize>
Platform implementation of sendto() from sys/socket.h.
Sourceunsafe fn setsockopt(
socket: c_int,
level: c_int,
option_name: c_int,
option_value: *const c_void,
option_len: socklen_t,
) -> Result<()>
unsafe fn setsockopt( socket: c_int, level: c_int, option_name: c_int, option_value: *const c_void, option_len: socklen_t, ) -> Result<()>
Platform implementation of setsockopt() from sys/socket.h.
Sourcefn shutdown(socket: c_int, how: c_int) -> Result<()>
fn shutdown(socket: c_int, how: c_int) -> Result<()>
Platform implementation of shutdown() from sys/socket.h.
Sourceunsafe fn socket(domain: c_int, kind: c_int, protocol: c_int) -> Result<c_int>
unsafe fn socket(domain: c_int, kind: c_int, protocol: c_int) -> Result<c_int>
Platform implementation of socket() from sys/socket.h.
Sourcefn socketpair(
domain: c_int,
kind: c_int,
protocol: c_int,
sv: &mut [c_int; 2],
) -> Result<()>
fn socketpair( domain: c_int, kind: c_int, protocol: c_int, sv: &mut [c_int; 2], ) -> Result<()>
Platform implementation of socketpair() from sys/socket.h.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".