1 config EGLIBC_OPTION_EGLIBC_ADVANCED_INET6
2 bool "IPv6 Advanced Sockets API support (RFC3542)"
4 select EGLIBC_OPTION_EGLIBC_INET
6 This option group includes the functions specified by RFC 3542,
7 "Advanced Sockets Application Program Interface (API) for
10 This option group includes the following functions:
33 config EGLIBC_OPTION_EGLIBC_BACKTRACE
34 bool "Functions for producing backtraces"
37 This option group includes functions for producing a list of
38 the function calls that are currently active in a thread, from
39 within the thread itself. These functions are often used
40 within signal handlers, to produce diagnostic output.
42 This option group includes the following functions:
49 config EGLIBC_OPTION_EGLIBC_BIG_MACROS
50 bool "Use extensive inline code"
52 depends EGLIBC_VERSION_2_11 || EGLIBC_VERSION_2_12
54 This option group specifies whether certain pieces of code
55 should be inlined to achieve maximum speed. If this option
56 group is not selected, function calls will be used instead,
57 hence reducing the library footprint.
60 config EGLIBC_OPTION_EGLIBC_BSD
61 bool "BSD-specific functions, and their compatibility stubs"
64 This option group includes functions specific to BSD kernels.
65 A number of these functions have stub versions that are also
66 included in libraries built for non-BSD systems for
69 This option group includes the following functions:
78 config EGLIBC_OPTION_EGLIBC_CXX_TESTS
79 bool "Tests that link against the standard C++ library."
81 select EGLIBC_OPTION_POSIX_WIDE_CHAR_DEVICE_IO
82 select EGLIBC_OPTION_EGLIBC_LIBM
84 This option group does not include any C library functions;
85 instead, it controls which EGLIBC tests an ordinary 'make
86 tests' runs. With this group disabled, tests that would
87 normally link against the standard C++ library are not
90 The standard C++ library depends on the math library 'libm' and
91 the wide character I/O functions included in EGLIBC. If those
92 option groups are disabled, this test must also be disabled.
95 config EGLIBC_OPTION_EGLIBC_CATGETS
96 bool "Functions for accessing message catalogs"
98 select EGLIBC_OPTION_EGLIBC_LOCALE_CODE
100 This option group includes functions for accessing message
101 catalogs: catopen, catclose, and catgets.
103 This option group depends on the EGLIBC_OPTION_EGLIBC_LOCALE_CODE
104 option group; if you disable that, you must also disable this.
107 config EGLIBC_OPTION_EGLIBC_CHARSETS
108 bool "iconv/gconv character set conversion libraries"
112 This option group includes support for character sets other
113 than ASCII (ANSI_X3.4-1968) and Unicode and ISO-10646 in their
114 various encodings. This affects both the character sets
115 supported by the wide and multibyte character functions, and
116 those supported by the 'iconv' functions.
118 With this option group disabled, EGLIBC supports only the
119 following character sets:
135 10646-1:1993 - ISO 10646, in big-endian UCS4 form
147 UCS-4LE - ISO 10646, in little-endian UCS4 form
149 ISO-10646/UTF-8 - ISO 10646, in UTF-8 form
156 ISO-10646/UCS2 - ISO 10646, in target-endian UCS2 form
163 UCS-2BE - ISO 10646, in big-endian UCS2 form
166 UCS-2LE - ISO 10646, in little-endian UCS2 form
169 WCHAR_T - EGLIBC's internal form (target-endian,
173 config EGLIBC_OPTION_EGLIBC_CRYPT
174 bool "Encryption library"
176 depends EGLIBC_VERSION_2_12
178 This option group includes the `libcrypt' library which
179 provides functions for one-way encryption. Supported
180 encryption algorithms include MD5, SHA-256, SHA-512 and DES.
183 config EGLIBC_OPTION_EGLIBC_CRYPT_UFC
184 bool "Ultra fast `crypt' implementation"
186 depends EGLIBC_VERSION_2_12
187 select EGLIBC_OPTION_EGLIBC_CRYPT
189 This option group provides ultra fast DES-based implementation of
190 the `crypt' function. When this option group is disabled,
191 (a) the library will not provide the setkey[_r] and encrypt[_r]
192 functions and (b) the crypt[_r] function will return NULL and set the
193 errno to ENOSYS if /salt/ passed does not correspond to either MD5,
194 SHA-256 or SHA-512 algorithm.
197 config EGLIBC_OPTION_EGLIBC_DB_ALIASES
198 bool "Functions for accessing the mail aliases database"
201 This option group includes functions for looking up mail
202 aliases in '/etc/aliases' or using nsswitch. It includes the
212 When this option group is disabled, the NSS service libraries
213 also lack support for querying their mail alias tables.
216 config EGLIBC_OPTION_EGLIBC_ENVZ
217 bool "Functions for handling envz-style environment vectors."
220 This option group contains functions for creating and operating
221 on envz vectors. An "envz vector" is a vector of strings in a
222 contiguous block of memory, where each element is a name-value
223 pair, and elements are separated from their neighbors by null
226 This option group includes the following functions:
229 envz_entry envz_remove
233 config EGLIBC_OPTION_EGLIBC_FCVT
234 bool "Functions for converting floating-point numbers to strings"
236 depends EGLIBC_VERSION_2_10 || EGLIBC_VERSION_2_11 || EGLIBC_VERSION_2_12
238 This option group includes functions for converting
239 floating-point numbers to strings.
241 This option group includes the following functions:
250 config EGLIBC_OPTION_EGLIBC_FMTMSG
251 bool "Functions for formatting messages"
253 depends EGLIBC_VERSION_2_10 || EGLIBC_VERSION_2_11 || EGLIBC_VERSION_2_12
255 This option group includes the following functions:
260 config EGLIBC_OPTION_EGLIBC_FSTAB
261 bool "Access functions for 'fstab'"
264 This option group includes functions for reading the mount
265 point specification table, '/etc/fstab'. These functions are
266 not included in the POSIX standard, which provides the
267 'getmntent' family of functions instead.
269 This option group includes the following functions:
276 config EGLIBC_OPTION_EGLIBC_FTRAVERSE
277 bool "Functions for traversing file hierarchies"
279 depends EGLIBC_VERSION_2_10 || EGLIBC_VERSION_2_11 || EGLIBC_VERSION_2_12
281 This option group includes functions for traversing file
282 UNIX file hierachies.
284 This option group includes the following functions:
293 config EGLIBC_OPTION_EGLIBC_GETLOGIN
294 bool "The getlogin function"
296 select EGLIBC_OPTION_EGLIBC_UTMP
298 This function group includes the 'getlogin' and 'getlogin_r'
299 functions, which return the user name associated by the login
300 activity with the current process's controlling terminal.
302 With this option group disabled, the 'glob' function will not
303 fall back on 'getlogin' to find the user's login name for tilde
304 expansion when the 'HOME' environment variable is not set.
307 config EGLIBC_OPTION_EGLIBC_IDN
308 bool "International domain names support"
310 depends EGLIBC_VERSION_2_12
312 This option group includes the `libcidn' library which
313 provides support for international domain names.
316 config EGLIBC_OPTION_EGLIBC_INET
317 bool "Networking support"
320 This option group includes networking-specific functions and
321 data. With EGLIBC_OPTION_EGLIBC_INET disabled, the EGLIBC
322 installation and API changes as follows:
324 - The following libraries are not installed:
335 - The following functions and variables are omitted from libc:
337 authdes_create hstrerror svc_fdset
338 authdes_getucred htonl svc_getreq
339 authdes_pk_create htons svc_getreq_common
340 authnone_create if_freenameindex svc_getreq_poll
341 authunix_create if_indextoname svc_getreqset
342 authunix_create_default if_nameindex svc_max_pollfd
343 bindresvport if_nametoindex svc_pollfd
344 callrpc in6addr_any svcraw_create
345 cbc_crypt in6addr_loopback svc_register
346 clnt_broadcast inet6_opt_append svc_run
347 clnt_create inet6_opt_find svc_sendreply
348 clnt_pcreateerror inet6_opt_finish svctcp_create
349 clnt_perrno inet6_opt_get_val svcudp_bufcreate
350 clnt_perror inet6_opt_init svcudp_create
351 clntraw_create inet6_option_alloc svcudp_enablecache
352 clnt_spcreateerror inet6_option_append svcunix_create
353 clnt_sperrno inet6_option_find svcunixfd_create
354 clnt_sperror inet6_option_init svc_unregister
355 clnttcp_create inet6_option_next user2netname
356 clntudp_bufcreate inet6_option_space xdecrypt
357 clntudp_create inet6_opt_next xdr_accepted_reply
358 clntunix_create inet6_opt_set_val xdr_array
359 des_setparity inet6_rth_add xdr_authdes_cred
360 ecb_crypt inet6_rth_getaddr xdr_authdes_verf
361 endaliasent inet6_rth_init xdr_authunix_parms
362 endhostent inet6_rth_reverse xdr_bool
363 endnetent inet6_rth_segments xdr_bytes
364 endnetgrent inet6_rth_space xdr_callhdr
365 endprotoent inet_addr xdr_callmsg
366 endrpcent inet_aton xdr_char
367 endservent inet_lnaof xdr_cryptkeyarg
368 ether_aton inet_makeaddr xdr_cryptkeyarg2
369 ether_aton_r inet_netof xdr_cryptkeyres
370 ether_hostton inet_network xdr_des_block
371 ether_line inet_nsap_addr xdr_double
372 ether_ntoa inet_nsap_ntoa xdr_enum
373 ether_ntoa_r inet_ntoa xdr_float
374 ether_ntohost inet_ntop xdr_free
375 freeaddrinfo inet_pton xdr_getcredres
376 freeifaddrs innetgr xdr_hyper
377 gai_strerror iruserok xdr_int
378 getaddrinfo iruserok_af xdr_int16_t
379 getaliasbyname key_decryptsession xdr_int32_t
380 getaliasbyname_r key_decryptsession_pk xdr_int64_t
381 getaliasent key_encryptsession xdr_int8_t
382 getaliasent_r key_encryptsession_pk xdr_keybuf
383 gethostbyaddr key_gendes xdr_key_netstarg
384 gethostbyaddr_r key_get_conv xdr_key_netstres
385 gethostbyname key_secretkey_is_set xdr_keystatus
386 gethostbyname2 key_setnet xdr_long
387 gethostbyname2_r key_setsecret xdr_longlong_t
388 gethostbyname_r netname2host xdrmem_create
389 gethostent netname2user xdr_netnamestr
390 gethostent_r ntohl xdr_netobj
391 getifaddrs ntohs xdr_opaque
392 getipv4sourcefilter passwd2des xdr_opaque_auth
393 get_myaddress pmap_getmaps xdr_pmap
394 getnameinfo pmap_getport xdr_pmaplist
395 getnetbyaddr pmap_rmtcall xdr_pointer
396 getnetbyaddr_r pmap_set xdr_quad_t
397 getnetbyname pmap_unset xdrrec_create
398 getnetbyname_r rcmd xdrrec_endofrecord
399 getnetent rcmd_af xdrrec_eof
400 getnetent_r registerrpc xdrrec_skiprecord
401 getnetgrent res_init xdr_reference
402 getnetgrent_r rexec xdr_rejected_reply
403 getnetname rexec_af xdr_replymsg
404 getprotobyname rexecoptions xdr_rmtcall_args
405 getprotobyname_r rpc_createerr xdr_rmtcallres
406 getprotobynumber rresvport xdr_short
407 getprotobynumber_r rresvport_af xdr_sizeof
408 getprotoent rtime xdrstdio_create
409 getprotoent_r ruserok xdr_string
410 getpublickey ruserok_af xdr_u_char
411 getrpcbyname ruserpass xdr_u_hyper
412 getrpcbyname_r setaliasent xdr_u_int
413 getrpcbynumber sethostent xdr_uint16_t
414 getrpcbynumber_r setipv4sourcefilter xdr_uint32_t
415 getrpcent setnetent xdr_uint64_t
416 getrpcent_r setnetgrent xdr_uint8_t
417 getrpcport setprotoent xdr_u_long
418 getsecretkey setrpcent xdr_u_longlong_t
419 getservbyname setservent xdr_union
420 getservbyname_r setsourcefilter xdr_unixcred
421 getservbyport svcauthdes_stats xdr_u_quad_t
422 getservbyport_r svcerr_auth xdr_u_short
423 getservent svcerr_decode xdr_vector
424 getservent_r svcerr_noproc xdr_void
425 getsourcefilter svcerr_noprog xdr_wrapstring
426 h_errlist svcerr_progvers xencrypt
427 h_errno svcerr_systemerr xprt_register
428 herror svcerr_weakauth xprt_unregister
430 host2netname svcfd_create
432 - The rpcgen, nscd, and rpcinfo commands are not installed.
434 - The 'rpc' file (a text file listing RPC services) is not installed.
436 Socket-related system calls do not fall in this option group,
437 because many are also used for other inter-process
438 communication mechanisms. For example, the 'syslog' routines
439 use Unix-domain sockets to communicate with the syslog daemon;
440 syslog is valuable in non-networked contexts.
443 config EGLIBC_OPTION_EGLIBC_INET_ANL
444 bool "Asynchronous name lookup"
446 depends EGLIBC_VERSION_2_12
447 select OPTION_EGLIBC_INET
449 This option group includes the `libanl' library which
450 provides support for asynchronous name lookup.
453 config EGLIBC_OPTION_EGLIBC_LIBM
454 bool "libm (math library)"
457 This option group includes the 'libm' library, containing
458 mathematical functions. If this option group is omitted, then
459 an EGLIBC installation does not include shared or unshared versions
462 Note that this does not remove all floating-point related
463 functionality from EGLIBC; for example, 'printf' and 'scanf'
464 can still print and read floating-point values with this option
467 Note that the ISO Standard C++ library 'libstdc++' depends on
468 EGLIBC's math library 'libm'. If you disable this option
469 group, you will not be able to build 'libstdc++' against the
470 resulting EGLIBC installation.
473 config EGLIBC_OPTION_EGLIBC_LIBM_BIG
474 bool "Math library size"
476 depends EGLIBC_VERSION_2_12
478 This option group enables default configuration of the math library.
479 Not selecting this option group removes most of the extended and
480 double precision math functions and replaces them with wrappers
481 to the single precision couterparts.
482 Doing so greatly degrades quality of calculations carried
483 out by the functions of the math library, but also significantly
484 reduces the size of the libm.
485 This option group is useful for systems that do not rely on precise
489 config EGLIBC_OPTION_EGLIBC_LOCALES
490 bool "Locale definitions"
493 This option group includes all locale definitions other than
494 that for the "C" locale. If this option group is omitted, then
495 only the "C" locale is supported.
498 config EGLIBC_OPTION_EGLIBC_LOCALE_CODE
499 bool "Locale functions"
501 select EGLIBC_OPTION_POSIX_C_LANG_WIDE_CHAR if EGLIBC_VERSION_2_8 || EGLIBC_VERSION_2_9 || EGLIBC_VERSION_2_10 || EGLIBC_VERSION_2_11 || EGLIBC_VERSION_2_12
503 This option group includes locale support functions, programs,
504 and libraries. With EGLIBC_OPTION_EGLIBC_LOCALE_CODE disabled,
505 EGLIBC supports only the 'C' locale (also known as 'POSIX'),
506 and ignores the settings of the 'LANG' and 'LC_*' environment
509 With EGLIBC_OPTION_EGLIBC_LOCALE_CODE disabled, the following
510 functions are omitted from libc:
512 duplocale localeconv nl_langinfo rpmatch strfmon_l
513 freelocale newlocale nl_langinfo_l strfmon uselocale
515 Furthermore, only the LC_CTYPE and LC_TIME categories of the
516 standard "C" locale are available.
518 The EGLIBC_OPTION_EGLIBC_CATGETS option group depends on this option
519 group; if you disable EGLIBC_OPTION_EGLIBC_LOCALE_CODE, you must also
520 disable EGLIBC_OPTION_EGLIBC_CATGETS.
523 config EGLIBC_OPTION_EGLIBC_MEMUSAGE
524 bool "Memory profiling library"
526 depends EGLIBC_VERSION_2_11 || EGLIBC_VERSION_2_12
528 This option group includes the `libmemusage' library and
529 the `memusage' and `memusagestat' utilities.
530 These components provide memory profiling functions.
532 EGLIBC_OPTION_EGLIBC_MEMUSAGE_DEFAULT_BUFFER_SIZE
534 Libmemusage library buffers the profiling data in memory
535 before writing it out to disk. By default, the library
536 allocates 1.5M buffer, which can be substantial for some
537 systems. EGLIBC_OPTION_EGLIBC_MEMUSAGE_DEFAULT_BUFFER_SIZE option
538 allows to change the default buffer size. It specifies
539 the number of entries the buffer should have.
540 On most architectures one buffer entry amounts to 48 bytes,
541 so setting this option to the value of 512 will reduce the size of
542 the memory buffer to 24K.
545 config EGLIBC_OPTION_EGLIBC_NIS
546 bool "Support for NIS, NIS+, and the special 'compat' services."
548 select EGLIBC_OPTION_EGLIBC_INET
549 select EGLIBC_OPTION_EGLIBC_SUNRPC
551 This option group includes the NIS, NIS+, and 'compat' Name
552 Service Switch service libraries. When it is disabled, those
553 services libraries are not installed; you should remove any
554 references to them from your 'nsswitch.conf' file.
556 This option group depends on the EGLIBC_OPTION_EGLIBC_INET option
557 group; you must enable that to enable this option group.
560 config EGLIBC_OPTION_EGLIBC_NSSWITCH
561 bool "Name service switch (nsswitch) support"
563 select EGLIBC_OPTION_EGLIBC_INET
566 This option group includes support for the 'nsswitch' facility.
567 With this option group enabled, all EGLIBC functions for
568 accessing various system databases (passwords and groups;
569 networking; aliases; public keys; and so on) consult the
570 '/etc/nsswitch.conf' configuration file to decide how to handle
573 With this option group disabled, EGLIBC uses a fixed list of
574 services to satisfy queries on each database, as requested by
575 configuration files specified when EGLIBC is built. Your
576 'option-groups.config' file must set the following two
579 EGLIBC_OPTION_EGLIBC_NSSWITCH_FIXED_CONFIG
581 Set this to the name of a file whose contents observe the
582 same syntax as an ordinary '/etc/nsswitch.conf' file. The
583 EGLIBC build process parses this file just as EGLIBC would
584 at run time if EGLIBC_NSSWITCH were enabled, and
585 produces a C library that uses the nsswitch service
586 libraries to search for database entries as this file
587 specifies, instead of consulting '/etc/nsswitch.conf' at run
590 This should be an absolute filename. The EGLIBC build
591 process may use it from several different working
592 directories. It may include references to Makefile
593 variables like 'common-objpfx' (the top of the build tree,
594 with a trailing slash), or '..' (the top of the source tree,
595 with a trailing slash).
597 The EGLIBC source tree includes a sample configuration file
598 named 'nss/fixed-nsswitch.conf'; for simple configurations,
599 you will probably want to delete references to databases not
600 needed on your system.
602 EGLIBC_OPTION_EGLIBC_NSSWITCH_FIXED_FUNCTIONS
604 The EGLIBC build process uses this file to decide which
605 functions to make available from which service libraries.
606 The file 'nss/fixed-nsswitch.functions' serves as a sample
607 configuration file for this setting, and explains its syntax
608 and meaning in more detail.
610 This should be an absolute file name. The EGLIBC build
611 process may use it from several different working
612 directories. It may include references to Makefile
613 variables like 'common-objpfx' (the top of the build tree,
614 with a trailing slash), or '..' (the top of the source tree,
615 with a trailing slash).
617 Be sure to mention each function in each service you wish to
618 use. If you do not mention a service's function here, the
619 EGLIBC database access functions will not find it, even if
620 it is listed in the EGLIBC_OPTION_EGLIBC_NSSWITCH_FIXED_CONFIG
623 In this arrangement, EGLIBC will not use the 'dlopen' and
624 'dlsym' functions to find database access functions. Instead,
625 libc hard-codes references to the service libraries' database
626 access functions. You must explicitly link your program
627 against the name service libraries (those whose names start
628 with 'libnss_', in the sysroot's '/lib' directory) whose
629 functions you intend to use. This arrangement helps
630 system-wide static analysis tools decide which functions a
631 system actually uses.
633 Note that some nsswitch service libraries require other option
634 groups to be enabled; for example, the EGLIBC_OPTION_EGLIBC_INET
635 option group must be enabled to use the 'libnss_dns.so.2'
636 service library, which uses the Domain Name System network
637 protocol to answer queries.
640 config EGLIBC_OPTION_EGLIBC_RCMD
641 bool "Support for 'rcmd' and related library functions"
643 select EGLIBC_OPTION_EGLIBC_INET
645 This option group includes functions for running commands on
646 remote machines via the 'rsh' protocol, and doing authentication
647 related to those functions. This also includes functions that
648 use the 'rexec' protocol.
650 This option group includes the following functions:
660 config EGLIBC_OPTION_EGLIBC_RTLD_DEBUG
661 bool "Runtime linker debug print outs"
663 depends EGLIBC_VERSION_2_12
665 This option group enables debug output of the runtime linker
666 which is activated via LD_DEBUG and LD_TRACE_PRELINKING
667 environment variables. Disabling this option group yields
668 a smaller runtime linker binary.
669 BEWARE: Disabling this option group is likely to break
670 the `ldd' utility which may also be used by the prelinker.
671 In particular, the `--unused' ldd option will not work correctly.
674 config EGLIBC_OPTION_EGLIBC_SPAWN
675 bool "Support for POSIX posix_spawn functions"
678 This option group includes the POSIX functions for executing
679 programs in child processes without using 'fork' or 'vfork'.
681 This option group includes the following functions:
684 posix_spawnattr_destroy
685 posix_spawnattr_getflags
686 posix_spawnattr_getpgroup
687 posix_spawnattr_getschedparam
688 posix_spawnattr_getschedpolicy
689 posix_spawnattr_getsigdefault
690 posix_spawnattr_getsigmask
692 posix_spawnattr_setflags
693 posix_spawnattr_setpgroup
694 posix_spawnattr_setschedparam
695 posix_spawnattr_setschedpolicy
696 posix_spawnattr_setsigdefault
697 posix_spawnattr_setsigmask
698 posix_spawn_file_actions_addclose
699 posix_spawn_file_actions_adddup2
700 posix_spawn_file_actions_addopen
701 posix_spawn_file_actions_destroy
702 posix_spawn_file_actions_init
705 This option group also provides the ability for the iconv,
706 localedef, and locale programs to operate transparently on
707 compressed charset definitions. When this option group is
708 disabled, those programs will only operate on uncompressed
712 config EGLIBC_OPTION_EGLIBC_STREAMS
713 bool "Support for accessing STREAMS."
716 This option group includes functions for reading and writing
717 messages to and from STREAMS. The STREAMS interface provides a
718 uniform mechanism for implementing networking services and other
719 character-based I/O. (STREAMS are not to be confused with
720 <stdio.h> FILE objects, also called 'streams'.)
722 This option group includes the following functions:
730 config EGLIBC_OPTION_EGLIBC_SUNRPC
731 bool "Support for the Sun 'RPC' protocol."
733 select EGLIBC_OPTION_EGLIBC_INET
735 This option group includes support for the Sun RPC protocols,
736 including the 'rpcgen' and 'rpcinfo' programs.
739 config EGLIBC_OPTION_EGLIBC_UTMP
740 bool "Older access functions for 'utmp' login records"
743 This option group includes the older 'utent' family of
744 functions for accessing user login records in the 'utmp' file.
745 POSIX omits these functions in favor of the 'utxent' family,
746 and they are obsolete on systems other than Linux.
748 This option group includes the following functions:
763 This option group includes the following libraries:
765 libutil.so (and libutil.a)
768 config EGLIBC_OPTION_EGLIBC_UTMPX
769 bool "POSIX access functions for 'utmp' login records"
771 select EGLIBC_OPTION_EGLIBC_UTMP
773 This option group includes the POSIX functions for reading and
774 writing user login records in the 'utmp' file (usually
775 '/var/run/utmp'). The POSIX functions operate on 'struct
776 utmpx' structures, as opposed to the family of older 'utent'
777 functions, which operate on 'struct utmp' structures.
779 This option group includes the following functions:
793 config EGLIBC_OPTION_EGLIBC_WORDEXP
794 bool "Shell-style word expansion"
797 This option group includes the 'wordexp' function for
798 performing word expansion in the manner of the shell, and the
799 accompanying 'wordfree' function.
802 config EGLIBC_OPTION_POSIX_C_LANG_WIDE_CHAR
803 bool "ISO C library wide character functions, excluding I/O"
805 depends EGLIBC_VERSION_2_8 || EGLIBC_VERSION_2_9 || EGLIBC_VERSION_2_10 || EGLIBC_VERSION_2_11 || EGLIBC_VERSION_2_12
807 This option group includes the functions defined by the ISO C
808 standard for working with wide and multibyte characters in
809 memory. Functions for reading and writing wide and multibyte
810 characters from and to files call in the
811 EGLIBC_OPTION_POSIX_WIDE_CHAR_DEVICE_IO option group.
813 This option group includes the following functions:
815 btowc mbsinit wcscspn wcstoll
816 iswalnum mbsrtowcs wcsftime wcstombs
817 iswalpha mbstowcs wcslen wcstoul
818 iswblank mbtowc wcsncat wcstoull
819 iswcntrl swprintf wcsncmp wcstoumax
820 iswctype swscanf wcsncpy wcsxfrm
821 iswdigit towctrans wcspbrk wctob
822 iswgraph towlower wcsrchr wctomb
823 iswlower towupper wcsrtombs wctrans
824 iswprint vswprintf wcsspn wctype
825 iswpunct vswscanf wcsstr wmemchr
826 iswspace wcrtomb wcstod wmemcmp
827 iswupper wcscat wcstof wmemcpy
828 iswxdigit wcschr wcstoimax wmemmove
829 mblen wcscmp wcstok wmemset
830 mbrlen wcscoll wcstol
831 mbrtowc wcscpy wcstold
834 config EGLIBC_OPTION_POSIX_REGEXP
835 bool "Regular expressions"
838 This option group includes the POSIX regular expression
839 functions, and the associated non-POSIX extensions and
840 compatibility functions.
842 With EGLIBC_OPTION_POSIX_REGEXP disabled, the following functions are
845 re_comp re_max_failures regcomp
846 re_compile_fastmap re_search regerror
847 re_compile_pattern re_search_2 regexec
848 re_exec re_set_registers regfree
849 re_match re_set_syntax rpmatch
850 re_match_2 re_syntax_options
852 Furthermore, the compatibility regexp interface defined in the
853 <regexp.h> header file, 'compile', 'step', and 'advance', is
857 config EGLIBC_OPTION_POSIX_REGEXP_GLIBC
858 bool "Regular expressions from GLIBC"
860 depends EGLIBC_VERSION_2_10 || EGLIBC_VERSION_2_11 || EGLIBC_VERSION_2_12
861 select EGLIBC_OPTION_POSIX_REGEXP
863 This option group specifies which regular expression
864 library to use. The choice is between regex
865 implementation from GLIBC and regex implementation from
866 libiberty. The GLIBC variant is fully POSIX conformant and
867 optimized for speed; regex from libiberty is more than twice
868 as small while still is enough for most practical purposes.
871 config EGLIBC_OPTION_POSIX_WIDE_CHAR_DEVICE_IO
872 bool "Input and output functions for wide characters"
874 select EGLIBC_OPTION_POSIX_C_LANG_WIDE_CHAR if EGLIBC_VERSION_2_8 || EGLIBC_VERSION_2_9 || EGLIBC_VERSION_2_10 || EGLIBC_VERSION_2_11 || EGLIBC_VERSION_2_12
876 This option group includes functions for reading and writing
877 wide characters to and from <stdio.h> streams.
879 This option group includes the following functions:
881 fgetwc fwprintf putwchar vwscanf
882 fgetws fwscanf ungetwc wprintf
883 fputwc getwc vfwprintf wscanf
884 fputws getwchar vfwscanf
887 This option group further includes the following unlocked
888 variants of the above functions:
890 fgetwc_unlocked getwc_unlocked
891 fgetws_unlocked getwchar_unlocked
892 fputwc_unlocked putwc_unlocked
893 fputws_unlocked putwchar_unlocked
895 Note that the GNU standard C++ library, 'libstdc++.so', uses
896 some of these functions; you will not be able to link or run
897 C++ programs if you disable this option group.
899 This option group also affects the behavior of the following
908 These functions all take an OPENTYPE parameter which may
909 contain a string of the form ",ccs=CHARSET", indicating that
910 the underlying file uses the character set named CHARSET.
911 This produces a wide-oriented stream, which is only useful
912 when the functions included in this option group are present.
913 If the user attempts to open a file specifying a character set
914 in the OPENTYPE parameter, and EGLIBC was built with this
915 option group disabled, the function returns NULL, and sets