= nng_sockaddr_inproc(5)
//
// Copyright 2018 Staysail Systems, Inc. <info@staysail.tech>
// Copyright 2018 Capitar IT Group BV <info@capitar.com>
//
// This document is supplied under the terms of the MIT License, a
// copy of which should be located in the distribution where this
// file was obtained (LICENSE.txt).  A copy of the license may also be
// found online at https://opensource.org/licenses/MIT.
//

== NAME

nng_sockaddr_inproc - inproc socket address

== SYNOPSIS

[source, c]
----
#include <nng/nng.h>

enum sockaddr_family {
    NNG_AF_INPROC = 1,
};

typedef struct {
    uint16_t sa_family;
    uint16_t sa_name[128];
} nng_sockaddr_inproc;
----

== DESCRIPTION

(((socket, address, inproc)))
An `nng_sockaddr_inproc` is the flavor of xref:nng_sockaddr.5.adoc[`nng_sockaddr`]
used to represent addresses associated with intra-process communication
using the xref:nng_inproc.7.adoc[_inproc_] transport.

The following structure members are present:

`sa_family`::
    This field will always have the value ((`NNG_AF_INPROC`)).

`sa_name`::
    This field holds an arbitrary C string, which is the name of the address.
    The string must be `NUL` terminated, but no other restrictions exist.

TIP: In order to ensure maximum compatibility, applications should avoid
hard coding the size of the `sa_name` member explicitly, but use the
`sizeof` operator to determine its actual size at compile time.
Furthermore, the size is guaranteed to be at least 128.

== SEE ALSO

[.text-left]
xref:nng_sockaddr.5.adoc[nng_sockaddr(5)],
xref:nng_inproc.7.adoc[nng_inproc(7)]
xref:nng.7.adoc[nng(7)]
