#
# For a description of the syntax of this configuration file,
# see misc/tools/kconfig-language.txt.
#

menu "User-space networking stack API"

config NET_USRSOCK
	bool "User-space networking stack API"
	default n
	depends on NET
	---help---
		Enable or disable user-space networking stack support.

		User-space networking stack API allows user-space daemon to
		provide TCP/IP stack implementation for NuttX network.

		Main use for this is to allow use and integration of
		HW-provided TCP/IP stacks for NuttX.

		For example, user-space daemon can translate /dev/usrsock API
		requests to HW TCP/IP API requests while rest of the user-space
		can access standard socket API, with socket descriptors that
		can be used with NuttX system calls.

if NET_USRSOCK

config NET_USRSOCK_CONNS
	int "Number of usrsock connections"
	default 6
	---help---
		Maximum number of usrsock connections (all tasks).

		Note: Usrsock daemon can impose additional restrictions for
		maximum number of concurrent connections supported.

config NET_USRSOCK_NPOLLWAITERS
	int "Number of usrsock poll waiters"
	default 1

config NET_USRSOCK_UDP
	bool "User-space daemon provides UDP sockets"
	default n
	select NET_UDP_NO_STACK
	---help---

config NET_USRSOCK_TCP
	bool "User-space daemon provides TCP sockets"
	default n
	select NET_TCP_NO_STACK

config NET_USRSOCK_ICMP
	bool "User-space daemon provides ICMP sockets"
	select NET_ICMP_NO_STACK
	default n

config NET_USRSOCK_ICMPv6
	bool "User-space daemon provides ICMPv6 sockets"
	select NET_ICMPv6_NO_STACK
	default n

endif # NET_USRSOCK
endmenu # User-space networking stack API
