| # |
| # 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" |
| depends on FILE_STREAM |
| 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_FLOATINGPOINT |
| bool "Enable floating point in printf" |
| default !DEFAULT_SMALL && ARCH_FPU |
| depends on !LIBM_NONE |
| ---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 !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 |
| ---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 9 |
| 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(). |
| |
| config LIBC_PRINT_EXTENSION |
| bool |
| default n |
| ---help--- |
| Enables non-standard "%p*" extensions for the printf family. |
| |
| CAVEAT: If your system is using any of the printf C family |
| functions, it's probably unsafe to enable this option because |
| the extension is not compatible with the C standard. Namely, |
| an ordinary character following a "%p" conversion is interpreted |
| in a non-standard way, which might crash the code which expects |
| the standard semantics. For that reason, in the future versions |
| of NuttX, this extension might be removed, or changed in an |
| API-incompatible way to avoid conflicts with the standards. |
| (Eg. use different characters for conversions specifiers, |
| or switch to a completely separate API, say "nuttx_printf".) |
| |
| endmenu #Standard C I/O |