#include <cafe.h>
#include <cafe/network.h>

int SOShutdown(int fd, int how);


fd Descriptor of socket to shutdown.
how Manner of shutdown:
  • SHUT_RD: Reads disallowed; write-only.
  • SHUT_WR: Writes disallowed; read-only.
  • SHUT_RDWR: Reads and writes disallowed.

Return Values

0 upon success. Upon failure, -1 and errno are set appropriately.


SO_ELIBNOTREADY Socket library is not initialized.
SO_ENOMEM Insufficient memory in the stack.
SO_EINVAL The how argument is invalid.
SO_ENOTSOCK The argument fd does not refer to a socket.
SO_EBUSY Socket resource manager busy processing requests.
SO_EABORTED Indicates the operation was aborted. For example, this error can be returned for calls blocked on a socket after the socket is closed by another thread.
SO_EUNKNOWN Unknown error.
SO_ERANGEINVALID Internal API error, invalid error code.
SO_EAPIERROR Internal API error.
SO_ENOBUFS Internal API error.


Shut down all or part of a full-duplex connection on the specified socket.

Do Not Call From

Callbacks Do not call this function from any callback function.
Interrupt handler Do not call this function from any interrupt handler.
Exception handler Do not call this function from any exception handler.

See Also


Revision History

2012/10/09 Updated Errors section.
2012/08/16 Cleanup pass.
2011/07/11 Added Errors section.
2011/02/21 Initial version.