Linux debugging

Check our new training course

Linux debugging, tracing, profiling & perf. analysis

Check our new training course
with Creative Commons CC-BY-SA
lecture and lab materials

Bootlin logo

Elixir Cross Referencer

# Kconfig - console driver configuration options

#
# Copyright (c) 2017 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#

menuconfig TELNET_CONSOLE
	bool "Enable a super basic telnet console service"
	default n
	select NETWORKING
	select NET_TCP
	help
	  This option enables telnet as a network console service. It is for
	  now a very basic implementation of the telnet protocol. Currently,
	  it is basically just a redirection of the Zephyr console through TCP.
	  It nicely works along with another console driver (like uart), twist
	  being that it will take over the output if only a successful
	  connection to its port is done.

if TELNET_CONSOLE

config TELNET_CONSOLE_PORT
	int "Telnet console port number"
	default 23
	help
	  This option is used to configure on which port telnet is going
	  to be bound.

config TELNET_CONSOLE_LINE_BUF_SIZE
	int "Telnet console line buffer size"
	default 64
	help
	  This option can be used to modify the size of the buffer storing
	  console output line, prior to sending it through the network.
	  Of course an output line can be longer than such size, it just
	  means sending it will start as soon as it reaches this size.
	  It really depends on what type of output is expected.
	  A lot of short lines: better reduce this value. On the contrary,
	  raise it.

config TELNET_CONSOLE_LINE_BUF_NUMBERS
	int "Telnet console line buffers"
	default 4
	help
	  This option can be used to modify the amount of line buffers the
	  driver can use. It really depends on how much output is meant to be
	  sent, depending on the system load etc. You can play on both
	  TELNET_CONSOLE_LINE_BUF_SIZE and this current option to get the
	  best possible buffer settings you need.

config TELNET_CONSOLE_SEND_TIMEOUT
	int "Telnet console line send timeout"
	default 100
	help
	  This option can be used to modify the duration of the timer that kick
	  in when a line buffer is not empty but did not yet meet the line feed.

config TELNET_CONSOLE_SEND_THRESHOLD
	int "Telnet console line send threshold"
	default 5
	help
	  This option can be used to modify the minimal amount of a line buffer
	  that can be sent by the telnet server when nothing has happened for
	  a little while (see TELNET_CONSOLE_SEND_TIMEOUT) and when the line
	  buffer did not meet the line feed yet.

config TELNET_CONSOLE_SUPPORT_COMMAND
	bool "Add support for telnet commands (IAC) [Experimental]"
	default n
	help
	  Current support is so limited it's not interesting to enable it.
	  However, if proven to be needed at some point, it will be possible
	  to extend such support.

config TELNET_CONSOLE_THREAD_STACK
	int "Telnet console inner thread stack size"
	default 1024
	help
	  This option helps to fine-tune telnet's inner thread stack size.

config TELNET_CONSOLE_PRIO
	int "Telnet console inner thread priority"
	default 7
	help
	  This option helps to fine-tune telnet's inner thread priority.

config SYS_LOG_TELNET_CONSOLE_LEVEL
	int "Telnet console log level"
	default 0
	depends on SYS_LOG
	help
	  Sets log level for telnet console (for telnet console dev only)

	  Levels are:

	  - 0 OFF, do not write

	  - 1 ERROR, only write SYS_LOG_ERR

	  - 2 WARNING, write SYS_LOG_WRN in addition to previous level

	  - 3 INFO, write SYS_LOG_INF in addition to previous levels

	  - 4 DEBUG, write SYS_LOG_DBG in addition to previous levels

config TELNET_CONSOLE_DEBUG_DEEP
	bool "Forward output to original console handler"
	depends on UART_CONSOLE
	default n
	help
	  For telnet developers only, this will forward each output to
	  original console handler. So if by chance telnet seems silent,
	  at least things will be printed to original handler, usually
	  UART console.

config TELNET_CONSOLE_INIT_PRIORITY
	int "Telnet console init priority"
	default 99
	help
	  Telnet console driver initialization priority. Note that Telnet works
	  on application level. Usually, you won't have to tweak this.

endif