| nn_shutdown(3) | 
 | ============== | 
 |  | 
 | NAME | 
 | ---- | 
 | nn_shutdown - remove an endpoint from a socket | 
 |  | 
 |  | 
 | SYNOPSIS | 
 | -------- | 
 | *#include <nanomsg/nn.h>* | 
 |  | 
 | *int nn_shutdown (int 's', int 'how');* | 
 |  | 
 |  | 
 | DESCRIPTION | 
 | ----------- | 
 | Removes an endpoint from socket 's'. 'how' parameter specifies the ID of the | 
 | endpoint to remove as returned by prior call to linknanomsg:nn_bind[3] or | 
 | linknanomsg:nn_connect[3]. The library will try to deliver any outstanding | 
 | outbound messages to this endpoint for the time specified by _NN_LINGER_ socket | 
 | option. The call will block in the meantime. | 
 |  | 
 |  | 
 | RETURN VALUE | 
 | ------------ | 
 | If the function succeeds zero is returned. Otherwise, negative number is | 
 | returned and 'errno' is set to to one of the values defined below. | 
 |  | 
 |  | 
 | ERRORS | 
 | ------ | 
 | *EBADF*:: | 
 | The provided socket is invalid. | 
 | *EINVAL*:: | 
 | The 'how' parameter doesn't correspond to an active endpoint. | 
 | *EINTR*:: | 
 | Operation was interrupted by a signal. The endpoint is not fully closed yet. | 
 | Operation can be re-started by calling _nn_shutdown()_ again. | 
 | *ETERM*:: | 
 | The library is terminating. | 
 |  | 
 |  | 
 | EXAMPLE | 
 | ------- | 
 |  | 
 | ---- | 
 | s = nn_socket (AF_SP, NN_PUB); | 
 | eid = nn_bind (s, "inproc://test"); | 
 | nn_shutdown (s, eid); | 
 | ---- | 
 |  | 
 |  | 
 | SEE ALSO | 
 | -------- | 
 | linknanomsg:nn_socket[3] | 
 | linknanomsg:nn_bind[3] | 
 | linknanomsg:nn_connect[3] | 
 | linknanomsg:nanomsg[7] | 
 |  | 
 | AUTHORS | 
 | ------- | 
 | Martin Sustrik <sustrik@250bpm.com> | 
 |  |