# Copyright (c) 2023 Meta
#
# SPDX-License-Identifier: Apache-2.0

source "lib/posix/Kconfig.template.with_url"
source "lib/posix/Kconfig.template.with_logging"

# This is mainly for TIMER currently.
config $(TYPE)
	bool "POSIX $(type) support"
	help
	  For more info, see
	  $(posix-url-base)/$(type-function).html

# eventually, this size should be defaulted to 0 as a safe value
config MAX_$(TYPE)_COUNT
	int "Maximum simultaneously active $(type) in POSIX application"
	default 5
	help
	  Maximum simultaneously active $(type) in a POSIX application.
