# # For a description of the syntax of this configuration file, # see the file kconfig-language.txt in the NuttX tools repository. # menu "Standard C I/O" config STDIO_DISABLE_BUFFERING bool "Disable STDIO Buffering" default n ---help--- Tiny systems may need to disable all support for I/O buffering in order to minimize the memory footprint. NOTE that even if STDIO buffering is enabled, you can still disable buffering by setting CONFIG_STDIO_BUFFER_SIZE=0 or dynamically through the setvbuf() interface. In this case, however, memory used for buffering will be eliminated, of course, but there will be no reduction in static code size. Only setting CONFIG_STDIO_DISABLE_BUFFERING will reduce static code size. The setvbuf() interface is not available if CONFIG_STDIO_DISABLE_BUFFERING is selected. if !STDIO_DISABLE_BUFFERING config STDIO_BUFFER_SIZE int "STDIO buffer size" default 64 ---help--- Size of buffers using within the C buffered I/O interfaces (printf, putchar, fwrite, etc.). This function sets the initial I/O buffer size. Zero disables I/O buffering initially. Any buffer size may be subsequently modified using setvbuf(). config STDIO_LINEBUFFER bool "STDIO line buffering" default y ---help--- Sets the default behavior to flush buffered I/O whenever a newline character is found in the output data stream. This setting just sets the initial default behavior of all streams. The behavior of an individual stream can be changed via setvbuf(). endif # !STDIO_DISABLE_BUFFERING config NUNGET_CHARS int "Number unget() characters" default 2 ---help--- Number of characters that can be buffered by ungetc() (Only if FILE_STREAM equals y) config LIBC_PRINT_LEGACY bool "Enable legacy printf logic" default n ---help--- By default, printf (and friends) are implemented using a port from newlib-nano. That port can be signifcantly smaller, especially if floating support is enabled. This option is available, however, to revert to the legacy printf version is so desired. config LIBC_FLOATINGPOINT bool "Enable floating point in printf" default n ---help--- By default, floating point support in printf, sscanf, etc. is disabled. This option will enable floating point support. config LIBC_LONG_LONG bool "Enable long long support in printf" default y if !DEFAULT_SMALL default n if DEFAULT_SMALL ---help--- Enables support for long long formats in printf, sscanf, etc. is enabled. This is enabled by default but if you are trying to reduce the FLASH footprint, then disabling this feature is one option. The FLASH saves comes not from disabling the long long formats, but rather from omitting the large long long arithmetic libraries that will be drawn into the build if long long support is enabled. NOTE: This setting has no effect if the underlying architecture cannot support long long types config LIBC_NUMBERED_ARGS bool "Enable numbered arguments in printf" default n depends on (LIBC_FLOATINGPOINT || LIBC_LONG_LONG) && !LIBC_PRINT_LEGACY ---help--- Enables support for numbered arguments in printf. printf("%3$s %3$s %1$s %2$s\n", "1", "2", "3"); --> "3 3 1 2" printf("%3$*2$.*1$f\n", 4, 8, 1.234567); --> " 1.2346" Attention: Mixing of numbered and sequential arguments in one format string is not allowed according to POSIX. config LIBC_NL_ARGMAX int "Maximum number of numbered arguments for printf" default 16 range 9 999999 depends on LIBC_NUMBERED_ARGS ---help--- Applies only if there are numbered arguments in your format string. The number of sequential arguments isn't affected. Will be copied into stdio POSIX macro NL_ARGMAX. Attention: Increasing this value will increase stack usage of printf. config LIBC_SCANSET bool "Scanset support" default n ---help--- Add scanset support to sscanf(). choice prompt "Newline Options" default EOL_IS_EITHER_CRLF ---help--- This selection determines the line terminating character that is used. Some environments may return CR as end-of-line, others LF, and others both. If not specified, the default is either CR or LF (but not both) as the line terminating character. config EOL_IS_CR bool "EOL is CR" config EOL_IS_LF bool "EOL is LF" config EOL_IS_BOTH_CRLF bool "EOL is CR and LF" config EOL_IS_EITHER_CRLF bool "EOL is CR or LF" endchoice endmenu #Standard C I/O