# SPDX-License-Identifier: GPL-2.0-only
#
# Unix Domain Sockets
#

config UNIX
	bool "Unix domain sockets"
	help
	  If you say Y here, you will include support for Unix domain sockets;
	  sockets are the standard Unix mechanism for establishing and
	  accessing network connections.  Many commonly used programs such as
	  the X Window system and syslog use these sockets even if your
	  machine is not connected to any network.  Unless you are working on
	  an embedded system or something similar, you therefore definitely
	  want to say Y here.

	  Say Y unless you know what you are doing.

config	AF_UNIX_OOB
	bool "UNIX: out-of-bound messages"
	depends on UNIX
	default y
	help
	  Support for MSG_OOB in UNIX domain sockets. If unsure, say Y.

config UNIX_DIAG
	tristate "UNIX: socket monitoring interface"
	depends on UNIX
	default n
	help
	  Support for UNIX socket monitoring interface used by the ss tool.
	  If unsure, say Y.
