chiark / gitweb /
eglibc (2.11.3-4+deb6u3) squeeze-lts; urgency=medium
[eglibc.git] / option-groups.def
1 # This file documents the option groups EGLIBC currently supports, in
2 # a format akin to the Linux Kconfig system's.  The syntax may change
3 # over time.
4 #
5 # An entry of the form:
6 #
7 #   config OPTION_GROUP_NAME
8 #       bool "one-line explanation of what this option group controls"
9 #       help
10 #           Multi-line help explaining the option group's meaning in
11 #           some detail, terminated by indentation level.
12 #
13 # defines an option group whose variable is OPTION_GROUP_NAME, with
14 # meaningful values 'y' (enabled) and 'n' (disabled).  The
15 # documentation is formatted to be consumed by some sort of
16 # interactive configuration interface, but EGLIBC doesn't have such an
17 # interface yet.
18 #
19 # An option may have a 'depends' line, indicating which other options
20 # must also be enabled if this option is.  At present, EGLIBC doesn't
21 # check that these dependencies are satisfied.
22
23 # Option group variables get their default values from the file
24 # 'option-groups.defaults', in the top directory of the EGLIBC source
25 # tree.  By default, all EGLIBC option groups are enabled --- their
26 # variables are set to 'y'.
27 #
28 # After including 'option-groups.defaults', the EGLIBC make machinery
29 # includes the file 'option-groups.config' from the top of the build
30 # tree, if it is present.  Developers can place assignments to option
31 # group variables in that file to override the defaults.  For example,
32 # to disable an option group, place a line of the form:
33 #
34 #    OPTION_GROUP_NAME = n
35 #
36 # in 'option-groups.config' at the top of your build tree.  To
37 # explicitly enable an option group, you may also write:
38 #
39 #    OPTION_GROUP_NAME = y
40
41 # although this simply reestablishes the value already set by
42 # 'option-groups.defaults'.
43
44 config OPTION_EGLIBC_ADVANCED_INET6
45    bool "IPv6 Advanced Sockets API support (RFC3542)"
46    depends OPTION_EGLIBC_INET
47    help
48        This option group includes the functions specified by RFC 3542,
49        "Advanced Sockets Application Program Interface (API) for
50        IPv6".
51
52        This option group includes the following functions:
53
54          inet6_opt_append
55          inet6_opt_find
56          inet6_opt_finish
57          inet6_opt_get_val
58          inet6_opt_init
59          inet6_option_alloc
60          inet6_option_append
61          inet6_option_find
62          inet6_option_init
63          inet6_option_next
64          inet6_option_space
65          inet6_opt_next
66          inet6_opt_set_val
67          inet6_rth_add
68          inet6_rth_getaddr
69          inet6_rth_init
70          inet6_rth_reverse
71          inet6_rth_segments
72          inet6_rth_space
73
74 config OPTION_EGLIBC_BACKTRACE
75    bool "Functions for producing backtraces"
76    help
77        This option group includes functions for producing a list of
78        the function calls that are currently active in a thread, from
79        within the thread itself.  These functions are often used
80        within signal handlers, to produce diagnostic output.
81
82        This option group includes the following functions:
83
84          backtrace
85          backtrace_symbols
86          backtrace_symbols_fd
87
88 config OPTION_EGLIBC_BIG_MACROS
89    bool "Use extensive inline code"
90    help
91        This option group specifies whether certain pieces of code
92        should be inlined to achieve maximum speed.  If this option
93        group is not selected, function calls will be used instead,
94        hence reducing the library footprint.
95
96 config OPTION_EGLIBC_BSD
97    bool "BSD-specific functions, and their compatibility stubs"
98    help
99        This option group includes functions specific to BSD kernels.
100        A number of these functions have stub versions that are also
101        included in libraries built for non-BSD systems for
102        compatibility.
103
104        This option group includes the following functions:
105
106          chflags
107          fchflags
108          lchmod
109          revoke
110          setlogin
111
112 config OPTION_EGLIBC_CXX_TESTS
113    bool "Tests that link against the standard C++ library."
114    depends OPTION_POSIX_WIDE_CHAR_DEVICE_IO
115    depends OPTION_EGLIBC_LIBM
116    help
117        This option group does not include any C library functions;
118        instead, it controls which EGLIBC tests an ordinary 'make
119        tests' runs.  With this group disabled, tests that would
120        normally link against the standard C++ library are not
121        run.
122
123        The standard C++ library depends on the math library 'libm' and
124        the wide character I/O functions included in EGLIBC.  If those
125        option groups are disabled, this test must also be disabled.
126
127 config OPTION_EGLIBC_CATGETS
128    bool "Functions for accessing message catalogs"
129    depends OPTION_EGLIBC_LOCALE_CODE
130    help
131        This option group includes functions for accessing message
132        catalogs: catopen, catclose, and catgets.
133
134        This option group depends on the OPTION_EGLIBC_LOCALE_CODE
135        option group; if you disable that, you must also disable this.
136
137 config OPTION_EGLIBC_CHARSETS
138    bool "iconv/gconv character set conversion libraries"
139    help
140
141        This option group includes support for character sets other
142        than ASCII (ANSI_X3.4-1968) and Unicode and ISO-10646 in their
143        various encodings.  This affects both the character sets
144        supported by the wide and multibyte character functions, and
145        those supported by the 'iconv' functions.
146
147        With this option group disabled, EGLIBC supports only the
148        following character sets:
149
150           ANSI_X3.4         - ASCII
151           ANSI_X3.4-1968
152           ANSI_X3.4-1986
153           ASCII
154           CP367
155           CSASCII
156           IBM367
157           ISO-IR-6
158           ISO646-US
159           ISO_646.IRV:1991
160           OSF00010020
161           US
162           US-ASCII
163
164           10646-1:1993      - ISO 10646, in big-endian UCS4 form
165           10646-1:1993/UCS4
166           CSUCS4
167           ISO-10646
168           ISO-10646/UCS4
169           OSF00010104
170           OSF00010105
171           OSF00010106
172           UCS-4
173           UCS-4BE
174           UCS4
175
176           UCS-4LE           - ISO 10646, in little-endian UCS4 form
177
178           ISO-10646/UTF-8   - ISO 10646, in UTF-8 form
179           ISO-10646/UTF8
180           ISO-IR-193
181           OSF05010001
182           UTF-8
183           UTF8
184
185           ISO-10646/UCS2    - ISO 10646, in target-endian UCS2 form
186           OSF00010100
187           OSF00010101
188           OSF00010102
189           UCS-2
190           UCS2
191
192           UCS-2BE           - ISO 10646, in big-endian UCS2 form
193           UNICODEBIG
194
195           UCS-2LE           - ISO 10646, in little-endian UCS2 form
196           UNICODELITTLE
197
198           WCHAR_T           - EGLIBC's internal form (target-endian,
199                               32-bit ISO 10646)
200
201 config OPTION_EGLIBC_DB_ALIASES
202    bool "Functions for accessing the mail aliases database"
203    help
204        This option group includues functions for looking up mail
205        aliases in '/etc/aliases' or using nsswitch.  It includes the
206        following functions:
207
208          endaliasent
209          getaliasbyname
210          getaliasbyname_r
211          getaliasent
212          getaliasent_r
213          setaliasent
214
215        When this option group is disabled, the NSS service libraries
216        also lack support for querying their mail alias tables.
217
218 config OPTION_EGLIBC_ENVZ
219    bool "Functions for handling envz-style environment vectors."
220    help
221        This option group contains functions for creating and operating
222        on envz vectors.  An "envz vector" is a vector of strings in a
223        contiguous block of memory, where each element is a name-value
224        pair, and elements are separated from their neighbors by null
225        characters.
226
227        This option group includes the following functions:
228
229         envz_add        envz_merge 
230         envz_entry      envz_remove
231         envz_get        envz_strip 
232
233 config OPTION_EGLIBC_FCVT
234    bool "Functions for converting floating-point numbers to strings"
235    help
236        This option group includes functions for converting
237        floating-point numbers to strings.
238
239        This option group includes the following functions:
240
241          ecvt           qecvt
242          ecvt_r         qecvt_r
243          fcvt           qfcvt
244          fcvt_r         qfcvt_r
245          gcvt           qgcvt
246
247 config OPTION_EGLIBC_FMTMSG
248    bool "Functions for formatting messages"
249    help
250        This option group includes the following functions:
251
252          addseverity    fmtmsg
253
254 config OPTION_EGLIBC_FSTAB
255    bool "Access functions for 'fstab'"
256    help
257        This option group includes functions for reading the mount
258        point specification table, '/etc/fstab'.  These functions are
259        not included in the POSIX standard, which provides the
260        'getmntent' family of functions instead.
261
262        This option group includes the following functions:
263
264          endfsent       getfsspec
265          getfsent       setfsent
266          getfsfile
267
268 config OPTION_EGLIBC_FTRAVERSE
269    bool "Functions for traversing file hierarchies"
270    help
271        This option group includes functions for traversing file
272        UNIX file hierachies.
273
274        This option group includes the following functions:
275
276          fts_open       ftw
277          fts_read       nftw
278          fts_children   ftw64
279          fts_set        nftw64
280          fts_close
281
282 config OPTION_EGLIBC_GETLOGIN
283    bool "The getlogin function"
284    depends OPTION_EGLIBC_UTMP
285    help
286        This function group includes the 'getlogin' and 'getlogin_r'
287        functions, which return the user name associated by the login
288        activity with the current process's controlling terminal.
289
290        With this option group disabled, the 'glob' function will not
291        fall back on 'getlogin' to find the user's login name for tilde
292        expansion when the 'HOME' environment variable is not set.
293
294 config OPTION_EGLIBC_INET
295    bool "Networking support"
296    help
297        This option group includes networking-specific functions and
298        data.  With OPTION_EGLIBC_INET disabled, the EGLIBC
299        installation and API changes as follows:
300
301        - The following libraries are not installed:
302
303          libanl
304          libnsl
305          libnss_compat
306          libnss_dns
307          libnss_hesiod
308          libnss_nis
309          libnss_nisplus
310          libresolv
311          
312        - The following functions and variables are omitted from libc:
313
314          authdes_create           hstrerror              svc_fdset
315          authdes_getucred         htonl                  svc_getreq
316          authdes_pk_create        htons                  svc_getreq_common
317          authnone_create          if_freenameindex       svc_getreq_poll
318          authunix_create          if_indextoname         svc_getreqset
319          authunix_create_default  if_nameindex           svc_max_pollfd
320          bindresvport             if_nametoindex         svc_pollfd
321          callrpc                  in6addr_any            svcraw_create
322          cbc_crypt                in6addr_loopback       svc_register
323          clnt_broadcast           inet6_opt_append       svc_run
324          clnt_create              inet6_opt_find         svc_sendreply
325          clnt_pcreateerror        inet6_opt_finish       svctcp_create
326          clnt_perrno              inet6_opt_get_val      svcudp_bufcreate
327          clnt_perror              inet6_opt_init         svcudp_create
328          clntraw_create           inet6_option_alloc     svcudp_enablecache
329          clnt_spcreateerror       inet6_option_append    svcunix_create
330          clnt_sperrno             inet6_option_find      svcunixfd_create
331          clnt_sperror             inet6_option_init      svc_unregister
332          clnttcp_create           inet6_option_next      user2netname
333          clntudp_bufcreate        inet6_option_space     xdecrypt
334          clntudp_create           inet6_opt_next         xdr_accepted_reply
335          clntunix_create          inet6_opt_set_val      xdr_array
336          des_setparity            inet6_rth_add          xdr_authdes_cred
337          ecb_crypt                inet6_rth_getaddr      xdr_authdes_verf
338          endaliasent              inet6_rth_init         xdr_authunix_parms
339          endhostent               inet6_rth_reverse      xdr_bool
340          endnetent                inet6_rth_segments     xdr_bytes
341          endnetgrent              inet6_rth_space        xdr_callhdr
342          endprotoent              inet_addr              xdr_callmsg
343          endrpcent                inet_aton              xdr_char
344          endservent               inet_lnaof             xdr_cryptkeyarg
345          ether_aton               inet_makeaddr          xdr_cryptkeyarg2
346          ether_aton_r             inet_netof             xdr_cryptkeyres
347          ether_hostton            inet_network           xdr_des_block
348          ether_line               inet_nsap_addr         xdr_double
349          ether_ntoa               inet_nsap_ntoa         xdr_enum
350          ether_ntoa_r             inet_ntoa              xdr_float
351          ether_ntohost            inet_ntop              xdr_free
352          freeaddrinfo             inet_pton              xdr_getcredres
353          freeifaddrs              innetgr                xdr_hyper
354          gai_strerror             iruserok               xdr_int
355          getaddrinfo              iruserok_af            xdr_int16_t
356          getaliasbyname           key_decryptsession     xdr_int32_t
357          getaliasbyname_r         key_decryptsession_pk  xdr_int64_t
358          getaliasent              key_encryptsession     xdr_int8_t
359          getaliasent_r            key_encryptsession_pk  xdr_keybuf
360          gethostbyaddr            key_gendes             xdr_key_netstarg
361          gethostbyaddr_r          key_get_conv           xdr_key_netstres
362          gethostbyname            key_secretkey_is_set   xdr_keystatus
363          gethostbyname2           key_setnet             xdr_long
364          gethostbyname2_r         key_setsecret          xdr_longlong_t
365          gethostbyname_r          netname2host           xdrmem_create
366          gethostent               netname2user           xdr_netnamestr
367          gethostent_r             ntohl                  xdr_netobj
368          getifaddrs               ntohs                  xdr_opaque
369          getipv4sourcefilter      passwd2des             xdr_opaque_auth
370          get_myaddress            pmap_getmaps           xdr_pmap
371          getnameinfo              pmap_getport           xdr_pmaplist
372          getnetbyaddr             pmap_rmtcall           xdr_pointer
373          getnetbyaddr_r           pmap_set               xdr_quad_t
374          getnetbyname             pmap_unset             xdrrec_create
375          getnetbyname_r           rcmd                   xdrrec_endofrecord
376          getnetent                rcmd_af                xdrrec_eof
377          getnetent_r              registerrpc            xdrrec_skiprecord
378          getnetgrent              res_init               xdr_reference
379          getnetgrent_r            rexec                  xdr_rejected_reply
380          getnetname               rexec_af               xdr_replymsg
381          getprotobyname           rexecoptions           xdr_rmtcall_args
382          getprotobyname_r         rpc_createerr          xdr_rmtcallres
383          getprotobynumber         rresvport              xdr_short
384          getprotobynumber_r       rresvport_af           xdr_sizeof
385          getprotoent              rtime                  xdrstdio_create
386          getprotoent_r            ruserok                xdr_string
387          getpublickey             ruserok_af             xdr_u_char
388          getrpcbyname             ruserpass              xdr_u_hyper
389          getrpcbyname_r           setaliasent            xdr_u_int
390          getrpcbynumber           sethostent             xdr_uint16_t
391          getrpcbynumber_r         setipv4sourcefilter    xdr_uint32_t
392          getrpcent                setnetent              xdr_uint64_t
393          getrpcent_r              setnetgrent            xdr_uint8_t
394          getrpcport               setprotoent            xdr_u_long
395          getsecretkey             setrpcent              xdr_u_longlong_t
396          getservbyname            setservent             xdr_union
397          getservbyname_r          setsourcefilter        xdr_unixcred
398          getservbyport            svcauthdes_stats       xdr_u_quad_t
399          getservbyport_r          svcerr_auth            xdr_u_short
400          getservent               svcerr_decode          xdr_vector
401          getservent_r             svcerr_noproc          xdr_void
402          getsourcefilter          svcerr_noprog          xdr_wrapstring
403          h_errlist                svcerr_progvers        xencrypt
404          h_errno                  svcerr_systemerr       xprt_register
405          herror                   svcerr_weakauth        xprt_unregister
406          h_nerr                   svc_exit
407          host2netname             svcfd_create
408
409        - The rpcgen, nscd, and rpcinfo commands are not installed.
410
411        - The 'rpc' file (a text file listing RPC services) is not installed.
412
413        Socket-related system calls do not fall in this option group,
414        because many are also used for other inter-process
415        communication mechanisms.  For example, the 'syslog' routines
416        use Unix-domain sockets to communicate with the syslog daemon;
417        syslog is valuable in non-networked contexts.
418
419 config OPTION_EGLIBC_LIBM
420    bool "libm (math library)"
421    help
422        This option group includes the 'libm' library, containing
423        mathematical functions.  If this option group is omitted, then
424        an EGLIBC installation does not include shared or unshared versions
425        of the math library.
426
427        Note that this does not remove all floating-point related
428        functionality from EGLIBC; for example, 'printf' and 'scanf'
429        can still print and read floating-point values with this option
430        group disabled.
431
432        Note that the ISO Standard C++ library 'libstdc++' depends on
433        EGLIBC's math library 'libm'.  If you disable this option
434        group, you will not be able to build 'libstdc++' against the
435        resulting EGLIBC installation.
436
437 config OPTION_EGLIBC_LOCALES
438    bool "Locale definitions"
439    help
440        This option group includes all locale definitions other than
441        that for the "C" locale.  If this option group is omitted, then
442        only the "C" locale is supported.
443
444
445 config OPTION_EGLIBC_LOCALE_CODE
446    bool "Locale functions"
447    depends OPTION_POSIX_C_LANG_WIDE_CHAR
448    help
449        This option group includes locale support functions, programs,
450        and libraries.  With OPTION_EGLIBC_LOCALE_FUNCTIONS disabled,
451        EGLIBC supports only the 'C' locale (also known as 'POSIX'),
452        and ignores the settings of the 'LANG' and 'LC_*' environment
453        variables.
454
455        With OPTION_EGLIBC_LOCALE_CODE disabled, the following
456        functions are omitted from libc:
457
458          duplocale   localeconv  nl_langinfo    rpmatch  strfmon_l
459          freelocale  newlocale   nl_langinfo_l  strfmon  uselocale
460
461        Furthermore, only the LC_CTYPE and LC_TIME categories of the
462        standard "C" locale are available.
463
464        The OPTION_EGLIBC_CATGETS option group depends on this option
465        group; if you disable OPTION_EGLIBC_LOCALE_CODE, you must also
466        disable OPTION_EGLIBC_CATGETS.
467
468 config OPTION_EGLIBC_MEMUSAGE
469    bool "Memory profiling library"
470    help
471        This option group includes the `libmemusage' library and
472        the `memusage' and `memusagestat' utilities.
473        These components provide memory profiling functions.
474
475      OPTION_EGLIBC_MEMUSAGE_DEFAULT_BUFFER_SIZE
476
477        Libmemusage library buffers the profiling data in memory
478        before writing it out to disk.  By default, the library
479        allocates 1.5M buffer, which can be substantial for some
480        systems.  OPTION_EGLIBC_MEMUSAGE_DEFAULT_BUFFER_SIZE option
481        allows to change the default buffer size.  It specifies
482        the number of entries the buffer should have.
483        On most architectures one buffer entry amounts to 48 bytes,
484        so setting this option to the value of 512 will reduce the size of
485        the memory buffer to 24K.
486
487 config OPTION_EGLIBC_NIS
488    bool "Support for NIS, NIS+, and the special 'compat' services."
489    depends OPTION_EGLIBC_INET
490    depends OPTION_EGLIBC_SUNRPC
491    help
492        This option group includes the NIS, NIS+, and 'compat' Name
493        Service Switch service libraries.  When it is disabled, those
494        services libraries are not installed; you should remove any
495        references to them from your 'nsswitch.conf' file.
496
497        This option group depends on the OPTION_EGLIBC_INET option
498        group; you must enable that to enable this option group.
499
500 config OPTION_EGLIBC_NSSWITCH
501    bool "Name service switch (nsswitch) support"
502    help
503
504        This option group includes support for the 'nsswitch' facility.
505        With this option group enabled, all EGLIBC functions for
506        accessing various system databases (passwords and groups;
507        networking; aliases; public keys; and so on) consult the
508        '/etc/nsswitch.conf' configuration file to decide how to handle
509        queries.
510
511        With this option group disabled, EGLIBC uses a fixed list of
512        services to satisfy queries on each database, as requested by
513        configuration files specified when EGLIBC is built.  Your
514        'option-groups.config' file must set the following two
515        variables:
516
517        OPTION_EGLIBC_NSSWITCH_FIXED_CONFIG
518
519           Set this to the name of a file whose contents observe the
520           same syntax as an ordinary '/etc/nsswitch.conf' file.  The
521           EGLIBC build process parses this file just as EGLIBC would
522           at run time if OPTION_EGLIBC_NSSWITCH were enabled, and
523           produces a C library that uses the nsswitch service
524           libraries to search for database entries as this file
525           specifies, instead of consulting '/etc/nsswitch.conf' at run
526           time.
527
528           This should be an absolute filename.  The EGLIBC build
529           process may use it from several different working
530           directories.  It may include references to Makefile
531           variables like 'common-objpfx' (the top of the build tree,
532           with a trailing slash), or '..' (the top of the source tree,
533           with a trailing slash).
534
535           The EGLIBC source tree includes a sample configuration file
536           named 'nss/fixed-nsswitch.conf'; for simple configurations,
537           you will probably want to delete references to databases not
538           needed on your system.
539
540        OPTION_EGLIBC_NSSWITCH_FIXED_FUNCTIONS
541
542           The EGLIBC build process uses this file to decide which
543           functions to make available from which service libraries.
544           The file 'nss/fixed-nsswitch.functions' serves as a sample
545           configuration file for this setting, and explains its syntax
546           and meaning in more detail.
547
548           This should be an absolute file name.  The EGLIBC build
549           process may use it from several different working
550           directories.  It may include references to Makefile
551           variables like 'common-objpfx' (the top of the build tree,
552           with a trailing slash), or '..' (the top of the source tree,
553           with a trailing slash).
554
555           Be sure to mention each function in each service you wish to
556           use.  If you do not mention a service's function here, the
557           EGLIBC database access functions will not find it, even if
558           it is listed in the OPTION_EGLIBC_NSSWITCH_FIXED_CONFIG
559           file.
560
561        In this arrangement, EGLIBC will not use the 'dlopen' and
562        'dlsym' functions to find database access functions.  Instead,
563        libc hard-codes references to the service libraries' database
564        access functions.  You must explicitly link your program
565        against the name service libraries (those whose names start
566        with 'libnss_', in the sysroot's '/lib' directory) whose
567        functions you intend to use.  This arrangement helps
568        system-wide static analysis tools decide which functions a
569        system actually uses.
570
571        Note that some nsswitch service libraries require other option
572        groups to be enabled; for example, the OPTION_EGLIBC_INET
573        option group must be enabled to use the 'libnss_dns.so.2'
574        service library, which uses the Domain Name System network
575        protocol to answer queries.
576
577 config OPTION_EGLIBC_RCMD
578    bool "Support for 'rcmd' and related library functions"
579    depends OPTION_EGLIBC_INET
580    help
581       This option group includes functions for running commands on
582       remote machines via the 'rsh' protocol, and doing authentication
583       related to those functions.  This also includes functions that
584       use the 'rexec' protocol.
585
586       This option group includes the following functions:
587
588         rcmd            ruserok
589         rcmd_af         ruserok_af
590         rexec           iruserok
591         rexec_af        iruserok_af
592         rresvport       ruserpass
593         rresvport_af
594         
595 config OPTION_EGLIBC_SPAWN
596    bool "Support for POSIX posix_spawn functions"
597    help
598       This option group includes the POSIX functions for executing
599       programs in child processes without using 'fork' or 'vfork'.
600
601       This option group includes the following functions:
602
603         posix_spawn
604         posix_spawnattr_destroy
605         posix_spawnattr_getflags
606         posix_spawnattr_getpgroup
607         posix_spawnattr_getschedparam
608         posix_spawnattr_getschedpolicy
609         posix_spawnattr_getsigdefault
610         posix_spawnattr_getsigmask
611         posix_spawnattr_init
612         posix_spawnattr_setflags
613         posix_spawnattr_setpgroup
614         posix_spawnattr_setschedparam
615         posix_spawnattr_setschedpolicy
616         posix_spawnattr_setsigdefault
617         posix_spawnattr_setsigmask
618         posix_spawn_file_actions_addclose
619         posix_spawn_file_actions_adddup2
620         posix_spawn_file_actions_addopen
621         posix_spawn_file_actions_destroy
622         posix_spawn_file_actions_init
623         posix_spawnp
624
625       This option group also provides the ability for the iconv,
626       localedef, and locale programs to operate transparently on
627       compressed charset definitions.  When this option group is
628       disabled, those programs will only operate on uncompressed
629       charmap files.
630
631 config OPTION_EGLIBC_STREAMS
632    bool "Support for accessing STREAMS."
633    help
634       This option group includes functions for reading and writing
635       messages to and from STREAMS.  The STREAMS interface provides a
636       uniform mechanism for implementing networking services and other
637       character-based I/O.  (STREAMS are not to be confused with
638       <stdio.h> FILE objects, also called 'streams'.)
639
640       This option group includes the following functions:
641
642         getmsg          putpmsg
643         getpmsg         fattach
644         isastream       fdetach
645         putmsg
646
647 config OPTION_EGLIBC_SUNRPC
648    bool "Support for the Sun 'RPC' protocol."
649    depends OPTION_EGLIBC_INET
650    help
651       This option group includes support for the Sun RPC protocols,
652       including the 'rpcgen' and 'rpcinfo' programs.
653
654 config OPTION_EGLIBC_UTMP
655     bool "Older access functions for 'utmp' login records"
656     help
657        This option group includes the older 'utent' family of
658        functions for accessing user login records in the 'utmp' file.
659        POSIX omits these functions in favor of the 'utxent' family,
660        and they are obsolete on systems other than Linux.
661
662        This option group includes the following functions:
663
664          endutent
665          getutent
666          getutent_r
667          getutid
668          getutid_r
669          getutline
670          getutline_r
671          logwtmp
672          pututline
673          setutent
674          updwtmp
675          utmpname
676
677        This option group includes the following libraries:
678
679          libutil.so (and libutil.a)
680
681 config OPTION_EGLIBC_UTMPX
682     bool "POSIX access functions for 'utmp' login records"
683     depends OPTION_EGLIBC_UTMP    
684     help
685        This option group includes the POSIX functions for reading and
686        writing user login records in the 'utmp' file (usually
687        '/var/run/utmp').  The POSIX functions operate on 'struct
688        utmpx' structures, as opposed to the family of older 'utent'
689        functions, which operate on 'struct utmp' structures.
690
691        This option group includes the following functions:
692
693          endutxent
694          getutmp
695          getutmpx
696          getutxent
697          getutxid
698          getutxline
699          pututxline
700          setutxent
701          updwtmpx
702          utmpxname
703
704 config OPTION_EGLIBC_WORDEXP
705     bool "Shell-style word expansion"
706     help
707         This option group includes the 'wordexp' function for
708         performing word expansion in the manner of the shell, and the
709         accompanying 'wordfree' function.
710
711 config OPTION_POSIX_C_LANG_WIDE_CHAR
712     bool "ISO C library wide character functions, excluding I/O"
713     help
714         This option group includes the functions defined by the ISO C
715         standard for working with wide and multibyte characters in
716         memory.  Functions for reading and writing wide and multibyte
717         characters from and to files call in the
718         OPTION_POSIX_WIDE_CHAR_DEVICE_IO option group.
719
720         This option group includes the following functions:
721
722           btowc         mbsinit       wcscspn       wcstoll
723           iswalnum      mbsrtowcs     wcsftime      wcstombs
724           iswalpha      mbstowcs      wcslen        wcstoul
725           iswblank      mbtowc        wcsncat       wcstoull
726           iswcntrl      swprintf      wcsncmp       wcstoumax
727           iswctype      swscanf       wcsncpy       wcsxfrm
728           iswdigit      towctrans     wcspbrk       wctob
729           iswgraph      towlower      wcsrchr       wctomb
730           iswlower      towupper      wcsrtombs     wctrans
731           iswprint      vswprintf     wcsspn        wctype
732           iswpunct      vswscanf      wcsstr        wmemchr
733           iswspace      wcrtomb       wcstod        wmemcmp
734           iswupper      wcscat        wcstof        wmemcpy
735           iswxdigit     wcschr        wcstoimax     wmemmove
736           mblen         wcscmp        wcstok        wmemset
737           mbrlen        wcscoll       wcstol
738           mbrtowc       wcscpy        wcstold
739
740 config OPTION_POSIX_REGEXP
741     bool "Regular expressions"
742     help
743         This option group includes the POSIX regular expression
744         functions, and the associated non-POSIX extensions and
745         compatibility functions.
746
747         With OPTION_POSIX_REGEXP disabled, the following functions are
748         omitted from libc:
749
750           re_comp                 re_max_failures         regcomp
751           re_compile_fastmap      re_search               regerror
752           re_compile_pattern      re_search_2             regexec
753           re_exec                 re_set_registers        regfree
754           re_match                re_set_syntax           rpmatch
755           re_match_2              re_syntax_options
756
757         Furthermore, the compatibility regexp interface defined in the
758         <regexp.h> header file, 'compile', 'step', and 'advance', is
759         omitted.
760
761 config OPTION_POSIX_REGEXP_GLIBC
762     bool "Regular expressions from GLIBC"
763     depends OPTION_POSIX_REGEXP
764     help
765         This option group specifies which regular expression
766         library to use.  The choice is between regex
767         implementation from GLIBC and regex implementation from
768         libiberty.  The GLIBC variant is fully POSIX conformant and
769         optimized for speed; regex from libiberty is more than twice
770         as small while still is enough for most practical purposes.
771
772 config OPTION_POSIX_WIDE_CHAR_DEVICE_IO
773     bool "Input and output functions for wide characters"
774     depends OPTION_POSIX_C_LANG_WIDE_CHAR
775     help
776         This option group includes functions for reading and writing
777         wide characters to and from <stdio.h> streams.
778
779         This option group includes the following functions:
780
781           fgetwc        fwprintf      putwchar      vwscanf
782           fgetws        fwscanf       ungetwc       wprintf
783           fputwc        getwc         vfwprintf     wscanf
784           fputws        getwchar      vfwscanf
785           fwide         putwc         vwprintf
786
787         This option group further includes the following unlocked
788         variants of the above functions:
789
790           fgetwc_unlocked           getwc_unlocked
791           fgetws_unlocked           getwchar_unlocked
792           fputwc_unlocked           putwc_unlocked
793           fputws_unlocked           putwchar_unlocked
794                     
795         Note that the GNU standard C++ library, 'libstdc++.so', uses
796         some of these functions; you will not be able to link or run
797         C++ programs if you disable this option group.
798
799         This option group also affects the behavior of the following
800         functions:
801
802           fdopen
803           fopen
804           fopen64
805           freopen
806           freopen64
807
808         These functions all take an OPENTYPE parameter which may
809         contain a string of the form ",ccs=CHARSET", indicating that
810         the underlying file uses the character set named CHARSET.
811         This produces a wide-oriented stream, which is only useful
812         when the functions included in this option group are present.
813         If the user attempts to open a file specifying a character set
814         in the OPENTYPE parameter, and EGLIBC was built with this
815         option group disabled, the function returns NULL, and sets
816         errno to EINVAL.
817
818 \f
819 # This helps Emacs users browse this file using the page motion commands
820 # and commands like 'pages-directory'.
821 # Local Variables:
822 # page-delimiter: "^config\\s-"
823 # End: