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_P_*constants.IPPROTO_*constants.NETLINK_*constants.getsockoptandsetsockoptfunctions.SYSPROTO_*constants.
Macros
- Macro for defining the amount of space used by CMSGs.
Structs
- An iterator that drains messages from a
RecvAncillaryBuffer. - An iterator over data in an ancillary buffer.
- An IPv4 address.
- An IPv6 address.
IPPROTO_*and other constants for use withsocket,socket_with, andsocketpairwhen a nondefault value is desired. See theipproto,sysproto, andnetlinkmodules for possible values.- Buffer for receiving ancillary messages.
MSG_* flags for use with [recv], [recvfrom`], and related functions.- The result of a successful
recvmsgcall. - Buffer for sending ancillary messages.
MSG_* flags for use with [send], [send_to`], and related functions.struct sockaddr_un- An IPv4 socket address.
- An IPv6 socket address.
SOCK_*constants for use withsocket.
Enums
- An IP address, either IPv4 or IPv6.
- Ancillary message for
recvmsg. SHUT_*constants for use withshutdown.- An internet socket address, either IPv4 or IPv6.
struct sockaddr_storageas a Rust enum.
Functions
accept(fd, NULL, NULL)—Accepts an incoming connection.accept4(fd, NULL, NULL, flags)—Accepts an incoming connection, with flags.accept(fd, &addr, &len)—Accepts an incoming connection and returns the peer address.accept4(fd, &addr, &len, flags)—Accepts an incoming connection and returns the peer address, with flags.bind(sockfd, addr)—Binds a socket to an IP address.bind(sockfd, addr)—Binds a socket to an address.bind(sockfd, addr, sizeof(struct sockaddr_un))—Binds a socket to a Unix-domain address.bind(sockfd, addr, sizeof(struct sockaddr_in))—Binds a socket to an IPv4 address.bind(sockfd, addr, sizeof(struct sockaddr_in6))—Binds a socket to an IPv6 address.connect(sockfd, addr)—Initiates a connection to an IP address.connect(sockfd, addr)—Initiates a connection.connect(sockfd, addr, sizeof(struct sockaddr_un))—Initiates a connection to a Unix-domain address.connect(sockfd, addr, sizeof(struct sockaddr_in))—Initiates a connection to an IPv4 address.connect(sockfd, addr, sizeof(struct sockaddr_in6))—Initiates a connection to an IPv6 address.getpeername(fd, addr, len)—Returns the address a socket is connected to.getsockname(fd, addr, len)—Returns the address a socket is bound to.listen(fd, backlog)—Enables listening for incoming connections.recv(fd, buf, flags)—Reads data from a socket.recvfrom(fd, buf, flags, addr, len)—Reads data from a socket and returns the sender address.recvmsg(msghdr)—Receives a message from a socket.send(fd, buf, flags)—Writes data to a socket.sendmsg(msghdr)—Sends a message on a socket.sendmsg(msghdr)—Sends a message on a socket to a specific address.sendmsg(msghdr)—Sends a message on a socket to a specific Unix-domain address.sendmsg(msghdr)—Sends a message on a socket to a specific IPv4 address.sendmsg(msghdr)—Sends a message on a socket to a specific IPv6 address.sendto(fd, buf, flags, addr)—Writes data to a socket to a specific IP address.sendto(fd, buf, flags, addr)—Writes data to a socket to a specific address.sendto(fd, buf, flags, addr, sizeof(struct sockaddr_un))—Writes data to a socket to a specific Unix-domain socket address.sendto(fd, buf, flags, addr, sizeof(struct sockaddr_in))—Writes data to a socket to a specific IPv4 address.sendto(fd, buf, flags, addr, sizeof(struct sockaddr_in6))—Writes data to a socket to a specific IPv6 address.shutdown(fd, how)—Closes the read and/or write sides of a stream.socket(domain, type_, protocol)—Creates a socket.socket_with(domain, type_ | flags, protocol)—Creates a socket, with flags.socketpair(domain, type_ | accept_flags, protocol)—Create a pair of sockets that are connected to each other.
Type Aliases
struct sockaddr_storageas a raw struct.