libc/Kconfig: Break big Kconfig up into separate Kconfig files in each libc subdirectory.
This commit is contained in:
parent
24052710c1
commit
de1b68dc4e
@ -973,4 +973,7 @@ Status
|
|||||||
USB device, however, has not yet been tested. I have not yet looked
|
USB device, however, has not yet been tested. I have not yet looked
|
||||||
into 48MHz clocking requirements.
|
into 48MHz clocking requirements.
|
||||||
|
|
||||||
|
2017-02-10: These have been numerous SDHC fixes submitted by Marc Rechte'.
|
||||||
|
These may or may not have fixed the SDHC issues mentioned about. You
|
||||||
|
would have to retest to verify the SDHC functionality.
|
||||||
|
|
||||||
|
@ -203,7 +203,9 @@ long double strtold(FAR const char *str, FAR char **endptr);
|
|||||||
#ifdef CONFIG_HAVE_LONG_LONG
|
#ifdef CONFIG_HAVE_LONG_LONG
|
||||||
#define atoll(nptr) strtoll((nptr), NULL, 10)
|
#define atoll(nptr) strtoll((nptr), NULL, 10)
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef CONFIG_HAVE_DOUBLE
|
||||||
#define atof(nptr) strtod((nptr), NULL)
|
#define atof(nptr) strtod((nptr), NULL)
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Binary to string conversions */
|
/* Binary to string conversions */
|
||||||
|
|
||||||
|
875
libc/Kconfig
875
libc/Kconfig
@ -5,865 +5,20 @@
|
|||||||
|
|
||||||
comment "Standard C Library Options"
|
comment "Standard C Library Options"
|
||||||
|
|
||||||
config STDIO_DISABLE_BUFFERING
|
source libc/stdio/Kconfig
|
||||||
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 NFILE_STREAMS > 0)
|
|
||||||
|
|
||||||
config LIB_HOMEDIR
|
|
||||||
string "Home directory"
|
|
||||||
default "/"
|
|
||||||
depends on !DISABLE_ENVIRON
|
|
||||||
---help---
|
|
||||||
The home directory to use with operations like such as 'cd ~'
|
|
||||||
|
|
||||||
source libc/dllfcn/Kconfig
|
|
||||||
source libc/modlib/Kconfig
|
|
||||||
source libc/math/Kconfig
|
source libc/math/Kconfig
|
||||||
source libc/machine/Kconfig
|
source libc/machine/Kconfig
|
||||||
|
source libc/stdlib/Kconfig
|
||||||
config NOPRINTF_FIELDWIDTH
|
source libc/unistd/Kconfig
|
||||||
bool "Disable sprintf support fieldwidth"
|
source libc/string/Kconfig
|
||||||
default n
|
source libc/dllfcn/Kconfig
|
||||||
---help---
|
source libc/modlib/Kconfig
|
||||||
sprintf-related logic is a little smaller if we do not support field
|
source libc/wchar/Kconfig
|
||||||
widths.
|
source libc/locale/Kconfig
|
||||||
|
source libc/time/Kconfig
|
||||||
config LIBC_FLOATINGPOINT
|
source libc/tls/Kconfig
|
||||||
bool "Enable floating point in printf"
|
source libc/net/Kconfig
|
||||||
default n
|
source libc/netdb/Kconfig
|
||||||
---help---
|
source libc/misc/Kconfig
|
||||||
By default, floating point
|
source libc/wqueue/Kconfig
|
||||||
support in printf, sscanf, etc. is disabled.
|
source libc/hex2bin/Kconfig
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
config LIBC_SCANSET
|
|
||||||
bool "Scanset support"
|
|
||||||
default n
|
|
||||||
---help---
|
|
||||||
Add scanset support to sscanf().
|
|
||||||
|
|
||||||
config LIBC_IOCTL_VARIADIC
|
|
||||||
bool "Enable variadic ioctl()"
|
|
||||||
default n
|
|
||||||
---help---
|
|
||||||
By default, NuttX implements the "old style," three-parameter,
|
|
||||||
ioctl() interface with this function prototype:
|
|
||||||
|
|
||||||
int ioctl(int fd, int req, unsigned long arg);
|
|
||||||
|
|
||||||
That function is implemented as part of the VFS. If
|
|
||||||
LIBC_IOCTL_VARIADIC is selected, then an additional compatibility
|
|
||||||
layer will be provided in the C library. The enabled, then function
|
|
||||||
prototype will become:
|
|
||||||
|
|
||||||
int ioctl(int fd, int req, ...);
|
|
||||||
|
|
||||||
The ioctl() is not controlled by any standard so it is really
|
|
||||||
arbitrary which format you used. You may select the variadic
|
|
||||||
function prototype with this option. That will slightly increase
|
|
||||||
code size and ioctl() processing time. It will not support a
|
|
||||||
variable number of arguments and it still always expects to see a
|
|
||||||
third argument of type 'unsigned long'. The only benefit of this
|
|
||||||
alternative function signature is that it may provide greater
|
|
||||||
compatibility if you are porting code from other platforms that use
|
|
||||||
the variadic ioctl() function.
|
|
||||||
|
|
||||||
WARNING: Use of this option could cause subtle system errors is
|
|
||||||
the third argument is omitted or if the sizeof the thread argument
|
|
||||||
is anything other than sizeof (unsigned long). Most small integers
|
|
||||||
will be promoted to 'int'. The following assertion appears in ioctl():
|
|
||||||
|
|
||||||
DEBUGASSERT(sizeof(int) == sizeof(unsigned long) &&
|
|
||||||
sizeof(FAR void *) == sizeof(unsigned long));
|
|
||||||
|
|
||||||
Do not enable this option if the above is not true. 32-bit ARM
|
|
||||||
should pass this test with all three types having sizeof(type) == 4
|
|
||||||
bytes. 'float' should also be tested. But 'long long' and 'double'
|
|
||||||
are out of the question! Don't event try to pass them.
|
|
||||||
|
|
||||||
And what will happen if no third argument is passed? In most cases,
|
|
||||||
this should just result in a garbage value for arg. But you may
|
|
||||||
discover cases where something worse happens!
|
|
||||||
|
|
||||||
config LIBC_WCHAR
|
|
||||||
bool "Enable wide-characters (Unicode) support"
|
|
||||||
default n
|
|
||||||
---help---
|
|
||||||
By default, wide-characters support is disabled.
|
|
||||||
|
|
||||||
config LIBC_LOCALE
|
|
||||||
bool "Enable I18N (LOCALE) support"
|
|
||||||
default n
|
|
||||||
---help---
|
|
||||||
By default, i18n (locale) support is disabled.
|
|
||||||
|
|
||||||
config LIB_RAND_ORDER
|
|
||||||
int "Order of the random number generate"
|
|
||||||
default 1
|
|
||||||
range 1 3
|
|
||||||
---help---
|
|
||||||
The order of the random number generator. 1=fast but very bad random
|
|
||||||
numbers, 3=slow but very good random numbers.
|
|
||||||
|
|
||||||
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 charactor.
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
config LIBC_EXECFUNCS
|
|
||||||
bool "Enable exec[l|v] / posix_spawn() Support"
|
|
||||||
default n
|
|
||||||
depends on !BINFMT_DISABLE
|
|
||||||
---help---
|
|
||||||
Enable support for the exec[l|v] family of functions that can be
|
|
||||||
used to start other programs, terminating the current program and
|
|
||||||
the posix_spawn() familty of functions that can be used start other
|
|
||||||
programs without terminating the current program. The typical
|
|
||||||
usage of the exec[l|v] functions is (1) first call vfork() to create
|
|
||||||
a new thread, then (2) call exec[l|v] to replace the new thread with
|
|
||||||
a program from the file system.
|
|
||||||
|
|
||||||
NOTE 1: This two step process start is completely unnecessary in
|
|
||||||
NuttX and is provided only for compatibily with Unix systems. These
|
|
||||||
functions are essentially just wrapper functions that (1) call the
|
|
||||||
non-standard binfmt function 'exec', and then (2) exit(0). Since
|
|
||||||
the new thread will be terminated by the exec[l|v] call, it really
|
|
||||||
served no purpose other than to suport Unix compatility.
|
|
||||||
|
|
||||||
The posix_spawn() functions do not have this inefficiency.
|
|
||||||
|
|
||||||
NOTE 2: Support for exec[l|v] and posix_spawn() is conditional
|
|
||||||
because they require additional support for symbol tables that
|
|
||||||
will not be available in the typical system.
|
|
||||||
|
|
||||||
if LIBC_EXECFUNCS
|
|
||||||
|
|
||||||
config EXECFUNCS_HAVE_SYMTAB
|
|
||||||
bool "Have symbol table"
|
|
||||||
default n if BUILD_KERNEL
|
|
||||||
default y if !BUILD_KERNEL
|
|
||||||
---help---
|
|
||||||
If you have a system symbol table, then you must select this
|
|
||||||
option in order to use it. Symbol tables are required in most
|
|
||||||
cases in order to like executable programs to the base code.
|
|
||||||
|
|
||||||
if EXECFUNCS_HAVE_SYMTAB
|
|
||||||
config EXECFUNCS_SYMTAB
|
|
||||||
string "Symbol table used by exec[l|v]"
|
|
||||||
default "g_symtab"
|
|
||||||
---help---
|
|
||||||
The exec[l|v] and posix_spawn() functions are wrapper functions that
|
|
||||||
call the non-standard binfmt function 'exec'). The binfmt
|
|
||||||
function 'exec' needs to have (1) a symbol table that provides the
|
|
||||||
list of symbols exported by the base code, and (2) the number of
|
|
||||||
symbols in that table. This selection provides the name of that
|
|
||||||
symbol table.
|
|
||||||
|
|
||||||
config EXECFUNCS_NSYMBOLS
|
|
||||||
int "Number of Symbols in the Table"
|
|
||||||
default 0
|
|
||||||
---help---
|
|
||||||
The exec[l|v] and posix_spawn() functions are wrapper functions that
|
|
||||||
call the non-standard binfmt function 'exec'). The binfmt
|
|
||||||
function 'exec' needs to have (1) a symbol table that provides the
|
|
||||||
list of symbols exported by the base code, and (2) the number of
|
|
||||||
symbols in that table. This selection provides the number of
|
|
||||||
symbols in the symbol table.
|
|
||||||
|
|
||||||
endif # EXECFUNCS_HAVE_SYMTAB
|
|
||||||
endif # LIBC_EXECFUNCS
|
|
||||||
|
|
||||||
config POSIX_SPAWN_PROXY_STACKSIZE
|
|
||||||
int "Spawn Stack Size"
|
|
||||||
default 1024
|
|
||||||
---help---
|
|
||||||
If posix_spawn[p]() and task_spawn() use I/O redirection options,
|
|
||||||
they will require an intermediary/proxy task to muck with the file
|
|
||||||
descriptors. This configuration item specifies the stack size
|
|
||||||
used for the proxy. Default: 1024 bytes.
|
|
||||||
|
|
||||||
config TASK_SPAWN_DEFAULT_STACKSIZE
|
|
||||||
int "Default task_spawn Stack Size"
|
|
||||||
default 2048
|
|
||||||
depends on !ARCH_ADDRENV
|
|
||||||
---help---
|
|
||||||
The actual size to use for the child task's stack can be set with
|
|
||||||
task_spawnattr_setstacksize(). This value specifies the default
|
|
||||||
stack size to use if task_spawnattr_setstacksize() is not used.
|
|
||||||
Default: 2048.
|
|
||||||
|
|
||||||
config LIBC_STRERROR
|
|
||||||
bool "Enable strerror"
|
|
||||||
default n
|
|
||||||
---help---
|
|
||||||
strerror() is useful because it decodes 'errno' values into a human readable
|
|
||||||
strings. But it can also require a lot of memory. If this option is selected,
|
|
||||||
strerror() will still exist in the build but it will not decode error values.
|
|
||||||
This option should be used by other logic to decide if it should use strerror()
|
|
||||||
or not. For example, the NSH application will not use strerror() if this
|
|
||||||
option is not selected; perror() will not use strerror() is this option is not
|
|
||||||
selected (see also NSH_STRERROR).
|
|
||||||
|
|
||||||
config LIBC_STRERROR_SHORT
|
|
||||||
bool "Use short error descriptions in strerror()"
|
|
||||||
default n
|
|
||||||
depends on LIBC_STRERROR
|
|
||||||
---help---
|
|
||||||
If this option is selected, then strerror() will use a shortened string when
|
|
||||||
it decodes the error. Specifically, strerror() is simply use the string that
|
|
||||||
is the common name for the error. For example, the 'errno' value of 2 will
|
|
||||||
produce the string "No such file or directory" is LIBC_STRERROR_SHORT
|
|
||||||
is not defined but the string "ENOENT" is LIBC_STRERROR_SHORT is defined.
|
|
||||||
|
|
||||||
config LIBC_PERROR_STDOUT
|
|
||||||
bool "perror() to stdout"
|
|
||||||
default n
|
|
||||||
---help---
|
|
||||||
POSIX requires that perror() provide its output on stderr. This option may
|
|
||||||
be defined, however, to provide perror() output that is serialized with
|
|
||||||
other stdout messages.
|
|
||||||
|
|
||||||
config LIBC_TMPDIR
|
|
||||||
string "Temporary file directory"
|
|
||||||
default "/tmp"
|
|
||||||
depends on FS_WRITABLE
|
|
||||||
---help---
|
|
||||||
If a write-able file system is selected, this string will be
|
|
||||||
provided to specify the full path to a directory where temporary
|
|
||||||
files can be created. This would be a good application of RAM disk:
|
|
||||||
To provide temporary storage for application data.
|
|
||||||
|
|
||||||
config LIBC_MAX_TMPFILE
|
|
||||||
int "Maximum size of a temporary file path"
|
|
||||||
default 32
|
|
||||||
depends on FS_WRITABLE
|
|
||||||
---help---
|
|
||||||
If a write-able file system is selected, then temporary file may be
|
|
||||||
supported at the path provided by LIBC_TMPDIR. The tmpnam() interface
|
|
||||||
keeps a static copy of this last filename produced; this value is the
|
|
||||||
maximum size of that last filename. This size is the size of the full
|
|
||||||
file path.
|
|
||||||
|
|
||||||
config ARCH_LOWPUTC
|
|
||||||
bool "Low-level console output"
|
|
||||||
default "y"
|
|
||||||
---help---
|
|
||||||
architecture supports low-level, boot time console output
|
|
||||||
|
|
||||||
config LIBC_LOCALTIME
|
|
||||||
bool "localtime API call support"
|
|
||||||
default "n"
|
|
||||||
depends on !DISABLE_ENVIRON
|
|
||||||
---help---
|
|
||||||
localtime API call support
|
|
||||||
|
|
||||||
Logic currently depends on file system support with, at a minimum, these
|
|
||||||
files in the zoneinfo directory: GMT and posixrules. An additional
|
|
||||||
timezone file is required for any additional, local time zone(s) and the
|
|
||||||
environment variable TZ must be set to the name of that timezone file
|
|
||||||
when tzset() is called.
|
|
||||||
|
|
||||||
See https://www.iana.org/time-zones . See also nuttx/zoneinfo
|
|
||||||
which provides a framework for incorporating the TZ database into a
|
|
||||||
NuttX build.
|
|
||||||
|
|
||||||
if LIBC_LOCALTIME
|
|
||||||
|
|
||||||
config LIBC_TZ_MAX_TIMES
|
|
||||||
int "Maximum number of times in timezone"
|
|
||||||
default 370
|
|
||||||
---help---
|
|
||||||
Timezone files with more than this number of times will not be usedi
|
|
||||||
(tmecnt).
|
|
||||||
|
|
||||||
Warning: Some files in IANA TZ database include many times. The current
|
|
||||||
posixrules file, for example, has timecnt = 236. The value of
|
|
||||||
TX_MAX_ITMES in the tzfile.h header file on my Linux system is 370, the
|
|
||||||
default used here. You may want to reduce this value for a smaller
|
|
||||||
footprint.
|
|
||||||
|
|
||||||
config LIBC_TZ_MAX_TYPES
|
|
||||||
int "Maximum number of TZ types"
|
|
||||||
default 20
|
|
||||||
---help---
|
|
||||||
Maximum number of local time types. You may want to reduce this value
|
|
||||||
for a smaller footprint.
|
|
||||||
|
|
||||||
config LIBC_TZDIR
|
|
||||||
string "zoneinfo directory path"
|
|
||||||
default "/etc/zoneinfo"
|
|
||||||
---help---
|
|
||||||
This is the full path to the location where the TZ database is expected
|
|
||||||
to be found.
|
|
||||||
|
|
||||||
config LIB_ZONEINFO
|
|
||||||
bool "TZ database"
|
|
||||||
default n
|
|
||||||
---help---
|
|
||||||
Download and build the TZ/Olson database.
|
|
||||||
|
|
||||||
if LIB_ZONEINFO
|
|
||||||
|
|
||||||
config LIB_ZONEINFO_ROMFS
|
|
||||||
bool "Build ROMFS filesystem"
|
|
||||||
default n
|
|
||||||
depends on FS_ROMFS
|
|
||||||
---help---
|
|
||||||
Build a mountable ROMFS filesystem containing the TZ/Olson database
|
|
||||||
|
|
||||||
endif # LIB_ZONEINFO
|
|
||||||
endif # LIBC_LOCALTIME
|
|
||||||
|
|
||||||
config TIME_EXTENDED
|
|
||||||
bool "Add day of week, year support"
|
|
||||||
default "n"
|
|
||||||
depends on !LIBC_LOCALTIME
|
|
||||||
---help---
|
|
||||||
Selecting TIME_EXTENDED adds tm_wday, tm_yday and tm_isdst
|
|
||||||
to the tm struct. This allows integration with 3rd party libraries
|
|
||||||
that expect the tm struct to contain these members.
|
|
||||||
|
|
||||||
Note: tm_isdst is always 0
|
|
||||||
|
|
||||||
config LIB_SENDFILE_BUFSIZE
|
|
||||||
int "sendfile() buffer size"
|
|
||||||
default 512
|
|
||||||
---help---
|
|
||||||
Size of the I/O buffer to allocate in sendfile(). Default: 512b
|
|
||||||
|
|
||||||
config ARCH_ROMGETC
|
|
||||||
bool "Support for ROM string access"
|
|
||||||
default n
|
|
||||||
---help---
|
|
||||||
In Harvard architectures, data accesses and instruction accesses
|
|
||||||
occur on different buses, perhaps concurrently. All data accesses
|
|
||||||
are performed on the data bus unless special machine instructions
|
|
||||||
are used to read data from the instruction address space. Also, in
|
|
||||||
the typical MCU, the available SRAM data memory is much smaller that
|
|
||||||
the non-volatile FLASH instruction memory. So if the application
|
|
||||||
requires many constant strings, the only practical solution may be
|
|
||||||
to store those constant strings in FLASH memory where they can only
|
|
||||||
be accessed using architecture-specific machine instructions.
|
|
||||||
|
|
||||||
If ARCH_ROMGETC is defined, then the architecture logic must export
|
|
||||||
the function up_romgetc(). up_romgetc() will simply read one byte
|
|
||||||
of data from the instruction space.
|
|
||||||
|
|
||||||
If ARCH_ROMGETC is selected, certain C stdio functions are effected: (1)
|
|
||||||
All format strings in printf, fprintf, sprintf, etc. are assumed to lie
|
|
||||||
in FLASH (string arguments for %s are still assumed to reside in SRAM).
|
|
||||||
And (2), the string argument to puts and fputs is assumed to reside
|
|
||||||
in FLASH. Clearly, these assumptions may have to modified for the
|
|
||||||
particular needs of your environment. There is no "one-size-fits-all"
|
|
||||||
solution for this problem.
|
|
||||||
|
|
||||||
config MEMCPY_VIK
|
|
||||||
bool "Vik memcpy()"
|
|
||||||
default n
|
|
||||||
depends on !LIBC_ARCH_MEMCPY
|
|
||||||
---help---
|
|
||||||
Select this option to use the optimized memcpy() function by Daniel Vik.
|
|
||||||
Select this option for improved performance at the expense of increased
|
|
||||||
size. See licensing information in the top-level COPYING file.
|
|
||||||
|
|
||||||
if MEMCPY_VIK
|
|
||||||
|
|
||||||
config MEMCPY_PRE_INC_PTRS
|
|
||||||
bool "Pre-increment pointers"
|
|
||||||
default n
|
|
||||||
---help---
|
|
||||||
Use pre-increment of pointers. Default is post increment of pointers.
|
|
||||||
|
|
||||||
config MEMCPY_INDEXED_COPY
|
|
||||||
bool "Array indexing"
|
|
||||||
default y
|
|
||||||
---help---
|
|
||||||
Copying data using array indexing. Using this option, disables the
|
|
||||||
MEMCPY_PRE_INC_PTRS option.
|
|
||||||
|
|
||||||
config MEMCPY_64BIT
|
|
||||||
bool "64-bit memcpy()"
|
|
||||||
default n
|
|
||||||
---help---
|
|
||||||
Compiles memcpy() for architectures that suppport 64-bit operations
|
|
||||||
efficiently.
|
|
||||||
|
|
||||||
endif # MEMCPY_VIK
|
|
||||||
|
|
||||||
config MEMSET_OPTSPEED
|
|
||||||
bool "Optimize memset() for speed"
|
|
||||||
default n
|
|
||||||
depends on !LIBC_ARCH_MEMSET
|
|
||||||
---help---
|
|
||||||
Select this option to use a version of memcpy() optimized for speed.
|
|
||||||
Default: memcpy() is optimized for size.
|
|
||||||
|
|
||||||
config MEMSET_64BIT
|
|
||||||
bool "64-bit memset()"
|
|
||||||
default n
|
|
||||||
depends on MEMSET_OPTSPEED
|
|
||||||
---help---
|
|
||||||
Compiles memset() for architectures that suppport 64-bit operations
|
|
||||||
efficiently.
|
|
||||||
|
|
||||||
config ARCH_HAVE_TLS
|
|
||||||
bool
|
|
||||||
default n
|
|
||||||
---help---
|
|
||||||
Selected by the configuration system if the current architecture
|
|
||||||
supports TLS.
|
|
||||||
|
|
||||||
menuconfig TLS
|
|
||||||
bool "Thread Local Storage (TLS)"
|
|
||||||
default n
|
|
||||||
depends on ARCH_HAVE_TLS
|
|
||||||
---help---
|
|
||||||
Build in support for stack based thread local storage (TLS).
|
|
||||||
|
|
||||||
if TLS
|
|
||||||
|
|
||||||
config TLS_LOG2_MAXSTACK
|
|
||||||
int "Maximum stack size (log2)"
|
|
||||||
default 13
|
|
||||||
range 11 24
|
|
||||||
---help---
|
|
||||||
Stack based TLS works by fetch thread information from the beginning
|
|
||||||
of the stack memory allocation. In order to do this, the memory
|
|
||||||
must be aligned in such a way that the executing logic can simply
|
|
||||||
masking the current stack pointer to get the beginning of the stack
|
|
||||||
allocation.
|
|
||||||
|
|
||||||
This setting specifies the alignment of the stack as a power of 2:
|
|
||||||
11=2KB, 12=4KB, 13=8KB, etc. The exact alignment is not so critical
|
|
||||||
except that (1) a very large value can cause you to run out of
|
|
||||||
alignable memory (and fail memory allocations), and (2) smaller
|
|
||||||
values will limit the maximum size of the stack (hence the naming
|
|
||||||
of this configuration value).
|
|
||||||
|
|
||||||
config TLS_NELEM
|
|
||||||
int "Number of TLS elements"
|
|
||||||
default 1
|
|
||||||
---help---
|
|
||||||
The number of unique TLS elements. These can be accessed with
|
|
||||||
the user library functions tls_get_element() and tls_set_element().
|
|
||||||
|
|
||||||
endif # TLS
|
|
||||||
|
|
||||||
config LIBC_IPv4_ADDRCONV
|
|
||||||
bool "IPv4 address conversions"
|
|
||||||
default n
|
|
||||||
depends on !NET_IPv4
|
|
||||||
|
|
||||||
config LIBC_IPv6_ADDRCONV
|
|
||||||
bool "IPv6 address conversions"
|
|
||||||
default n
|
|
||||||
depends on !NET_IPv6
|
|
||||||
|
|
||||||
config LIBC_NETDB
|
|
||||||
bool
|
|
||||||
default n
|
|
||||||
|
|
||||||
menuconfig NETDB_HOSTFILE
|
|
||||||
bool "Network host file support"
|
|
||||||
default n
|
|
||||||
depends on FS_READABLE
|
|
||||||
select LIBC_NETDB
|
|
||||||
---help---
|
|
||||||
Enable network host table look ups via gethostbyname() and
|
|
||||||
gethostbyaddr().
|
|
||||||
|
|
||||||
if NETDB_HOSTFILE
|
|
||||||
|
|
||||||
config NETDB_HOSTCONF_PATH
|
|
||||||
string "Path to host configuration file"
|
|
||||||
default "/etc/hosts"
|
|
||||||
|
|
||||||
config NETDB_MAX_ALTNAMES
|
|
||||||
int "Max number of alternate host names"
|
|
||||||
default 4
|
|
||||||
|
|
||||||
config NETDB_BUFSIZE
|
|
||||||
int "gethostname() buffer size"
|
|
||||||
default 128
|
|
||||||
|
|
||||||
endif # NETDB_HOSTFILE
|
|
||||||
|
|
||||||
menuconfig NETDB_DNSCLIENT
|
|
||||||
bool "DNS Name resolution"
|
|
||||||
default n
|
|
||||||
depends on NET && NET_UDP
|
|
||||||
select LIBC_NETDB
|
|
||||||
---help---
|
|
||||||
Enable support for the name resolution; Enable network host
|
|
||||||
resolution via gethostbyname().
|
|
||||||
|
|
||||||
if NETDB_DNSCLIENT
|
|
||||||
|
|
||||||
config NETDB_DNSCLIENT_ENTRIES
|
|
||||||
int "Number of DNS resolver entries"
|
|
||||||
default 0 if DEFAULT_SMALL
|
|
||||||
default 8 if !DEFAULT_SMALL
|
|
||||||
range 0 255
|
|
||||||
---help---
|
|
||||||
Number of cached DNS resolver entries. Default: 8. Zero disables
|
|
||||||
all cached name resolutions.
|
|
||||||
|
|
||||||
Disabling the DNS cache means that each access call to
|
|
||||||
gethostbyname() will result in a new DNS network query. If
|
|
||||||
CONFIG_NETDB_DNSCLIENT_ENTRIES is non-zero, then entries will be
|
|
||||||
cached and if the name mapping can be found in that cache, the
|
|
||||||
network query can be avoid. Of course, this is only useful if you
|
|
||||||
query the same name often and if the IP address of the name is
|
|
||||||
stable. If the IP address can change, then cachin DNS address
|
|
||||||
might have undesirable side-effects (see help for
|
|
||||||
CONFIG_NETDB_DNSCLIENT_LIFESEC).
|
|
||||||
|
|
||||||
config NETDB_DNSCLIENT_NAMESIZE
|
|
||||||
int "Max size of a cached hostname"
|
|
||||||
default 32
|
|
||||||
---help---
|
|
||||||
The size of a hostname string in the DNS resolver cache is fixed.
|
|
||||||
This setting provides the maximum size of a hostname. Names longer
|
|
||||||
than this will be aliased! Default: 32
|
|
||||||
|
|
||||||
config NETDB_DNSCLIENT_LIFESEC
|
|
||||||
int "Life of a DNS cache entry (seconds)"
|
|
||||||
default 3600
|
|
||||||
---help---
|
|
||||||
Cached entries in the name resolution cache older than this will not
|
|
||||||
be used. Default: 1 hour. Zero means that entries will not expire.
|
|
||||||
|
|
||||||
Small values of CONFIG_NETDB_DNSCLIENT_LIFESEC may result in more
|
|
||||||
network DNS queries; larger values can make a host unreachable for
|
|
||||||
the entire duration of the timeout value. This might happen, for
|
|
||||||
example, if the remote host was assigned a different IP address by
|
|
||||||
a DHCP server.
|
|
||||||
|
|
||||||
config NETDB_DNSCLIENT_MAXRESPONSE
|
|
||||||
int "Max response size"
|
|
||||||
default 96
|
|
||||||
---help---
|
|
||||||
This setting determines the maximum size of response message that
|
|
||||||
can be received by the DNS resolver. The default is 96 but may
|
|
||||||
need to be larger on enterprise networks (perhaps 176).
|
|
||||||
|
|
||||||
|
|
||||||
config NETDB_RESOLVCONF
|
|
||||||
bool "DNS resolver file support"
|
|
||||||
default n
|
|
||||||
depends on FS_READABLE
|
|
||||||
---help---
|
|
||||||
Enable DNS server look ups in resolver file like /etc/resolv.conf.
|
|
||||||
|
|
||||||
if NETDB_RESOLVCONF
|
|
||||||
|
|
||||||
config NETDB_RESOLVCONF_PATH
|
|
||||||
string "Path to host configuration file"
|
|
||||||
default "/etc/resolv.conf"
|
|
||||||
|
|
||||||
config NETDB_RESOLVCONF_NONSTDPORT
|
|
||||||
bool "Non-standard port support"
|
|
||||||
default n
|
|
||||||
---help---
|
|
||||||
By default, the resolv.conf file will hold only records like:
|
|
||||||
|
|
||||||
nameserver xx.xx.xx.xx
|
|
||||||
nameserver xxxx:::::::xxxx
|
|
||||||
|
|
||||||
The default port of 53 is always assumed.
|
|
||||||
|
|
||||||
If this option is selected, then OpenBSD style resolv.conf files
|
|
||||||
will be supported. This adds logic for a bracket port notation
|
|
||||||
like:
|
|
||||||
|
|
||||||
nameserver [xx.xx.xx.xx]:ppppp
|
|
||||||
nameserver [xxxx:::::::xxxx]:ppppp
|
|
||||||
|
|
||||||
endif # NETDB_RESOLVCONF
|
|
||||||
|
|
||||||
choice
|
|
||||||
prompt "DNS server address type"
|
|
||||||
default NETDB_DNSSERVER_IPv4 if NET_IPv4
|
|
||||||
default NETDB_DNSSERVER_IPv6 if !NET_IPv4 && NET_IPv6
|
|
||||||
default NETDB_DNSSERVER_NOADDR if !NET_IPv4 && !NET_IPv6
|
|
||||||
depends on !NETDB_RESOLVCONF
|
|
||||||
|
|
||||||
config NETDB_DNSSERVER_NOADDR
|
|
||||||
bool "No default DNS server address"
|
|
||||||
---help---
|
|
||||||
There is not default DNS nameserver address. Application must call
|
|
||||||
dns_add_server() at runtime to add the DNS server address.
|
|
||||||
|
|
||||||
config NETDB_DNSSERVER_IPv4
|
|
||||||
bool "IPv4 DNS server address"
|
|
||||||
depends on NET_IPv4
|
|
||||||
---help---
|
|
||||||
An IPv4 default DNS nameserver address will be provided. Application
|
|
||||||
may overwrite this start default server address by calling
|
|
||||||
dns_add_server() at runtime.
|
|
||||||
|
|
||||||
config NETDB_DNSSERVER_IPv6
|
|
||||||
bool "IPv6 DNS server address"
|
|
||||||
depends on NET_IPv6
|
|
||||||
---help---
|
|
||||||
An IPv6 default DNS nameserver address will be provided. Application
|
|
||||||
may overwrite this start default server address by calling
|
|
||||||
dns_add_server() at runtime.
|
|
||||||
|
|
||||||
endchoice # DNS server address type
|
|
||||||
|
|
||||||
config NETDB_DNSSERVER_IPv4ADDR
|
|
||||||
hex "Target IPv4 address"
|
|
||||||
default 0x0a000001
|
|
||||||
depends on NETDB_DNSSERVER_IPv4
|
|
||||||
---help---
|
|
||||||
Default DNS server IPv4 address in host byte order. Default value
|
|
||||||
10.0.0.0.1. This may be changed via dns_add_nameserver().
|
|
||||||
|
|
||||||
if NETDB_DNSSERVER_IPv6
|
|
||||||
|
|
||||||
config NETDB_DNSSERVER_IPv6ADDR_1
|
|
||||||
hex "[0]"
|
|
||||||
default 0xfc00
|
|
||||||
range 0x0 0xffff
|
|
||||||
---help---
|
|
||||||
This is the default IP address of the DNS server. This is a 16-bit
|
|
||||||
integer value in host order. Each of the eight values forming the
|
|
||||||
full IPv6 address must be specified individually. This is the first
|
|
||||||
of the 8-values. The default for all eight values is fc00::1.
|
|
||||||
|
|
||||||
config NETDB_DNSSERVER_IPv6ADDR_2
|
|
||||||
hex "[1]"
|
|
||||||
default 0x0000
|
|
||||||
range 0x0 0xffff
|
|
||||||
---help---
|
|
||||||
This is the default IP address of the DNS server. This is a 16-bit
|
|
||||||
integer value in host order. Each of the eight values forming the
|
|
||||||
full IPv6 address must be specified individually. This is the second
|
|
||||||
of the 8-values. The default for all eight values is fc00::1.
|
|
||||||
|
|
||||||
config NETDB_DNSSERVER_IPv6ADDR_3
|
|
||||||
hex "[2]"
|
|
||||||
default 0x0000
|
|
||||||
range 0x0 0xffff
|
|
||||||
---help---
|
|
||||||
This is the default IP address of the DNS server. This is a 16-bit
|
|
||||||
integer value in host order. Each of the eight values forming the
|
|
||||||
full IPv6 address must be specified individually. This is the third
|
|
||||||
of the 8-values. The default for all eight values is fc00::1.
|
|
||||||
|
|
||||||
config NETDB_DNSSERVER_IPv6ADDR_4
|
|
||||||
hex "[3]"
|
|
||||||
default 0x0000
|
|
||||||
range 0x0 0xffff
|
|
||||||
---help---
|
|
||||||
This is the default IP address of the DNS server. This is a 16-bit
|
|
||||||
integer value in host order. Each of the eight values forming the
|
|
||||||
full IPv6 address must be specified individually. This is the fourth
|
|
||||||
of the 8-values. The default for all eight values is fc00::1.
|
|
||||||
|
|
||||||
config NETDB_DNSSERVER_IPv6ADDR_5
|
|
||||||
hex "[4]"
|
|
||||||
default 0x0000
|
|
||||||
range 0x0 0xffff
|
|
||||||
---help---
|
|
||||||
This is the default IP address of the DNS server. This is a 16-bit
|
|
||||||
integer value in host order. Each of the eight values forming the
|
|
||||||
full IPv6 address must be specified individually. This is the fifth
|
|
||||||
of the 8-values. The default for all eight values is fc00::1.
|
|
||||||
|
|
||||||
config NETDB_DNSSERVER_IPv6ADDR_6
|
|
||||||
hex "[5]"
|
|
||||||
default 0x0000
|
|
||||||
range 0x0 0xffff
|
|
||||||
---help---
|
|
||||||
This is the default IP address of the DNS server. This is a 16-bit
|
|
||||||
integer value in host order. Each of the eight values forming the
|
|
||||||
full IPv6 address must be specified individually. This is the sixth
|
|
||||||
of the 8-values. The default for all eight values is fc00::1.
|
|
||||||
|
|
||||||
config NETDB_DNSSERVER_IPv6ADDR_7
|
|
||||||
hex "[6]"
|
|
||||||
default 0x0000
|
|
||||||
range 0x0 0xffff
|
|
||||||
---help---
|
|
||||||
This is the default IP address of the DNS server. This is a 16-bit
|
|
||||||
integer value in host order. Each of the eight values forming the
|
|
||||||
full IPv6 address must be specified individually. This is the seventh
|
|
||||||
of the 8-values. The default for all eight values is fc00::1.
|
|
||||||
|
|
||||||
config NETDB_DNSSERVER_IPv6ADDR_8
|
|
||||||
hex "[7]"
|
|
||||||
default 0x0001
|
|
||||||
range 0x0 0xffff
|
|
||||||
---help---
|
|
||||||
This is the default IP address of the DNS server. This is a 16-bit
|
|
||||||
integer value in host order. Each of the eight values forming the
|
|
||||||
full IPv6 address must be specified individually. This is the last
|
|
||||||
of the 8-values. The default for all eight values is fc00::1.
|
|
||||||
|
|
||||||
endif # NETDB_DNSSERVER_IPv6
|
|
||||||
endif # NETDB_DNSCLIENT
|
|
||||||
|
|
||||||
comment "Non-standard Library Support"
|
|
||||||
|
|
||||||
config LIB_CRC64_FAST
|
|
||||||
bool "Fast CRC64"
|
|
||||||
default n
|
|
||||||
---help---
|
|
||||||
Enable the CRC64 lookup table to compute the CRC64 faster.
|
|
||||||
|
|
||||||
if BUILD_PROTECTED || BUILD_KERNEL
|
|
||||||
|
|
||||||
config LIB_USRWORK
|
|
||||||
bool "User mode worker thread"
|
|
||||||
default n
|
|
||||||
depends on !DISABLE_SIGNALS
|
|
||||||
---help---
|
|
||||||
User space work queues can also be made available for deferred
|
|
||||||
processing in the NuttX kernel build.
|
|
||||||
|
|
||||||
if LIB_USRWORK
|
|
||||||
|
|
||||||
config LIB_USRWORKPRIORITY
|
|
||||||
int "User mode priority worker thread priority"
|
|
||||||
default 100
|
|
||||||
---help---
|
|
||||||
The execution priority of the user-mode priority worker thread. Default: 100
|
|
||||||
|
|
||||||
config LIB_USRWORKPERIOD
|
|
||||||
int "User mode worker thread period"
|
|
||||||
default 100000
|
|
||||||
---help---
|
|
||||||
How often the lower priority worker thread checks for work in units
|
|
||||||
of microseconds. Default: 100*1000 (100 MS).
|
|
||||||
|
|
||||||
config LIB_USRWORKSTACKSIZE
|
|
||||||
int "User mode worker thread stack size"
|
|
||||||
default 2048
|
|
||||||
---help---
|
|
||||||
The stack size allocated for the lower priority worker thread. Default: 2K.
|
|
||||||
|
|
||||||
endif # LIB_USRWORK
|
|
||||||
endif # BUILD_PROTECTED || BUILD_KERNEL
|
|
||||||
|
|
||||||
config LIB_KBDCODEC
|
|
||||||
bool "Keyboard CODEC"
|
|
||||||
default n
|
|
||||||
---help---
|
|
||||||
In NuttX, a keyboard/keypad driver is simply a character driver that
|
|
||||||
may have an (optional) encoding/decoding layer on the data returned
|
|
||||||
by the character driver. A keyboard may return simple text data
|
|
||||||
(alphabetic, numeric, and punctuaction) or control characters
|
|
||||||
(enter, control-C, etc.). However, in addition, most keyboards
|
|
||||||
support actions that cannot be represented as text data. Such
|
|
||||||
actions include things like cursor controls (home, up arrow,
|
|
||||||
page down, etc.), editing functions (insert, delete, etc.), volume
|
|
||||||
controls, (mute, volume up, etc.) and other special functions.
|
|
||||||
Some special encoding may be required to multiplex these two classes
|
|
||||||
of data.
|
|
||||||
|
|
||||||
This option enables the functions that implement the encoding and
|
|
||||||
decoding of keyboard data. These are the interfaces prototyped in
|
|
||||||
include/nuttx/input/kbd_codec.h. While not correctly a part of
|
|
||||||
the C library, it is included here because the decoding side of this
|
|
||||||
interface must be accessible by end user programs.
|
|
||||||
|
|
||||||
config LIB_SLCDCODEC
|
|
||||||
bool "Segment LCD CODEC"
|
|
||||||
default n
|
|
||||||
---help---
|
|
||||||
In NuttX, a character-oriented, segment LCD (SLCD) driver is simply
|
|
||||||
a character device that may have an (optional) encoding/decoding
|
|
||||||
layer on the data provided to the SLCD driver. The application may
|
|
||||||
provide simple text data (alphabetic, numeric, and punctuaction) or
|
|
||||||
control characters (enter, control-C, etc.). However, in addition,
|
|
||||||
most SLCDs support actions that cannot be represented as text data.
|
|
||||||
Such actions include things like cursor controls (home, up arrow,
|
|
||||||
page down, etc.) and other special functions (e.g., blinking). Some
|
|
||||||
special encoding may be required to multiplex these two classes of
|
|
||||||
data.
|
|
||||||
|
|
||||||
This option enables the functions that implement the encoding and
|
|
||||||
decoding of SLCD data. These are the interfaces prototyped in
|
|
||||||
include/nuttx/lcd/slcd_codec.h. While not correctly a part of the C
|
|
||||||
library, it is included here because the encoding side of this
|
|
||||||
interface must be accessible by end user programs.
|
|
||||||
|
|
||||||
config LIB_HEX2BIN
|
|
||||||
bool "Intel HEX to binary conversion library"
|
|
||||||
default n
|
|
||||||
---help---
|
|
||||||
Build in support for conversions from Intel Hex format to binary.
|
|
||||||
This selection enables the interfaces of include/hex2bin.h.
|
|
||||||
|
@ -3,6 +3,8 @@
|
|||||||
# see the file kconfig-language.txt in the NuttX tools repository.
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
||||||
#
|
#
|
||||||
|
|
||||||
|
comment "Shared Library Support"
|
||||||
|
|
||||||
config LIBC_DLLFCN
|
config LIBC_DLLFCN
|
||||||
bool "Shared library support"
|
bool "Shared library support"
|
||||||
default n
|
default n
|
||||||
|
182
libc/hex2bin/Kconfig
Normal file
182
libc/hex2bin/Kconfig
Normal file
@ -0,0 +1,182 @@
|
|||||||
|
#
|
||||||
|
# For a description of the syntax of this configuration file,
|
||||||
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
||||||
|
#
|
||||||
|
|
||||||
|
comment "Standard C Library Options"
|
||||||
|
|
||||||
|
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 NFILE_STREAMS > 0)
|
||||||
|
|
||||||
|
source libc/math/Kconfig
|
||||||
|
source libc/machine/Kconfig
|
||||||
|
source libc/stdlib/Kconfig
|
||||||
|
source libc/unistd/Kconfig
|
||||||
|
source libc/string/Kconfig
|
||||||
|
source libc/dllfcn/Kconfig
|
||||||
|
source libc/modlib/Kconfig
|
||||||
|
|
||||||
|
config NOPRINTF_FIELDWIDTH
|
||||||
|
bool "Disable sprintf support fieldwidth"
|
||||||
|
default n
|
||||||
|
---help---
|
||||||
|
sprintf-related logic is a little smaller if we do not support field
|
||||||
|
widths.
|
||||||
|
|
||||||
|
config LIBC_FLOATINGPOINT
|
||||||
|
bool "Enable floating point in printf"
|
||||||
|
default n
|
||||||
|
---help---
|
||||||
|
By default, floating point
|
||||||
|
support in printf, sscanf, etc. is disabled.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
config LIBC_SCANSET
|
||||||
|
bool "Scanset support"
|
||||||
|
default n
|
||||||
|
---help---
|
||||||
|
Add scanset support to sscanf().
|
||||||
|
|
||||||
|
source libc/wchar/Kconfig
|
||||||
|
source libc/locale/Kconfig
|
||||||
|
|
||||||
|
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 charactor.
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
source libc/time/Kconfig
|
||||||
|
|
||||||
|
config MEMCPY_VIK
|
||||||
|
bool "Vik memcpy()"
|
||||||
|
default n
|
||||||
|
depends on !LIBC_ARCH_MEMCPY
|
||||||
|
---help---
|
||||||
|
Select this option to use the optimized memcpy() function by Daniel Vik.
|
||||||
|
Select this option for improved performance at the expense of increased
|
||||||
|
size. See licensing information in the top-level COPYING file.
|
||||||
|
|
||||||
|
if MEMCPY_VIK
|
||||||
|
|
||||||
|
config MEMCPY_PRE_INC_PTRS
|
||||||
|
bool "Pre-increment pointers"
|
||||||
|
default n
|
||||||
|
---help---
|
||||||
|
Use pre-increment of pointers. Default is post increment of pointers.
|
||||||
|
|
||||||
|
config MEMCPY_INDEXED_COPY
|
||||||
|
bool "Array indexing"
|
||||||
|
default y
|
||||||
|
---help---
|
||||||
|
Copying data using array indexing. Using this option, disables the
|
||||||
|
MEMCPY_PRE_INC_PTRS option.
|
||||||
|
|
||||||
|
config MEMCPY_64BIT
|
||||||
|
bool "64-bit memcpy()"
|
||||||
|
default n
|
||||||
|
---help---
|
||||||
|
Compiles memcpy() for architectures that suppport 64-bit operations
|
||||||
|
efficiently.
|
||||||
|
|
||||||
|
endif # MEMCPY_VIK
|
||||||
|
|
||||||
|
config MEMSET_OPTSPEED
|
||||||
|
bool "Optimize memset() for speed"
|
||||||
|
default n
|
||||||
|
depends on !LIBC_ARCH_MEMSET
|
||||||
|
---help---
|
||||||
|
Select this option to use a version of memcpy() optimized for speed.
|
||||||
|
Default: memcpy() is optimized for size.
|
||||||
|
|
||||||
|
config MEMSET_64BIT
|
||||||
|
bool "64-bit memset()"
|
||||||
|
default n
|
||||||
|
depends on MEMSET_OPTSPEED
|
||||||
|
---help---
|
||||||
|
Compiles memset() for architectures that suppport 64-bit operations
|
||||||
|
efficiently.
|
||||||
|
|
||||||
|
source libc/tls/Kconfig
|
||||||
|
source libc/net/Kconfig
|
||||||
|
source libc/netdb/Kconfig
|
||||||
|
source libc/misc/Kconfig
|
||||||
|
source libc/wqueue/Kconfig
|
||||||
|
|
||||||
|
config LIB_HEX2BIN
|
||||||
|
bool "Intel HEX to binary conversion library"
|
||||||
|
default n
|
||||||
|
---help---
|
||||||
|
Build in support for conversions from Intel Hex format to binary.
|
||||||
|
This selection enables the interfaces of include/hex2bin.h.
|
12
libc/locale/Kconfig
Normal file
12
libc/locale/Kconfig
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#
|
||||||
|
# For a description of the syntax of this configuration file,
|
||||||
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
||||||
|
#
|
||||||
|
|
||||||
|
comment "Locale Support"
|
||||||
|
|
||||||
|
config LIBC_LOCALE
|
||||||
|
bool "Enable I18N (LOCALE) support"
|
||||||
|
default n
|
||||||
|
---help---
|
||||||
|
By default, i18n (locale) support is disabled.
|
@ -7,6 +7,43 @@
|
|||||||
# specific implementations. Not all architectures support implementations
|
# specific implementations. Not all architectures support implementations
|
||||||
# for every library function.
|
# for every library function.
|
||||||
|
|
||||||
|
comment "Architecture-Specific Spport"
|
||||||
|
|
||||||
|
config ARCH_LOWPUTC
|
||||||
|
bool "Low-level console output"
|
||||||
|
default "y"
|
||||||
|
---help---
|
||||||
|
architecture supports low-level, boot time console output
|
||||||
|
|
||||||
|
config ARCH_ROMGETC
|
||||||
|
bool "Support for ROM string access"
|
||||||
|
default n
|
||||||
|
---help---
|
||||||
|
In Harvard architectures, data accesses and instruction accesses
|
||||||
|
occur on different buses, perhaps concurrently. All data accesses
|
||||||
|
are performed on the data bus unless special machine instructions
|
||||||
|
are used to read data from the instruction address space. Also, in
|
||||||
|
the typical MCU, the available SRAM data memory is much smaller that
|
||||||
|
the non-volatile FLASH instruction memory. So if the application
|
||||||
|
requires many constant strings, the only practical solution may be
|
||||||
|
to store those constant strings in FLASH memory where they can only
|
||||||
|
be accessed using architecture-specific machine instructions.
|
||||||
|
|
||||||
|
If ARCH_ROMGETC is defined, then the architecture logic must export
|
||||||
|
the function up_romgetc(). up_romgetc() will simply read one byte
|
||||||
|
of data from the instruction space.
|
||||||
|
|
||||||
|
If ARCH_ROMGETC is selected, certain C stdio functions are effected: (1)
|
||||||
|
All format strings in printf, fprintf, sprintf, etc. are assumed to lie
|
||||||
|
in FLASH (string arguments for %s are still assumed to reside in SRAM).
|
||||||
|
And (2), the string argument to puts and fputs is assumed to reside
|
||||||
|
in FLASH. Clearly, these assumptions may have to modified for the
|
||||||
|
particular needs of your environment. There is no "one-size-fits-all"
|
||||||
|
solution for this problem.
|
||||||
|
|
||||||
|
# Default settings for C library functions that may be replaced with
|
||||||
|
# architecture-specific versions.
|
||||||
|
|
||||||
config LIBC_ARCH_MEMCPY
|
config LIBC_ARCH_MEMCPY
|
||||||
bool
|
bool
|
||||||
default n
|
default n
|
||||||
|
@ -3,6 +3,8 @@
|
|||||||
# see the file kconfig-language.txt in the NuttX tools repository.
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
||||||
#
|
#
|
||||||
|
|
||||||
|
comment "Math Library Support"
|
||||||
|
|
||||||
config LIBM
|
config LIBM
|
||||||
bool "Standard Math library"
|
bool "Standard Math library"
|
||||||
default n
|
default n
|
||||||
|
104
libc/misc/Kconfig
Normal file
104
libc/misc/Kconfig
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
#
|
||||||
|
# For a description of the syntax of this configuration file,
|
||||||
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
||||||
|
#
|
||||||
|
|
||||||
|
config LIBC_IOCTL_VARIADIC
|
||||||
|
bool "Enable variadic ioctl()"
|
||||||
|
default n
|
||||||
|
---help---
|
||||||
|
By default, NuttX implements the "old style," three-parameter,
|
||||||
|
ioctl() interface with this function prototype:
|
||||||
|
|
||||||
|
int ioctl(int fd, int req, unsigned long arg);
|
||||||
|
|
||||||
|
That function is implemented as part of the VFS. If
|
||||||
|
LIBC_IOCTL_VARIADIC is selected, then an additional compatibility
|
||||||
|
layer will be provided in the C library. The enabled, then function
|
||||||
|
prototype will become:
|
||||||
|
|
||||||
|
int ioctl(int fd, int req, ...);
|
||||||
|
|
||||||
|
The ioctl() is not controlled by any standard so it is really
|
||||||
|
arbitrary which format you used. You may select the variadic
|
||||||
|
function prototype with this option. That will slightly increase
|
||||||
|
code size and ioctl() processing time. It will not support a
|
||||||
|
variable number of arguments and it still always expects to see a
|
||||||
|
third argument of type 'unsigned long'. The only benefit of this
|
||||||
|
alternative function signature is that it may provide greater
|
||||||
|
compatibility if you are porting code from other platforms that use
|
||||||
|
the variadic ioctl() function.
|
||||||
|
|
||||||
|
WARNING: Use of this option could cause subtle system errors is
|
||||||
|
the third argument is omitted or if the sizeof the thread argument
|
||||||
|
is anything other than sizeof (unsigned long). Most small integers
|
||||||
|
will be promoted to 'int'. The following assertion appears in ioctl():
|
||||||
|
|
||||||
|
DEBUGASSERT(sizeof(int) == sizeof(unsigned long) &&
|
||||||
|
sizeof(FAR void *) == sizeof(unsigned long));
|
||||||
|
|
||||||
|
Do not enable this option if the above is not true. 32-bit ARM
|
||||||
|
should pass this test with all three types having sizeof(type) == 4
|
||||||
|
bytes. 'float' should also be tested. But 'long long' and 'double'
|
||||||
|
are out of the question! Don't event try to pass them.
|
||||||
|
|
||||||
|
And what will happen if no third argument is passed? In most cases,
|
||||||
|
this should just result in a garbage value for arg. But you may
|
||||||
|
discover cases where something worse happens!
|
||||||
|
|
||||||
|
config LIB_SENDFILE_BUFSIZE
|
||||||
|
int "sendfile() buffer size"
|
||||||
|
default 512
|
||||||
|
---help---
|
||||||
|
Size of the I/O buffer to allocate in sendfile(). Default: 512b
|
||||||
|
|
||||||
|
comment "Non-standard Library Support"
|
||||||
|
|
||||||
|
config LIB_CRC64_FAST
|
||||||
|
bool "Fast CRC64"
|
||||||
|
default n
|
||||||
|
---help---
|
||||||
|
Enable the CRC64 lookup table to compute the CRC64 faster.
|
||||||
|
|
||||||
|
config LIB_KBDCODEC
|
||||||
|
bool "Keyboard CODEC"
|
||||||
|
default n
|
||||||
|
---help---
|
||||||
|
In NuttX, a keyboard/keypad driver is simply a character driver that
|
||||||
|
may have an (optional) encoding/decoding layer on the data returned
|
||||||
|
by the character driver. A keyboard may return simple text data
|
||||||
|
(alphabetic, numeric, and punctuaction) or control characters
|
||||||
|
(enter, control-C, etc.). However, in addition, most keyboards
|
||||||
|
support actions that cannot be represented as text data. Such
|
||||||
|
actions include things like cursor controls (home, up arrow,
|
||||||
|
page down, etc.), editing functions (insert, delete, etc.), volume
|
||||||
|
controls, (mute, volume up, etc.) and other special functions.
|
||||||
|
Some special encoding may be required to multiplex these two classes
|
||||||
|
of data.
|
||||||
|
|
||||||
|
This option enables the functions that implement the encoding and
|
||||||
|
decoding of keyboard data. These are the interfaces prototyped in
|
||||||
|
include/nuttx/input/kbd_codec.h. While not correctly a part of
|
||||||
|
the C library, it is included here because the decoding side of this
|
||||||
|
interface must be accessible by end user programs.
|
||||||
|
|
||||||
|
config LIB_SLCDCODEC
|
||||||
|
bool "Segment LCD CODEC"
|
||||||
|
default n
|
||||||
|
---help---
|
||||||
|
In NuttX, a character-oriented, segment LCD (SLCD) driver is simply
|
||||||
|
a character device that may have an (optional) encoding/decoding
|
||||||
|
layer on the data provided to the SLCD driver. The application may
|
||||||
|
provide simple text data (alphabetic, numeric, and punctuaction) or
|
||||||
|
control characters (enter, control-C, etc.). However, in addition,
|
||||||
|
most SLCDs support actions that cannot be represented as text data.
|
||||||
|
Such actions include things like cursor controls (home, up arrow,
|
||||||
|
page down, etc.) and other special functions (e.g., blinking). Some
|
||||||
|
special encoding may be required to multiplex these two classes of
|
||||||
|
data.
|
||||||
|
|
||||||
|
This option enables the functions that implement the encoding and
|
||||||
|
decoding of SLCD data. These are the interfaces prototyped in
|
||||||
|
include/nuttx/lcd/slcd_codec.h. While not correctly a part of the C
|
||||||
|
library, it is included here because the encoding side of this
|
||||||
|
interface must be accessible by end user programs.
|
@ -3,6 +3,8 @@
|
|||||||
# see the file kconfig-language.txt in the NuttX tools repository.
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
||||||
#
|
#
|
||||||
|
|
||||||
|
comment "Module Library Configuration"
|
||||||
|
|
||||||
config LIBC_MODLIB
|
config LIBC_MODLIB
|
||||||
bool
|
bool
|
||||||
default n
|
default n
|
||||||
|
16
libc/net/Kconfig
Normal file
16
libc/net/Kconfig
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
#
|
||||||
|
# For a description of the syntax of this configuration file,
|
||||||
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
||||||
|
#
|
||||||
|
|
||||||
|
comment "Standard C Library Options"
|
||||||
|
|
||||||
|
config LIBC_IPv4_ADDRCONV
|
||||||
|
bool "IPv4 address conversions"
|
||||||
|
default n
|
||||||
|
depends on !NET_IPv4
|
||||||
|
|
||||||
|
config LIBC_IPv6_ADDRCONV
|
||||||
|
bool "IPv6 address conversions"
|
||||||
|
default n
|
||||||
|
depends on !NET_IPv6
|
252
libc/netdb/Kconfig
Normal file
252
libc/netdb/Kconfig
Normal file
@ -0,0 +1,252 @@
|
|||||||
|
#
|
||||||
|
# For a description of the syntax of this configuration file,
|
||||||
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
||||||
|
#
|
||||||
|
|
||||||
|
comment "NETDB Support"
|
||||||
|
|
||||||
|
config LIBC_NETDB
|
||||||
|
bool
|
||||||
|
default n
|
||||||
|
|
||||||
|
menuconfig NETDB_HOSTFILE
|
||||||
|
bool "Network host file support"
|
||||||
|
default n
|
||||||
|
depends on FS_READABLE
|
||||||
|
select LIBC_NETDB
|
||||||
|
---help---
|
||||||
|
Enable network host table look ups via gethostbyname() and
|
||||||
|
gethostbyaddr().
|
||||||
|
|
||||||
|
if NETDB_HOSTFILE
|
||||||
|
|
||||||
|
config NETDB_HOSTCONF_PATH
|
||||||
|
string "Path to host configuration file"
|
||||||
|
default "/etc/hosts"
|
||||||
|
|
||||||
|
config NETDB_MAX_ALTNAMES
|
||||||
|
int "Max number of alternate host names"
|
||||||
|
default 4
|
||||||
|
|
||||||
|
config NETDB_BUFSIZE
|
||||||
|
int "gethostname() buffer size"
|
||||||
|
default 128
|
||||||
|
|
||||||
|
endif # NETDB_HOSTFILE
|
||||||
|
|
||||||
|
menuconfig NETDB_DNSCLIENT
|
||||||
|
bool "DNS Name resolution"
|
||||||
|
default n
|
||||||
|
depends on NET && NET_UDP
|
||||||
|
select LIBC_NETDB
|
||||||
|
---help---
|
||||||
|
Enable support for the name resolution; Enable network host
|
||||||
|
resolution via gethostbyname().
|
||||||
|
|
||||||
|
if NETDB_DNSCLIENT
|
||||||
|
|
||||||
|
config NETDB_DNSCLIENT_ENTRIES
|
||||||
|
int "Number of DNS resolver entries"
|
||||||
|
default 0 if DEFAULT_SMALL
|
||||||
|
default 8 if !DEFAULT_SMALL
|
||||||
|
range 0 255
|
||||||
|
---help---
|
||||||
|
Number of cached DNS resolver entries. Default: 8. Zero disables
|
||||||
|
all cached name resolutions.
|
||||||
|
|
||||||
|
Disabling the DNS cache means that each access call to
|
||||||
|
gethostbyname() will result in a new DNS network query. If
|
||||||
|
CONFIG_NETDB_DNSCLIENT_ENTRIES is non-zero, then entries will be
|
||||||
|
cached and if the name mapping can be found in that cache, the
|
||||||
|
network query can be avoid. Of course, this is only useful if you
|
||||||
|
query the same name often and if the IP address of the name is
|
||||||
|
stable. If the IP address can change, then cachin DNS address
|
||||||
|
might have undesirable side-effects (see help for
|
||||||
|
CONFIG_NETDB_DNSCLIENT_LIFESEC).
|
||||||
|
|
||||||
|
config NETDB_DNSCLIENT_NAMESIZE
|
||||||
|
int "Max size of a cached hostname"
|
||||||
|
default 32
|
||||||
|
---help---
|
||||||
|
The size of a hostname string in the DNS resolver cache is fixed.
|
||||||
|
This setting provides the maximum size of a hostname. Names longer
|
||||||
|
than this will be aliased! Default: 32
|
||||||
|
|
||||||
|
config NETDB_DNSCLIENT_LIFESEC
|
||||||
|
int "Life of a DNS cache entry (seconds)"
|
||||||
|
default 3600
|
||||||
|
---help---
|
||||||
|
Cached entries in the name resolution cache older than this will not
|
||||||
|
be used. Default: 1 hour. Zero means that entries will not expire.
|
||||||
|
|
||||||
|
Small values of CONFIG_NETDB_DNSCLIENT_LIFESEC may result in more
|
||||||
|
network DNS queries; larger values can make a host unreachable for
|
||||||
|
the entire duration of the timeout value. This might happen, for
|
||||||
|
example, if the remote host was assigned a different IP address by
|
||||||
|
a DHCP server.
|
||||||
|
|
||||||
|
config NETDB_DNSCLIENT_MAXRESPONSE
|
||||||
|
int "Max response size"
|
||||||
|
default 96
|
||||||
|
---help---
|
||||||
|
This setting determines the maximum size of response message that
|
||||||
|
can be received by the DNS resolver. The default is 96 but may
|
||||||
|
need to be larger on enterprise networks (perhaps 176).
|
||||||
|
|
||||||
|
|
||||||
|
config NETDB_RESOLVCONF
|
||||||
|
bool "DNS resolver file support"
|
||||||
|
default n
|
||||||
|
depends on FS_READABLE
|
||||||
|
---help---
|
||||||
|
Enable DNS server look ups in resolver file like /etc/resolv.conf.
|
||||||
|
|
||||||
|
if NETDB_RESOLVCONF
|
||||||
|
|
||||||
|
config NETDB_RESOLVCONF_PATH
|
||||||
|
string "Path to host configuration file"
|
||||||
|
default "/etc/resolv.conf"
|
||||||
|
|
||||||
|
config NETDB_RESOLVCONF_NONSTDPORT
|
||||||
|
bool "Non-standard port support"
|
||||||
|
default n
|
||||||
|
---help---
|
||||||
|
By default, the resolv.conf file will hold only records like:
|
||||||
|
|
||||||
|
nameserver xx.xx.xx.xx
|
||||||
|
nameserver xxxx:::::::xxxx
|
||||||
|
|
||||||
|
The default port of 53 is always assumed.
|
||||||
|
|
||||||
|
If this option is selected, then OpenBSD style resolv.conf files
|
||||||
|
will be supported. This adds logic for a bracket port notation
|
||||||
|
like:
|
||||||
|
|
||||||
|
nameserver [xx.xx.xx.xx]:ppppp
|
||||||
|
nameserver [xxxx:::::::xxxx]:ppppp
|
||||||
|
|
||||||
|
endif # NETDB_RESOLVCONF
|
||||||
|
|
||||||
|
choice
|
||||||
|
prompt "DNS server address type"
|
||||||
|
default NETDB_DNSSERVER_IPv4 if NET_IPv4
|
||||||
|
default NETDB_DNSSERVER_IPv6 if !NET_IPv4 && NET_IPv6
|
||||||
|
default NETDB_DNSSERVER_NOADDR if !NET_IPv4 && !NET_IPv6
|
||||||
|
depends on !NETDB_RESOLVCONF
|
||||||
|
|
||||||
|
config NETDB_DNSSERVER_NOADDR
|
||||||
|
bool "No default DNS server address"
|
||||||
|
---help---
|
||||||
|
There is not default DNS nameserver address. Application must call
|
||||||
|
dns_add_server() at runtime to add the DNS server address.
|
||||||
|
|
||||||
|
config NETDB_DNSSERVER_IPv4
|
||||||
|
bool "IPv4 DNS server address"
|
||||||
|
depends on NET_IPv4
|
||||||
|
---help---
|
||||||
|
An IPv4 default DNS nameserver address will be provided. Application
|
||||||
|
may overwrite this start default server address by calling
|
||||||
|
dns_add_server() at runtime.
|
||||||
|
|
||||||
|
config NETDB_DNSSERVER_IPv6
|
||||||
|
bool "IPv6 DNS server address"
|
||||||
|
depends on NET_IPv6
|
||||||
|
---help---
|
||||||
|
An IPv6 default DNS nameserver address will be provided. Application
|
||||||
|
may overwrite this start default server address by calling
|
||||||
|
dns_add_server() at runtime.
|
||||||
|
|
||||||
|
endchoice # DNS server address type
|
||||||
|
|
||||||
|
config NETDB_DNSSERVER_IPv4ADDR
|
||||||
|
hex "Target IPv4 address"
|
||||||
|
default 0x0a000001
|
||||||
|
depends on NETDB_DNSSERVER_IPv4
|
||||||
|
---help---
|
||||||
|
Default DNS server IPv4 address in host byte order. Default value
|
||||||
|
10.0.0.0.1. This may be changed via dns_add_nameserver().
|
||||||
|
|
||||||
|
if NETDB_DNSSERVER_IPv6
|
||||||
|
|
||||||
|
config NETDB_DNSSERVER_IPv6ADDR_1
|
||||||
|
hex "[0]"
|
||||||
|
default 0xfc00
|
||||||
|
range 0x0 0xffff
|
||||||
|
---help---
|
||||||
|
This is the default IP address of the DNS server. This is a 16-bit
|
||||||
|
integer value in host order. Each of the eight values forming the
|
||||||
|
full IPv6 address must be specified individually. This is the first
|
||||||
|
of the 8-values. The default for all eight values is fc00::1.
|
||||||
|
|
||||||
|
config NETDB_DNSSERVER_IPv6ADDR_2
|
||||||
|
hex "[1]"
|
||||||
|
default 0x0000
|
||||||
|
range 0x0 0xffff
|
||||||
|
---help---
|
||||||
|
This is the default IP address of the DNS server. This is a 16-bit
|
||||||
|
integer value in host order. Each of the eight values forming the
|
||||||
|
full IPv6 address must be specified individually. This is the second
|
||||||
|
of the 8-values. The default for all eight values is fc00::1.
|
||||||
|
|
||||||
|
config NETDB_DNSSERVER_IPv6ADDR_3
|
||||||
|
hex "[2]"
|
||||||
|
default 0x0000
|
||||||
|
range 0x0 0xffff
|
||||||
|
---help---
|
||||||
|
This is the default IP address of the DNS server. This is a 16-bit
|
||||||
|
integer value in host order. Each of the eight values forming the
|
||||||
|
full IPv6 address must be specified individually. This is the third
|
||||||
|
of the 8-values. The default for all eight values is fc00::1.
|
||||||
|
|
||||||
|
config NETDB_DNSSERVER_IPv6ADDR_4
|
||||||
|
hex "[3]"
|
||||||
|
default 0x0000
|
||||||
|
range 0x0 0xffff
|
||||||
|
---help---
|
||||||
|
This is the default IP address of the DNS server. This is a 16-bit
|
||||||
|
integer value in host order. Each of the eight values forming the
|
||||||
|
full IPv6 address must be specified individually. This is the fourth
|
||||||
|
of the 8-values. The default for all eight values is fc00::1.
|
||||||
|
|
||||||
|
config NETDB_DNSSERVER_IPv6ADDR_5
|
||||||
|
hex "[4]"
|
||||||
|
default 0x0000
|
||||||
|
range 0x0 0xffff
|
||||||
|
---help---
|
||||||
|
This is the default IP address of the DNS server. This is a 16-bit
|
||||||
|
integer value in host order. Each of the eight values forming the
|
||||||
|
full IPv6 address must be specified individually. This is the fifth
|
||||||
|
of the 8-values. The default for all eight values is fc00::1.
|
||||||
|
|
||||||
|
config NETDB_DNSSERVER_IPv6ADDR_6
|
||||||
|
hex "[5]"
|
||||||
|
default 0x0000
|
||||||
|
range 0x0 0xffff
|
||||||
|
---help---
|
||||||
|
This is the default IP address of the DNS server. This is a 16-bit
|
||||||
|
integer value in host order. Each of the eight values forming the
|
||||||
|
full IPv6 address must be specified individually. This is the sixth
|
||||||
|
of the 8-values. The default for all eight values is fc00::1.
|
||||||
|
|
||||||
|
config NETDB_DNSSERVER_IPv6ADDR_7
|
||||||
|
hex "[6]"
|
||||||
|
default 0x0000
|
||||||
|
range 0x0 0xffff
|
||||||
|
---help---
|
||||||
|
This is the default IP address of the DNS server. This is a 16-bit
|
||||||
|
integer value in host order. Each of the eight values forming the
|
||||||
|
full IPv6 address must be specified individually. This is the seventh
|
||||||
|
of the 8-values. The default for all eight values is fc00::1.
|
||||||
|
|
||||||
|
config NETDB_DNSSERVER_IPv6ADDR_8
|
||||||
|
hex "[7]"
|
||||||
|
default 0x0001
|
||||||
|
range 0x0 0xffff
|
||||||
|
---help---
|
||||||
|
This is the default IP address of the DNS server. This is a 16-bit
|
||||||
|
integer value in host order. Each of the eight values forming the
|
||||||
|
full IPv6 address must be specified individually. This is the last
|
||||||
|
of the 8-values. The default for all eight values is fc00::1.
|
||||||
|
|
||||||
|
endif # NETDB_DNSSERVER_IPv6
|
||||||
|
endif # NETDB_DNSCLIENT
|
118
libc/stdio/Kconfig
Normal file
118
libc/stdio/Kconfig
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
#
|
||||||
|
# For a description of the syntax of this configuration file,
|
||||||
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
||||||
|
#
|
||||||
|
|
||||||
|
comment "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 NFILE_STREAMS > 0)
|
||||||
|
|
||||||
|
config NOPRINTF_FIELDWIDTH
|
||||||
|
bool "Disable sprintf support fieldwidth"
|
||||||
|
default n
|
||||||
|
---help---
|
||||||
|
sprintf-related logic is a little smaller if we do not support field
|
||||||
|
widths.
|
||||||
|
|
||||||
|
config LIBC_FLOATINGPOINT
|
||||||
|
bool "Enable floating point in printf"
|
||||||
|
default n
|
||||||
|
---help---
|
||||||
|
By default, floating point
|
||||||
|
support in printf, sscanf, etc. is disabled.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
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 charactor.
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
source libc/time/Kconfig
|
||||||
|
|
||||||
|
config MEMCPY_VIK
|
||||||
|
bool "Vik memcpy()"
|
||||||
|
default n
|
||||||
|
depends on !LIBC_ARCH_MEMCPY
|
||||||
|
---help---
|
||||||
|
Select this option to use the optimized memcpy() function by Daniel Vik.
|
||||||
|
Select this option for improved performance at the expense of increased
|
||||||
|
size. See licensing information in the top-level COPYING file.
|
47
libc/stdlib/Kconfig
Normal file
47
libc/stdlib/Kconfig
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
#
|
||||||
|
# For a description of the syntax of this configuration file,
|
||||||
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
||||||
|
#
|
||||||
|
|
||||||
|
comment "Random Number Generation"
|
||||||
|
|
||||||
|
config LIB_RAND_ORDER
|
||||||
|
int "Order of the random number generate"
|
||||||
|
default 1
|
||||||
|
range 1 3
|
||||||
|
---help---
|
||||||
|
The order of the random number generator. 1=fast but very bad random
|
||||||
|
numbers, 3=slow but very good random numbers.
|
||||||
|
|
||||||
|
comment "Environment Variables"
|
||||||
|
|
||||||
|
config LIB_HOMEDIR
|
||||||
|
string "Home directory"
|
||||||
|
default "/"
|
||||||
|
depends on !DISABLE_ENVIRON
|
||||||
|
---help---
|
||||||
|
The home directory to use with operations like such as 'cd ~'
|
||||||
|
|
||||||
|
comment "Temporary Files"
|
||||||
|
|
||||||
|
config LIBC_TMPDIR
|
||||||
|
string "Temporary file directory"
|
||||||
|
default "/tmp"
|
||||||
|
depends on FS_WRITABLE
|
||||||
|
---help---
|
||||||
|
If a write-able file system is selected, this string will be
|
||||||
|
provided to specify the full path to a directory where temporary
|
||||||
|
files can be created. This would be a good application of RAM disk:
|
||||||
|
To provide temporary storage for application data.
|
||||||
|
|
||||||
|
config LIBC_MAX_TMPFILE
|
||||||
|
int "Maximum size of a temporary file path"
|
||||||
|
default 32
|
||||||
|
depends on FS_WRITABLE
|
||||||
|
---help---
|
||||||
|
If a write-able file system is selected, then temporary file may be
|
||||||
|
supported at the path provided by LIBC_TMPDIR. The tmpnam() interface
|
||||||
|
keeps a static copy of this last filename produced; this value is the
|
||||||
|
maximum size of that last filename. This size is the size of the full
|
||||||
|
file path.
|
||||||
|
|
89
libc/string/Kconfig
Normal file
89
libc/string/Kconfig
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
#
|
||||||
|
# For a description of the syntax of this configuration file,
|
||||||
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
||||||
|
#
|
||||||
|
|
||||||
|
comment "errno Decode Support"
|
||||||
|
|
||||||
|
config LIBC_STRERROR
|
||||||
|
bool "Enable strerror"
|
||||||
|
default n
|
||||||
|
---help---
|
||||||
|
strerror() is useful because it decodes 'errno' values into a human readable
|
||||||
|
strings. But it can also require a lot of memory. If this option is selected,
|
||||||
|
strerror() will still exist in the build but it will not decode error values.
|
||||||
|
This option should be used by other logic to decide if it should use strerror()
|
||||||
|
or not. For example, the NSH application will not use strerror() if this
|
||||||
|
option is not selected; perror() will not use strerror() is this option is not
|
||||||
|
selected (see also NSH_STRERROR).
|
||||||
|
|
||||||
|
config LIBC_STRERROR_SHORT
|
||||||
|
bool "Use short error descriptions in strerror()"
|
||||||
|
default n
|
||||||
|
depends on LIBC_STRERROR
|
||||||
|
---help---
|
||||||
|
If this option is selected, then strerror() will use a shortened string when
|
||||||
|
it decodes the error. Specifically, strerror() is simply use the string that
|
||||||
|
is the common name for the error. For example, the 'errno' value of 2 will
|
||||||
|
produce the string "No such file or directory" is LIBC_STRERROR_SHORT
|
||||||
|
is not defined but the string "ENOENT" is LIBC_STRERROR_SHORT is defined.
|
||||||
|
|
||||||
|
config LIBC_PERROR_STDOUT
|
||||||
|
bool "perror() to stdout"
|
||||||
|
default n
|
||||||
|
---help---
|
||||||
|
POSIX requires that perror() provide its output on stderr. This option may
|
||||||
|
be defined, however, to provide perror() output that is serialized with
|
||||||
|
other stdout messages.
|
||||||
|
|
||||||
|
comment "memcpy/memset Options"
|
||||||
|
|
||||||
|
config MEMCPY_VIK
|
||||||
|
bool "Vik memcpy()"
|
||||||
|
default n
|
||||||
|
depends on !LIBC_ARCH_MEMCPY
|
||||||
|
---help---
|
||||||
|
Select this option to use the optimized memcpy() function by Daniel Vik.
|
||||||
|
Select this option for improved performance at the expense of increased
|
||||||
|
size. See licensing information in the top-level COPYING file.
|
||||||
|
|
||||||
|
if MEMCPY_VIK
|
||||||
|
|
||||||
|
config MEMCPY_PRE_INC_PTRS
|
||||||
|
bool "Pre-increment pointers"
|
||||||
|
default n
|
||||||
|
---help---
|
||||||
|
Use pre-increment of pointers. Default is post increment of pointers.
|
||||||
|
|
||||||
|
config MEMCPY_INDEXED_COPY
|
||||||
|
bool "Array indexing"
|
||||||
|
default y
|
||||||
|
---help---
|
||||||
|
Copying data using array indexing. Using this option, disables the
|
||||||
|
MEMCPY_PRE_INC_PTRS option.
|
||||||
|
|
||||||
|
config MEMCPY_64BIT
|
||||||
|
bool "64-bit memcpy()"
|
||||||
|
default n
|
||||||
|
---help---
|
||||||
|
Compiles memcpy() for architectures that suppport 64-bit operations
|
||||||
|
efficiently.
|
||||||
|
|
||||||
|
endif # MEMCPY_VIK
|
||||||
|
|
||||||
|
config MEMSET_OPTSPEED
|
||||||
|
bool "Optimize memset() for speed"
|
||||||
|
default n
|
||||||
|
depends on !LIBC_ARCH_MEMSET
|
||||||
|
---help---
|
||||||
|
Select this option to use a version of memcpy() optimized for speed.
|
||||||
|
Default: memcpy() is optimized for size.
|
||||||
|
|
||||||
|
config MEMSET_64BIT
|
||||||
|
bool "64-bit memset()"
|
||||||
|
default n
|
||||||
|
depends on MEMSET_OPTSPEED
|
||||||
|
---help---
|
||||||
|
Compiles memset() for architectures that suppport 64-bit operations
|
||||||
|
efficiently.
|
||||||
|
|
81
libc/time/Kconfig
Normal file
81
libc/time/Kconfig
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
#
|
||||||
|
# For a description of the syntax of this configuration file,
|
||||||
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
||||||
|
#
|
||||||
|
|
||||||
|
comment "Time/Time Zone Support"
|
||||||
|
|
||||||
|
config LIBC_LOCALTIME
|
||||||
|
bool "localtime API call support"
|
||||||
|
default "n"
|
||||||
|
depends on !DISABLE_ENVIRON
|
||||||
|
---help---
|
||||||
|
localtime API call support
|
||||||
|
|
||||||
|
Logic currently depends on file system support with, at a minimum, these
|
||||||
|
files in the zoneinfo directory: GMT and posixrules. An additional
|
||||||
|
timezone file is required for any additional, local time zone(s) and the
|
||||||
|
environment variable TZ must be set to the name of that timezone file
|
||||||
|
when tzset() is called.
|
||||||
|
|
||||||
|
See https://www.iana.org/time-zones . See also nuttx/zoneinfo
|
||||||
|
which provides a framework for incorporating the TZ database into a
|
||||||
|
NuttX build.
|
||||||
|
|
||||||
|
if LIBC_LOCALTIME
|
||||||
|
|
||||||
|
config LIBC_TZ_MAX_TIMES
|
||||||
|
int "Maximum number of times in timezone"
|
||||||
|
default 370
|
||||||
|
---help---
|
||||||
|
Timezone files with more than this number of times will not be usedi
|
||||||
|
(tmecnt).
|
||||||
|
|
||||||
|
Warning: Some files in IANA TZ database include many times. The current
|
||||||
|
posixrules file, for example, has timecnt = 236. The value of
|
||||||
|
TX_MAX_ITMES in the tzfile.h header file on my Linux system is 370, the
|
||||||
|
default used here. You may want to reduce this value for a smaller
|
||||||
|
footprint.
|
||||||
|
|
||||||
|
config LIBC_TZ_MAX_TYPES
|
||||||
|
int "Maximum number of TZ types"
|
||||||
|
default 20
|
||||||
|
---help---
|
||||||
|
Maximum number of local time types. You may want to reduce this value
|
||||||
|
for a smaller footprint.
|
||||||
|
|
||||||
|
config LIBC_TZDIR
|
||||||
|
string "zoneinfo directory path"
|
||||||
|
default "/etc/zoneinfo"
|
||||||
|
---help---
|
||||||
|
This is the full path to the location where the TZ database is expected
|
||||||
|
to be found.
|
||||||
|
|
||||||
|
config LIB_ZONEINFO
|
||||||
|
bool "TZ database"
|
||||||
|
default n
|
||||||
|
---help---
|
||||||
|
Download and build the TZ/Olson database.
|
||||||
|
|
||||||
|
if LIB_ZONEINFO
|
||||||
|
|
||||||
|
config LIB_ZONEINFO_ROMFS
|
||||||
|
bool "Build ROMFS filesystem"
|
||||||
|
default n
|
||||||
|
depends on FS_ROMFS
|
||||||
|
---help---
|
||||||
|
Build a mountable ROMFS filesystem containing the TZ/Olson database
|
||||||
|
|
||||||
|
endif # LIB_ZONEINFO
|
||||||
|
endif # LIBC_LOCALTIME
|
||||||
|
|
||||||
|
config TIME_EXTENDED
|
||||||
|
bool "Add day of week, year support"
|
||||||
|
default "n"
|
||||||
|
depends on !LIBC_LOCALTIME
|
||||||
|
---help---
|
||||||
|
Selecting TIME_EXTENDED adds tm_wday, tm_yday and tm_isdst
|
||||||
|
to the tm struct. This allows integration with 3rd party libraries
|
||||||
|
that expect the tm struct to contain these members.
|
||||||
|
|
||||||
|
Note: tm_isdst is always 0
|
51
libc/tls/Kconfig
Normal file
51
libc/tls/Kconfig
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
#
|
||||||
|
# For a description of the syntax of this configuration file,
|
||||||
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
||||||
|
#
|
||||||
|
|
||||||
|
config ARCH_HAVE_TLS
|
||||||
|
bool
|
||||||
|
default n
|
||||||
|
---help---
|
||||||
|
Selected by the configuration system if the current architecture
|
||||||
|
supports TLS.
|
||||||
|
|
||||||
|
if ARCH_HAVE_TLS
|
||||||
|
|
||||||
|
comment "Thread Local Storage"
|
||||||
|
|
||||||
|
menuconfig TLS
|
||||||
|
bool "Thread Local Storage (TLS)"
|
||||||
|
default n
|
||||||
|
---help---
|
||||||
|
Build in support for stack based thread local storage (TLS).
|
||||||
|
|
||||||
|
if TLS
|
||||||
|
|
||||||
|
config TLS_LOG2_MAXSTACK
|
||||||
|
int "Maximum stack size (log2)"
|
||||||
|
default 13
|
||||||
|
range 11 24
|
||||||
|
---help---
|
||||||
|
Stack based TLS works by fetch thread information from the beginning
|
||||||
|
of the stack memory allocation. In order to do this, the memory
|
||||||
|
must be aligned in such a way that the executing logic can simply
|
||||||
|
masking the current stack pointer to get the beginning of the stack
|
||||||
|
allocation.
|
||||||
|
|
||||||
|
This setting specifies the alignment of the stack as a power of 2:
|
||||||
|
11=2KB, 12=4KB, 13=8KB, etc. The exact alignment is not so critical
|
||||||
|
except that (1) a very large value can cause you to run out of
|
||||||
|
alignable memory (and fail memory allocations), and (2) smaller
|
||||||
|
values will limit the maximum size of the stack (hence the naming
|
||||||
|
of this configuration value).
|
||||||
|
|
||||||
|
config TLS_NELEM
|
||||||
|
int "Number of TLS elements"
|
||||||
|
default 1
|
||||||
|
---help---
|
||||||
|
The number of unique TLS elements. These can be accessed with
|
||||||
|
the user library functions tls_get_element() and tls_set_element().
|
||||||
|
|
||||||
|
endif # TLS
|
||||||
|
endif # ARCH_HAVE_TLS
|
88
libc/unistd/Kconfig
Normal file
88
libc/unistd/Kconfig
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
#
|
||||||
|
# For a description of the syntax of this configuration file,
|
||||||
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
||||||
|
#
|
||||||
|
|
||||||
|
comment "Program Execution Options"
|
||||||
|
|
||||||
|
config LIBC_EXECFUNCS
|
||||||
|
bool "Enable exec[l|v] / posix_spawn() Support"
|
||||||
|
default n
|
||||||
|
depends on !BINFMT_DISABLE
|
||||||
|
---help---
|
||||||
|
Enable support for the exec[l|v] family of functions that can be
|
||||||
|
used to start other programs, terminating the current program and
|
||||||
|
the posix_spawn() familty of functions that can be used start other
|
||||||
|
programs without terminating the current program. The typical
|
||||||
|
usage of the exec[l|v] functions is (1) first call vfork() to create
|
||||||
|
a new thread, then (2) call exec[l|v] to replace the new thread with
|
||||||
|
a program from the file system.
|
||||||
|
|
||||||
|
NOTE 1: This two step process start is completely unnecessary in
|
||||||
|
NuttX and is provided only for compatibily with Unix systems. These
|
||||||
|
functions are essentially just wrapper functions that (1) call the
|
||||||
|
non-standard binfmt function 'exec', and then (2) exit(0). Since
|
||||||
|
the new thread will be terminated by the exec[l|v] call, it really
|
||||||
|
served no purpose other than to suport Unix compatility.
|
||||||
|
|
||||||
|
The posix_spawn() functions do not have this inefficiency.
|
||||||
|
|
||||||
|
NOTE 2: Support for exec[l|v] and posix_spawn() is conditional
|
||||||
|
because they require additional support for symbol tables that
|
||||||
|
will not be available in the typical system.
|
||||||
|
|
||||||
|
if LIBC_EXECFUNCS
|
||||||
|
|
||||||
|
config EXECFUNCS_HAVE_SYMTAB
|
||||||
|
bool "Have symbol table"
|
||||||
|
default n if BUILD_KERNEL
|
||||||
|
default y if !BUILD_KERNEL
|
||||||
|
---help---
|
||||||
|
If you have a system symbol table, then you must select this
|
||||||
|
option in order to use it. Symbol tables are required in most
|
||||||
|
cases in order to like executable programs to the base code.
|
||||||
|
|
||||||
|
if EXECFUNCS_HAVE_SYMTAB
|
||||||
|
config EXECFUNCS_SYMTAB
|
||||||
|
string "Symbol table used by exec[l|v]"
|
||||||
|
default "g_symtab"
|
||||||
|
---help---
|
||||||
|
The exec[l|v] and posix_spawn() functions are wrapper functions that
|
||||||
|
call the non-standard binfmt function 'exec'). The binfmt
|
||||||
|
function 'exec' needs to have (1) a symbol table that provides the
|
||||||
|
list of symbols exported by the base code, and (2) the number of
|
||||||
|
symbols in that table. This selection provides the name of that
|
||||||
|
symbol table.
|
||||||
|
|
||||||
|
config EXECFUNCS_NSYMBOLS
|
||||||
|
int "Number of Symbols in the Table"
|
||||||
|
default 0
|
||||||
|
---help---
|
||||||
|
The exec[l|v] and posix_spawn() functions are wrapper functions that
|
||||||
|
call the non-standard binfmt function 'exec'). The binfmt
|
||||||
|
function 'exec' needs to have (1) a symbol table that provides the
|
||||||
|
list of symbols exported by the base code, and (2) the number of
|
||||||
|
symbols in that table. This selection provides the number of
|
||||||
|
symbols in the symbol table.
|
||||||
|
|
||||||
|
endif # EXECFUNCS_HAVE_SYMTAB
|
||||||
|
endif # LIBC_EXECFUNCS
|
||||||
|
|
||||||
|
config POSIX_SPAWN_PROXY_STACKSIZE
|
||||||
|
int "Spawn Stack Size"
|
||||||
|
default 1024
|
||||||
|
---help---
|
||||||
|
If posix_spawn[p]() and task_spawn() use I/O redirection options,
|
||||||
|
they will require an intermediary/proxy task to muck with the file
|
||||||
|
descriptors. This configuration item specifies the stack size
|
||||||
|
used for the proxy. Default: 1024 bytes.
|
||||||
|
|
||||||
|
config TASK_SPAWN_DEFAULT_STACKSIZE
|
||||||
|
int "Default task_spawn Stack Size"
|
||||||
|
default 2048
|
||||||
|
depends on !ARCH_ADDRENV
|
||||||
|
---help---
|
||||||
|
The actual size to use for the child task's stack can be set with
|
||||||
|
task_spawnattr_setstacksize(). This value specifies the default
|
||||||
|
stack size to use if task_spawnattr_setstacksize() is not used.
|
||||||
|
Default: 2048.
|
12
libc/wchar/Kconfig
Normal file
12
libc/wchar/Kconfig
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#
|
||||||
|
# For a description of the syntax of this configuration file,
|
||||||
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
||||||
|
#
|
||||||
|
|
||||||
|
comment "Wide character suppoort"
|
||||||
|
|
||||||
|
config LIBC_WCHAR
|
||||||
|
bool "Enable wide-characters (Unicode) support"
|
||||||
|
default n
|
||||||
|
---help---
|
||||||
|
By default, wide-characters support is disabled.
|
40
libc/wqueue/Kconfig
Normal file
40
libc/wqueue/Kconfig
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
#
|
||||||
|
# For a description of the syntax of this configuration file,
|
||||||
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
||||||
|
#
|
||||||
|
|
||||||
|
if BUILD_PROTECTED || BUILD_KERNEL
|
||||||
|
|
||||||
|
comment "User Work Queue Support"
|
||||||
|
|
||||||
|
config LIB_USRWORK
|
||||||
|
bool "User mode worker thread"
|
||||||
|
default n
|
||||||
|
depends on !DISABLE_SIGNALS
|
||||||
|
---help---
|
||||||
|
User space work queues can also be made available for deferred
|
||||||
|
processing in the NuttX kernel build.
|
||||||
|
|
||||||
|
if LIB_USRWORK
|
||||||
|
|
||||||
|
config LIB_USRWORKPRIORITY
|
||||||
|
int "User mode priority worker thread priority"
|
||||||
|
default 100
|
||||||
|
---help---
|
||||||
|
The execution priority of the user-mode priority worker thread. Default: 100
|
||||||
|
|
||||||
|
config LIB_USRWORKPERIOD
|
||||||
|
int "User mode worker thread period"
|
||||||
|
default 100000
|
||||||
|
---help---
|
||||||
|
How often the lower priority worker thread checks for work in units
|
||||||
|
of microseconds. Default: 100*1000 (100 MS).
|
||||||
|
|
||||||
|
config LIB_USRWORKSTACKSIZE
|
||||||
|
int "User mode worker thread stack size"
|
||||||
|
default 2048
|
||||||
|
---help---
|
||||||
|
The stack size allocated for the lower priority worker thread. Default: 2K.
|
||||||
|
|
||||||
|
endif # LIB_USRWORK
|
||||||
|
endif # BUILD_PROTECTED || BUILD_KERNEL
|
Loading…
Reference in New Issue
Block a user