git-subtree-dir: external/nng git-subtree-split: 169221da8d53b2ca4fda76f894bee8505887a7c6
65 lines
2.3 KiB
Text
65 lines
2.3 KiB
Text
= nng_sockaddr_ipc(5)
|
|
//
|
|
// Copyright 2020 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_ipc - IPC socket address
|
|
|
|
== SYNOPSIS
|
|
|
|
[source,c]
|
|
----
|
|
#include <nng/nng.h>
|
|
|
|
enum sockaddr_family {
|
|
NNG_AF_IPC = 2,
|
|
};
|
|
|
|
typedef struct {
|
|
uint16_t sa_family;
|
|
char sa_path[128];
|
|
} nng_sockaddr_ipc;
|
|
----
|
|
|
|
== DESCRIPTION
|
|
|
|
(((socket, address, IPC))) An `nng_sockaddr_ipc` is the flavor of xref:nng_sockaddr.5.adoc[`nng_sockaddr`]
|
|
used to represent addresses associated with IPC communication using the xref:nng_ipc.7.adoc[_ipc_] transport.
|
|
|
|
The following structure members are present:
|
|
|
|
`sa_family`::
|
|
This field will always have the value ((`NNG_AF_IPC`)).
|
|
|
|
`sa_path`::
|
|
This field holds the C string corresponding to path name where the IPC socket is located.
|
|
For systems using UNIX domain sockets, this will be a path name in the file system, where the UNIX domain socket is located.
|
|
For Windows systems, this is the path name of the Named Pipe, without the leading `\\.pipe\` portion, which will be automatically added.
|
|
|
|
NOTE: At this time, there is no support for abstract sockets.
|
|
|
|
TIP: In order to ensure maximum compatibility, applications should avoid hard coding the size of the `sa_path` 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, but paths of this length may not be supported on all systems.
|
|
|
|
TIP: Portable applications should restrict themselves to path names of not more than 90 bytes. Most systems have
|
|
limits around 100 bytes, but at least one system (HP-UX) is restricted to not more than 92 bytes including the `NUL`.
|
|
|
|
NOTE: If compatibility with legacy _nanomsg_ applications is required, then path names must not be longer than 122 bytes, including the final
|
|
`NUL` byte.
|
|
This is because legacy versions of _nanomsg_ cannot express URLs longer than 128 bytes, including the `ipc://` prefix.
|
|
|
|
== SEE ALSO
|
|
|
|
[.text-left]
|
|
xref:nng_sockaddr.5.adoc[nng_sockaddr(5)],
|
|
xref:nng_ipc.7.adoc[nng_ipc(7)]
|
|
xref:nng.7.adoc[nng(7)]
|