DISCONNECTX(2)

NAME
disconnectx - disconnects a connection on a socket

SYNOPSIS
#include <sys/socket.h>
int
disconnectx(int socket, sae_associd_t associd, sae_connid_t connid);

DESCRIPTION
The parameter socket is a socket. The communication domain of the socket determines the availability and behavior of disconnectx(). 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.

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

RETURN VALUES
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.

ERRORS
The disconnectx() system call succeeds unless:

[EALREADY]
    Operation already in progress.

[EBADF]
    Socket is not a valid descriptor.

[EINVAL]
    The associd or connid argument is invalid or the underlying protocol is no longer attached to socket.

[ENOTCONN]
    The socket is not connected.

[ENOTSOCK]
    Socket is a file, not a socket.

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

HISTORY
The disconnectx() function call appeared in Darwin 15.0.0