#
# Copyright (c) 2017 Linaro Limited
#
# SPDX-License-Identifier: Apache-2.0
#

menu "Console"

config CONSOLE_SUBSYS
	bool "Console subsystem/support routines [EXPERIMENTAL]"
	help
	  Console subsystem and helper functions

if CONSOLE_SUBSYS
choice
	prompt "Console 'get' function selection"
	optional

config CONSOLE_GETCHAR
	bool "Character by character input and output"
	select UART_CONSOLE_DEBUG_SERVER_HOOKS
	select CONSOLE_HANDLER

config CONSOLE_GETLINE
	bool "Line by line input"
	select CONSOLE_HANDLER

endchoice

if CONSOLE_GETCHAR

config CONSOLE_GETCHAR_BUFSIZE
	int "console_getchar() buffer size"
	default 16
	help
	  Buffer size for console_getchar(). Must be power of 2. The
	  default is optimized to save RAM. You may need to increase
	  it e.g. to support large host-side clipboard pastes.

config CONSOLE_PUTCHAR_BUFSIZE
	int "console_putchar() buffer size"
	default 16
	help
	  Buffer size for console_putchar(). Must be power of 2. The
	  default is optimized to save RAM. You may need to increase
	  it e.g. to support large host-side clipboard pastes (with
	  echo).

endif # CONSOLE_GETCHAR

endif # CONSOLE_SUBSYS
endmenu
