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

comment "System Logging"

config RAMLOG
	bool "RAM log device support"
	default n
	---help---
		This is a driver that was intended to support debugging output,
		aka syslogging, when the normal serial output is not available.
		For example, if you are using a telnet or USB serial console,
		the debug output will get lost.  However, the RAMLOG device should
		be usable even if system logging is disabled.

		This driver is similar to a pipe in that it saves the debugging
		output in a FIFO in RAM.  It differs from a pipe in numerous
		details as needed to support logging.

if RAMLOG
config RAMLOG_SYSLOG
	bool "Use RAMLOG for SYSLOG"
	default n
	depends on SYSLOG
	---help---
		Use the RAM logging device for the syslogging interface.  If this feature
		is enabled (along with SYSLOG), then all debug output (only) will be re-directed
		to the circular buffer in RAM.  This RAM log can be view from NSH using the
		'dmesg'command.

		Do not enable more than one SYSLOG device.

config RAMLOG_CONSOLE
	bool "Use RAMLOG for /dev/console"
	default n
	depends on DEV_CONSOLE
	---help---
		Use the RAM logging device as a system console. If this feature is enabled (along
		with DEV_CONSOLE), then all console output will be re-directed to a circular
		buffer in RAM.  This is useful, for example, if the only console is a Telnet
		console.  Then in that case, console output from non-Telnet threads will go to
		the circular buffer and can be viewed using the NSH 'dmesg' command.

config RAMLOG_CONSOLE_BUFSIZE
	int "RAMLOG buffer size"
	default 1024
	depends on RAMLOG_SYSLOG || RAMLOG_CONSOLE
	---help---
		Size of the console RAM log.  Default: 1024

config RAMLOG_CRLF
	bool "RAMLOG CR/LF"
	default n
	---help---
		Pre-pend a carriage return before every linefeed that goes into the RAM log.

config RAMLOG_NONBLOCKING
	bool "RAMLOG non-block reads"
	default y
	---help---
		Reading from the RAMLOG will never block if the RAMLOG is empty.  If the RAMLOG
		is empty, then zero is returned (usually interpreted as end-of-file).

config RAMLOG_NPOLLWAITERS
	int "RAMLOG number of poll waiters"
	default 4
	depends on !DISABLE_POLL
	---help---
		The maximum number of threads that may be waiting on the poll method.

endif
