Available on crate feature
net
only.Expand description
Network-related operations.
On Windows, one must call wsa_startup
in the process before calling any
of these APIs. wsa_cleanup
may be used in the process if these APIs are
no longer needed.
Re-exports§
pub use crate::net::AddressFamily;
pub use crate::net::Protocol;
pub use crate::net::Shutdown;
pub use crate::net::SocketFlags;
pub use crate::net::SocketType;
Modules§
- eth
ETH_P_*
constants.- ipproto
IPPROTO_*
constants.- netdevice
- Low-level Linux network device access
- netlink
NETLINK_*
constants.- sockopt
getsockopt
andsetsockopt
functions.- sysproto
SYSPROTO_*
constants.- xdp
AF_XDP
related types and constants.
Macros§
- cmsg_
space - Macro for defining the amount of space to allocate in a buffer for use with
RecvAncillaryBuffer::new
andSendAncillaryBuffer::new
.
Structs§
- Address
Family AF_*
constants for use withsocket
,socket_with
, andsocketpair
.- Ancillary
Drain - An iterator that drains messages from a
RecvAncillaryBuffer
. - Ancillary
Iter - An iterator over data in an ancillary buffer.
- Ipv4
Addr - An IPv4 address.
- Ipv6
Addr - An IPv6 address.
- Protocol
IPPROTO_*
and other constants for use withsocket
,socket_with
, andsocketpair
when a nondefault value is desired.- Recv
Ancillary Buffer - Buffer for receiving ancillary messages with
recvmsg
. - Recv
Flags MSG_*
flags for use withrecv
,recvfrom
, and related functions.- Recv
MsgReturn - The result of a successful
recvmsg
call. - Send
Ancillary Buffer - Buffer for sending ancillary messages with
sendmsg
,sendmsg_v4
,sendmsg_v6
,sendmsg_unix
, andsendmsg_any
. - Send
Flags MSG_*
flags for use withsend
,sendto
, and related functions.- Socket
Addr Unix struct sockaddr_un
- Socket
Addr V4 - An IPv4 socket address.
- Socket
Addr V6 - An IPv6 socket address.
- Socket
Flags SOCK_*
constants for use withsocket_with
,accept_with
andacceptfrom_with
.- Socket
Type SOCK_*
constants for use withsocket
.- UCred
- UNIX credentials of socket peer, for use with
get_socket_peercred
SendAncillaryMessage::ScmCredentials
andRecvAncillaryMessage::ScmCredentials
.
Enums§
- IpAddr
- An IP address, either IPv4 or IPv6.
- Recv
Ancillary Message - Ancillary message for
recvmsg
. - Send
Ancillary Message - Ancillary message for
sendmsg
,sendmsg_v4
,sendmsg_v6
,sendmsg_unix
, andsendmsg_any
. - Shutdown
SHUT_*
constants for use withshutdown
.- Socket
Addr - An internet socket address, either IPv4 or IPv6.
- Socket
Addr Any struct sockaddr_storage
as a Rust enum.
Functions§
- accept
accept(fd, NULL, NULL)
—Accepts an incoming connection.- accept_
with accept4(fd, NULL, NULL, flags)
—Accepts an incoming connection, with flags.- acceptfrom
accept(fd, &addr, &len)
—Accepts an incoming connection and returns the peer address.- acceptfrom_
with accept4(fd, &addr, &len, flags)
—Accepts an incoming connection and returns the peer address, with flags.- bind
bind(sockfd, addr)
—Binds a socket to an IP address.- bind_
any bind(sockfd, addr)
—Binds a socket to an address.- bind_
unix bind(sockfd, addr, sizeof(struct sockaddr_un))
—Binds a socket to a Unix-domain address.- bind_v4
bind(sockfd, addr, sizeof(struct sockaddr_in))
—Binds a socket to an IPv4 address.- bind_v6
bind(sockfd, addr, sizeof(struct sockaddr_in6))
—Binds a socket to an IPv6 address.- bind_
xdp bind(sockfd, addr, sizeof(struct sockaddr_un))
—Binds a socket to a XDP address.- connect
connect(sockfd, addr)
—Initiates a connection to an IP address.- connect_
any connect(sockfd, addr)
—Initiates a connection.- connect_
unix connect(sockfd, addr, sizeof(struct sockaddr_un))
—Initiates a connection to a Unix-domain address.- connect_
unspec connect(sockfd, {.sa_family = AF_UNSPEC}, sizeof(struct sockaddr))
— Dissolve the socket’s association.- connect_
v4 connect(sockfd, addr, sizeof(struct sockaddr_in))
—Initiates a connection to an IPv4 address.- connect_
v6 connect(sockfd, addr, sizeof(struct sockaddr_in6))
—Initiates a connection to an IPv6 address.- getpeername
getpeername(fd, addr, len)
—Returns the address a socket is connected to.- getsockname
getsockname(fd, addr, len)
—Returns the address a socket is bound to.- listen
listen(fd, backlog)
—Enables listening for incoming connections.- recv
recv(fd, buf, flags)
—Reads data from a socket.- recv_
uninit recv(fd, buf, flags)
—Reads data from a socket.- recvfrom
recvfrom(fd, buf, flags, addr, len)
—Reads data from a socket and returns the sender address.- recvfrom_
uninit recvfrom(fd, buf, flags, addr, len)
—Reads data from a socket and returns the sender address.- recvmsg
recvmsg(msghdr)
—Receives a message from a socket.- send
send(fd, buf, flags)
—Writes data to a socket.- sendmsg
sendmsg(msghdr)
—Sends a message on a socket.- sendmsg_
any sendmsg(msghdr)
—Sends a message on a socket to a specific address.- sendmsg_
unix sendmsg(msghdr)
—Sends a message on a socket to a specific Unix-domain address.- sendmsg_
v4 sendmsg(msghdr)
—Sends a message on a socket to a specific IPv4 address.- sendmsg_
v6 sendmsg(msghdr)
—Sends a message on a socket to a specific IPv6 address.- sendmsg_
xdp sendmsg(msghdr)
—Sends a message on a socket to a specific XDP address.- sendto
sendto(fd, buf, flags, addr)
—Writes data to a socket to a specific IP address.- sendto_
any sendto(fd, buf, flags, addr)
—Writes data to a socket to a specific address.- sendto_
unix sendto(fd, buf, flags, addr, sizeof(struct sockaddr_un))
—Writes data to a socket to a specific Unix-domain socket address.- sendto_
v4 sendto(fd, buf, flags, addr, sizeof(struct sockaddr_in))
—Writes data to a socket to a specific IPv4 address.- sendto_
v6 sendto(fd, buf, flags, addr, sizeof(struct sockaddr_in6))
—Writes data to a socket to a specific IPv6 address.- sendto_
xdp sendto(fd, buf, flags, addr, sizeof(struct sockaddr_xdp))
—Writes data to a socket to a specific XDP address.- shutdown
shutdown(fd, how)
—Closes the read and/or write sides of a stream.- socket
socket(domain, type_, protocol)
—Creates a socket.- socket_
with socket_with(domain, type_ | flags, protocol)
—Creates a socket, with flags.- socketpair
socketpair(domain, type_ | accept_flags, protocol)
—Create a pair of sockets that are connected to each other.
Type Aliases§
- RawAddress
Family - A type for holding raw integer address families.
- RawProtocol
- A type for holding raw integer protocols.
- RawSocket
Type - A type for holding raw integer socket types.
- Socket
Addr Storage struct sockaddr_storage
as a raw struct.