NET

    Since:

    1.0

    Version:

    1.0

    Summary

    Files

    Data Structures

    Data Structure Name

    Description

    Defines the network interface information.

    if_nameindex

    Defines the network adapter information.

    Describes the host name and address information.

    sockaddr

    Describes the socket address information.

    Macros

    Macro Name and Value

    Description

    h_addr    h_addr_list[0]

    Defines the first address in h_addr_list for backward compatibility.

    SOL_SOCKET    1

    Defines options for socket level.

    Functions

    Function Name

    Description

    (uint32_t n)

    uint32_t 

    Converts an integer from the host byte order to the network byte order.

    htons (uint16_t n)

    uint16_t 

    Converts a 16-bit integer from the host byte order to the network byte order.

    (uint32_t n)

    uint32_t 

    Converts an integer from the network byte order to the host byte order.

    ntohs (uint16_t n)

    uint16_t 

    Converts a 16-bit integer from the network byte order to the host byte order.

    (const char p)

    in_addr_t 

    Converts a string from the IPv4 numbers-and-dots notation to the binary data in network byte order.

    inet_network (const char p)

    in_addr_t 

    Converts a string from the IPv4 numbers-and-dots notation to the binary data in host byte order.

    (struct in_addr in)

    char  

    Converts a network address to a string in dotted-decimal format.

    inet_pton (int af, const char restrict s, void *restrict a0)

    int 

    Converts a string to a network address in the specified address family.

    (int af, const void restrict a0, char restrict s, socklen_t l)

    const char  

    Converts a network address in the specified address family to a string.

    inet_aton (const char s0, struct in_addr dest)

    int 

    Converts an IP address from the string format to the 32-bit binary format in network byte order.

    (in_addr_t n, in_addr_t h)

    struct in_addr 

    Converts the network number and host address to the network address.

    inet_lnaof (struct in_addr in)

    in_addr_t 

    Converts an IP address into a host ID in host byte order without network bits.

    (struct in_addr in)

    in_addr_t 

    Extracts the network number from the in_addr structure and converts it to the host byte order.

    freeifaddrs (struct ifp)

    void 

    Frees the network interface information obtained by getifaddrs.

    if_freenameindex (struct idx)

    void 

    Frees the network adapter information obtained by if_nameindex.

    (int stayopen)

    void 

    Opens a connection to the database and sets the next entry to the first entry.

    getprotoent (void)

    struct protoent  

    Retrieves the current protocol information.

    (const char name)

    struct protoent  

    Retrieves the information about a specified protocol.

    getprotobynumber (int num)

    struct protoent  

    Retrieves the information about a protocol with the specified number.

    (const char msg)

    void 

    Prints error information.

    hstrerror (int ecode)

    const char  

    Retrieves error information associated with the specified error number.

    (const struct ether_addr p_a)

    char  

    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)

    struct ether_addr  

    Converts a standard 48-bit Ethernet host address in the colon hexadecimal notation into binary data in network byte order.

    (const struct ether_addr p_a, char x)

    char  

    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)

    struct ether_addr  

    Converts a standard 48-bit Ethernet host address in the colon hexadecimal notation into binary data in network byte order. This function is reentrant.

    (const char src, unsigned char dst, int space, unsigned char dnptrs, unsigned char lastdnptr)

    int 

    Compresses a network domain name.

    dn_expand (const unsigned char base, const unsigned char end, const unsigned char src, char dest, int space)

    int 

    Expands a compressed domain name to a full domain name.

    (int domain, int type, int protocol)

    int 

    Creates a socket and returns its descriptor.

    shutdown (int sockfd, int how)

    int 

    Shuts down a socket.

    (int sockfd, const struct sockaddr addr, socklen_t addrlen)

    int 

    Binds a local protocol address to a socket.

    (int sockfd, const struct sockaddr addr, socklen_t addrlen)

    int 

    Initiates a connection to a socket.

    (int sockfd, int backlog)

    int 

    Listens for network connections.

    accept (int sockfd, struct restrict addr, socklen_t *restrict addrlen)

    int 

    Accepts incoming connection requests.

    getsockname (int fd, struct restrict addr, socklen_t restrict len)

    int 

    Retrieves the local address of the specified socket.

    getpeername (int fd, struct restrict addr, socklen_t restrict len)

    int 

    Retrieves the peer address of the specified socket.

    send (int fd, const void buf, size_t len, int flags)

    ssize_t 

    Sends data to another socket.

    (int fd, void buf, size_t len, int flags)

    ssize_t 

    Receives data from another socket.

    sendto (int fd, const void buf, size_t len, int flags, const struct addr, socklen_t alen)

    ssize_t 

    Sends data to another socket.

    recvfrom (int fd, void __restrict buf, size_t len, int flags, struct restrict addr, socklen_t *restrict alen)

    ssize_t 

    Receives data from a specified socket.

    sendmsg (int fd, const struct msghdr msg, int flags)

    ssize_t 

    Sends data to another socket.

    (int fd, struct msghdr msg, int flags)

    ssize_t 

    Receives data from a specified socket.

    getsockopt (int fd, int level, int optname, void __restrict optval, socklen_t __restrict optlen)

    int 

    Retrieves the socket options.

    (int fd, int level, int optname, const void *optval, socklen_t optlen)

    int 

    Sets the socket options.

    Details

    Function Documentation

    accept()

    Description:

    Accepts incoming connection requests.

    Parameters:

    Name

    Description

    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.

    errno

    Description

    EINVAL

    Invalid input parameter

    EOPNOTSUPP

    The socket requiring for the connection is not of the NETCONN_TCP type.

    EWOULDBLOCK

    Failure to receive events in non-blocking mode.

    ENFILE

    Failure to creat a new socket.

    ECONNABORTED

    Failure to receive the remote information.

    ENOMEM

    Memory copy exception.

    bind()

    Description:

    Binds a local protocol address to a socket.

    Parameters:

    Name

    Description

    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.

    errno

    Description

    EINVAL

    Invalid input parameter

    connect()

    1. 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:

    Name

    Description

    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.

    errno

    Description

    EINVAL

    Invalid input parameter

    EBADF

    Invalid socket or socket status exception

    EIO

    Incorrect connection type obtained based on the socket descriptor

    ECONNREFUSED

    Restart due to connection failure

    ECONNABORTED

    Shut-down due to connection failure

    dn_comp()

    1. 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:

    Name

    Description

    src Indicates the pointer to the domain name to be compressed.
    dst Indicates the pointer to the compressed domain name.
    space Indicates the size of the compressed domain name.
    dnptrs Indicates the pointer to an array of pointers to previously compressed domain names. If the value is NULL, the current domain name will not be compressed.
    lastdnptr Indicates the pointer to the last element of the array. If the value is NULL, the array is not updated.

    Returns:

    Returns the length of the compressed domain name if the operation is successful; returns -1 otherwise.

    dn_expand()

    1. 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:

    Name

    Description

    base Indicates the pointer to the start of the DNS message body.
    end Indicates the pointer to the end of the DNS message body.
    src Indicates the pointer to the compressed domain name.
    dest Indicates the pointer to the expanded domain name.
    space Indicates the memory size of the dest address.

    Returns:

    Returns the length of the compressed domain name if the operation is successful; returns -1 otherwise.

    ether_aton()

    1. 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:

    Name

    Description

    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()

    1. 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:

    Name

    Description

    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()

    1. 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:

    Name

    Description

    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()

    1. 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:

    Name

    Description

    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.

      Description:

      Frees the network interface information obtained by getifaddrs.

      Parameters:

      Name

      Description

      ifp Indicates the pointer to the network interface information to be freed.

      getpeername()

      1. 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:

      Name

      Description

      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.

      errno

      Description

      EINVAL

      Invalid input parameter

      EBADF

      Invalid socket or socket status exception

      ENOMEM

      Memory copy exception

      getprotobyname()

      1. struct protoent* getprotobyname (const char * name)

      Description:

      Retrieves the information about a specified protocol.

      Parameters:

      Name

      Description

      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()

      1. struct protoent* getprotobynumber (int num)

      Description:

      Retrieves the information about a protocol with the specified number.

      Parameters:

      Name

      Description

      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()

      1. 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()

      Description:

      Retrieves the local address of the specified socket.

      Parameters:

      Name

      Description

      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.

      errno

      Description

      EINVAL

      Invalid input parameter

      EBADF

      Invalid socket or socket status exception

      ENOMEM

      Memory copy exception

      getsockopt()

      Description:

      Retrieves the socket options.

      Parameters:

      Name

      Description

      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.

      errno

      Description

      EINVAL

      Small optlen

      EBADF

      Invalid socket or socket status exception

      EFAULT

      The input parameter is a null pointer.

      ENOBUFS

      Retrieved length exception

      ENOMEM

      Memory copy exception

      herror()

      1. void herror (const char * msg)

      Description:

      Prints error information.

      Parameters:

      Name

      Description

      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.

      errno

      Description

      EINVAL

      Incorrect symbols or parameters

      EOVERFLOW

      Long item for printing

      hstrerror()

      1. const char* hstrerror (int ecode)

      Description:

      Retrieves error information associated with the specified error number.

      Parameters:

      Name

      Description

      ecode Indicates the error number.

      Returns:

      Returns the string representing the error information.

      htonl()

      1. uint32_t htonl (uint32_t n)

      Description:

      Converts an integer from the host byte order to the network byte order.

      Parameters:

      Name

      Description

      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()

      1. uint16_t htons (uint16_t n)

      Description:

      Converts a 16-bit integer from the host byte order to the network byte order.

      Parameters:

      Name

      Description

      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()

      1. void if_freenameindex (struct [if_nameindex]($api-api-SmartVision-Devices-if_nameindex.md) * idx)

      Description:

      Frees the network adapter information obtained by .

      Parameters:

      Name

      Description

      idx Indicates the pointer to the network adapter to be freed.

      inet_addr()

      1. 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:

      Name

      Description

      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()

      1. 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:

      Name

      Description

      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()

      1. 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:

      Name

      Description

      in Indicates the network address structure.

      Returns:

      Returns the converted host address.

      inet_makeaddr()

      1. 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:

      Name

      Description

      n Indicates the network number.
      h Indicates the host address.

      Returns:

      Returns the converted network address.

      inet_netof()

      1. 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:

      Name

      Description

      in Indicates the network address structure.

      Returns:

      Returns the converted network number.

      1. 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:

      Name

      Description

      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()

      1. char* inet_ntoa (struct in_addr in)

      Description:

      Converts a network address to a string in dotted-decimal format.

      Parameters:

      Name

      Description

      in Indicates the network address to be converted.

      Returns:

      Returns the string.

      inet_ntop()

      Description:

      Converts a network address in the specified address family to a string.

      Parameters:

      Name

      Description

      af Indicates the address family. Currently, only AF_INET and AF_INET6 are supported.
      a0 Indicates the pointer to the data to be converted.
      s Indicates the pointer to the string to be converted.
      l Indicates the size of the string to be converted.

      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.

      errno

      Description

      ENOSPC

      Insufficient space for conversion

      EAFNOSUPPORT

      Unsupported address family

      inet_pton()

      Description:

      Converts a string to a network address in the specified address family.

      Parameters:

      Name

      Description

      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:

      errno

      Description

      EAFNOSUPPORT

      Unsupported address family

      listen()

      1. int listen (int sockfd, int backlog )

      Description:

      Listens for network connections.

      Parameters:

      Name

      Description

      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.

      errno

      Description

      EINVAL

      Invalid input parameter

      EBADF

      Invalid socket or socket status exception

      EIO

      Incorrect connection type obtained based on the socket descriptor

      ntohl()

      1. uint32_t ntohl (uint32_t n)

      Description:

      Converts an integer from the network byte order to the host byte order.

      Parameters:

      Name

      Description

      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()

      1. uint16_t ntohs (uint16_t n)

      Description:

      Converts a 16-bit integer from the network byte order to the host byte order.

      Parameters:

      Name

      Description

      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()

      1. ssize_t recv (int fd, void * buf, size_t len, int flags )

      Description:

      Receives data from another socket.

      Parameters:

      Name

      Description

      fd Indicates the socket descriptor.
      buf Indicates the pointer to a buffer for storing the data to be received.
      len Indicates the length of the buffer pointed to by buf.
      flags Indicates the socket flags. This parameter has the following values:

      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.

      errno

      Description

      EINVAL

      Invalid input parameter

      EBADF

      Invalid socket or socket status exception

      ENOMEM

      Memory copy exception

      EOPNOTSUPP

      Unsupported message type

      ENOTCONN

      Socket not connected

      EWOULDBLOCK

      Blocking operation

      ENOTCONN

      Connection closed

      recvfrom()

      1. 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:

      Name

      Description

      fd Indicates the socket descriptor.
      buf Indicates the pointer to a buffer for storing the data to be received.
      len Indicates the length of the buffer pointed to by buf.
      flags Indicates the socket flags. This parameter has the following values:
      addr Indicates the pointer to the source address.
      alen Indicates the size of the source address.

      value

      Description

      MSG_DONTWAIT

      Enables the non-blocking operation.

      MSG_MORE

      The caller has more data to send.

      MSG_NOSIGNAL

      No signals are generated.

      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.

      errno

      Description

      EINVAL

      Invalid input parameter

      EBADF

      Invalid socket or socket status exception

      ENOMEM

      Memory copy exception

      EOPNOTSUPP

      Unsupported message type

      ENOTCONN

      Socket not connected

      ENOTCONN

      Connection closed

      recvmsg()

      1. ssize_t recvmsg (int fd, struct msghdr * msg, int flags )

      Description:

      Receives data from a specified socket.

      Parameters:

      Name

      Description

      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:

      value

      Description

      MSG_DONTWAIT

      Enables the non-blocking operation.

      MSG_MORE

      The caller has more data to send.

      MSG_NOSIGNAL

      No signals are generated.

      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.

      errno

      Description

      EINVAL

      Invalid input parameter

      EBADF

      Invalid socket or socket status exception

      EDESTADDRREQ

      Invalid connection

      ENOMEM

      Memory copy exception

      EIO

      Incorrect connection type obtained based on the socket descriptor

      send()

      1. ssize_t send (int fd, const void * buf, size_t len, int flags )

      Description:

      Sends data to another socket.

      Parameters:

      Name

      Description

      fd Indicates the socket descriptor.
      buf Indicates the pointer to a buffer for storing the data to be sent.
      len Indicates the length of the buffer pointed to by buf.
      flags Indicates the socket flags. This parameter has the following values:

      value

      Description

      MSG_DONTWAIT

      Enables the non-blocking operation.

      MSG_MORE

      The caller has more data to send.

      MSG_NOSIGNAL

      No signals are generated.

      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.

      errno

      Description

      EINVAL

      Invalid input parameter

      EBADF

      Invalid socket or socket status exception

      EDESTADDRREQ

      Invalid connection

      ENOMEM

      Memory copy exception

      EOPNOTSUPP

      Unsupported message type

      ENOTCONN

      Socket not connected

      EIO

      Incorrect connection type obtained based on the socket descriptor

      sendmsg()

      1. ssize_t sendmsg (int fd, const struct msghdr * msg, int flags )

      Description:

      Sends data to another socket.

      Parameters:

      Name

      Description

      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:

      value

      Description

      MSG_DONTWAIT

      Enables the non-blocking operation.

      MSG_MORE

      The caller has more data to send.

      MSG_NOSIGNAL

      No signals are generated.

      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.

      errno

      Description

      EINVAL

      Invalid input parameter

      EBADF

      Invalid socket or socket status exception

      EDESTADDRREQ

      Invalid connection

      ENOMEM

      Memory copy exception

      EIO

      Incorrect connection type obtained based on the socket descriptor

      EOPNOTSUPP

      Unsupported message type

      sendto()

      1. 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:

      Name

      Description

      fd Indicates the socket descriptor.
      buf Indicates the pointer to a buffer for storing the data to be sent.
      len Indicates the length of the buffer pointed to by buf.
      flags Indicates the socket flags. This parameter has the following values:
      addr Indicates the pointer to the destination network address.
      alen Indicates the length of the destination network address.

      value

      Description

      MSG_DONTWAIT

      Enables the non-blocking operation.

      MSG_MORE

      The caller has more data to send.

      MSG_NOSIGNAL

      No signals are generated.

      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.

      errno

      Description

      EINVAL

      Invalid input parameter

      EBADF

      Invalid socket or socket status exception

      EDESTADDRREQ

      Invalid connection

      ENOMEM

      Memory copy exception

      EOPNOTSUPP

      Unsupported message type

      ENOTCONN

      Socket not connected

      EIO

      Incorrect connection type obtained based on the socket descriptor

      setprotoent()

      1. void setprotoent (int stayopen)

      Description:

      Opens a connection to the database and sets the next entry to the first entry.

      Parameters:

      Name

      Description

      stayopen Reserved for interface compatibility (not used currently).

      Attention:

      The stayopen parameter does not take effect. It is equivalent to nonzero for and zero for getprotobyname and getprotobynumbmer.

      setsockopt()

      1. int setsockopt (int fd, int level, int optname, const void * optval, socklen_t optlen )

      Description:

      Sets the socket options.

      Parameters:

      Name

      Description

      fd Indicates the socket descriptor.
      level Indicates the protocol level at which the option resides. Only 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.

      value

      Description

      SO_BROADCAST

      Permits sending broadcast messages.

      SO_RCVTIMEO

      Receiving data times out.

      SO_RCVBUF

      Sets or gets the maximum socket receiving buffer in bytes.

      SO_DONTROUTE

      Prohibits messages from being sent via a gateway.

      SO_BINDTODEVICE

      Binds this socket to a particular device.

      Returns:

      Returns 0 if the operation is successful; returns -1 and sets errno to a value in the following table if the operation fails.

      errno

      Description

      EINVAL

      Small optlen

      EBADF

      Invalid socket or socket status exception

      EFAULT

      The input parameter is a null pointer.

      ENOBUFS

      Retrieved length exception

      ENOMEM

      Memory copy exception

      shutdown()

        Description:

        Shuts down a socket.

        Parameters:

        Name

        Description

        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.

        errno

        Description

        EINVAL

        Invalid input parameter

        ENOTCONN

        Socket not connected

        ENOMEM

        Memory copy exception

        EIO

        Incorrect connection type obtained based on the socket descriptor

        socket()

        Description:

        Creates a socket and returns its descriptor.

        Parameters:

        Name

        Description

        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.