# nng_sockaddr_in(5) Manual Page

## NAME

nng_sockaddr_in - IPv4 socket address

## SYNOPSIS

    #include <nng/nng.h>

    enum sockaddr_family {
        NNG_AF_INET = 3,
    };

    typedef struct {
        uint16_t sa_family;
        uint16_t sa_port;
        uint32_t sa_addr;
    } nng_sockaddr_in;

## DESCRIPTION

An `nng_sockaddr_in` is the flavor of `nng_sockaddr` used to represent TCP (and sometimes UDP) addresses, including the Internet Protocol (IP) address and port number.

This structure is used with IPv4 addresses. A different structure, `nng_sockaddr_in6`, is used for IPv6 addresses.

The following structure members are present:

`sa_family`

  This field will always have the value `NNG_AF_INET`.

`sa_port`

  This field holds the TCP or UDP port number, in network byte-order. A zero value here is used when no specific port number is indicated.

`sa_addr`

  This field holds the IP address in network-byte order.

| The `sa_port` and `sa_addr` fields are in network-byte order to facilitate their use with system APIs such as `inet_ntop()`. Most platforms use some form of BSD-derived network API, which uses network-byte order in the various structures (such as `sockaddr_in`).

| This field appears similar to BSD `sockaddr_in`, but it is not the same, and they may not be used interchangeably.

## SEE ALSO

nng_sockaddr(5), nng_sockaddr_in6(5), nng_tcp(7), nng(7)