disconnectx(2)

disconnectx2

Disconnects a connection on a socket

Usage

#include <sys/socket.h>

int

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

Overview

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.

Releases

82 releases since OS X 10.9; the text changed 1 time.

  1. 10.9–10.10.5
  2. 10.11–26.5

History

The disconnectx() function call appeared in Darwin 15.0.0

From xnu 12377.121.6 in macOS 26.5. Parsed by carta from the page's mdoc source.