summaryrefslogtreecommitdiff
path: root/docs/ref/sock/nng_pair_open.adoc
blob: b78353b10891f07da772963cb1bb6565a54aad65 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
## nng_pair_open

Create pair socket.

### Synopsis

.Version 0
```c
#include <nng/protocol/pair0/pair.h>

int nng_pair0_open(nng_socket *s);
int nng_pair0_open_raw(nng_socket *s);
```

.Version 1
```c
#include <nng/protocol/pair1/pair.h>

int nng_pair1_open(nng_socket *s);
int nng_pair1_open_raw(nng_socket *s);
int nng_pair1_open_poly(nng_socktet *s);
```

### Description

The `nng_pair0_open` and `nng_pair1_open` functions
create a xref:nng_pair.adoc[_PAIR_] version 0 or version 1 xref:../index.adoc[socket] and return it at the location pointed to by _s_.

The `nng_pair0_open_raw` and `nng_pair1_open_raw` functions create a _PAIR_ version 0 or version 1 socket in xref:../sock/raw.adoc[raw mode] and return it at the location pointed to by _s_.

The `nng_pair1_open_poly` function opens a pair version 1 socket in polyamorous mode.

NOTE: Polyamorous mode is deprecated.

### Return Values

These functions returns 0 on success, and non-zero otherwise.

### Errors

[horizontal]
`NNG_ENOMEM`:: Insufficient memory is available.
`NNG_ENOTSUP`:: The protocol is not supported.

### See Also

xref:../proto/pair.adoc[Pair Protocol (_PAIR_)]