DISCONNECTX(2) System Calls Manual DISCONNECTX(2)

disconnectxdisconnects a connection on a socket

#include <sys/socket.h>

int
disconnectx(int socket, sae_associd_t associd, sae_connid_t connid);

The parameter socket is a socket. The communication domain of the socket determines the availability and behavior of (). For connection-oriented socket, disconnectx() is analogous to shutdown(2) with SHUT_RDWR issued on the socket. For connectionless socket, it disassociates any existing association to the peer socket.

The parameter associd specifies the association identifier. It should be set to SAE_ASSOCID_ANY.

The parameter connid should be set to SAE_CONNID_ANY.

() is currently supported only on AF_INET and AF_INET6 sockets of type SOCK_DGRAM and SOCK_STREAM.

The disconnectx() function returns the value 0 if successful; otherwise the value of -1 is returned and the global integer variable errno is set to indicate the error.

The disconnectx() system call succeeds unless:

[]
Operation already in progress.
[]
Socket is not a valid descriptor.
[]
The associd or connid argument is invalid or the underlying protocol is no longer attached to socket.
[]
The socket is not connected.
[]
Socket is a file, not a socket.

connect(2), connectx(2), socket(2), compat(5)

The disconnectx() function call appeared in Darwin 15.0.0

April 10, 2015 Darwin