- NET
- Overview
- Summary
- Files
- Data Structures
- Macros
- Functions
- Details
- Function Documentation
- accept()
- bind()
- connect()
- dn_comp()
- dn_expand()
- ether_aton()
- ether_aton_r()
- ether_ntoa()
- ether_ntoa_r()
- freeifaddrs()
- getpeername()
- getprotobyname()
- getprotobynumber()
- getprotoent()
- getsockname()
- getsockopt()
- herror()
- hstrerror()
- htonl()
- htons()
- if_freenameindex()
- inet_addr()
- inet_aton()
- inet_lnaof()
- inet_makeaddr()
- inet_netof()
- inet_network()
- inet_ntoa()
- inet_ntop()
- inet_pton()
- listen()
- ntohl()
- ntohs()
- recv()
- recvfrom()
- recvmsg()
- send()
- sendmsg()
- sendto()
- setprotoent()
- setsockopt()
- shutdown()
- socket()
NET
Overview
Provides functions and data structures related to network operations.
Since:
1.0
Version:
1.0
Summary
Files
Data Structures
Macros
Defines the first address in h_addr_list for backward compatibility. |
|
Functions
htonl (uint32_t n) |
Converts an integer from the host byte order to the network byte order. |
htons (uint16_t n) |
Converts a 16-bit integer from the host byte order to the network byte order. |
ntohl (uint32_t n) |
Converts an integer from the network byte order to the host byte order. |
ntohs (uint16_t n) |
Converts a 16-bit integer from the network byte order to the host byte order. |
inet_addr (const char p) |
Converts a string from the IPv4 numbers-and-dots notation to the binary data in network byte order. |
inet_network (const char p) |
Converts a string from the IPv4 numbers-and-dots notation to the binary data in host byte order. |
inet_ntoa (struct in_addr in) |
Converts a network address to a string in dotted-decimal format. |
inet_pton (int af, const char restrict s, void *restrict a0) |
Converts a string to a network address in the specified address family. |
inet_ntop (int af, const void restrict a0, char restrict s, socklen_t l) |
Converts a network address in the specified address family to a string. |
inet_aton (const char s0, struct in_addr dest) |
Converts an IP address from the string format to the 32-bit binary format in network byte order. |
inet_makeaddr (in_addr_t n, in_addr_t h) |
Converts the network number and host address to the network address. |
inet_lnaof (struct in_addr in) |
Converts an IP address into a host ID in host byte order without network bits. |
inet_netof (struct in_addr in) |
Extracts the network number from the in_addr structure and converts it to the host byte order. |
freeifaddrs (struct ifaddrs ifp) |
Frees the network interface information obtained by getifaddrs. |
if_freenameindex (struct if_nameindex idx) |
Frees the network adapter information obtained by if_nameindex. |
setprotoent (int stayopen) |
Opens a connection to the database and sets the next entry to the first entry. |
getprotoent (void) |
|
getprotobyname (const char name) |
|
getprotobynumber (int num) |
Retrieves the information about a protocol with the specified number. |
herror (const char msg) |
|
hstrerror (int ecode) |
Retrieves error information associated with the specified error number. |
ether_ntoa (const struct ether_addr p_a) |
Converts binary data in network byte order into a standard 48-bit Ethernet host address in the colon hexadecimal notation. |
ether_aton (const char x) |
Converts a standard 48-bit Ethernet host address in the colon hexadecimal notation into binary data in network byte order. |
ether_ntoa_r (const struct ether_addr p_a, char x) |
Converts binary data in network byte order into a standard 48-bit Ethernet host address in the colon hexadecimal notation. This function is reentrant. |
ether_aton_r (const char x, struct ether_addr p_a) |
Converts a standard 48-bit Ethernet host address in the colon hexadecimal notation into binary data in network byte order. This function is reentrant. |
dn_comp (const char src, unsigned char dst, int space, unsigned char dnptrs, unsigned char lastdnptr) |
|
dn_expand (const unsigned char base, const unsigned char end, const unsigned char src, char dest, int space) |
|
socket (int domain, int type, int protocol) |
|
shutdown (int sockfd, int how) |
|
bind (int sockfd, const struct sockaddr addr, socklen_t addrlen) |
|
connect (int sockfd, const struct sockaddr addr, socklen_t addrlen) |
|
listen (int sockfd, int backlog) |
|
accept (int sockfd, struct sockaddr restrict addr, socklen_t *restrict addrlen) |
|
getsockname (int fd, struct sockaddr restrict addr, socklen_t restrict len) |
|
getpeername (int fd, struct sockaddr restrict addr, socklen_t restrict len) |
|
send (int fd, const void buf, size_t len, int flags) |
|
recv (int fd, void buf, size_t len, int flags) |
|
sendto (int fd, const void buf, size_t len, int flags, const struct sockaddr addr, socklen_t alen) |
|
recvfrom (int fd, void __restrict buf, size_t len, int flags, struct sockaddr restrict addr, socklen_t *restrict alen) |
|
sendmsg (int fd, const struct msghdr msg, int flags) |
|
recvmsg (int fd, struct msghdr msg, int flags) |
|
getsockopt (int fd, int level, int optname, void __restrict optval, socklen_t __restrict optlen) |
|
setsockopt (int fd, int level, int optname, const void *optval, socklen_t optlen) |
Details
Function Documentation
accept()
int accept (int sockfd, struct [sockaddr]($api-api-SmartVision-Devices-sockaddr.md) *__restrict addr, socklen_t *__restrict addrlen )
Description:
Accepts incoming connection requests.
Parameters:
sockfd | Indicates the socket descriptor. |
addr | Indicates the pointer to the socket address requiring for the connection. |
addrlen | Indicates the length of the address structure pointed to by addr. |
Returns:
Returns a valid socket if the operation is successful; returns -1 and sets errno to a value in the following table if the operation fails.
The socket requiring for the connection is not of the NETCONN_TCP type. |
|
bind()
int bind (int sockfd, const struct [sockaddr]($api-api-SmartVision-Devices-sockaddr.md) * addr, socklen_t addrlen )
Description:
Binds a local protocol address to a socket.
Parameters:
sockfd | Indicates the socket descriptor. |
addr | Indicates the address to be bound to the socket. |
addrlen | Indicates the length of the address structure pointed to by addr. |
Returns:
Returns 0 if the operation is successful; returns -1 and sets errno to a value in the following table if the operation fails.
connect()
int connect (int sockfd, const struct [sockaddr]($api-api-SmartVision-Devices-sockaddr.md) * addr, socklen_t addrlen )
Description:
Initiates a connection to a socket.
Parameters:
sockfd | Indicates the socket descriptor. |
addr | Indicates the pointer to the address to be connected. |
addrlen | Indicates the length of the address structure pointed to by addr. |
Returns:
Returns 0 if the operation is successful; returns -1 and sets errno to a value in the following table if the operation fails.
Incorrect connection type obtained based on the socket descriptor |
|
dn_comp()
int dn_comp (const char * src, unsigned char * dst, int space, unsigned char ** dnptrs, unsigned char ** lastdnptr )
Description:
Compresses a network domain name.
To reduce the size of DNS messages, domain names in the messages are compressed. For details about the compression scheme, see RFC 1035.
Parameters:
Returns:
Returns the length of the compressed domain name if the operation is successful; returns -1 otherwise.
dn_expand()
int dn_expand (const unsigned char * base, const unsigned char * end, const unsigned char * src, char * dest, int space )
Description:
Expands a compressed domain name to a full domain name.
The compressed domain name is contained in a query or reply message.
Parameters:
Returns:
Returns the length of the compressed domain name if the operation is successful; returns -1 otherwise.
ether_aton()
struct ether_addr* ether_aton (const char * x)
Description:
Converts a standard 48-bit Ethernet host address in the colon hexadecimal notation into binary data in network byte order.
Parameters:
x | Indicates the pointer to the host address to be converted. |
Returns:
Returns the binary data if the operation is successful; returns 0 otherwise.
ether_aton_r()
struct ether_addr* ether_aton_r (const char * x, struct ether_addr * p_a )
Description:
Converts a standard 48-bit Ethernet host address in the colon hexadecimal notation into binary data in network byte order. This function is reentrant.
This function is used in multitasking scenarios.
Parameters:
x | Indicates the pointer to the host address to be converted. |
p_a | Indicates the pointer to the temporary buffer during conversion. |
Returns:
Returns the binary data represented by ether_addr if the operation is successful; returns 0 otherwise.
ether_ntoa()
char* ether_ntoa (const struct ether_addr * p_a)
Description:
Converts binary data in network byte order into a standard 48-bit Ethernet host address in the colon hexadecimal notation.
Parameters:
p_a | Indicates the pointer to the binary data to be converted. |
Attention:
Different from glibc (for example, 1:2:3:4:5:f), 0 is prefixed and letters are capitalized (for example, 01:02:03:04:05:0F).
Returns:
Returns the host address if the operation is successful; returns 0 otherwise.
ether_ntoa_r()
char* ether_ntoa_r (const struct ether_addr * p_a, char * x )
Description:
Converts binary data in network byte order into a standard 48-bit Ethernet host address in the colon hexadecimal notation. This function is reentrant.
This function is used in multitasking scenarios.
Parameters:
p_a | Indicates the pointer to the binary data to be converted. |
x | Indicates the pointer to the temporary buffer during conversion. |
Attention:
Different from glibc (for example, 1:2:3:4:5:f), 0 is prefixed and letters are capitalized (for example, 01:02:03:04:05:0F).
Returns:
Returns the host address if the operation is successful; returns 0 otherwise.
freeifaddrs()
void freeifaddrs (struct [ifaddrs]($api-api-SmartVision-Devices-ifaddrs.md) * ifp)
Description:
Frees the network interface information obtained by getifaddrs.
Parameters:
ifp | Indicates the pointer to the network interface information to be freed. |
getpeername()
int getpeername (int fd, struct [sockaddr]($api-api-SmartVision-Devices-sockaddr.md) *restrict addr, socklen_t *restrict len )
Description:
Retrieves the peer address of the specified socket.
Parameters:
fd | Indicates the socket descriptor. |
addr | Indicates the pointer to the address to be retrieved. |
len | Indicates the pointer to the length of the address pointed to by addr. |
Returns:
Returns 0 if the operation is successful; returns -1 and sets errno to a value in the following table if the operation fails.
getprotobyname()
struct protoent* getprotobyname (const char * name)
Description:
Retrieves the information about a specified protocol.
Parameters:
addr | Indicates the pointer to the protocol name. |
Attention:
The /etc/protocols configuration file is not supported. Only the following built-in protocols are supported: ip/icmp/igmp/ggp/ipencap/st/tcp/egp/pup/udp/hmp/xns-idp/rdp/iso-tp4/xtp/ ddp/idpr-cmtp/ipv6/ipv6-route/ipv6-frag/idrp/rsvp/gre/esp/ah/skip/ipv6-icmp/ ipv6-nonxt/ipv6-opts/rspf/vmtp/ospf/ipip/encap/pim/raw (This protocol does not have the aliases attribute, that is, aliases is empty.)
Returns:
Returns the protocol information if the operation is successful; returns NULL otherwise.
getprotobynumber()
struct protoent* getprotobynumber (int num)
Description:
Retrieves the information about a protocol with the specified number.
Parameters:
num | Indicates the protocol number. |
Attention:
The /etc/protocols configuration file is not supported. Only the following built-in protocols are supported: ip/icmp/igmp/ggp/ipencap/st/tcp/egp/pup/udp/hmp/xns-idp/rdp/iso-tp4/xtp/ ddp/idpr-cmtp/ipv6/ipv6-route/ipv6-frag/idrp/rsvp/gre/esp/ah/skip/ipv6-icmp/ ipv6-nonxt/ipv6-opts/rspf/vmtp/ospf/ipip/encap/pim/raw (This protocol does not have the aliases attribute, that is, aliases is empty.)
Returns:
Returns the protocol information if the operation is successful; returns NULL otherwise.
getprotoent()
struct protoent* getprotoent (void )
Description:
Retrieves the current protocol information.
Attention:
The /etc/protocols configuration file is not supported. Only the following built-in protocols are supported: ip/icmp/igmp/ggp/ipencap/st/tcp/egp/pup/udp/hmp/xns-idp/rdp/iso-tp4/xtp/ ddp/idpr-cmtp/ipv6/ipv6-route/ipv6-frag/idrp/rsvp/gre/esp/ah/skip/ipv6-icmp/ ipv6-nonxt/ipv6-opts/rspf/vmtp/ospf/ipip/encap/pim/raw (This protocol does not have the aliases attribute, that is, aliases is empty.)
Returns:
Returns the protocol information if the operation is successful; returns NULL otherwise.
getsockname()
int getsockname (int fd, struct [sockaddr]($api-api-SmartVision-Devices-sockaddr.md) *restrict addr, socklen_t *restrict len )
Description:
Retrieves the local address of the specified socket.
Parameters:
fd | Indicates the socket descriptor. |
addr | Indicates the pointer to the address to be retrieved. |
len | Indicates the pointer to the length of the address pointed to by addr. |
Returns:
Returns 0 if the operation is successful; returns -1 and sets errno to a value in the following table if the operation fails.
getsockopt()
int getsockopt (int fd, int level, int optname, void *__restrict optval, socklen_t *__restrict optlen )
Description:
Retrieves the socket options.
Parameters:
fd | Indicates the socket descriptor. |
level | Indicates the protocol level at which the option resides. Only SOL_SOCKET is supported. |
optname | Indicates the socket options to be retrieved, which has the following values: |
optval | Indicates the pointer to the option data. |
optlen | Indicates the pointer to the size of the buffer pointed to by optval. |
Returns:
Returns 0 if the operation is successful; returns -1 and sets errno to a value in the following table if the operation fails.
herror()
void herror (const char * msg)
Description:
Prints error information.
Parameters:
msg | Indicates the pointer to the string to be printed together with the error information. This parameter can be null. |
Returns:
Returns 0 if the operation is successful; returns -1 and sets errno to a value in the following table if the operation fails.
hstrerror()
const char* hstrerror (int ecode)
Description:
Retrieves error information associated with the specified error number.
Parameters:
ecode | Indicates the error number. |
Returns:
Returns the string representing the error information.
htonl()
uint32_t htonl (uint32_t n)
Description:
Converts an integer from the host byte order to the network byte order.
Parameters:
n | Indicates the integer in host byte order. |
Returns:
Returns the original data if the system is in big-endian mode; returns the converted data otherwise.
htons()
uint16_t htons (uint16_t n)
Description:
Converts a 16-bit integer from the host byte order to the network byte order.
Parameters:
n | Indicates the integer in host byte order. |
Returns:
Returns the original data if the system is in big-endian mode; returns the converted data otherwise.
if_freenameindex()
void if_freenameindex (struct [if_nameindex]($api-api-SmartVision-Devices-if_nameindex.md) * idx)
Description:
Frees the network adapter information obtained by if_nameindex.
Parameters:
idx | Indicates the pointer to the network adapter to be freed. |
inet_addr()
in_addr_t inet_addr (const char * p)
Description:
Converts a string from the IPv4 numbers-and-dots notation to the binary data in network byte order.
Parameters:
p | Indicates the pointer to the string to be converted. |
Returns:
Returns the converted data if the operation is successful; returns -1 otherwise.
inet_aton()
int inet_aton (const char * s0, struct in_addr * dest )
Description:
Converts an IP address from the string format to the 32-bit binary format in network byte order.
Parameters:
s0 | Indicates the pointer to the IP address to be converted. |
dest | Indicates the pointer to the structure for conversion. |
Returns:
Returns 1 if the operation is successful; returns 0 otherwise.
inet_lnaof()
in_addr_t inet_lnaof (struct in_addr in)
Description:
Converts an IP address into a host ID in host byte order without network bits.
Parameters:
in | Indicates the network address structure. |
Returns:
Returns the converted host address.
inet_makeaddr()
struct in_addr inet_makeaddr (in_addr_t n, in_addr_t h )
Description:
Converts the network number and host address to the network address.
Parameters:
n | Indicates the network number. |
h | Indicates the host address. |
Returns:
Returns the converted network address.
inet_netof()
in_addr_t inet_netof (struct in_addr in)
Description:
Extracts the network number from the in_addr structure and converts it to the host byte order.
Parameters:
in | Indicates the network address structure. |
Returns:
Returns the converted network number.
inet_network()
in_addr_t inet_network (const char * p)
Description:
Converts a string from the IPv4 numbers-and-dots notation to the binary data in host byte order.
Parameters:
p | Indicates the pointer to the string to be converted. |
Returns:
Returns the converted data if the operation is successful; returns -1 otherwise.
inet_ntoa()
char* inet_ntoa (struct in_addr in)
Description:
Converts a network address to a string in dotted-decimal format.
Parameters:
in | Indicates the network address to be converted. |
Returns:
Returns the string.
inet_ntop()
const char* inet_ntop (int af, const void *restrict a0, char *restrict s, socklen_t l )
Description:
Converts a network address in the specified address family to a string.
Parameters:
Returns:
Returns the converted string if the operation is successful; returns NULL and sets errno to a value in the following table if the operation fails.
inet_pton()
int inet_pton (int af, const char *__restrict s, void *__restrict a0 )
Description:
Converts a string to a network address in the specified address family.
Parameters:
af | Indicates the address family. Currently, only AF_INET and AF_INET6 are supported. |
s | Indicates the pointer to the string to be converted. |
a0 | Indicates the pointer to the converted data. |
Returns:
Returns 1 if the operation is successful; returns 0 if the input address family is invalid; returns -1 if the operation fails. The error codes are set as follows:
listen()
int listen (int sockfd, int backlog )
Description:
Listens for network connections.
Parameters:
sockfd | Indicates the socket descriptor. |
backlog | Indicates the maximum length of the queue to accept incoming connection requests. |
Returns:
Returns 0 if the operation is successful; returns -1 and sets errno to a value in the following table if the operation fails.
Incorrect connection type obtained based on the socket descriptor |
ntohl()
uint32_t ntohl (uint32_t n)
Description:
Converts an integer from the network byte order to the host byte order.
Parameters:
n | Indicates the integer in network byte order. |
Returns:
Returns the original data if the system is in big-endian mode; returns the converted data otherwise.
ntohs()
uint16_t ntohs (uint16_t n)
Description:
Converts a 16-bit integer from the network byte order to the host byte order.
Parameters:
n | Indicates the integer in network byte order. |
Returns:
Returns the original data if the system is in big-endian mode; returns the converted data otherwise.
recv()
ssize_t recv (int fd, void * buf, size_t len, int flags )
Description:
Receives data from another socket.
Parameters:
Returns:
Returns the length of the received data if the operation is successful; returns -1 and sets errno to a value in the following table if the operation fails.
recvfrom()
ssize_t recvfrom (int fd, void *__restrict buf, size_t len, int flags, struct [sockaddr]($api-api-SmartVision-Devices-sockaddr.md) *__restrict addr, socklen_t *__restrict alen )
Description:
Receives data from a specified socket.
Parameters:
Returns:
Returns the length of the received data if the operation is successful; returns -1 and sets errno to a value in the following table if the operation fails.
recvmsg()
ssize_t recvmsg (int fd, struct msghdr * msg, int flags )
Description:
Receives data from a specified socket.
Parameters:
fd | Indicates the socket descriptor. |
msg | Indicates the pointer to the address to receive the message header. |
flags | Indicates the socket flags. This parameter has the following values: |
Attention:
This function does not allow sending ancillary data. Currently, the length of the array defined by msg_iov can only be 1.
Returns:
Returns the length of the received data if the operation is successful; returns -1 and sets errno to a value in the following table if the operation fails.
Incorrect connection type obtained based on the socket descriptor |
send()
ssize_t send (int fd, const void * buf, size_t len, int flags )
Description:
Sends data to another socket.
Parameters:
Returns:
Returns the length of the sent data if the operation is successful; returns -1 and sets errno to a value in the following table if the operation fails.
Incorrect connection type obtained based on the socket descriptor |
sendmsg()
ssize_t sendmsg (int fd, const struct msghdr * msg, int flags )
Description:
Sends data to another socket.
Parameters:
fd | Indicates the socket descriptor. |
msg | Indicates the pointer to the address of the message header to be sent. |
flags | Indicates the socket flags. This parameter has the following values: |
Attention:
This function does not support ancillary data.
Returns:
Returns the length of the sent data if the operation is successful; returns -1 and sets errno to a value in the following table if the operation fails.
Incorrect connection type obtained based on the socket descriptor |
|
sendto()
ssize_t sendto (int fd, const void * buf, size_t len, int flags, const struct [sockaddr]($api-api-SmartVision-Devices-sockaddr.md) * addr, socklen_t alen )
Description:
Sends data to another socket.
Parameters:
Returns:
Returns the length of the sent data if the operation is successful; returns -1 and sets errno to a value in the following table if the operation fails.
Incorrect connection type obtained based on the socket descriptor |
setprotoent()
void setprotoent (int stayopen)
Description:
Opens a connection to the database and sets the next entry to the first entry.
Parameters:
stayopen | Reserved for interface compatibility (not used currently). |
Attention:
The stayopen parameter does not take effect. It is equivalent to nonzero for getprotoent and zero for getprotobyname and getprotobynumbmer.
setsockopt()
int setsockopt (int fd, int level, int optname, const void * optval, socklen_t optlen )
Description:
Sets the socket options.
Parameters:
fd | Indicates the socket descriptor. |
level | Indicates the protocol level at which the option resides. Only SOL_SOCKET is supported. |
optname | Indicates the socket options to set, which has the following values: |
optval | Indicates the pointer to the option data. |
optlen | Indicates the size of the buffer pointed to by optval. |
Returns:
Returns 0 if the operation is successful; returns -1 and sets errno to a value in the following table if the operation fails.
shutdown()
int shutdown (int sockfd, int how )
Description:
Shuts down a socket.
Parameters:
sockfd | Indicates the socket descriptor. |
how | Indicates how to shut down the socket. You can disable either receptions by SHUT_RD or transmissions by SHUT_WR, or both by SHUT_RDWR. |
Returns:
Returns 0 if the operation is successful; returns -1 and sets errno to a value in the following table if the operation fails.
Incorrect connection type obtained based on the socket descriptor |
socket()
int socket (int domain, int type, int protocol )
Description:
Creates a socket and returns its descriptor.
Parameters:
domain | Indicates the socket domain. |
type | Indicates the socket type. |
protocol | Indicates the socket protocol. |
Attention:
Only the following socket domains are supported: AF_INET, AF_INET6. Only the socket types SOCK_RAW, SOCK_DGRAM and SOCK_STREAM are supported, and the OR operation between the extra socket flag and the socket type is not supported.
Returns:
Returns the descriptor for the new socket if the operation is successful; returns -1 and sets errno to a value in the following table if the operation fails.