SYNOPSIS
#include <nanomsg/nn.h>
int nn_socket(int af, int proto);
DESCRIPTION
The nn_socket()
function creates socket using the address family af and
protocol proto and returns it.
This function is provided for API compatibility with legacy libnanomsg. Consider using the relevant modern API instead. |
Mixing the compatibility API and the modern API is not supported on a given socket. |
Some protocols, transports, and features are only available in the modern API. |
The address family af can be one of two values:
AF_SP
|
Normal socket. |
AF_SP_RAW
|
“Raw mode” socket. |
The protocol indicates the protocol to be used when creating the socket. The following protocols are defined:
NN_PAIR
|
Pair protocol. |
NN_PUB
|
Publisher protocol. |
NN_SUB
|
Subscriber protocol. |
NN_REQ
|
Requestor protocol. |
NN_REP
|
Replier protocol. |
NN_PUSH
|
Push protocol. |
NN_PULL
|
Pull protocol. |
NN_SURVEYOR
|
Surveyor protocol. |
NN_RESPONDENT
|
Respondent protocol. |
NN_BUS
|
Bus protocol. |
RETURN VALUES
This function returns a valid socket number on success, and -1 on failure.
ERRORS
ENOMEM
|
Insufficient memory is available. |
ENOTSUP
|
The protocol is not supported. |
ETERM
|
The library is shutting down. |