GNU Gnulib

Table of Contents

Next:   [Contents][Index]

GNU Gnulib

This manual is for GNU Gnulib (updated 2026-03-23 11:01:41), which is a library of common routines intended to be shared at the source level.

Copyright © 2004–2026 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.


Next: , Previous: , Up: Top   [Contents][Index]

1 Brief Overview

Gnulib is a source code library that provides basic functionality to programs and libraries. Many software packages make use of Gnulib to avoid reinventing the portability wheel.

Resources:


Next: , Up: Brief Overview   [Contents][Index]

1.1 Gnulib Basics

While portability across operating systems is not one of GNU’s primary goals, it has helped introduce many people to the GNU system, and is worthwhile when it can be achieved at a low cost. This collection helps lower that cost.

Gnulib is intended to be the canonical source for most of the important “portability” and/or common files for GNU projects. These are files intended to be shared at the source level; Gnulib is not a typical library meant to be installed and linked against. Thus, unlike most projects, Gnulib does not normally generate a source tarball distribution; instead, developers grab modules directly from the source repository.

The easiest, and recommended, way to do this is to use the gnulib-tool script. Since there is no installation procedure for Gnulib, gnulib-tool needs to be run directly in the directory that contains the Gnulib source code. You can do this either by specifying the absolute filename of gnulib-tool, or by using a symbolic link from a place inside your PATH to the gnulib-tool file of your preferred Gnulib checkout. For example:

$ ln -s $HOME/gnu/src/gnulib.git/gnulib-tool $HOME/bin/gnulib-tool

Next: , Previous: , Up: Brief Overview   [Contents][Index]

1.2 Git Checkout

Gnulib is available for anonymous checkout. In any Bourne-shell the following should work:

$ git clone https://git.savannah.gnu.org/git/gnulib.git

For a read-write checkout you need to have a login on ‘savannah.gnu.org’ and be a member of the Gnulib project at https://savannah.gnu.org/projects/gnulib. Then, instead of the URL https://git.savannah.gnu.org/git/gnulib.git, use the URL ‘ssh://user@git.savannah.gnu.org/srv/git/gnulib’ where user is your login name on savannah.gnu.org.

git resources:

Overview:

https://en.wikipedia.org/wiki/Git_(software)

Homepage:

https://git-scm.com/

When you use git annotate or git blame with Gnulib, it’s recommended that you use the -w option, in order to ignore massive whitespace changes that happened in 2009.


Next: , Previous: , Up: Brief Overview   [Contents][Index]

1.3 Keeping Up-to-date

The best way to work with Gnulib is to check it out of git. To synchronize, you can use git pull.

Subscribing to the bug-gnulib@gnu.org mailing list will help you to plan when to update your local copy of Gnulib (which you use to maintain your software) from git. You can review the archives, subscribe, etc., via https://lists.gnu.org/mailman/listinfo/bug-gnulib.

Sometimes, using an updated version of Gnulib will require you to use newer versions of GNU Automake or Autoconf. You may find it helpful to join the autotools-announce mailing list to be advised of such changes.


Next: , Previous: , Up: Brief Overview   [Contents][Index]

1.4 Contributing to Gnulib

All software here is copyrighted by the Free Software Foundation—you need to have filled out an assignment form for a project that uses the module for that contribution to be accepted here.

If you have a piece of code that you would like to contribute, please email bug-gnulib@gnu.org.

Generally we are looking for files that fulfill at least one of the following requirements:

If your functions define completely new but rarely used functionality, you should probably consider packaging it as a separate library.


Next: , Up: Contributing to Gnulib   [Contents][Index]

1.4.1 Gnulib licensing

Gnulib contains code both under GPL and LGPL. Because several packages that use Gnulib are GPL, the files state they are licensed under GPL. However, to support LGPL projects as well, you may use some of the files under LGPL. The “License:” information in the files under modules/ clarifies the real license that applies to the module source.

Keep in mind that if you submit patches to files in Gnulib, you should license them under a compatible license, which means that sometimes the contribution will have to be LGPL, if the original file is available under LGPL via a “License: LGPL” information in the projects’ modules/ file.


Next: , Previous: , Up: Contributing to Gnulib   [Contents][Index]

1.4.2 Indent with spaces not TABs

We use space-only indentation in nearly all files. This includes all *.h, *.c, *.y files, except for the regex module. Makefile and ChangeLog files are excluded, since TAB characters are part of their format.

In order to tell your editor to produce space-only indentation, you can use these instructions.


Previous: , Up: Contributing to Gnulib   [Contents][Index]

1.4.3 How to add a new module

You can test that a module builds correctly with:

$ ./gnulib-tool --create-testdir --dir=/tmp/testdir module1 ... moduleN
$ cd /tmp/testdir
$ ./configure && make

Other things:


Next: , Previous: , Up: Brief Overview   [Contents][Index]

1.5 Portability guidelines

Gnulib code is intended to be portable to a wide variety of platforms, not just GNU platforms. Gnulib typically attempts to support a platform as long as it is still supported by its provider, even if the platform is not the latest version. See Target Platforms.

Many Gnulib modules exist so that applications need not worry about undesirable variability in implementations. For example, an application that uses the malloc module need not worry about malloc (0) returning a null pointer on some Standard C platforms; and glob users need not worry about glob silently omitting symbolic links to nonexistent files on some platforms that do not conform to POSIX.

Gnulib code is intended to port without problem to new hosts, e.g., hosts conforming to recent C and POSIX standards. Hence Gnulib code should avoid using constructs that these newer standards no longer require, without first testing for the presence of these constructs. For example, because C11 made variable length arrays optional, Gnulib code should avoid them unless it first uses the vararrays module to check whether they are supported.

The following subsections discuss some exceptions and caveats to the general Gnulib portability guidelines.


Next: , Up: Portability guidelines   [Contents][Index]

1.5.1 C language versions

Currently Gnulib assumes at least a freestanding C99 compiler, possibly operating with a C library that predates C99; with time this assumption will likely be strengthened to later versions of the C standard. Old platforms currently supported include AIX 7.3 and Solaris 10, though these platforms are rarely tested. Gnulib itself is so old that it contains many fixes for obsolete platforms, fixes that may be removed in the future.

Because of the freestanding C99 assumption, Gnulib code can include <float.h>, <limits.h>, <stdarg.h>, <stddef.h>, and <stdint.h> unconditionally; <stdbool.h> is also in the C99 freestanding list but is obsolescent as of C23. Gnulib code can also assume the existence of <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>, <stdio.h>, <stdlib.h>, <string.h>, and <time.h>. Similarly, many modules include <sys/types.h> even though it’s not in the C standard; that’s OK since <sys/types.h> has been around since Seventh Edition Unix (1979).

Even if the include files exist, they may not conform to the C standard. However, GCC has a fixincludes script that attempts to fix most conformance problems. Gnulib currently assumes include files largely conform to C99 or better. People still using ancient hosts should use fixincludes or fix their include files manually.

Even if the include files conform, the library itself may not. For example, strtod and mktime have some bugs on some platforms. You can work around some of these problems by requiring the relevant modules, e.g., the Gnulib mktime module supplies a working and conforming mktime.


Next: , Previous: , Up: Portability guidelines   [Contents][Index]

1.5.2 C99 features assumed by Gnulib

Although the C99 standard specifies many features, Gnulib code is conservative about using them, partly because Gnulib predates the widespread adoption of C99, and partly because many C99 features are not well-supported in practice. C99 features that are reasonably portable nowadays include:


Next: , Previous: , Up: Portability guidelines   [Contents][Index]

1.5.3 C99 features avoided by Gnulib

Gnulib avoids some features even though they are standardized by C99, as they have portability problems in practice. Here is a partial list of avoided C99 features. Many other C99 features are portable only if their corresponding modules are used; Gnulib code that uses such a feature should require the corresponding module.


Previous: , Up: Portability guidelines   [Contents][Index]

1.5.4 Other portability assumptions made by Gnulib

Gnulib code makes the following assumptions that go beyond what C and POSIX require:

Some system platforms violate these assumptions and are therefore not Gnulib porting targets. See Unsupported Platforms.


Next: , Previous: , Up: Brief Overview   [Contents][Index]

1.6 High Quality

We develop and maintain a testsuite for Gnulib. The goal is to have a 100% firm interface so that maintainers can feel free to update to the code in git at any time and know that their application will not break. This means that before any change can be committed to the repository, a test suite program must be produced that exposes the bug for regression testing.


Next: , Up: High Quality   [Contents][Index]

1.6.1 Stable Branches

In Gnulib, we don’t use topic branches for experimental work. Therefore, occasionally a broken commit may be pushed in Gnulib. It does not happen often, but it does happen.

To compensate for this, Gnulib offers “stable branches”. These are branches of the Gnulib code that are maintained over some longer period (a year, for example) and include

Not included in the stable branches are:

So far, we have eight stable branches:

stable-202507

A stable branch that starts at the beginning of July 2025.

stable-202501

A stable branch that starts at the beginning of January 2025.

stable-202407

A stable branch that starts at the beginning of July 2024. It is no longer updated.

stable-202401

A stable branch that starts at the beginning of January 2024. It is no longer updated.

stable-202307

A stable branch that starts at the beginning of July 2023. It is no longer updated.

stable-202301

A stable branch that starts at the beginning of January 2023. It is no longer updated.

stable-202207

A stable branch that starts at the beginning of July 2022. It is no longer updated.

stable-202201

A stable branch that starts at the beginning of January 2022. It is no longer updated.

The two use-cases of stable branches are thus:


Previous: , Up: High Quality   [Contents][Index]

1.6.2 Writing reliable code

When compiling and testing Gnulib and Gnulib-using programs, certain compiler options can help improve reliability. First of all, make it a habit to use ‘-Wall’ in all compilation commands. Beyond that, the manywarnings module enables several forms of static checking in GCC and related compilers (see manywarnings).

For dynamic checking, you can run configure with CFLAGS options appropriate for your compiler. For example:

./configure \
 CPPFLAGS='-Wall'\
 CFLAGS='-g3 -O2'\
' -D_FORTIFY_SOURCE=3'\
' -D_GLIBCXX_ASSERTIONS'\
' -fsanitize=undefined'\
' -fsanitize-trap=all'

Here:

Without the -fsanitize-trap=all option, -fsanitize=undefined causes messages to be printed, and execution continues after an undefined behavior situation. The message printing causes GCC-like compilers to arrange for the program to dynamically link to libraries it might not otherwise need. With GCC, instead of -fsanitize-trap=all you can use the -static-libubsan option to arrange for two of the extra libraries (libstdc++ and libubsan) to be linked statically rather than dynamically, though this typically bloats the executable and the remaining extra libraries are still linked dynamically.

It is also good to occasionally run the programs under valgrind (see Running self-tests under valgrind).

GCC’s -fhardened option can also be used, but with caution because it is designed for production more than testing, and therefore enables -ftrivial-auto-var-init=zero which can mask program errors.


Previous: , Up: Brief Overview   [Contents][Index]

1.7 Join the GNU Project

GNU Gnulib is part of the GNU Operating System, developed by the GNU Project.

If you are the author of an awesome program and want to join us in writing Free (libre) Software, please consider making it an official GNU program and become a GNU Maintainer. Instructions on how to do this are here. We are looking forward to hacking with you!

Don’t have a program to contribute? Look at all the other ways to help.

And to learn more about Free (libre) Software in general, please read and share this page.


Next: , Previous: , Up: Top   [Contents][Index]

2 Philosophy

Gnulib’s design and development philosophy is organized around steady, collaborative, and open development of reusable modules that are suitable for a reasonably wide variety of platforms.


Next: , Up: Philosophy   [Contents][Index]

2.1 Benefits of using Gnulib

Gnulib is useful to enhance various aspects of a package:


Next: , Previous: , Up: Philosophy   [Contents][Index]

2.2 Library vs. Reusable Code

Classical libraries are installed as binary object code. Gnulib is different: It is used as a source code library. Each package that uses Gnulib thus ships with part of the Gnulib source code. The used portion of Gnulib is tailored to the package: A build tool, called gnulib-tool, is provided that copies a tailored subset of Gnulib into the package.


Up: Library vs Reusable Code   [Contents][Index]

2.2.1 Comparison with other source code libraries

Many programming languages nowadays have

Here is a table of such source code libraries.

LanguageCentral siteDownload tool
Pythonpypi.orgpip
Javamvnrepository.commaven’, ‘gradle
C#nuget.orgnuget
JavaScript, TypeScriptnpmjs.comnpm’, ‘yarn
Common Lispquicklisp.orgql:quickload
Emacs Lispelpa.gnu.orgM-x package-install
Rustcrates.iocargo
Gopkg.go.devgo mod
Rubyrubygems.orggem
Lualuarocks.orgluarocks
OCamlocaml.org/packagesopam
Dcode.dlang.orgdub
Perlcpan.orgcpan
PHPpackagist.orgcomposer
Rcran.r-project.orgR CMD INSTALL

Most of them are vulnerable to supply chain attacks. These are cyber-attacks to the central site (library) or to one of the packages in the library, with the goal of attacking the packages that use that specific package as a (direct or indirect) dependency.

Examples of such supply chain attacks:

While some mitigations exist, they are often cumbersome to put in place. For example, a developer could set up a partial mirror of the library, where adding a package to the mirror is a manual operation, together with a configuration or modification of the tool that redirects download or installation requests to the mirror.

Gnulib is not vulnerable to such attacks, because all of its code is managed in a single repository, with a limited set of committers and with established code review practices.


Next: , Previous: , Up: Philosophy   [Contents][Index]

2.3 Portability and Application Code

One of the goals of Gnulib is to make portable programming easy, on the basis of the standards relevant for GNU (and Unix). The objective behind that is to avoid a fragmentation of the user community into disjoint user communities according to the operating system, and instead allow synergies between users on different operating systems.

Another goal of Gnulib is to provide application code that can be shared between several applications. Some people wonder: "What? glibc doesn’t have a function to copy a file?" Indeed, the scope of a system’s libc is to implement the relevant standards (ISO C, POSIX) and to provide access functions to the kernel’s system calls, and little more.

There is no clear borderline between both areas.

For example, Gnulib has a facility for generating the name of backup files. While this task is entirely at the application level—no standard specifies an API for it—the naïve code has some portability problems because on some platforms the length of file name components is limited to 30 characters or so. Gnulib handles that.

Similarly, Gnulib has a facility for executing a command in a subprocess. It is at the same time a portability enhancement (it works on GNU, Unix, and Windows, compared to the classical fork/exec idiom which is not portable to Windows), as well as an application aid: it takes care of redirecting stdin and/or stdout if desired, and emits an error message if the subprocess failed.


Next: , Previous: , Up: Philosophy   [Contents][Index]

2.4 Target Platforms

Gnulib supports a number of platforms that we call the “reasonable portability targets”. This class consists of widespread operating systems, for three years after their last availability, or—for proprietary operating systems—as long as the vendor provides commercial support for it. Already existing Gnulib code for older operating systems is usually left in place for longer than these three years. So it comes that programs that use Gnulib run pretty well also on these older operating systems.

Some operating systems are not very widespread, but are Free Software and are actively developed. Such platforms are also supported by Gnulib, if that OS’s developers community keeps in touch with the Gnulib developers, by providing bug reports, analyses, or patches. For such platforms, Gnulib supports only the versions of the last year or the last few months, depending on the maturity of said OS project, the number of its users, and how often these users upgrade.

Niche operating systems are generally unsupported by Gnulib, unless some of their developers or users contribute support to Gnulib.

The degree of support Gnulib guarantees for a platform depends on the amount of testing it gets from volunteers. Platforms on which Gnulib is frequently tested are the best supported. Then come platforms with occasional testing, then platforms which are rarely tested. Usually, we fix bugs when they are reported. Except that some rarely tested platforms are also low priority; bug fixes for these platforms can take longer.


Next: , Up: Target Platforms   [Contents][Index]

2.4.1 Supported Platforms

As of 2024, the list of supported platforms is the following:


Next: , Previous: , Up: Target Platforms   [Contents][Index]

2.4.2 Formerly Supported Platforms

The following platforms were supported in the past, but are no longer supported:

Gnulib supports these operating systems only in an unvirtualized environment. When you run an OS inside a virtual machine, you have to be aware that the virtual machine can bring in bugs of its own. For example, floating-point operations on Solaris can behave slightly differently in QEMU than on real hardware. And Haiku’s bash program misbehaves in VirtualBox 3, whereas it behaves fine in VirtualBox 4.

Similarly, running native Windows binaries on GNU/Linux under WINE is rarely tested and low priority: WINE has a set of behaviours and bugs that is slightly different from native Windows.


Previous: , Up: Target Platforms   [Contents][Index]

2.4.3 Unsupported Platforms

Some platforms with C compilers are not supported by Gnulib because the platforms violate Gnulib’s C portability assumptions. See Other portability assumptions.

These assumptions are not required by the C or POSIX standards but hold on almost all practical porting targets. If you need to port Gnulib code to a platform where these assumptions are not true, we would appreciate hearing of any fixes. We need fixes that do not increase runtime overhead on standard hosts and that are relatively easy to maintain.

These platforms are listed below to illustrate problems that Gnulib and Gnulib-using code would have if it were intended to be portable to all practical POSIX or C platforms.

The following platforms are not supported by Gnulib. The cost of supporting them would exceed the benefit because they are rarely used, or poorly documented, or have been supplanted by other platforms, or diverge too much from POSIX, or some combination of these and other factors. Please don’t bother sending us patches for them.


Next: , Previous: , Up: Philosophy   [Contents][Index]

2.5 Modules

Gnulib is divided into modules. Every module implements a single facility. Modules can depend on other modules.

A module consists of a number of files and a module description. The files are copied by gnulib-tool into the package that will use it, usually verbatim, without changes. Source code files (.h, .c files) reside in the lib/ subdirectory. Autoconf macro files reside in the m4/ subdirectory. Build scripts reside in the build-aux/ subdirectory.

The module description contains the list of files; gnulib-tool copies these files. It contains the module’s dependencies; gnulib-tool installs them as well. It also contains the autoconf macro invocation (usually a single line or nothing at all); gnulib-tool ensures this is invoked from the package’s configure.ac file. And also a Makefile.am snippet; gnulib-tool collects these into a Makefile.am for the tailored Gnulib part. The module description and include file specification are for documentation purposes; they are combined into MODULES.html.

The module system serves two purposes:

  1. It ensures consistency of the used autoconf macros and Makefile.am rules with the source code. For example, source code which uses the getopt_long function—this is a common way to implement parsing of command line options in a way that complies with the GNU standards—needs the source code (lib/getopt.c and others), the autoconf macro which detects whether the system’s libc already has this function (in m4/getopt.m4), and a few Makefile.am lines that create the substitute getopt.h if not. These three pieces belong together. They cannot be used without each other. The module description and gnulib-tool ensure that they are copied altogether into the destination package.
  2. It allows for scalability. It is well-known since the inception of the MODULA-2 language around 1978 that dissection into modules with dependencies allows for building large sets of code in a maintainable way. The maintainability comes from the facts that:

    In other words, the module is the elementary unit of code in Gnulib, comparable to a class in object-oriented languages like Java or C#.

The module system is the basis of gnulib-tool. When gnulib-tool copies a part of Gnulib into a package, it first compiles a module list, starting with the requested modules and adding all the dependencies, and then collects the files, configure.ac snippets and Makefile.am snippets.


Next: , Previous: , Up: Philosophy   [Contents][Index]

2.6 Various Kinds of Modules

There are modules of various kinds in Gnulib. For a complete list of the modules, see in MODULES.html.

2.6.1 Support for ISO C or POSIX functions.

When a function is not implemented by a system, the Gnulib module provides an implementation under the same name. Examples are the ‘snprintf’ and ‘readlink’ modules.

Similarly, when a function is not correctly implemented by a system, Gnulib provides a replacement. For functions, we use the pattern

#if !HAVE_WORKING_FOO
# define foo rpl_foo
#endif

and implement the foo function under the name rpl_foo. This renaming is needed to avoid conflicts at compile time (in case the system header files declare foo) and at link/run time (because the code making use of foo could end up residing in a shared library, and the executable program using this library could be defining foo itself).

For header files, such as stdint.h, we provide the substitute only if the system doesn’t provide a correct one. The template of this replacement is distributed in a slightly different name, with ‘.in’ inserted before the ‘.h’ extension, so that on systems which do provide a correct header file the system’s one is used.

The modules in this category are supported in C++ mode as well. This means, while the autoconfiguration uses the C compiler, the resulting header files and function substitutes can be used with a matching C++ compiler as well.

2.6.2 Enhancements of ISO C or POSIX functions

These are sometimes POSIX functions with GNU extensions also found in glibc—examples: ‘getopt’, ‘fnmatch’—and often new APIs—for example, for all functions that allocate memory in one way or the other, we have variants which also include the error checking against the out-of-memory condition.

2.6.3 Portable general use facilities

Examples are a module for copying a file—the portability problems relate to the copying of the file’s modification time, access rights, and extended attributes—or a module for extracting the tail component of a file name—here the portability to native Windows requires a different API than the classical POSIX basename function.

2.6.4 Reusable application code

Examples are an error reporting function, a module that allows output of numbers with K/M/G suffixes, or cryptographic facilities.

2.6.5 Object oriented classes

Examples are data structures like ‘list’, or abstract output stream classes that work around the fact that an application cannot implement an stdio FILE with its logic. Here, while staying in C, we use implementation techniques like tables of function pointers, known from the C++ language or from the Linux kernel.

2.6.6 Interfaces to external libraries

Examples are the ‘iconv’ module, which interfaces to the iconv facility, regardless whether it is contained in libc or in an external libiconv. Or the ‘readline’ module, which interfaces to the GNU readline library.

2.6.7 Build / maintenance infrastructure

An example is the ‘maintainer-makefile’ module, which provides extra Makefile tags for maintaining a package.


Next: , Previous: , Up: Philosophy   [Contents][Index]

2.7 Collaborative Development

Gnulib is maintained collaboratively. The mailing list is <bug-gnulib at gnu dot org>. Be warned that some people on the list may be very active at some times and unresponsive at other times.

Every module has one or more maintainers. While issues are discussed collaboratively on the list, the maintainer of a module nevertheless has a veto right regarding changes in his module.

All patches should be posted to the list, regardless whether they are proposed patches or whether they are committed immediately by the maintainer of the particular module. The purpose is not only to inform the other users of the module, but mainly to allow peer review. It is not uncommon that several people contribute comments or spot bugs after a patch was proposed.

Conversely, if you are using Gnulib, and a patch is posted that affects one of the modules that your package uses, you have an interest in proofreading the patch.


Next: , Previous: , Up: Philosophy   [Contents][Index]

2.8 Copyright

Most modules are under the GPL. Some, mostly modules which can reasonably be used in libraries, are under LGPL. Few modules are under other licenses, such as LGPLv2+, unlimited, or public domain.

If the module description file says "GPL", it means "GPLv3+" (GPLv3 or newer, at the licensee’s choice); if it says "LGPL", it means "LGPLv3+" (LGPLv3 or newer, at the licensee’s choice).

The source files, more precisely the files in lib/ and build-aux/, are under a license compatible with the module’s license. Most often, they are under the same license. But files can be shared among several modules, and in these cases it can happen that a source file is under a weaker license than noted in the module description – namely under the weakest license among the licenses of the modules that contain the file.

Different licenses apply to files in special directories:

modules/

Module description files are under this copyright:

Copyright © 20XX–20YY Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification, in any medium, are permitted without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty.

m4/

Autoconf macro files are under this copyright:

Copyright © 20XX–20YY Free Software Foundation, Inc.
This file is free software; the Free Software Foundation gives unlimited permission to copy and/or distribute it, with or without modifications, as long as this notice is preserved. This file is offered as-is, without any warranty.

or under this copyright:

Copyright © 20XX–20YY Free Software Foundation, Inc.
This file is free software, distributed under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. As a special exception to the GNU General Public License, this file may be distributed as part of a program that contains a configuration script generated by Autoconf, under the same distribution terms as the rest of that program.

We denote either of these license statements as “unlimited”.

tests/

If a license statement is not present in a test module, the test files are under GPL. Even if the corresponding source module is under LGPL, this is not a problem, since compiled tests are not installed by “make install”.

doc/

Documentation files are under this copyright:

Copyright © 2004–20YY Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is at https://www.gnu.org/licenses/fdl-1.3.en.html.

If you want to use some Gnulib modules under LGPL, you can do so by passing the option ‘--lgpl’ to gnulib-tool. This will ensure that all imported modules can be used under the LGPL license. Similarly, if you want some Gnulib modules under LGPLv2+ (Lesser GPL version 2.1 or newer), you can do so by passing the option ‘--lgpl=2’ to gnulib-tool.

Keep in mind that when you submit patches to files in Gnulib, you should license them under a compatible license. This means that sometimes the contribution will have to be LGPL, if the original file is available under LGPL. You can find out about it by looking at the license header of the file.


Next: , Previous: , Up: Philosophy   [Contents][Index]

2.9 Steady Development

Gnulib modules are continually adapted, to match new practices, to be consistent with newly added modules, or simply as a response to build failure reports.

If you are willing to report an occasional regression, we recommend to use the newest version from git always, except in periods of major changes. Most Gnulib users do this.


Previous: , Up: Philosophy   [Contents][Index]

2.10 Openness

Gnulib is open in the sense that we gladly accept contributions if they are generally useful, well engineered, and if the contributors have signed the obligatory papers with the FSF.

The module system is open in the sense that a package using Gnulib can

  1. locally patch or override files in Gnulib,
  2. locally add modules that are treated like Gnulib modules by gnulib-tool.

This is achieved by the ‘--local-dir’ option of gnulib-tool (see Extending Gnulib).


Next: , Previous: , Up: Top   [Contents][Index]

3 Invoking gnulib-tool

The gnulib-tool command is the recommended way to import Gnulib modules. It is possible to borrow Gnulib modules in a package without using gnulib-tool, relying only on the meta-information stored in the modules/* files, but with a growing number of modules this becomes tedious. gnulib-tool simplifies the management of source files, Makefile.ams and configure.ac in packages incorporating Gnulib modules.

gnulib-tool is not installed in a standard directory that is contained in the PATH variable. It needs to be run directly in the directory that contains the Gnulib source code. You can do this either by specifying the absolute filename of gnulib-tool, or you can also use a symbolic link from a place inside your PATH to the gnulib-tool file of your preferred and most up-to-date Gnulib checkout, like this:

$ ln -s $HOME/gnu/src/gnulib.git/gnulib-tool $HOME/bin/gnulib-tool

Run ‘gnulib-tool --help’ for information. To get familiar with gnulib-tool without affecting your sources, you can also try some commands with the option ‘--dry-run’; then gnulib-tool will only report which actions it would perform in a real run without changing anything.


Next: , Up: Invoking gnulib-tool   [Contents][Index]

3.1 Finding modules

There are four ways of finding the names of Gnulib modules that you can use in your package:


Next: , Previous: , Up: Invoking gnulib-tool   [Contents][Index]

3.2 Initial import

Gnulib assumes that your project uses Autoconf. When using Gnulib, you will need to have Autoconf among your build tools.

Gnulib also assumes that your project’s configure.ac contains the line

AC_CONFIG_HEADERS([config.h])

The config.h file gets generated with platform dependent C macro definitions, and the source files include it (see Source changes).

Unless you use gnulib-tool’s --gnu-make option, Gnulib also assumes that your project uses Automake at least in a subdirectory of your project. While the use of Automake in your project’s top level directory is an easy way to fulfil the Makefile conventions of the GNU coding standards, Gnulib does not require it.

Invoking ‘gnulib-tool --import’ will copy source files, create a Makefile.am to build them, generate a file gnulib-comp.m4 with Autoconf M4 macro declarations used by configure.ac, and generate a file gnulib-cache.m4 containing the cached specification of how Gnulib is used.

Our example will be a library that uses Autoconf, Automake and Libtool. It calls strdup, and you wish to use gnulib to make the package portable to C99 and C11 (which don’t have strdup).

~/src/libfoo$ gnulib-tool --import strdup
Module list with included dependencies:
  absolute-header
  extensions
  strdup
  string
File list:
  lib/dummy.c
  lib/strdup.c
  lib/string.in.h
  m4/absolute-header.m4
  m4/extensions.m4
  m4/gnulib-common.m4
  m4/strdup.m4
  m4/string_h.m4
Creating directory ./lib
Creating directory ./m4
Copying file lib/dummy.c
Copying file lib/strdup.c
Copying file lib/string.in.h
Copying file m4/absolute-header.m4
Copying file m4/extensions.m4
Copying file m4/gnulib-common.m4
Copying file m4/gnulib-tool.m4
Copying file m4/strdup.m4
Copying file m4/string_h.m4
Creating lib/Makefile.am
Creating m4/gnulib-cache.m4
Creating m4/gnulib-comp.m4
Finished.

You may need to add #include directives for the following .h files.
  #include <string.h>

Don't forget to
  - add "lib/Makefile" to AC_CONFIG_FILES in ./configure.ac,
  - mention "lib" in SUBDIRS in Makefile.am,
  - mention "-I m4" in ACLOCAL_AMFLAGS in Makefile.am,
    or add an AC_CONFIG_MACRO_DIRS([m4]) invocation in ./configure.ac,
  - invoke gl_EARLY in ./configure.ac, right after AC_PROG_CC,
  - invoke gl_INIT in ./configure.ac.
~/src/libfoo$

By default, the source code is copied into lib/ and the M4 macros in m4/. You can override these paths by using --source-base=DIRECTORY and --m4-base=DIRECTORY. Some modules also provide other files necessary for building. These files are copied into the directory specified by ‘AC_CONFIG_AUX_DIR’ in configure.ac or by the --aux-dir=DIRECTORY option. If neither is specified, the current directory is assumed.

gnulib-tool can make symbolic links instead of copying the source files. The option to specify for this is ‘--symlink’, or ‘-s’ for short. This can be useful to save a few kilobytes of disk space. But it is likely to introduce bugs when gnulib is updated; it is more reliable to use ‘gnulib-tool --update’ (see below) to update to newer versions of gnulib. Furthermore it requires extra effort to create self-contained tarballs, and it may disturb some mechanism the maintainer applies to the sources. For these reasons, this option is generally discouraged.

gnulib-tool will overwrite any preexisting files, in particular Makefile.am. It is also possible to separate the generated Makefile.am content (for building the gnulib library) into a separate file, say gnulib.mk, that can be included by your handwritten Makefile.am, but this is a more advanced use of gnulib-tool.

Consequently, it is a good idea to choose directories that are not already used by your projects, to separate gnulib imported files from your own files. This approach is also useful if you want to avoid conflicts between other tools (e.g., gettextize that also copy M4 files into your package. Simon Josefsson successfully uses a source base of gl/, and a M4 base of gl/m4/, in several packages.

After the ‘--import’ option on the command line comes the list of Gnulib modules that you want to incorporate in your package. The names of the modules coincide with the filenames in Gnulib’s modules/ directory.

Some Gnulib modules depend on other Gnulib modules. gnulib-tool will automatically add the needed modules as well; you need not list them explicitly. gnulib-tool will also memorize which dependent modules it has added, so that when someday a dependency is dropped, the implicitly added module is dropped as well (unless you have explicitly requested that module).

If you want to cut a dependency, i.e., not add a module although one of your requested modules depends on it, you may use the option ‘--avoid=module’ to do so. Multiple uses of this option are possible. Of course, you will then need to implement the same interface as the removed module.

A few manual steps are required to finish the initial import. gnulib-tool printed a summary of these steps.

First, you must ensure Autoconf can find the macro definitions in gnulib-comp.m4. Use the ACLOCAL_AMFLAGS specifier in your top-level Makefile.am file, as in:

ACLOCAL_AMFLAGS = -I m4

Alternatively, add an AC_CONFIG_MACRO_DIRS invocation in your configure.ac file, as in:

AC_CONFIG_MACRO_DIRS([m4])

You are now ready to call the M4 macros in gnulib-comp.m4 from configure.ac. The macro gl_EARLY must be called as soon as possible after verifying that the C compiler is working. Typically, this is immediately after AC_PROG_CC, as in:

...
AC_PROG_CC
gl_EARLY
...

The core part of the gnulib checks are done by the macro gl_INIT. Place it further down in the file, typically where you normally check for header files or functions. It must come after other checks which may affect the compiler invocation, such as AC_MINIX. For example:

...
# For gnulib.
gl_INIT
...

gl_INIT will in turn call the macros related with the gnulib functions, be it specific gnulib macros, like gl_FUNC_ALLOCA or Autoconf or Automake macros like AC_FUNC_ALLOCA or AM_FUNC_GETLINE. So there is no need to call those macros yourself when you use the corresponding gnulib modules.

You must also make sure that the gnulib library is built. Add the Makefile in the gnulib source base directory to AC_CONFIG_FILES, as in:

AC_CONFIG_FILES(... lib/Makefile ...)

You must also make sure that make will recurse into the gnulib directory. To achieve this, add the gnulib source base directory to a SUBDIRS Makefile.am statement, as in:

SUBDIRS = lib

or if you, more likely, already have a few entries in SUBDIRS, you can add something like:

SUBDIRS += lib

Finally, you have to add compiler and linker flags in the appropriate source directories, so that you can make use of the gnulib library. Since some modules (‘getopt’, for example) may copy files into the build directory, top_builddir/lib is needed as well as top_srcdir/lib. For example:

...
AM_CPPFLAGS = -I$(top_builddir)/lib -I$(top_srcdir)/lib
...
LDADD = lib/libgnu.a
...

Don’t forget to #include the various header files. In this example, you would need to make sure that ‘#include <string.h>’ is evaluated when compiling all source code files, that want to make use of strdup.

In the usual case where Autoconf is creating a config.h file, you should include config.h first, before any other include file. That way, for example, if config.h defines ‘restrict’ to be the empty string on a non-C99 host, or a macro like ‘_FILE_OFFSET_BITS’ that affects the layout of data structures, the definition is consistent for all include files. Also, on some platforms macros like ‘_FILE_OFFSET_BITS’ and ‘_GNU_SOURCE’ may be ineffective, or may have only a limited effect, if defined after the first system header file is included.

Finally, note that you cannot use AC_LIBOBJ or AC_REPLACE_FUNCS in your configure.ac and expect the resulting object files to be automatically added to lib/libgnu.a. This is because your AC_LIBOBJ and AC_REPLACE_FUNCS invocations from configure.ac augment a variable @LIBOBJS@ (and/or @LTLIBOBJS@ if using Libtool), whereas lib/libgnu.a is built from the contents of a different variable, usually @gl_LIBOBJS@ (or @gl_LTLIBOBJS@ if using Libtool).


Next: , Previous: , Up: Invoking gnulib-tool   [Contents][Index]

3.3 Modified imports

You can at any moment decide to use Gnulib differently than the last time.

There are two ways to change how Gnulib is used. Which one you’ll use, depends on where you keep track of options and module names that you pass to gnulib-tool.


Next: , Previous: , Up: Invoking gnulib-tool   [Contents][Index]

3.4 Simple update

When you want to update to a more recent version of Gnulib, without changing the list of modules or other parameters, a simple call does it:

$ gnulib-tool --add-import

This will create, update or remove files, as needed.

Note: From time to time, changes are made in Gnulib that are not backward compatible. When updating to a more recent Gnulib, you should consult Gnulib’s NEWS file to check whether the incompatible changes affect your project.


Next: , Previous: , Up: Invoking gnulib-tool   [Contents][Index]

3.5 Changing your sources for use with Gnulib

When you use Gnulib, you need to make some small changes to your source code base.


Next: , Up: Source changes   [Contents][Index]

3.5.1 -I options

Gnulib contains some header file overrides. This means that when building on systems with deficient header files in /usr/include/, it may create files named string.h, stdlib.h, stdint.h or similar in the build directory. In the other source directories of your package you will usually pass ‘-I’ options to the compiler, so that these Gnulib substitutes are visible and take precedence over the files in /usr/include/.


Next: , Previous: , Up: Source changes   [Contents][Index]

3.5.2 Include <config.h>

These Gnulib substitute header files rely on <config.h> being already included. Furthermore <config.h> must be the first include in every compilation unit. This means that to all your source files and likely also to all your tests source files you need to add an ‘#include <config.h>’ at the top. Which source files are affected? Exactly those whose compilation includes a ‘-I’ option that refers to the Gnulib library directory.

This is annoying, but inevitable: On many systems, <config.h> is used to set system dependent flags (such as _GNU_SOURCE on GNU systems), and these flags have no effect after any system header file has been included.


Previous: , Up: Source changes   [Contents][Index]

3.5.3 Style of #include statements

When including including specific header files, you need to use the ‘#include <...>’ syntax, not the ‘#include "..."’ syntax. This is true for the following POSIX or ISO C standardized header files:

as well as for the following header files that exist in the GNU C library but are not standardized:

The reason for this requirement is that for these header files, the Gnulib override uses #include_next to include the system-provided header of the same name, and #include_next may not work right with the ‘#include "..."’ syntax.


Next: , Previous: , Up: Invoking gnulib-tool   [Contents][Index]

3.6 Changing your link commands for use with Gnulib

When you use Gnulib, you need to augment the set of libraries against which your programs and libraries are linked. This is done by augmenting the Automake variable LDADD (for all programs) or prog_LDADD (for a single program prog) or library_la_LIBADD (for a single library library.la).

What do you need to add to this Automake variable?

  1. The reference to the Gnulib library. In the example of section Initial import, this would be lib/libgnu.a for source in the top-level directory, or ../lib/libgnu.a for source in a sibling directory of lib/.
  2. References to additional libraries, brought in by some of the Gnulib modules that you use (directly or indirectly). The complete list of such libraries is printed when you invoke gnulib-tool. Alternatively, you can retrieve the set of additional libraries required by a specific Gnulib module by running
    ./gnulib-tool --extract-recursive-link-directive module
    

    Beware: By looking into the module description file modules/module or by running

    ./gnulib-tool --extract-link-directive module
    

    you would miss the link dependencies of indirectly used modules.


Next: , Previous: , Up: Invoking gnulib-tool   [Contents][Index]

3.7 Finding recommended ISO C and POSIX function substitutes

Gnulib contains a wealth of portability workarounds for ISO C and POSIX functions. They are listed in detail in the chapter Function Substitutes. If you want to know which function substitutes are recommended for your package, you can search your source code for ISO C and POSIX functions that it uses and read the corresponding sections of said documentation chapter. But this is a tedious task. Here is an alternative approach that makes this task easier.

  1. Add the Gnulib module ‘posixcheck’ to the Gnulib imports of your package, as described earlier in this chapter.
  2. Do a make distclean if you previously built in the top-level directory. Then regenerate the Autotools-generated parts of the package.
  3. On a glibc system, build your package. Pay attention to the compiler warnings. Warnings are generated for uses of ISO C and POSIX functions that have portability problems or other important pitfalls and for which you have not yet imported the corresponding Gnulib module. If you get, say, a warning “warning: call to ’close’ declared with attribute warning: close does not portably work on sockets - use gnulib module close for portability”, put ‘close’ on your list of modules to import.
  4. Add the modules you noted to the Gnulib imports of your package.
  5. Optionally, you can do the same steps again, and make sure that there are no warnings left except those that you want to intentionally ignore.
  6. Finally, remove the Gnulib module ‘posixcheck’ from the Gnulib imports, and run make distclean.

Next: , Previous: , Up: Invoking gnulib-tool   [Contents][Index]

3.8 Modifying the build rules of a Gnulib import directory

In some cases, you may want to set additional compiler options for use within the Gnulib import directory. For example, the ‘relocatable’ module operates better if you define the C macros ENABLE_COSTLY_RELOCATABLE and INSTALLDIR during its compilation.

There are two ways to do so: Use of the gnulib-tool option --makefile-name, and a kitchen-sink module.

With the gnulib-tool option --makefile-name, you are telling gnulib-tool to generate an includable Makefile.am portion, rather than a self-contained Makefile.am. For example, when you use --makefile-name=Makefile.gnulib, gnulib-tool will generate Makefile.gnulib, and you will provide a hand-written Makefile.am that includes Makefile.gnulib through a line such as

include Makefile.gnulib

Before this include, you need to initialize a set of Makefile.am variables.

For the directory into which gnulib-tool copies the gnulib source files, the set of variables to initialize is:

AUTOMAKE_OPTIONS should be initialized as described in Changing Automake’s Behavior in GNU Automake. The other variables can be initialized to empty. However, you will most likely want to initialize some of them with non-empty values, in order to achieve the desired customization.

For the directory into which gnulib-tool copies the gnulib unit test files (when option ‘--with-tests’ is used), the set of variables to initialize is:

The other approach, the kitchen-sink module, is more advanced. See chapter Extending Gnulib.


Next: , Previous: , Up: Invoking gnulib-tool   [Contents][Index]

3.9 Building directly from the top-level directory

By default, the Gnulib import directory will contain a generated Makefile.am file. After configuring, this produces a generated Makefile in this directory. As a consequence, the build from the top-level directory will use a recursive make invocation for this directory.

Some people prefer a build system where the Makefile in the top-level directory directly builds the artifacts in the subdirectories, without an intermediate make invocation. This is called “non-recursive make” and is supported by Automake. For more details, see https://autotools.io/automake/nonrecursive.html.

Gnulib supports this flavour of build system too. To use it, pass two options to gnulib-tool: ‘--makefile-name’ and ‘--automake-subdir’.

With the gnulib-tool option ‘--makefile-name’, you are telling gnulib-tool to generate an includable Makefile.am portion in the Gnulib import directory, rather than a self-contained Makefile.am. For example, when you use ‘--makefile-name=Makefile.gnulib’, gnulib-tool will generate Makefile.gnulib.

With the option ‘--automake-subdir’, you are telling gnulib-tool that you will include the generated file from the Makefile.am in the top-level directory, rather than from a Makefile.am in the same directory. For example, the top-level Makefile.am might contain this directive:

include lib/Makefile.gnulib

The option ‘--automake-subdir’ is also supported in combination with ‘--with-tests’ (see Unit tests). Note that in this case, however, the generated unit tests directory will contains a Makefile.am and thus use a recursive make invocation. This is not a problem, since the built artifacts of your package have no dependencies towards the Gnulib unit tests, nor vice versa.


Next: , Previous: , Up: Invoking gnulib-tool   [Contents][Index]

3.10 Using Gnulib for both a library and a program

Your project might build both a library and some accompanying programs in the same source tree. In that case you might want to use different modules for the library than for the programs. Typically the programs might want to make use of getopt-posix or version-etc, while the library wants to stay clear of these modules for technical or licensing reasons.

Let’s assume that your project contains a lib directory where the source of the library resides and a src directory for the sources of the programs as follows.

.
|-- configure.ac
|-- lib
|   |-- foo.c
|   `-- Makefile.am
|-- Makefile.am
`-- src
    |-- bar.c
    `-- Makefile.am

You can now add two instances of Gnulib to your project in separate source trees:

~/src/libfoo$ gnulib-tool --import --lib=libgnu --source-base=gnulib \
              --m4-base=gnulib/m4 --macro-prefix=gl strndup
~/src/libfoo$ gnulib-tool --import --lib=libgnutools \
              --source-base=src/gnulib --m4-base=src/gnulib/m4 \
              --macro-prefix=gl_tools getopt-gnu

The first one will import the module strndup in gnulib and the second one will import getopt-gnu in src/gnulib and you will end up with the following source tree (many files omitted in the interest of brevity):

.
|-- configure.ac
|-- gnulib
|   |-- m4
|   |-- strndup.c
|-- lib
|   |-- foo.c
|   `-- Makefile.am
|-- Makefile.am
`-- src
    |-- bar.c
    |-- gnulib
    |   |-- getopt.c
    |   |-- getopt.in.h
    |   |-- m4
    `-- Makefile.am

As discussed in Unit tests, you may not use ‘--with-tests’ for this project since the configure.ac is shared.

Integration with your code is basically the same as outlined in Initial import with the one exception that you have to add both the macro gl_EARLY and the macro gl_tools_EARLY to your configure.ac (and of course also both macros gl_INIT and gl_tools_INIT). Obviously the name of the second macro is dependent on the value of the --macro-prefix option in your gnulib-tool invocation.

...
AC_PROG_CC
gl_EARLY
gl_tools_EARLY
...
# For gnulib.
gl_INIT
gl_tools_INIT
...

Also as outlined in Initial import you will have to add compiler and linker flags. For the library you might have to add something along the line of the following to your Makefile.am:

...
AM_CPPFLAGS = -I$(top_srcdir)/gnulib -I$(top_builddir)/gnulib
...
libfoo_la_LIBADD = $(top_builddir)/gnulib/libgnu.la
...

Correspondingly for the programs you will have to add something like this:

...
AM_CPPFLAGS = -I$(top_srcdir)/src/gnulib -I$(top_builddir)/src/gnulib
...
LDADD = $(top_builddir)/src/gnulib/libgnutools.la
...

The name of the library that you have pass in the linker option depends on the --lib option in gnulib-tool invocation.


Next: , Previous: , Up: Invoking gnulib-tool   [Contents][Index]

3.11 Caveat: gettextize and autopoint users

The programs gettextize and autopoint, part of GNU gettext, import or update the internationalization infrastructure. Some of this infrastructure, namely ca. 20 Autoconf macro files and the config.rpath file, is also contained in Gnulib and may be imported by gnulib-tool. The use of gettextize or autopoint will therefore overwrite some of the files that gnulib-tool has imported, and vice versa.

Avoiding to use gettextize (manually, as package maintainer) or autopoint (as part of a script like autoreconf or autogen.sh) is not the solution: These programs also import the infrastructure in the po/ and optionally in the intl/ directory.

The copies of the conflicting files in Gnulib are more up-to-date than the copies brought in by gettextize and autopoint. When a new gettext release is made, the copies of the files in Gnulib will be updated immediately.

The choice of which version of gettext to require depends on the needs of your package. For a package that wants to comply to GNU Coding Standards, the steps are:

  1. When you run gettextize, always use the gettextize from the matching GNU gettext release. For the most recent Gnulib checkout, this is the newest release found on https://ftp.gnu.org/gnu/gettext/. For an older Gnulib snapshot, it is the release that was the most recent release at the time the Gnulib snapshot was taken.
  2. After running gettextize, invoke gnulib-tool and import the gettext module. Also, copy the latest version of gnulib’s build-aux/po/Makefile.in.in to your po/ directory (this is done for you if you use gnulib’s autogen.sh script).
  3. If you get an error message like *** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version ... but the Autoconf macros are from gettext version ..., it means that a new GNU gettext release was made, and its Autoconf macros were integrated into Gnulib and now mismatch the po/ infrastructure. In this case, fetch and install the new GNU gettext release and run gettextize followed by gnulib-tool.

On the other hand, if your package is not as concerned with compliance to the latest standards, but instead favors development on stable environments, the steps are:

  1. Determine the oldest version of gettext that you intend to support during development (at this time, gnulib recommends going no older than version 0.17). Run autopoint (not gettextize) to copy infrastructure into place (newer versions of gettext will install the older infrastructure that you requested).
  2. Invoke gnulib-tool, and import the gettext-h module.

Regardless of which approach you used to get the infrastructure in place, the following steps must then be used to preserve that infrastructure (gnulib’s autogen.sh script follows these rules):

  1. When a script of yours run autopoint, invoke gnulib-tool afterwards.
  2. When you invoke autoreconf after gnulib-tool, make sure to not invoke autopoint a second time, by setting the AUTOPOINT environment variable, like this:
    $ env AUTOPOINT=true autoreconf --install
    

Next: , Previous: , Up: Invoking gnulib-tool   [Contents][Index]

3.12 Handling Gnulib’s own message translations

Gnulib provides some functions that emit translatable messages using GNU gettext. The ‘gnulib’ domain at the Translation Project collects translations of these messages, which you should incorporate into your own programs.

The recommended way to achieve this is that your package depends on the package ‘gnulib-l10n’. This package contains the Gnulib localizations as .mo files.

In order to use this method, you must – in each program that might use Gnulib code – add an extra line to the part of the program that initializes locale-dependent behavior. Where you would normally write something like:

  setlocale (LC_ALL, "");
  bindtextdomain (PACKAGE, LOCALEDIR);
  textdomain (PACKAGE);

you should add an additional bindtextdomain call to inform gettext of where the MO files for the extra message domain may be found:

  bindtextdomain ("gnulib", GNULIB_LOCALEDIR);

Since you do not change the textdomain call, the default message domain for your program remains the same and your own use of gettext functions will not be affected.

If your package has a DEPENDENCIES file, for the ease of installers and distributors, you should add the ‘gnulib-l10n’ dependency in this file.

If your package does not support localization, you can simplify its build process by using gnulib-tool’s --avoid=gnulib-i18n option. The package need not call bindtextdomain or textdomain, and all Gnulib-generated messages will be in American English.

Two older methods to use Gnulib localizations are deprecated:


Next: , Previous: , Up: Invoking gnulib-tool   [Contents][Index]

3.13 Integration with Version Control Systems

If a project stores its source files in a version control system (VCS), such as CVS, Subversion, or Git, one needs to decide which files to commit.

In principle, all files created by gnulib-tool, except gnulib-cache.m4, can be treated like generated source files, like for example a parser.c file generated from parser.y. Alternatively, they can be considered source files and updated manually.

Here are the three different approaches in common use. Each has its place, and you should use whichever best suits your particular project and development methods.

  1. In projects which commit all source files, whether generated or not, into their VCS, the gnulib-tool generated files should all be committed. In this case, you should pass the option ‘--no-vc-files’ to gnulib-tool, which avoids alteration of VCS-related files such as .gitignore.

    Gnulib also contains files generated by make (and removed by make clean), using information determined by configure. For a Gnulib source file of the form lib/foo.in.h, the corresponding lib/foo.h is such a make-generated file. These should not be checked into the VCS, but instead added to .gitignore or equivalent.

  2. In projects which customarily omit from their VCS all files that are generated from other source files, none of these files and directories are added into the VCS. As described in Modified imports, there are two ways to keep track of options and module names that are passed to gnulib-tool. The command for restoring the omitted files depends on it:

    Most packages nowadays use the first among these two approaches. Over time, three ways of handling version control have evolved.

    In the cases (A) and (B), a “git submodule” is used to reference the precise commit of the gnulib repository, so that each developer running ‘./bootstrap --pull’ or autopull.sh will get the same version of all gnulib-provided files.

    The alternative is to always follow the newest Gnulib automatically. Note that this can cause breakages at unexpected moments, namely when a broken commit is pushed in Gnulib. It does not happen often, but it does happen.

  3. Some projects take a “middle road”: they do commit Gnulib source files as in the first approach, but they do not commit other derived files, such as a Makefile.in generated by Automake. This increases the size and complexity of the repository, but can help occasional contributors by not requiring them to have a full Gnulib checkout to do a build, and all developers by ensuring that all developers are working with the same version of Gnulib in the repository. It also supports multiple Gnulib instances within a project. It remains important not to commit the make-generated files, as described above.

Next: , Previous: , Up: Invoking gnulib-tool   [Contents][Index]

3.14 Bundling the unit tests of the Gnulib modules

You can bundle the unit tests of the Gnulib modules together with your package, through the ‘--with-tests’ option. Together with ‘--with-tests’, you also specify the directory for these tests through the ‘--tests-base’ option. Of course, you need to add this directory to the SUBDIRS variable in the Makefile.am of the parent directory.

The advantage of having the unit tests bundled is that when your program has a problem on a particular platform, running the unit tests may help determine quickly if the problem is on Gnulib’s side or on your package’s side. Also, it helps verifying Gnulib’s portability, of course.

The unit tests will be compiled and run when the user runs ‘make check’. When the user runs only ‘make’, the unit tests will not be compiled.

In the SUBDIRS variable, it is useful to put the Gnulib tests directory after the directory containing the other tests, not before:

SUBDIRS = gnulib-lib src man tests gnulib-tests

This will ensure that on platforms where there are test failures in either directory, users will see and report the failures from the tests of your program.

Note: In packages which use more than one invocation of gnulib-tool in the scope of the same configure.ac, you cannot use ‘--with-tests’. You will have to use a separate configure.ac in this case.


Previous: , Up: Invoking gnulib-tool   [Contents][Index]

3.15 Avoiding unnecessary checks and compilations

In some cases, a module is needed by another module only on specific platforms. But when a module is present, its Autoconf checks are always executed, and its Makefile.am additions are always enabled. So it can happen that some Autoconf checks are executed and some source files are compiled, although no other module needs them on this particular platform, just in case some other module would need them.

The option ‘--conditional-dependencies’ enables an optimization of configure checks and Makefile.am snippets that avoids this. With this option, whether a module is considered “present” is no longer decided when gnulib-tool is invoked, but later, when configure is run. This applies to modules that were added as dependencies while gnulib-tool was run; modules that were passed on the command line explicitly are always “present”.

For example, the timegm module needs, on platforms where the system’s timegm function is missing or buggy, a replacement that is based on a function mktime_internal. The module mktime-internal that provides this function provides it on all platforms. So, by default, the file mktime-internal.c will be compiled on all platforms, even on glibc and BSD systems which have a working timegm function. When the option ‘--conditional-dependencies’ is given, on the other hand, and if mktime-internal was not explicitly required on the command line, the file mktime-internal.c will only be compiled on the platforms where the timegm needs them.

Conditional dependencies are specified in the module description by putting the condition on the same line as the dependent module, enclosed in brackets. The condition is a boolean shell expression that can assume that the configure.ac snippet from the module description has already been executed. In the example above, the dependency from timegm to mktime-internal is written like this:

Depends-on:
...
mktime-internal [test $HAVE_TIMEGM = 0 || test $REPLACE_TIMEGM = 1]
...

Note: The option ‘--conditional-dependencies’ cannot be used together with the option ‘--with-tests’. It also cannot be used when a package uses gnulib-tool for several subdirectories, with different values of ‘--source-base’, in the scope of a single configure.ac file.


Next: , Previous: , Up: Top   [Contents][Index]

4 Writing modules

This chapter explains how to write modules of your own, either to extend Gnulib for your own package (see Extending Gnulib), or for inclusion in gnulib proper.

The guidelines in this chapter do not necessarily need to be followed for using gnulib-tool. They merely represent a set of good practices. Following them will result in a good structure of your modules and in consistency with gnulib.


Next: , Up: Writing modules   [Contents][Index]

4.1 Source code files

Every API (C functions or variables) provided should be declared in a header file (.h file) and implemented in one or more implementation files (.c files). The separation has the effect that users of your module need to read only the contents of the .h file and the module description in order to understand what the module is about and how to use it—not the entire implementation. Furthermore, users of your module don’t need to repeat the declarations of the functions in their code, and are likely to receive notification through compiler errors if you make incompatible changes to the API (like, adding a parameter or changing the return type of a function).


Next: , Previous: , Up: Writing modules   [Contents][Index]

4.2 Header files

The .h file should declare the C functions and variables that the module provides.

The .h file should be stand-alone. That is, it does not require other .h files to be included before. Rather, it includes all necessary .h files by itself.

It is a tradition to use CPP tricks to avoid parsing the same header file more than once, which might cause warnings. The trick is to wrap the content of the header file (say, foo.h) in a block, as in:

#ifndef FOO_H
# define FOO_H
...
body of header file goes here
...
#endif /* FOO_H */

Whether to use FOO_H or _FOO_H is a matter of taste and style. The C99 and C11 standards reserve all identifiers that begin with an underscore and either an uppercase letter or another underscore, for any use. Thus, in theory, an application might not safely assume that _FOO_H has not already been defined by a library. On the other hand, using FOO_H will likely lead the higher risk of collisions with other symbols (e.g., KEY_H, XK_H, BPF_H, which are CPP macro constants, or COFF_LONG_H, which is a CPP macro function). Your preference may depend on whether you consider the header file under discussion as part of the application (which has its own namespace for CPP symbols) or a supporting library (that shouldn’t interfere with the application’s CPP symbol namespace).

Adapting C header files for use in C++ applications can use another CPP trick, as in:

# ifdef __cplusplus
extern "C"
{
# endif
...
body of header file goes here
...
# ifdef __cplusplus
}
# endif

The idea here is that __cplusplus is defined only by C++ implementations, which will wrap the header file in an ‘extern "C"’ block. Again, whether to use this trick is a matter of taste and style. While the above can be seen as harmless, it could be argued that the header file is written in C, and any C++ application using it should explicitly use the ‘extern "C"’ block itself. Your preference might depend on whether you consider the API exported by your header file as something available for C programs only, or for C and C++ programs alike.

Note that putting a #include in an extern "C" { ... } block yields a syntax error in C++ mode on some platforms (e.g., glibc systems with g++ v3.3 to v4.2, AIX). For this reason, it is recommended to place the #include before the extern "C" block.


Next: , Previous: , Up: Writing modules   [Contents][Index]

4.3 Implementation files

The .c file or files implement the functions and variables declared in the .h file.

Include ordering

Every implementation file must start with ‘#include <config.h>’. This is necessary for activating the preprocessor macros that are defined on behalf of the Autoconf macros. Some of these preprocessor macros, such as _GNU_SOURCE, would have no effect if defined after a system header file has already been included.

Then comes the ‘#include "..."’ specifying the header file that is being implemented. Putting this right after ‘#include <config.h>’ has the effect that it verifies that the header file is self-contained.

Then come the system and application headers. It is customary to put all the system headers before all application headers, so as to minimize the risk that a preprocessor macro defined in an application header confuses the system headers on some platforms.

In summary:


Next: , Previous: , Up: Writing modules   [Contents][Index]

4.4 Specification

The specification of a function should answer at least the following questions:

Where to put the specification describing exported functions? Three practices are used in gnulib:

In any case, the specification should appear in just one place, unless you can ensure that the multiple copies will always remain identical.

The advantage of putting it in the header file is that the user only has to read the include file normally never needs to peek into the implementation file(s).

The advantage of putting it in the implementation file is that when reviewing or changing the implementation, you have both elements side by side.

The advantage of texinfo formatted documentation is that it is easily published in HTML or Info format.

Currently (as of 2020), 70% of gnulib uses the first practice, 25% of gnulib uses the second practice, and a small minority uses the texinfo practice.


Next: , Previous: , Up: Writing modules   [Contents][Index]

4.5 Module description

For the module description, you can start from an existing module’s description, or from a blank one: module/TEMPLATE for a normal module, or module/TEMPLATE-TESTS for a unit test module. Some more fields are possible but rarely used. Use module/TEMPLATE-EXTENDED if you want to use one of them.

Module descriptions have the following fields. Absent fields are equivalent to fields with empty contents.

Description

This field should contain a concise description of the module’s functionality. One sentence is enough. For example, if it defines a single function ‘frob’, the description can be ‘frob() function: frobnication.’ Gnulib’s documentation generator will automatically convert the first part to a hyperlink when it has this form.

Status

This field is either empty/absent, or contains the word ‘obsolete’. In the latter case, gnulib-tool will, unless the option --with-obsolete is given, omit it when it used as a dependency. It is good practice to also notify the user about an obsolete module. This is done by putting into the ‘Notice’ section (see below) text like ‘This module is obsolete.

Notice

This field contains text that gnulib-tool will show to the user when the module is used. This can be a status indicator like ‘This module is obsolete.’ or additional advice. Do not abuse this field.

Applicability

This field is either empty/absent, or contains the word ‘all’. It describes to which Makefile.am the module is applied. By default, a normal module is applied to source_base/Makefile.am (normally lib/Makefile.am), whereas a module ending in -tests is applied to tests_base/Makefile.am (normally tests/Makefile.am). If this field is ‘all’, it is applied to both Makefile.ams. This is useful for modules which provide Makefile.am macros rather than compiled source code.

Usable-in-testdir

This field should contain ‘no’ if the module cannot be used in a test directory created with gnulib-tool --create-testdir.

Files

This field contains a newline separated list of the files that are part of the module. gnulib-tool copies these files into the package that uses the module.

This list is typically ordered by importance: First comes the header file, then the implementation files, then other files.

It is possible to have the same file mentioned in multiple modules. That is, if the maintainers of that module agree on the purpose and future of said file.

Depends-on

This field contains a newline separated list of the modules that are required for the proper working of this module. gnulib-tool includes each required module automatically, unless it is specified with option --avoid or it is marked as obsolete and the option --with-obsolete is not given.

A test modules foo-tests implicitly depends on the corresponding non-test module foo. foo implicitly depends on foo-tests if the latter exists and if the option --with-tests has been given.

Tests modules can depend on non-tests modules. Non-tests modules should not depend on tests modules. (Recall that tests modules are built in a separate directory.)

Each listed required module may be declared a conditional dependency. This is indicated by placing the condition for the dependency on the same line, enclosed in brackets, after the name of the required module. The condition is a shell expression that is run after the module’s configure.ac statements. For example:

strtoull   [test $ac_cv_func_strtoumax = no]

Lines starting with # are recognized as comments and are ignored.

configure.ac-early

This field contains configure.ac stuff (Autoconf macro invocations and shell statements) that are logically placed early in the configure.ac file: right after the AC_PROG_CC invocation. This section is adequate for statements that modify CPPFLAGS, as these can affect the results of other Autoconf macros.

configure.ac

This field contains configure.ac stuff (Autoconf macro invocations and shell statements).

It is forbidden to add items to the CPPFLAGS variable here, other than temporarily, as these could affect the results of other Autoconf macros.

We avoid adding items to the LIBS variable, other than temporarily. Instead, the module can export an Autoconf-substituted variable that contains link options. The user of the module can then decide to which executables to apply which link options. Recall that a package can build executables of different kinds and purposes; having all executables link against all libraries is inappropriate.

If the statements in this section grow larger than a couple of lines, we recommend moving them to a .m4 file of their own.

Makefile.am

This field contains Makefile.am statements. Variables like lib_SOURCES are transformed to match the name of the library being built in that directory. For example, lib_SOURCES may become libgnu_a_SOURCES (for a plain library) or libgnu_la_SOURCES (for a libtool library). Therefore, the normal way of having an implementation file lib/foo.c compiled unconditionally is to write

lib_SOURCES += foo.c
Include

This field contains the preprocessor statements that users of the module need to add to their source code files. Typically it’s a single include statement. A shorthand is allowed: You don’t need to write the word “#include”, just the name of the include file in the way it will appear in an include statement. Example:

"foo.h"
Link

This field contains the set of libraries that are needed when linking libraries or executables that use this module. Often this will be written as a reference to a Makefile variable. Please write them one per line, so that gnulib-tool can remove duplicates when presenting a summary to the user. Example:

$(POW_LIBM)
$(LTLIBICONV) when linking with libtool, $(LIBICONV) otherwise

When this field is omitted, it defaults to the union of the Link field of the dependencies.

License

This field specifies the license that governs the source code parts of this module. See Copyright for details. Be sure to place, in every source code file, a copyright notice and the appropriate license notice, taken from the etc/license-notices/ directory.

Maintainer

This field specifies the persons who have a definitive say about proposed changes to this module. You don’t need to mention email addresses here: they can be inferred from the ChangeLog file.

Please put at least one person here. We don’t like unmaintained modules.


Next: , Previous: , Up: Writing modules   [Contents][Index]

4.6 Autoconf macros

For a module foo, an Autoconf macro file m4/foo.m4 is typically created when the Autoconf macro invocations for the module are longer than one or two lines.

The name of the main entry point into this Autoconf macro file is typically gl_FOO. For modules outside Gnulib that are not likely to be moved into Gnulib, please use a prefix specific to your package: gt_ for GNU gettext, cu_ for GNU coreutils, etc.

For modules that define a function foo, the entry point is called gl_FUNC_FOO instead of gl_FOO. For modules that provide a header file with multiple functions, say foo.h, the entry point is called gl_FOO_H or gl_HEADER_FOO_H. This convention is useful because sometimes a header and a function name coincide (for example, fcntl and fcntl.h).

For modules that provide a replacement, it is useful to split the Autoconf macro into two macro definitions: one that detects whether the replacement is needed and requests the replacement by setting a HAVE_FOO variable to 0 or a REPLACE_FOO variable to 1 (this is the entry point, say gl_FUNC_FOO), and one that arranges for the macros needed by the replacement code lib/foo.c (typically called gl_PREREQ_FOO). The reason of this separation is

  1. to make it easy to update the Autoconf macros when you have modified the source code file: after changing lib/foo.c, all you have to review is the Depends-on section of the module description and the gl_PREREQ_FOO macro in the Autoconf macro file.
  2. The Autoconf macros are often large enough that splitting them eases maintenance.

Autoconf macro files in Gnulib all start with a header consisting of

  1. A comment line with the file name. This is useful because in some cases the generated aclocal.m4 file does not contain a reference to the .m4 file but its entire contents. The comment makes it clear which .m4 file is where in the aclocal.m4 file.
  2. A comment line with a serial number. This is useful when people use the ‘aclocal --install’ command. aclocal will then refrain from copying a file with a smaller serial number onto a file with a larger serial number. The serial number should be a positive integer on the main branch, or a positive fractional number on a stable branch.
  3. The copyright and license header, as usual.

Next: , Previous: , Up: Writing modules   [Contents][Index]

4.7 Making proper use of AC_LIBOBJ

Source files that provide a replacement should be only compiled on the platforms that need this replacement. While it is actually possible to compile a .c file whose contents is entirely #ifdef’ed out on the platforms that don’t need the replacement, this practice is discouraged because

The typical idiom for invoking AC_LIBOBJ is thus the following, in the module description:

if test $HAVE_FOO = 0 || test $REPLACE_FOO = 1; then
  AC_LIBOBJ([foo])
  gl_PREREQ_FOO
fi

Important: Do not place AC_LIBOBJ invocations in the Autoconf macros in the m4/ directory. The purpose of the Autoconf macros is to determine what features or bugs the platform has, and to make decisions about which replacements are needed. The purpose of the configure.ac and Makefile.am sections of the module descriptions is to arrange for the replacements to be compiled. Source file names do not belong in the m4/ directory.

When an AC_LIBOBJ invocation is unconditional, it is simpler to just have the source file compiled through an Automake variable augmentation: In the Makefile.am section write

lib_SOURCES += foo.c

When a module description contains an AC_LIBOBJ([foo]) invocation, you must list the source file lib/foo.c in the Files section. This is needed even if the module depends on another module that already lists lib/foo.c in its Files section – because your module might be used among the test modules (in the directory specified through ‘--tests-base’) and the other module among the main modules (in the directory specified through ‘--source-base’), and in this situation, the AC_LIBOBJ([foo]) of your module can only be satisfied by having foo.c be present in the tests source directory as well.


Next: , Previous: , Up: Writing modules   [Contents][Index]

4.8 Unit test modules

A unit test that is a simple C program usually has a module description as simple as this:

Files:
tests/test-foo.c
tests/macros.h

Depends-on:

configure.ac:

Makefile.am:
TESTS += test-foo
check_PROGRAMS += test-foo

The test program tests/test-foo.c often has the following structure:

The body of the test, then, contains many ASSERT invocations. When a test fails, the ASSERT macro prints the line number of the failing statement, thus giving you, the developer, an idea of which part of the test failed, even when you don’t have access to the machine where the test failed and the reporting user cannot run a debugger.

Sometimes it is convenient to write part of the test as a shell script. (For example, in areas related to process control or interprocess communication, or when different locales should be tried.) In these cases, the typical module description is like this:

Files:
tests/test-foo.sh
tests/test-foo.c
tests/macros.h

Depends-on:

configure.ac:

Makefile.am:
TESTS += test-foo.sh
TESTS_ENVIRONMENT += FOO_BAR='@FOO_BAR@'
check_PROGRAMS += test-foo

Here, the TESTS_ENVIRONMENT variable can be used to pass values determined by configure or by the Makefile to the shell script, as environment variables. The Autoconf values EXEEXT and srcdir are already provided as environment variables, through an initial value of TESTS_ENVIRONMENT that gnulib-tool puts in place.

Regardless of the specific form of the unit test, the following guidelines should be respected:


Previous: , Up: Writing modules   [Contents][Index]

4.9 Incompatible changes

Incompatible changes to Gnulib modules should be mentioned in Gnulib’s NEWS file. Incompatible changes here mean that existing source code may not compile or work any more.

We don’t mean changes in the binary interface (ABI), since

  1. Gnulib code is used in source-code form.
  2. The user who distributes libraries that contain Gnulib code is supposed to bump the version number in the way described in the Libtool documentation before every release.

Next: , Previous: , Up: Top   [Contents][Index]

5 Extending Gnulib

Gnulib modules are intended to be suitable for widespread use. Most problems with Gnulib can and should be fixed in a generic way, so that all of Gnulib’s users can benefit from the change. But occasionally a problem arises that is difficult or undesirable to fix generically, or a project that uses Gnulib may need to work around an issue before the Gnulib maintainers commit a final fix. Maintainers may also want to add their own pools of modules to projects as Gnulib “staging areas.”

The obvious way to make local changes to Gnulib modules is to use gnulib-tool to check out pristine modules, then to modify the results in-place. This works well enough for short-lived experiments. It is harder to keep modified versions of Gnulib modules for a long time, even though Git (or another distributed version control systems) can help out a lot with this during the development process.

Git, however, doesn’t address the distribution issue. When a package “foobar” needs a modified version of, say, stdint.in.h, it either has to put a comment into foobar/autogen.sh saying “Attention! This doesn’t work with a pristine Gnulib, you need this and that patch after checking out Gnulib,” or it has to use the ‘--avoid=stdint-h’ option and provide the modified stdint-h module in a different directory.

The --local-dir option to gnulib-tool solves this problem. It allows the package to override or augment Gnulib. This means:

In a release tarball, you can distribute the contents of this --local-dir directory that will be combinable with newer versions of Gnulib, barring incompatible changes to Gnulib.

If the --local-dir=directory option is specified, then gnulib-tool looks in directory whenever it reads a file from the Gnulib directory. Suppose gnulib-tool is looking for file. Then:

You can specify the --local-dir multiple times. In this case, the first specified directory has the highest precedence. That is, a file found in one directory will shadow any file and file.diff in the later directories and in the Gnulib directory. And a file file.diff found in one directory will be applied on top of the combination of file and file.diff files found in the later directories and in the Gnulib directory.

Please make wise use of this option. It also allows you to easily hold back modifications you make to Gnulib macros in cases it may be better to share them.


Next: , Previous: , Up: Top   [Contents][Index]

6 Miscellaneous Notes


Next: , Up: Miscellaneous Notes   [Contents][Index]

6.1 Out of memory handling

The gnulib API does not have a standard error code for the out of memory error condition. Instead of adding a non-standard error code, gnulib has chosen to adopt a different strategy. Out of memory handling happens in rare situations, but performing the out of memory error handling after almost all API function invocations pollute your source code and might make it harder to spot more serious problems. The strategy chosen improves code readability and robustness.

For most applications, aborting the application with an error message when the out of memory situation occurs is the best that can be wished for. This is how the library behaves by default (using the ‘xalloc-die’ module).

However, we realize that some applications may not want to abort execution in any situation. Gnulib supports a hook to let the application regain control and perform its own cleanups when an out of memory situation has occurred. The application can define a function (having a void prototype, i.e., no return value and no parameters) and set the library variable xalloc_die to that function. The variable should be declared as follows.

extern void (*xalloc_die) (void);

Gnulib will invoke this function if an out of memory error occurs. Note that the function should not return. Of course, care must be taken to not allocate more memory, as that will likely also fail.


Next: , Previous: , Up: Miscellaneous Notes   [Contents][Index]

6.2 Obsolete modules

Modules can be marked obsolete. This means that the problems they fix don’t occur any more on the platforms that are reasonable porting targets now. gnulib-tool warns when obsolete modules are mentioned on the command line, and by default ignores dependencies from modules to obsolete modules. When you pass the option --with-obsolete to gnulib-tool, dependencies to obsolete modules will be included, however, unless blocked through an --avoid option. This option is useful if your package should be portable even to very old platforms.

In order to mark a module obsolete, you need to add this to the module description:

Status:
obsolete

Notice:
This module is obsolete.

Next: , Previous: , Up: Miscellaneous Notes   [Contents][Index]

6.3 Extra tests modules

Test modules can be marked with some special status attributes. When a test module has such an attribute, gnulib-tool --import will not include it by default.

The supported status attributes are:

c++-test

Indicates that the test is testing C++ interoperability. Such a test is useful in a C++ or mixed C/C++ package, but is useless in a C package.

longrunning-test

Indicates that the test takes a long time to compile or execute (more than five minutes or so). Such a test is better avoided in a release that is made for the general public.

privileged-test

Indicates that the test will request special privileges, for example, ask for the superuser password. Such a test may hang when run non-interactively and is therefore better avoided in a release that is made for the general public.

unportable-test

Indicates that the test is known to fail on some systems, and that there is no workaround about it. Such a test is better avoided in a release that is made for the general public.

gnulib-tool --import --with-tests will not include tests marked with these attributes by default. When gnulib-tool is invoked with one of the options --with-c++-tests, --with-longrunning-tests, --with-privileged-tests, --with-unportable-tests, it will include tests despite the corresponding special status attribute. When gnulib-tool receives the option --with-all-tests, it will include all tests regardless of their status attributes.

gnulib-tool --create-testdir --with-tests and gnulib-tool --create-megatestdir --with-tests by default include all tests of modules specified on the command line, regardless of their status attributes. Tests of modules occurring as dependencies are not included by default if they have one of these status attributes. The options --with-c++-tests, --with-longrunning-tests, --with-privileged-tests, --with-unportable-tests are recognized here as well. Additionally, gnulib-tool also understands the options --without-c++-tests, --without-longrunning-tests, --without-privileged-tests, --without-unportable-tests.

In order to mark a module with a status attribute, you need to add it to the module description, like this:

Status:
longrunning-test

If only a part of a test deserves a particular status attribute, you can split the module into a primary and a secondary test module, say foo-tests and foo-extra-tests. Then add a dependency from foo-tests to foo-extra-tests, and mark the foo-extra-tests with the particular status attribute.


Next: , Previous: , Up: Miscellaneous Notes   [Contents][Index]

6.4 Modules that modify the way other modules work

The normal way to design modules is that each module has its own code, and the module dependencies provide the facilities on which this code can rely. But sometimes it is necessary to use more advanced techniques. For example:

Be aware that these advanced techniques likely cause breakage in the situation of multiple gnulib-tool invocations in the scope of a single configure file. This is because the question “is module B present?” does not have a unique answer in such situations. gnulib-tool has support for these techniques in the situation of --create-testdir (without option --two-configures), which basically has two gnulib-tool invocations, one for a set of modules that end up in gllib, and one for the set of modules that end up in gltests. But you should be aware that this does not cover the general situation.

Which technique to use, depends on the answer to the question: “If my module occurs among the modules of gltests, should it have an effect on the modules in gllib?”

If the answer is “no”, your module description should invoke the Autoconf macro gl_MODULE_INDICATOR. This Autoconf macro takes one argument: the name of your module. The effect of gl_MODULE_INDICATOR([my-module]) is to define, in config.h, a C macro GNULIB_MY_MODULE that indicates whether your macro is considered to be present. This works even when your macro is used in gltests: GNULIB_MY_MODULE will then evaluate to 1 in gltests but to 0 in gllib.

If the answer is “yes”, you have two techniques available. The first one is to invoke a similar Autoconf macro, named gl_MODULE_INDICATOR_FOR_TESTS. It works similarly. However, when your macro is used in gltests, GNULIB_MY_MODULE will evaluate to 1 both in gltests and in gllib.

The second one is to define a shell variable in the configure file that tells whether your module is present, through use of m4_divert_text. The Autoconf macros of a dependency module will initialize this shell variable, through ‘m4_divert_text([DEFAULTS], [my_shell_var=no])’. The Autoconf macros of your module will override this value, through ‘m4_divert_text([INIT_PREPARE], [my_shell_var=yes])’. Then you can use my_shell_var in the Autoconf macros of both modules. You can find more details about this technique in the Gnulib module getopt-gnu.

Reminder: These techniques are advanced. They have the potential to cause lots of headaches if you apply them incorrectly.


Next: , Previous: , Up: Miscellaneous Notes   [Contents][Index]

6.5 A C++ namespace for gnulib

The function definitions provided by Gnulib (.c code) are meant to be compiled by a C compiler. The header files (.h files), on the other hand, can be used in either C or C++.

By default, when used in a C++ compilation unit, the .h files declare the same symbols and overrides as in C mode, except that functions defined by Gnulib or by the system are declared as ‘extern "C"’.

It is also possible to indicate to Gnulib to provide many of its symbols in a dedicated C++ namespace. If you define the macro GNULIB_NAMESPACE to an identifier, many functions will be defined in the namespace specified by the identifier instead of the global namespace. For example, after you have defined

#define GNULIB_NAMESPACE gnulib

at the beginning of a compilation unit, Gnulib’s <fcntl.h> header file will make available the open function as gnulib::open. The symbol open will still refer to the system’s open function, with its platform specific bugs and limitations.

The symbols provided in the Gnulib namespace are those for which the corresponding header file contains a _GL_CXXALIAS_RPL or _GL_CXXALIAS_SYS macro invocation.

The benefits of this namespace mode are:

The drawback of this namespace mode is that the system provided symbols in the global namespace are still present, even when they contain bugs that Gnulib fixes. For example, if you call open (...) in your code, it will invoke the possibly buggy system function, even if you have requested the module ‘open’ from gnulib-tool.

You can turn on the namespace mode in some compilation units and keep it turned off in others. This can be useful if your package consists of an application layer that does not need to invoke POSIX functions and an operating system interface layer that contains all the OS function calls. In such a situation, you will want to turn on the namespace mode for the application layer—to avoid many preprocessor macro definitions—and turn it off for the OS interface layer—to avoid the drawback of the namespace mode, mentioned above.


Next: , Previous: , Up: Miscellaneous Notes   [Contents][Index]

6.6 License Texinfo sources

Gnulib provides copies of the GNU GPL, GNU LGPL, GNU Affero GPL, and GNU FDL licenses in Texinfo form. (The master location is https://www.gnu.org/licenses/). These Texinfo documents do not have any node names and structures built into them; for your manual, you should @include them in an appropriate @node.

The conventional name for the GPL node is ‘Copying’ and for the FDL ‘GNU Free Documentation License’. The LGPL doesn’t seem to have a conventional node name.

Of course the license texts themselves should not be changed at all.

The recommended way to make use of these license files, consistently with current practice, is as follows:

We recommend to place the licenses as appendices at the end of the manual, right before any indices. For the FDL, we suggest the following @menu entry:

* GNU Free Documentation License::  License for copying this manual

For any @detailmenu entries, we suggest the following:

Copying This Manual

* GNU Free Documentation License::     Copying and sharing this manual

And for actual inclusion of the FDL itself, we suggest the following:

@node GNU Free Documentation License
@appendix GNU Free Documentation License

@include fdl.texi

Next: , Previous: , Up: Miscellaneous Notes   [Contents][Index]

6.7 Building gnulib

If you wish to help the gnulib development effort with build logs for your favorite platform, you may perform these steps:

  1. Prerequisites tools

    Install the proper development tools. To build and test all of Gnulib, you will need development tools for the programming languages C, C++, Python, and Perl, along with standard POSIX utilities such as awk, make, and sh. You will also need development tools that include Autoconf, Automake, Bison, Gettext, Git, GNU M4, Gperf, Libtool, and Texinfo. Some of these tools are needed only by some modules. More details can be found in Gnulib’s DEPENDENCIES file.

  2. Obtain Gnulib

    See https://www.gnu.org/software/gnulib/ for how to get the current Gnulib sources via Git.

  3. Create gnulib directory

    On a machine with GNU development tools installed and with a gnulib git checkout, use

    gnulib-tool --create-testdir --with-tests --dir=...
    

    Alternatively, pick a small set of modules and run

    gnulib-tool --create-megatestdir --with-tests --dir=... autobuild MODULES
    

    (You can’t do this with all of Gnulib at once: gnulib-tool would run for a week and produce a directory that takes more than 100 GB, maybe even 1 TB, of disk space.)

  4. Transfer gnulib directory

    Transfer this directory to a build machine (HP-UX, Cygwin, or whatever). Often it is easier to transfer one file, and this can be achieved by running, inside the directory the following commands:

    ./configure
    make dist
    

    And then transferring the dummy-0.tar.gz file.

  5. Build modules

    On the build machine, run ./do-autobuild (or "nohup ./do-autobuild"). It creates a directory logs/ with a log file for each module.


Previous: , Up: Miscellaneous Notes   [Contents][Index]

6.8 Gnulib Git Bundle

To provide a serialized archival copy of the Gnulib Git repository we publish Git Bundles (https://git-scm.com/docs/git-bundle) of Gnulib at https://ftp.gnu.org/gnu/gnulib/. These may be useful if Savannah happens to be offline or if you want to have a GnuPG signed confirmation of the Gnulib content.

The files are named like gnulib-YYYYMMDD.bundle, for example gnulib-20250729.bundle, where YYYYMMDD corresponds to the Git commit date (in UTC0) of the last commit on the master branch in the bundle.

After downloading the Git bundle you may use it to create a local gnulib clone using normal Git commands:

wget -nv https://ftp.gnu.org/gnu/gnulib/gnulib-20250729.bundle
git clone gnulib-20250729.bundle gnulib
cd gnulib

Below are SHA-256 checksums of known releases:

9dae009ef9dd7cff17b74c0cda5d7a423e2ed98b4f5b7aa29a970565b0591c06  gnulib-20250303.bundle
f01e423a7ef6b48e947fabd24bb11744204f4549342416e15dc64f427caa32e2  gnulib-20250729.bundle

Next to the Git Bundle is a GnuPG signature on the file, named gnulib-YYYYMMDD.bundle.sig, which can be verified using GnuPG as usual:

gpg --verify gnulib-20250729.bundle.sig

Or using the simpler gpgv tool like this:

gpgv gnulib-20250729.bundle.sig gnulib-20250729.bundle

The following GnuPG keys have signed releases:

sec>  ed25519 2019-03-20 [SC] https://josefsson.org/key-20190320.txt
      B1D2BD1375BECB784CF4F8C4D73CF638C53C06BE
uid           [ultimate] Simon Josefsson <simon@josefsson.org>

We desire that the Gnulib Git bundles will be forever bit-by-bit reproducible for others from the official git repository. Currently gnulib maintainers may invoke the following commands to prepare and upload a Gnulib git bundle. We appreciate ideas on how to improve these set of commands (or the upstream Git tool) to make further supply-chain security related improvements.

cd $(mktemp -d)
REV=225973a89f50c2b494ad947399425182dd42618c   # master branch commit to package
S1REV=475dd38289d33270d0080085084bf687ad77c74d # stable-202501 branch commit
S2REV=e8cc0791e6bb0814cf4e88395c06d5e06655d8b5 # stable-202507 branch commit
git clone https://git.savannah.gnu.org/git/gnulib.git
cd gnulib
git fsck # attempt to validate input
# Manually inspect that the new tree matches a trusted previous copy
git checkout -B master $REV # put $REV at master
# Add all stable-* branches locally:
for b in $(git branch -r | grep origin/stable- | sort --version-sort); do git checkout ${b#origin/}; done
git checkout -B stable-202501 $S1REV
git checkout -B stable-202507 $S2REV
git remote remove origin # drop some unrelated branches
git gc --prune=now # drop any unrelated commits, not clear this helps
git -c pack.threads=1 repack -adF
git -c 'pack.threads=1' bundle create gnulib.bundle --all
V=$(env TZ=UTC0 git show -s --date=format:%Y%m%d --pretty=%cd master)
mv gnulib.bundle gnulib-$V.bundle
build-aux/gnupload --to ftp.gnu.org:gnulib gnulib-$V.bundle

Next: , Previous: , Up: Top   [Contents][Index]

7 Building the ISO C and POSIX Substitutes

This section shows a radically different way to use Gnulib.

You can extract the ISO C / POSIX substitutes part of gnulib by running the command

gnulib-tool --create-testdir --source-base=lib \
            --dir=/tmp/posixlib `posix-modules`

The command ‘posix-modules’ is found in the same directory as gnulib-tool.

The resulting directory can be built on a particular platform, independently of the program being ported. Then you can configure and build any program, by setting CPPFLAGS and LDFLAGS at configure time accordingly: set CPPFLAGS="-I.../posixlib/lib", plus any essential type definitions and flags that you find in .../posixlib/config.h, and set LDFLAGS=".../posixlib/lib/libgnu.a".

This way of using Gnulib is useful when you don’t want to modify the program’s source code, or when the program uses a mix between C and C++ sources (requiring separate builds of the posixlib for the C compiler and for the C++ compiler).


Next: , Previous: , Up: Top   [Contents][Index]

8 ISO C Keyword Substitutes

This chapter describes which keywords specified by ISO C are substituted by Gnulib.


Next: , Up: Keyword Substitutes   [Contents][Index]

8.1 alignof and alignas

Gnulib module: alignasof

The alignasof module arranges for alignas and alignof to be more like standard C.

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Keyword Substitutes   [Contents][Index]

8.2 bool

Gnulib module: bool

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Keyword Substitutes   [Contents][Index]

8.3 nullptr

Gnulib module: nullptr

The nullptr module arranges for nullptr to act like standard C and C++.

The nullptr keyword yields a null pointer. It differs from the NULL macro, in that NULL might be an integer whereas nullptr is of a special nullptr_t type with only one value, namely nullptr itself. Using nullptr can help some compilers emit more sensible warnings, can avoid the need to cast a null pointer passed to a function prototyped with an ellipsis, and removes the need to include <stddef.h> merely to define NULL.

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Keyword Substitutes   [Contents][Index]

8.4 static_assert

Gnulib module: assert-h

The assert-h module arranges for both static_assert and <assert.h> to be like standard C. See assert.h.

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Top   [Contents][Index]

9 ISO C and POSIX Header File Substitutes

This chapter describes which header files specified by ISO C or POSIX are substituted by Gnulib, which portability pitfalls are fixed by Gnulib, and which (known) portability problems are not worked around by Gnulib.

The notation “Gnulib module: —” means that Gnulib does not provide a module providing a substitute for the header file. When the list “Portability problems not fixed by Gnulib” is empty, such a module is not needed: No portability problems are known. Otherwise, it indicates that such a module would be useful but is not available: No one so far found this header file important enough to contribute a substitute for it. If you need this particular header file, you may write to <bug-gnulib at gnu dot org>.


Next: , Up: Header File Substitutes   [Contents][Index]

9.1 aio.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/aio.h.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.2 arpa/inet.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/arpa_inet.h.html

Gnulib module: arpa_inet-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.3 assert.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/assert.h.html

Gnulib module: assert-h

See also the Gnulib modules assert and verify.

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.4 complex.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/complex.h.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.5 cpio.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/cpio.h.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.6 ctype.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/ctype.h.html

Gnulib module: ctype-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.7 devctl.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/devctl.h.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.8 dirent.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/dirent.h.html

Gnulib module: dirent-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.9 dlfcn.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/dlfcn.h.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.10 endian.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/endian.h.html

Describes the platform’s endianness (byte ordering of words stored in memory). Defines the macros BYTE_ORDER, LITTLE_ENDIAN, BIG_ENDIAN, PDP_ENDIAN.

Gnulib module: endian

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.11 errno.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/errno.h.html

Gnulib module: errno-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.12 fcntl.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/fcntl.h.html

Gnulib module: fcntl-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.13 fenv.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/fenv.h.html

Gnulib module: fenv-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.14 float.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html

Gnulib module: float-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.15 fmtmsg.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/fmtmsg.h.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.16 fnmatch.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/fnmatch.h.html

Gnulib module: fnmatch-h, fnmatch-gnu

Portability problems fixed by Gnulib module fnmatch-h:

Portability problems fixed by Gnulib module fnmatch-gnu, together with module fnmatch-h:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.17 ftw.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/ftw.h.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.18 glob.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/glob.h.html

Gnulib module: glob-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.19 grp.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/grp.h.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.20 iconv.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/iconv.h.html

Gnulib module: iconv

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.21 inttypes.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/inttypes.h.html

Gnulib module: inttypes-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.22 iso646.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/iso646.h.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.23 langinfo.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/langinfo.h.html

Gnulib module: langinfo-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.24 libgen.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/libgen.h.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

The Gnulib module dirname provides similar API, with functions base_name and dir_name that also work with Windows file names.


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.25 libintl.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/libintl.h.html

Defines the macros __USE_GNU_GETTEXT, __GNU_GETTEXT_SUPPORTED_REVISION, and declares the functions gettext, dgettext, dcgettext, ngettext, dngettext, dcngettext, textdomain, bindtextdomain, bind_textdomain_codeset.

Documentation:

Gnulib module: gettext

Portability problems fixed by Gnulib, if GNU gettext is installed:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.26 limits.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/limits.h.html

Gnulib module: limits-h or gethostname

Portability problems fixed by Gnulib module limits-h:

Portability problems fixed by Gnulib module gethostname:

Portability problems not fixed by Gnulib:

For PATH_MAX, Gnulib provides a module pathmax with a header file "pathmax.h". It defines PATH_MAX to a constant on platforms with a file name length limit.


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.27 locale.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/locale.h.html

Gnulib module: locale-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.28 math.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/math.h.html

Gnulib module: math-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.29 monetary.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/monetary.h.html

Gnulib module: monetary-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.30 mqueue.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/mqueue.h.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.31 ndbm.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/ndbm.h.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.32 net/if.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/net_if.h.html

Gnulib module: net_if-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.33 netdb.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/netdb.h.html

Gnulib module: netdb-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.34 netinet/in.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/netinet_in.h.html

Gnulib module: netinet_in-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.35 netinet/tcp.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/netinet_tcp.h.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.36 nl_types.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/nl_types.h.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.37 poll.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/poll.h.html

Gnulib module: poll-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.38 pthread.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/pthread.h.html

Gnulib module: pthread-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.39 pwd.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/pwd.h.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.40 regex.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/regex.h.html

Gnulib module: regex

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.41 sched.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/sched.h.html

Gnulib module: sched-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.42 search.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/search.h.html

Gnulib module: search-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.43 semaphore.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/semaphore.h.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.44 setjmp.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/setjmp.h.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.45 signal.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/signal.h.html

Gnulib module: signal-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.46 spawn.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/spawn.h.html

Gnulib module: spawn-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.47 stdalign.h

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf sections 6.5.3.4, 6.7.5, 7.15.

C++11 specification:
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf section 18.10.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/stdalign.h.html

Gnulib module: alignasof

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.48 stdarg.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/stdarg.h.html

Gnulib module: stdarg-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.49 stdatomic.h

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.17.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/stdatomic.h.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.50 stdbit.h

POSIX :
Not in POSIX yet, but we expect it will be. ISO C23 (latest free draft https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf) section 7.18.

Gnulib module: stdbit

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.51 stdbool.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/stdbool.h.html

Gnulib module: stdbool-h-c99

The stdbool-h-c99 module is present only for programs that formerly used the old stdbool module for C99 compatibility, and that for some reason cannot use the current bool module for C23 compatibility.

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.52 stdckdint.h

POSIX specification:
Not in POSIX yet, but we expect it will be. ISO draft C23 (https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf) section 7.20.

Gnulib module: stdckdint-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.53 stddef.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/stddef.h.html

Gnulib module: stddef-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.54 stdint.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/stdint.h.html

Gnulib module: stdint-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

The stdint-h module uses #include_next. If you wish to install the generated stdint.h file under another name, typically in order to be able to use some of the types defined by stdint.h in your public header file, you could use the following Makefile.am-snippet:


BUILT_SOURCES += idn-int.h
DISTCLEANFILES += idn-int.h
nodist_include_HEADERS += idn-int.h

idn-int.h:
	if test -n "$(STDINT_H)"; then \
		sed -e s/include_next/include/ gl/stdint.h > idn-int.h; \
	else \
		echo '#include <stdint.h>' > idn-int.h; \
	fi

Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.55 stdio.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/stdio.h.html

Gnulib module: stdio-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.56 stdlib.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/stdlib.h.html

Gnulib module: stdlib-h, system-posix

Portability problems fixed by the Gnulib module stdlib-h:

Portability problems fixed by the Gnulib module system-posix:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.57 stdnoreturn.h

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.25.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/stdnoreturn.h.html

Gnulib module: stdnoreturn-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.58 string.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/string.h.html

Gnulib module: string-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.59 strings.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/strings.h.html

Gnulib module: strings-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.60 stropts.h

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/stropts.h.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.61 sys/ipc.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/sys_ipc.h.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.62 sys/mman.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/sys_mman.h.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.63 sys/msg.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/sys_msg.h.html

Gnulib module: sys_msg-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.64 sys/resource.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/sys_resource.h.html

Gnulib module: sys_resource-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.65 sys/select.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/sys_select.h.html

Gnulib module: sys_select-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.66 sys/sem.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/sys_sem.h.html

Gnulib module: sys_sem-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.67 sys/shm.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/sys_shm.h.html

Gnulib module: sys_shm-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.68 sys/socket.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/sys_socket.h.html

Gnulib module: sys_socket-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.69 sys/stat.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/sys_stat.h.html

Gnulib module: sys_stat-h

Portability problems fixed by Gnulib module sys_stat-h:

Portability problems fixed by Gnulib module sys_stat-h, together with module windows-stat-inodes:

On platforms where off_t is a 32-bit type, struct stat cannot represent the size of files or block devices 2 GiB or lager and may not work correctly on directories 2 GiB or larger. Also, on platforms where ino_t is a 32-bit type, struct stat cannot represent larger inode numbers. See Large File Support, for how to address these problems.

See Avoiding the year 2038 problem, for portability issues with the time_t components of struct stat.

Portability problems not fixed by Gnulib:

To partially work around porting problems with Microsoft Windows and OpenVMS, you can use the Gnulib same-inode module to test whether two struct stat objects are known to represent the same file. For example, psame_inode (&a, &b) is true if the struct stat objects a and b are known to represent the same file.

Another partial workaround is to compare other file metadata such as st_mode and st_mtime on platforms where st_dev and st_ino not uniquely identify a file. However, this does not work reliably on files whose metadata are being changed by other programs, or where the metadata happen to be equal.


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.70 sys/statvfs.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/sys_statvfs.h.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.71 sys/time.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/sys_time.h.html

Gnulib module: sys_time-h

Portability problems fixed by Gnulib:

See Avoiding the year 2038 problem, for portability issues with time_t and the time_t component of struct timeval.

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.72 sys/timeb.h

Removed in POSIX.1-2008. POSIX.1-2004 specification:
https://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/timeb.h.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.73 sys/times.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/sys_times.h.html

Gnulib module: sys_times-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.74 sys/types.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/sys_types.h.html

Gnulib module: sys_types-h

Portability problems fixed by Gnulib:

See Avoiding the year 2038 problem, for portability issues with time_t.

Portability problems not fixed by Gnulib:

This module, together with the module largefile, also defines the type off_t to a 64-bit integer type on some platforms: mingw, MSVC 14.


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.75 sys/uio.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/sys_uio.h.html

Gnulib module: sys_uio-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.76 sys/un.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/sys_un.h.html

Gnulib module: sys_un-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.77 sys/utsname.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/sys_utsname.h.html

Gnulib module: sys_utsname-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.78 sys/wait.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/sys_wait.h.html

Gnulib module: sys_wait-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.79 syslog.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/syslog.h.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.80 tar.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/tar.h.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.81 termios.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/termios.h.html

Gnulib module: termios-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.82 tgmath.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/tgmath.h.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.83 threads.h

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.28.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/threads.h.html

Defines the multithreading facility of ISO C11.

Gnulib module: threads-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.84 time.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/time.h.html

Gnulib module: time-h

Portability problems fixed by Gnulib:

Portability problems fixed by the Gnulib module year2038:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.85 trace.h

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/trace.h.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.86 uchar.h

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.30.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/uchar.h.html

Defines the types char16_t, char32_t and declares the functions mbrtoc16, c16rtomb, mbrtoc32, c32rtomb.

Gnulib module: uchar-h or uchar-h-c23

Portability problems fixed by either Gnulib module uchar-h or uchar-h-c23:

Portability problems fixed by Gnulib module uchar-h-c23:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.87 ucontext.h

Removed in POSIX.1-2008. POSIX.1-2004 specification:
https://pubs.opengroup.org/onlinepubs/009695399/basedefs/ucontext.h.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.88 ulimit.h

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/ulimit.h.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.89 unistd.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/unistd.h.html

Gnulib module: unistd-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.90 utime.h

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/utime.h.html

Gnulib module: utime-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.91 utmpx.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/utmpx.h.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.92 wchar.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/wchar.h.html

Gnulib module: wchar-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Header File Substitutes   [Contents][Index]

9.93 wctype.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/wctype.h.html

Gnulib module: wctype-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Header File Substitutes   [Contents][Index]

9.94 wordexp.h

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/wordexp.h.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Top   [Contents][Index]

10 ISO C and POSIX Function Substitutes

This chapter describes which functions and function-like macros specified by ISO C (including ISO TS 18661-1) or POSIX are substituted by Gnulib, which portability pitfalls are fixed by Gnulib, and which (known) portability problems are not worked around by Gnulib.

The notation “Gnulib module: —” means that Gnulib does not provide a module providing a substitute for the function. When the list “Portability problems not fixed by Gnulib” is empty, such a module is not needed: No portability problems are known. Otherwise, it indicates that such a module would be useful but is not available: No one so far found this function important enough to contribute a substitute for it. If you need this particular function, you may write to <bug-gnulib at gnu dot org>.

This list of functions is sorted according to the header that declares them.


Next: , Up: Function Substitutes   [Contents][Index]

10.1 Functions in <aio.h>


Next: , Up: Functions in <aio.h>   [Contents][Index]

10.1.1 aio_cancel

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/aio_cancel.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <aio.h>   [Contents][Index]

10.1.2 aio_error

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/aio_error.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <aio.h>   [Contents][Index]

10.1.3 aio_fsync

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/aio_fsync.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <aio.h>   [Contents][Index]

10.1.4 aio_read

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/aio_read.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <aio.h>   [Contents][Index]

10.1.5 aio_return

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/aio_return.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <aio.h>   [Contents][Index]

10.1.6 aio_suspend

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/aio_suspend.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <aio.h>   [Contents][Index]

10.1.7 aio_write

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/aio_write.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <aio.h>   [Contents][Index]

10.1.8 lio_listio

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/lio_listio.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.2 Functions in <arpa/inet.h>


Next: , Up: Functions in <arpa/inet.h>   [Contents][Index]

10.2.1 htonl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/htonl.html

Gnulib module: htonl

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <arpa/inet.h>   [Contents][Index]

10.2.2 htons

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/htons.html

Gnulib module: htonl

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <arpa/inet.h>   [Contents][Index]

10.2.3 inet_addr

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/inet_addr.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <arpa/inet.h>   [Contents][Index]

10.2.4 inet_ntoa

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/inet_ntoa.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: inet_ntoa is specific for IPv4 addresses. A protocol independent function is inet_ntop.


Next: , Previous: , Up: Functions in <arpa/inet.h>   [Contents][Index]

10.2.5 inet_ntop

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/inet_ntop.html

Gnulib module: inet_ntop

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <arpa/inet.h>   [Contents][Index]

10.2.6 inet_pton

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/inet_pton.html

Gnulib module: inet_pton

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <arpa/inet.h>   [Contents][Index]

10.2.7 ntohl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ntohl.html

Gnulib module: htonl

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <arpa/inet.h>   [Contents][Index]

10.2.8 ntohs

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ntohs.html

Gnulib module: htonl

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.3 Functions in <assert.h>


Up: Functions in <assert.h>   [Contents][Index]

10.3.1 assert

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/assert.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Extension: Gnulib offers a module ‘assert’ that allows the installer to disable assertions through a ‘configure’ option: ‘--disable-assert’.


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.4 Functions in <complex.h>


Next: , Up: Functions in <complex.h>   [Contents][Index]

10.4.1 CMPLX

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.3.9.3.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/CMPLX.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.2 CMPLXF

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.3.9.3.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/CMPLXF.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.3 CMPLXL

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.3.9.3.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/CMPLXL.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.4 cabs

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cabs.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.5 cabsf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cabsf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.6 cabsl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cabsl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.7 cacos

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cacos.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.8 cacosf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cacosf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.9 cacosh

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cacosh.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.10 cacoshf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cacoshf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.11 cacoshl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cacoshl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.12 cacosl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cacosl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.13 carg

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/carg.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.14 cargf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cargf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.15 cargl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cargl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.16 casin

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/casin.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.17 casinf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/casinf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.18 casinh

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/casinh.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.19 casinhf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/casinhf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.20 casinhl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/casinhl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.21 casinl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/casinl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.22 catan

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/catan.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.23 catanf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/catanf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.24 catanh

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/catanh.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.25 catanhf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/catanhf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.26 catanhl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/catanhl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.27 catanl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/catanl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.28 ccos

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ccos.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.29 ccosf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ccosf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.30 ccosh

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ccosh.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.31 ccoshf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ccoshf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.32 ccoshl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ccoshl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.33 ccosl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ccosl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.34 cexp

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cexp.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.35 cexpf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cexpf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.36 cexpl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cexpl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.37 cimag

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cimag.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.38 cimagf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cimagf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.39 cimagl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cimagl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.40 clog

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/clog.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.41 clogf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/clogf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.42 clogl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/clogl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.43 conj

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/conj.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.44 conjf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/conjf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.45 conjl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/conjl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.46 cpow

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cpow.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.47 cpowf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cpowf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.48 cpowl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cpowl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.49 cproj

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cproj.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.50 cprojf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cprojf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.51 cprojl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cprojl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.52 creal

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/creal.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.53 crealf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/crealf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.54 creall

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/creall.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.55 csin

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/csin.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.56 csinf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/csinf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.57 csinh

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/csinh.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.58 csinhf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/csinhf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.59 csinhl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/csinhl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.60 csinl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/csinl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.61 csqrt

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/csqrt.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.62 csqrtf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/csqrtf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.63 csqrtl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/csqrtl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.64 ctan

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ctan.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.65 ctanf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ctanf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.66 ctanh

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ctanh.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.67 ctanhf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ctanhf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.68 ctanhl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ctanhl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <complex.h>   [Contents][Index]

10.4.69 ctanl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ctanl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.5 Functions in <ctype.h>


Next: , Up: Functions in <ctype.h>   [Contents][Index]

10.5.1 isalnum

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/isalnum.html

Gnulib module: ctype

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: This function’s behaviour depends on the locale, but does not support the multibyte characters that occur in strings in locales with MB_CUR_MAX > 1 (this includes all the common UTF-8 locales). There are five alternative APIs:

c_isalnum

This function operates in a locale independent way and returns true only for ASCII characters. It is provided by the Gnulib module ‘c-ctype’.

iswalnum

This function operates in a locale dependent way, on wide characters. In order to use it, you first have to convert from multibyte to wide characters, using the mbrtowc function. It is provided by the Gnulib module ‘wctype’.

c32isalnum

This function operates in a locale dependent way, on 32-bit wide characters. In order to use it, you first have to convert from multibyte to 32-bit wide characters, using the mbrtoc32 function. It is provided by the Gnulib module ‘c32isalnum’.

mb_isalnum

This function operates in a locale dependent way, on multibyte characters. It is provided by the Gnulib module ‘mbchar’.

uc_is_alnum

This function operates in a locale independent way, on Unicode characters. It is provided by the Gnulib module ‘unictype/ctype-alnum’.


Next: , Previous: , Up: Functions in <ctype.h>   [Contents][Index]

10.5.2 isalnum_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/isalnum_l.html

Gnulib module: isalnum_l

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <ctype.h>   [Contents][Index]

10.5.3 isalpha

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/isalpha.html

Gnulib module: ctype

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: This function’s behaviour depends on the locale, but does not support the multibyte characters that occur in strings in locales with MB_CUR_MAX > 1 (this includes all the common UTF-8 locales). There are five alternative APIs:

c_isalpha

This function operates in a locale independent way and returns true only for ASCII characters. It is provided by the Gnulib module ‘c-ctype’.

iswalpha

This function operates in a locale dependent way, on wide characters. In order to use it, you first have to convert from multibyte to wide characters, using the mbrtowc function. It is provided by the Gnulib module ‘wctype’.

c32isalpha

This function operates in a locale dependent way, on 32-bit wide characters. In order to use it, you first have to convert from multibyte to 32-bit wide characters, using the mbrtoc32 function. It is provided by the Gnulib module ‘c32isalpha’.

mb_isalpha

This function operates in a locale dependent way, on multibyte characters. It is provided by the Gnulib module ‘mbchar’.

uc_is_alpha

This function operates in a locale independent way, on Unicode characters. It is provided by the Gnulib module ‘unictype/ctype-alpha’.


Next: , Previous: , Up: Functions in <ctype.h>   [Contents][Index]

10.5.4 isalpha_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/isalpha_l.html

Gnulib module: isalpha_l

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <ctype.h>   [Contents][Index]

10.5.5 isblank

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/isblank.html

Gnulib module: isblank

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: This function’s behaviour depends on the locale, but does not support the multibyte characters that occur in strings in locales with MB_CUR_MAX > 1 (this includes all the common UTF-8 locales). There are five alternative APIs:

c_isblank

This function operates in a locale independent way and returns true only for ASCII characters. It is provided by the Gnulib module ‘c-ctype’.

iswblank

This function operates in a locale dependent way, on wide characters. In order to use it, you first have to convert from multibyte to wide characters, using the mbrtowc function. It is provided by the Gnulib module ‘wctype’.

c32isblank

This function operates in a locale dependent way, on 32-bit wide characters. In order to use it, you first have to convert from multibyte to 32-bit wide characters, using the mbrtoc32 function. It is provided by the Gnulib module ‘c32isblank’.

mb_isblank

This function operates in a locale dependent way, on multibyte characters. It is provided by the Gnulib module ‘mbchar’.

uc_is_blank

This function operates in a locale independent way, on Unicode characters. It is provided by the Gnulib module ‘unictype/ctype-blank’.


Next: , Previous: , Up: Functions in <ctype.h>   [Contents][Index]

10.5.6 isblank_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/isblank_l.html

Gnulib module: isblank_l

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <ctype.h>   [Contents][Index]

10.5.7 iscntrl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/iscntrl.html

Gnulib module: ctype

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: This function’s behaviour depends on the locale, but does not support the multibyte characters that occur in strings in locales with MB_CUR_MAX > 1 (this includes all the common UTF-8 locales). There are five alternative APIs:

c_iscntrl

This function operates in a locale independent way and returns true only for ASCII characters. It is provided by the Gnulib module ‘c-ctype’.

iswcntrl

This function operates in a locale dependent way, on wide characters. In order to use it, you first have to convert from multibyte to wide characters, using the mbrtowc function. It is provided by the Gnulib module ‘wctype’.

c32iscntrl

This function operates in a locale dependent way, on 32-bit wide characters. In order to use it, you first have to convert from multibyte to 32-bit wide characters, using the mbrtoc32 function. It is provided by the Gnulib module ‘c32iscntrl’.

mb_iscntrl

This function operates in a locale dependent way, on multibyte characters. It is provided by the Gnulib module ‘mbchar’.

uc_is_cntrl

This function operates in a locale independent way, on Unicode characters. It is provided by the Gnulib module ‘unictype/ctype-cntrl’.


Next: , Previous: , Up: Functions in <ctype.h>   [Contents][Index]

10.5.8 iscntrl_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/iscntrl_l.html

Gnulib module: iscntrl_l

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <ctype.h>   [Contents][Index]

10.5.9 isdigit

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/isdigit.html

Gnulib module: ctype

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: This function does not support the multibyte characters that occur in strings in locales with MB_CUR_MAX > 1 (this includes all the common UTF-8 locales). There are five alternative APIs:

c_isdigit

This function operates in a locale independent way and returns true only for ASCII characters. It is provided by the Gnulib module ‘c-ctype’.

iswdigit

This function operates in a locale dependent way, on wide characters. In order to use it, you first have to convert from multibyte to wide characters, using the mbrtowc function. It is provided by the Gnulib module ‘wctype’.

c32isdigit

This function operates in a locale dependent way, on 32-bit wide characters. In order to use it, you first have to convert from multibyte to 32-bit wide characters, using the mbrtoc32 function. It is provided by the Gnulib module ‘c32isdigit’.

mb_isdigit

This function operates in a locale dependent way, on multibyte characters. It is provided by the Gnulib module ‘mbchar’.

uc_is_digit

This function operates in a locale independent way, on Unicode characters. It is provided by the Gnulib module ‘unictype/ctype-digit’.


Next: , Previous: , Up: Functions in <ctype.h>   [Contents][Index]

10.5.10 isdigit_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/isdigit_l.html

Gnulib module: isdigit_l

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <ctype.h>   [Contents][Index]

10.5.11 isgraph

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/isgraph.html

Gnulib module: ctype

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: This function’s behaviour depends on the locale, but does not support the multibyte characters that occur in strings in locales with MB_CUR_MAX > 1 (this includes all the common UTF-8 locales). There are five alternative APIs:

c_isgraph

This function operates in a locale independent way and returns true only for ASCII characters. It is provided by the Gnulib module ‘c-ctype’.

iswgraph

This function operates in a locale dependent way, on wide characters. In order to use it, you first have to convert from multibyte to wide characters, using the mbrtowc function. It is provided by the Gnulib module ‘wctype’.

c32isgraph

This function operates in a locale dependent way, on 32-bit wide characters. In order to use it, you first have to convert from multibyte to 32-bit wide characters, using the mbrtoc32 function. It is provided by the Gnulib module ‘c32isgraph’.

mb_isgraph

This function operates in a locale dependent way, on multibyte characters. It is provided by the Gnulib module ‘mbchar’.

uc_is_graph

This function operates in a locale independent way, on Unicode characters. It is provided by the Gnulib module ‘unictype/ctype-graph’.


Next: , Previous: , Up: Functions in <ctype.h>   [Contents][Index]

10.5.12 isgraph_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/isgraph_l.html

Gnulib module: isgraph_l

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <ctype.h>   [Contents][Index]

10.5.13 islower

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/islower.html

Gnulib module: ctype

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: This function’s behaviour depends on the locale, but does not support the multibyte characters that occur in strings in locales with MB_CUR_MAX > 1 (this includes all the common UTF-8 locales). There are five alternative APIs:

c_islower

This function operates in a locale independent way and returns true only for ASCII characters. It is provided by the Gnulib module ‘c-ctype’.

iswlower

This function operates in a locale dependent way, on wide characters. In order to use it, you first have to convert from multibyte to wide characters, using the mbrtowc function. It is provided by the Gnulib module ‘wctype’.

c32islower

This function operates in a locale dependent way, on 32-bit wide characters. In order to use it, you first have to convert from multibyte to 32-bit wide characters, using the mbrtoc32 function. It is provided by the Gnulib module ‘c32islower’.

mb_islower

This function operates in a locale dependent way, on multibyte characters. It is provided by the Gnulib module ‘mbchar’.

uc_is_lower

This function operates in a locale independent way, on Unicode characters. It is provided by the Gnulib module ‘unictype/ctype-lower’.


Next: , Previous: , Up: Functions in <ctype.h>   [Contents][Index]

10.5.14 islower_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/islower_l.html

Gnulib module: islower_l

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <ctype.h>   [Contents][Index]

10.5.15 isprint

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/isprint.html

Gnulib module: ctype

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: This function’s behaviour depends on the locale, but does not support the multibyte characters that occur in strings in locales with MB_CUR_MAX > 1 (this includes all the common UTF-8 locales). There are five alternative APIs:

c_isprint

This function operates in a locale independent way and returns true only for ASCII characters. It is provided by the Gnulib module ‘c-ctype’.

iswprint

This function operates in a locale dependent way, on wide characters. In order to use it, you first have to convert from multibyte to wide characters, using the mbrtowc function. It is provided by the Gnulib module ‘wctype’.

c32isprint

This function operates in a locale dependent way, on 32-bit wide characters. In order to use it, you first have to convert from multibyte to 32-bit wide characters, using the mbrtoc32 function. It is provided by the Gnulib module ‘c32isprint’.

mb_isprint

This function operates in a locale dependent way, on multibyte characters. It is provided by the Gnulib module ‘mbchar’.

uc_is_print

This function operates in a locale independent way, on Unicode characters. It is provided by the Gnulib module ‘unictype/ctype-print’.


Next: , Previous: , Up: Functions in <ctype.h>   [Contents][Index]

10.5.16 isprint_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/isprint_l.html

Gnulib module: isprint_l

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <ctype.h>   [Contents][Index]

10.5.17 ispunct

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ispunct.html

Gnulib module: ctype

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: This function’s behaviour depends on the locale, but does not support the multibyte characters that occur in strings in locales with MB_CUR_MAX > 1 (this includes all the common UTF-8 locales). There are five alternative APIs:

c_ispunct

This function operates in a locale independent way and returns true only for ASCII characters. It is provided by the Gnulib module ‘c-ctype’.

iswpunct

This function operates in a locale dependent way, on wide characters. In order to use it, you first have to convert from multibyte to wide characters, using the mbrtowc function. It is provided by the Gnulib module ‘wctype’.

c32ispunct

This function operates in a locale dependent way, on 32-bit wide characters. In order to use it, you first have to convert from multibyte to 32-bit wide characters, using the mbrtoc32 function. It is provided by the Gnulib module ‘c32ispunct’.

mb_ispunct

This function operates in a locale dependent way, on multibyte characters. It is provided by the Gnulib module ‘mbchar’.

uc_is_punct

This function operates in a locale independent way, on Unicode characters. It is provided by the Gnulib module ‘unictype/ctype-punct’.


Next: , Previous: , Up: Functions in <ctype.h>   [Contents][Index]

10.5.18 ispunct_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ispunct_l.html

Gnulib module: ispunct_l

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <ctype.h>   [Contents][Index]

10.5.19 isspace

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/isspace.html

Gnulib module: ctype

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: This function’s behaviour depends on the locale, but does not support the multibyte characters that occur in strings in locales with MB_CUR_MAX > 1 (this includes all the common UTF-8 locales). There are five alternative APIs:

c_isspace

This function operates in a locale independent way and returns true only for ASCII characters. It is provided by the Gnulib module ‘c-ctype’.

iswspace

This function operates in a locale dependent way, on wide characters. In order to use it, you first have to convert from multibyte to wide characters, using the mbrtowc function. It is provided by the Gnulib module ‘wctype’.

c32isspace

This function operates in a locale dependent way, on 32-bit wide characters. In order to use it, you first have to convert from multibyte to 32-bit wide characters, using the mbrtoc32 function. It is provided by the Gnulib module ‘c32isspace’.

mb_isspace

This function operates in a locale dependent way, on multibyte characters. It is provided by the Gnulib module ‘mbchar’.

uc_is_space

This function operates in a locale independent way, on Unicode characters. It is provided by the Gnulib module ‘unictype/ctype-space’.


Next: , Previous: , Up: Functions in <ctype.h>   [Contents][Index]

10.5.20 isspace_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/isspace_l.html

Gnulib module: isspace_l

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <ctype.h>   [Contents][Index]

10.5.21 isupper

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/isupper.html

Gnulib module: ctype

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: This function’s behaviour depends on the locale, but does not support the multibyte characters that occur in strings in locales with MB_CUR_MAX > 1 (this includes all the common UTF-8 locales). There are five alternative APIs:

c_isupper

This function operates in a locale independent way and returns true only for ASCII characters. It is provided by the Gnulib module ‘c-ctype’.

iswupper

This function operates in a locale dependent way, on wide characters. In order to use it, you first have to convert from multibyte to wide characters, using the mbrtowc function. It is provided by the Gnulib module ‘wctype’.

c32isupper

This function operates in a locale dependent way, on 32-bit wide characters. In order to use it, you first have to convert from multibyte to 32-bit wide characters, using the mbrtoc32 function. It is provided by the Gnulib module ‘c32isupper’.

mb_isupper

This function operates in a locale dependent way, on multibyte characters. It is provided by the Gnulib module ‘mbchar’.

uc_is_upper

This function operates in a locale independent way, on Unicode characters. It is provided by the Gnulib module ‘unictype/ctype-upper’.


Next: , Previous: , Up: Functions in <ctype.h>   [Contents][Index]

10.5.22 isupper_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/isupper_l.html

Gnulib module: isupper_l

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <ctype.h>   [Contents][Index]

10.5.23 isxdigit

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/isxdigit.html

Gnulib module: ctype

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: This function does not support the multibyte characters that occur in strings in locales with MB_CUR_MAX > 1 (this includes all the common UTF-8 locales). There are five alternative APIs:

c_isxdigit

This function operates in a locale independent way and returns true only for ASCII characters. It is provided by the Gnulib module ‘c-ctype’.

iswxdigit

This function operates in a locale dependent way, on wide characters. In order to use it, you first have to convert from multibyte to wide characters, using the mbrtowc function. It is provided by the Gnulib module ‘wctype’.

c32isxdigit

This function operates in a locale dependent way, on 32-bit wide characters. In order to use it, you first have to convert from multibyte to 32-bit wide characters, using the mbrtoc32 function. It is provided by the Gnulib module ‘c32isxdigit’.

mb_isxdigit

This function operates in a locale dependent way, on multibyte characters. It is provided by the Gnulib module ‘mbchar’.

uc_is_xdigit

This function operates in a locale independent way, on Unicode characters. It is provided by the Gnulib module ‘unictype/ctype-xdigit’.


Next: , Previous: , Up: Functions in <ctype.h>   [Contents][Index]

10.5.24 isxdigit_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/isxdigit_l.html

Gnulib module: isxdigit_l

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <ctype.h>   [Contents][Index]

10.5.25 tolower

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tolower.html

Gnulib module: ctype

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: This function’s behaviour depends on the locale, but does not support the multibyte characters that occur in strings in locales with MB_CUR_MAX > 1 (this includes all the common UTF-8 locales). There are four alternative APIs:

c_tolower

This function operates in a locale independent way and returns a different value than the argument only for uppercase ASCII characters. It is provided by the Gnulib module ‘c-ctype’.

towlower

This function operates in a locale dependent way, on wide characters. In order to use it, you first have to convert from multibyte to wide characters, using the mbrtowc function. It is provided by the Gnulib module ‘wctype’.

c32tolower

This function operates in a locale dependent way, on 32-bit wide characters. In order to use it, you first have to convert from multibyte to 32-bit wide characters, using the mbrtoc32 function. It is provided by the Gnulib module ‘c32tolower’.

uc_tolower

This function operates in a locale independent way, on Unicode characters. It is provided by the Gnulib module ‘unicase/tolower’.


Next: , Previous: , Up: Functions in <ctype.h>   [Contents][Index]

10.5.26 tolower_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tolower_l.html

Gnulib module: tolower_l

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <ctype.h>   [Contents][Index]

10.5.27 toupper

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/toupper.html

Gnulib module: ctype

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: This function’s behaviour depends on the locale, but does not support the multibyte characters that occur in strings in locales with MB_CUR_MAX > 1 (this includes all the common UTF-8 locales). There are four alternative APIs:

c_toupper

This function operates in a locale independent way and returns a different value than the argument only for lowercase ASCII characters. It is provided by the Gnulib module ‘c-ctype’.

towupper

This function operates in a locale dependent way, on wide characters. In order to use it, you first have to convert from multibyte to wide characters, using the mbrtowc function. It is provided by the Gnulib module ‘wctype’.

c32toupper

This function operates in a locale dependent way, on 32-bit wide characters. In order to use it, you first have to convert from multibyte to 32-bit wide characters, using the mbrtoc32 function. It is provided by the Gnulib module ‘c32toupper’.

uc_toupper

This function operates in a locale independent way, on Unicode characters. It is provided by the Gnulib module ‘unicase/toupper’.


Previous: , Up: Functions in <ctype.h>   [Contents][Index]

10.5.28 toupper_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/toupper_l.html

Gnulib module: toupper_l

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.6 Functions in <devctl.h>


Up: Functions in <devctl.h>   [Contents][Index]

10.6.1 posix_devctl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_devctl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.7 Functions in <dirent.h>


Next: , Up: Functions in <dirent.h>   [Contents][Index]

10.7.1 alphasort

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/alphasort.html

Gnulib module: alphasort

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <dirent.h>   [Contents][Index]

10.7.2 closedir

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/closedir.html

Gnulib module: closedir

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <dirent.h>   [Contents][Index]

10.7.3 dirfd

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/dirfd.html

Gnulib module: dirfd

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <dirent.h>   [Contents][Index]

10.7.4 fdopendir

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fdopendir.html

Gnulib module: fdopendir

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <dirent.h>   [Contents][Index]

10.7.5 opendir

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/opendir.html

Gnulib module: opendir

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <dirent.h>   [Contents][Index]

10.7.6 posix_getdents

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_getdents.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <dirent.h>   [Contents][Index]

10.7.7 readdir

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/readdir.html

Gnulib module: readdir

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <dirent.h>   [Contents][Index]

10.7.8 readdir_r

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/readdir_r.html

Gnulib module: extensions

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <dirent.h>   [Contents][Index]

10.7.9 rewinddir

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/rewinddir.html

Gnulib module: rewinddir

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <dirent.h>   [Contents][Index]

10.7.10 scandir

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/scandir.html

Gnulib module: scandir

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <dirent.h>   [Contents][Index]

10.7.11 seekdir

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/seekdir.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <dirent.h>   [Contents][Index]

10.7.12 telldir

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/telldir.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.8 Functions in <dlfcn.h>


Next: , Up: Functions in <dlfcn.h>   [Contents][Index]

10.8.1 dladdr

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/dladdr.html

Documentation:
man dladdr

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <dlfcn.h>   [Contents][Index]

10.8.2 dlclose

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/dlclose.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <dlfcn.h>   [Contents][Index]

10.8.3 dlerror

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/dlerror.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <dlfcn.h>   [Contents][Index]

10.8.4 dlopen

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/dlopen.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-dlopen-1.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <dlfcn.h>   [Contents][Index]

10.8.5 dlsym

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/dlsym.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-dlsym-1.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.9 Functions in <endian.h>


Next: , Up: Functions in <endian.h>   [Contents][Index]

10.9.1 be16toh

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/be16toh.html

Documentation:
man be16toh

Gnulib module: endian

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <endian.h>   [Contents][Index]

10.9.2 be32toh

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/be32toh.html

Documentation:
man be32toh

Gnulib module: endian

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <endian.h>   [Contents][Index]

10.9.3 be64toh

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/be64toh.html

Documentation:
man be64toh

Gnulib module: endian

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <endian.h>   [Contents][Index]

10.9.4 htobe16

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/htobe16.html

Documentation:
man htobe16

Gnulib module: endian

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <endian.h>   [Contents][Index]

10.9.5 htobe32

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/htobe32.html

Documentation:
man htobe32

Gnulib module: endian

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <endian.h>   [Contents][Index]

10.9.6 htobe64

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/htobe64.html

Documentation:
man htobe64

Gnulib module: endian

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <endian.h>   [Contents][Index]

10.9.7 htole16

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/htole16.html

Documentation:
man htole16

Gnulib module: endian

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <endian.h>   [Contents][Index]

10.9.8 htole32

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/htole32.html

Documentation:
man htole32

Gnulib module: endian

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <endian.h>   [Contents][Index]

10.9.9 htole64

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/htole64.html

Documentation:
man htole64

Gnulib module: endian

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <endian.h>   [Contents][Index]

10.9.10 le16toh

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/le16toh.html

Documentation:
man le16toh

Gnulib module: endian

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <endian.h>   [Contents][Index]

10.9.11 le32toh

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/le32toh.html

Documentation:
man le32toh

Gnulib module: endian

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <endian.h>   [Contents][Index]

10.9.12 le64toh

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/le64toh.html

Documentation:
man le64toh

Gnulib module: endian

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.10 Functions in <errno.h>


Up: Functions in <errno.h>   [Contents][Index]

10.10.1 errno

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/errno.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.11 Functions in <fcntl.h>


Next: , Up: Functions in <fcntl.h>   [Contents][Index]

10.11.1 creat

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/creat.html

Gnulib module: creat

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <fcntl.h>   [Contents][Index]

10.11.2 fcntl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fcntl.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-fcntl-3.html

Gnulib module: fcntl

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <fcntl.h>   [Contents][Index]

10.11.3 open

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/open.html

Gnulib module: open, fchdir

Portability problems fixed by the Gnulib module open:

Portability problems fixed by the Gnulib module fchdir:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <fcntl.h>   [Contents][Index]

10.11.4 openat

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/openat.html

Gnulib module: openat

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <fcntl.h>   [Contents][Index]

10.11.5 posix_fadvise

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_fadvise.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <fcntl.h>   [Contents][Index]

10.11.6 posix_fallocate

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_fallocate.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.12 Functions in <fenv.h>


Next: , Up: Functions in <fenv.h>   [Contents][Index]

10.12.1 feclearexcept

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/feclearexcept.html

Gnulib module: fenv-exceptions-tracking-c99

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <fenv.h>   [Contents][Index]

10.12.2 fegetenv

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fegetenv.html

Gnulib module: fenv-environment

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <fenv.h>   [Contents][Index]

10.12.3 fegetexceptflag

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fegetexceptflag.html

Gnulib module: fenv-exceptions-state-c99

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <fenv.h>   [Contents][Index]

10.12.4 fegetmode

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Control-Functions.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <fenv.h>   [Contents][Index]

10.12.5 fegetround

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fegetround.html

Gnulib module: fenv-rounding

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <fenv.h>   [Contents][Index]

10.12.6 feholdexcept

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/feholdexcept.html

Gnulib module: fenv-environment

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <fenv.h>   [Contents][Index]

10.12.7 feraiseexcept

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/feraiseexcept.html

Gnulib module: fenv-exceptions-tracking-c99

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <fenv.h>   [Contents][Index]

10.12.8 fesetenv

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fesetenv.html

Gnulib module: fenv-environment

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <fenv.h>   [Contents][Index]

10.12.9 fesetexcept

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Status-bit-operations.html.

Gnulib module: fenv-exceptions-tracking-c23

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <fenv.h>   [Contents][Index]

10.12.10 fesetexceptflag

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fesetexceptflag.html

Gnulib module: fenv-exceptions-state-c99

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <fenv.h>   [Contents][Index]

10.12.11 fesetmode

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Control-Functions.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <fenv.h>   [Contents][Index]

10.12.12 fesetround

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fesetround.html

Gnulib module: fenv-rounding

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <fenv.h>   [Contents][Index]

10.12.13 fetestexcept

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fetestexcept.html

Gnulib module: fenv-exceptions-tracking-c99

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <fenv.h>   [Contents][Index]

10.12.14 fetestexceptflag

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Status-bit-operations.html.

Gnulib module: fenv-exceptions-state-c23

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <fenv.h>   [Contents][Index]

10.12.15 feupdateenv

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/feupdateenv.html

Gnulib module: fenv-environment

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.13 Functions in <fmtmsg.h>


Up: Functions in <fmtmsg.h>   [Contents][Index]

10.13.1 fmtmsg

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fmtmsg.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.14 Functions in <fnmatch.h>


Up: Functions in <fnmatch.h>   [Contents][Index]

10.14.1 fnmatch

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fnmatch.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-fnmatch-3.html

Documentation:

Gnulib module: fnmatch or fnmatch-gnu

Portability problems fixed by either Gnulib module fnmatch or fnmatch-gnu:

Portability problems fixed by Gnulib module fnmatch-gnu:

Portability problems not fixed by Gnulib:

Note: Gnulib’s replacement function has some limitations:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.15 Functions in <ftw.h>


Up: Functions in <ftw.h>   [Contents][Index]

10.15.1 nftw

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/nftw.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.16 Functions in <glob.h>


Next: , Up: Functions in <glob.h>   [Contents][Index]

10.16.1 glob

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/glob.html

Gnulib module: glob

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <glob.h>   [Contents][Index]

10.16.2 globfree

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/globfree.html

Gnulib module: glob

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.17 Functions in <grp.h>


Next: , Up: Functions in <grp.h>   [Contents][Index]

10.17.1 endgrent

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/endgrent.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <grp.h>   [Contents][Index]

10.17.2 getgrent

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getgrent.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <grp.h>   [Contents][Index]

10.17.3 getgrgid

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getgrgid.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <grp.h>   [Contents][Index]

10.17.4 getgrgid_r

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getgrgid_r.html

Gnulib module: extensions

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <grp.h>   [Contents][Index]

10.17.5 getgrnam

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getgrnam.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <grp.h>   [Contents][Index]

10.17.6 getgrnam_r

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getgrnam_r.html

Gnulib module: extensions

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <grp.h>   [Contents][Index]

10.17.7 setgrent

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/setgrent.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.18 Functions in <iconv.h>


Next: , Up: Functions in <iconv.h>   [Contents][Index]

10.18.1 iconv

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/iconv.html

Gnulib module: iconv

Portability problems fixed by Gnulib:

Portability problems handled by Gnulib (in the sense that HAVE_ICONV does not get defined if the system’s iconv function has this problem):

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <iconv.h>   [Contents][Index]

10.18.2 iconv_close

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/iconv_close.html

Gnulib module: iconv

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <iconv.h>   [Contents][Index]

10.18.3 iconv_open

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/iconv_open.html

Gnulib module: iconv, iconv_open, iconv_open-utf

Portability problems fixed by either Gnulib module iconv or iconv_open:

Portability problems handled by either Gnulib module iconv or iconv_open (in the sense that HAVE_ICONV does not get defined if the system’s iconv_open function has this problem):

Portability problems fixed by Gnulib module iconv_open:

Portability problems fixed by Gnulib module iconv_open-utf:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.19 Functions in <inttypes.h>


Next: , Up: Functions in <inttypes.h>   [Contents][Index]

10.19.1 imaxabs

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/imaxabs.html

Gnulib module: imaxabs

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <inttypes.h>   [Contents][Index]

10.19.2 imaxdiv

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/imaxdiv.html

Gnulib module: imaxdiv

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <inttypes.h>   [Contents][Index]

10.19.3 strtoimax

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strtoimax.html

Gnulib module: strtoimax

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <inttypes.h>   [Contents][Index]

10.19.4 strtoumax

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strtoumax.html

Gnulib module: strtoumax

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <inttypes.h>   [Contents][Index]

10.19.5 wcstoimax

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcstoimax.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <inttypes.h>   [Contents][Index]

10.19.6 wcstoumax

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcstoumax.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.20 Functions in <langinfo.h>


Next: , Up: Functions in <langinfo.h>   [Contents][Index]

10.20.1 nl_langinfo

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/nl_langinfo.html

Gnulib module: nl_langinfo

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <langinfo.h>   [Contents][Index]

10.20.2 nl_langinfo_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/nl_langinfo_l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.21 Functions in <libgen.h>


Next: , Up: Functions in <libgen.h>   [Contents][Index]

10.21.1 basename

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/basename.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-basename-3.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

The Gnulib module basename-lgpl provides similar API, with a function last_component, that also works with Windows file names.


Previous: , Up: Functions in <libgen.h>   [Contents][Index]

10.21.2 dirname

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/dirname.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

The Gnulib module dirname provides similar API, with functions dir_name and mdir_name, that also works with Windows file names.


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.22 Functions in <libintl.h>


Next: , Up: Functions in <libintl.h>   [Contents][Index]

10.22.1 bind_textdomain_codeset

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/bind_textdomain_codeset.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <libintl.h>   [Contents][Index]

10.22.2 bindtextdomain

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/bindtextdomain.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <libintl.h>   [Contents][Index]

10.22.3 dcgettext

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/dcgettext.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <libintl.h>   [Contents][Index]

10.22.4 dcgettext_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/dcgettext_l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <libintl.h>   [Contents][Index]

10.22.5 dcngettext

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/dcngettext.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <libintl.h>   [Contents][Index]

10.22.6 dcngettext_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/dcngettext_l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <libintl.h>   [Contents][Index]

10.22.7 dgettext

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/dgettext.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <libintl.h>   [Contents][Index]

10.22.8 dgettext_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/dgettext_l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <libintl.h>   [Contents][Index]

10.22.9 dngettext

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/dngettext.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <libintl.h>   [Contents][Index]

10.22.10 dngettext_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/dngettext_l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <libintl.h>   [Contents][Index]

10.22.11 gettext

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/gettext.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <libintl.h>   [Contents][Index]

10.22.12 gettext_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/gettext_l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <libintl.h>   [Contents][Index]

10.22.13 ngettext

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ngettext.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <libintl.h>   [Contents][Index]

10.22.14 ngettext_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ngettext_l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <libintl.h>   [Contents][Index]

10.22.15 textdomain

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/textdomain.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.23 Functions in <locale.h>


Next: , Up: Functions in <locale.h>   [Contents][Index]

10.23.1 duplocale

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/duplocale.html

Gnulib module: duplocale

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <locale.h>   [Contents][Index]

10.23.2 freelocale

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/freelocale.html

Gnulib module: freelocale

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <locale.h>   [Contents][Index]

10.23.3 getlocalename_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getlocalename_l.html

Gnulib module: getlocalename_l-simple

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <locale.h>   [Contents][Index]

10.23.4 localeconv

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/localeconv.html

Gnulib module: localeconv

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <locale.h>   [Contents][Index]

10.23.5 newlocale

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/newlocale.html

Gnulib module: newlocale

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <locale.h>   [Contents][Index]

10.23.6 setlocale

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/setlocale.html

Gnulib module: setlocale, setlocale-null

Portability problems fixed by Gnulib module setlocale:

Portability problems fixed by Gnulib module setlocale or setlocale-null:

Portability problems not fixed by Gnulib:

Note: The names of locales with UTF-8 encoding are platform dependent:


Previous: , Up: Functions in <locale.h>   [Contents][Index]

10.23.7 uselocale

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/uselocale.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.24 Functions in <math.h>


Next: , Up: Functions in <math.h>   [Contents][Index]

10.24.1 acos

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/acos.html

Gnulib module: acos

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.2 acosf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/acosf.html

Gnulib module: acosf

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.3 acosh

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/acosh.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.4 acoshf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/acoshf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.5 acoshl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/acoshl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.6 acosl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/acosl.html

Gnulib module: acosl

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.7 acospi

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.4.8

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.8 acospif

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.4.8

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.9 acospil

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.4.8

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.10 asin

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/asin.html

Gnulib module: asin

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.11 asinf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/asinf.html

Gnulib module: asinf

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.12 asinh

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/asinh.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.13 asinhf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/asinhf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.14 asinhl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/asinhl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.15 asinl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/asinl.html

Gnulib module: asinl

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.16 asinpi

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.4.9

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.17 asinpif

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.4.9

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.18 asinpil

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.4.9

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.19 atan

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atan.html

Gnulib module: atan

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.20 atan2

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atan2.html

Gnulib module: atan2

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.21 atan2f

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atan2f.html

Gnulib module: atan2f

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.22 atan2l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atan2l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.23 atan2pi

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.4.11

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.24 atan2pif

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.4.11

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.25 atan2pil

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.4.11

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.26 atanf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atanf.html

Gnulib module: atanf

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.27 atanh

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atanh.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.28 atanhf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atanhf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.29 atanhl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atanhl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.30 atanl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atanl.html

Gnulib module: atanl

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.31 atanpi

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.4.10

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.32 atanpif

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.4.10

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.33 atanpil

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.4.10

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.34 canonicalize

Documentation:
https://www.gnu.org/software/libc/manual/html_node/FP-Bit-Twiddling.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.35 canonicalizef

Documentation:
https://www.gnu.org/software/libc/manual/html_node/FP-Bit-Twiddling.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.36 canonicalizel

Documentation:
https://www.gnu.org/software/libc/manual/html_node/FP-Bit-Twiddling.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.37 cbrt

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cbrt.html

Gnulib module: cbrt or cbrt-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.38 cbrtf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cbrtf.html

Gnulib module: cbrtf or cbrtf-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.39 cbrtl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cbrtl.html

Gnulib module: cbrtl or cbrtl-ieee

Portability problems fixed by either Gnulib module cbrtl or cbrtl-ieee

Portability problems fixed by Gnulib module cbrtl-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.40 ceil

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ceil.html

Gnulib module: ceil or ceil-ieee

Portability problems fixed by either Gnulib module ceil or ceil-ieee:

Portability problems fixed by Gnulib module ceil-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.41 ceilf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ceilf.html

Gnulib module: ceilf or ceilf-ieee

Portability problems fixed by either Gnulib module ceilf or ceilf-ieee:

Portability problems fixed by Gnulib module ceilf-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.42 ceill

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ceill.html

Gnulib module: ceill or ceill-ieee

Portability problems fixed by either Gnulib module ceill or ceill-ieee:

Portability problems fixed by Gnulib module ceill-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.43 compoundn

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.7.2

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.44 compoundnf

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.7.2

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.45 compoundnl

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.7.2

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.46 copysign

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/copysign.html

Gnulib module: copysign

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.47 copysignf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/copysignf.html

Gnulib module: copysignf

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.48 copysignl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/copysignl.html

Gnulib module: copysignl

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.49 cos

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cos.html

Gnulib module: cos

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.50 cosf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cosf.html

Gnulib module: cosf

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.51 cosh

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cosh.html

Gnulib module: cosh

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.52 coshf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/coshf.html

Gnulib module: coshf

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.53 coshl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/coshl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.54 cosl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cosl.html

Gnulib module: cosl

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.55 cospi

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.4.12

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.56 cospif

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.4.12

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.57 cospil

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.4.12

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.58 daddl

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.59 ddivl

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.60 dfmal

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.14.5

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.61 dmull

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.62 dsqrtl

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.14.6

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.63 dsubl

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.64 erf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/erf.html

Gnulib module: erf

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.65 erfc

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/erfc.html

Gnulib module: erfc

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.66 erfcf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/erfcf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.67 erfcl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/erfcl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.68 erff

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/erff.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.69 erfl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/erfl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.70 exp

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/exp.html

Gnulib module: exp or exp-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.71 exp10

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.6.2

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.72 exp10f

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.6.2

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.73 exp10l

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.6.2

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.74 exp10m1

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.6.3

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.75 exp10m1f

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.6.3

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.76 exp10m1l

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.6.3

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.77 exp2

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/exp2.html

Gnulib module: exp2 or exp2-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.78 exp2f

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/exp2f.html

Gnulib module: exp2f or exp2f-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.79 exp2l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/exp2l.html

Gnulib module: exp2l or exp2l-ieee

Portability problems fixed by either Gnulib module exp2l or exp2l-ieee:

Portability problems fixed by Gnulib module exp2l-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.80 exp2m1

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.6.5

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.81 exp2m1f

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.6.5

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.82 exp2m1l

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.6.5

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.83 expf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/expf.html

Gnulib module: expf or expf-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.84 expl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/expl.html

Gnulib module: expl or expl-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.85 expm1

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/expm1.html

Gnulib module: expm1 or expm1-ieee

Portability problems fixed by either Gnulib module expm1 or expm1-ieee:

Portability problems fixed by Gnulib module expm1-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.86 expm1f

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/expm1f.html

Gnulib module: expm1f or expm1f-ieee

Portability problems fixed by either Gnulib module expm1f or expm1f-ieee:

Portability problems fixed by Gnulib module expm1f-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.87 expm1l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/expm1l.html

Gnulib module: expm1l or expm1l-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.88 fabs

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fabs.html

Gnulib module: fabs or fabs-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.89 fabsf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fabsf.html

Gnulib module: fabsf or fabsf-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.90 fabsl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fabsl.html

Gnulib module: fabsl or fabsl-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.91 fadd

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.92 faddl

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.93 fdim

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fdim.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.94 fdimf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fdimf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.95 fdiml

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fdiml.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.96 fdiv

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.97 fdivl

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.98 ffma

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.14.5

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.99 ffmal

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.14.5

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.100 floor

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/floor.html

Gnulib module: floor or floor-ieee

Portability problems fixed by either Gnulib module floor or floor-ieee:

Portability problems fixed by Gnulib module floor-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.101 floorf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/floorf.html

Gnulib module: floorf or floorf-ieee

Portability problems fixed by either Gnulib module floorf or floorf-ieee:

Portability problems fixed by Gnulib module floorf-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.102 floorl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/floorl.html

Gnulib module: floorl or floorl-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.103 fma

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fma.html

Gnulib module: fma or fma-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.104 fmaf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fmaf.html

Gnulib module: fmaf or fmaf-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.105 fmal

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fmal.html

Gnulib module: fmal or fmal-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.106 fmax

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fmax.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.107 fmaxf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fmaxf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.108 fmaximum

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.12.4

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.109 fmaximum_mag

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.12.6

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.110 fmaximum_magf

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.12.6

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.111 fmaximum_magl

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.12.6

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.112 fmaximum_mag_num

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.12.10

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.113 fmaximum_mag_numf

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.12.10

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.114 fmaximum_mag_numl

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.12.10

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.115 fmaximum_num

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.12.8

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.116 fmaximum_numf

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.12.8

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.117 fmaximum_numl

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.12.8

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.118 fmaximumf

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.12.4

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.119 fmaximuml

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.12.4

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.120 fmaxl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fmaxl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.121 fmaxmag

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.122 fmaxmagf

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.123 fmaxmagl

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.124 fmin

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fmin.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.125 fminf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fminf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.126 fminimum

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.12.5

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.127 fminimum_mag

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.12.7

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.128 fminimum_magf

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.12.7

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.129 fminimum_magl

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.12.7

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.130 fminimum_mag_num

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.12.11

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.131 fminimum_mag_numf

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.12.11

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.132 fminimum_mag_numl

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.12.11

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.133 fminimum_num

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.12.9

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.134 fminimum_numf

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.12.9

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.135 fminimum_numl

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.12.9

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.136 fminimumf

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.12.5

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.137 fminimuml

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.12.5

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.138 fminl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fminl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.139 fminmag

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.140 fminmagf

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.141 fminmagl

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.142 fmod

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fmod.html

Gnulib module: fmod or fmod-ieee

Portability problems fixed by either Gnulib module fmod or fmod-ieee:

Portability problems fixed by Gnulib module fmod-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.143 fmodf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fmodf.html

Gnulib module: fmodf or fmodf-ieee

Portability problems fixed by either Gnulib module fmodf or fmodf-ieee:

Portability problems fixed by Gnulib module fmodf-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.144 fmodl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fmodl.html

Gnulib module: fmodl or fmodl-ieee

Portability problems fixed by either Gnulib module fmodl or fmodl-ieee:

Portability problems fixed by Gnulib module fmodl-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.145 fmul

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.146 fmull

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.147 fpclassify

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fpclassify.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.148 frexp

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/frexp.html

Gnulib module: frexp or frexp-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.149 frexpf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/frexpf.html

Gnulib module: frexpf or frexpf-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.150 frexpl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/frexpl.html

Gnulib module: frexpl or frexpl-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.151 fromfp

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Rounding-Functions.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.152 fromfpf

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Rounding-Functions.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.153 fromfpl

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Rounding-Functions.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.154 fromfpx

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Rounding-Functions.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.155 fromfpxf

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Rounding-Functions.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.156 fromfpxl

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Rounding-Functions.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.157 fsqrt

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.14.6

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.158 fsqrtl

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.14.6

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.159 fsub

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.160 fsubl

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.161 getpayload

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section F.10.13.1

Documentation:
https://www.gnu.org/software/libc/manual/html_node/FP-Bit-Twiddling.html.

Gnulib module: getpayload

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.162 getpayloadf

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section F.10.13.1

Documentation:
https://www.gnu.org/software/libc/manual/html_node/FP-Bit-Twiddling.html.

Gnulib module: getpayloadf

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.163 getpayloadl

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section F.10.13.1

Documentation:
https://www.gnu.org/software/libc/manual/html_node/FP-Bit-Twiddling.html.

Gnulib module: getpayloadl

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.164 hypot

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/hypot.html

Gnulib module: hypot or hypot-ieee

Portability problems fixed by either Gnulib module hypot or hypot-ieee:

Portability problems fixed by Gnulib module hypot-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.165 hypotf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/hypotf.html

Gnulib module: hypotf or hypotf-ieee

Portability problems fixed by either Gnulib module hypotf or hypotf-ieee:

Portability problems fixed by Gnulib module hypot-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.166 hypotl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/hypotl.html

Gnulib module: hypotl or hypotl-ieee

Portability problems fixed by either Gnulib module hypotl or hypotl-ieee:

Portability problems fixed by Gnulib module hypotl-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.167 ilogb

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ilogb.html

Gnulib module: ilogb

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.168 ilogbf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ilogbf.html

Gnulib module: ilogbf

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.169 ilogbl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ilogbl.html

Gnulib module: ilogbl

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.170 isfinite

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/isfinite.html

Gnulib module: isfinite

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.171 isgreater

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/isgreater.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.172 isgreaterequal

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/isgreaterequal.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.173 isinf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/isinf.html

Gnulib module: isinf

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.174 isless

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/isless.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.175 islessequal

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/islessequal.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.176 islessgreater

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/islessgreater.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.177 isnan

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/isnan.html

Gnulib module: isnan

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.178 isnormal

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/isnormal.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.179 isunordered

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/isunordered.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.180 j0

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/j0.html

Gnulib module: j0

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.181 j1

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/j1.html

Gnulib module: j1

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.182 jn

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/jn.html

Gnulib module: jn

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.183 ldexp

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ldexp.html

Gnulib module: ldexp or ldexp-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.184 ldexpf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ldexpf.html

Gnulib module: ldexpf or ldexpf-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.185 ldexpl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ldexpl.html

Gnulib module: ldexpl or ldexpl-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.186 lgamma

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/lgamma.html

Gnulib module: lgamma

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.187 lgammaf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/lgammaf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.188 lgammal

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/lgammal.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.189 llogb

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Exponents-and-Logarithms.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.190 llogbf

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Exponents-and-Logarithms.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.191 llogbl

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Exponents-and-Logarithms.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.192 llrint

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/llrint.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.193 llrintf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/llrintf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.194 llrintl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/llrintl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.195 llround

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/llround.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.196 llroundf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/llroundf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.197 llroundl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/llroundl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.198 log

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/log.html

Gnulib module: log or log-ieee

Portability problems fixed by either Gnulib module log or log-ieee:

Portability problems fixed by Gnulib module log-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.199 log10

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/log10.html

Gnulib module: log10 or log10-ieee

Portability problems fixed by either Gnulib module log10 or log10-ieee:

Portability problems fixed by Gnulib module log10-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.200 log10f

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/log10f.html

Gnulib module: log10f or log10f-ieee

Portability problems fixed by either Gnulib module log10f or log10f-ieee:

Portability problems fixed by Gnulib module log10f-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.201 log10l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/log10l.html

Gnulib module: log10l or log10l-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.202 log10p1

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.6.13

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.203 log10p1f

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.6.13

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.204 log10p1l

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.6.13

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.205 log1p

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/log1p.html

Gnulib module: log1p or log1p-ieee

Portability problems fixed by either Gnulib module log1p or log1p-ieee:

Portability problems fixed by Gnulib module log1p-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.206 log1pf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/log1pf.html

Gnulib module: log1pf or log1pf-ieee

Portability problems fixed by either Gnulib module log1pf or log1pf-ieee:

Portability problems fixed by Gnulib module log1pf-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.207 log1pl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/log1pl.html

Gnulib module: log1pl or log1pl-ieee

Portability problems fixed by either Gnulib module log1pl or log1pl-ieee:

Portability problems fixed by Gnulib module log1pl-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.208 log2

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/log2.html

Gnulib module: log2 or log2-ieee

Portability problems fixed by either Gnulib module log2 or log2-ieee:

Portability problems fixed by Gnulib module log2-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.209 log2f

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/log2f.html

Gnulib module: log2f or log2f-ieee

Portability problems fixed by either Gnulib module log2f or log2f-ieee:

Portability problems fixed by Gnulib module log2f-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.210 log2l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/log2l.html

Gnulib module: log2l or log2l-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.211 log2p1

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.6.16

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.212 log2p1f

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.6.16

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.213 log2p1l

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.6.16

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.214 logb

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/logb.html

Gnulib module: logb or logb-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.215 logbf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/logbf.html

Gnulib module: logbf or logbf-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.216 logbl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/logbl.html

Gnulib module: logbl or logbl-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.217 logf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/logf.html

Gnulib module: logf or logf-ieee

Portability problems fixed by either Gnulib module logf or logf-ieee:

Portability problems fixed by Gnulib module logf-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.218 logl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/logl.html

Gnulib module: logl or logl-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.219 logp1

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.6.14

Gnulib module: logp1

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.220 logp1f

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.6.14

Gnulib module: logp1f

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.221 logp1l

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.6.14

Gnulib module: logp1l

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.222 lrint

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/lrint.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.223 lrintf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/lrintf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.224 lrintl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/lrintl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.225 lround

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/lround.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.226 lroundf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/lroundf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.227 lroundl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/lroundl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.228 math_errhandling

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.1

Documentation:
man math_error

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.229 modf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/modf.html

Gnulib module: modf or modf-ieee

Portability problems fixed by either Gnulib module modf or modf-ieee:

Portability problems fixed by Gnulib module modf-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.230 modff

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/modff.html

Gnulib module: modff or modff-ieee

Portability problems fixed by either Gnulib module modff or modff-ieee:

Portability problems fixed by Gnulib module modff-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.231 modfl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/modfl.html

Gnulib module: modfl or modfl-ieee

Portability problems fixed by either Gnulib module modfl or modfl-ieee:

Portability problems fixed by Gnulib module modfl-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.232 nan

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/nan.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.233 nanf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/nanf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.234 nanl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/nanl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.235 nearbyint

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/nearbyint.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.236 nearbyintf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/nearbyintf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.237 nearbyintl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/nearbyintl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.238 nextafter

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/nextafter.html

Gnulib module: nextafter

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.239 nextafterf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/nextafterf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.240 nextafterl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/nextafterl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.241 nextdown

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.242 nextdownf

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.243 nextdownl

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.244 nexttoward

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/nexttoward.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.245 nexttowardf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/nexttowardf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.246 nexttowardl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/nexttowardl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.247 nextup

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.248 nextupf

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.249 nextupl

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.250 pow

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pow.html

Gnulib module: pow

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.251 powf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/powf.html

Gnulib module: powf

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.252 powl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/powl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.253 pown

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.7.6

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.254 pownf

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.7.6

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.255 pownl

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.7.6

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.256 powr

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.7.7

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.257 powrf

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.7.7

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.258 powrl

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.7.7

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.259 remainder

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/remainder.html

Gnulib module: remainder or remainder-ieee

Portability problems fixed by either Gnulib module remainder or remainder-ieee:

Portability problems fixed by Gnulib module remainder-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.260 remainderf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/remainderf.html

Gnulib module: remainderf or remainderf-ieee

Portability problems fixed by either Gnulib module remainderf or remainderf-ieee:

Portability problems fixed by Gnulib module remainderf-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.261 remainderl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/remainderl.html

Gnulib module: remainderl or remainderl-ieee

Portability problems fixed by either Gnulib module remainderl or remainderl-ieee:

Portability problems fixed by Gnulib module remainderl-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.262 remquo

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/remquo.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.263 remquof

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/remquof.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.264 remquol

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/remquol.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.265 rint

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/rint.html

Gnulib module: rint or rint-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.266 rintf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/rintf.html

Gnulib module: rintf or rintf-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.267 rintl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/rintl.html

Gnulib module: rintl or rintl-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.268 rootn

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.7.8

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.269 rootnf

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.7.8

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.270 rootnl

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.7.8

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.271 round

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/round.html

Gnulib module: round or round-ieee

Portability problems fixed by either Gnulib module round or round-ieee:

Portability problems fixed by Gnulib module round-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.272 roundeven

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Rounding-Functions.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.273 roundevenf

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Rounding-Functions.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.274 roundevenl

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Rounding-Functions.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.275 roundf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/roundf.html

Gnulib module: roundf or roundf-ieee

Portability problems fixed by either Gnulib module roundf or roundf-ieee:

Portability problems fixed by Gnulib module roundf-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.276 roundl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/roundl.html

Gnulib module: roundl or roundl-ieee

Portability problems fixed by either Gnulib module roundl or roundl-ieee:

Portability problems fixed by Gnulib module roundl-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.277 rsqrt

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.7.9

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.278 rsqrtf

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.7.9

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.279 rsqrtl

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.7.9

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.280 scalbln

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/scalbln.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.281 scalblnf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/scalblnf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.282 scalblnl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/scalblnl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.283 scalbn

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/scalbn.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.284 scalbnf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/scalbnf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.285 scalbnl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/scalbnl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.286 setpayload

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section F.10.13.2

Documentation:
https://www.gnu.org/software/libc/manual/html_node/FP-Bit-Twiddling.html.

Gnulib module: setpayload

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.287 setpayloadf

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section F.10.13.2

Documentation:
https://www.gnu.org/software/libc/manual/html_node/FP-Bit-Twiddling.html.

Gnulib module: setpayloadf

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.288 setpayloadl

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section F.10.13.2

Documentation:
https://www.gnu.org/software/libc/manual/html_node/FP-Bit-Twiddling.html.

Gnulib module: setpayloadl

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.289 setpayloadsig

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section F.10.13.3

Documentation:
https://www.gnu.org/software/libc/manual/html_node/FP-Bit-Twiddling.html.

Gnulib module: setpayloadsig

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.290 setpayloadsigf

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section F.10.13.3

Documentation:
https://www.gnu.org/software/libc/manual/html_node/FP-Bit-Twiddling.html.

Gnulib module: setpayloadsigf

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.291 setpayloadsigl

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section F.10.13.3

Documentation:
https://www.gnu.org/software/libc/manual/html_node/FP-Bit-Twiddling.html.

Gnulib module: setpayloadsigl

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.292 signbit

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/signbit.html

Gnulib module: signbit

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.293 signgam

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/signgam.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.294 sin

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sin.html

Gnulib module: sin

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.295 sinf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sinf.html

Gnulib module: sinf

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.296 sinh

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sinh.html

Gnulib module: sinh

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.297 sinhf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sinhf.html

Gnulib module: sinhf

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.298 sinhl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sinhl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.299 sinl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sinl.html

Gnulib module: sinl

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.300 sinpi

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.4.13

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.301 sinpif

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.4.13

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.302 sinpil

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.4.13

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.303 sqrt

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sqrt.html

Gnulib module: sqrt or sqrt-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.304 sqrtf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sqrtf.html

Gnulib module: sqrtf or sqrtf-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.305 sqrtl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sqrtl.html

Gnulib module: sqrtl or sqrtl-ieee

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.306 tan

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tan.html

Gnulib module: tan

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.307 tanf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tanf.html

Gnulib module: tanf

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.308 tanh

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tanh.html

Gnulib module: tanh

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.309 tanhf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tanhf.html

Gnulib module: tanhf

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.310 tanhl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tanhl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.311 tanl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tanl.html

Gnulib module: tanl

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.312 tanpi

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.4.14

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.313 tanpif

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.4.14

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.314 tanpil

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.12.4.14

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.315 tgamma

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tgamma.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.316 tgammaf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tgammaf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.317 tgammal

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tgammal.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.318 totalorder

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section F.10.12.1

Documentation:

Gnulib module: totalorder

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.319 totalorderf

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section F.10.12.1

Documentation:

Gnulib module: totalorderf

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.320 totalorderl

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section F.10.12.1

Documentation:

Gnulib module: totalorderl

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.321 totalordermag

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section F.10.12.2

Documentation:
https://www.gnu.org/software/libc/manual/html_node/FP-Comparison-Functions.html.

Gnulib module: totalordermag

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.322 totalordermagf

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section F.10.12.2

Documentation:
https://www.gnu.org/software/libc/manual/html_node/FP-Comparison-Functions.html.

Gnulib module: totalordermagf

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.323 totalordermagl

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section F.10.12.2

Documentation:
https://www.gnu.org/software/libc/manual/html_node/FP-Comparison-Functions.html.

Gnulib module: totalordermagl

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.324 trunc

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/trunc.html

Gnulib module: trunc or trunc-ieee

Portability problems fixed by either Gnulib module trunc or trunc-ieee:

Portability problems fixed by Gnulib module trunc-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.325 truncf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/truncf.html

Gnulib module: truncf or truncf-ieee

Portability problems fixed by either Gnulib module truncf or truncf-ieee:

Portability problems fixed by Gnulib module truncf-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.326 truncl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/truncl.html

Gnulib module: truncl or truncl-ieee

Portability problems fixed by either Gnulib module truncl or truncl-ieee:

Portability problems fixed by Gnulib module truncl-ieee:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.327 ufromfp

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Rounding-Functions.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.328 ufromfpf

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Rounding-Functions.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.329 ufromfpl

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Rounding-Functions.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.330 ufromfpx

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Rounding-Functions.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.331 ufromfpxf

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Rounding-Functions.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.332 ufromfpxl

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Rounding-Functions.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.333 y0

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/y0.html

Gnulib module: y0

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.334 y1

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/y1.html

Gnulib module: y1

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <math.h>   [Contents][Index]

10.24.335 yn

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/yn.html

Gnulib module: yn

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.25 Functions in <monetary.h>


Next: , Up: Functions in <monetary.h>   [Contents][Index]

10.25.1 strfmon

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strfmon.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <monetary.h>   [Contents][Index]

10.25.2 strfmon_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strfmon_l.html

Gnulib module: strfmon_l

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.26 Functions in <mqueue.h>


Next: , Up: Functions in <mqueue.h>   [Contents][Index]

10.26.1 mq_close

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mq_close.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <mqueue.h>   [Contents][Index]

10.26.2 mq_getattr

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mq_getattr.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <mqueue.h>   [Contents][Index]

10.26.3 mq_notify

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mq_notify.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <mqueue.h>   [Contents][Index]

10.26.4 mq_open

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mq_open.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <mqueue.h>   [Contents][Index]

10.26.5 mq_receive

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mq_receive.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <mqueue.h>   [Contents][Index]

10.26.6 mq_send

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mq_send.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <mqueue.h>   [Contents][Index]

10.26.7 mq_setattr

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mq_setattr.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <mqueue.h>   [Contents][Index]

10.26.8 mq_timedreceive

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mq_timedreceive.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <mqueue.h>   [Contents][Index]

10.26.9 mq_timedsend

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mq_timedsend.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <mqueue.h>   [Contents][Index]

10.26.10 mq_unlink

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mq_unlink.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.27 Functions in <ndbm.h>


Next: , Up: Functions in <ndbm.h>   [Contents][Index]

10.27.1 dbm_clearerr

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/dbm_clearerr.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <ndbm.h>   [Contents][Index]

10.27.2 dbm_close

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/dbm_close.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <ndbm.h>   [Contents][Index]

10.27.3 dbm_delete

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/dbm_delete.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <ndbm.h>   [Contents][Index]

10.27.4 dbm_error

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/dbm_error.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <ndbm.h>   [Contents][Index]

10.27.5 dbm_fetch

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/dbm_fetch.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <ndbm.h>   [Contents][Index]

10.27.6 dbm_firstkey

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/dbm_firstkey.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <ndbm.h>   [Contents][Index]

10.27.7 dbm_nextkey

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/dbm_nextkey.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <ndbm.h>   [Contents][Index]

10.27.8 dbm_open

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/dbm_open.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <ndbm.h>   [Contents][Index]

10.27.9 dbm_store

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/dbm_store.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.28 Functions in <net/if.h>


Next: , Up: Functions in <net/if.h>   [Contents][Index]

10.28.1 if_freenameindex

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/if_freenameindex.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <net/if.h>   [Contents][Index]

10.28.2 if_indextoname

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/if_indextoname.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <net/if.h>   [Contents][Index]

10.28.3 if_nameindex

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/if_nameindex.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <net/if.h>   [Contents][Index]

10.28.4 if_nametoindex

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/if_nametoindex.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.29 Functions in <netdb.h>


Next: , Up: Functions in <netdb.h>   [Contents][Index]

10.29.1 endhostent

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/endhostent.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <netdb.h>   [Contents][Index]

10.29.2 endnetent

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/endnetent.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <netdb.h>   [Contents][Index]

10.29.3 endprotoent

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/endprotoent.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <netdb.h>   [Contents][Index]

10.29.4 endservent

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/endservent.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <netdb.h>   [Contents][Index]

10.29.5 freeaddrinfo

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/freeaddrinfo.html

Gnulib module: getaddrinfo

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <netdb.h>   [Contents][Index]

10.29.6 gai_strerror

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/gai_strerror.html

Gnulib module: getaddrinfo

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <netdb.h>   [Contents][Index]

10.29.7 getaddrinfo

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getaddrinfo.html

Gnulib module: getaddrinfo

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <netdb.h>   [Contents][Index]

10.29.8 gethostent

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/gethostent.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <netdb.h>   [Contents][Index]

10.29.9 getnameinfo

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getnameinfo.html

Gnulib module: getaddrinfo

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <netdb.h>   [Contents][Index]

10.29.10 getnetbyaddr

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getnetbyaddr.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <netdb.h>   [Contents][Index]

10.29.11 getnetbyname

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getnetbyname.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <netdb.h>   [Contents][Index]

10.29.12 getnetent

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getnetent.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <netdb.h>   [Contents][Index]

10.29.13 getprotobyname

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getprotobyname.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <netdb.h>   [Contents][Index]

10.29.14 getprotobynumber

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getprotobynumber.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <netdb.h>   [Contents][Index]

10.29.15 getprotoent

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getprotoent.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <netdb.h>   [Contents][Index]

10.29.16 getservbyname

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getservbyname.html

Gnulib module: servent

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <netdb.h>   [Contents][Index]

10.29.17 getservbyport

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getservbyport.html

Gnulib module: servent

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <netdb.h>   [Contents][Index]

10.29.18 getservent

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getservent.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <netdb.h>   [Contents][Index]

10.29.19 sethostent

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sethostent.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <netdb.h>   [Contents][Index]

10.29.20 setnetent

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/setnetent.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <netdb.h>   [Contents][Index]

10.29.21 setprotoent

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/setprotoent.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <netdb.h>   [Contents][Index]

10.29.22 setservent

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/setservent.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.30 Functions in <netinet/in.h>


Next: , Up: Functions in <netinet/in.h>   [Contents][Index]

10.30.1 in6addr_any

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/in6addr_any.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Host-Address-Data-Type.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <netinet/in.h>   [Contents][Index]

10.30.2 in6addr_loopback

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/in6addr_loopback.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Host-Address-Data-Type.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.31 Functions in <nl_types.h>


Next: , Up: Functions in <nl_types.h>   [Contents][Index]

10.31.1 catclose

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/catclose.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <nl_types.h>   [Contents][Index]

10.31.2 catgets

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/catgets.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <nl_types.h>   [Contents][Index]

10.31.3 catopen

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/catopen.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.32 Functions in <poll.h>


Next: , Up: Functions in <poll.h>   [Contents][Index]

10.32.1 poll

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/poll.html

Gnulib module: poll

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <poll.h>   [Contents][Index]

10.32.2 ppoll

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ppoll.html

Documentation:
man ppoll

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.33 Functions in <pthread.h>


Next: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.1 pthread_atfork

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_atfork.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.2 pthread_attr_destroy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_attr_destroy.html

Gnulib module: pthread-thread

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.3 pthread_attr_getdetachstate

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_attr_getdetachstate.html

Gnulib module: pthread-thread

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.4 pthread_attr_getguardsize

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_attr_getguardsize.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.5 pthread_attr_getinheritsched

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_attr_getinheritsched.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.6 pthread_attr_getschedparam

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_attr_getschedparam.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.7 pthread_attr_getschedpolicy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_attr_getschedpolicy.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.8 pthread_attr_getscope

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_attr_getscope.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.9 pthread_attr_getstack

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_attr_getstack.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.10 pthread_attr_getstacksize

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_attr_getstacksize.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.11 pthread_attr_init

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_attr_init.html

Gnulib module: pthread-thread

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.12 pthread_attr_setdetachstate

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_attr_setdetachstate.html

Gnulib module: pthread-thread

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.13 pthread_attr_setguardsize

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_attr_setguardsize.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.14 pthread_attr_setinheritsched

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_attr_setinheritsched.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.15 pthread_attr_setschedparam

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_attr_setschedparam.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.16 pthread_attr_setschedpolicy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_attr_setschedpolicy.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.17 pthread_attr_setscope

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_attr_setscope.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.18 pthread_attr_setstack

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_attr_setstack.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.19 pthread_attr_setstacksize

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_attr_setstacksize.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.20 pthread_barrier_destroy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_barrier_destroy.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.21 pthread_barrier_init

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_barrier_init.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.22 pthread_barrier_wait

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_barrier_wait.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.23 pthread_barrierattr_destroy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_barrierattr_destroy.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.24 pthread_barrierattr_getpshared

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_barrierattr_getpshared.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.25 pthread_barrierattr_init

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_barrierattr_init.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.26 pthread_barrierattr_setpshared

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_barrierattr_setpshared.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.27 pthread_cancel

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_cancel.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.28 pthread_cleanup_pop

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_cleanup_pop.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.29 pthread_cleanup_push

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_cleanup_push.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.30 pthread_cond_broadcast

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_cond_broadcast.html

Gnulib module: pthread-cond

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.31 pthread_cond_clockwait

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_cond_clockwait.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.32 pthread_cond_destroy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_cond_destroy.html

Gnulib module: pthread-cond

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.33 pthread_cond_init

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_cond_init.html

Gnulib module: pthread-cond

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.34 pthread_cond_signal

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_cond_signal.html

Gnulib module: pthread-cond

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.35 pthread_cond_timedwait

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_cond_timedwait.html

Gnulib module: pthread-cond

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.36 pthread_cond_wait

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_cond_wait.html

Gnulib module: pthread-cond

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.37 pthread_condattr_destroy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_condattr_destroy.html

Gnulib module: pthread-cond

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.38 pthread_condattr_getclock

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_condattr_getclock.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.39 pthread_condattr_getpshared

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_condattr_getpshared.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.40 pthread_condattr_init

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_condattr_init.html

Gnulib module: pthread-cond

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.41 pthread_condattr_setclock

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_condattr_setclock.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.42 pthread_condattr_setpshared

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_condattr_setpshared.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.43 pthread_create

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_create.html

Gnulib module: pthread-thread

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.44 pthread_detach

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_detach.html

Gnulib module: pthread-thread

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.45 pthread_equal

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_equal.html

Gnulib module: pthread-thread

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.46 pthread_exit

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_exit.html

Gnulib module: pthread-thread

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.47 pthread_getcpuclockid

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_getcpuclockid.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.48 pthread_getschedparam

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_getschedparam.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.49 pthread_getspecific

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_getspecific.html

Gnulib module: pthread-tss

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.50 pthread_join

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_join.html

Gnulib module: pthread-thread

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.51 pthread_key_create

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_key_create.html

Gnulib module: pthread-tss

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.52 pthread_key_delete

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_key_delete.html

Gnulib module: pthread-tss

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.53 pthread_mutex_clocklock

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_mutex_clocklock.html

Documentation: —

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.54 pthread_mutex_consistent

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_mutex_consistent.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.55 pthread_mutex_destroy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_mutex_destroy.html

Gnulib module: pthread-mutex

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.56 pthread_mutex_getprioceiling

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_mutex_getprioceiling.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.57 pthread_mutex_init

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_mutex_init.html

Gnulib module: pthread-mutex

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.58 pthread_mutex_lock

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_mutex_lock.html

Gnulib module: pthread-mutex

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.59 pthread_mutex_setprioceiling

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_mutex_setprioceiling.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.60 pthread_mutex_timedlock

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_mutex_timedlock.html

Gnulib module: pthread_mutex_timedlock

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.61 pthread_mutex_trylock

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_mutex_trylock.html

Gnulib module: pthread-mutex

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.62 pthread_mutex_unlock

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_mutex_unlock.html

Gnulib module: pthread-mutex

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.63 pthread_mutexattr_destroy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_mutexattr_destroy.html

Gnulib module: pthread-mutex

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.64 pthread_mutexattr_getprioceiling

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_mutexattr_getprioceiling.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.65 pthread_mutexattr_getprotocol

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_mutexattr_getprotocol.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.66 pthread_mutexattr_getpshared

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_mutexattr_getpshared.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.67 pthread_mutexattr_getrobust

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_mutexattr_getrobust.html

Gnulib module: pthread-mutex

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.68 pthread_mutexattr_gettype

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_mutexattr_gettype.html

Gnulib module: pthread-mutex

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.69 pthread_mutexattr_init

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_mutexattr_init.html

Gnulib module: pthread-mutex

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.70 pthread_mutexattr_setprioceiling

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_mutexattr_setprioceiling.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.71 pthread_mutexattr_setprotocol

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_mutexattr_setprotocol.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.72 pthread_mutexattr_setpshared

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_mutexattr_setpshared.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.73 pthread_mutexattr_setrobust

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_mutexattr_setrobust.html

Gnulib module: pthread-mutex

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.74 pthread_mutexattr_settype

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_mutexattr_settype.html

Gnulib module: pthread-mutex

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.75 pthread_once

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_once.html

Gnulib module: pthread-once

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.76 pthread_rwlock_clockrdlock

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_rwlock_clockrdlock.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.77 pthread_rwlock_clockwrlock

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_rwlock_clockwrlock.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.78 pthread_rwlock_destroy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_rwlock_destroy.html

Gnulib module: pthread-rwlock

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.79 pthread_rwlock_init

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_rwlock_init.html

Gnulib module: pthread-rwlock

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.80 pthread_rwlock_rdlock

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_rwlock_rdlock.html

Gnulib module: pthread-rwlock

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.81 pthread_rwlock_timedrdlock

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_rwlock_timedrdlock.html

Gnulib module: pthread-rwlock

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.82 pthread_rwlock_timedwrlock

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_rwlock_timedwrlock.html

Gnulib module: pthread-rwlock

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.83 pthread_rwlock_tryrdlock

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_rwlock_tryrdlock.html

Gnulib module: pthread-rwlock

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.84 pthread_rwlock_trywrlock

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_rwlock_trywrlock.html

Gnulib module: pthread-rwlock

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.85 pthread_rwlock_unlock

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_rwlock_unlock.html

Gnulib module: pthread-rwlock

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.86 pthread_rwlock_wrlock

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_rwlock_wrlock.html

Gnulib module: pthread-rwlock

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.87 pthread_rwlockattr_destroy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_rwlockattr_destroy.html

Gnulib module: pthread-rwlock

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.88 pthread_rwlockattr_getpshared

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_rwlockattr_getpshared.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.89 pthread_rwlockattr_init

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_rwlockattr_init.html

Gnulib module: pthread-rwlock

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.90 pthread_rwlockattr_setpshared

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_rwlockattr_setpshared.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.91 pthread_self

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_self.html

Gnulib module: pthread-thread

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.92 pthread_setcancelstate

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_setcancelstate.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.93 pthread_setcanceltype

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_setcanceltype.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.94 pthread_setschedparam

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_setschedparam.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.95 pthread_setschedprio

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_setschedprio.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.96 pthread_setspecific

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_setspecific.html

Gnulib module: pthread-tss

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.97 pthread_spin_destroy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_spin_destroy.html

Gnulib module: pthread-spin

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.98 pthread_spin_init

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_spin_init.html

Gnulib module: pthread-spin

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.99 pthread_spin_lock

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_spin_lock.html

Gnulib module: pthread-spin

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.100 pthread_spin_trylock

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_spin_trylock.html

Gnulib module: pthread-spin

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.101 pthread_spin_unlock

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_spin_unlock.html

Gnulib module: pthread-spin

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <pthread.h>   [Contents][Index]

10.33.102 pthread_testcancel

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_testcancel.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.34 Functions in <pwd.h>


Next: , Up: Functions in <pwd.h>   [Contents][Index]

10.34.1 endpwent

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/endpwent.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pwd.h>   [Contents][Index]

10.34.2 getpwent

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getpwent.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pwd.h>   [Contents][Index]

10.34.3 getpwnam

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getpwnam.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pwd.h>   [Contents][Index]

10.34.4 getpwnam_r

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getpwnam_r.html

Gnulib module: extensions

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pwd.h>   [Contents][Index]

10.34.5 getpwuid

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getpwuid.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <pwd.h>   [Contents][Index]

10.34.6 getpwuid_r

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getpwuid_r.html

Gnulib module: extensions

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <pwd.h>   [Contents][Index]

10.34.7 setpwent

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/setpwent.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.35 Functions in <regex.h>


Next: , Up: Functions in <regex.h>   [Contents][Index]

10.35.1 regcomp

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/regcomp.html

Gnulib module: regex

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <regex.h>   [Contents][Index]

10.35.2 regerror

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/regerror.html

Gnulib module: regex

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <regex.h>   [Contents][Index]

10.35.3 regexec

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/regexec.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-regexec-2.html

Gnulib module: regex

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <regex.h>   [Contents][Index]

10.35.4 regfree

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/regfree.html

Gnulib module: regex

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.36 Functions in <sched.h>


Next: , Up: Functions in <sched.h>   [Contents][Index]

10.36.1 sched_get_priority_max

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sched_get_priority_max.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sched.h>   [Contents][Index]

10.36.2 sched_get_priority_min

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sched_get_priority_min.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sched.h>   [Contents][Index]

10.36.3 sched_getparam

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sched_getparam.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sched.h>   [Contents][Index]

10.36.4 sched_getscheduler

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sched_getscheduler.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sched.h>   [Contents][Index]

10.36.5 sched_rr_get_interval

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sched_rr_get_interval.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sched.h>   [Contents][Index]

10.36.6 sched_setparam

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sched_setparam.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sched.h>   [Contents][Index]

10.36.7 sched_setscheduler

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sched_setscheduler.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-sched-setscheduler.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <sched.h>   [Contents][Index]

10.36.8 sched_yield

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sched_yield.html

Gnulib module: sched_yield

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.37 Functions in <search.h>


Next: , Up: Functions in <search.h>   [Contents][Index]

10.37.1 hcreate

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/hcreate.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <search.h>   [Contents][Index]

10.37.2 hdestroy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/hdestroy.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <search.h>   [Contents][Index]

10.37.3 hsearch

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/hsearch.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <search.h>   [Contents][Index]

10.37.4 insque

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/insque.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <search.h>   [Contents][Index]

10.37.5 lfind

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/lfind.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <search.h>   [Contents][Index]

10.37.6 lsearch

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/lsearch.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <search.h>   [Contents][Index]

10.37.7 remque

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/remque.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <search.h>   [Contents][Index]

10.37.8 tdelete

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tdelete.html

Gnulib module: tsearch

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <search.h>   [Contents][Index]

10.37.9 tfind

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tfind.html

Gnulib module: tsearch

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <search.h>   [Contents][Index]

10.37.10 tsearch

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tsearch.html

Gnulib module: tsearch

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <search.h>   [Contents][Index]

10.37.11 twalk

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/twalk.html

Gnulib module: tsearch

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.38 Functions in <semaphore.h>


Next: , Up: Functions in <semaphore.h>   [Contents][Index]

10.38.1 sem_clockwait

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sem_clockwait.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <semaphore.h>   [Contents][Index]

10.38.2 sem_close

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sem_close.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <semaphore.h>   [Contents][Index]

10.38.3 sem_destroy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sem_destroy.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <semaphore.h>   [Contents][Index]

10.38.4 sem_getvalue

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sem_getvalue.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <semaphore.h>   [Contents][Index]

10.38.5 sem_init

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sem_init.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <semaphore.h>   [Contents][Index]

10.38.6 sem_open

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sem_open.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <semaphore.h>   [Contents][Index]

10.38.7 sem_post

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sem_post.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <semaphore.h>   [Contents][Index]

10.38.8 sem_timedwait

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sem_timedwait.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <semaphore.h>   [Contents][Index]

10.38.9 sem_trywait

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sem_trywait.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <semaphore.h>   [Contents][Index]

10.38.10 sem_unlink

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sem_unlink.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <semaphore.h>   [Contents][Index]

10.38.11 sem_wait

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sem_wait.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.39 Functions in <setjmp.h>


Next: , Up: Functions in <setjmp.h>   [Contents][Index]

10.39.1 longjmp

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/longjmp.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <setjmp.h>   [Contents][Index]

10.39.2 setjmp

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/setjmp.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <setjmp.h>   [Contents][Index]

10.39.3 siglongjmp

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/siglongjmp.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <setjmp.h>   [Contents][Index]

10.39.4 sigsetjmp

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sigsetjmp.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.40 Functions in <signal.h>


Next: , Up: Functions in <signal.h>   [Contents][Index]

10.40.1 kill

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/kill.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-kill-3.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <signal.h>   [Contents][Index]

10.40.2 killpg

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/killpg.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <signal.h>   [Contents][Index]

10.40.3 psiginfo

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/psiginfo.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <signal.h>   [Contents][Index]

10.40.4 psignal

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/psignal.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <signal.h>   [Contents][Index]

10.40.5 pthread_kill

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_kill.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <signal.h>   [Contents][Index]

10.40.6 pthread_sigmask

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_sigmask.html

Gnulib module: pthread_sigmask

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <signal.h>   [Contents][Index]

10.40.7 raise

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/raise.html

Gnulib module: raise

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <signal.h>   [Contents][Index]

10.40.8 sig2str

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sig2str.html

Gnulib module: sig2str

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <signal.h>   [Contents][Index]

10.40.9 sigaction

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sigaction.html

Gnulib module: sigaction

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <signal.h>   [Contents][Index]

10.40.10 sigaddset

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sigaddset.html

Gnulib module: sigprocmask

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <signal.h>   [Contents][Index]

10.40.11 sigaltstack

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sigaltstack.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <signal.h>   [Contents][Index]

10.40.12 sigdelset

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sigdelset.html

Gnulib module: sigprocmask

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <signal.h>   [Contents][Index]

10.40.13 sigemptyset

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sigemptyset.html

Gnulib module: sigprocmask

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <signal.h>   [Contents][Index]

10.40.14 sigfillset

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sigfillset.html

Gnulib module: sigprocmask

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <signal.h>   [Contents][Index]

10.40.15 sigismember

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sigismember.html

Gnulib module: sigprocmask

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <signal.h>   [Contents][Index]

10.40.16 signal

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/signal.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <signal.h>   [Contents][Index]

10.40.17 sigpending

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sigpending.html

Gnulib module: sigprocmask

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <signal.h>   [Contents][Index]

10.40.18 sigprocmask

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sigprocmask.html

Gnulib module: sigprocmask

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: Although sigprocmask officially has undefined behaviour in multi-threaded programs, in practice it is essentially equivalent to pthread_sigmask, with only a difference regarding the error return convention. It’s simpler to use sigprocmask, since it does not require linking with -lpthread on some platforms: glibc, NetBSD, OpenBSD, AIX.

Note: While on POSIX platforms, sigprocmask is multithread-safe and async-signal safe (cf. POSIX section “Signal Actions” https://pubs.opengroup.org/onlinepubs/9799919799/functions/V2_chap02.html#tag_16_04_03), the gnulib replacement on native Windows is only multithread-safe, not async-signal safe.


Next: , Previous: , Up: Functions in <signal.h>   [Contents][Index]

10.40.19 sigqueue

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sigqueue.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <signal.h>   [Contents][Index]

10.40.20 sigsuspend

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sigsuspend.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <signal.h>   [Contents][Index]

10.40.21 sigtimedwait

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sigtimedwait.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <signal.h>   [Contents][Index]

10.40.22 sigwait

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sigwait.html

Gnulib module: extensions

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <signal.h>   [Contents][Index]

10.40.23 sigwaitinfo

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sigwaitinfo.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <signal.h>   [Contents][Index]

10.40.24 str2sig

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/str2sig.html

Gnulib module: sig2str

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.41 Functions in <spawn.h>


Next: , Up: Functions in <spawn.h>   [Contents][Index]

10.41.1 posix_spawn

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_spawn.html

Gnulib module: posix_spawn

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

The Gnulib modules posix_spawn_file_actions_addchdir and posix_spawn_file_actions_addfchdir provide additional actions, that consist in changing the current directory of the child process before starting the specified program.


Next: , Previous: , Up: Functions in <spawn.h>   [Contents][Index]

10.41.2 posix_spawn_file_actions_addchdir

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_spawn_file_actions_addchdir.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <spawn.h>   [Contents][Index]

10.41.3 posix_spawn_file_actions_addclose

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_spawn_file_actions_addclose.html

Gnulib module: posix_spawn_file_actions_addclose

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <spawn.h>   [Contents][Index]

10.41.4 posix_spawn_file_actions_adddup2

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_spawn_file_actions_adddup2.html

Gnulib module: posix_spawn_file_actions_adddup2

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <spawn.h>   [Contents][Index]

10.41.5 posix_spawn_file_actions_addfchdir

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_spawn_file_actions_addfchdir.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <spawn.h>   [Contents][Index]

10.41.6 posix_spawn_file_actions_addopen

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_spawn_file_actions_addopen.html

Gnulib module: posix_spawn_file_actions_addopen

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <spawn.h>   [Contents][Index]

10.41.7 posix_spawn_file_actions_destroy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_spawn_file_actions_destroy.html

Gnulib module: posix_spawn_file_actions_destroy

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <spawn.h>   [Contents][Index]

10.41.8 posix_spawn_file_actions_init

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_spawn_file_actions_init.html

Gnulib module: posix_spawn_file_actions_init

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <spawn.h>   [Contents][Index]

10.41.9 posix_spawnattr_destroy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_spawnattr_destroy.html

Gnulib module: posix_spawnattr_destroy

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <spawn.h>   [Contents][Index]

10.41.10 posix_spawnattr_getflags

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_spawnattr_getflags.html

Gnulib module: posix_spawnattr_getflags

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <spawn.h>   [Contents][Index]

10.41.11 posix_spawnattr_getpgroup

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_spawnattr_getpgroup.html

Gnulib module: posix_spawnattr_getpgroup

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <spawn.h>   [Contents][Index]

10.41.12 posix_spawnattr_getschedparam

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_spawnattr_getschedparam.html

Gnulib module: posix_spawnattr_getschedparam

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <spawn.h>   [Contents][Index]

10.41.13 posix_spawnattr_getschedpolicy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_spawnattr_getschedpolicy.html

Gnulib module: posix_spawnattr_getschedpolicy

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <spawn.h>   [Contents][Index]

10.41.14 posix_spawnattr_getsigdefault

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_spawnattr_getsigdefault.html

Gnulib module: posix_spawnattr_getsigdefault

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <spawn.h>   [Contents][Index]

10.41.15 posix_spawnattr_getsigmask

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_spawnattr_getsigmask.html

Gnulib module: posix_spawnattr_getsigmask

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <spawn.h>   [Contents][Index]

10.41.16 posix_spawnattr_init

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_spawnattr_init.html

Gnulib module: posix_spawnattr_init

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <spawn.h>   [Contents][Index]

10.41.17 posix_spawnattr_setflags

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_spawnattr_setflags.html

Gnulib module: posix_spawnattr_setflags

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <spawn.h>   [Contents][Index]

10.41.18 posix_spawnattr_setpgroup

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_spawnattr_setpgroup.html

Gnulib module: posix_spawnattr_setpgroup

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <spawn.h>   [Contents][Index]

10.41.19 posix_spawnattr_setschedparam

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_spawnattr_setschedparam.html

Gnulib module: posix_spawnattr_setschedparam

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <spawn.h>   [Contents][Index]

10.41.20 posix_spawnattr_setschedpolicy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_spawnattr_setschedpolicy.html

Gnulib module: posix_spawnattr_setschedpolicy

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <spawn.h>   [Contents][Index]

10.41.21 posix_spawnattr_setsigdefault

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_spawnattr_setsigdefault.html

Gnulib module: posix_spawnattr_setsigdefault

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <spawn.h>   [Contents][Index]

10.41.22 posix_spawnattr_setsigmask

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_spawnattr_setsigmask.html

Gnulib module: posix_spawnattr_setsigmask

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <spawn.h>   [Contents][Index]

10.41.23 posix_spawnp

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_spawnp.html

Gnulib module: posix_spawnp

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

The Gnulib modules posix_spawn_file_actions_addchdir and posix_spawn_file_actions_addfchdir provide additional actions, that consist in changing the current directory of the child process before starting the specified program.


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.42 Functions in <stdarg.h>


Next: , Up: Functions in <stdarg.h>   [Contents][Index]

10.42.1 va_arg

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/va_arg.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdarg.h>   [Contents][Index]

10.42.2 va_copy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/va_copy.html

Gnulib module: stdarg-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdarg.h>   [Contents][Index]

10.42.3 va_end

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/va_end.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <stdarg.h>   [Contents][Index]

10.42.4 va_start

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/va_start.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.43 Functions in <stdatomic.h>


Next: , Up: Functions in <stdatomic.h>   [Contents][Index]

10.43.1 atomic_compare_exchange_strong

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.17.7.4.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atomic_compare_exchange_strong.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdatomic.h>   [Contents][Index]

10.43.2 atomic_compare_exchange_strong_explicit

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.17.7.4.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atomic_compare_exchange_strong_explicit.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdatomic.h>   [Contents][Index]

10.43.3 atomic_compare_exchange_weak

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.17.7.4.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atomic_compare_exchange_weak.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdatomic.h>   [Contents][Index]

10.43.4 atomic_compare_exchange_weak_explicit

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.17.7.4.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atomic_compare_exchange_weak_explicit.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdatomic.h>   [Contents][Index]

10.43.5 atomic_exchange

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.17.7.3.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atomic_exchange.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdatomic.h>   [Contents][Index]

10.43.6 atomic_exchange_explicit

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.17.7.3.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atomic_exchange_explicit.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdatomic.h>   [Contents][Index]

10.43.7 atomic_fetch_add

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.17.7.5.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atomic_fetch_add.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdatomic.h>   [Contents][Index]

10.43.8 atomic_fetch_add_explicit

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.17.7.5.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atomic_fetch_add_explicit.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdatomic.h>   [Contents][Index]

10.43.9 atomic_fetch_and

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.17.7.5.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atomic_fetch_and.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdatomic.h>   [Contents][Index]

10.43.10 atomic_fetch_and_explicit

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.17.7.5.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atomic_fetch_and_explicit.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdatomic.h>   [Contents][Index]

10.43.11 atomic_fetch_or

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.17.7.5.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atomic_fetch_or.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdatomic.h>   [Contents][Index]

10.43.12 atomic_fetch_or_explicit

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.17.7.5.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atomic_fetch_or_explicit.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdatomic.h>   [Contents][Index]

10.43.13 atomic_fetch_sub

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.17.7.5.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atomic_fetch_sub.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdatomic.h>   [Contents][Index]

10.43.14 atomic_fetch_sub_explicit

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.17.7.5.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atomic_fetch_sub_explicit.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdatomic.h>   [Contents][Index]

10.43.15 atomic_fetch_xor

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.17.7.5.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atomic_fetch_xor.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdatomic.h>   [Contents][Index]

10.43.16 atomic_fetch_xor_explicit

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.17.7.5.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atomic_fetch_xor_explicit.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdatomic.h>   [Contents][Index]

10.43.17 atomic_flag_clear

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.17.8.2.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atomic_flag_clear.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdatomic.h>   [Contents][Index]

10.43.18 atomic_flag_clear_explicit

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.17.8.2.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atomic_flag_clear_explicit.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdatomic.h>   [Contents][Index]

10.43.19 atomic_flag_test_and_set

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.17.8.1.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atomic_flag_test_and_set.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdatomic.h>   [Contents][Index]

10.43.20 atomic_flag_test_and_set_explicit

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.17.8.1.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atomic_flag_test_and_set_explicit.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdatomic.h>   [Contents][Index]

10.43.21 atomic_init

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.17.2.1.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atomic_init.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdatomic.h>   [Contents][Index]

10.43.22 atomic_is_lock_free

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.17.5.1.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atomic_is_lock_free.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdatomic.h>   [Contents][Index]

10.43.23 atomic_load

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.17.7.2.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atomic_load.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdatomic.h>   [Contents][Index]

10.43.24 atomic_load_explicit

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.17.7.2.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atomic_load_explicit.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdatomic.h>   [Contents][Index]

10.43.25 atomic_signal_fence

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.17.4.2.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atomic_signal_fence.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdatomic.h>   [Contents][Index]

10.43.26 atomic_store

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.17.7.1.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atomic_store.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdatomic.h>   [Contents][Index]

10.43.27 atomic_store_explicit

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.17.7.1.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atomic_store_explicit.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdatomic.h>   [Contents][Index]

10.43.28 atomic_thread_fence

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.17.4.1.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atomic_thread_fence.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <stdatomic.h>   [Contents][Index]

10.43.29 kill_dependency

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.17.3.1.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/kill_dependency.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.44 Functions in <stdbit.h>


Next: , Up: Functions in <stdbit.h>   [Contents][Index]

10.44.1 stdc_bit_ceil

Documentation:
ISO C23 (latest free draft https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf) section 7.18.16.

Gnulib module: stdc_bit_ceil

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdbit.h>   [Contents][Index]

10.44.2 stdc_bit_floor

Documentation:
ISO C23 (latest free draft https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf) section 7.18.15.

Gnulib module: stdc_bit_floor

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdbit.h>   [Contents][Index]

10.44.3 stdc_bit_width

Documentation:
ISO C23 (latest free draft https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf) section 7.18.14.

Gnulib module: stdc_bit_width

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdbit.h>   [Contents][Index]

10.44.4 stdc_count_ones

Documentation:
ISO C23 (latest free draft https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf) section 7.18.12.

Gnulib module: stdc_count_ones

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdbit.h>   [Contents][Index]

10.44.5 stdc_count_zeros

Documentation:
ISO C23 (latest free draft https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf) section 7.18.11.

Gnulib module: stdc_count_zeros

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdbit.h>   [Contents][Index]

10.44.6 stdc_first_leading_one

Documentation:
ISO C23 (latest free draft https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf) section 7.18.8.

Gnulib module: stdc_first_leading_one

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdbit.h>   [Contents][Index]

10.44.7 stdc_first_leading_zero

Documentation:
ISO C23 (latest free draft https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf) section 7.18.7.

Gnulib module: stdc_first_leading_zero

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdbit.h>   [Contents][Index]

10.44.8 stdc_first_trailing_one

Documentation:
ISO C23 (latest free draft https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf) section 7.18.10.

Gnulib module: stdc_first_trailing_one

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdbit.h>   [Contents][Index]

10.44.9 stdc_first_trailing_zero

Documentation:
ISO C23 (latest free draft https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf) section 7.18.9.

Gnulib module: stdc_first_trailing_zero

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdbit.h>   [Contents][Index]

10.44.10 stdc_has_single_bit

Documentation:
ISO C23 (latest free draft https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf) section 7.18.13.

Gnulib module: stdc_has_single_bit

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdbit.h>   [Contents][Index]

10.44.11 stdc_leading_ones

Documentation:
ISO C23 (latest free draft https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf) section 7.18.4.

Gnulib module: stdc_leading_ones

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdbit.h>   [Contents][Index]

10.44.12 stdc_leading_zeros

Documentation:
ISO C23 (latest free draft https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf) section 7.18.3.

Gnulib module: stdc_leading_zeros

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdbit.h>   [Contents][Index]

10.44.13 stdc_trailing_ones

Documentation:
ISO C23 (latest free draft https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf) section 7.18.6.

Gnulib module: stdc_trailing_ones

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <stdbit.h>   [Contents][Index]

10.44.14 stdc_trailing_zeros

Documentation:
ISO C23 (latest free draft https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf) section 7.18.5.

Gnulib module: stdc_trailing_zeros

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.45 Functions in <stdio.h>


Next: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.1 asprintf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/asprintf.html

Documentation:

Gnulib module: vasprintf or vasprintf-posix or vasprintf-gnu

Portability problems fixed by either Gnulib module vasprintf or vasprintf-posix or vasprintf-gnu:

Portability problems fixed by either Gnulib module vasprintf-posix or vasprintf-gnu:

Portability problems fixed by Gnulib module vasprintf-gnu:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.2 clearerr

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/clearerr.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.3 ctermid

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ctermid.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.4 dprintf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/dprintf.html

Gnulib module: dprintf or dprintf-posix or dprintf-gnu

Portability problems fixed by either Gnulib module dprintf or dprintf-posix or dprintf-gnu:

Portability problems fixed by either Gnulib module dprintf-posix or dprintf-gnu:

Portability problems fixed by Gnulib module dprintf-gnu:

Portability problems fixed by either Gnulib module dprintf-posix or dprintf-gnu and additionally the Gnulib module printf-with-n-directive:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.5 fclose

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fclose.html

Gnulib module: fclose

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.6 fdopen

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fdopen.html

Gnulib module: fdopen

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.7 feof

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/feof.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.8 ferror

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ferror.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.9 fflush

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fflush.html

Gnulib module: fflush

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.10 fgetc

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fgetc.html

Gnulib module: stdio-h, nonblocking

Portability problems fixed by Gnulib module stdio-h, together with module nonblocking:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.11 fgetpos

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fgetpos.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.12 fgets

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fgets.html

Gnulib module: stdio-h, nonblocking

Portability problems fixed by Gnulib module stdio-h, together with module nonblocking:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.13 fileno

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fileno.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.14 flockfile

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/flockfile.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.15 fmemopen

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fmemopen.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

An alternative to the fmemopen function is the Gnulib module sf-istream.


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.16 fopen

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fopen.html

Gnulib module: fopen or fopen-gnu

Portability problems fixed by either Gnulib module fopen or fopen-gnu:

Portability problems fixed by Gnulib module fopen-gnu:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.17 fprintf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fprintf.html

Gnulib module: fprintf-posix or fprintf-gnu or stdio-h, nonblocking, sigpipe

Portability problems fixed by either Gnulib module stdio-h or fprintf-posix or fprintf-gnu:

Portability problems fixed by either Gnulib module fprintf-posix or fprintf-gnu:

Portability problems fixed by Gnulib module fprintf-gnu:

Portability problems fixed by either Gnulib module fprintf-posix or fprintf-gnu and additionally the Gnulib module printf-with-n-directive:

Portability problems fixed by Gnulib module stdio-h or fprintf-posix or fprintf-gnu, together with module nonblocking:

Portability problems fixed by Gnulib module stdio-h or fprintf-posix or fprintf-gnu, together with module sigpipe:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.18 fputc

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fputc.html

Gnulib module: stdio-h, nonblocking, sigpipe

Portability problems fixed by Gnulib module stdio-h, together with module nonblocking:

Portability problems fixed by Gnulib module stdio-h, together with module sigpipe:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.19 fputs

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fputs.html

Gnulib module: stdio-h, nonblocking, sigpipe

Portability problems fixed by Gnulib module stdio-h, together with module nonblocking:

Portability problems fixed by Gnulib module stdio-h, together with module sigpipe:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.20 fread

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fread.html

Gnulib module: stdio-h, nonblocking

Portability problems fixed by Gnulib module stdio-h, together with module nonblocking:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.21 freopen

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/freopen.html

Gnulib module: freopen

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.22 fscanf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fscanf.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-fscanf.html

Gnulib module: stdio-h, nonblocking

Portability problems fixed by Gnulib module stdio-h, together with module nonblocking:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.23 fseek

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fseek.html

Gnulib module: fseek

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.24 fseeko

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fseeko.html

Gnulib module: fseeko

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.25 fsetpos

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fsetpos.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.26 ftell

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ftell.html

Gnulib module: ftell

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.27 ftello

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ftello.html

Gnulib module: ftello

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.28 ftrylockfile

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ftrylockfile.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.29 funlockfile

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/funlockfile.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.30 fwrite

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fwrite.html

Gnulib module: stdio-h, nonblocking, sigpipe

Portability problems fixed by Gnulib module stdio-h:

Portability problems fixed by Gnulib module stdio-h, together with module nonblocking:

Portability problems fixed by Gnulib module stdio-h, together with module sigpipe:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.31 getc

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getc.html

Gnulib module: stdio-h, nonblocking

Portability problems fixed by Gnulib module stdio-h, together with module nonblocking:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.32 getc_unlocked

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getc_unlocked.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.33 getchar

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getchar.html

Gnulib module: stdio-h, nonblocking

Portability problems fixed by Gnulib module stdio-h, together with module nonblocking:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.34 getchar_unlocked

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getchar_unlocked.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.35 getdelim

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getdelim.html

Gnulib module: getdelim

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.36 getline

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getline.html

Gnulib module: getline

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.37 open_memstream

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/open_memstream.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

An alternative to the open_memstream function is the Gnulib module string-buffer.


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.38 pclose

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pclose.html

Gnulib module: pclose

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.39 perror

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/perror.html

Gnulib module: perror

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.40 popen

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/popen.html

Gnulib module: popen

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.41 printf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/printf.html

Gnulib module: printf-posix or printf-gnu or stdio-h, nonblocking, sigpipe

Portability problems fixed by either Gnulib module stdio-h or fprintf-posix or fprintf-gnu:

Portability problems fixed by either Gnulib module printf-posix or printf-gnu:

Portability problems fixed by Gnulib module printf-gnu:

Portability problems fixed by either Gnulib module printf-posix or printf-gnu and additionally the Gnulib module printf-with-n-directive:

Portability problems fixed by Gnulib module stdio-h or printf-posix or printf-gnu, together with module nonblocking:

Portability problems fixed by Gnulib module stdio-h or printf-posix or printf-gnu, together with module sigpipe:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.42 putc

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/putc.html

Gnulib module: stdio-h, nonblocking, sigpipe

Portability problems fixed by Gnulib module stdio-h, together with module nonblocking:

Portability problems fixed by Gnulib module stdio-h, together with module sigpipe:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.43 putc_unlocked

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/putc_unlocked.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.44 putchar

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/putchar.html

Gnulib module: stdio-h, nonblocking, sigpipe

Portability problems fixed by Gnulib module stdio-h, together with module nonblocking:

Portability problems fixed by Gnulib module stdio-h, together with module sigpipe:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.45 putchar_unlocked

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/putchar_unlocked.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.46 puts

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/puts.html

Gnulib module: stdio-h, nonblocking, sigpipe

Portability problems fixed by Gnulib module stdio-h, together with module nonblocking:

Portability problems fixed by Gnulib module stdio-h, together with module sigpipe:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.47 remove

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/remove.html

Gnulib module: remove

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.48 rename

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/rename.html

Gnulib module: rename

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.49 renameat

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/renameat.html

Gnulib module: renameat

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.50 rewind

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/rewind.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.51 scanf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/scanf.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-scanf.html

Gnulib module: stdio-h, nonblocking

Portability problems fixed by Gnulib module stdio-h, together with module nonblocking:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.52 setbuf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/setbuf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.53 setvbuf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/setvbuf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.54 snprintf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/snprintf.html

Gnulib module: snprintf or snprintf-posix or snprintf-gnu

Portability problems fixed by either Gnulib module snprintf or snprintf-posix or snprintf-gnu:

Portability problems fixed by either Gnulib module snprintf-posix or snprintf-gnu:

Portability problems fixed by Gnulib module snprintf-gnu:

Portability problems fixed by either Gnulib module snprintf-posix or snprintf-gnu and additionally the Gnulib module printf-with-n-directive:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.55 sprintf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sprintf.html

Gnulib module: sprintf-posix or sprintf-gnu

Portability problems fixed by either Gnulib module sprintf-posix or sprintf-gnu:

Portability problems fixed by Gnulib module sprintf-gnu:

Portability problems fixed by either Gnulib module sprintf-posix or sprintf-gnu and additionally the Gnulib module printf-with-n-directive:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.56 sscanf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sscanf.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-sscanf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.57 stderr

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/stderr.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.58 stdin

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/stdin.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.59 stdout

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/stdout.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.60 tmpfile

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tmpfile.html

Gnulib module: tmpfile

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.61 tmpnam

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tmpnam.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.62 ungetc

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ungetc.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.63 vasprintf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/vasprintf.html

Documentation:

Gnulib module: vasprintf or vasprintf-posix or vasprintf-gnu

Portability problems fixed by either Gnulib module vasprintf or vasprintf-posix or vasprintf-gnu:

Portability problems fixed by either Gnulib module vasprintf-posix or vasprintf-gnu:

Portability problems fixed by Gnulib module vasprintf-gnu:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.64 vdprintf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/vdprintf.html

Gnulib module: vdprintf or vdprintf-posix or vdprintf-gnu

Portability problems fixed by either Gnulib module vdprintf or vdprintf-posix or vdprintf-gnu:

Portability problems fixed by either Gnulib module vdprintf-posix or vdprintf-gnu:

Portability problems fixed by Gnulib module vdprintf-gnu:

Portability problems fixed by either Gnulib module vdprintf-posix or vdprintf-gnu and additionally the Gnulib module printf-with-n-directive:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.65 vfprintf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/vfprintf.html

Gnulib module: vfprintf-posix or vfprintf-gnu or stdio-h, nonblocking, sigpipe

Portability problems fixed by either Gnulib module stdio-h or fprintf-posix or fprintf-gnu:

Portability problems fixed by either Gnulib module vfprintf-posix or vfprintf-gnu:

Portability problems fixed by Gnulib module vfprintf-gnu:

Portability problems fixed by either Gnulib module vfprintf-posix or vfprintf-gnu and additionally the Gnulib module printf-with-n-directive:

Portability problems fixed by Gnulib module stdio-h or vfprintf-posix or vfprintf-gnu, together with module nonblocking:

Portability problems fixed by Gnulib module stdio-h or vfprintf-posix or vfprintf-gnu, together with module sigpipe:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.66 vfscanf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/vfscanf.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-vfscanf.html

Gnulib module: vfscanf, nonblocking

Portability problems fixed by Gnulib module vfscanf, together with module nonblocking:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.67 vprintf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/vprintf.html

Gnulib module: vprintf-posix or vprintf-gnu or stdio-h, nonblocking, sigpipe

Portability problems fixed by either Gnulib module stdio-h or fprintf-posix or fprintf-gnu:

Portability problems fixed by either Gnulib module vprintf-posix or vprintf-gnu:

Portability problems fixed by Gnulib module vprintf-gnu:

Portability problems fixed by either Gnulib module vprintf-posix or vprintf-gnu and additionally the Gnulib module printf-with-n-directive:

Portability problems fixed by Gnulib module stdio-h or vprintf-posix or vprintf-gnu, together with module nonblocking:

Portability problems fixed by Gnulib module stdio-h or vprintf-posix or vprintf-gnu, together with module sigpipe:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.68 vscanf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/vscanf.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-vscanf.html

Gnulib module: vscanf, nonblocking

Portability problems fixed by Gnulib module vscanf, together with module nonblocking:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.69 vsnprintf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/vsnprintf.html

Gnulib module: vsnprintf or vsnprintf-posix or vsnprintf-gnu

Portability problems fixed by either Gnulib module vsnprintf or vsnprintf-posix or vsnprintf-gnu:

Portability problems fixed by either Gnulib module vsnprintf-posix or vsnprintf-gnu:

Portability problems fixed by Gnulib module vsnprintf-gnu:

Portability problems fixed by either Gnulib module vsnprintf-posix or vsnprintf-gnu and additionally the Gnulib module printf-with-n-directive:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.70 vsprintf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/vsprintf.html

Gnulib module: vsprintf-posix or vsprintf-gnu

Portability problems fixed by either Gnulib module vsprintf-posix or vsprintf-gnu:

Portability problems fixed by Gnulib module vsprintf-gnu:

Portability problems fixed by either Gnulib module vsprintf-posix or vsprintf-gnu and additionally the Gnulib module printf-with-n-directive:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <stdio.h>   [Contents][Index]

10.45.71 vsscanf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/vsscanf.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-vsscanf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.46 Functions in <stdlib.h>


Next: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.1 _Exit

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/_Exit.html

Gnulib module: _Exit

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.2 a64l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/a64l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.3 abort

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/abort.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.4 abs

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/abs.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.5 aligned_alloc

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.24.3.1.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/aligned_alloc.html

Documentation:
man aligned_alloc

Gnulib module: aligned_alloc

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Gnulib has partial substitutes for aligned_alloc that do not crash even if the AddressSanitizer bug is present:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.6 at_quick_exit

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.24.4.3.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/at_quick_exit.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.7 atexit

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atexit.html

Gnulib module: atexit

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.8 atof

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atof.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.9 atoi

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atoi.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.10 atol

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atol.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.11 atoll

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atoll.html

Gnulib module: atoll

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.12 bsearch

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/bsearch.html

Gnulib module: bsearch

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.13 calloc

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/calloc.html

Gnulib module: calloc-posix

Portability problems fixed by Gnulib:

Extension: Gnulib provides a module ‘calloc-gnu’ that substitutes a calloc implementation that behaves more like the glibc implementation. It fixes this portability problem:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.14 div

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/div.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.15 drand48

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/drand48.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.16 erand48

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/erand48.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.17 exit

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/exit.html

Gnulib module: stdlib-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.18 free

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/free.html

Gnulib module: free-posix

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.19 free_aligned_sized

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.24.3.5

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.20 free_sized

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.24.3.4

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.21 getenv

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getenv.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.22 getsubopt

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getsubopt.html

Gnulib module: getsubopt

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.23 grantpt

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/grantpt.html

Gnulib module: grantpt

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.24 initstate

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/initstate.html

Gnulib module: random

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.25 jrand48

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/jrand48.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.26 l64a

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/l64a.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.27 labs

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/labs.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.28 lcong48

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/lcong48.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.29 ldiv

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ldiv.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.30 llabs

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/llabs.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.31 lldiv

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/lldiv.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.32 lrand48

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/lrand48.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.33 malloc

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/malloc.html

Gnulib module: malloc-posix

Portability problems fixed by Gnulib:

Extension: Gnulib provides a module ‘malloc-gnu’ that substitutes a malloc implementation that behaves more like the glibc implementation, by fixing this portability problem:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.34 mblen

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mblen.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.35 mbstowcs

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mbstowcs.html

Gnulib module: mbstowcs

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.36 mbtowc

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mbtowc.html

Gnulib module: mbtowc

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.37 memalignment

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.24.9.1

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

To check whether a pointer P has alignment A, Gnulib code typically tests (uintptr_t) P % A instead of memalignment (P) % A. See Other portability assumptions.


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.38 mkdtemp

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mkdtemp.html

Gnulib module: mkdtemp

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.39 mkostemp

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mkostemp.html

Documentation:
man mkostemp

Gnulib module: mkostemp

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

The gnulib module clean-temp can create temporary files that will not be left behind after signals such as SIGINT.


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.40 mkstemp

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mkstemp.html

Gnulib module: mkstemp

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

The gnulib module clean-temp can create temporary files that will not be left behind after signals such as SIGINT.


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.41 mrand48

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mrand48.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.42 nrand48

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/nrand48.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.43 posix_memalign

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_memalign.html

Gnulib module: posix_memalign

Although this function is superseded by aligned_alloc, it is more portable to older systems that do not support C11. See aligned_alloc.

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

The Gnulib module aligned-malloc provides functions for allocating and freeing blocks of suitably aligned memory.

The Gnulib module pagealign_alloc provides a similar API for allocating and freeing blocks of memory aligned on a system page boundary.


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.44 posix_openpt

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_openpt.html

Gnulib module: posix_openpt

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note that when using this function to open the master side of a pseudo-terminal, you still need platform dependent code to open the corresponding slave side. The Gnulib module openpty provides an easy-to-use API that does both at once.


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.45 ptsname

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ptsname.html

Gnulib module: ptsname

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note that the Gnulib module ptsname_r is a version of this function that is more likely to be thread-safe.


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.46 ptsname_r

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ptsname_r.html

Documentation:

Gnulib module: ptsname_r

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: Portable programs should expect to find the error code as the return value of this function, not as the value of errno. This is needed for compatibility with musl libc and with the forthcoming POSIX Issue 8.


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.47 putenv

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/putenv.html, amended through https://www.austingroupbugs.net/view.php?id=1598.

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Environment-Access.html.

Note: POSIX putenv supports adding or changing the value of an environment variable, while glibc also supports removing an environment variable (as if by unsetenv).

Gnulib module: putenv-gnu

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.48 qsort

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/qsort.html

Gnulib module: qsort

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.49 qsort_r

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/qsort_r.html

Documentation:
man qsort_r

Gnulib module: qsort_r

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.50 quick_exit

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.24.4.7.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/quick_exit.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.51 rand

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/rand.html

Gnulib module: rand

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.52 rand_r

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/rand_r.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.53 random

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/random.html

Gnulib module: random

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.54 realloc

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/realloc.html

Gnulib module: realloc-posix

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.55 reallocarray

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/reallocarray.html

Documentation:

Gnulib module: reallocarray

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.56 realpath

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/realpath.html

Gnulib module: canonicalize-lgpl

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.57 secure_getenv

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/secure_getenv.html

Documentation:

Gnulib module: secure_getenv

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.58 seed48

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/seed48.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.59 setenv

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/setenv.html

Gnulib module: setenv

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.60 setkey

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/setkey.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.61 setstate

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/setstate.html

Gnulib module: random

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.62 srand

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/srand.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.63 srand48

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/srand48.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.64 srandom

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/srandom.html

Gnulib module: random

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.65 strfromd

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.66 strfromf

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.67 strfroml

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.68 strtod

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strtod.html

Gnulib module: strtod or strtod-obsolete

Portability problems fixed by either Gnulib module strtod or strtod-obsolete:

Portability problems fixed by Gnulib module strtod-obsolete:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.69 strtof

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strtof.html

Gnulib module: strtof

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.70 strtol

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strtol.html

Gnulib module: strtol

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.71 strtold

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strtold.html

Gnulib module: strtold

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.72 strtoll

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strtoll.html

Gnulib module: strtoll

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.73 strtoul

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strtoul.html

Gnulib module: strtoul

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.74 strtoull

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strtoull.html

Gnulib module: strtoull

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.75 system

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/system.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-system-3.html

Gnulib module: system-posix

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.76 unlockpt

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/unlockpt.html

Gnulib module: unlockpt

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.77 unsetenv

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/unsetenv.html

Gnulib module: unsetenv

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.78 wcstombs

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcstombs.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <stdlib.h>   [Contents][Index]

10.46.79 wctomb

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wctomb.html

Gnulib module: wctomb

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.47 Functions in <string.h>


Next: , Up: Functions in <string.h>   [Contents][Index]

10.47.1 memccpy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/memccpy.html

Gnulib module: memccpy

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.2 memchr

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/memchr.html

Gnulib module: memchr

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.3 memcmp

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/memcmp.html

Gnulib module: memcmp

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.4 memcpy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/memcpy.html

Gnulib module: memcpy

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.5 memmem

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/memmem.html

Documentation:

Gnulib module: memmem or memmem-simple

Both modules implement the same replacement for the memmem function with the memmem module providing a replacement on more platforms where the existing memmem function has a quadratic worst-case complexity.

Portability problems fixed by either Gnulib module memmem-simple or memmem:

Performance problems fixed by Gnulib module memmem:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.6 memmove

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/memmove.html

Gnulib module: memmove

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.7 memset

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/memset.html

Gnulib module: memset

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.8 memset_explicit

Documentation:

Gnulib module: memset_explicit

The memset_explicit function is an approximation to what is needed, and does not suffice in general to erase information. Although calling memset_explicit should clear the memory in question, the information that was in memory may still be available elsewhere on the machine. Proper implementation of information erasure requires support from levels below C code.

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.9 stpcpy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/stpcpy.html

Gnulib module: stpcpy

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.10 stpncpy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/stpncpy.html

Gnulib module: stpncpy

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.11 strcat

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strcat.html

Gnulib module: string-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.12 strchr

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strchr.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.13 strcmp

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strcmp.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.14 strcoll

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strcoll.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.15 strcoll_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strcoll_l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.16 strcpy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strcpy.html

Gnulib module: string-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: strcpy (dst, src) is only safe to use when you can guarantee that there are at least strlen (src) + 1 bytes allocated at dst.


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.17 strcspn

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strcspn.html

Gnulib module: strcspn

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.18 strdup

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strdup.html

Gnulib module: strdup or strdup-posix

Portability problems fixed by either Gnulib module strdup or strdup-posix:

Portability problems fixed by Gnulib module strdup-posix:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.19 strerror

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strerror.html

Gnulib module: strerror

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.20 strerror_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strerror_l.html

Gnulib module: strerror_l

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.21 strerror_r

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strerror_r.html

LSB specification:

Gnulib module: strerror_r-posix

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: Gnulib has a module xstrerror, with the property that xstrerror (NULL, errnum) returns the value of strerror_r as a freshly allocated string. (Recall that the expression strerror (errnum) is not multithread-safe.)


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.22 strlcat

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strlcat.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Truncating-Strings.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.23 strlcpy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strlcpy.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Truncating-Strings.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.24 strlen

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strlen.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.25 strncat

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strncat.html

Gnulib module: strncat

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.26 strncmp

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strncmp.html

Gnulib module: strncmp

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.27 strncpy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strncpy.html

Gnulib module: string-h or strncpy

Portability problems fixed by Gnulib module string-h or Gnulib module strncpy:

Portability problems fixed by Gnulib module strncpy:

Portability problems not fixed by Gnulib:

Note: This function was designed for the use-case of filling a fixed-size record with a string, before writing it to a file. This function is not appropriate for copying a string into a bounded memory area, because you have no guarantee that the result will be NUL-terminated. Even if you add the NUL byte at the end yourself, this function is inefficient (as it spends time clearing unused memory) and will allow silent truncation to occur, which is not a good behavior for GNU programs. For more details, see https://meyering.net/crusade-to-eliminate-strncpy/.


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.28 strndup

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strndup.html

Gnulib module: strndup

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.29 strnlen

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strnlen.html

Gnulib module: strnlen

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.30 strpbrk

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strpbrk.html

Gnulib module: strpbrk

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.31 strrchr

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strrchr.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.32 strsignal

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strsignal.html

Gnulib module: strsignal

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.33 strspn

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strspn.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.34 strstr

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strstr.html

Gnulib module: strstr or strstr-simple

Portability problems fixed by either Gnulib module strstr-simple or strstr:

Portability problems fixed by Gnulib module strstr:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.35 strtok

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strtok.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.36 strtok_r

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strtok_r.html

Gnulib module: strtok_r

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.37 strxfrm

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strxfrm.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <string.h>   [Contents][Index]

10.47.38 strxfrm_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strxfrm_l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.48 Functions in <strings.h>


Next: , Up: Functions in <strings.h>   [Contents][Index]

10.48.1 ffs

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ffs.html

Gnulib module: ffs

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <strings.h>   [Contents][Index]

10.48.2 ffsl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ffsl.html

Documentation:
man ffsl

Gnulib module: ffsl

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <strings.h>   [Contents][Index]

10.48.3 ffsll

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ffsll.html

Documentation:
man ffsll

Gnulib module: ffsll

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <strings.h>   [Contents][Index]

10.48.4 strcasecmp

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strcasecmp.html

Gnulib module: strcasecmp

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <strings.h>   [Contents][Index]

10.48.5 strcasecmp_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strcasecmp_l.html

Gnulib module: strcasecmp_l

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <strings.h>   [Contents][Index]

10.48.6 strncasecmp

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strncasecmp.html

Gnulib module: strncasecmp

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <strings.h>   [Contents][Index]

10.48.7 strncasecmp_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strncasecmp_l.html

Gnulib module: strncasecmp_l

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.49 Functions in <sys/ipc.h>


Up: Functions in <sys/ipc.h>   [Contents][Index]

10.49.1 ftok

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ftok.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.50 Functions in <sys/mman.h>


Next: , Up: Functions in <sys/mman.h>   [Contents][Index]

10.50.1 mlock

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mlock.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/mman.h>   [Contents][Index]

10.50.2 mlockall

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mlockall.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/mman.h>   [Contents][Index]

10.50.3 mmap

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mmap.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/mman.h>   [Contents][Index]

10.50.4 mprotect

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mprotect.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/mman.h>   [Contents][Index]

10.50.5 msync

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/msync.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/mman.h>   [Contents][Index]

10.50.6 munlock

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/munlock.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/mman.h>   [Contents][Index]

10.50.7 munlockall

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/munlockall.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/mman.h>   [Contents][Index]

10.50.8 munmap

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/munmap.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/mman.h>   [Contents][Index]

10.50.9 posix_madvise

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_madvise.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/mman.h>   [Contents][Index]

10.50.10 posix_mem_offset

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_mem_offset.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/mman.h>   [Contents][Index]

10.50.11 posix_typed_mem_get_info

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_typed_mem_get_info.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/mman.h>   [Contents][Index]

10.50.12 posix_typed_mem_open

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_typed_mem_open.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/mman.h>   [Contents][Index]

10.50.13 shm_open

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/shm_open.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <sys/mman.h>   [Contents][Index]

10.50.14 shm_unlink

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/shm_unlink.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.51 Functions in <sys/msg.h>


Next: , Up: Functions in <sys/msg.h>   [Contents][Index]

10.51.1 msgctl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/msgctl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/msg.h>   [Contents][Index]

10.51.2 msgget

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/msgget.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/msg.h>   [Contents][Index]

10.51.3 msgrcv

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/msgrcv.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <sys/msg.h>   [Contents][Index]

10.51.4 msgsnd

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/msgsnd.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.52 Functions in <sys/resource.h>


Next: , Up: Functions in <sys/resource.h>   [Contents][Index]

10.52.1 getpriority

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getpriority.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/resource.h>   [Contents][Index]

10.52.2 getrlimit

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getrlimit.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-getrlimit-1.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/resource.h>   [Contents][Index]

10.52.3 getrusage

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getrusage.html

Gnulib module: getrusage

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/resource.h>   [Contents][Index]

10.52.4 setpriority

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/setpriority.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <sys/resource.h>   [Contents][Index]

10.52.5 setrlimit

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/setrlimit.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-getrlimit-1.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.53 Functions in <sys/select.h>


Next: , Up: Functions in <sys/select.h>   [Contents][Index]

10.53.1 FD_CLR

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/FD_CLR.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/select.h>   [Contents][Index]

10.53.2 FD_ISSET

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/FD_ISSET.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/select.h>   [Contents][Index]

10.53.3 FD_SET

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/FD_SET.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/select.h>   [Contents][Index]

10.53.4 FD_ZERO

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/FD_ZERO.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/select.h>   [Contents][Index]

10.53.5 pselect

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pselect.html

Gnulib module: pselect

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <sys/select.h>   [Contents][Index]

10.53.6 select

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/select.html

Gnulib module: select

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.54 Functions in <sys/sem.h>


Next: , Up: Functions in <sys/sem.h>   [Contents][Index]

10.54.1 semctl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/semctl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/sem.h>   [Contents][Index]

10.54.2 semget

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/semget.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <sys/sem.h>   [Contents][Index]

10.54.3 semop

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/semop.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.55 Functions in <sys/shm.h>


Next: , Up: Functions in <sys/shm.h>   [Contents][Index]

10.55.1 shmat

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/shmat.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/shm.h>   [Contents][Index]

10.55.2 shmctl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/shmctl.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/shm.h>   [Contents][Index]

10.55.3 shmdt

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/shmdt.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <sys/shm.h>   [Contents][Index]

10.55.4 shmget

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/shmget.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.56 Functions in <sys/socket.h>


Next: , Up: Functions in <sys/socket.h>   [Contents][Index]

10.56.1 accept

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/accept.html

Gnulib module: accept

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/socket.h>   [Contents][Index]

10.56.2 accept4

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/accept4.html

Documentation:
man accept4

Gnulib module: accept4

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/socket.h>   [Contents][Index]

10.56.3 bind

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/bind.html

Gnulib module: bind

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/socket.h>   [Contents][Index]

10.56.4 connect

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/connect.html

Gnulib module: connect

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/socket.h>   [Contents][Index]

10.56.5 getpeername

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getpeername.html

Gnulib module: getpeername

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/socket.h>   [Contents][Index]

10.56.6 getsockname

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getsockname.html

Gnulib module: getsockname

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/socket.h>   [Contents][Index]

10.56.7 getsockopt

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getsockopt.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-getsockopt-1.html

Gnulib module: getsockopt

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/socket.h>   [Contents][Index]

10.56.8 listen

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/listen.html

Gnulib module: listen

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/socket.h>   [Contents][Index]

10.56.9 recv

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/recv.html

Gnulib module: recv

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/socket.h>   [Contents][Index]

10.56.10 recvfrom

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/recvfrom.html

Gnulib module: recvfrom

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/socket.h>   [Contents][Index]

10.56.11 recvmsg

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/recvmsg.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/socket.h>   [Contents][Index]

10.56.12 send

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/send.html

Gnulib module: send

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/socket.h>   [Contents][Index]

10.56.13 sendmsg

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sendmsg.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/socket.h>   [Contents][Index]

10.56.14 sendto

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sendto.html

Gnulib module: sendto

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/socket.h>   [Contents][Index]

10.56.15 setsockopt

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/setsockopt.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-setsockopt-2.html

Gnulib module: setsockopt

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/socket.h>   [Contents][Index]

10.56.16 shutdown

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/shutdown.html

Gnulib module: shutdown

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/socket.h>   [Contents][Index]

10.56.17 sockatmark

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sockatmark.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/socket.h>   [Contents][Index]

10.56.18 socket

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/socket.html

Gnulib module: socket

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <sys/socket.h>   [Contents][Index]

10.56.19 socketpair

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/socketpair.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.57 Functions in <sys/stat.h>


Next: , Up: Functions in <sys/stat.h>   [Contents][Index]

10.57.1 chmod

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/chmod.html

Gnulib module: chmod

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/stat.h>   [Contents][Index]

10.57.2 fchmod

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fchmod.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/stat.h>   [Contents][Index]

10.57.3 fchmodat

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fchmodat.html

Gnulib module: fchmodat

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/stat.h>   [Contents][Index]

10.57.4 fstat

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fstat.html

Gnulib module: fstat

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/stat.h>   [Contents][Index]

10.57.5 fstatat

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fstatat.html

Gnulib module: fstatat

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/stat.h>   [Contents][Index]

10.57.6 futimens

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/futimens.html

Gnulib module: futimens

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/stat.h>   [Contents][Index]

10.57.7 lstat

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/lstat.html

Gnulib module: lstat

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/stat.h>   [Contents][Index]

10.57.8 mkdir

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mkdir.html

Gnulib module: sys_stat-h or mkdir

Portability problems fixed by either Gnulib module sys_stat-h or mkdir:

Portability problems fixed by Gnulib module mkdir:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/stat.h>   [Contents][Index]

10.57.9 mkdirat

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mkdirat.html

Gnulib module: mkdirat

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/stat.h>   [Contents][Index]

10.57.10 mkfifo

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mkfifo.html

Gnulib module: mkfifo

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/stat.h>   [Contents][Index]

10.57.11 mkfifoat

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mkfifoat.html

Gnulib module: mkfifoat

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/stat.h>   [Contents][Index]

10.57.12 mknod

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mknod.html

Gnulib module: mknod

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/stat.h>   [Contents][Index]

10.57.13 mknodat

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mknodat.html

Gnulib module: mkfifoat

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/stat.h>   [Contents][Index]

10.57.14 stat

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/stat.html

Gnulib module: stat

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/stat.h>   [Contents][Index]

10.57.15 umask

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/umask.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <sys/stat.h>   [Contents][Index]

10.57.16 utimensat

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/utimensat.html

Gnulib module: utimensat

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

The gnulib module fdutimensat provides a similar interface.


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.58 Functions in <sys/statvfs.h>


Next: , Up: Functions in <sys/statvfs.h>   [Contents][Index]

10.58.1 fstatvfs

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fstatvfs.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <sys/statvfs.h>   [Contents][Index]

10.58.2 statvfs

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/statvfs.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Gnulib provides a module fsusage that provides similar information as statvfs.


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.59 Functions in <sys/time.h>


Up: Functions in <sys/time.h>   [Contents][Index]

10.59.1 utimes

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/utimes.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Extension: Gnulib provides a module ‘utimens’ that works around these problems and can set the time with nanosecond resolution (as far as supported by the file system).


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.60 Functions in <sys/times.h>


Up: Functions in <sys/times.h>   [Contents][Index]

10.60.1 times

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/times.html

Gnulib module: times

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.61 Functions in <sys/uio.h>


Next: , Up: Functions in <sys/uio.h>   [Contents][Index]

10.61.1 readv

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/readv.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <sys/uio.h>   [Contents][Index]

10.61.2 writev

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/writev.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.62 Functions in <sys/utsname.h>


Up: Functions in <sys/utsname.h>   [Contents][Index]

10.62.1 uname

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/uname.html

Gnulib module: uname

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.63 Functions in <sys/wait.h>


Next: , Up: Functions in <sys/wait.h>   [Contents][Index]

10.63.1 wait

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wait.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <sys/wait.h>   [Contents][Index]

10.63.2 waitid

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/waitid.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <sys/wait.h>   [Contents][Index]

10.63.3 waitpid

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/waitpid.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-waitpid-3.html

Gnulib module: waitpid

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.64 Functions in <syslog.h>


Next: , Up: Functions in <syslog.h>   [Contents][Index]

10.64.1 closelog

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/closelog.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <syslog.h>   [Contents][Index]

10.64.2 openlog

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/openlog.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <syslog.h>   [Contents][Index]

10.64.3 setlogmask

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/setlogmask.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <syslog.h>   [Contents][Index]

10.64.4 syslog

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/syslog.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.65 Functions in <termios.h>


Next: , Up: Functions in <termios.h>   [Contents][Index]

10.65.1 cfgetispeed

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cfgetispeed.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <termios.h>   [Contents][Index]

10.65.2 cfgetospeed

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cfgetospeed.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <termios.h>   [Contents][Index]

10.65.3 cfsetispeed

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cfsetispeed.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <termios.h>   [Contents][Index]

10.65.4 cfsetospeed

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cfsetospeed.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <termios.h>   [Contents][Index]

10.65.5 tcdrain

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tcdrain.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <termios.h>   [Contents][Index]

10.65.6 tcflow

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tcflow.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <termios.h>   [Contents][Index]

10.65.7 tcflush

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tcflush.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <termios.h>   [Contents][Index]

10.65.8 tcgetattr

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tcgetattr.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <termios.h>   [Contents][Index]

10.65.9 tcgetsid

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tcgetsid.html

Gnulib module: tcgetsid

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <termios.h>   [Contents][Index]

10.65.10 tcgetwinsize

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tcgetwinsize.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <termios.h>   [Contents][Index]

10.65.11 tcsendbreak

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tcsendbreak.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <termios.h>   [Contents][Index]

10.65.12 tcsetattr

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tcsetattr.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <termios.h>   [Contents][Index]

10.65.13 tcsetwinsize

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tcsetwinsize.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.66 Functions in <threads.h>


Next: , Up: Functions in <threads.h>   [Contents][Index]

10.66.1 call_once

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.28.2.1.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/call_once.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Call-Once.html.

Gnulib module: call_once

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <threads.h>   [Contents][Index]

10.66.2 cnd_broadcast

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.28.3.1.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cnd_broadcast.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/ISO-C-Condition-Variables.html.

Gnulib module: cnd

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <threads.h>   [Contents][Index]

10.66.3 cnd_destroy

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.28.3.2.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cnd_destroy.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/ISO-C-Condition-Variables.html.

Gnulib module: cnd

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <threads.h>   [Contents][Index]

10.66.4 cnd_init

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.28.3.3.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cnd_init.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/ISO-C-Condition-Variables.html.

Gnulib module: cnd

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <threads.h>   [Contents][Index]

10.66.5 cnd_signal

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.28.3.4.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cnd_signal.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/ISO-C-Condition-Variables.html.

Gnulib module: cnd

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <threads.h>   [Contents][Index]

10.66.6 cnd_timedwait

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.28.3.5.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cnd_timedwait.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/ISO-C-Condition-Variables.html.

Gnulib module: cnd

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <threads.h>   [Contents][Index]

10.66.7 cnd_wait

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.28.3.6.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/cnd_wait.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/ISO-C-Condition-Variables.html.

Gnulib module: cnd

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <threads.h>   [Contents][Index]

10.66.8 mtx_destroy

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.28.4.1.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mtx_destroy.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/ISO-C-Mutexes.html.

Gnulib module: mtx

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <threads.h>   [Contents][Index]

10.66.9 mtx_init

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.28.4.2.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mtx_init.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/ISO-C-Mutexes.html.

Gnulib module: mtx

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <threads.h>   [Contents][Index]

10.66.10 mtx_lock

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.28.4.3.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mtx_lock.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/ISO-C-Mutexes.html.

Gnulib module: mtx

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <threads.h>   [Contents][Index]

10.66.11 mtx_timedlock

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.28.4.4.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mtx_timedlock.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/ISO-C-Mutexes.html.

Gnulib module: mtx

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <threads.h>   [Contents][Index]

10.66.12 mtx_trylock

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.28.4.5.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mtx_trylock.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/ISO-C-Mutexes.html.

Gnulib module: mtx

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <threads.h>   [Contents][Index]

10.66.13 mtx_unlock

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.28.4.6.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mtx_unlock.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/ISO-C-Mutexes.html.

Gnulib module: mtx

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <threads.h>   [Contents][Index]

10.66.14 thrd_create

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.28.5.1.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/thrd_create.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/ISO-C-Thread-Management.html.

Gnulib module: thrd

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <threads.h>   [Contents][Index]

10.66.15 thrd_current

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.28.5.2.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/thrd_current.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/ISO-C-Thread-Management.html.

Gnulib module: thrd

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <threads.h>   [Contents][Index]

10.66.16 thrd_detach

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.28.5.3.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/thrd_detach.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/ISO-C-Thread-Management.html.

Gnulib module: thrd

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <threads.h>   [Contents][Index]

10.66.17 thrd_equal

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.28.5.4.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/thrd_equal.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/ISO-C-Thread-Management.html.

Gnulib module: thrd

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <threads.h>   [Contents][Index]

10.66.18 thrd_exit

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.28.5.5.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/thrd_exit.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/ISO-C-Thread-Management.html.

Gnulib module: thrd

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <threads.h>   [Contents][Index]

10.66.19 thrd_join

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.28.5.6.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/thrd_join.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/ISO-C-Thread-Management.html.

Gnulib module: thrd

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <threads.h>   [Contents][Index]

10.66.20 thrd_sleep

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.28.5.7.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/thrd_sleep.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/ISO-C-Thread-Management.html.

Gnulib module: thrd

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <threads.h>   [Contents][Index]

10.66.21 thrd_yield

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.28.5.8.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/thrd_yield.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/ISO-C-Thread-Management.html.

Gnulib module: thrd

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <threads.h>   [Contents][Index]

10.66.22 tss_create

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.28.6.1.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tss_create.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/ISO-C-Thread_002dlocal-Storage.html.

Gnulib module: tss

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <threads.h>   [Contents][Index]

10.66.23 tss_delete

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.28.6.2.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tss_delete.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/ISO-C-Thread_002dlocal-Storage.html.

Gnulib module: tss

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <threads.h>   [Contents][Index]

10.66.24 tss_get

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.28.6.3.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tss_get.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/ISO-C-Thread_002dlocal-Storage.html.

Gnulib module: tss

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <threads.h>   [Contents][Index]

10.66.25 tss_set

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.28.6.4.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tss_set.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/ISO-C-Thread_002dlocal-Storage.html.

Gnulib module: tss

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.67 Functions in <time.h>


Next: , Up: Functions in <time.h>   [Contents][Index]

10.67.1 asctime

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/asctime.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.2 asctime_r

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/asctime_r.html

Gnulib module: extensions

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.3 clock

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/clock.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.4 clock_getcpuclockid

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/clock_getcpuclockid.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.5 clock_getres

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/clock_getres.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

The Gnulib module gettime-res is a partial substitute; it implements the CLOCK_REALTIME functionality of clock_getres, and fixes the too-high resolution bug of platforms like AIX 7.2.


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.6 clock_gettime

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/clock_gettime.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

The Gnulib modules gettime and timespec_get are partial substitutes; they implement the CLOCK_REALTIME functionality of clock_gettime.


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.7 clock_nanosleep

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/clock_nanosleep.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.8 clock_settime

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/clock_settime.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.9 ctime

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ctime.html

Gnulib module: ctime

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Although ctime and related functions asctime, asctime_r and ctime_r formerly were plausible to use, they are now unsafe in general, and should be avoided.

Decades ago when time_t was narrow and there was no strftime or internationalization, code could call these functions and then select the parts needed. For example, in Unix 7th Edition /usr/src/cmd/ls.c (1979):

cp = ctime(&p->lmtime);
if(p->lmtime < year)
        printf(" %-7.7s %-4.4s ", cp+4, cp+20); else
        printf(" %-12.12s ", cp+4);

This had well-defined behavior when time_t was only 32 bits and so was OK for circa 1979 platforms.

However, today’s platforms have a time_t so wide that the year might not be in the range [1000, 9999]. In this case the behavior of ctime is undefined and some platforms behave badly, overrunning a buffer or dereferencing an internal null pointer; and even on platforms where no undefined behavior occurs, the 7th Edition code generates wrong output for out-of-range years, because it incorrectly assumes that every year is represented by exactly four digits.


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.10 ctime_r

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ctime_r.html

Gnulib module: extensions

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.11 daylight

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/daylight.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

This variable is vestigial: it is not needed and does not suffice in general. It is planned to be removed from a future version of POSIX. A more portable way of getting the UTC offset is to use strftime with the %z format. See strftime.


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.12 difftime

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/difftime.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.13 getdate

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getdate.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Gnulib provides a module parse-datetime that contains a function parse_datetime that has similar functionality as the getdate function.


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.14 getdate_err

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getdate_err.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.15 gmtime

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/gmtime.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.16 gmtime_r

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/gmtime_r.html

Gnulib module: time_r

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.17 localtime

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/localtime.html

Gnulib module: localtime

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.18 localtime_r

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/localtime_r.html

Gnulib module: time_r

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.19 mktime

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mktime.html

Gnulib module: mktime

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.20 nanosleep

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/nanosleep.html

Gnulib module: nanosleep

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.21 strftime

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strftime.html

Gnulib module: strftime-fixes

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Extension: Gnulib offers a module ‘nstrftime’ that provides an nstrftime function with various GNU extensions.


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.22 strftime_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strftime_l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.23 strptime

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strptime.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-strptime-3.html

Gnulib module: strptime

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.24 time

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/time.html

Gnulib module: time

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.25 timegm

Documentation:

Gnulib module: timegm

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.26 timer_create

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/timer_create.html

Gnulib module: timer-time

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.27 timer_delete

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/timer_delete.html

Gnulib module: timer-time

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.28 timer_getoverrun

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/timer_getoverrun.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.29 timer_gettime

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/timer_gettime.html

Gnulib module: timer-time

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.30 timer_settime

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/timer_settime.html

Gnulib module: timer-time

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.31 timespec_get

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.29.2.6

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/timespec_get.html

Gnulib module: timespec_get

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.32 timespec_getres

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.29.2.7

Gnulib module: timespec_getres

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

The Gnulib module gettime-res is a partial substitute; it implements the TIME_UTC functionality of timespec_getres.


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.33 timezone

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/timezone.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

This variable is vestigial: it is not needed and does not suffice in general. It is planned to be removed from a future version of POSIX. A more portable way of getting the UTC offset is to use strftime with the %z format. See strftime.


Next: , Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.34 tzname

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tzname.html

Gnulib module: tzname

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

This variable is vestigial: it is not needed and does not suffice in general. It is planned to be removed from a future version of POSIX. A more portable way of getting the time zone abbreviation is to use strftime with the %Z format. See strftime.


Previous: , Up: Functions in <time.h>   [Contents][Index]

10.67.35 tzset

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tzset.html

Gnulib module: tzset

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.68 Functions in <uchar.h>


Next: , Up: Functions in <uchar.h>   [Contents][Index]

10.68.1 c8rtomb

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <uchar.h>   [Contents][Index]

10.68.2 c16rtomb

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.30.1.4.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/c16rtomb.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <uchar.h>   [Contents][Index]

10.68.3 c32rtomb

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.30.1.6.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/c32rtomb.html

Gnulib module: c32rtomb

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <uchar.h>   [Contents][Index]

10.68.4 mbrtoc8

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <uchar.h>   [Contents][Index]

10.68.5 mbrtoc16

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.30.1.3.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mbrtoc16.html

Gnulib module: mbrtoc16

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <uchar.h>   [Contents][Index]

10.68.6 mbrtoc32

ISO C23 specification:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf section 7.30.1.5.

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mbrtoc32.html

Gnulib module: mbrtoc32 or mbrtoc32-regular

Portability problems fixed by either Gnulib module mbrtoc32 or mbrtoc32-regular:

Portability problems fixed by Gnulib module mbrtoc32-regular:

Portability problems not fixed by Gnulib:

Note: If you want the guarantee that the char32_t values returned by this function are Unicode code points, you also need to request the uchar-h-c23 module.


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.69 Functions in <unistd.h>


Next: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.1 _exit

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/_exit.html

Gnulib module: unistd-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.2 _Fork

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/_Fork.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Creating-a-Process.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.3 access

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/access.html

Gnulib module: access

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Other problems of this function:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.4 alarm

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/alarm.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.5 chdir

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/chdir.html

Gnulib module: chdir

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.6 chown

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/chown.html

Gnulib module: chown

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.7 close

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/close.html

Gnulib module: close

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.8 confstr

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/confstr.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.9 crypt

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/crypt.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.10 dup

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/dup.html

Gnulib module: dup

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.11 dup2

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/dup2.html

Gnulib module: dup2

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.12 dup3

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/dup3.html

Documentation:
man dup3

Gnulib module: dup3

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.13 encrypt

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/encrypt.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.14 environ

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/environ.html

Gnulib module: environ

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.15 execl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/execl.html

Gnulib module: execl

Portability problems fixed by Gnulib:

Note: The Gnulib replacement for this function is not async-safe, that is, it must not be invoked from a signal handler.

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.16 execle

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/execle.html

Gnulib module: execle

Portability problems fixed by Gnulib:

Note: The Gnulib replacement for this function is not async-safe, that is, it must not be invoked from a signal handler.

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.17 execlp

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/execlp.html

Gnulib module: execlp

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.18 execv

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/execv.html

Gnulib module: execv

Portability problems fixed by Gnulib:

Note: The Gnulib replacement for this function is not async-safe, that is, it must not be invoked from a signal handler.

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.19 execve

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/execve.html

Gnulib module: execve

Portability problems fixed by Gnulib:

Note: The Gnulib replacement for this function is not async-safe, that is, it must not be invoked from a signal handler.

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.20 execvp

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/execvp.html

Gnulib module: execvp

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.21 faccessat

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/faccessat.html

Gnulib module: faccessat

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Other problems of this function:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.22 fchdir

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fchdir.html

Gnulib module: fchdir

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.23 fchown

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fchown.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.24 fchownat

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fchownat.html

Gnulib module: fchownat

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.25 fdatasync

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fdatasync.html

Gnulib module: fdatasync

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.26 fexecve

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fexecve.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.27 fork

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fork.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.28 fpathconf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fpathconf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.29 fsync

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fsync.html

Gnulib module: fsync

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.30 ftruncate

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ftruncate.html

Gnulib module: ftruncate

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.31 getcwd

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getcwd.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-getcwd.html

Gnulib module: getcwd or getcwd-lgpl

Portability problems fixed by either Gnulib module getcwd or getcwd-lgpl:

Portability problems fixed by Gnulib module getcwd:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.32 getegid

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getegid.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.33 getentropy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getentropy.html

Documentation:

Gnulib module: getentropy

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Although this function is intended to produce random data, the data’s security properties may not be appropriate for your application. For example, identical “random” data streams might be produced by rebooted virtual machines. If this is of concern you may need to use additional techniques such as hedging.1

Related modules include getrandom, which has a more-flexible but more-complex API, and crypto/gc-random, which is likely a better match for code already using the other crypto APIs.


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.34 geteuid

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/geteuid.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.35 getgid

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getgid.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.36 getgroups

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getgroups.html

Gnulib module: getgroups

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

The Gnulib module mgetgroups provides a similar API.


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.37 gethostid

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/gethostid.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.38 gethostname

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/gethostname.html

Gnulib module: gethostname

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.39 getlogin

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getlogin.html

Gnulib module: getlogin

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.40 getlogin_r

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getlogin_r.html

Gnulib module: getlogin_r

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.41 getopt

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getopt.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/libutil-getopt-3.html

Gnulib module: getopt-posix or getopt-gnu

The module getopt-gnu has support for “long options” and for “options that take optional arguments”. Compared to the API defined by POSIX, it adds a header file <getopt.h> and a function getopt_long.

Portability problems fixed by either Gnulib module getopt-posix or getopt-gnu:

Portability problems fixed by Gnulib module getopt-gnu:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.42 getpgid

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getpgid.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.43 getpgrp

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getpgrp.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.44 getpid

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getpid.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.45 getppid

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getppid.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.46 getresgid

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getresgid.html

Documentation:
man getresgid

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.47 getresuid

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getresuid.html

Documentation:
man getresuid

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.48 getsid

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getsid.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.49 getuid

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getuid.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.50 isatty

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/isatty.html

Gnulib module: isatty

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.51 lchown

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/lchown.html

Gnulib module: lchown

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.52 link

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/link.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-link-1.html

Gnulib module: link

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.53 linkat

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/linkat.html

Gnulib module: linkat

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.54 lockf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/lockf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.55 lseek

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/lseek.html

Gnulib module: lseek

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.56 nice

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/nice.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.57 optarg

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/optarg.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.58 opterr

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/opterr.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.59 optind

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/optind.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.60 optopt

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/optopt.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.61 pathconf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pathconf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.62 pause

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pause.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.63 pipe

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pipe.html

Gnulib module: pipe-posix

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.64 pipe2

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pipe2.html

Documentation:
man pipe2

Gnulib module: pipe2

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: This function portably supports the O_NONBLOCK flag only if the gnulib module nonblocking is also used.


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.65 posix_close

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_close.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.66 pread

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pread.html

Gnulib module: pread

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.67 pwrite

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pwrite.html

Gnulib module: pwrite

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.68 read

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/read.html

Gnulib module: read, stdio-h, nonblocking

Portability problems fixed by Gnulib module read:

Portability problems fixed by Gnulib module stdio-h, together with module nonblocking:

Portability problems not fixed by Gnulib:

For handling EINTR, Gnulib provides a module ‘safe-read’ with a function safe_read.


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.69 readlink

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/readlink.html

Gnulib module: readlink

Portability problems fixed by Gnulib:

Portability problems mostly fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.70 readlinkat

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/readlinkat.html

Gnulib module: readlinkat

Portability problems fixed by Gnulib:

Portability problems mostly fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.71 rmdir

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/rmdir.html

Gnulib module: rmdir

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.72 setegid

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/setegid.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.73 seteuid

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/seteuid.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.74 setgid

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/setgid.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.75 setpgid

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/setpgid.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.76 setregid

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/setregid.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.77 setresgid

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/setresgid.html

Documentation:
man setresgid

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.78 setresuid

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/setresuid.html

Documentation:
man setresuid

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.79 setreuid

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/setreuid.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.80 setsid

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/setsid.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.81 setuid

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/setuid.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.82 sleep

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sleep.html

Gnulib module: sleep

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.83 swab

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/swab.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.84 symlink

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/symlink.html

Gnulib module: symlink

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.85 symlinkat

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/symlinkat.html

Gnulib module: symlinkat

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.86 sync

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sync.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.87 sysconf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sysconf.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-sysconf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.88 tcgetpgrp

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tcgetpgrp.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.89 tcsetpgrp

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/tcsetpgrp.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.90 truncate

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/truncate.html

Gnulib module: truncate

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.91 ttyname

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ttyname.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.92 ttyname_r

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ttyname_r.html

Gnulib module: ttyname_r

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.93 unlink

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/unlink.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-unlink-3.html

Gnulib module: unlink

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.94 unlinkat

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/unlinkat.html

Gnulib module: unlinkat

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <unistd.h>   [Contents][Index]

10.69.95 write

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/write.html

Gnulib module: write, nonblocking, sigpipe

Portability problems fixed by Gnulib module write:

Portability problems fixed by Gnulib module stdio-h, together with module nonblocking:

Portability problems fixed by Gnulib module stdio-h, together with module sigpipe:

Portability problems not fixed by Gnulib:

For handling EINTR, Gnulib provides a module ‘safe-write’ with a function safe_write.


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.70 Functions in <utmpx.h>


Next: , Up: Functions in <utmpx.h>   [Contents][Index]

10.70.1 endutxent

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/endutxent.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <utmpx.h>   [Contents][Index]

10.70.2 getutxent

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getutxent.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <utmpx.h>   [Contents][Index]

10.70.3 getutxid

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getutxid.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <utmpx.h>   [Contents][Index]

10.70.4 getutxline

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getutxline.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <utmpx.h>   [Contents][Index]

10.70.5 pututxline

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/pututxline.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <utmpx.h>   [Contents][Index]

10.70.6 setutxent

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/setutxent.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.71 Functions in <wchar.h>


Next: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.1 btowc

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/btowc.html

Gnulib module: btowc

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.2 fgetwc

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fgetwc.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.3 fgetws

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fgetws.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.4 fputwc

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fputwc.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.5 fputws

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fputws.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.6 fwide

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fwide.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.7 fwprintf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fwprintf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.8 fwscanf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fwscanf.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-fwscanf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.9 getwc

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getwc.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.10 getwchar

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/getwchar.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.11 mbrlen

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mbrlen.html

Gnulib module: mbrlen

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.12 mbrtowc

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mbrtowc.html

Gnulib module: mbrtowc

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.13 mbsinit

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mbsinit.html

Gnulib module: mbsinit

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.14 mbsnrtowcs

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mbsnrtowcs.html

Gnulib module: mbsnrtowcs

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.15 mbsrtowcs

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/mbsrtowcs.html

Gnulib module: mbsrtowcs

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.16 open_wmemstream

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/open_wmemstream.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.17 putwc

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/putwc.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.18 putwchar

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/putwchar.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.19 swprintf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/swprintf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.20 swscanf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/swscanf.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-swscanf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.21 ungetwc

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ungetwc.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.22 vfwprintf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/vfwprintf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.23 vfwscanf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/vfwscanf.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-vfwscanf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.24 vswprintf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/vswprintf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.25 vswscanf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/vswscanf.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-vswscanf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.26 vwprintf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/vwprintf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.27 vwscanf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/vwscanf.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-vwscanf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.28 wcpcpy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcpcpy.html

Gnulib module: wcpcpy

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.29 wcpncpy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcpncpy.html

Gnulib module: wcpncpy

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.30 wcrtomb

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcrtomb.html

Gnulib module: wcrtomb

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.31 wcscasecmp

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcscasecmp.html

Gnulib module: wcscasecmp

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.32 wcscasecmp_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcscasecmp_l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.33 wcscat

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcscat.html

Gnulib module: wcscat

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.34 wcschr

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcschr.html

Gnulib module: wcschr

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.35 wcscmp

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcscmp.html

Gnulib module: wcscmp

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.36 wcscoll

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcscoll.html

Gnulib module: wcscoll

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.37 wcscoll_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcscoll_l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.38 wcscpy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcscpy.html

Gnulib module: wcscpy

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: wcscpy (dst, src) is only safe to use when you can guarantee that there are at least wcslen (src) + 1 wide characters allocated at dst.


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.39 wcscspn

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcscspn.html

Gnulib module: wcscspn

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.40 wcsdup

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcsdup.html

Gnulib module: wcsdup

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.41 wcsftime

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcsftime.html

Gnulib module: wcsftime

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.42 wcslcat

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcslcat.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Truncating-Strings.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.43 wcslcpy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcslcpy.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Truncating-Strings.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.44 wcslen

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcslen.html

Gnulib module: wcslen

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.45 wcsncasecmp

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcsncasecmp.html

Gnulib module: wcsncasecmp

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.46 wcsncasecmp_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcsncasecmp_l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.47 wcsncat

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcsncat.html

Gnulib module: wcsncat

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.48 wcsncmp

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcsncmp.html

Gnulib module: wcsncmp

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.49 wcsncpy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcsncpy.html

Gnulib module: wcsncpy

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: This function has no real use: It cannot be used for filling a fixed-size record with a wide string, before writing it to a file, because the wide string encoding is platform dependent and, on some platforms, also locale dependent. And this function is not appropriate for copying a wide string into a bounded memory area, because you have no guarantee that the result will be null-terminated. Even if you add the null character at the end yourself, this function is inefficient (as it spends time clearing unused memory) and will allow silent truncation to occur, which is not a good behavior for GNU programs.


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.50 wcsnlen

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcsnlen.html

Gnulib module: wcsnlen

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.51 wcsnrtombs

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcsnrtombs.html

Gnulib module: wcsnrtombs

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.52 wcspbrk

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcspbrk.html

Gnulib module: wcspbrk

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.53 wcsrchr

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcsrchr.html

Gnulib module: wcsrchr

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.54 wcsrtombs

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcsrtombs.html

Gnulib module: wcsrtombs

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.55 wcsspn

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcsspn.html

Gnulib module: wcsspn

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.56 wcsstr

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcsstr.html

Gnulib module: wcsstr or wcsstr-simple

Portability problems fixed by either Gnulib module wcsstr-simple or wcsstr:

Portability problems fixed by Gnulib module wcsstr:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.57 wcstod

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcstod.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.58 wcstof

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcstof.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.59 wcstok

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcstok.html

Gnulib module: wcstok

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.60 wcstol

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcstol.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.61 wcstold

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcstold.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.62 wcstoll

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcstoll.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.63 wcstoul

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcstoul.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.64 wcstoull

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcstoull.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.65 wcswidth

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcswidth.html

Gnulib module: wcswidth

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.66 wcsxfrm

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcsxfrm.html

Gnulib module: wcsxfrm

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.67 wcsxfrm_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcsxfrm_l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.68 wctob

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wctob.html

Gnulib module: wctob

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.69 wcwidth

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcwidth.html

Gnulib module: wcwidth

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.70 wmemchr

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wmemchr.html

Gnulib module: wmemchr

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.71 wmemcmp

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wmemcmp.html

Gnulib module: wmemcmp

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.72 wmemcpy

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wmemcpy.html

Gnulib module: wmemcpy

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.73 wmemmove

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wmemmove.html

Gnulib module: wmemmove

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.74 wmemset

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wmemset.html

Gnulib module: wmemset

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.75 wprintf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wprintf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <wchar.h>   [Contents][Index]

10.71.76 wscanf

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wscanf.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-wscanf.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Function Substitutes   [Contents][Index]

10.72 Functions in <wctype.h>


Next: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.1 iswalnum

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/iswalnum.html

Gnulib module: wctype-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.2 iswalnum_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/iswalnum_l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.3 iswalpha

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/iswalpha.html

Gnulib module: wctype-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.4 iswalpha_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/iswalpha_l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.5 iswblank

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/iswblank.html

Gnulib module: iswblank

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.6 iswblank_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/iswblank_l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.7 iswcntrl

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/iswcntrl.html

Gnulib module: wctype-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.8 iswcntrl_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/iswcntrl_l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.9 iswctype

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/iswctype.html

Gnulib module: iswctype

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.10 iswctype_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/iswctype_l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.11 iswdigit

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/iswdigit.html

Gnulib module: iswdigit

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.12 iswdigit_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/iswdigit_l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.13 iswgraph

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/iswgraph.html

Gnulib module: wctype-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.14 iswgraph_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/iswgraph_l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.15 iswlower

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/iswlower.html

Gnulib module: wctype-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.16 iswlower_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/iswlower_l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.17 iswprint

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/iswprint.html

Gnulib module: wctype-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.18 iswprint_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/iswprint_l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.19 iswpunct

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/iswpunct.html

Gnulib module: iswpunct

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.20 iswpunct_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/iswpunct_l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.21 iswspace

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/iswspace.html

Gnulib module: wctype-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.22 iswspace_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/iswspace_l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.23 iswupper

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/iswupper.html

Gnulib module: wctype-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.24 iswupper_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/iswupper_l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.25 iswxdigit

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/iswxdigit.html

Gnulib module: iswxdigit

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.26 iswxdigit_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/iswxdigit_l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.27 towctrans

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/towctrans.html

Gnulib module: towctrans

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.28 towctrans_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/towctrans_l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.29 towlower

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/towlower.html

Gnulib module: wctype-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.30 towlower_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/towlower_l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.31 towupper

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/towupper.html

Gnulib module: wctype-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.32 towupper_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/towupper_l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.33 wctrans

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wctrans.html

Gnulib module: wctrans

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.34 wctrans_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wctrans_l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.35 wctype

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wctype.html

Gnulib module: wctype

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <wctype.h>   [Contents][Index]

10.72.36 wctype_l

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wctype_l.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Function Substitutes   [Contents][Index]

10.73 Functions in <wordexp.h>


Next: , Up: Functions in <wordexp.h>   [Contents][Index]

10.73.1 wordexp

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wordexp.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Functions in <wordexp.h>   [Contents][Index]

10.73.2 wordfree

POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/wordfree.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Top   [Contents][Index]

11 Past POSIX Function Substitutes

This chapter describes which functions and function-like macros specified by older versions of POSIX are substituted by Gnulib, which portability pitfalls are fixed by Gnulib, and which (known) portability problems are not worked around by Gnulib.

The notation “Gnulib module: —” means that Gnulib does not provide a module providing a substitute for the function. When the list “Portability problems not fixed by Gnulib” is empty, such a module is not needed: No portability problems are known. Otherwise, it indicates that such a module would be useful but is not available: No one so far found this function important enough to contribute a substitute for it. If you need this particular function, you may write to <bug-gnulib at gnu dot org>.


Next: , Up: Legacy Function Substitutes   [Contents][Index]

11.1 _longjmp

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/_longjmp.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: Despite its being removed from POSIX, in 2024 on all systems which have _setjmp, it is the fastest way to save the registers but not the signal mask (up to 30 times faster than setjmp on some systems).


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.2 _setjmp

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/_setjmp.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: Despite its being removed from POSIX, in 2024 on all systems which have _setjmp, it is the fastest way to save the registers but not the signal mask (up to 30 times faster than setjmp on some systems).


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.3 _tolower

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/_tolower.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.4 _toupper

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/_toupper.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.5 bcmp

Removed in POSIX.1-2008. POSIX.1-2004 specification: https://pubs.opengroup.org/onlinepubs/009695399/functions/bcmp.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.6 bcopy

Removed in POSIX.1-2008. POSIX.1-2004 specification: https://pubs.opengroup.org/onlinepubs/009695399/functions/bcopy.html

Gnulib module: bcopy

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.7 bsd_signal

Removed in POSIX.1-2008. POSIX.1-2004 specification: https://pubs.opengroup.org/onlinepubs/009695399/functions/bsd_signal.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.8 bzero

Removed in POSIX.1-2008. POSIX.1-2004 specification: https://pubs.opengroup.org/onlinepubs/009695399/functions/bzero.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.9 ecvt

Removed in POSIX.1-2008. POSIX.1-2004 specification: https://pubs.opengroup.org/onlinepubs/009695399/functions/ecvt.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.10 fattach

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/fattach.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.11 fcvt

Removed in POSIX.1-2008. POSIX.1-2004 specification: https://pubs.opengroup.org/onlinepubs/009695399/functions/fcvt.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.12 fdetach

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/fdetach.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.13 ftime

Removed in POSIX.1-2008. POSIX.1-2004 specification: https://pubs.opengroup.org/onlinepubs/009695399/functions/ftime.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.14 ftw

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/ftw.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.15 gcvt

Removed in POSIX.1-2008. POSIX.1-2004 specification: https://pubs.opengroup.org/onlinepubs/009695399/functions/gcvt.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.16 getcontext

Removed in POSIX.1-2008. POSIX.1-2004 specification: https://pubs.opengroup.org/onlinepubs/009695399/functions/getcontext.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: A third-party implementation is available at https://github.com/kaniini/libucontext/.


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.17 gethostbyaddr

Removed in POSIX.1-2008. POSIX.1-2004 specification: https://pubs.opengroup.org/onlinepubs/009695399/functions/gethostbyaddr.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.18 gethostbyname

Removed in POSIX.1-2008. POSIX.1-2004 specification: https://pubs.opengroup.org/onlinepubs/009695399/functions/gethostbyname.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.19 getitimer

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/getitimer.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.20 getmsg

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/getmsg.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.21 getpmsg

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/getpmsg.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.22 gets

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/gets.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.23 gettimeofday

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/gettimeofday.html

Gnulib module: gettimeofday

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.24 getwd

Removed in POSIX.1-2008. POSIX.1-2004 specification: https://pubs.opengroup.org/onlinepubs/009695399/functions/getwd.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.25 h_errno

Removed in POSIX.1-2008. POSIX.1-2004 specification: https://pubs.opengroup.org/onlinepubs/009695399/functions/h_errno.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.26 index

Removed in POSIX.1-2008. POSIX.1-2004 specification: https://pubs.opengroup.org/onlinepubs/009695399/functions/index.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.27 ioctl

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/ioctl.html

LSB specification:

Gnulib module: ioctl

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.28 isascii

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/isascii.html

Gnulib module: —

Portability problems not fixed by Gnulib:

Note: This function’s behaviour depends on the locale, but requires special handling for the multibyte characters that occur in strings in locales with MB_CUR_MAX > 1 (this includes all the common UTF-8 locales). There are two alternative APIs:

c_isascii

This function operates in a locale independent way and returns true only for ASCII characters. It is provided by the Gnulib module ‘c-ctype’.

mb_isascii

This function operates in a locale dependent way, on multibyte characters. It is provided by the Gnulib module ‘mbchar’.


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.29 isastream

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/isastream.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.30 makecontext

Removed in POSIX.1-2008. POSIX.1-2004 specification: https://pubs.opengroup.org/onlinepubs/009695399/functions/makecontext.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: A third-party implementation is available at https://github.com/kaniini/libucontext/.


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.31 mktemp

Removed in POSIX.1-2008. POSIX.1-2004 specification: https://pubs.opengroup.org/onlinepubs/009695399/functions/mktemp.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.32 posix_trace_attr_destroy

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_destroy.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.33 posix_trace_attr_getclockres

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_getclockres.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.34 posix_trace_attr_getcreatetime

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_getcreatetime.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.35 posix_trace_attr_getgenversion

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_getgenversion.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.36 posix_trace_attr_getinherited

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_getinherited.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.37 posix_trace_attr_getlogfullpolicy

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_getlogfullpolicy.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.38 posix_trace_attr_getlogsize

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_getlogsize.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.39 posix_trace_attr_getmaxdatasize

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_getmaxdatasize.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.40 posix_trace_attr_getmaxsystemeventsize

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_getmaxsystemeventsize.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.41 posix_trace_attr_getmaxusereventsize

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_getmaxusereventsize.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.42 posix_trace_attr_getname

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_getname.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.43 posix_trace_attr_getstreamfullpolicy

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_getstreamfullpolicy.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.44 posix_trace_attr_getstreamsize

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_getstreamsize.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.45 posix_trace_attr_init

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_init.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.46 posix_trace_attr_setinherited

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_setinherited.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.47 posix_trace_attr_setlogfullpolicy

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_setlogfullpolicy.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.48 posix_trace_attr_setlogsize

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_setlogsize.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.49 posix_trace_attr_setmaxdatasize

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_setmaxdatasize.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.50 posix_trace_attr_setname

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_setname.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.51 posix_trace_attr_setstreamfullpolicy

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_setstreamfullpolicy.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.52 posix_trace_attr_setstreamsize

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_setstreamsize.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.53 posix_trace_clear

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_clear.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.54 posix_trace_close

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_close.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.55 posix_trace_create

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_create.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.56 posix_trace_create_withlog

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_create_withlog.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.57 posix_trace_event

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_event.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.58 posix_trace_eventid_equal

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_eventid_equal.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.59 posix_trace_eventid_get_name

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_eventid_get_name.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.60 posix_trace_eventid_open

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_eventid_open.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.61 posix_trace_eventset_add

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_eventset_add.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.62 posix_trace_eventset_del

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_eventset_del.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.63 posix_trace_eventset_empty

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_eventset_empty.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.64 posix_trace_eventset_fill

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_eventset_fill.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.65 posix_trace_eventset_ismember

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_eventset_ismember.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.66 posix_trace_eventtypelist_getnext_id

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_eventtypelist_getnext_id.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.67 posix_trace_eventtypelist_rewind

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_eventtypelist_rewind.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.68 posix_trace_flush

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_flush.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.69 posix_trace_get_attr

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_get_attr.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.70 posix_trace_get_filter

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_get_filter.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.71 posix_trace_get_status

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_get_status.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.72 posix_trace_getnext_event

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_getnext_event.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.73 posix_trace_open

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_open.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.74 posix_trace_rewind

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_rewind.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.75 posix_trace_set_filter

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_set_filter.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.76 posix_trace_shutdown

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_shutdown.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.77 posix_trace_start

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_start.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.78 posix_trace_stop

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_stop.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.79 posix_trace_timedgetnext_event

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_timedgetnext_event.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.80 posix_trace_trid_eventid_open

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_trid_eventid_open.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.81 posix_trace_trygetnext_event

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_trace_trygetnext_event.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.82 pthread_attr_getstackaddr

Removed in POSIX.1-2008. POSIX.1-2004 specification: https://pubs.opengroup.org/onlinepubs/009695399/functions/pthread_attr_getstackaddr.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.83 pthread_attr_setstackaddr

Removed in POSIX.1-2008. POSIX.1-2004 specification: https://pubs.opengroup.org/onlinepubs/009695399/functions/pthread_attr_setstackaddr.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.84 pthread_getconcurrency

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_getconcurrency.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.85 pthread_setconcurrency

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_setconcurrency.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.86 putmsg

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/putmsg.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.87 putpmsg

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/putpmsg.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.88 rindex

Removed in POSIX.1-2008. POSIX.1-2004 specification: https://pubs.opengroup.org/onlinepubs/009695399/functions/rindex.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.89 scalb

Removed in POSIX.1-2008. POSIX.1-2004 specification: https://pubs.opengroup.org/onlinepubs/009695399/functions/scalb.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.90 setcontext

Removed in POSIX.1-2008. POSIX.1-2004 specification: https://pubs.opengroup.org/onlinepubs/009695399/functions/setcontext.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: A third-party implementation is available at https://github.com/kaniini/libucontext/.


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.91 setitimer

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/setitimer.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.92 setpgrp

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/setpgrp.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.93 sighold

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/sighold.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.94 sigignore

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/sigignore.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.95 siginterrupt

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/siginterrupt.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: POSIX recommends using sigaction with SA_RESTART instead of siginterrupt (sig, 0).


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.96 sigpause

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/sigpause.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-sigpause-3.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.97 sigrelse

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/sigrelse.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.98 sigset

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/sigset.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.99 swapcontext

Removed in POSIX.1-2008. POSIX.1-2004 specification: https://pubs.opengroup.org/onlinepubs/009695399/functions/swapcontext.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: A third-party implementation is available at https://github.com/kaniini/libucontext/.


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.100 tempnam

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/tempnam.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.101 toascii

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/toascii.html

Gnulib module: ctype

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.102 ualarm

Removed in POSIX.1-2008. POSIX.1-2004 specification: https://pubs.opengroup.org/onlinepubs/009695399/functions/ualarm.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.103 ulimit

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/ulimit.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.104 usleep

Removed in POSIX.1-2008. POSIX.1-2004 specification:
https://pubs.opengroup.org/onlinepubs/009695399/functions/usleep.html

Gnulib module: usleep

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.105 utime

Removed in POSIX.1-2024. POSIX.1-2017 specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/utime.html

Gnulib module: utime

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.106 vfork

Removed in POSIX.1-2008. POSIX.1-2004 specification: https://pubs.opengroup.org/onlinepubs/009695399/functions/vfork.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Legacy Function Substitutes   [Contents][Index]

11.107 wcswcs

Removed in POSIX.1-2008. POSIX.1-2004 specification: https://pubs.opengroup.org/onlinepubs/009695399/functions/wcswcs.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Top   [Contents][Index]

12 Glibc Header File Substitutes

This chapter describes which header files contained in GNU libc but not specified by ISO C or POSIX are substituted by Gnulib, which portability pitfalls are fixed by Gnulib, and which (known) portability problems are not worked around by Gnulib.

The notation “Gnulib module: —” means that Gnulib does not provide a module providing a substitute for the header file. When the list “Portability problems not fixed by Gnulib” is empty, such a module is not needed: No portability problems are known. Otherwise, it indicates that such a module would be useful but is not available: No one so far found this header file important enough to contribute a substitute for it. If you need this particular header file, you may write to <bug-gnulib at gnu dot org>.


Next: , Up: Glibc Header File Substitutes   [Contents][Index]

12.1 a.out.h

Describes the structure of executables (and object files?) in the old a.out format.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.2 aliases.h

Defines the type struct aliasent and declares the functions setaliasent, endaliasent, getaliasent, getaliasent_r, getaliasbyname, getaliasbyname_r.

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.3 alloca.h

Declares the alloca function of function-like macro.

Documentation:

Gnulib module: alloca

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.4 ar.h

Describes the structure of files produced by the ‘ar’ program. Defines the type struct ar_hdr and the macros ARMAG, SARMAG, ARFMAG.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.5 argp.h

Documentation:

Gnulib module: argp

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.6 argz.h

Documentation:

Gnulib module: argz

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.7 byteswap.h

Defines the functions or function-like macros bswap_16, bswap_32, bswap_64.

Gnulib module: byteswap

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.8 crypt.h

Defines the type struct crypt_data and declares the functions crypt, crypt_r, setkey, setkey_r, encrypt, encrypt_r.

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.9 envz.h

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.10 err.h

Declares the functions warn, vwarn, warnx, vwarnx, err, verr, errx, verrx.

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.11 error.h

Declares the functions error, error_at_line and the variables error_print_progname, error_message_count, error_one_per_line.

Documentation:

Gnulib module: error-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.12 execinfo.h

Declares the functions backtrace, backtrace_symbols, backtrace_symbols_fd.

Documentation:

Gnulib module: execinfo

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.13 fpu_control.h

Handling of the FPU control word. Defines the fpu_control_t type, declares the __fpu_control variable, and defines the _FPU_GETCW, _FPU_SETCW macros.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.14 fstab.h

Defines the type struct fstab, the macros FSTAB_*, _PATH_FSTAB, and declares the functions setfsent, endfsent, getfsent, getfsspec, getfsfile.

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.15 fts.h

Defines the types FTS, FTSENT and the macros FTS_*, and declares the functions fts_open, fts_read, fts_children, fts_set, fts_close.

Documentation:

Gnulib module: fts

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.16 getopt.h

Defines the type struct option and declares the variables optarg, optind, opterr, optopt and the functions getopt, getopt_long, getopt_long_only.

Documentation:

Gnulib module: getopt-gnu

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.17 gshadow.h

Defines the type struct sgrp and declares the functions setsgent, endsgent, getsgent, getsgnam, sgetsgent, fgetsgent, putsgent, getsgent_r, getsgnam_r, sgetsgent_r, fgetsgent_r.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.18 ieee754.h

Defines the types union ieee754_float, union ieee754_double, union ieee854_long_double.

Gnulib module: ieee754-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.19 ifaddrs.h

Defines the type struct ifaddrs and declares the functions getifaddrs, freeifaddrs.

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.20 link.h

Defines the type struct dl_phdr_info, and declares the function dl_iterate_phdr.

Documentation: —

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.21 malloc.h

Declares the function memalign and functions for customizing the malloc behavior.

Documentation:

Gnulib module: malloc-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.22 mcheck.h

Defines the type enum mcheck_status and declares the functions mcheck, mcheck_pedantic, mcheck_check_all, mprobe, mtrace, muntrace.

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.23 mntent.h

Defines the type struct mntent and the macros MNTTAB, MOUNTED, MNTTYPE_*, MNTOPT_*, and declares the functions setmntent, getmntent, getmntent_r, addmntent, endmntent, hasmntopt.

Documentation:

Gnulib module: mntent-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Gnulib module mountlist provides a higher-level abstraction.


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.24 obstack.h

Documentation:

Gnulib module: obstack

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.25 paths.h

Defines the macros _PATH_*.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.26 printf.h

Defines the type struct printf_info and the macros and enum values PA_*, and declares the functions printf_function, printf_arginfo_function, register_printf_function, parse_printf_format, printf_size, printf_size_info.

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.27 pty.h

Declares the functions openpty and forkpty.

Documentation:

Gnulib module: pty-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.28 resolv.h

Defines the types res_sendhookact, res_send_qhook, res_send_rhook, res_state, struct res_sym and the macros _PATH_RESCONF, RES_*, and declares the functions res_close, res_init, res_mkquery, res_query, res_querydomain, res_search, res_send.

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.29 shadow.h

Defines the type struct spwd and declares the functions setspent, endspent, getspent, getspent_r, getspnam, getspnam_r, sgetspent, sgetspent_r, fgetspent, fgetspent_r, putspent, lckpwdf, ulckpwdf.

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.30 sys/file.h

Declares the function flock.

Gnulib module: sys_file-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.31 sys/ioctl.h

Declares the function ioctl.

Documentation:

Gnulib module: sys_ioctl-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.32 sys/random.h

Declares the function getrandom and the flags for it.

Documentation:

Gnulib module: sys_random-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.33 sysexits.h

Defines the EX_* macros, including EX_OK.

Gnulib module: sysexits-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.34 ttyent.h

Defines the type struct ttyent and declares the functions setttyent, endttyent, getttyent, getttynam.

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc Header File Substitutes   [Contents][Index]

12.35 utmp.h

Defines functions for login and logout (to a tty session) and for examining the history of logins and logouts.

Documentation:

Gnulib module: utmp-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Top   [Contents][Index]

13 Glibc Function Substitutes

This chapter describes which functions and function-like macros provided as extensions by at least GNU libc are also supported by Gnulib, which portability pitfalls are fixed by Gnulib, and which (known) portability problems are not worked around by Gnulib.

The notation “Gnulib module: —” means that Gnulib does not provide a module providing a substitute for the function. When the list “Portability problems not fixed by Gnulib” is empty, such a module is not needed: No portability problems are known. Otherwise, it indicates that such a module would be useful but is not available: No one so far found this function important enough to contribute a substitute for it. If you need this particular function, you may write to <bug-gnulib at gnu dot org>.

This list of functions is sorted according to the header that declares them.


Next: , Up: Glibc Function Substitutes   [Contents][Index]

13.1 Glibc Extensions to <aio.h>


Up: Glibc aio.h   [Contents][Index]

13.1.1 aio_init

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.2 Glibc <aliases.h>


Next: , Up: Glibc aliases.h   [Contents][Index]

13.2.1 endaliasent

Documentation:
man endaliasent

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc aliases.h   [Contents][Index]

13.2.2 getaliasbyname

Documentation:
man getaliasbyname

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc aliases.h   [Contents][Index]

13.2.3 getaliasbyname_r

Documentation:
man getaliasbyname_r

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc aliases.h   [Contents][Index]

13.2.4 getaliasent

Documentation:
man getaliasent

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc aliases.h   [Contents][Index]

13.2.5 getaliasent_r

Documentation:
man getaliasent_r

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc aliases.h   [Contents][Index]

13.2.6 setaliasent

Documentation:
man setaliasent

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.3 Glibc <argp.h>


Next: , Up: Glibc argp.h   [Contents][Index]

13.3.1 argp_err_exit_status

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Argp-Global-Variables.html.

Gnulib module: argp

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc argp.h   [Contents][Index]

13.3.2 argp_error

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Argp-Helper-Functions.html.

Gnulib module: argp

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc argp.h   [Contents][Index]

13.3.3 argp_failure

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Argp-Helper-Functions.html.

Gnulib module: argp

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc argp.h   [Contents][Index]

13.3.4 argp_help

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Argp-Help.html.

Gnulib module: argp

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc argp.h   [Contents][Index]

13.3.5 argp_parse

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Argp.html.

Gnulib module: argp

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc argp.h   [Contents][Index]

13.3.6 argp_program_bug_address

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Argp-Global-Variables.html.

Gnulib module: argp

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc argp.h   [Contents][Index]

13.3.7 argp_program_version

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Argp-Global-Variables.html.

Gnulib module: argp

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc argp.h   [Contents][Index]

13.3.8 argp_program_version_hook

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Argp-Global-Variables.html.

Gnulib module: argp

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc argp.h   [Contents][Index]

13.3.9 argp_state_help

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Argp-Helper-Functions.html.

Gnulib module: argp

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc argp.h   [Contents][Index]

13.3.10 argp_usage

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Argp-Helper-Functions.html.

Gnulib module: argp

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.4 Glibc <argz.h>


Next: , Up: Glibc argz.h   [Contents][Index]

13.4.1 argz_add

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-argz-add.html

Documentation:

Gnulib module: argz

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc argz.h   [Contents][Index]

13.4.2 argz_add_sep

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-argz-add.html

Documentation:

Gnulib module: argz

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc argz.h   [Contents][Index]

13.4.3 argz_append

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-argz-add.html

Documentation:

Gnulib module: argz

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc argz.h   [Contents][Index]

13.4.4 argz_count

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-argz-add.html

Documentation:

Gnulib module: argz

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc argz.h   [Contents][Index]

13.4.5 argz_create

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-argz-add.html

Documentation:

Gnulib module: argz

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc argz.h   [Contents][Index]

13.4.6 argz_create_sep

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-argz-add.html

Documentation:

Gnulib module: argz

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc argz.h   [Contents][Index]

13.4.7 argz_delete

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-argz-add.html

Documentation:

Gnulib module: argz

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc argz.h   [Contents][Index]

13.4.8 argz_extract

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-argz-add.html

Documentation:

Gnulib module: argz

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc argz.h   [Contents][Index]

13.4.9 argz_insert

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-argz-add.html

Documentation:

Gnulib module: argz

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc argz.h   [Contents][Index]

13.4.10 argz_next

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-argz-add.html

Documentation:

Gnulib module: argz

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc argz.h   [Contents][Index]

13.4.11 argz_replace

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-argz-add.html

Documentation:

Gnulib module: argz

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc argz.h   [Contents][Index]

13.4.12 argz_stringify

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-argz-add.html

Documentation:

Gnulib module: argz

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.5 Glibc Extensions to <arpa/inet.h>


Next: , Up: Glibc arpa/inet.h   [Contents][Index]

13.5.1 inet_aton

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-inet-aton-3.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc arpa/inet.h   [Contents][Index]

13.5.2 inet_lnaof

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc arpa/inet.h   [Contents][Index]

13.5.3 inet_makeaddr

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc arpa/inet.h   [Contents][Index]

13.5.4 inet_net_ntop

Documentation:
man inet_net_ntop

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc arpa/inet.h   [Contents][Index]

13.5.5 inet_net_pton

Documentation:
man inet_net_pton

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc arpa/inet.h   [Contents][Index]

13.5.6 inet_netof

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc arpa/inet.h   [Contents][Index]

13.5.7 inet_network

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc arpa/inet.h   [Contents][Index]

13.5.8 inet_nsap_addr

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc arpa/inet.h   [Contents][Index]

13.5.9 inet_nsap_ntoa

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.6 Glibc Extensions to <arpa/nameser.h>


Next: , Up: Glibc arpa/nameser.h   [Contents][Index]

13.6.1 ns_name_compress

Documentation:
https://web.deu.edu.tr/doc/oreily/networking/dnsbind/ch14_02.htm

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc arpa/nameser.h   [Contents][Index]

13.6.2 ns_name_ntop

Documentation: —

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc arpa/nameser.h   [Contents][Index]

13.6.3 ns_name_pack

Documentation: —

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc arpa/nameser.h   [Contents][Index]

13.6.4 ns_name_pton

Documentation: —

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc arpa/nameser.h   [Contents][Index]

13.6.5 ns_name_skip

Documentation:
https://web.deu.edu.tr/doc/oreily/networking/dnsbind/ch14_02.htm

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc arpa/nameser.h   [Contents][Index]

13.6.6 ns_name_uncompress

Documentation:
https://web.deu.edu.tr/doc/oreily/networking/dnsbind/ch14_02.htm

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc arpa/nameser.h   [Contents][Index]

13.6.7 ns_name_unpack

Documentation: —

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

https://man7.org/linux/man-pages/man3/libsres.3.html https://www.kernel.org/doc/man-pages/online/pages/man3/


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.7 Glibc <byteswap.h>


Next: , Up: Glibc byteswap.h   [Contents][Index]

13.7.1 bswap_16

Documentation:
man bswap_16

Gnulib module: byteswap

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc byteswap.h   [Contents][Index]

13.7.2 bswap_32

Documentation:
man bswap_32

Gnulib module: byteswap

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc byteswap.h   [Contents][Index]

13.7.3 bswap_64

Documentation:
man bswap_64

Gnulib module: byteswap

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.8 Glibc Extensions to <complex.h>


Next: , Up: Glibc complex.h   [Contents][Index]

13.8.1 clog10

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib---clog10.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc complex.h   [Contents][Index]

13.8.2 clog10f

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib---clog10f.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc complex.h   [Contents][Index]

13.8.3 clog10l

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib---clog10l.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.9 Glibc Extensions to <ctype.h>


Up: Glibc ctype.h   [Contents][Index]

13.9.1 isctype

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.10 Glibc Extensions to <dirent.h>


Next: , Up: Glibc dirent.h   [Contents][Index]

13.10.1 getdirentries

Documentation:
man getdirentries

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc dirent.h   [Contents][Index]

13.10.2 scandirat

Documentation:
man scandirat

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc dirent.h   [Contents][Index]

13.10.3 versionsort

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.11 Glibc Extensions to <dlfcn.h>


Next: , Up: Glibc dlfcn.h   [Contents][Index]

13.11.1 dladdr1

Documentation:
man dladdr1

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc dlfcn.h   [Contents][Index]

13.11.2 dlinfo

Documentation:
man dlinfo

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc dlfcn.h   [Contents][Index]

13.11.3 dlmopen

Documentation:
man dlmopen

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc dlfcn.h   [Contents][Index]

13.11.4 dlvsym

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-dlvsym-1.html

Documentation:
man dlvsym

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc dlfcn.h   [Contents][Index]

13.11.5 _dl_find_object

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Dynamic-Linker-Introspection.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.12 Glibc <envz.h>


Next: , Up: Glibc envz.h   [Contents][Index]

13.12.1 envz_add

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-envz-add.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc envz.h   [Contents][Index]

13.12.2 envz_entry

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-envz-add.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc envz.h   [Contents][Index]

13.12.3 envz_get

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-envz-add.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc envz.h   [Contents][Index]

13.12.4 envz_merge

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-envz-add.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc envz.h   [Contents][Index]

13.12.5 envz_remove

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-envz-add.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc envz.h   [Contents][Index]

13.12.6 envz_strip

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-envz-add.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.13 Glibc <err.h>


Next: , Up: Glibc err.h   [Contents][Index]

13.13.1 err

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-err-3.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc err.h   [Contents][Index]

13.13.2 errx

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-errx-3.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc err.h   [Contents][Index]

13.13.3 verr

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc err.h   [Contents][Index]

13.13.4 verrx

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-verrx-3.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc err.h   [Contents][Index]

13.13.5 vwarn

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc err.h   [Contents][Index]

13.13.6 vwarnx

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc err.h   [Contents][Index]

13.13.7 warn

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-warn-3.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc err.h   [Contents][Index]

13.13.8 warnx

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-warnx-3.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.14 Glibc Extensions to <errno.h>


Next: , Up: Glibc errno.h   [Contents][Index]

13.14.1 program_invocation_name

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc errno.h   [Contents][Index]

13.14.2 program_invocation_short_name

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.15 Glibc <error.h>


Next: , Up: Glibc error.h   [Contents][Index]

13.15.1 error

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-error-n.html

Documentation:

Gnulib module: error

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc error.h   [Contents][Index]

13.15.2 error_at_line

Documentation:

Gnulib module: error

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc error.h   [Contents][Index]

13.15.3 error_message_count

Documentation:

Gnulib module: error

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc error.h   [Contents][Index]

13.15.4 error_one_per_line

Documentation:

Gnulib module: error

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc error.h   [Contents][Index]

13.15.5 error_print_progname

Documentation:
man error_print_progname

Gnulib module: error

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.16 Glibc <execinfo.h>


Next: , Up: Glibc execinfo.h   [Contents][Index]

13.16.1 backtrace

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-backtrace-1.html

Documentation:

Gnulib module: execinfo

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc execinfo.h   [Contents][Index]

13.16.2 backtrace_symbols

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-backtrace-1.html

Documentation:

Gnulib module: execinfo

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc execinfo.h   [Contents][Index]

13.16.3 backtrace_symbols_fd

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-backtrace-1.html

Documentation:

Gnulib module: execinfo

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.17 Glibc Extensions to <fcntl.h>


Next: , Up: Glibc fcntl.h   [Contents][Index]

13.17.1 fallocate

Documentation:
man fallocate

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc fcntl.h   [Contents][Index]

13.17.2 name_to_handle_at

Documentation:
man name_to_handle_at

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc fcntl.h   [Contents][Index]

13.17.3 readahead

Documentation:
man readahead

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc fcntl.h   [Contents][Index]

13.17.4 open_by_handle_at

Documentation:
man open_by_handle_at

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc fcntl.h   [Contents][Index]

13.17.5 sync_file_range

Documentation:
man sync_file_range

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.18 Glibc Extensions to <fenv.h>


Next: , Up: Glibc fenv.h   [Contents][Index]

13.18.1 fedisableexcept

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-fedisableexcept.html

Documentation:

Gnulib module: fenv-exceptions-trapping

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc fenv.h   [Contents][Index]

13.18.2 feenableexcept

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-feenableexcept.html

Documentation:

Gnulib module: fenv-exceptions-trapping

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc fenv.h   [Contents][Index]

13.18.3 fegetexcept

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-fegetexcept.html

Documentation:

Gnulib module: fenv-exceptions-trapping

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.19 Glibc Extensions to <fmtmsg.h>


Up: Glibc fmtmsg.h   [Contents][Index]

13.19.1 addseverity

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.20 Glibc <fstab.h>


Next: , Up: Glibc fstab.h   [Contents][Index]

13.20.1 endfsent

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc fstab.h   [Contents][Index]

13.20.2 getfsent

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc fstab.h   [Contents][Index]

13.20.3 getfsfile

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc fstab.h   [Contents][Index]

13.20.4 getfsspec

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc fstab.h   [Contents][Index]

13.20.5 setfsent

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.21 Glibc <fts.h>


Next: , Up: Glibc fts.h   [Contents][Index]

13.21.1 fts_children

Documentation:
man fts_children

Gnulib module: fts

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc fts.h   [Contents][Index]

13.21.2 fts_close

Documentation:
man fts_close

Gnulib module: fts

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc fts.h   [Contents][Index]

13.21.3 fts_open

Documentation:
man fts_open

Gnulib module: fts

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc fts.h   [Contents][Index]

13.21.4 fts_read

Documentation:
man fts_read

Gnulib module: fts

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc fts.h   [Contents][Index]

13.21.5 fts_set

Documentation:
man fts_set

Gnulib module: fts

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.22 Glibc <getopt.h>


Next: , Up: Glibc getopt.h   [Contents][Index]

13.22.1 getopt_long

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-getopt-long-3.html

Documentation:

Gnulib module: getopt-gnu

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Gnulib provides also a module options, that fixes the following shortcomings of the getopt_long API.

These shortcomings are best illustrated with an example:

static struct option const long_options[] =
{
  { "width", required_argument, NULL, 'w' },
  { "help", no_argument, &show_help, 1 },
  { "version", no_argument, &show_version, 1 },
  { NULL, 0, NULL, 0 }
};

while ((optchar = getopt_long (argc, argv, "w:xhV", long_options, NULL))
       != -1)
  switch (optchar)
    {
    case '\0':           /* Long option with flag != NULL.  */
      break;
    case 'w':
      set_width (optarg);
      break;
    case 'x':
      do_x = true;
      break;
    case 'h':
      show_help = 1;     /* Action code duplication!  */
      break;
    case 'V':
      show_version = 1;  /* Action code duplication!  */
      break;
    default:
      usage (EXIT_FAILURE);
    }

Previous: , Up: Glibc getopt.h   [Contents][Index]

13.22.2 getopt_long_only

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-getopt-long-only-3.html

Documentation:

Gnulib module: getopt-gnu

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.23 Glibc Extensions to <glob.h>


Up: Glibc glob.h   [Contents][Index]

13.23.1 glob_pattern_p

Gnulib module: glob

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.24 Glibc Extensions to <gnu/libc-version.h>


Next: , Up: Glibc gnu/libc-version.h   [Contents][Index]

13.24.1 gnu_get_libc_release

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-gnu-get-libc-version-1.html

Documentation:
man gnu_get_libc_release

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc gnu/libc-version.h   [Contents][Index]

13.24.2 gnu_get_libc_version

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-gnu-get-libc-version-1.html

Documentation:
man gnu_get_libc_version

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.25 Glibc Extensions to <grp.h>


Next: , Up: Glibc grp.h   [Contents][Index]

13.25.1 fgetgrent

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc grp.h   [Contents][Index]

13.25.2 fgetgrent_r

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc grp.h   [Contents][Index]

13.25.3 getgrent_r

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-getgrent-r-1.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc grp.h   [Contents][Index]

13.25.4 getgrouplist

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-getgrouplist-3.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

The Gnulib module getugroups provides a similar API.


Next: , Previous: , Up: Glibc grp.h   [Contents][Index]

13.25.5 initgroups

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-initgroups-3.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc grp.h   [Contents][Index]

13.25.6 putgrent

Documentation:
man putgrent

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc grp.h   [Contents][Index]

13.25.7 setgroups

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-setgroups-2.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.26 Glibc <gshadow.h>


Next: , Up: Glibc gshadow.h   [Contents][Index]

13.26.1 endsgent

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc gshadow.h   [Contents][Index]

13.26.2 fgetsgent

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc gshadow.h   [Contents][Index]

13.26.3 fgetsgent_r

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc gshadow.h   [Contents][Index]

13.26.4 getsgent

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc gshadow.h   [Contents][Index]

13.26.5 getsgent_r

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc gshadow.h   [Contents][Index]

13.26.6 getsgnam

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc gshadow.h   [Contents][Index]

13.26.7 getsgnam_r

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc gshadow.h   [Contents][Index]

13.26.8 putsgent

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc gshadow.h   [Contents][Index]

13.26.9 setsgent

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc gshadow.h   [Contents][Index]

13.26.10 sgetsgent

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc gshadow.h   [Contents][Index]

13.26.11 sgetsgent_r

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.27 Glibc <ifaddrs.h>


Next: , Up: Glibc ifaddrs.h   [Contents][Index]

13.27.1 getifaddrs

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-getifaddrs.html

Documentation:
man getifaddrs

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc ifaddrs.h   [Contents][Index]

13.27.2 freeifaddrs

Documentation:
man freeifaddrs

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.28 Glibc Extensions to <inttypes.h>


Up: Glibc inttypes.h   [Contents][Index]

13.28.1 uimaxabs

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.29 Glibc <link.h>


Up: Glibc link.h   [Contents][Index]

13.29.1 dl_iterate_phdr

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-dl-iterate-phdr-1.html

Documentation:
man dl_iterate_phdr

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.30 Glibc <malloc.h>


Next: , Up: Glibc malloc.h   [Contents][Index]

13.30.1 mallinfo

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc malloc.h   [Contents][Index]

13.30.2 mallinfo2

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc malloc.h   [Contents][Index]

13.30.3 malloc_info

Documentation:
man malloc_info

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc malloc.h   [Contents][Index]

13.30.4 malloc_stats

Documentation:
man malloc_stats

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc malloc.h   [Contents][Index]

13.30.5 malloc_trim

Documentation:
man malloc_trim

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc malloc.h   [Contents][Index]

13.30.6 malloc_usable_size

Documentation:
man malloc_usable_size

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc malloc.h   [Contents][Index]

13.30.7 mallopt

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc malloc.h   [Contents][Index]

13.30.8 memalign

Documentation:

Gnulib module: memalign

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

The Gnulib module aligned-malloc provides functions for allocating and freeing blocks of suitably aligned memory.


Previous: , Up: Glibc malloc.h   [Contents][Index]

13.30.9 pvalloc

Documentation:
man pvalloc

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.31 Glibc Extensions to <math.h>


Next: , Up: Glibc math.h   [Contents][Index]

13.31.1 drem

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-drem.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.2 dremf

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-dremf.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.3 dreml

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-dreml.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.4 finite

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-finite.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.5 finitef

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-finitef.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.6 finitel

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-finitel.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.7 gamma

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-gamma.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.8 gammaf

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-gammaf.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.9 gammal

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-gammal.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.10 isinff

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.11 isinfl

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.12 isnanf

Documentation:

Gnulib module: isnanf

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.13 isnanl

Documentation:

Gnulib module: isnanl

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.14 j0f

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-j0f.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.15 j0l

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-j0l.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.16 j1f

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-j1f.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.17 j1l

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-j1l.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.18 jnf

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-jnf.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.19 jnl

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-jnl.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.20 lgamma_r

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-lgamma-r.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.21 lgammaf_r

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-lgammaf-r.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.22 lgammal_r

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-lgammal-r.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.23 matherr

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-matherr-1.html

Documentation:
man matherr

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.24 pow10

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-pow10.html

Documentation:
man pow10

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.25 pow10f

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-pow10f.html

Documentation:
man pow10f

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.26 pow10l

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-pow10l.html

Documentation:
man pow10l

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.27 scalbf

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-scalbf.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.28 scalbl

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-scalbl.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.29 significand

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-significand.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.30 significandf

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-significandf.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.31 significandl

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-significandl.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.32 sincos

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-sincos.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.33 sincosf

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-sincosf.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.34 sincosl

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-sincosl.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.35 y0f

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-y0f.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.36 y0l

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-y0l.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.37 y1f

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-y1f.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.38 y1l

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-y1l.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc math.h   [Contents][Index]

13.31.39 ynf

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-ynf.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc math.h   [Contents][Index]

13.31.40 ynl

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-ynl.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.32 Glibc <mcheck.h>


Next: , Up: Glibc mcheck.h   [Contents][Index]

13.32.1 mcheck

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc mcheck.h   [Contents][Index]

13.32.2 mcheck_check_all

Documentation:
man mcheck_check_all

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc mcheck.h   [Contents][Index]

13.32.3 mcheck_pedantic

Documentation:
man mcheck_pedantic

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc mcheck.h   [Contents][Index]

13.32.4 mprobe

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc mcheck.h   [Contents][Index]

13.32.5 mtrace

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc mcheck.h   [Contents][Index]

13.32.6 muntrace

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.33 Glibc <mntent.h>


Next: , Up: Glibc mntent.h   [Contents][Index]

13.33.1 addmntent

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc mntent.h   [Contents][Index]

13.33.2 endmntent

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc mntent.h   [Contents][Index]

13.33.3 getmntent

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc mntent.h   [Contents][Index]

13.33.4 getmntent_r

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc mntent.h   [Contents][Index]

13.33.5 hasmntopt

Documentation:

Gnulib module: hasmntopt

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc mntent.h   [Contents][Index]

13.33.6 setmntent

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.34 Glibc Extensions to <netdb.h>


Next: , Up: Glibc netdb.h   [Contents][Index]

13.34.1 endnetgrent

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netdb.h   [Contents][Index]

13.34.2 gethostbyaddr_r

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-gethostbyaddr-r-3.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netdb.h   [Contents][Index]

13.34.3 gethostbyname2

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-gethostbyname2-3.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netdb.h   [Contents][Index]

13.34.4 gethostbyname2_r

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-gethostbyname2-r-3.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netdb.h   [Contents][Index]

13.34.5 gethostbyname_r

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-gethostbyname-r-3.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netdb.h   [Contents][Index]

13.34.6 gethostent_r

Documentation:
man gethostent_r

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netdb.h   [Contents][Index]

13.34.7 getnetbyaddr_r

Documentation:
man getnetbyaddr_r

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netdb.h   [Contents][Index]

13.34.8 getnetbyname_r

Documentation:
man getnetbyname_r

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netdb.h   [Contents][Index]

13.34.9 getnetent_r

Documentation:
man getnetent_r

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netdb.h   [Contents][Index]

13.34.10 getnetgrent

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netdb.h   [Contents][Index]

13.34.11 getnetgrent_r

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netdb.h   [Contents][Index]

13.34.12 getprotobyname_r

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-getprotobyname-r.html

Documentation:
man getprotobyname_r

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netdb.h   [Contents][Index]

13.34.13 getprotobynumber_r

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-getprotobynumber-r.html

Documentation:
man getprotobynumber_r

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netdb.h   [Contents][Index]

13.34.14 getprotoent_r

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-getprotoent-r.html

Documentation:
man getprotoent_r

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netdb.h   [Contents][Index]

13.34.15 getservbyname_r

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-getservbyname-r.html

Documentation:
man getservbyname_r

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netdb.h   [Contents][Index]

13.34.16 getservbyport_r

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-getservbyport-r.html

Documentation:
man getservbyport_r

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netdb.h   [Contents][Index]

13.34.17 getservent_r

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-getservent-r.html

Documentation:
man getservent_r

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netdb.h   [Contents][Index]

13.34.18 herror

Documentation:
man herror

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netdb.h   [Contents][Index]

13.34.19 hstrerror

Documentation:
man hstrerror

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netdb.h   [Contents][Index]

13.34.20 innetgr

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netdb.h   [Contents][Index]

13.34.21 rcmd

Documentation:
man rcmd

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netdb.h   [Contents][Index]

13.34.22 rcmd_af

Documentation:
man rcmd_af

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netdb.h   [Contents][Index]

13.34.23 rexec

Documentation:
man rexec

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netdb.h   [Contents][Index]

13.34.24 rexec_af

Documentation:
man rexec_af

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netdb.h   [Contents][Index]

13.34.25 rresvport

Documentation:
man rresvport

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netdb.h   [Contents][Index]

13.34.26 rresvport_af

Documentation:
man rresvport_af

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netdb.h   [Contents][Index]

13.34.27 ruserok

Documentation:
man ruserok

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netdb.h   [Contents][Index]

13.34.28 ruserok_af

Documentation:
man ruserok_af

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc netdb.h   [Contents][Index]

13.34.29 setnetgrent

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.35 Glibc <netinet/ether.h>


Next: , Up: Glibc netinet/ether.h   [Contents][Index]

13.35.1 ether_aton

Documentation:
man ether_aton

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netinet/ether.h   [Contents][Index]

13.35.2 ether_aton_r

Documentation:
man ether_aton_r

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netinet/ether.h   [Contents][Index]

13.35.3 ether_hostton

Documentation:
man ether_hostton

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netinet/ether.h   [Contents][Index]

13.35.4 ether_line

Documentation:
man ether_line

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netinet/ether.h   [Contents][Index]

13.35.5 ether_ntoa

Documentation:
man ether_ntoa

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netinet/ether.h   [Contents][Index]

13.35.6 ether_ntoa_r

Documentation:
man ether_ntoa_r

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc netinet/ether.h   [Contents][Index]

13.35.7 ether_ntohost

Documentation:
man ether_ntohost

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.36 Glibc Extensions to <netinet/in.h>


Next: , Up: Glibc netinet/in.h   [Contents][Index]

13.36.1 bindresvport

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-bindresvport-3.html

Documentation:
man bindresvport

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netinet/in.h   [Contents][Index]

13.36.2 getipv4sourcefilter

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netinet/in.h   [Contents][Index]

13.36.3 getsourcefilter

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netinet/in.h   [Contents][Index]

13.36.4 inet6_option_alloc

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netinet/in.h   [Contents][Index]

13.36.5 inet6_option_append

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netinet/in.h   [Contents][Index]

13.36.6 inet6_option_find

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netinet/in.h   [Contents][Index]

13.36.7 inet6_option_init

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netinet/in.h   [Contents][Index]

13.36.8 inet6_option_next

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netinet/in.h   [Contents][Index]

13.36.9 inet6_option_space

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netinet/in.h   [Contents][Index]

13.36.10 inet6_opt_append

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netinet/in.h   [Contents][Index]

13.36.11 inet6_opt_find

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netinet/in.h   [Contents][Index]

13.36.12 inet6_opt_finish

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netinet/in.h   [Contents][Index]

13.36.13 inet6_opt_get_val

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netinet/in.h   [Contents][Index]

13.36.14 inet6_opt_init

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netinet/in.h   [Contents][Index]

13.36.15 inet6_opt_next

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netinet/in.h   [Contents][Index]

13.36.16 inet6_opt_set_val

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netinet/in.h   [Contents][Index]

13.36.17 inet6_rth_add

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netinet/in.h   [Contents][Index]

13.36.18 inet6_rth_getaddr

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netinet/in.h   [Contents][Index]

13.36.19 inet6_rth_init

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netinet/in.h   [Contents][Index]

13.36.20 inet6_rth_reverse

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netinet/in.h   [Contents][Index]

13.36.21 inet6_rth_segments

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netinet/in.h   [Contents][Index]

13.36.22 inet6_rth_space

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc netinet/in.h   [Contents][Index]

13.36.23 setipv4sourcefilter

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc netinet/in.h   [Contents][Index]

13.36.24 setsourcefilter

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.37 Glibc <obstack.h>


Next: , Up: Glibc obstack.h   [Contents][Index]

13.37.1 obstack_alloc_failed_handler

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Preparing-for-Obstacks.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc obstack.h   [Contents][Index]

13.37.2 obstack_exit_failure

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc obstack.h   [Contents][Index]

13.37.3 obstack_free

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Freeing-Obstack-Objects.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc obstack.h   [Contents][Index]

13.37.4 obstack_printf

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Dynamic-Output.html.

Gnulib module: obstack-printf or obstack-printf-posix or obstack-printf-gnu

Portability problems fixed by either Gnulib module obstack-printf or obstack-printf-posix or obstack-printf-gnu:

Portability problems fixed by either Gnulib module obstack-printf-posix or obstack-printf-gnu:

Portability problems fixed by Gnulib module obstack-printf-gnu:

Portability problems fixed by either Gnulib module obstack-printf-posix or obstack-printf-gnu and additionally the Gnulib module printf-with-n-directive:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc obstack.h   [Contents][Index]

13.37.5 obstack_vprintf

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Variable-Arguments-Output.html.

Gnulib module: obstack-printf or obstack-printf-posix or obstack-printf-gnu

Portability problems fixed by either Gnulib module obstack-printf or obstack-printf-posix or obstack-printf-gnu:

Portability problems fixed by either Gnulib module obstack-printf-posix or obstack-printf-gnu:

Portability problems fixed by Gnulib module obstack-printf-gnu:

Portability problems fixed by either Gnulib module obstack-printf-posix or obstack-printf-gnu and additionally the Gnulib module printf-with-n-directive:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.38 Glibc <printf.h>


Next: , Up: Glibc printf.h   [Contents][Index]

13.38.1 parse_printf_format

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Parsing-a-Template-String.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc printf.h   [Contents][Index]

13.38.2 printf_size

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Predefined-Printf-Handlers.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc printf.h   [Contents][Index]

13.38.3 printf_size_info

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Predefined-Printf-Handlers.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc printf.h   [Contents][Index]

13.38.4 register_printf_function

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Registering-New-Conversions.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc printf.h   [Contents][Index]

13.38.5 register_printf_modifier

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc printf.h   [Contents][Index]

13.38.6 register_printf_specifier

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc printf.h   [Contents][Index]

13.38.7 register_printf_type

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.39 Glibc Extensions to <pthread.h>


Next: , Up: Glibc pthread.h   [Contents][Index]

13.39.1 pthread_attr_getaffinity_np

Documentation:
man pthread_attr_getaffinity_np

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc pthread.h   [Contents][Index]

13.39.2 pthread_attr_setaffinity_np

Documentation:
man pthread_attr_setaffinity_np

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc pthread.h   [Contents][Index]

13.39.3 pthread_attr_getsigmask_np

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Initial-Thread-Signal-Mask.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc pthread.h   [Contents][Index]

13.39.4 pthread_attr_setsigmask_np

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Initial-Thread-Signal-Mask.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc pthread.h   [Contents][Index]

13.39.5 pthread_clockjoin_np

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc pthread.h   [Contents][Index]

13.39.6 pthread_getaffinity_np

Documentation:
man pthread_getaffinity_np

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc pthread.h   [Contents][Index]

13.39.7 pthread_getattr_default_np

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc pthread.h   [Contents][Index]

13.39.8 pthread_getattr_np

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-pthread-getattr-np-1.html

Documentation:
man pthread_getattr_np

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc pthread.h   [Contents][Index]

13.39.9 pthread_getname_np

Documentation:
man pthread_getname_np

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc pthread.h   [Contents][Index]

13.39.10 pthread_gettid_np

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc pthread.h   [Contents][Index]

13.39.11 pthread_kill_other_threads_np

Documentation:
man pthread_kill_other_threads_np

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc pthread.h   [Contents][Index]

13.39.12 pthread_rwlockattr_getkind_np

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-pthread-rwlockattr-getkind-np-1.html

Documentation:
man pthread_rwlockattr_getkind_np

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc pthread.h   [Contents][Index]

13.39.13 pthread_rwlockattr_setkind_np

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-pthread-rwlockattr-getkind-np-1.html

Documentation:
man pthread_rwlockattr_setkind_np

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc pthread.h   [Contents][Index]

13.39.14 pthread_setaffinity_np

Documentation:
man pthread_setaffinity_np

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc pthread.h   [Contents][Index]

13.39.15 pthread_setattr_default_np

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc pthread.h   [Contents][Index]

13.39.16 pthread_setname_np

Documentation:
man pthread_setname_np

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc pthread.h   [Contents][Index]

13.39.17 pthread_sigqueue

Documentation:
man pthread_sigqueue

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc pthread.h   [Contents][Index]

13.39.18 pthread_timedjoin_np

Documentation:
man pthread_timedjoin_np

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc pthread.h   [Contents][Index]

13.39.19 pthread_tryjoin_np

Documentation:
man pthread_tryjoin_np

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.40 Glibc <pty.h>


Next: , Up: Glibc pty.h   [Contents][Index]

13.40.1 forkpty

Documentation:

Gnulib module: forkpty

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc pty.h   [Contents][Index]

13.40.2 openpty

Documentation:

Gnulib module: openpty

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.41 Glibc Extensions to <pwd.h>


Next: , Up: Glibc pwd.h   [Contents][Index]

13.41.1 fgetpwent

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc pwd.h   [Contents][Index]

13.41.2 fgetpwent_r

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc pwd.h   [Contents][Index]

13.41.3 getpw

Documentation:
man getpw

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc pwd.h   [Contents][Index]

13.41.4 getpwent_r

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-getpwent-r-1.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc pwd.h   [Contents][Index]

13.41.5 putpwent

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.42 Glibc Extensions to <regex.h>


Next: , Up: Glibc regex.h   [Contents][Index]

13.42.1 re_comp

Documentation:
man re_comp

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc regex.h   [Contents][Index]

13.42.2 re_compile_fastmap

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc regex.h   [Contents][Index]

13.42.3 re_compile_pattern

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc regex.h   [Contents][Index]

13.42.4 re_exec

Documentation:
man re_exec

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc regex.h   [Contents][Index]

13.42.5 re_match

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc regex.h   [Contents][Index]

13.42.6 re_match_2

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc regex.h   [Contents][Index]

13.42.7 re_search

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc regex.h   [Contents][Index]

13.42.8 re_search_2

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc regex.h   [Contents][Index]

13.42.9 re_set_registers

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc regex.h   [Contents][Index]

13.42.10 re_set_syntax

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc regex.h   [Contents][Index]

13.42.11 re_syntax_options

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.43 Glibc <regexp.h>


Next: , Up: Glibc regexp.h   [Contents][Index]

13.43.1 advance

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc regexp.h   [Contents][Index]

13.43.2 loc1

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc regexp.h   [Contents][Index]

13.43.3 loc2

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc regexp.h   [Contents][Index]

13.43.4 locs

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc regexp.h   [Contents][Index]

13.43.5 step

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.44 Glibc <resolv.h>


Next: , Up: Glibc resolv.h   [Contents][Index]

13.44.1 dn_comp

Documentation:
man dn_comp

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc resolv.h   [Contents][Index]

13.44.2 dn_expand

Documentation:
man dn_expand

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc resolv.h   [Contents][Index]

13.44.3 dn_skipname

Documentation:
man dn_skipname

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc resolv.h   [Contents][Index]

13.44.4 res_dnok

Documentation:
man res_dnok

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc resolv.h   [Contents][Index]

13.44.5 res_hnok

Documentation:
man res_hnok

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc resolv.h   [Contents][Index]

13.44.6 res_init

Documentation:
man res_init

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc resolv.h   [Contents][Index]

13.44.7 res_mailok

Documentation:
man res_mailok

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc resolv.h   [Contents][Index]

13.44.8 res_mkquery

Documentation:
man res_mkquery

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc resolv.h   [Contents][Index]

13.44.9 res_nmkquery

Documentation:
man res_nmkquery

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc resolv.h   [Contents][Index]

13.44.10 res_nquery

Documentation:
man res_nquery

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc resolv.h   [Contents][Index]

13.44.11 res_nquerydomain

Documentation:
man res_nquerydomain

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc resolv.h   [Contents][Index]

13.44.12 res_nsearch

Documentation:
man res_nsearch

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc resolv.h   [Contents][Index]

13.44.13 res_nsend

Documentation:
man res_nsend

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc resolv.h   [Contents][Index]

13.44.14 res_ownok

Documentation:
man res_ownok

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc resolv.h   [Contents][Index]

13.44.15 res_query

Documentation:
man res_query

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc resolv.h   [Contents][Index]

13.44.16 res_querydomain

Documentation:
man res_querydomain

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc resolv.h   [Contents][Index]

13.44.17 res_search

Documentation:
man res_search

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc resolv.h   [Contents][Index]

13.44.18 res_send

Documentation:
man res_send

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.45 Glibc <rpc/auth.h>


Next: , Up: Glibc rpc/auth.h   [Contents][Index]

13.45.1 authdes_create

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/auth.h   [Contents][Index]

13.45.2 authdes_pk_create

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/auth.h   [Contents][Index]

13.45.3 authnone_create

Documentation:
man authnone_create

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/auth.h   [Contents][Index]

13.45.4 authunix_create

Documentation:
man authunix_create

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/auth.h   [Contents][Index]

13.45.5 authunix_create_default

Documentation:
man authunix_create_default

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/auth.h   [Contents][Index]

13.45.6 getnetname

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/auth.h   [Contents][Index]

13.45.7 host2netname

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/auth.h   [Contents][Index]

13.45.8 key_decryptsession

Documentation:
man key_decryptsession

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/auth.h   [Contents][Index]

13.45.9 key_decryptsession_pk

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/auth.h   [Contents][Index]

13.45.10 key_encryptsession

Documentation:
man key_encryptsession

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/auth.h   [Contents][Index]

13.45.11 key_encryptsession_pk

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/auth.h   [Contents][Index]

13.45.12 key_gendes

Documentation:
man key_gendes

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/auth.h   [Contents][Index]

13.45.13 key_get_conv

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/auth.h   [Contents][Index]

13.45.14 key_secretkey_is_set

Documentation:
man key_secretkey_is_set

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/auth.h   [Contents][Index]

13.45.15 key_setsecret

Documentation:
man key_setsecret

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/auth.h   [Contents][Index]

13.45.16 netname2host

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/auth.h   [Contents][Index]

13.45.17 netname2user

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/auth.h   [Contents][Index]

13.45.18 user2netname

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/auth.h   [Contents][Index]

13.45.19 xdr_des_block

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc rpc/auth.h   [Contents][Index]

13.45.20 xdr_opaque_auth

Documentation:
man xdr_opaque_auth

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.46 Glibc <rpc/auth_des.h>


Next: , Up: Glibc rpc/auth_des.h   [Contents][Index]

13.46.1 authdes_getucred

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/auth_des.h   [Contents][Index]

13.46.2 getpublickey

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/auth_des.h   [Contents][Index]

13.46.3 getsecretkey

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc rpc/auth_des.h   [Contents][Index]

13.46.4 rtime

Documentation:
man rtime

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.47 Glibc <rpc/auth_unix.h>


Up: Glibc rpc/auth_unix.h   [Contents][Index]

13.47.1 xdr_authunix_parms

Documentation:
man xdr_authunix_parms

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.48 Glibc <rpc/clnt.h>


Next: , Up: Glibc rpc/clnt.h   [Contents][Index]

13.48.1 callrpc

Documentation:
man callrpc

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/clnt.h   [Contents][Index]

13.48.2 clnt_create

Documentation:
man clnt_create

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/clnt.h   [Contents][Index]

13.48.3 clnt_pcreateerror

Documentation:
man clnt_pcreateerror

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/clnt.h   [Contents][Index]

13.48.4 clnt_perrno

Documentation:
man clnt_perrno

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/clnt.h   [Contents][Index]

13.48.5 clnt_perror

Documentation:
man clnt_perror

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/clnt.h   [Contents][Index]

13.48.6 clnt_spcreateerror

Documentation:
man clnt_spcreateerror

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/clnt.h   [Contents][Index]

13.48.7 clnt_sperrno

Documentation:
man clnt_sperrno

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/clnt.h   [Contents][Index]

13.48.8 clnt_sperror

Documentation:
man clnt_sperror

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/clnt.h   [Contents][Index]

13.48.9 clntraw_create

Documentation:
man clntraw_create

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/clnt.h   [Contents][Index]

13.48.10 clnttcp_create

Documentation:
man clnttcp_create

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/clnt.h   [Contents][Index]

13.48.11 clntudp_bufcreate

Documentation:
man clntudp_bufcreate

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/clnt.h   [Contents][Index]

13.48.12 clntudp_create

Documentation:
man clntudp_create

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/clnt.h   [Contents][Index]

13.48.13 clntunix_create

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/clnt.h   [Contents][Index]

13.48.14 get_myaddress

Documentation:
man get_myaddress

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/clnt.h   [Contents][Index]

13.48.15 getrpcport

Documentation:
man getrpcport

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc rpc/clnt.h   [Contents][Index]

13.48.16 rpc_createerr

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.49 Glibc <rpc/key_prot.h>


Next: , Up: Glibc rpc/key_prot.h   [Contents][Index]

13.49.1 xdr_cryptkeyarg

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/key_prot.h   [Contents][Index]

13.49.2 xdr_cryptkeyarg2

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/key_prot.h   [Contents][Index]

13.49.3 xdr_cryptkeyres

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/key_prot.h   [Contents][Index]

13.49.4 xdr_getcredres

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/key_prot.h   [Contents][Index]

13.49.5 xdr_key_netstarg

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/key_prot.h   [Contents][Index]

13.49.6 xdr_key_netstres

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/key_prot.h   [Contents][Index]

13.49.7 xdr_keybuf

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/key_prot.h   [Contents][Index]

13.49.8 xdr_keystatus

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/key_prot.h   [Contents][Index]

13.49.9 xdr_netnamestr

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc rpc/key_prot.h   [Contents][Index]

13.49.10 xdr_unixcred

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.50 Glibc <rpc/netdb.h>


Next: , Up: Glibc rpc/netdb.h   [Contents][Index]

13.50.1 endrpcent

Documentation:
man endrpcent

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/netdb.h   [Contents][Index]

13.50.2 getrpcbyname

Documentation:
man getrpcbyname

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/netdb.h   [Contents][Index]

13.50.3 getrpcbyname_r

Documentation:
man getrpcbyname_r

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/netdb.h   [Contents][Index]

13.50.4 getrpcbynumber

Documentation:
man getrpcbynumber

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/netdb.h   [Contents][Index]

13.50.5 getrpcbynumber_r

Documentation:
man getrpcbynumber_r

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/netdb.h   [Contents][Index]

13.50.6 getrpcent

Documentation:
man getrpcent

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/netdb.h   [Contents][Index]

13.50.7 getrpcent_r

Documentation:
man getrpcent_r

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc rpc/netdb.h   [Contents][Index]

13.50.8 setrpcent

Documentation:
man setrpcent

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.51 Glibc <rpc/pmap_clnt.h>


Next: , Up: Glibc rpc/pmap_clnt.h   [Contents][Index]

13.51.1 clnt_broadcast

Documentation:
man clnt_broadcast

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/pmap_clnt.h   [Contents][Index]

13.51.2 pmap_getmaps

Documentation:
man pmap_getmaps

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/pmap_clnt.h   [Contents][Index]

13.51.3 pmap_getport

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-pmap-getport-3.html

Documentation:
man pmap_getport

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/pmap_clnt.h   [Contents][Index]

13.51.4 pmap_rmtcall

Documentation:
man pmap_rmtcall

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/pmap_clnt.h   [Contents][Index]

13.51.5 pmap_set

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-pmap-set-3.html

Documentation:
man pmap_set

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc rpc/pmap_clnt.h   [Contents][Index]

13.51.6 pmap_unset

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-pmap-unset-3.html

Documentation:
man pmap_unset

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.52 Glibc <rpc/pmap_prot.h>


Next: , Up: Glibc rpc/pmap_prot.h   [Contents][Index]

13.52.1 xdr_pmap

Documentation:
man xdr_pmap

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc rpc/pmap_prot.h   [Contents][Index]

13.52.2 xdr_pmaplist

Documentation:
man xdr_pmaplist

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.53 Glibc <rpc/pmap_rmt.h>


Next: , Up: Glibc rpc/pmap_rmt.h   [Contents][Index]

13.53.1 xdr_rmtcall_args

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc rpc/pmap_rmt.h   [Contents][Index]

13.53.2 xdr_rmtcallres

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.54 Glibc <rpc/rpc_msg.h>


Next: , Up: Glibc rpc/rpc_msg.h   [Contents][Index]

13.54.1 xdr_callhdr

Documentation:
man xdr_callhdr

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/rpc_msg.h   [Contents][Index]

13.54.2 xdr_callmsg

Documentation:
man xdr_callmsg

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc rpc/rpc_msg.h   [Contents][Index]

13.54.3 xdr_replymsg

Documentation:
man xdr_replymsg

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.55 Glibc <rpc/svc.h>


Next: , Up: Glibc rpc/svc.h   [Contents][Index]

13.55.1 svc_exit

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/svc.h   [Contents][Index]

13.55.2 svc_fdset

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/svc.h   [Contents][Index]

13.55.3 svc_getreq

Documentation:
man svc_getreq

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/svc.h   [Contents][Index]

13.55.4 svc_getreq_common

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/svc.h   [Contents][Index]

13.55.5 svc_getreq_poll

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/svc.h   [Contents][Index]

13.55.6 svc_getreqset

Documentation:
man svc_getreqset

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/svc.h   [Contents][Index]

13.55.7 svc_max_pollfd

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/svc.h   [Contents][Index]

13.55.8 svc_pollfd

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/svc.h   [Contents][Index]

13.55.9 svc_register

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-svc-register-3.html

Documentation:
man svc_register

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/svc.h   [Contents][Index]

13.55.10 svc_run

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-svc-run-3.html

Documentation:
man svc_run

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/svc.h   [Contents][Index]

13.55.11 svc_sendreply

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-svc-sendreply-3.html

Documentation:
man svc_sendreply

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/svc.h   [Contents][Index]

13.55.12 svc_unregister

Documentation:
man svc_unregister

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/svc.h   [Contents][Index]

13.55.13 svcerr_auth

Documentation:
man svcerr_auth

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/svc.h   [Contents][Index]

13.55.14 svcerr_decode

Documentation:
man svcerr_decode

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/svc.h   [Contents][Index]

13.55.15 svcerr_noproc

Documentation:
man svcerr_noproc

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/svc.h   [Contents][Index]

13.55.16 svcerr_noprog

Documentation:
man svcerr_noprog

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/svc.h   [Contents][Index]

13.55.17 svcerr_progvers

Documentation:
man svcerr_progvers

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/svc.h   [Contents][Index]

13.55.18 svcerr_systemerr

Documentation:
man svcerr_systemerr

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/svc.h   [Contents][Index]

13.55.19 svcerr_weakauth

Documentation:
man svcerr_weakauth

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/svc.h   [Contents][Index]

13.55.20 svcraw_create

Documentation:
man svcraw_create

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/svc.h   [Contents][Index]

13.55.21 svctcp_create

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-svctcp-create-3.html

Documentation:
man svctcp_create

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/svc.h   [Contents][Index]

13.55.22 svcudp_bufcreate

Documentation:
man svcudp_bufcreate

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/svc.h   [Contents][Index]

13.55.23 svcudp_create

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-svcudp-create-3.html

Documentation:
man svcudp_create

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/svc.h   [Contents][Index]

13.55.24 svcunix_create

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/svc.h   [Contents][Index]

13.55.25 xprt_register

Documentation:
man xprt_register

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc rpc/svc.h   [Contents][Index]

13.55.26 xprt_unregister

Documentation:
man xprt_unregister

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.56 Glibc <rpc/xdr.h>


Next: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.1 xdr_array

Documentation:
man xdr_array

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.2 xdr_bool

Documentation:
man xdr_bool

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.3 xdr_bytes

Documentation:
man xdr_bytes

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.4 xdr_char

Documentation:
man xdr_char

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.5 xdr_double

Documentation:
man xdr_double

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.6 xdr_enum

Documentation:
man xdr_enum

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.7 xdr_float

Documentation:
man xdr_float

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.8 xdr_free

Documentation:
man xdr_free

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.9 xdr_hyper

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.10 xdr_int

Documentation:
man xdr_int

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.11 xdr_int16_t

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.12 xdr_int32_t

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.13 xdr_int64_t

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.14 xdr_int8_t

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.15 xdr_long

Documentation:
man xdr_long

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.16 xdr_longlong_t

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.17 xdr_netobj

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.18 xdr_opaque

Documentation:
man xdr_opaque

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.19 xdr_pointer

Documentation:
man xdr_pointer

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.20 xdr_quad_t

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.21 xdr_reference

Documentation:
man xdr_reference

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.22 xdr_short

Documentation:
man xdr_short

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.23 xdr_sizeof

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.24 xdr_string

Documentation:
man xdr_string

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.25 xdr_u_char

Documentation:
man xdr_u_char

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.26 xdr_u_hyper

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.27 xdr_u_int

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-xdr-u-int-3.html

Documentation:
man xdr_u_int

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.28 xdr_u_long

Documentation:
man xdr_u_long

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.29 xdr_u_longlong_t

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.30 xdr_u_quad_t

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.31 xdr_u_short

Documentation:
man xdr_u_short

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.32 xdr_uint16_t

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.33 xdr_uint32_t

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.34 xdr_uint64_t

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.35 xdr_uint8_t

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.36 xdr_union

Documentation:
man xdr_union

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.37 xdr_vector

Documentation:
man xdr_vector

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.38 xdr_void

Documentation:
man xdr_void

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.39 xdr_wrapstring

Documentation:
man xdr_wrapstring

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.40 xdrmem_create

Documentation:
man xdrmem_create

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.41 xdrrec_create

Documentation:
man xdrrec_create

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.42 xdrrec_endofrecord

Documentation:
man xdrrec_endofrecord

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.43 xdrrec_eof

Documentation:
man xdrrec_eof

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.44 xdrrec_skiprecord

Documentation:
man xdrrec_skiprecord

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc rpc/xdr.h   [Contents][Index]

13.56.45 xdrstdio_create

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-xdrstdio-create-3.html

Documentation:
man xdrstdio_create

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.57 Glibc <rpcsvc/nislib.h>


Next: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.1 nis_add

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.2 nis_add_entry

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.3 nis_addmember

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.4 nis_checkpoint

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.5 nis_clone_object

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.6 nis_creategroup

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.7 nis_destroy_object

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.8 nis_destroygroup

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.9 nis_dir_cmp

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.10 nis_domain_of

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.11 nis_domain_of_r

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.12 nis_first_entry

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.13 nis_freenames

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.14 nis_freeresult

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.15 nis_freeservlist

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.16 nis_freetags

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.17 nis_getnames

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.18 nis_getservlist

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.19 nis_ismember

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.20 nis_leaf_of

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.21 nis_leaf_of_r

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.22 nis_lerror

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.23 nis_list

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.24 nis_local_directory

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.25 nis_local_group

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.26 nis_local_host

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.27 nis_local_principal

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.28 nis_lookup

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.29 nis_mkdir

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.30 nis_modify

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.31 nis_modify_entry

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.32 nis_name_of

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.33 nis_name_of_r

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.34 nis_next_entry

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.35 nis_perror

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.36 nis_ping

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.37 nis_print_directory

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.38 nis_print_entry

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.39 nis_print_group

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.40 nis_print_group_entry

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.41 nis_print_link

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.42 nis_print_object

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.43 nis_print_result

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.44 nis_print_rights

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.45 nis_print_table

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.46 nis_remove

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.47 nis_remove_entry

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.48 nis_removemember

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.49 nis_rmdir

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.50 nis_servstate

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.51 nis_sperrno

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.52 nis_sperror

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.53 nis_sperror_r

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.54 nis_stats

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc rpcsvc/nislib.h   [Contents][Index]

13.57.55 nis_verifygroup

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.58 Glibc <rpcsvc/nis_callback.h>


Next: , Up: Glibc rpcsvc/nis_callback.h   [Contents][Index]

13.58.1 xdr_cback_data

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc rpcsvc/nis_callback.h   [Contents][Index]

13.58.2 xdr_obj_p

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.59 Glibc <rpcsvc/yp.h>


Next: , Up: Glibc rpcsvc/yp.h   [Contents][Index]

13.59.1 xdr_domainname

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/yp.h   [Contents][Index]

13.59.2 xdr_keydat

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/yp.h   [Contents][Index]

13.59.3 xdr_valdat

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/yp.h   [Contents][Index]

13.59.4 xdr_ypbind_resptype

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/yp.h   [Contents][Index]

13.59.5 xdr_ypmap_parms

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/yp.h   [Contents][Index]

13.59.6 xdr_ypmaplist

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/yp.h   [Contents][Index]

13.59.7 xdr_yppushresp_xfr

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/yp.h   [Contents][Index]

13.59.8 xdr_ypreq_key

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/yp.h   [Contents][Index]

13.59.9 xdr_ypreq_nokey

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/yp.h   [Contents][Index]

13.59.10 xdr_ypreq_xfr

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/yp.h   [Contents][Index]

13.59.11 xdr_ypresp_all

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/yp.h   [Contents][Index]

13.59.12 xdr_ypresp_key_val

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/yp.h   [Contents][Index]

13.59.13 xdr_ypresp_maplist

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/yp.h   [Contents][Index]

13.59.14 xdr_ypresp_master

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/yp.h   [Contents][Index]

13.59.15 xdr_ypresp_order

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/yp.h   [Contents][Index]

13.59.16 xdr_ypresp_val

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/yp.h   [Contents][Index]

13.59.17 xdr_ypresp_xfr

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/yp.h   [Contents][Index]

13.59.18 xdr_ypstat

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc rpcsvc/yp.h   [Contents][Index]

13.59.19 xdr_ypxfrstat

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.60 Glibc <rpcsvc/ypclnt.h>


Next: , Up: Glibc rpcsvc/ypclnt.h   [Contents][Index]

13.60.1 yp_all

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/ypclnt.h   [Contents][Index]

13.60.2 yp_bind

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/ypclnt.h   [Contents][Index]

13.60.3 yp_first

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/ypclnt.h   [Contents][Index]

13.60.4 yp_get_default_domain

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/ypclnt.h   [Contents][Index]

13.60.5 yp_master

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/ypclnt.h   [Contents][Index]

13.60.6 yp_match

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/ypclnt.h   [Contents][Index]

13.60.7 yp_next

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/ypclnt.h   [Contents][Index]

13.60.8 yp_order

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/ypclnt.h   [Contents][Index]

13.60.9 yp_unbind

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/ypclnt.h   [Contents][Index]

13.60.10 ypbinderr_string

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc rpcsvc/ypclnt.h   [Contents][Index]

13.60.11 yperr_string

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc rpcsvc/ypclnt.h   [Contents][Index]

13.60.12 ypprot_err

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.61 Glibc Extensions to <sched.h>


Next: , Up: Glibc sched.h   [Contents][Index]

13.61.1 clone

Documentation:
man clone

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sched.h   [Contents][Index]

13.61.2 getcpu

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sched.h   [Contents][Index]

13.61.3 sched_getaffinity

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-sched-getaffinity.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sched.h   [Contents][Index]

13.61.4 sched_getattr

Documentation:
man sched_getattr

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sched.h   [Contents][Index]

13.61.5 sched_getcpu

Documentation:
man sched_getcpu

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sched.h   [Contents][Index]

13.61.6 sched_setaffinity

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-sched-setaffinity.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sched.h   [Contents][Index]

13.61.7 sched_setattr

Documentation:
man sched_setattr

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc sched.h   [Contents][Index]

13.61.8 setns

Documentation:
man setns

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.62 Glibc Extensions to <search.h>


Next: , Up: Glibc search.h   [Contents][Index]

13.62.1 hcreate_r

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-hcreate-r.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc search.h   [Contents][Index]

13.62.2 hdestroy_r

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-hdestroy-r.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc search.h   [Contents][Index]

13.62.3 hsearch_r

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-hsearch-r.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc search.h   [Contents][Index]

13.62.4 tdestroy

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc search.h   [Contents][Index]

13.62.5 twalk_r

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.63 Glibc Extensions to <selinux/selinux.h>


Next: , Up: Glibc selinux/selinux.h   [Contents][Index]

13.63.1 fgetfilecon

Documentation:
man fgetfilecon

Gnulib module: selinux-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc selinux/selinux.h   [Contents][Index]

13.63.2 getfilecon

Documentation:
man getfilecon

Gnulib module: selinux-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc selinux/selinux.h   [Contents][Index]

13.63.3 lgetfilecon

Documentation:
man lgetfilecon

Gnulib module: selinux-h

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.64 Glibc <shadow.h>


Next: , Up: Glibc shadow.h   [Contents][Index]

13.64.1 endspent

Documentation:
man endspent

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc shadow.h   [Contents][Index]

13.64.2 fgetspent

Documentation:
man fgetspent

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc shadow.h   [Contents][Index]

13.64.3 fgetspent_r

Documentation:
man fgetspent_r

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc shadow.h   [Contents][Index]

13.64.4 getspent

Documentation:
man getspent

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc shadow.h   [Contents][Index]

13.64.5 getspent_r

Documentation:
man getspent_r

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc shadow.h   [Contents][Index]

13.64.6 getspnam

Documentation:
man getspnam

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc shadow.h   [Contents][Index]

13.64.7 getspnam_r

Documentation:
man getspnam_r

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc shadow.h   [Contents][Index]

13.64.8 lckpwdf

Documentation:
man lckpwdf

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc shadow.h   [Contents][Index]

13.64.9 putspent

Documentation:
man putspent

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc shadow.h   [Contents][Index]

13.64.10 setspent

Documentation:
man setspent

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc shadow.h   [Contents][Index]

13.64.11 sgetspent

Documentation:
man sgetspent

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc shadow.h   [Contents][Index]

13.64.12 sgetspent_r

Documentation:
man sgetspent_r

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc shadow.h   [Contents][Index]

13.64.13 ulckpwdf

Documentation:
man ulckpwdf

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.65 Glibc Extensions to <signal.h>


Next: , Up: Glibc signal.h   [Contents][Index]

13.65.1 gsignal

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc signal.h   [Contents][Index]

13.65.2 sigandset

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-sigandset.html

Documentation:
man sigandset

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc signal.h   [Contents][Index]

13.65.3 sigblock

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc signal.h   [Contents][Index]

13.65.4 siggetmask

Documentation:
man siggetmask

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc signal.h   [Contents][Index]

13.65.5 sigisemptyset

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-sigisemptyset.html

Documentation:
man sigisemptyset

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc signal.h   [Contents][Index]

13.65.6 sigorset

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-sigorset.html

Documentation:
man sigorset

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc signal.h   [Contents][Index]

13.65.7 sigreturn

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-sigreturn-2.html

Documentation:
man sigreturn

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc signal.h   [Contents][Index]

13.65.8 sigsetmask

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc signal.h   [Contents][Index]

13.65.9 sigstack

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc signal.h   [Contents][Index]

13.65.10 sigvec

Documentation:
man sigvec

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc signal.h   [Contents][Index]

13.65.11 ssignal

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc signal.h   [Contents][Index]

13.65.12 sys_siglist

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Signal-Messages.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc signal.h   [Contents][Index]

13.65.13 sysv_signal

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc signal.h   [Contents][Index]

13.65.14 tgkill

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.66 Glibc Extensions to <spawn.h>


Next: , Up: Glibc spawn.h   [Contents][Index]

13.66.1 pidfd_spawn

Documentation:
https://lwn.net/Articles/943022/

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc spawn.h   [Contents][Index]

13.66.2 pidfd_spawnp

Documentation:
https://lwn.net/Articles/943022/

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc spawn.h   [Contents][Index]

13.66.3 posix_spawn_file_actions_addchdir_np

posix_spawn_file_actions_addchdir is specified in POSIX.1-2024. Draft specification:
https://www.austingroupbugs.net/view.php?id=1208

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: Gnulib has a module posix_spawn_file_actions_addchdir that provides equivalent functionality, just without the suffix _np.


Next: , Previous: , Up: Glibc spawn.h   [Contents][Index]

13.66.4 posix_spawn_file_actions_addclosefrom_np

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc spawn.h   [Contents][Index]

13.66.5 posix_spawn_file_actions_addfchdir_np

posix_spawn_file_actions_addfchdir is specified in POSIX.1-2024. Draft specification:
https://www.austingroupbugs.net/view.php?id=1208

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: Gnulib has a module posix_spawn_file_actions_addfchdir that provides equivalent functionality, just without the suffix _np.


Next: , Previous: , Up: Glibc spawn.h   [Contents][Index]

13.66.6 posix_spawn_file_actions_addtcsetpgrp_np

Documentation: —

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc spawn.h   [Contents][Index]

13.66.7 posix_spawnattr_getcgroup_np

Documentation:
https://sourceware.org/pipermail/libc-alpha/2023-August/151106.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc spawn.h   [Contents][Index]

13.66.8 posix_spawnattr_setcgroup_np

Documentation:
https://sourceware.org/pipermail/libc-alpha/2023-August/151106.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.67 Glibc Extensions to <stdio.h>


Next: , Up: Glibc stdio.h   [Contents][Index]

13.67.1 cuserid

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdio.h   [Contents][Index]

13.67.2 clearerr_unlocked

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-clearerr-unlocked-1.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdio.h   [Contents][Index]

13.67.3 fcloseall

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdio.h   [Contents][Index]

13.67.4 feof_unlocked

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-feof-unlocked-1.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdio.h   [Contents][Index]

13.67.5 ferror_unlocked

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-ferror-unlocked-1.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdio.h   [Contents][Index]

13.67.6 fflush_unlocked

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-fflush-unlocked-1.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdio.h   [Contents][Index]

13.67.7 fgetc_unlocked

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-fgetc-unlocked-1.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdio.h   [Contents][Index]

13.67.8 fgets_unlocked

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-fgets-unlocked-1.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdio.h   [Contents][Index]

13.67.9 fileno_unlocked

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-fileno-unlocked-1.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdio.h   [Contents][Index]

13.67.10 fopencookie

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdio.h   [Contents][Index]

13.67.11 fputc_unlocked

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-fputc-unlocked-1.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdio.h   [Contents][Index]

13.67.12 fputs_unlocked

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-fputs-unlocked-1.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdio.h   [Contents][Index]

13.67.13 fread_unlocked

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-fread-unlocked-1.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdio.h   [Contents][Index]

13.67.14 fwrite_unlocked

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-fwrite-unlocked-1.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdio.h   [Contents][Index]

13.67.15 getw

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdio.h   [Contents][Index]

13.67.16 putw

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdio.h   [Contents][Index]

13.67.17 renameat2

Documentation:
man renameat2

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

The renameatu module addresses some of these portability issues.


Next: , Previous: , Up: Glibc stdio.h   [Contents][Index]

13.67.18 setbuffer

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-setbuffer-3.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdio.h   [Contents][Index]

13.67.19 setlinebuf

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdio.h   [Contents][Index]

13.67.20 sys_errlist

Documentation:
man sys_errlist

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdio.h   [Contents][Index]

13.67.21 sys_nerr

Documentation:
man sys_nerr

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc stdio.h   [Contents][Index]

13.67.22 tmpnam_r

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.68 Glibc Extensions to <stdlib.h>


Next: , Up: Glibc stdlib.h   [Contents][Index]

13.68.1 arc4random

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.2 arc4random_buf

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.3 arc4random_uniform

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.4 canonicalize_file_name

Documentation:

Gnulib module: canonicalize-lgpl

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.5 cfree

Documentation:
man cfree

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.6 clearenv

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.7 drand48_r

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-drand48-r-1.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.8 ecvt_r

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.9 erand48_r

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-erand48-r-1.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.10 fcvt_r

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.11 getloadavg

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-getloadavg-3.html

Documentation:

Gnulib module: getloadavg

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.12 getpt

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.13 initstate_r

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-initstate-r-1.html

Documentation:

Gnulib module: random_r

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.14 jrand48_r

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-jrand48-r-1.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.15 lcong48_r

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-lcong48-r-1.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.16 lrand48_r

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-lrand48-r-1.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.17 mkostemps

Documentation:
man mkostemps

Gnulib module: mkostemps

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

The gnulib module clean-temp can create temporary files that will not be left behind after signals such as SIGINT.


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.18 mkstemps

Documentation:
man mkstemps

Gnulib module: mkstemps

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

The gnulib module clean-temp can create temporary files that will not be left behind after signals such as SIGINT.


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.19 mrand48_r

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-mrand48-r-1.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.20 nrand48_r

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-nrand48-r-1.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.21 on_exit

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.22 qecvt

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.23 qecvt_r

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.24 qfcvt

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.25 qfcvt_r

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.26 qgcvt

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.27 random_r

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-random-r-1.html

Documentation:

Gnulib module: random_r

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.28 rpmatch

Documentation:

Gnulib module: rpmatch

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.29 seed48_r

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-seed48-r-1.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.30 setstate_r

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-setstate-r-1.html

Documentation:

Gnulib module: random_r

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.31 srand48_r

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-srand48-r-1.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.32 srandom_r

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-srandom-r-1.html

Documentation:

Gnulib module: random_r

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.33 strtod_l

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.34 strtof_l

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.35 strtol_l

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.36 strtold_l

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.37 strtoll_l

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.38 strtoq

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-strtoq-3.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.39 strtoul_l

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.40 strtoull_l

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.41 strtouq

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-strtouq-3.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.42 uabs

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.43 ulabs

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.44 ullabs

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc stdlib.h   [Contents][Index]

13.68.45 valloc

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.69 Glibc Extensions to <string.h>


Next: , Up: Glibc string.h   [Contents][Index]

13.69.1 explicit_bzero

Documentation:

Gnulib module: explicit_bzero

The explicit_bzero function is an approximation to what is needed, and does not suffice in general to erase information. Although calling explicit_bzero should clear the memory in question, the information that was in memory may still be available elsewhere on the machine. Proper implementation of information erasure requires support from levels below C code.

C23 specifies the function memset_explicit, which should be preferred to explicit_bzero in new code. See memset_explicit.

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc string.h   [Contents][Index]

13.69.2 memfrob

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc string.h   [Contents][Index]

13.69.3 mempcpy

Documentation:

Gnulib module: mempcpy

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc string.h   [Contents][Index]

13.69.4 memrchr

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-memrchr.html

Documentation:

Gnulib module: memrchr

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc string.h   [Contents][Index]

13.69.5 rawmemchr

Documentation:

Gnulib module: rawmemchr

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc string.h   [Contents][Index]

13.69.6 sigabbrev_np

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Signal-Messages.html.

Gnulib module: sigabbrev_np

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: Gnulib has a module sig2str that contains an equivalent function and also one that does the opposite conversion, from an abbreviated signal name to a signal number.


Next: , Previous: , Up: Glibc string.h   [Contents][Index]

13.69.7 sigdescr_np

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Signal-Messages.html.

Gnulib module: sigdescr_np

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note: This function is hardly useful, because it returns English strings, not internationalized strings. Better use the function strsignal, which returns internationalized strings.


Next: , Previous: , Up: Glibc string.h   [Contents][Index]

13.69.8 strcasestr

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-strcasestr.html

Documentation:

Gnulib module: strcasestr or strcasestr-simple

Portability problems fixed by either Gnulib module strcasestr-simple or strcasestr:

Portability problems fixed by Gnulib module strcasestr:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc string.h   [Contents][Index]

13.69.9 strchrnul

Documentation:

Gnulib module: strchrnul

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc string.h   [Contents][Index]

13.69.10 strerrordesc_np

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Error-Messages.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc string.h   [Contents][Index]

13.69.11 strerrorname_np

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Error-Messages.html.

Gnulib module: strerrorname_np

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc string.h   [Contents][Index]

13.69.12 strfry

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc string.h   [Contents][Index]

13.69.13 strsep

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-strsep-3.html

Documentation:

Gnulib module: strsep

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc string.h   [Contents][Index]

13.69.14 strverscmp

Documentation:

Gnulib module: strverscmp

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.70 Glibc <sys/auxv.h>


Up: Glibc sys/auxv.h   [Contents][Index]

13.70.1 getauxval

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.71 Glibc <sys/capability.h>


Next: , Up: Glibc sys/capability.h   [Contents][Index]

13.71.1 capget

Documentation:
man capget

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc sys/capability.h   [Contents][Index]

13.71.2 capset

Documentation:
man capset

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.72 Glibc <sys/epoll.h>


Next: , Up: Glibc sys/epoll.h   [Contents][Index]

13.72.1 epoll_create

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-epoll-create-1.html

Documentation:
man epoll_create

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/epoll.h   [Contents][Index]

13.72.2 epoll_create1

Documentation:
man epoll_create1

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/epoll.h   [Contents][Index]

13.72.3 epoll_ctl

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-epoll-ctl-1.html

Documentation:
man epoll_ctl

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/epoll.h   [Contents][Index]

13.72.4 epoll_pwait

Documentation:
man epoll_pwait

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/epoll.h   [Contents][Index]

13.72.5 epoll_pwait2

Documentation:
man epoll_pwait2

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc sys/epoll.h   [Contents][Index]

13.72.6 epoll_wait

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-epoll-wait-1.html

Documentation:
man epoll_wait

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.73 Glibc <sys/eventfd.h>


Next: , Up: Glibc sys/eventfd.h   [Contents][Index]

13.73.1 eventfd

Documentation:
man eventfd

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/eventfd.h   [Contents][Index]

13.73.2 eventfd_read

Documentation:
man eventfd_read

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc sys/eventfd.h   [Contents][Index]

13.73.3 eventfd_write

Documentation:
man eventfd_write

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.74 Glibc <sys/fanotify.h>


Next: , Up: Glibc sys/fanotify.h   [Contents][Index]

13.74.1 fanotify_init

Documentation:
man fanotify_init

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc sys/fanotify.h   [Contents][Index]

13.74.2 fanotify_mark

Documentation:
man fanotify_mark

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.75 Glibc <sys/file.h>


Up: Glibc sys/file.h   [Contents][Index]

13.75.1 flock

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-flock-2.html

Documentation:
man flock

Gnulib module: flock

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.76 Glibc <sys/fsuid.h>


Next: , Up: Glibc sys/fsuid.h   [Contents][Index]

13.76.1 setfsgid

Documentation:
man setfsgid

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc sys/fsuid.h   [Contents][Index]

13.76.2 setfsuid

Documentation:
man setfsuid

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.77 Glibc <sys/gmon.h>


Up: Glibc sys/gmon.h   [Contents][Index]

13.77.1 monstartup

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.78 Glibc <sys/inotify.h>


Next: , Up: Glibc sys/inotify.h   [Contents][Index]

13.78.1 inotify_add_watch

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-inotify-add-watch.html

Documentation:
man inotify_add_watch

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/inotify.h   [Contents][Index]

13.78.2 inotify_init

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-inotify-init.html

Documentation:
man inotify_init

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/inotify.h   [Contents][Index]

13.78.3 inotify_init1

Documentation:
man inotify_init1

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc sys/inotify.h   [Contents][Index]

13.78.4 inotify_rm_watch

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-inotify-rm-watch.html

Documentation:
man inotify_rm_watch

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.79 Glibc <sys/io.h>, <sys/perm.h>


Next: , Up: Glibc sys/io.h and sys/perm.h   [Contents][Index]

13.79.1 ioperm

Documentation:
man ioperm

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc sys/io.h and sys/perm.h   [Contents][Index]

13.79.2 iopl

Documentation:
man iopl

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.80 Glibc <sys/kdaemon.h>


Up: Glibc sys/kdaemon.h   [Contents][Index]

13.80.1 bdflush

Documentation:
man bdflush

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.81 Glibc <sys/klog.h>


Up: Glibc sys/klog.h   [Contents][Index]

13.81.1 klogctl

Documentation:
man klogctl

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.82 Glibc Extensions to <sys/mman.h>


Next: , Up: Glibc sys/mman.h   [Contents][Index]

13.82.1 madvise

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/mman.h   [Contents][Index]

13.82.2 memfd_create

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/mman.h   [Contents][Index]

13.82.3 mincore

Documentation:
man mincore

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/mman.h   [Contents][Index]

13.82.4 mlock2

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/mman.h   [Contents][Index]

13.82.5 mremap

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-mremap.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/mman.h   [Contents][Index]

13.82.6 pkey_alloc

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/mman.h   [Contents][Index]

13.82.7 pkey_free

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/mman.h   [Contents][Index]

13.82.8 pkey_get

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Memory-Protection.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/mman.h   [Contents][Index]

13.82.9 pkey_mprotect

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/mman.h   [Contents][Index]

13.82.10 pkey_set

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Memory-Protection.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/mman.h   [Contents][Index]

13.82.11 process_madvise

Documentation:
man process_madvise

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/mman.h   [Contents][Index]

13.82.12 process_mrelease

Documentation:
https://lwn.net/Articles/864184/

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc sys/mman.h   [Contents][Index]

13.82.13 remap_file_pages

Documentation:
man remap_file_pages

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.83 Glibc <sys/mount.h>


Next: , Up: Glibc sys/mount.h   [Contents][Index]

13.83.1 fsconfig

Documentation:
https://lore.kernel.org/all/159827191245.306468.4903071494263813779.stgit@warthog.procyon.org.uk/

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/mount.h   [Contents][Index]

13.83.2 fsmount

Documentation:
https://lore.kernel.org/all/159827190508.306468.12755090833140558156.stgit@warthog.procyon.org.uk/

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/mount.h   [Contents][Index]

13.83.3 fsopen

Documentation:
https://lore.kernel.org/all/159827190508.306468.12755090833140558156.stgit@warthog.procyon.org.uk/

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/mount.h   [Contents][Index]

13.83.4 fspick

Documentation:
https://lore.kernel.org/all/159827189767.306468.1803062787718957199.stgit@warthog.procyon.org.uk/

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/mount.h   [Contents][Index]

13.83.5 mount

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/mount.h   [Contents][Index]

13.83.6 mount_setattr

Documentation:
man mount_setattr

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/mount.h   [Contents][Index]

13.83.7 move_mount

Documentation:
https://lore.kernel.org/all/159827189025.306468.4916341547843731338.stgit@warthog.procyon.org.uk/

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/mount.h   [Contents][Index]

13.83.8 open_tree

Documentation:
https://lore.kernel.org/all/159827188271.306468.16962617119460123110.stgit@warthog.procyon.org.uk/

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/mount.h   [Contents][Index]

13.83.9 umount

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc sys/mount.h   [Contents][Index]

13.83.10 umount2

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.84 Glibc <sys/personality.h>


Up: Glibc sys/personality.h   [Contents][Index]

13.84.1 personality

Documentation:
man personality

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.85 Glibc <sys/pidfd.h>


Next: , Up: Glibc sys/pidfd.h   [Contents][Index]

13.85.1 pidfd_getfd

Documentation:
man pidfd_getfd

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/pidfd.h   [Contents][Index]

13.85.2 pidfd_getpid

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/pidfd.h   [Contents][Index]

13.85.3 pidfd_open

Documentation:
man pidfd_open

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc sys/pidfd.h   [Contents][Index]

13.85.4 pidfd_send_signal

Documentation:
man pidfd_send_signal

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.86 Glibc <sys/prctl.h>


Up: Glibc sys/prctl.h   [Contents][Index]

13.86.1 prctl

Documentation:
man prctl

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.87 Glibc <sys/profil.h>


Up: Glibc sys/profil.h   [Contents][Index]

13.87.1 sprofil

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.88 Glibc <sys/ptrace.h>


Up: Glibc sys/ptrace.h   [Contents][Index]

13.88.1 ptrace

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-ptrace-1.html

Documentation:
man ptrace

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.89 Glibc <sys/quota.h>


Up: Glibc sys/quota.h   [Contents][Index]

13.89.1 quotactl

Documentation:
man quotactl

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.90 Glibc <sys/random.h>


Up: Glibc sys/random.h   [Contents][Index]

13.90.1 getrandom

Documentation:

Gnulib module: getrandom

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Although this function is intended to produce random data, the data’s security properties may not be appropriate for your application. For example, identical “random” data streams might be produced by rebooted virtual machines. If this is of concern you may need to use additional techniques such as hedging.2

Related modules include getentropy, which has a simpler but more-limited API, and crypto/gc-random, which is likely a better match for code already using the other crypto APIs.


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.91 Glibc <sys/reboot.h>


Up: Glibc sys/reboot.h   [Contents][Index]

13.91.1 reboot

Documentation:
man reboot

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.92 Glibc Extensions to <sys/resource.h>


Up: Glibc sys/resource.h   [Contents][Index]

13.92.1 prlimit

Documentation:
man prlimit

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.93 Glibc Extensions to <sys/sem.h>


Up: Glibc sys/sem.h   [Contents][Index]

13.93.1 semtimedop

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.94 Glibc <sys/sendfile.h>


Up: Glibc sys/sendfile.h   [Contents][Index]

13.94.1 sendfile

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-sendfile.html

Documentation:
man sendfile

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.95 Glibc <sys/signalfd.h>


Up: Glibc sys/signalfd.h   [Contents][Index]

13.95.1 signalfd

Documentation:
man signalfd

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.96 Glibc <sys/single_threaded.h>


Up: Glibc sys/single_threaded.h   [Contents][Index]

13.96.1 __libc_single_threaded

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Single_002dThreaded.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.97 Glibc Extensions to <sys/socket.h>


Next: , Up: Glibc sys/socket.h   [Contents][Index]

13.97.1 isfdtype

Documentation:
man isfdtype

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/socket.h   [Contents][Index]

13.97.2 recvmmsg

Documentation:
man recvmmsg

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc sys/socket.h   [Contents][Index]

13.97.3 sendmmsg

Documentation:
man sendmmsg

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.98 Glibc Extensions to <sys/stat.h>


Next: , Up: Glibc sys/stat.h   [Contents][Index]

13.98.1 getumask

Documentation:

Gnulib module: getumask

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/stat.h   [Contents][Index]

13.98.2 lchmod

Gnulib module: lchmod

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc sys/stat.h   [Contents][Index]

13.98.3 statx

Documentation:
man statx

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.99 Glibc <sys/statfs.h>


Next: , Up: Glibc sys/statfs.h   [Contents][Index]

13.99.1 fstatfs

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-fstatfs-2.html

Documentation:
man fstatfs

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc sys/statfs.h   [Contents][Index]

13.99.2 statfs

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-statfs-2.html

Documentation:
man statfs

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.100 Glibc <sys/swap.h>


Next: , Up: Glibc sys/swap.h   [Contents][Index]

13.100.1 swapoff

Documentation:
man swapoff

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc sys/swap.h   [Contents][Index]

13.100.2 swapon

Documentation:
man swapon

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.101 Glibc <sys/sysctl.h>


Up: Glibc sys/sysctl.h   [Contents][Index]

13.101.1 sysctl

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.102 Glibc <sys/sysinfo.h>


Next: , Up: Glibc sys/sysinfo.h   [Contents][Index]

13.102.1 get_avphys_pages

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/sysinfo.h   [Contents][Index]

13.102.2 get_nprocs

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Gnulib provides the module nproc that performs a similar function but is portable to more systems.


Next: , Previous: , Up: Glibc sys/sysinfo.h   [Contents][Index]

13.102.3 get_nprocs_conf

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/sysinfo.h   [Contents][Index]

13.102.4 get_phys_pages

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc sys/sysinfo.h   [Contents][Index]

13.102.5 sysinfo

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-sysinfo-1.html

Documentation:
man sysinfo

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.103 Glibc <sys/syslog.h>


Up: Glibc sys/syslog.h   [Contents][Index]

13.103.1 vsyslog

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-vsyslog-3.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.104 Glibc <sys/sysmacros.h>


Next: , Up: Glibc sys/sysmacros.h   [Contents][Index]

13.104.1 gnu_dev_major

Documentation:
man gnu_dev_major

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/sysmacros.h   [Contents][Index]

13.104.2 gnu_dev_makedev

Documentation:
man gnu_dev_makedev

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc sys/sysmacros.h   [Contents][Index]

13.104.3 gnu_dev_minor

Documentation:
man gnu_dev_minor

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.105 Glibc Extensions to <sys/time.h>


Next: , Up: Glibc sys/time.h   [Contents][Index]

13.105.1 adjtime

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-adjtime-2.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/time.h   [Contents][Index]

13.105.2 futimes

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-futimes.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/time.h   [Contents][Index]

13.105.3 futimesat

Documentation:
man futimesat

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/time.h   [Contents][Index]

13.105.4 lutimes

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc sys/time.h   [Contents][Index]

13.105.5 settimeofday

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.106 Glibc <sys/timerfd.h>


Next: , Up: Glibc sys/timerfd.h   [Contents][Index]

13.106.1 timerfd_create

Documentation:
man timerfd_create

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/timerfd.h   [Contents][Index]

13.106.2 timerfd_gettime

Documentation:
man timerfd_gettime

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc sys/timerfd.h   [Contents][Index]

13.106.3 timerfd_settime

Documentation:
man timerfd_settime

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.107 Glibc <sys/timex.h>


Next: , Up: Glibc sys/timex.h   [Contents][Index]

13.107.1 adjtimex

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/timex.h   [Contents][Index]

13.107.2 ntp_adjtime

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/timex.h   [Contents][Index]

13.107.3 ntp_gettime

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc sys/timex.h   [Contents][Index]

13.107.4 ntp_gettimex

Documentation:
man ntp_gettimex

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.108 Glibc Extensions to <sys/uio.h>


Next: , Up: Glibc sys/uio.h   [Contents][Index]

13.108.1 preadv

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/uio.h   [Contents][Index]

13.108.2 preadv2

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/uio.h   [Contents][Index]

13.108.3 process_vm_readv

Documentation:
man process_vm_readv

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/uio.h   [Contents][Index]

13.108.4 process_vm_writev

Documentation:
man process_vm_writev

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/uio.h   [Contents][Index]

13.108.5 pwritev

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc sys/uio.h   [Contents][Index]

13.108.6 pwritev2

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.109 Glibc <sys/ustat.h>


Up: Glibc sys/ustat.h   [Contents][Index]

13.109.1 ustat

Documentation:
man ustat

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.110 Glibc <sys/vlimit.h>


Up: Glibc sys/vlimit.h   [Contents][Index]

13.110.1 vlimit

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.111 Glibc Extensions to <sys/wait.h>


Next: , Up: Glibc sys/wait.h   [Contents][Index]

13.111.1 wait3

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc sys/wait.h   [Contents][Index]

13.111.2 wait4

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-wait4-2.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.112 Glibc <sys/xattr.h>


Next: , Up: Glibc sys/xattr.h   [Contents][Index]

13.112.1 fgetxattr

Documentation:
man fgetxattr

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/xattr.h   [Contents][Index]

13.112.2 flistxattr

Documentation:
man flistxattr

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/xattr.h   [Contents][Index]

13.112.3 fremovexattr

Documentation:
man fremovexattr

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/xattr.h   [Contents][Index]

13.112.4 fsetxattr

Documentation:
man fsetxattr

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/xattr.h   [Contents][Index]

13.112.5 getxattr

Documentation:
man getxattr

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/xattr.h   [Contents][Index]

13.112.6 lgetxattr

Documentation:
man lgetxattr

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/xattr.h   [Contents][Index]

13.112.7 listxattr

Documentation:
man listxattr

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/xattr.h   [Contents][Index]

13.112.8 llistxattr

Documentation:
man llistxattr

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/xattr.h   [Contents][Index]

13.112.9 lremovexattr

Documentation:
man lremovexattr

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/xattr.h   [Contents][Index]

13.112.10 lsetxattr

Documentation:
man lsetxattr

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc sys/xattr.h   [Contents][Index]

13.112.11 removexattr

Documentation:
man removexattr

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc sys/xattr.h   [Contents][Index]

13.112.12 setxattr

Documentation:
man setxattr

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.113 Glibc Extensions to <termios.h>


Next: , Up: Glibc termios.h   [Contents][Index]

13.113.1 cfmakeraw

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-cfmakeraw-3.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc termios.h   [Contents][Index]

13.113.2 cfsetspeed

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-cfsetspeed-3.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.114 Glibc Extensions to <time.h>


Next: , Up: Glibc time.h   [Contents][Index]

13.114.1 clock_adjtime

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc time.h   [Contents][Index]

13.114.2 dysize

Documentation:
man dysize

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc time.h   [Contents][Index]

13.114.3 getdate_r

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc time.h   [Contents][Index]

13.114.4 stime

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-stime-2.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc time.h   [Contents][Index]

13.114.5 strptime_l

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc time.h   [Contents][Index]

13.114.6 timelocal

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.115 Glibc <ttyent.h>


Next: , Up: Glibc ttyent.h   [Contents][Index]

13.115.1 endttyent

Documentation:
man endttyent

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc ttyent.h   [Contents][Index]

13.115.2 getttyent

Documentation:
man getttyent

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc ttyent.h   [Contents][Index]

13.115.3 getttynam

Documentation:
man getttynam

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc ttyent.h   [Contents][Index]

13.115.4 setttyent

Documentation:
man setttyent

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.116 Glibc Extensions to <unistd.h>


Next: , Up: Glibc unistd.h   [Contents][Index]

13.116.1 acct

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-acct-3.html

Documentation:
man acct

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc unistd.h   [Contents][Index]

13.116.2 brk

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc unistd.h   [Contents][Index]

13.116.3 chroot

Documentation:
man chroot

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc unistd.h   [Contents][Index]

13.116.4 closefrom

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Opening-and-Closing-Files.html

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Note (quoted from man close): “The [POSIX] standard developers rejected a proposal to add closefrom() to the [POSIX] standard. Because the standard permits implementations to use inherited file descriptors as a means of providing a conforming environment for the child process, it is not possible to standardize an interface that closes arbitrary file descriptors above a certain value while still guaranteeing a conforming environment.”


Next: , Previous: , Up: Glibc unistd.h   [Contents][Index]

13.116.5 close_range

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc unistd.h   [Contents][Index]

13.116.6 copy_file_range

Documentation:

Gnulib module: copy-file-range

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc unistd.h   [Contents][Index]

13.116.7 daemon

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-daemon-3.html

Documentation:
man daemon

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc unistd.h   [Contents][Index]

13.116.8 eaccess

Documentation:
man eaccess

This function is an alias of euidaccess. See euidaccess.


Next: , Previous: , Up: Glibc unistd.h   [Contents][Index]

13.116.9 endusershell

Documentation:
man endusershell

Gnulib module: getusershell

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc unistd.h   [Contents][Index]

13.116.10 euidaccess

Documentation:
man euidaccess

Gnulib module: euidaccess

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

Other problems of this function:


Next: , Previous: , Up: Glibc unistd.h   [Contents][Index]

13.116.11 execveat

Documentation: man execveat.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc unistd.h   [Contents][Index]

13.116.12 execvpe

Documentation:
man execvpe

Gnulib module: execvpe

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc unistd.h   [Contents][Index]

13.116.13 get_current_dir_name

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc unistd.h   [Contents][Index]

13.116.14 getdomainname

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-getdomainname.html

Documentation:

Gnulib module: getdomainname

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc unistd.h   [Contents][Index]

13.116.15 getdtablesize

SUSv2 specification: https://pubs.opengroup.org/onlinepubs/7908799/xsh/getdtablesize.html

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-getdtablesize.html

Documentation:
man getdtablesize

Gnulib module: getdtablesize

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc unistd.h   [Contents][Index]

13.116.16 getpagesize

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-getpagesize.html

Documentation:

Gnulib module: getpagesize

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc unistd.h   [Contents][Index]

13.116.17 getpass

Documentation:

Gnulib module: getpass or getpass-gnu

Portability problems fixed by either Gnulib module getpass or getpass-gnu:

Portability problems fixed by Gnulib module getpass-gnu:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc unistd.h   [Contents][Index]

13.116.18 gettid

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc unistd.h   [Contents][Index]

13.116.19 getusershell

Documentation:
man getusershell

Gnulib module: getusershell

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc unistd.h   [Contents][Index]

13.116.20 group_member

Documentation:
man group_member

Gnulib module: group-member

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc unistd.h   [Contents][Index]

13.116.21 profil

Documentation:
man profil

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc unistd.h   [Contents][Index]

13.116.22 revoke

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc unistd.h   [Contents][Index]

13.116.23 sbrk

Documentation:
man sbrk

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc unistd.h   [Contents][Index]

13.116.24 setlogin

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc unistd.h   [Contents][Index]

13.116.25 setdomainname

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc unistd.h   [Contents][Index]

13.116.26 sethostid

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc unistd.h   [Contents][Index]

13.116.27 sethostname

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-sethostname-2.html

Documentation:

Gnulib module: sethostname

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc unistd.h   [Contents][Index]

13.116.28 setusershell

Documentation:
man setusershell

Gnulib module: getusershell

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc unistd.h   [Contents][Index]

13.116.29 syncfs

Documentation:
man syncfs

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc unistd.h   [Contents][Index]

13.116.30 syscall

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc unistd.h   [Contents][Index]

13.116.31 ttyslot

Documentation:
man ttyslot

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc unistd.h   [Contents][Index]

13.116.32 vhangup

Documentation:
man vhangup

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.117 Glibc <utmp.h>


Next: , Up: Glibc utmp.h   [Contents][Index]

13.117.1 endutent

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-endutent-3.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc utmp.h   [Contents][Index]

13.117.2 getutent

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-getutent-3.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc utmp.h   [Contents][Index]

13.117.3 getutent_r

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-getutent-r-3.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc utmp.h   [Contents][Index]

13.117.4 getutid

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc utmp.h   [Contents][Index]

13.117.5 getutid_r

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc utmp.h   [Contents][Index]

13.117.6 getutline

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc utmp.h   [Contents][Index]

13.117.7 getutline_r

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc utmp.h   [Contents][Index]

13.117.8 pututline

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc utmp.h   [Contents][Index]

13.117.9 setutent

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-setutent-3.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc utmp.h   [Contents][Index]

13.117.10 updwtmp

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc utmp.h   [Contents][Index]

13.117.11 utmpname

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-utmpname-3.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc utmp.h   [Contents][Index]

13.117.12 login

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc utmp.h   [Contents][Index]

13.117.13 login_tty

Documentation:

Gnulib module: login_tty

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.118 Glibc Extensions to <utmpx.h>


Next: , Up: Glibc utmpx.h   [Contents][Index]

13.118.1 getutmp

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc utmpx.h   [Contents][Index]

13.118.2 getutmpx

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc utmpx.h   [Contents][Index]

13.118.3 updwtmpx

Documentation:
man updwtmpx

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc utmpx.h   [Contents][Index]

13.118.4 utmpxname

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc Function Substitutes   [Contents][Index]

13.119 Glibc Extensions to <wchar.h>


Next: , Up: Glibc wchar.h   [Contents][Index]

13.119.1 fgetwc_unlocked

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-fgetwc-unlocked-1.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc wchar.h   [Contents][Index]

13.119.2 fgetws_unlocked

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-fgetws-unlocked-1.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc wchar.h   [Contents][Index]

13.119.3 fputwc_unlocked

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-fputwc-unlocked-1.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc wchar.h   [Contents][Index]

13.119.4 fputws_unlocked

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-fputws-unlocked-1.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc wchar.h   [Contents][Index]

13.119.5 getwc_unlocked

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-getwc-unlocked-1.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc wchar.h   [Contents][Index]

13.119.6 getwchar_unlocked

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-getwchar-unlocked-1.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc wchar.h   [Contents][Index]

13.119.7 putwc_unlocked

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-putwc-unlocked-1.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc wchar.h   [Contents][Index]

13.119.8 putwchar_unlocked

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-putwchar-unlocked-1.html

Documentation:

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc wchar.h   [Contents][Index]

13.119.9 wcschrnul

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Search-Functions.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc wchar.h   [Contents][Index]

13.119.10 wcsftime_l

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc wchar.h   [Contents][Index]

13.119.11 wcstod_l

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc wchar.h   [Contents][Index]

13.119.12 wcstof_l

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc wchar.h   [Contents][Index]

13.119.13 wcstol_l

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc wchar.h   [Contents][Index]

13.119.14 wcstold_l

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc wchar.h   [Contents][Index]

13.119.15 wcstoll_l

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc wchar.h   [Contents][Index]

13.119.16 wcstoq

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-wcstoq.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Parsing-of-Integers.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc wchar.h   [Contents][Index]

13.119.17 wcstoul_l

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc wchar.h   [Contents][Index]

13.119.18 wcstoull_l

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Glibc wchar.h   [Contents][Index]

13.119.19 wcstouq

LSB specification:
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-wcstouq.html

Documentation:
https://www.gnu.org/software/libc/manual/html_node/Parsing-of-Integers.html.

Gnulib module: —

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Previous: , Up: Glibc wchar.h   [Contents][Index]

13.119.20 wmempcpy

Documentation:

Gnulib module: wmempcpy

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:


Next: , Previous: , Up: Top   [Contents][Index]

14 Native Windows Support

There are three ways to create binaries that run on Microsoft Windows:

This chapter deals with the MinGW and MSVC platforms, commonly called “native Windows” platforms. Cygwin, on the other hand, is close enough to POSIX that it can be treated like any other Unix-like platform.


Next: , Up: Native Windows Support   [Contents][Index]

14.1 Libtool and Windows

If you want it to be possible to compile your program for a native Windows platform and you use Libtool, you need to use the win32-dll option of LT_INIT. In other words, put:

LT_INIT([win32-dll])

in your configure.ac. This sets the correct names for the OBJDUMP, DLLTOOL, and AS tools for the build.

If you are building a library, you will also need to pass -no-undefined to make sure Libtool produces a DLL for your library. From a Makefile.am:

libgsasl_la_LDFLAGS += -no-undefined

Next: , Previous: , Up: Native Windows Support   [Contents][Index]

14.2 Large File Support

This module provides support for files 2 GiB and larger, or with device or inode numbers exceeding 32 bits. To this effect, it attempts to ensure that types like off_t and ino_t are 64-bit, at least on the following platforms: glibc, Mac OS X, FreeBSD, NetBSD, OpenBSD, AIX, HP-UX, Solaris, Cygwin, mingw, MSVC.

If the types cannot be made 64-bit, configure issues a warning and proceeds.

This module gives configure an option ‘--disable-largefile’ that suppresses support for large files. This may be useful if the package links to other libraries whose user-facing ABIs still require off_t or most other file-related types to be 32-bit on your platform.

This module also adds to configure an option --enable-year2038, needed on some platforms to access files with timestamps past the year 2038. See Avoiding the year 2038 problem.


Next: , Previous: , Up: Native Windows Support   [Contents][Index]

14.3 Inode numbers on Windows

The module ‘windows-stat-inodes’ ensures that, on native Windows platforms, struct stat contains st_dev, st_ino fields that are able to distinguish different inodes.

Note: Such values can only be provided for most files on the file system. For a few files (such as inaccessible files), st_dev and st_ino are set to 0. Therefore, you should test whether st_dev != 0 && st_ino != 0, before going to make inferences based on the file identity based on st_dev and st_ino.


Next: , Previous: , Up: Native Windows Support   [Contents][Index]

14.4 Precise file timestamps on Windows

The module ‘windows-stat-timespec’ ensures that, on native Windows platforms, struct stat contains st_atim, st_mtim, st_ctim fields of type struct timespec, providing 100 ns resolution for the timestamps of files.

Note: On some types of file systems, the timestamp resolution is limited by the file system. For example, on FAT file systems, st_mtim only has a resolution of 2 seconds. For more details, see https://docs.microsoft.com/en-us/windows/desktop/SysInfo/file-times.


Next: , Previous: , Up: Native Windows Support   [Contents][Index]

14.5 Avoiding the year 2038 problem

The year 2038 problem denotes unpredictable behaviour that will likely occur in the year 2038, for programs that use a 32-bit signed integer ‘time_t’ type that cannot represent timestamps on or after 2038-01-19 03:14:08 UTC. See Year 2038 problem for details.

The Gnulib module ‘year2038’ fixes this problem on some platforms, by making time_t wide enough to represent timestamps after 2038. This has no effect on most current platforms, which have timestamps that are already wide enough. However, ‘year2038’ by default arranges for builds on legacy 32-bit Linux kernels running glibc 2.34 and later to compile with ‘_TIME_BITS=64’ to get wider timestamps. On older platforms that do not support timestamps after the year 2038, ‘year2038’ causes configure to issue a warning but still proceed. On platforms that appear to support post-2038 timestamps but where something prevents this from working, configure fails.

The default behavior of ‘year2038’ can be overridden by using the configure option --disable-year2038, which suppresses support for post-2038 timestamps. This may be useful if the package links to other libraries whose user-facing ABIs still require time_t to be 32-bit on your platform.

The Gnulib module ‘year2038-recommended’ is like ‘year2038’, except it by default rejects platforms where time_t cannot represent timestamps after 2038. If this module is used and a 32-platform cannot support 64-bit time_t, one can still fix the year-2038 problem by using a 64-bit instead of a 32-bit build, as noted in the architecture list below. If all else fails one can configure with --disable-year2038; however, the resulting programs will mishandle timestamps after 2038.

The Gnulib module ‘year2038-recommended’ is designed for packages intended for use on 32-bit platforms after the year 2038. If your package is commonly built on 32-bit platforms that will not be used after the year 2038, you can use the ‘year2038’ module instead, to save builders the trouble of configuring with --disable-year2038.

If the Gnulib module ‘largefile’ is used but neither ‘year2038’ nor ‘year2038-recommended’ is used, configure will have an option --enable-year2038 that causes configure to behave as if ‘year2038’ was used. This is for packages that have long used ‘largefile’ but have not gotten around to upgrading their Gnulib module list to include ‘year2038’ or ‘year2038-recommended’. See Large File Support.

With the ‘year2038-recommended’ module, configure by default should work on the following 32-bit platforms (or 32-bit ABIs in bi-arch systems):

Whereas with ‘year2038-recommended’, configure should by default fail on earlier versions of the abovementioned platforms if a version is listed, and it should also by default fail on all versions of the following older 32-bit platforms or ABIs:

If you use the ‘year2038’ or ‘year2038-recommended’ modules, and configure to support timestamps after the year 2038, your code should not include ‘<utmp.h>’ or ‘<utmpx.h>’ directly, because these include files do not work with 64-bit timestamps if the platform’s time_t was traditionally 32 bits. Your code can instead use the ‘readutmp’ module, which works around this problem.


Next: , Previous: , Up: Native Windows Support   [Contents][Index]

14.6 Windows sockets

One of the portability problems for native Windows are sockets and networking functions.

14.6.1 Getaddrinfo and WINVER

This was written for the getaddrinfo module, but may be applicable to other functions too.

The getaddrinfo function exists in ws2tcpip.h and -lws2_32 on Windows XP. The function declaration is present if WINVER >= 0x0501. Windows 2000 does not have getaddrinfo in its WS2_32.DLL.

Thus, if you want to assume Windows XP or later, you can add AC_DEFINE([WINVER], [0x0501]) to avoid compiling the (partial) getaddrinfo implementation.

If you want to support Windows 2000, don’t do anything. The replacement function will open WS2_32.DLL during run-time to see if there is a getaddrinfo function available, and use it when available.


Next: , Previous: , Up: Native Windows Support   [Contents][Index]

14.7 Native Windows Support without MSVC Support

If your package does not desire to have MSVC support, that is, if MinGW shall be the only native Windows platform that you wish to get support for from Gnulib, and you wish to minimize the number of files imported from Gnulib accordingly, you can do so by passing the options ‘--avoid=msvc-inval --avoid=msvc-nothrow’ to gnulib-tool.


Previous: , Up: Native Windows Support   [Contents][Index]

14.8 Visual Studio Compatibility

The lib-msvc-compat module detects whether the linker supports --output-def when building a library. That parameter is used to generate a DEF file for a shared library (DLL). DEF files are useful for developers that use Visual Studio to develop programs that links to your library. See the GNU LD manual for more information.

There are other ways to create a DEF file, but we believe they are all sub-optimal to using --output-def during the build process. The variants we have considered include:

If you are using libtool to build your shared library, here is how to use this module. Import lib-msvc-compat to your project, and then add the following lines to the Makefile.am that builds the library:

if HAVE_LD_OUTPUT_DEF
libfoo_la_LDFLAGS += -Wl,--output-def,libfoo-$(DLL_VERSION).def
libfoo-$(DLL_VERSION).def: libfoo.la
defexecdir = $(libdir)
defexec_DATA = libfoo-$(DLL_VERSION).def
DISTCLEANFILES += $(defexec_DATA)
endif

The DLL_VERSION variable needs to be defined. It should be the shared library version number used in the DLL filename. For Windows targets you compute this value from the values you pass to Libtool’s -version-info. Assuming you have variables LT_CURRENT and LT_AGE defined for the CURRENT and AGE libtool version integers, you compute DLL_VERSION as follows:

DLL_VERSION=`expr ${LT_CURRENT} - ${LT_AGE}`
AC_SUBST(DLL_VERSION)

Next: , Previous: , Up: Top   [Contents][Index]

15 Multithreading

Multithreading is a programming paradigm. In a multithreaded program, multiple threads execute concurrently (or quasi concurrently) at different places in the program.

There are three motivations for using multithreading in a program:

A multithreading API offers

Note: Programs that achieve multithreading through OpenMP (cf. the gnulib module ‘openmp’) don’t create and manage their threads themselves. Nevertheless, they need to use mutexes/locks in many cases.


Next: , Up: Multithreading   [Contents][Index]

15.1 The three multithreading APIs

Three multithreading APIs are available to Gnulib users:

They are supported on all platforms that have multithreading in one form or the other. Currently, these are all platforms supported by Gnulib, except for Minix.

The main differences are:


Next: , Previous: , Up: Multithreading   [Contents][Index]

15.2 Choosing the right multithreading API

Here are guidelines for determining which multithreading API is best for your code.

In programs that use advanced POSIX APIs, such as detached threads (pthread_detach), signal blocking (pthread_sigmask), priorities (pthread_setschedparam), processor affinity (pthread_setaffinity_np), it is best to use the POSIX API. This is because you cannot convert an ISO C thrd_t or a Gnulib gl_thread_t to a POSIX pthread_t.

In code that is shared with glibc, it is best to use the POSIX API as well.

In libraries, it is best to use the Gnulib API. This is because it gives the person who builds the library an option ‘--enable-threads={isoc,posix,windows}’, that determines on which native multithreading API of the platform to rely. In other words, with this choice, you can minimize the amount of glue code that your library needs to contain.

In the other cases, the POSIX API and the Gnulib API are equally well suited.

The ISO C API is never the best choice, as of this writing (2020).


Next: , Previous: , Up: Multithreading   [Contents][Index]

15.3 The POSIX multithreading API

The POSIX multithreading API is documented in POSIX https://pubs.opengroup.org/onlinepubs/9799919799/.

To make use of POSIX multithreading, even on platforms that don’t support it natively (most prominently, native Windows), use the following Gnulib modules:

PurposeModule
For thread creation and management: pthread-thread
For simple and recursive locks: pthread-mutex
For read-write locks: pthread-rwlock
For once-only execution: pthread-once
For “condition variables” (wait queues): pthread-cond
For thread-local storage: pthread-tss
For relinquishing control: sched_yield
For spin locks: pthread-spin

There is also a convenience module named pthread which depends on all of these (except sched_yield); so you don’t need to enumerate these modules one by one.


Next: , Previous: , Up: Multithreading   [Contents][Index]

15.4 The ISO C multithreading API

The ISO C multithreading API is documented in ISO C 11 https://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf.

To make use of ISO C multithreading, even on platforms that don’t support it or have severe bugs, use the following Gnulib modules:

PurposeModule
For thread creation and management: thrd
For simple locks, recursive locks, and read-write locks: mtx
For once-only execution: mtx
For “condition variables” (wait queues): cnd
For thread-local storage: tss

There is also a convenience module named threads which depends on all of these; so you don’t need to enumerate these modules one by one.


Next: , Previous: , Up: Multithreading   [Contents][Index]

15.5 The Gnulib multithreading API

The Gnulib multithreading API is documented in the respective include files:

To make use of Gnulib multithreading, use the following Gnulib modules:

PurposeModule
For thread creation and management: thread
For simple locks, recursive locks, and read-write locks: lock
For once-only execution: once
For “condition variables” (wait queues): cond
For thread-local storage: tls
For relinquishing control: yield
For spin locks: spin

The Gnulib multithreading supports a configure option ‘--enable-threads={isoc,posix,windows}’, that chooses the underlying thread implementation. Currently (2020):


Previous: , Up: Multithreading   [Contents][Index]

15.6 Optimizations of multithreaded code

Despite all the optimizations of multithreading primitives that have been implemented over the years – from atomic operations in hardware, over futexes and restartable sequences in the Linux kernel, to lock elision [1] [2]) – single-threaded programs can still profit performance-wise from the assertion that they are single-threaded.

Gnulib defines four facilities that help optimizing for the single-threaded case.


Next: , Previous: , Up: Top   [Contents][Index]

16 Strings and Characters

This chapter describes the APIs for strings and characters, provided by Gnulib.


Next: , Up: Strings and Characters   [Contents][Index]

16.1 Strings

Several possible representations exist for the representation of strings in memory of a running C program.


Next: , Up: Strings   [Contents][Index]

16.1.1 The C string representation

The classical representation of a string in C is a sequence of characters, where each character takes up one or more bytes, followed by a terminating NUL byte. This representation is used for strings that are passed by the operating system (in the argv argument of main, for example) and for strings that are passed to the operating system (in system calls such as open). The C type to hold such strings is ‘char *’ or, in places where the string shall not be modified, ‘const char *’. There are many C library functions, standardized by ISO C and POSIX, that assume this representation of strings.

A character encoding, or encoding for short, describes how the elements of a character set are represented as a sequence of bytes. For example, in the ASCII encoding, the UNDERSCORE character is represented by a single byte, with value 0x5F. As another example, the COPYRIGHT SIGN character is represented:

Note: The ‘char’ type may be signed or unsigned, depending on the platform. When we talk about the "byte 0xA9" we actually mean the char object whose value is (char) 0xA9; we omit the cast to char in this documentation, for brevity.

In POSIX, the character encoding is determined by the locale. The locale is some environmental attribute that the user can choose.

Depending on the encoding, in general, every character is represented by one or more bytes (up to 4 bytes in practice – but use MB_LEN_MAX instead of the number 4 in the code). When every character is represented by only 1 byte, we speak of an “unibyte locale”, otherwise of a “multibyte locale”.

It is important to realize that the majority of Unix installations nowadays use UTF-8 as locale encoding; therefore, the majority of users are using multibyte locales.

Three important facts to remember are:

A ‘char’ is a byte, not a character.

As a consequence:

Multibyte does not imply UTF-8 encoding.

While UTF-8 is the most common multibyte encoding, GB18030 is also a supported locale encoding on GNU systems (mostly because it is a Chinese government standard, last revised in 2022).

Searching for a character in a string is not the same as searching for a byte in the string.

Take the above example of COPYRIGHT SIGN in the GB18030 encoding: A byte search will find the bytes '0' and '8' in this string. But a search for the character "0" or "8" in the string "©" must, of course, report “not found”.

As a consequence:

Workarounds can be found in Gnulib, in the form of mbs* API functions:

A C string can contain encoding errors.

Not every NUL-terminated byte sequence represents a valid multibyte string. Byte sequences can contain encoding errors, that is, bytes or byte sequences that are invalid and do not represent characters.

String functions like mbscasecmp and strcoll whose behavior depends on encoding have unspecified behavior on strings containing encoding errors, unless the behavior is specifically documented. If an application needs a particular behavior on these strings it can iterate through them itself, as described in the next subsection.


Next: , Previous: , Up: Strings   [Contents][Index]

16.1.2 Iterating through strings

For complex string processing, string functions may not be enough, and you need to iterate through a string while processing each (possibly multibyte) character or encoding error in turn. Gnulib has several modules for iterating forward through a string in this way. Backward iteration, that is, from the string’s end to start, is not provided, as it is too hairy in general.

The choice of modules depends on the application’s needs. The mbiter module family is more suitable for applications that treat some sequences of two or more bytes as a single encoding error, and for applications that need to support obsolescent encodings on non-GNU platforms, such as CP864, EBCDIC, Johab, and Shift JIS. In this module family, mbuiter and mbuiterf are more suitable than mbiter and mbiterf when arguments are C strings, lengths are not already known, and it is highly likely that only the first few multibyte characters need to be inspected.

The mcel module is simpler and can be faster than the mbiter family, and is more suitable for applications that do not need the mbiter family’s special features.

The mcel-prefer module is like mcel except that it also causes some other modules, such as mbscasecmp, to use mcel rather than the mbiter family. This can be simpler and faster. However, it does not support the obsolescent encodings, and it may behave differently on data containing encoding errors where behavior is unspecified or undefined, because in mcel each encoding error is a single byte whereas in the mbiter family a single encoding error can contain two or more bytes.

If a package uses mcel-prefer, it may also want to give gnulib-tool one or more of the options --avoid=mbiter, --avoid=mbiterf, --avoid=mbuiter and --avoid=mbuiterf, to avoid packaging modules that are not needed.


Next: , Previous: , Up: Strings   [Contents][Index]

16.1.3 Strings with NUL characters

The GNU Coding Standards, section https://www.gnu.org/prep/standards/html_node/Semantics.html, specifies:

Utilities reading files should not drop NUL characters, or any other nonprinting characters.

When it is a requirement to store NUL characters in strings, a variant of the C strings is needed. Gnulib offers a “string descriptor” type for this purpose. See Handling strings with NUL characters.

All remarks regarding encodings and multibyte characters in the previous section apply to string descriptors as well.


Next: , Previous: , Up: Strings   [Contents][Index]

16.1.4 Character and String Functions in C Locale

The functions in this section are similar to the generic string functions from the standard C library, except that

The functions are provided by the following modules.


Next: , Up: String Functions in C Locale   [Contents][Index]

16.1.4.1 c-ctype

The c-ctype module contains functions operating on single-byte characters, like the functions in <ctype.h>, that operate as if the locale encoding was ASCII. (The "C" locale on many systems has the locale encoding "ASCII".)

The functions are:

extern bool c_isascii (int c);

extern bool c_isalnum (int c);
extern bool c_isalpha (int c);
extern bool c_isblank (int c);
extern bool c_iscntrl (int c);
extern bool c_isdigit (int c);
extern bool c_islower (int c);
extern bool c_isgraph (int c);
extern bool c_isprint (int c);
extern bool c_ispunct (int c);
extern bool c_isspace (int c);
extern bool c_isupper (int c);
extern bool c_isxdigit (int c);

extern int c_tolower (int c);
extern int c_toupper (int c);

These functions assign properties only to ASCII characters.

The c argument can be a char or unsigned char value, whereas the corresponding functions in <ctype.h> take an argument that is actually an unsigned char value.

The c_is* functions return ‘bool’, where the corresponding functions in <ctype.h> return ‘int’ for historical reasons.

Note: The <ctype.h> functions support only unibyte locales.


Next: , Previous: , Up: String Functions in C Locale   [Contents][Index]

16.1.4.2 c-strcaseeq

The c-strcaseeq module contains an optimized case-insensitive string comparison function operating on single-byte character strings, that operate as if the locale encoding was ASCII. (The "C" locale on many systems has the locale encoding "ASCII".)

The functions is actually implemented as a macro:

extern int STRCASEEQ (const char *s1, const char *s2,
                      int s20, int s21, int s22, int s23, int s24, int s25,
                      int s26, int s27, int s28);

s2 should be a short literal ASCII string, and s20, s21, ... the individual characters of s2.

For case conversion here, only ASCII characters are considered to be upper case or lower case.


Next: , Previous: , Up: String Functions in C Locale   [Contents][Index]

16.1.4.3 c-strcasecmp

The c-strcasecmp module contains a case-insensitive string comparison function operating on single-byte character strings, like the functions in <strings.h>, that operate as if the locale encoding was ASCII. (The "C" locale on many systems has the locale encoding "ASCII".)

The function is:

extern int c_strcasecmp (const char *s1, const char *s2);

For case conversion here, only ASCII characters are considered to be upper case or lower case.

Note: The function strcasecmp from <strings.h> supports only unibyte locales; for multibyte locales, you need the function mbscasecmp.


Next: , Previous: , Up: String Functions in C Locale   [Contents][Index]

16.1.4.4 c-strncasecmp

The c-strncasecmp module contains a case-insensitive string comparison function operating on single-byte character strings, like the functions in <strings.h>, that operate as if the locale encoding was ASCII. (The "C" locale on many systems has the locale encoding "ASCII".)

The function is:

extern int c_strncasecmp (const char *s1, const char *s2, size_t n);

For case conversion here, only ASCII characters are considered to be upper case or lower case.

Note: The function strncasecmp from <strings.h> supports only unibyte locales; for multibyte locales, you need the function mbsncasecmp or mbspcasecmp.


Next: , Previous: , Up: String Functions in C Locale   [Contents][Index]

16.1.4.5 c-strcasestr

The c-strcasestr module contains a case-insensitive string search function operating on single-byte character strings, that operate as if the locale encoding was ASCII. (The "C" locale on many systems has the locale encoding "ASCII".)

The function is:

extern char *c_strcasestr (const char *haystack, const char *needle);

For case conversion here, only ASCII characters are considered to be upper case or lower case.

Note: The function strcasestr from <string.h> supports only unibyte locales; for multibyte locales, you need the function mbscasestr.


Next: , Previous: , Up: String Functions in C Locale   [Contents][Index]

16.1.4.6 c-strstr

The c-strstr module contains a substring search function operating on single-byte character strings, that operate as if the locale encoding was ASCII. (The "C" locale on many systems has the locale encoding "ASCII".)

The function is:

extern char *c_strstr (const char *haystack, const char *needle);

Note: The function strstr from <string.h> supports only unibyte locales; for multibyte locales, you need the function mbsstr.


Next: , Previous: , Up: String Functions in C Locale   [Contents][Index]

16.1.4.7 c-strtod

The c-strtod module contains a string to number (‘double’) conversion function operating on single-byte character strings, that operates as if the locale encoding was ASCII. (The "C" locale on many systems has the locale encoding "ASCII".)

The function is:

extern double c_strtod (const char *string, char **endp);

In particular, only a period ‘.’ is accepted as decimal point, even when the current locale’s notion of decimal point is a comma ‘,’, and no characters outside the basic character set are accepted.

On platforms without strtod_l, this function is not safe for use in multi-threaded applications since it calls setlocale.


Previous: , Up: String Functions in C Locale   [Contents][Index]

16.1.4.8 c-strtold

The c-strtold module contains a string to number (‘long double’) conversion function operating on single-byte character strings, that operates as if the locale encoding was ASCII. (The "C" locale on many systems has the locale encoding "ASCII".)

The function is:

extern long double c_strtold (const char *string, char **endp);

In particular, only a period ‘.’ is accepted as decimal point, even when the current locale’s notion of decimal point is a comma ‘,’.


Previous: , Up: Strings   [Contents][Index]

16.1.5 Comparison of string APIs

This table summarizes the API functions available for strings, in POSIX and in Gnulib.

unibyte strings onlyassume C localemultibyte stringsmultibyte strings with NULswide character strings32-bit wide character strings
strlenstrlenmbslensd_lengthwcslenu32_strlen
strnlenstrnlenmbsnlenwcsnlenu32_strnlen, u32_mbsnlen
strcmpstrcmpstrcmpsd_cmpwcscmpu32_strcmp
strncmpstrncmpstrncmpwcsncmpu32_strncmp
strcasecmpstrcasecmpmbscasecmpwcscasecmpu32_casecmp
strncasecmpstrncasecmpmbsncasecmp, mbspcasecmpwcsncasecmpu32_casecmp
strcollstrcmpstrcollwcscollu32_strcoll
strxfrmstrxfrmwcsxfrm
strchrstrchrmbschrsd_indexwcschru32_strchr
strrchrstrrchrmbsrchrsd_last_indexwcsrchru32_strrchr
strstrstrstrmbsstrsd_containswcsstru32_strstr
strcasestrstrcasestrmbscasestr
str_startswithstr_startswithmbs_startswithsd_startswithu32_startswith
str_endswithstr_endswithmbs_endswithsd_endswithu32_endswith
strspnstrspnmbsspnwcsspnu32_strspn
strcspnstrcspnmbscspnwcscspnu32_strcspn
strpbrkstrpbrkmbspbrkwcspbrku32_strpbrk
strtok_rstrtok_rmbstok_rwcstoku32_strtok
strsepstrsepmbssep
strcpystrcpystrcpysd_copywcscpyu32_strcpy
stpcpystpcpystpcpywcpcpyu32_stpcpy
strncpystrncpystrncpywcsncpyu32_strncpy
stpncpystpncpystpncpywcpncpyu32_stpncpy
strcatstrcatstrcatsd_concatwcscatu32_strcat
strncatstrncatstrncatwcsncatu32_strncat
freefreefreesd_freefreefree
strdupstrdupstrdupsd_copywcsdupu32_strdup
strndupstrndupstrndup
mbswidthmbswidthmbswidthwcswidthc32swidth, u32_strwidth
strtolstrtolstrtol
strtoulstrtoulstrtoul
strtollstrtollstrtoll
strtoullstrtoullstrtoull
strtoimaxstrtoimaxstrtoimaxwcstoimax
strtoumaxstrtoumaxstrtoumaxwcstoumax
strtofstrtof
strtodc_strtodstrtod
strtoldc_strtoldstrtold
strfromfstrfromf
strfromdstrfromd
strfromlstrfroml
mbstowcsmbstoc32s
mbsrtowcsmbsrtoc32s
mbsnrtowcsmbsnrtoc32s
wcstombsc32stombs
wcsrtombsc32srtombs
wcsnrtombsc32snrtombs

Previous: , Up: Strings and Characters   [Contents][Index]

16.2 Characters

A character is the elementary unit that strings are made of.

What is a character? “A character is an element of a character set” is sort of a circular definition, but it highlights the fact that it is not merely a number. Although many characters are visually represented by a single glyph, there are characters that, for example, have a different glyph when used at the end of a word than when used inside a word. A character is also not the minimal rendered text processing unit; that is a grapheme cluster and in general consists of one or more characters. If you want to know more about the concept of character and various concepts associated with characters, refer to the Unicode standard.

For the representation in memory of a character, various types have been in use, and some of them were failures: char and wchar_t were invented for this purpose, but are not the right types. char32_t is the right type (successor of wchar_t); and mbchar_t (defined by Gnulib) is an alternative for specific kinds of processing.


Next: , Up: Characters   [Contents][Index]

16.2.1 The char type

The char type is in the C language since the beginning in the 1970ies, but – due to its limitation of 256 possible values – is no longer the adequate type for storing a character.

Technically, it is still adequate in unibyte locales. But since most locales nowadays are multibyte locales, it makes no sense to write a program that runs only in unibyte locales.

ISO C and POSIX standardized an API for characters of type char, in <ctype.h>. This API is nowadays useless and obsolete, when it comes to general text processing.

The important lessons to remember are:

A ‘char’ is just the elementary storage unit for a string, not a character.

Never use <ctype.h>!


Next: , Previous: , Up: Characters   [Contents][Index]

16.2.2 The wchar_t type

The ISO C and POSIX standard creators made an attempt to overcome the dead end regarding the char type. They introduced

Unfortunately, this API and its implementation has numerous problems:

As a consequence, it is better to use multibyte strings. Such multibyte strings can bypass limitations of the wchar_t type, if you use functions defined in Gnulib and GNU libunistring for text processing. They can also faithfully transport malformed characters that were present in the input, without requiring the program to produce garbage or abort.


Next: , Previous: , Up: Characters   [Contents][Index]

16.2.3 The char32_t type

The ISO C and POSIX standard creators then introduced the char32_t type. In ISO C 11, it was conceptually a “32-bit wide character” type. In ISO C 23, its semantics has been further specified: A char32_t value is a Unicode code point.

Thus, the char32_t type is not affected the problems that plague the wchar_t type.

The char32_t type and its API are defined in the <uchar.h> header file.

ISO C and POSIX specify only the basic functions for the char32_t type, namely conversion of a single character (mbrtoc32 and c32rtomb). For convenience, Gnulib adds API for classification and case conversion of characters.

GNU libunistring can also be used on char32_t values. Since char32_t is the same as uint32_t, all u32_* functions of GNU libunistring are applicable to arrays of char32_t values.

On glibc systems, use of the 32-bit wide strings (char32_t[]) is exactly as efficient as the use of the older wide strings (wchar_t[]). This is possible because on glibc, wchar_t values already always were 32-bit and Unicode code points. mbrtoc32 is just an alias of mbrtowc. The Gnulib *c32* functions are optimized so that on glibc systems they immediately redirect to the corresponding *wc* functions.

Gnulib implements the ISO C 23 semantics of char32_t when you import the ‘uchar-h-c23’ module. Without this module, it implements only the ISO C 11 semantics; the effect is that on some platforms (macOS, FreeBSD, NetBSD, Solaris) a char32_t value is the same as a wchar_t value, not a Unicode code point. Thus, when you want to pass char32_t values to GNU libunistring or to some Unicode centric Gnulib functions, you need the ‘uchar-h-c23’ module in order to do so without portability problems.


Next: , Previous: , Up: Characters   [Contents][Index]

16.2.4 The mbchar_t type

Gnulib defines an alternate way to encode a multibyte character: mbchar_t. Its main feature is the ability to process a string or stream with some malformed characters without reporting an error.

The type mbchar_t, defined in "mbchar.h", holds a character in both the multibyte and the 32-bit wide character representation. In case of a malformed character only the multibyte representation is used.


Up: The mbchar_t type   [Contents][Index]

16.2.4.1 Reading multibyte strings

If you want to process (possibly multibyte) characters while reading them from a FILE * stream, without reading them into a string first, the mbfile module is made for this purpose.


Previous: , Up: Characters   [Contents][Index]

16.2.5 Comparison of character APIs

This table summarizes the API functions available for characters, in POSIX and in Gnulib.

unibyte characterassume C localewide character32-bit wide charactermbchar_t character
== '\0'== '\0'== L'\0'== 0mb_isnul
========mb_equal
isalnumc_isalnumiswalnumc32isalnummb_isalnum
isalphac_isalphaiswalphac32isalphamb_isalpha
isblankc_isblankiswblankc32isblankmb_isblank
iscntrlc_iscntrliswcntrlc32iscntrlmb_iscntrl
isdigitc_isdigitiswdigitc32isdigitmb_isdigit
isgraphc_isgraphiswgraphc32isgraphmb_isgraph
islowerc_isloweriswlowerc32islowermb_islower
isprintc_isprintiswprintc32isprintmb_isprint
ispunctc_ispunctiswpunctc32ispunctmb_ispunct
isspacec_isspaceiswspacec32isspacemb_isspace
isupperc_isupperiswupperc32isuppermb_isupper
isxdigitc_isxdigitiswxdigitc32isxdigitmb_isxdigit
wctypec32_get_type_test
iswctypec32_apply_type_test
tolowerc_tolowertowlowerc32tolower
toupperc_touppertowupperc32toupper
wctransc32_get_mapping
towctransc32_apply_mapping
wcwidthc32widthmb_width

Next: , Previous: , Up: Top   [Contents][Index]

17 Particular Modules


Next: , Up: Particular Modules   [Contents][Index]

17.1 alloca

The alloca module provides for a function alloca which allocates memory on the stack, where the system allows it. A memory block allocated with alloca exists only until the function that calls alloca returns or exits abruptly.

There are a few systems where this is not possible: HP-UX systems, and some other platforms when the C++ compiler is used. On these platforms the alloca module provides a malloc based emulation. This emulation will not free a memory block immediately when the calling function returns, but rather will wait until the next alloca call from a function with the same or a shorter stack length. Thus, in some cases, a few memory blocks will be kept although they are not needed any more.

The user can #include <alloca.h> and use alloca on all platforms. Note that the #include <alloca.h> must be the first one after the autoconf-generated config.h, for AIX 3 compatibility. Thanks to IBM for this nice restriction!

Note that GCC 3.1 and 3.2 can inline functions that call alloca. When this happens, the memory blocks allocated with alloca will not be freed until the end of the calling function. If this calling function runs a loop calling the function that uses alloca, the program easily gets a stack overflow and crashes. To protect against this compiler behaviour, you can mark the function that uses alloca with the following attribute:

#ifdef __GNUC__
__attribute__ ((__noinline__))
#endif

An alternative to this module is the ‘alloca-opt’ module.


Next: , Previous: , Up: Particular Modules   [Contents][Index]

17.2 alloca-opt

The alloca-opt module provides for a function alloca which allocates memory on the stack, where the system allows it. A memory block allocated with alloca exists only until the function that calls alloca returns or exits abruptly.

There are a few systems where this is not possible: HP-UX systems, and some other platforms when the C++ compiler is used. On these platforms the alloca-opt module provides no replacement, just a preprocessor macro HAVE_ALLOCA.

The user can #include <alloca.h> on all platforms, and use alloca on those platforms where the preprocessor macro HAVE_ALLOCA evaluates to true. If HAVE_ALLOCA is false, the code should use a heap-based memory allocation based on malloc or (in C++) new. Note that the #include <alloca.h> must be the first one after the autoconf-generated config.h, for AIX 3 compatibility. Thanks to IBM for this nice restriction!

Note that GCC 3.1 and 3.2 can inline functions that call alloca. When this happens, the memory blocks allocated with alloca will not be freed until the end of the calling function. If this calling function runs a loop calling the function that uses alloca, the program easily gets a stack overflow and crashes. To protect against this compiler behaviour, you can mark the function that uses alloca with the following attribute:

#ifdef __GNUC__
__attribute__ ((__noinline__))
#endif

Next: , Previous: , Up: Particular Modules   [Contents][Index]

17.3 Safe Allocation Macros

The standard C library malloc/realloc/calloc/free APIs are prone to a number of common coding errors. The safe-alloc module provides macros that make it easier to avoid many of them. It still uses the standard C allocation functions behind the scenes.

This module is obsolete, as it does not seem to have caught on in practice and some of its features could not be ported to unusual platforms.

Some of the memory allocation mistakes that are commonly made are

The safe-alloc module addresses these problems in the following way:

Macro: int ALLOC (ptr)

Allocate sizeof *ptr bytes of memory and store the address of allocated memory in ptr. Fill the newly allocated memory with zeros.

Returns -1 on failure, 0 on success.

Macro: int ALLOC_N (ptr, count)

Allocate an array of count elements, each sizeof *ptr bytes long, and store the address of allocated memory in ptr. Fill the newly allocated memory with zeros.

Returns -1 on failure, 0 on success.

Macro: int ALLOC_N_UNINITIALIZED (ptr, count)

Allocate an array of count elements, each sizeof *ptr bytes long, and store the address of allocated memory in ptr. The allocated memory is not initialized.

Returns -1 on failure, 0 on success.

Macro: void FREE (ptr)

Free the memory stored in ptr and set ptr to NULL.


Next: , Previous: , Up: Particular Modules   [Contents][Index]

17.4 Attributes

The module ‘attribute’ provides a header file attribute.h that defines macros related to C and C++ attributes and the GCC __attribute__ keyword.

Here is an example of its use:

#include <attribute.h>

NODISCARD
extern char *crypt (char const *, char const *)
  ATTRIBUTE_NOTHROW ATTRIBUTE_LEAF ATTRIBUTE_NONNULL ((1, 2));

NODISCARD expands to [[nodiscard]] if the compiler supports this C23 syntax, otherwise to __attribute__ ((__warn_unused_result__)) if the compiler is a recent-enough GCC or GCC-like compiler, otherwise to nothing. ATTRIBUTE_NOTHROW expands to __attribute__ ((__nothrow__)) if the compiler is a recent-enough GCC or GCC-like compiler, and to nothing otherwise. Similarly for ATTRIBUTE_LEAF. ATTRIBUTE_NONNULL ((1, 2)) expands to __attribute__ ((__nonnull__ (1, 2))) if the compiler is recent-enough GCC, and to nothing otherwise.

Most of these attribute names begin with ATTRIBUTE_. A few do not, because they are part of C23 and their names are not likely to clash with other macro names. These macros are DEPRECATED, FALLTHROUGH, MAYBE_UNUSED, and NODISCARD, which can be defined to [[deprecated]] etc. on C23 platforms. Also, these exceptional macros should be placed at the start of function declarations, whereas the ATTRIBUTE_* macros can be placed at the end.

The module also defines the macro UNNAMED, designed for function parameters that are never used, whereas the MAYBE_UNUSED attribute is better suited for parameters that might or might not be unused depending on preprocessor macro settings. For example:

int
f (int a, MAYBE_UNUSED int b, int UNNAMED (c))
{
  int r = a;
#ifdef B_FEATURE
  r |= b;
#endif
  return r;
}

Next: , Previous: , Up: Particular Modules   [Contents][Index]

17.5 Compile-time Assertions

The module ‘verify’ provides a header file verify.h that defines macros related to compile-time verification.

Two of these macros are verify (V) and verify_expr (V, EXPR). Both accept an integer constant expression argument V and verify that it is nonzero. If not, a compile-time error results.

These two macros implement compile-time tests, as opposed to the standard assert macro which supports only runtime tests. Since the tests occur at compile-time, they are more reliable, and they require no runtime overhead.

verify (V); is a declaration; it can occur outside of functions. In contrast, verify_expr (V, EXPR) is an expression that returns the value of EXPR; it can be used in macros that expand to expressions. If EXPR is an integer constant expression, then verify_expr (V, EXPR) is also an integer constant expression. Although EXPR and verify_expr (V, EXPR) are guaranteed to have the same side effects and value and type (after integer promotion), they need not have the same type if EXPR’s type is an integer that is narrower than int or unsigned int.

V should be an integer constant expression in the sense of the C standard. Its leaf operands should be integer, enumeration, or character constants; or sizeof expressions that return constants; or floating constants that are the immediate operands of casts. Outside a sizeof subexpression, V should not contain any assignments, function calls, comma operators, casts to non-integer types, or subexpressions whose values are outside the representable ranges for their types. If V is not an integer constant expression, then a compiler might reject a usage like ‘verify (V);’ even when V is nonzero.

Although the standard assert macro is a runtime test, C23 and C++17 specify a builtin static_assert (V), which differs from verify in two major ways. First, it can also be used within a struct or union specifier, in place of an ordinary member declaration. Second, it allows the programmer to specify, as an optional second argument, a compile-time diagnostic as a string literal. If your program is not intended to be portable to compilers that lack C23 or C++17 static_assert, the only advantage of verify is that its name is a bit shorter.

The verify.h header defines one more macro, assume (E), which expands to an expression of type void that causes the compiler to assume that E yields a nonzero value. E should be a scalar expression, and should not have side effects; it may or may not be evaluated. The behavior is undefined if E would yield zero. The main use of assume is optimization, as the compiler may be able to generate better code if it assumes E. For best results, E should be simple enough that a compiler can determine that it has no side effects: if E calls an external function or accesses volatile storage the compiler may not be able to optimize E away and assume (E) may therefore slow down the program.

Here are some example uses of these macros.

#include <verify.h>

#include <limits.h>
#include <time.h>

/* Verify that time_t is an integer type.  */
verify ((time_t) 1.5 == 1);

/* Verify that time_t is no smaller than int.  */
verify (sizeof (int) <= sizeof (time_t));

/* Verify that time_t is signed.  */
verify ((time_t) -1 < 0);

/* Verify that time_t uses two's complement representation.  */
verify (~ (time_t) -1 == 0);

/* Return the maximum value of the integer type T,
   verifying that T is an unsigned integer type.
   The cast to (T) is outside the call to verify_expr
   so that the result is of type T
   even when T is narrower than unsigned int.  */
#define MAX_UNSIGNED_VAL(t) \
   ((t) verify_expr (0 < (t) -1, -1))

/* Return T divided by CHAR_MAX + 1, where behavior is
   undefined if T < 0.  In the common case where CHAR_MAX
   is 127 the compiler can therefore implement the division
   by shifting T right 7 bits, an optimization that would
   not be valid if T were negative.  */
time_t
time_index (time_t t)
{
  assume (0 <= t);
  return t / (CHAR_MAX + 1);
}

Next: , Previous: , Up: Particular Modules   [Contents][Index]

17.6 Non-returning Functions

A "non-returning" function is a function which cannot return normally. Instead of returning, it can loop forever, or it can transfer control via abort, execvp, exit, longjmp, throw (in C++), or similar mechanisms. Non-returning functions are declared with a void return type.

It helps the compiler’s ability to emit sensible warnings, following data-flow analysis, to declare which functions are non-returning. It can also help generate more-efficient code, as there is no need to save a return address when calling a non-returning function.

Gnulib has multiple ways to support such a declaration:

Which of the approaches to use? If the non-returning functions you have to declare are unlikely to be accessed through function pointers, you should use _Noreturn; otherwise the module noreturn provides for better data-flow analysis and thus for better warnings.

There is also an obsolete stdnoreturn-h module, but its use is no longer recommended.


Next: , Previous: , Up: Particular Modules   [Contents][Index]

17.7 Integer Properties

The intprops module consists of an include file <intprops.h> that defines several macros useful for testing properties of integer types.

Integer overflow is a common source of problems in programs written in C and other languages. In some cases, such as signed integer arithmetic in C programs, the resulting behavior is undefined, and practical platforms do not always behave as if integers wrap around reliably. In other cases, such as unsigned integer arithmetic in C, the resulting behavior is well-defined, but programs may still misbehave badly after overflow occurs.

Many techniques have been proposed to attack these problems. These include precondition testing, wraparound behavior where signed integer arithmetic is guaranteed to be modular, saturation semantics where overflow reliably yields an extreme value, undefined behavior sanitizers where overflow is guaranteed to trap, and various static analysis techniques.

Gnulib supports wraparound arithmetic and precondition testing, as these are relatively easy to support portably and efficiently. There are two families of precondition tests: the first, for integer types, is easier to use, while the second, for integer ranges, has a simple and straightforward portable implementation.

Like other Gnulib modules, the implementation of the intprops module assumes that integers use a two’s complement representation, but it does not assume that signed integer arithmetic wraps around. See Other portability assumptions.


Next: , Up: Integer Properties   [Contents][Index]

17.7.1 Arithmetic Type Properties

TYPE_IS_INTEGER (t) is an arithmetic constant expression that yields 1 if the arithmetic type t is an integer type, 0 otherwise. bool counts as an integer type.

TYPE_SIGNED (t) is an arithmetic constant expression that yields 1 if the real type t is a signed integer type or a floating type, 0 otherwise. If t is an integer type, TYPE_SIGNED (t) is an integer constant expression.

EXPR_SIGNED (e) yields 1 if the real expression e has a signed integer type or a floating type, 0 otherwise. If e is an integer constant expression or an arithmetic constant expression, EXPR_SIGNED (e) is likewise. The expression e is not evaluated, and EXPR_SIGNED (e) is typically optimized to a constant.

Example usage:

#include <intprops.h>
#include <sys/types.h>

enum
{
  clock_t_is_integer = TYPE_IS_INTEGER (clock_t),
  uid_t_is_signed = TYPE_SIGNED (uid_t)
};

int
CLOCKS_PER_SEC_is_signed (void)
{
  return EXPR_SIGNED (CLOCKS_PER_SEC);
}

Next: , Previous: , Up: Integer Properties   [Contents][Index]

17.7.2 Arithmetic Type Conversion

Here are some ways in C to convert an arithmetic expression e to a possibly different arithmetic type t.

INT_PROMOTE (e) is an expression with the same value as the arithmetic expression e but with e’s type after any integer promotion. It behaves like +e.

In the following example, using INT_PROMOTE pacifies GCC’s -Wswitch-enum option, and may help human readers see what is going on even if they are not expert in C’s integer promotion rules and might be confused by the simpler switch (+v).

enum { A = 1, B, C, D, E } v = ...;
switch (INT_PROMOTE (v))
  {
    case A: case C:
      return true;
    default:
      /* Handle all other cases,
         even cases like v == 0.  */
      return false;
  }

Next: , Previous: , Up: Integer Properties   [Contents][Index]

17.7.3 Integer Bounds

INT_BUFSIZE_BOUND (t) is an integer constant expression that is a bound on the size of the string representing an integer type or expression t in decimal notation, including the terminating null character and any leading - character. For example, if INT_BUFSIZE_BOUND (int) is 12, any value of type int can be represented in 12 bytes or less, including the terminating null. The bound is not necessarily tight.

Example usage:

#include <intprops.h>
#include <stdio.h>
int
int_strlen (int i)
{
  char buf[INT_BUFSIZE_BOUND (int)];
  return sprintf (buf, "%d", i);
}

INT_STRLEN_BOUND (t) is an integer constant expression that is a bound on the length of the string representing an integer type or expression t in decimal notation, including any leading - character. This is one less than INT_BUFSIZE_BOUND (t).

TYPE_MINIMUM (t) and TYPE_MAXIMUM (t) are integer constant expressions equal to the minimum and maximum values of the integer type t. These expressions are of the type t.

Example usage:

#include <sys/types.h>
#include <intprops.h>
bool
in_off_t_range (long long int a)
{
  return TYPE_MINIMUM (off_t) <= a && a <= TYPE_MAXIMUM (off_t);
}

Next: , Previous: , Up: Integer Properties   [Contents][Index]

17.7.4 Checking Integer Overflow

Signed integer arithmetic has undefined behavior on overflow in C. Although almost all modern computers use two’s complement signed arithmetic that is well-defined to wrap around, C compilers routinely optimize assuming that signed integer overflow cannot occur, which means that a C program cannot easily get at the underlying machine arithmetic. For example:

if ((a + b < b) == (a < 0))
  a += b;
else
  printf ("overflow\n");

might not work as expected if a and b are signed, because a compiler can assume that signed overflow cannot occur and treat the entire if expression as if it were true. And even if a is unsigned, the expression might not work as expected if b is negative or is wider than a.

The following macros work around this problem by yielding an overflow indication while computing the sum, difference, or product of two integers. For example, if i is of type int, INT_ADD_OK (INT_MAX - 1, 1, &i) sets i to INT_MAX and yields 1, whereas INT_ADD_OK (INT_MAX, 1, &i) yields 0.

Example usage:

#include <intprops.h>
#include <stdio.h>

/* Compute A * B, reporting whether overflow occurred.  */
void
print_product (long int a, long int b)
{
  long int r;
  if (INT_MULTIPLY_OK (a, b, &r))
    printf ("result is %ld\n", r);
  else
    printf ("overflow\n");
}

These macros work for both signed and unsigned integers, so they can be used with integer types like time_t that may or may not be signed, depending on the platform.

These macros have the following restrictions:

INT_ADD_OK (a, b, r)

Compute the sum of a and b. If it fits into *r, store it there and yield 1. Otherwise yield 0, possibly modifying *r to an unspecified value. See above for restrictions.

INT_SUBTRACT_OK (a, b, r)

Compute the difference between a and b. If it fits into *r, store it there and yield 1. Otherwise yield 0, possibly modifying *r to an unspecified value. See above for restrictions.

INT_MULTIPLY_OK (a, b, r)

Compute the product of a and b. If it fits into *r, store it there and yield 1. Otherwise yield 0, possibly modifying *r to an unspecified value. See above for restrictions.

Other macros are available if you need wrapped-around results when overflow occurs (see Wraparound Arithmetic), or if you need to check for overflow in operations other than addition, subtraction, and multiplication (see Integer Type Overflow).


Next: , Previous: , Up: Integer Properties   [Contents][Index]

17.7.5 Wraparound Arithmetic with Integers

Signed integer arithmetic has undefined behavior on overflow in C. Although almost all modern computers use two’s complement signed arithmetic that is well-defined to wrap around, C compilers routinely optimize assuming that signed integer overflow cannot occur, which means that a C program cannot easily get at the underlying machine arithmetic. For example, on a typical machine with 32-bit two’s complement int the expression INT_MAX + 1 does not necessarily yield INT_MIN, because the compiler may do calculations with a 64-bit register, or may generate code that traps on signed integer overflow.

The following macros work around this problem by storing the wraparound value, i.e., the low-order bits of the correct answer, and by yielding an overflow indication. For example, if i is of type int, INT_ADD_WRAPV (INT_MAX, 1, &i) sets i to INT_MIN and yields 1 on a two’s complement machine. See Integer Type Overflow.

Example usage:

#include <intprops.h>
#include <stdio.h>

/* Print the low order bits of A * B,
   reporting whether overflow occurred.  */
void
print_product (long int a, long int b)
{
  long int r;
  int overflow = INT_MULTIPLY_WRAPV (a, b, &r);
  printf ("result is %ld (%s)\n", r,
          (overflow
           ? "after overflow"
           : "no overflow"));
}

These macros work for both signed and unsigned integers, so they can be used with integer types like time_t that may or may not be signed, depending on the platform.

These macros have the following restrictions:

INT_ADD_WRAPV (a, b, r)

Store the low-order bits of the sum of a and b into *r. Yield 1 if overflow occurred, 0 if the low-order bits are the mathematically-correct sum. See above for restrictions.

INT_SUBTRACT_WRAPV (a, b, r)

Store the low-order bits of the difference between a and b into *r. Yield 1 if overflow occurred, 0 if the low-order bits are the mathematically-correct difference. See above for restrictions.

INT_MULTIPLY_WRAPV (a, b, r)

Store the low-order bits of the product of a and b into *r. Yield 1 if overflow occurred, 0 if the low-order bits are the mathematically-correct product. See above for restrictions.

If your code includes <intprops.h> only for these _WRAPV macros, you may prefer to use Gnulib’s stdckdint-h module instead, as it supports similar macros that were standardized in C23 and are therefore independent of Gnulib if your code can assume C23 or later. See stdckdint.h.

Other macros are available if you do not need wrapped-around results when overflow occurs (see Checking Integer Overflow), or if you need to check for overflow in operations other than addition, subtraction, and multiplication (see Integer Type Overflow).


Next: , Previous: , Up: Integer Properties   [Contents][Index]

17.7.6 Integer Type Overflow

Although unsigned integer arithmetic wraps around modulo a power of two, signed integer arithmetic has undefined behavior on overflow in C. Almost all modern computers use two’s complement signed arithmetic that is well-defined to wrap around, but C compilers routinely optimize based on the assumption that signed integer overflow cannot occur, which means that a C program cannot easily get at the underlying machine behavior. For example, the signed integer expression (a + b < b) != (a < 0) is not a reliable test for whether a + b overflows, because a compiler can assume that signed overflow cannot occur and treat the entire expression as if it were false.

These macros yield 1 if the corresponding C operators overflow, 0 otherwise. They work correctly on all known practical hosts, and do not rely on undefined behavior due to signed arithmetic overflow. They are integer constant expressions if their arguments are. They are typically easier to use than the integer range overflow macros (see Integer Range Overflow), and they support more operations and evaluation contexts than the integer overflow checking macros (see Checking Integer Overflow) or the wraparound macros (see Wraparound Arithmetic).

These macros can be tricky to use with arguments narrower than int. For example, in the common case with 16-bit short int and 32-bit int, if a and b are of type short int then INT_MULTIPLY_OVERFLOW (a, b) always yields 0, as a * b cannot overflow due to C’s rule that a and b are widened to int before multiplying. For this reason, often it is better to use the integer overflow checking macros (see Checking Integer Overflow) or the wraparound macros (see Wraparound Arithmetic) when checking for overflow in addition, subtraction, or multiplication.

Example usage:

#include <intprops.h>
#include <limits.h>
#include <stdio.h>

/* Print A * B if in range, an overflow
   indicator otherwise.  */
void
print_product (long int a, long int b)
{
  if (INT_MULTIPLY_OVERFLOW (a, b))
    printf ("multiply would overflow");
  else
    printf ("product is %ld", a * b);
}

/* Does the product of two ints always fit
   in a long int?  */
enum {
  INT_PRODUCTS_FIT_IN_LONG
    = ! (INT_MULTIPLY_OVERFLOW
         ((long int) INT_MIN, INT_MIN))
};

These macros have the following restrictions:

These macros are tuned for their last argument being a constant.

INT_ADD_OVERFLOW (a, b)

Yield 1 if a + b would overflow, 0 otherwise. See above for restrictions.

INT_SUBTRACT_OVERFLOW (a, b)

Yield 1 if a - b would overflow, 0 otherwise. See above for restrictions.

INT_NEGATE_OVERFLOW (a)

Yields 1 if -a would overflow, 0 otherwise. See above for restrictions.

INT_MULTIPLY_OVERFLOW (a, b)

Yield 1 if a * b would overflow, 0 otherwise. See above for restrictions.

INT_DIVIDE_OVERFLOW (a, b)

Yield 1 if a / b would overflow, 0 otherwise. See above for restrictions. Division overflow can happen on two’s complement hosts when dividing the most negative integer by -1. This macro does not check for division by zero.

INT_REMAINDER_OVERFLOW (a, b)

Yield 1 if a % b would overflow, 0 otherwise. See above for restrictions. Remainder overflow can happen on two’s complement hosts when dividing the most negative integer by -1; although the mathematical result is always 0, in practice some implementations trap, so this counts as an overflow. This macro does not check for division by zero.

INT_LEFT_SHIFT_OVERFLOW (a, b)

Yield 1 if a << b would overflow, 0 otherwise. See above for restrictions. The C standard says that behavior is undefined for shifts unless 0≤b<w where w is a’s word width, and that when a is negative then a << b has undefined behavior, but this macro does not check these other restrictions.


Previous: , Up: Integer Properties   [Contents][Index]

17.7.7 Integer Range Overflow

These macros yield 1 if the corresponding C operators might not yield numerically correct answers due to arithmetic overflow, and 0 if if the operators do not overflow. They do not rely on undefined or implementation-defined behavior. They are integer constant expressions if their arguments are. Their implementations are simple and straightforward, but they are typically harder to use than the integer type overflow macros. See Integer Type Overflow.

Although the implementation of these macros is similar to that suggested in the SEI CERT C Secure Coding Standard, in its two sections “INT30-C. Ensure that unsigned integer operations do not wrap” and “INT32-C. Ensure that operations on signed integers do not result in overflow”, Gnulib’s implementation was derived independently of CERT’s suggestions.

Example usage:

#include <intprops.h>
#include <limits.h>
#include <stdio.h>

void
print_product (long int a, long int b)
{
  if (INT_MULTIPLY_RANGE_OVERFLOW (a, b, LONG_MIN, LONG_MAX))
    printf ("multiply would overflow");
  else
    printf ("product is %ld", a * b);
}

/* Does the product of two ints always fit
   in a long int?  */
enum {
  INT_PRODUCTS_FIT_IN_LONG
    = ! (INT_MULTIPLY_RANGE_OVERFLOW
         ((long int) INT_MIN, (long int) INT_MIN,
          LONG_MIN, LONG_MAX))
};

These macros have the following restrictions:

These macros are tuned for constant min and max. For commutative operations such as a + b, they are also tuned for constant b.

INT_ADD_RANGE_OVERFLOW (a, b, min, max)

Yield 1 if a + b would overflow in [min,max] integer arithmetic, 0 otherwise. See above for restrictions.

INT_SUBTRACT_RANGE_OVERFLOW (a, b, min, max)

Yield 1 if a - b would overflow in [min,max] integer arithmetic, 0 otherwise. See above for restrictions.

INT_NEGATE_RANGE_OVERFLOW (a, min, max)

Yield 1 if -a would overflow in [min,max] integer arithmetic, 0 otherwise. See above for restrictions.

INT_MULTIPLY_RANGE_OVERFLOW (a, b, min, max)

Yield 1 if a * b would overflow in [min,max] integer arithmetic, 0 otherwise. See above for restrictions.

INT_DIVIDE_RANGE_OVERFLOW (a, b, min, max)

Yield 1 if a / b would overflow in [min,max] integer arithmetic, 0 otherwise. See above for restrictions. Division overflow can happen on two’s complement hosts when dividing the most negative integer by -1. This macro does not check for division by zero.

INT_REMAINDER_RANGE_OVERFLOW (a, b, min, max)

Yield 1 if a % b would overflow in [min,max] integer arithmetic, 0 otherwise. See above for restrictions. Remainder overflow can happen on two’s complement hosts when dividing the most negative integer by -1; although the mathematical result is always 0, in practice some implementations trap, so this counts as an overflow. This macro does not check for division by zero.

INT_LEFT_SHIFT_RANGE_OVERFLOW (a, b, min, max)

Yield 1 if a << b would overflow in [min,max] integer arithmetic, 0 otherwise. See above for restrictions. Here, min and max are for a only, and b need not be of the same type as the other arguments. The C standard says that behavior is undefined for shifts unless 0≤b<w where w is a’s word width, and that when a is negative then a << b has undefined behavior, but this macro does not check these other restrictions.


Next: , Previous: , Up: Particular Modules   [Contents][Index]

17.8 Static inline functions

In order to mark functions as static inline in .c files, the only prerequisite you need is an AC_REQUIRE([AC_C_INLINE]). No Gnulib module is needed.

When marking functions as static inline in .h files, on the other hand, it is useful to avoid the following problem: When gcc or clang is not optimizing, it generates the same object code for every static inline function that is actually used in the current compilation unit, thus bloating the size of the resulting binary. (Code of static inline functions that are unused in the current compilation unit gets dropped; that is not an issue.) To avoid this problem, use the Gnulib module ‘inline’ and make the static inline function definition conditional on the value of the C macro HAVE_INLINE.


Next: , Previous: , Up: Particular Modules   [Contents][Index]

17.9 Extern inline functions

The extern-inline module supports the use of C99-style extern inline functions so that the code still runs on compilers that do not support this feature correctly.

C code ordinarily should not use inline. Typically it is better to let the compiler figure out whether to inline, as compilers are pretty good about optimization nowadays. In this sense, inline is like register, another keyword that is typically no longer needed.

Functions defined (not merely declared) in headers are an exception, as avoiding inline would commonly cause problems for these functions. Suppose aaa.h defines the function aaa_fun, and aaa.c, bbb.c and ccc.c all include aaa.h. If code is intended to portable to non-C99 compilers, aaa_fun cannot be declared with the C99 inline keyword. This problem cannot be worked around by making aaa_fun an ordinary function, as it would be defined three times with external linkage and the definitions would clash. Although aaa_fun could be a static function, with separate compilation if aaa_fun is not inlined its code will appear in the executable three times.

To avoid this code bloat, aaa.h can do this:

/* aaa.h */
/* #include any other headers here */
#ifndef _GL_INLINE_HEADER_BEGIN
 #error "Please include config.h first."
#endif
_GL_INLINE_HEADER_BEGIN
#ifndef AAA_INLINE
# define AAA_INLINE _GL_INLINE
#endif
...
AAA_INLINE int
aaa_fun (int i)
{
  return i + 1;
}
...
_GL_INLINE_HEADER_END

and aaa.c can do this:

/* aaa.c */
#define AAA_INLINE _GL_EXTERN_INLINE
#include <config.h>
#include <aaa.h>

whereas bbb.c and ccc.c can include aaa.h in the usual way. C99 compilers expand AAA_INLINE to C99-style inline usage, where aaa_fun is declared extern inline in aaa.c and plain inline in other modules. Non-C99 compilers that are compatible with GCC use GCC-specific syntax to accomplish the same ends. Other non-C99 compilers use static inline so they suffer from code bloat, but they are not mainline platforms and will die out eventually.

In this coding idiom, the compilation unit should define AAA_INLINE before including the aaa.h header that conditionally defines it. In the unusual and not-recommended case where config.h itself includes aaa.h, the compilation unit should define AAA_INLINE before including config.h, not merely before including aaa.h. Also, you need one AAA_INLINE-like macro per compilation unit, not one per header file. In other words, if the header file aaa.h defines functions defined in aaa-foo.c and aaa-bar.c, you need different macros AAA_FOO_INLINE and AAA_BAR_INLINE. Use AAA_FOO_INLINE for the functions defined in aaa-foo.c, and use AAA_BAR_INLINE for the functions defined in aaa-bar.c.

Functions defined in this way should not refer to identifiers with static linkage, as C99 through C23 prohibit this. Although a future C standard will likely relax this restriction, it is still an issue on many practical platforms.

_GL_INLINE is a portable alternative to C99 plain inline.

_GL_EXTERN_INLINE is a portable alternative to C99 extern inline.

Invoke _GL_INLINE_HEADER_BEGIN before all uses of _GL_INLINE in an include file. This suppresses some bogus warnings in GCC versions before 5.1. If an include file includes other files, it is better to invoke this macro after including the other files.

Invoke _GL_INLINE_HEADER_END after all uses of _GL_INLINE in an include file.


Next: , Previous: , Up: Particular Modules   [Contents][Index]

17.10 Handling closed standard file descriptors

Usually, when a program gets invoked, its file descriptors 0 (for standard input), 1 (for standard output), and 2 (for standard error) are open. But there are situations when some of these file descriptors are closed. These situations can arise when

When a closed file descriptor is accessed through a system call, such as fcntl(), fstat(), read(), or write(), the system calls fails with error EBADF ("Bad file descriptor").

When a new file descriptor is allocated, the operating system chooses the smallest non-negative integer that does not yet correspond to an open file descriptor. So, when a given fd (0, 1, or 2) is closed, opening a new file descriptor may assign the new file descriptor to this fd. This can have unintended effects, because now standard input/output/error of your process is referring to a file that was not meant to be used in that role.

This situation is a security risk because the behaviour of the program in this situation was surely never tested, therefore anything can happen then – from overwriting precious files of the user to endless loops.

To deal with this situation, you first need to determine whether your program is affected by the problem.

If your program is affected, what is the mitigation?

Some operating systems install open file descriptors in place of the closed ones, either in the exec system call or during program startup. When such a file descriptor is accessed through a system call, it behaves like an open file descriptor opened for the “wrong” direction: the system calls fcntl() and fstat() succeed, whereas read() from fd 0 and write() to fd 1 or 2 fail with error EBADF ("Bad file descriptor"). The important point here is that when your program allocates a new file descriptor, it will have a value greater than 2.

This mitigation is enabled on HP-UX, for all programs, and on glibc, FreeBSD, NetBSD, OpenBSD, but only for setuid or setgid programs. Since it is operating system dependent, it is not a complete mitigation.

For a complete mitigation, Gnulib provides two alternative sets of modules:

The approach with the xstdopen module is simple, but it adds three system calls to program startup. Whereas the approach with the *-safer modules is more complicated and error-prone, and does not fix the problem if system library functions call one of the affected functions, but adds no overhead (no additional system calls) in the normal case.

To use the approach with the xstdopen module:

  1. Import the module xstdopen from Gnulib.
  2. In the compilation unit that contains the main function, include "xstdopen.h".
  3. In the main function, near the beginning, namely right after the i18n related initializations (setlocale, bindtextdomain, textdomain invocations, if any) and the closeout initialization (if any), insert the invocation:
    /* Ensure that stdin, stdout, stderr are open.  */
    xstdopen ();
    

To use the approach with the *-safer modules:

  1. Import the relevant modules from Gnulib.
  2. In the compilation units that contain these function calls, include the replacement header file.

Do so according to this table:

FunctionModuleHeader file
open()fcntl-safer"fcntl--.h"
openat()openat-safer"fcntl--.h"
creat()fcntl-safer"fcntl--.h"
dup()unistd-safer"unistd--.h"
fopen()fopen-safer"stdio--.h"
freopen()freopen-safer"stdio--.h"
pipe()unistd-safer"unistd--.h"
pipe2()pipe2-safer"unistd--.h"
popen()popen-safer"stdio--.h"
opendir()dirent-safer"dirent--.h"
tmpfile()tmpfile-safer"stdio--.h"
mkstemp()stdlib-safer"stdlib--.h"
mkstemps()stdlib-safer"stdlib--.h"
mkostemp()stdlib-safer"stdlib--.h"
mkostemps()stdlib-safer"stdlib--.h"

Next: , Previous: , Up: Particular Modules   [Contents][Index]

17.11 Handling strings with NUL characters

Strings in C are usually represented by a character sequence with a terminating NUL character. A ‘char *’, pointer to the first byte of this character sequence, is what gets passed around as function argument or return value.

The major restriction of this string representation is that it cannot handle strings that contain NUL characters: such strings will appear shorter than they were meant to be. In most application areas, this is not a problem, and the char * type is well usable.

A second problem of this string representation is that taking a substring is not cheap: it either requires a memory allocation or a destructive modification of the string. The former has a runtime cost; the latter complicates the logic of the program. This matters for application areas that analyze text, such as parsers.

In areas where strings with embedded NUL characters need to be handled or where taking substrings is a recurrent operation, the common approach is to use a char *ptr pointer variable together with a size_t nbytes variable (or an idx_t nbytes variable, if you want to avoid problems due to integer overflow). This works fine in code that constructs or manipulates strings with embedded NUL characters. But when it comes to storing them, for example in an array or as key or value of a hash table, one needs a type that combines these two fields.

The Gnulib modules string-desc, xstring-desc, and string-desc-quotearg provide such a type. We call it a “string descriptor” and name it string_desc_t.

The type string_desc_t is a struct that contains a pointer to the first byte and the number of bytes of the memory region that make up the string. An additional terminating NUL byte, that may be present in memory, is not included in this byte count. This type implements the same concept as std::string_view in C++, or the String type in Java.

string_desc_t is a string descriptor to a string that cannot be written to. There is also a type rw_string_desc_t, that is a descriptor for a writable string. rw_string_desc_t compares to string_desc_t, like the pointer type ‘char *’ compares to the pointer type ‘const char *’.

A string_desc_t or rw_string_desc_t can be passed to a function as an argument, or can be the return value of a function. This is type-safe: If, by mistake, a programmer passes a string_desc_t to a function that expects a char * argument, or vice versa, or assigns a string_desc_t value to a variable of type char *, or vice versa, the compiler will report an error.

Unfortunately, string_desc_t and rw_string_desc_t being different types, there is no implicit conversion from rw_string_desc_t to string_desc_t. In places where such a conversion is desired, the (inline) function sd_readonly needs to be called.

Functions related to string descriptors are provided:

For outputting a string descriptor, the *printf family of functions cannot be used directly. A format string directive such as "%.*s" would not work:

Therefore Gnulib offers

The functionality is thus split across three modules as follows:


Next: , Previous: , Up: Particular Modules   [Contents][Index]

17.12 Container data types

Gnulib provides several generic container data types. They can be used to organize collections of application-defined objects.


Next: , Up: Container data types   [Contents][Index]

17.12.1 Ordinary container data types

Data typeDetailsModuleMain include fileInclude file for operations with out-of-memory checking
Sequential listCan contain any number of objects in any given order. Duplicates are allowed, but can optionally be forbidden.list"gl_list.h""gl_xlist.h"
SetCan contain any number of objects; the order does not matter. Duplicates (in the sense of the comparator) are forbidden.set"gl_set.h""gl_xset.h"
Ordered setCan contain any number of objects in the order of a given comparator function. Duplicates (in the sense of the comparator) are forbidden.oset"gl_oset.h""gl_xoset.h"
MapCan contain any number of (key, value) pairs, where keys and values are objects; there are no (key, value1) and (key, value2) pairs with the same key (in the sense of a given comparator function).map"gl_map.h""gl_xmap.h"
Ordered mapCan contain any number of (key, value) pairs, where keys and values are objects; the (key, value) pairs are ordered by the key, in the order of a given comparator function; there are no (key, value1) and (key, value2) pairs with the same key (in the sense of the comparator function).omap"gl_omap.h""gl_xomap.h"

Operations without out-of-memory checking (suitable for use in libraries) are declared in the “main include file”. Whereas operations with out-of-memory checking (suitable only in programs) are declared in the “include file for operations with out-of-memory checking”.

For each of the data types, several implementations are available, with different performance profiles with respect to the available operations. This enables you to start with the simplest implementation (ARRAY) initially, and switch to a more suitable implementation after profiling your application. The implementation of each container instance is specified in a single place only: in the invocation of the function gl_*_create_empty that creates the instance.

17.12.1.1 Sequential lists

The implementations and the guaranteed average performance for the operations for the “sequential list” data type are:

OperationARRAYCARRAYLINKEDTREELINKEDHASH with duplicatesLINKEDHASH without duplicatesTREEHASH with duplicatesTREEHASH without duplicates
gl_list_sizeO(1)O(1)O(1)O(1)O(1)O(1)O(1)O(1)
gl_list_node_valueO(1)O(1)O(1)O(1)O(1)O(1)O(1)O(1)
gl_list_node_set_valueO(1)O(1)O(1)O(1)O(1)O(1)O((log n)2)O(1)
gl_list_next_nodeO(1)O(1)O(1)O(log n)O(1)O(1)O(log n)O(log n)
gl_list_previous_nodeO(1)O(1)O(1)O(log n)O(1)O(1)O(log n)O(log n)
gl_list_first_nodeO(1)O(1)O(1)O(log n)O(1)O(1)O(log n)O(log n)
gl_list_last_nodeO(1)O(1)O(1)O(log n)O(1)O(1)O(log n)O(log n)
gl_list_get_atO(1)O(1)O(n)O(log n)O(n)O(n)O(log n)O(log n)
gl_list_get_firstO(1)O(1)O(1)O(log n)O(1)O(1)O(log n)O(log n)
gl_list_get_lastO(1)O(1)O(1)O(log n)O(1)O(1)O(log n)O(log n)
gl_list_set_atO(1)O(1)O(n)O(log n)O(n)O(n)O((log n)2)O(log n)
gl_list_set_firstO(1)O(1)O(1)O(log n)O(n)O(1)O((log n)2)O(log n)
gl_list_set_lastO(1)O(1)O(1)O(log n)O(n)O(1)O((log n)2)O(log n)
gl_list_searchO(n)O(n)O(n)O(n)O(n)O(1)O(log n)O(1)
gl_list_search_fromO(n)O(n)O(n)O(n)O(n)O(1)O((log n)2)O(log n)
gl_list_search_from_toO(n)O(n)O(n)O(n)O(n)O(1)O((log n)2)O(log n)
gl_list_indexofO(n)O(n)O(n)O(n)O(n)O(n)O(log n)O(log n)
gl_list_indexof_fromO(n)O(n)O(n)O(n)O(n)O(n)O((log n)2)O(log n)
gl_list_indexof_from_toO(n)O(n)O(n)O(n)O(n)O(n)O((log n)2)O(log n)
gl_list_add_firstO(n)O(1)O(1)O(log n)O(1)O(1)O((log n)2)O(log n)
gl_list_add_lastO(1)O(1)O(1)O(log n)O(1)O(1)O((log n)2)O(log n)
gl_list_add_beforeO(n)O(n)O(1)O(log n)O(1)O(1)O((log n)2)O(log n)
gl_list_add_afterO(n)O(n)O(1)O(log n)O(1)O(1)O((log n)2)O(log n)
gl_list_add_atO(n)O(n)O(n)O(log n)O(n)O(n)O((log n)2)O(log n)
gl_list_remove_nodeO(n)O(n)O(1)O(log n)O(n)O(1)O((log n)2)O(log n)
gl_list_remove_atO(n)O(n)O(n)O(log n)O(n)O(n)O((log n)2)O(log n)
gl_list_remove_firstO(n)O(1)O(1)O(log n)O(n)O(1)O((log n)2)O(log n)
gl_list_remove_lastO(1)O(1)O(1)O(log n)O(n)O(1)O((log n)2)O(log n)
gl_list_removeO(n)O(n)O(n)O(n)O(n)O(1)O((log n)2)O(log n)
gl_list_iteratorO(1)O(1)O(1)O(log n)O(1)O(1)O(log n)O(log n)
gl_list_iterator_from_toO(1)O(1)O(n)O(log n)O(n)O(n)O(log n)O(log n)
gl_list_iterator_nextO(1)O(1)O(1)O(log n)O(1)O(1)O(log n)O(log n)
gl_sortedlist_searchO(log n)O(log n)O(n)O(log n)O(n)O(n)O(log n)O(log n)
gl_sortedlist_search_fromO(log n)O(log n)O(n)O(log n)O(n)O(n)O(log n)O(log n)
gl_sortedlist_indexofO(log n)O(log n)O(n)O(log n)O(n)O(n)O(log n)O(log n)
gl_sortedlist_indexof_fromO(log n)O(log n)O(n)O(log n)O(n)O(n)O(log n)O(log n)
gl_sortedlist_addO(n)O(n)O(n)O(log n)O(n)O(n)O((log n)2)O(log n)
gl_sortedlist_removeO(n)O(n)O(n)O(log n)O(n)O(n)O((log n)2)O(log n)

The Gnulib modules for sequential lists are:

ImplementationModules
Abstractlist, xlist
ARRAYarray-list
CARRAYcarray-list
LINKEDlinked-list
TREEavltree-list, rbtree-list
LINKEDHASHlinkedhash-list
TREEHASHavltreehash-list, rbtreehash-list
Portion of a listsublist, xsublist

17.12.1.2 Sets

The implementations and the guaranteed average performance for the operations for the “set” data type are:

OperationARRAYLINKEDHASH, HASH
gl_set_sizeO(1)O(1)
gl_set_addO(n)O(1)
gl_set_removeO(n)O(1)
gl_set_searchO(n)O(1)
gl_set_iteratorO(1)O(1)
gl_set_iterator_nextO(1)O(1)

The Gnulib modules for sets are:

ImplementationModules
Abstractset, xset
ARRAYarray-set
LINKEDHASHlinkedhash-set
HASHhash-set

17.12.1.3 Ordered sets

The implementations and the guaranteed average performance for the operations for the “ordered set” data type are:

OperationARRAYTREE
gl_oset_sizeO(1)O(1)
gl_oset_addO(n)O(log n)
gl_oset_removeO(n)O(log n)
gl_oset_searchO(log n)O(log n)
gl_oset_search_atleastO(log n)O(log n)
gl_oset_iteratorO(1)O(log n)
gl_oset_iterator_nextO(1)O(log n)

The Gnulib modules for ordered sets are:

ImplementationModules
Abstractoset, xoset
ARRAYarray-oset
TREEavltree-oset, rbtree-oset

17.12.1.4 Maps

The implementations and the guaranteed average performance for the operations for the “map” data type are:

OperationARRAYLINKEDHASH, HASH
gl_map_sizeO(1)O(1)
gl_map_getO(n)O(1)
gl_map_putO(n)O(1)
gl_map_removeO(n)O(1)
gl_map_searchO(n)O(1)
gl_map_iteratorO(1)O(1)
gl_map_iterator_nextO(1)O(1)

The Gnulib modules for maps are:

ImplementationModules
Abstractmap, xmap
ARRAYarray-map
LINKEDHASHlinkedhash-map
HASHhash-map

17.12.1.5 Ordered maps

The implementations and the guaranteed average performance for the operations for the “ordered map” data type are:

OperationARRAYTREE
gl_omap_sizeO(1)O(1)
gl_omap_getO(log n)O(log n)
gl_omap_putO(n)O(log n)
gl_omap_removeO(n)O(log n)
gl_omap_searchO(log n)O(log n)
gl_omap_search_atleastO(log n)O(log n)
gl_omap_iteratorO(1)O(log n)
gl_omap_iterator_nextO(1)O(log n)

The Gnulib modules for ordered maps are:

ImplementationModules
Abstractomap, xomap
ARRAYarray-omap
TREEavltree-omap, rbtree-omap

17.12.1.6 C++ classes for container data types

For C++, Gnulib provides a C++ template class for each of these container data types.

Data typeC++ classModuleInclude file
Sequential listgl_Listlist-c++"gl_list.hh"
Setgl_Setset-c++"gl_set.hh"
Ordered setgl_OSetoset-c++"gl_oset.hh"
Mapgl_Mapmap-c++"gl_map.hh"
Ordered mapgl_OMapomap-c++"gl_omap.hh"

Previous: , Up: Container data types   [Contents][Index]

17.12.2 Specialized container data types

The hamt module implements the hash array mapped trie (HAMT) data structure. This is a data structure that contains (key, value) pairs. Lookup of a (key, value) pair given the key is on average an O(1) operation, assuming a good hash function for the keys is employed.

The HAMT data structure is useful when you want modifications (additions of pairs, removal, value changes) to be visible only to some part of your program, whereas other parts of the program continue to use the unmodified HAMT. The HAMT makes this possible in a space-efficient manner: the modified and the unmodified HAMT share most of their allocated memory. It is also time-efficient: Every such modification is O(1) on average, again assuming a good hash function for the keys.

A HAMT can be used whenever an ordinary hash table would be used. It does however, provide non-destructive updating operations without the need to copy the whole container. On the other hand, a hash table is simpler so that its performance may be better when non-destructive update operations are not needed.

For example, a HAMT can be used to model the dynamic environment in a LISP interpreter. Updating a value in the dynamic environment of one continuation frame would not modify values in earlier frames.

To use the module, include hamt.h in your code. The public interface is documented in that header file. You have to provide a hash function and an equivalence relation, which defines key equality. The module includes a test file test-hamt.c, which demonstrates how the API can be used.

In the current implementation, each inner node of the HAMT can store up to 32 = 2^5 entries and subtries. Whenever a collision between the initial bits of the hash values of two entries would happen, the next 5 bits of the hash values are examined and the two entries pushed down one level in the trie.

HAMTs have the same average access times as hash tables but grow and shrink dynamically, so they use memory more economically and do not have to be periodically resized.

They were described and analyzed in Phil Bagwell (2000). Ideal Hash Trees (Report). Infoscience Department, École Polytechnique Fédérale de Lausanne.

The persistence aspect of the HAMT data structure, which means that each updating operation (like inserting, replacing, or removing an entry) returns a new HAMT while leaving the original one intact, is achieved through structure sharing, which is even safe in the presence of multiple threads when the used C compiler supports atomics.


Next: , Previous: , Up: Particular Modules   [Contents][Index]

17.13 Modernized printf

The *zprintf family of functions is a modernized form of the *printf family of functions.

The problem

The *printf functions have a return type ‘int’ and therefore can only produce results that are up to (2 GiB - 1 byte) long.

The problem with this is not so much that it is an arbitrary limitation (that persists even in processes that have, say, 50 GiB of RAM available). The bigger problem is that in reliable programs, it requires handling of an error code EOVERFLOW that indicates a result whose size would be 2 GiB or larger.

How does a reliable program do error handling of *printf function calls? For output to strings and file descriptors (such as sprintf and dprintf), there is no other way than to check each such call.

For output to FILE streams (such as fprintf), beginners are tempted to ignore the return value of each call and instead check ferror (stream) at the end. The problem with this approach is that at the moment the error is detected, incorrect output has already been sent onto the stream. So, in this case as well, the reliable approach is to check each such call.

The simple format strings that most programs use in 99% of the places, namely with no wide string or wide character arguments, nor with widths passed as int argument, can only fail with two possible error codes:

Many GNU programs use “checking” wrappers (functions xvasprintf, etc.) that check for ENOMEM and call xalloc_die, thus aborting the program in that case. The problem is that EOVERFLOW is not handled, even with such wrappers.

Should EOVERFLOW be handled like ENOMEM, by aborting the program? No, as mentioned above, that would be an arbitrary limitation, which the GNU Coding Standards urge us to avoid.

The solution

The *zprintf functions are like the *printf functions, except that the return type is

Thus, for these functions, EOVERFLOW cannot occur (except for format strings which take widths as argument, which we have excluded above), and the “checking” wrappers (functions xvasprintf, etc.) are thus sufficient for ensuring an error-free result.

Note: In 64-bit processes, ptrdiff_t is 64 bits wide, i.e. equivalent to int64_t. In 32-bit processes, ptrdiff_t is only 32 bits wide, but since in these environments, memory regions of 2 GiB or larger cannot be allocated anyway (malloc would fail with ENOMEM), this type is sufficient.

The following Gnulib functions and modules exist:

Original functionModernized functionModules
sprintfszprintfszprintf, szprintf-posix, szprintf-gnu
vsprintfvszprintfvszprintf, vszprintf-posix, vszprintf-gnu
snprintfsnzprintfsnzprintf, snzprintf-posix, snzprintf-gnu
vsnprintfvsnzprintfvsnzprintf, vsnzprintf-posix, vsnzprintf-gnu
asprintfaszprintfvaszprintf, vaszprintf-posix, vaszprintf-gnu
vasprintfvaszprintfvaszprintf, vaszprintf-posix, vaszprintf-gnu
c_snprintfc_snzprintfc-snzprintf, c-snzprintf-gnu
c_vsnprintfc_vsnzprintfc-vsnzprintf, c-vsnzprintf-gnu
c_asprintfc_aszprintfc-vaszprintf, c-vaszprintf-gnu
c_vasprintfc_vaszprintfc-vaszprintf, c-vaszprintf-gnu
fprintffzprintffzprintf, fzprintf-posix, fzprintf-gnu
vfprintfvfzprintfvfzprintf, vfzprintf-posix, vfzprintf-gnu
printfzprintfzprintf, zprintf-posix, zprintf-gnu
vprintfvzprintfvzprintf, vzprintf-posix, vzprintf-gnu
dprintfdzprintfdzprintf, dzprintf-posix, dzprintf-gnu
vdprintfvdzprintfvdzprintf, vdzprintf-posix, vdzprintf-gnu
obstack_printfobstack_zprintfobstack-zprintf, obstack-zprintf-posix, obstack-zprintf-gnu
obstack_vprintfobstack_vzprintfobstack-zprintf, obstack-zprintf-posix, obstack-zprintf-gnu

The following functions use the *zprintf functions under the hood and thus don’t need a *zprintf variant:

FunctionModules
xasprintfxvasprintf, xvasprintf-posix, xvasprintf-gnu
xvasprintfxvasprintf, xvasprintf-posix, xvasprintf-gnu
c_xasprintfc-xvasprintf
c_xvasprintfc-xvasprintf
xprintfxprintf, xprintf-posix, xprintf-gnu
xvprintfxprintf, xprintf-posix, xprintf-gnu
xfprintfxprintf, xprintf-posix, xprintf-gnu
xvfprintfxprintf, xprintf-posix, xprintf-gnu

Note: Even with the *zprintf functions, you need to be prepared to handle specific error codes when you use non-simple format strings:


Next: , Previous: , Up: Particular Modules   [Contents][Index]

17.14 Advanced functions on FILE streams

Gnulib provides a few functions that operate on FILE * streams and that go beyond what ISO C and POSIX specify.

Each such function is provided in a Gnulib module of the same name.

When Gnulib implemented them in 2007, some people considered them “unportable”, because they required digging in undocumented internals of the FILE structure. But Gnulib made them portable, by providing implementations for all platforms, from glibc to native Windows, and from Minix to QNX. Nowadays, new platforms already implement them in their libc; this has been seen for the Android libc and musl libc.

The stream argument of these functions must not be wide-character oriented. But this is not an actual restriction, since no programs use wide-character orientation on FILE streams anyway: no one uses the fwide function.


Next: , Up: Advanced stdio functions   [Contents][Index]

17.14.1 Determining the state of a FILE stream

Gnulib modules: freadable, fwritable, freading, fwriting

The freadable function returns true if the given stream supports reading, false if it supports only writing, i.e. if it was opened write-only or append-only.

The fwritable function returns true if the given stream supports writing, false if it supports only reading.

The freading function returns true if the given stream is opened read-only, or if the last operation on the stream was a read operation.

The fwriting function returns true if the given stream is opened write-only or append-only, or if the last operation on the stream was a write operation.

freading and fwriting will never both be true on the same stream at the same time. If the stream supports both reads and writes, then

depending on the underlying implementation.


Next: , Previous: , Up: Advanced stdio functions   [Contents][Index]

17.14.2 Setting an error in a FILE stream

A FILE * stream has an error indicator, that can be tested through the ferror function and cleared through the clearerr function. The error indicator is set when an I/O operation on the stream fails. But ISO C and POSIX don’t provide a way to set the error indicator!

The fseterr function sets the error indicator in the given stream.


Next: , Previous: , Up: Advanced stdio functions   [Contents][Index]

17.14.3 Dropping the contents of the buffers of a FILE stream

The fpurge function drops the contents of the input and output buffers of the given FILE * stream:


Next: , Previous: , Up: Advanced stdio functions   [Contents][Index]

17.14.4 Accessing the write buffer of a FILE stream

The following two functions provide information about the output buffer of a FILE * stream.

The fpending function returns the number of pending (a.k.a. buffered, unflushed) bytes in the given stream.

The fbufmode function returns the buffering mode of the given stream:

Resultmeans
_IONBFunbuffered
_IOLBFline buffered
_IOFBFfully buffered

Note that on some platforms, it is impossible to distinguish _IOFBF and _IOLBF.


Previous: , Up: Advanced stdio functions   [Contents][Index]

17.14.5 Accessing the read buffer of a FILE stream

The following functions allow code to scan the contents of the input buffer of a FILE * stream, without first copying it into a separate memory area via fread.

The function freadahead returns the number of bytes waiting in the input buffer of the given stream. This includes both the bytes that have been read from the underlying input source and the bytes that have been pushed back through ungetc.

A function call freadptr (stream, &size) returns a pointer to the input buffer of the given stream, or NULL. If the returned pointer is non-NULL, size is set to the (positive) size of the input buffer. If the returned pointer is NULL, you should use getc (stream), fgetc (stream), or fread (..., stream) to access the input from stream.

A function call freadseek (stream, offset) is the same as fseek (stream, offset, SEEK_CUR), except that the latter does not work on non-seekable input streams (such as pipes).


Next: , Previous: , Up: Particular Modules   [Contents][Index]

17.15 libunistring

GNU libunistring provides functions for manipulating Unicode strings and for manipulating C strings according to the Unicode standard.

It consists of the following parts:

<unistr.h>elementary string functions
<uniconv.h>conversion from/to legacy encodings
<unistdio.h>formatted output to strings
<uniname.h>character names
<unictype.h>character classification and properties
<uniwidth.h>string width when using nonproportional fonts
<unigbrk.h>grapheme cluster breaks
<uniwbrk.h>word breaks
<unilbrk.h>line breaking algorithm
<uninorm.h>normalization (composition and decomposition)
<unicase.h>case folding

Nearly all of the source code of GNU libunistring resides in Gnulib.


Next: , Up: libunistring   [Contents][Index]

17.15.1 How to use libunistring

There are three ways to use GNU libunistring:


Previous: , Up: libunistring   [Contents][Index]

17.15.2 The libunistring modules

Every function or variable that is part of the GNU libunistring API is available through a specific Gnulib module. For the documentation, refer to the GNU libunistring documentation.


Next: , Up: The libunistring modules   [Contents][Index]

17.15.2.1 Declarations in <unitypes.h>

The <unitypes.h> header file is provided by the module unitypes-h.


Next: , Previous: , Up: The libunistring modules   [Contents][Index]

17.15.2.2 Declarations in <unistr.h>

FunctionModule
u8_checkunistr/u8-check
u16_checkunistr/u16-check
u32_checkunistr/u32-check
u8_to_u16unistr/u8-to-u16
u8_to_u32unistr/u8-to-u32
u16_to_u8unistr/u16-to-u8
u16_to_u32unistr/u16-to-u32
u32_to_u8unistr/u32-to-u8
u32_to_u16unistr/u32-to-u16
u8_mblenunistr/u8-mblen
u16_mblenunistr/u16-mblen
u32_mblenunistr/u32-mblen
u8_mbtoucunistr/u8-mbtouc
u16_mbtoucunistr/u16-mbtouc
u32_mbtoucunistr/u32-mbtouc
u8_mbtouc_unsafeunistr/u8-mbtouc-unsafe
u16_mbtouc_unsafeunistr/u16-mbtouc-unsafe
u32_mbtouc_unsafeunistr/u32-mbtouc-unsafe
u8_mbtoucrunistr/u8-mbtoucr
u16_mbtoucrunistr/u16-mbtoucr
u32_mbtoucrunistr/u32-mbtoucr
u8_uctombunistr/u8-uctomb
u16_uctombunistr/u16-uctomb
u32_uctombunistr/u32-uctomb
u8_cpyunistr/u8-cpy
u16_cpyunistr/u16-cpy
u32_cpyunistr/u32-cpy
u8_pcpyunistr/u8-pcpy
u16_pcpyunistr/u16-pcpy
u32_pcpyunistr/u32-pcpy
u8_moveunistr/u8-move
u16_moveunistr/u16-move
u32_moveunistr/u32-move
u8_setunistr/u8-set
u16_setunistr/u16-set
u32_setunistr/u32-set
u8_cmpunistr/u8-cmp
u16_cmpunistr/u16-cmp
u32_cmpunistr/u32-cmp
u8_cmp2unistr/u8-cmp2
u16_cmp2unistr/u16-cmp2
u32_cmp2unistr/u32-cmp2
u8_chrunistr/u8-chr
u16_chrunistr/u16-chr
u32_chrunistr/u32-chr
u8_mbsnlenunistr/u8-mbsnlen
u16_mbsnlenunistr/u16-mbsnlen
u32_mbsnlenunistr/u32-mbsnlen
u8_cpy_allocunistr/u8-cpy-alloc
u16_cpy_allocunistr/u16-cpy-alloc
u32_cpy_allocunistr/u32-cpy-alloc
u8_strmblenunistr/u8-strmblen
u16_strmblenunistr/u16-strmblen
u32_strmblenunistr/u32-strmblen
u8_strmbtoucunistr/u8-strmbtouc
u16_strmbtoucunistr/u16-strmbtouc
u32_strmbtoucunistr/u32-strmbtouc
u8_nextunistr/u8-next
u16_nextunistr/u16-next
u32_nextunistr/u32-next
u8_prevunistr/u8-prev
u16_prevunistr/u16-prev
u32_prevunistr/u32-prev
u8_strlenunistr/u8-strlen
u16_strlenunistr/u16-strlen
u32_strlenunistr/u32-strlen
u8_strnlenunistr/u8-strnlen
u16_strnlenunistr/u16-strnlen
u32_strnlenunistr/u32-strnlen
u8_strcpyunistr/u8-strcpy
u16_strcpyunistr/u16-strcpy
u32_strcpyunistr/u32-strcpy
u8_stpcpyunistr/u8-stpcpy
u16_stpcpyunistr/u16-stpcpy
u32_stpcpyunistr/u32-stpcpy
u8_strncpyunistr/u8-strncpy
u16_strncpyunistr/u16-strncpy
u32_strncpyunistr/u32-strncpy
u8_stpncpyunistr/u8-stpncpy
u16_stpncpyunistr/u16-stpncpy
u32_stpncpyunistr/u32-stpncpy
u8_strcatunistr/u8-strcat
u16_strcatunistr/u16-strcat
u32_strcatunistr/u32-strcat
u8_strncatunistr/u8-strncat
u16_strncatunistr/u16-strncat
u32_strncatunistr/u32-strncat
u8_strcmpunistr/u8-strcmp
u16_strcmpunistr/u16-strcmp
u32_strcmpunistr/u32-strcmp
u8_strcollunistr/u8-strcoll
u16_strcollunistr/u16-strcoll
u32_strcollunistr/u32-strcoll
u8_strncmpunistr/u8-strncmp
u16_strncmpunistr/u16-strncmp
u32_strncmpunistr/u32-strncmp
u8_strdupunistr/u8-strdup
u16_strdupunistr/u16-strdup
u32_strdupunistr/u32-strdup
u8_strchrunistr/u8-strchr
u16_strchrunistr/u16-strchr
u32_strchrunistr/u32-strchr
u8_strrchrunistr/u8-strrchr
u16_strrchrunistr/u16-strrchr
u32_strrchrunistr/u32-strrchr
u8_strcspnunistr/u8-strcspn
u16_strcspnunistr/u16-strcspn
u32_strcspnunistr/u32-strcspn
u8_strspnunistr/u8-strspn
u16_strspnunistr/u16-strspn
u32_strspnunistr/u32-strspn
u8_strpbrkunistr/u8-strpbrk
u16_strpbrkunistr/u16-strpbrk
u32_strpbrkunistr/u32-strpbrk
u8_strstrunistr/u8-strstr
u16_strstrunistr/u16-strstr
u32_strstrunistr/u32-strstr
u8_startswithunistr/u8-startswith
u16_startswithunistr/u16-startswith
u32_startswithunistr/u32-startswith
u8_endswithunistr/u8-endswith
u16_endswithunistr/u16-endswith
u32_endswithunistr/u32-endswith
u8_strtokunistr/u8-strtok
u16_strtokunistr/u16-strtok
u32_strtokunistr/u32-strtok

Next: , Previous: , Up: The libunistring modules   [Contents][Index]

17.15.2.3 Declarations in <uniconv.h>

FunctionModule
locale_charsetlocalcharset
u8_conv_from_encodinguniconv/u8-conv-from-enc
u16_conv_from_encodinguniconv/u16-conv-from-enc
u32_conv_from_encodinguniconv/u32-conv-from-enc
u8_conv_to_encodinguniconv/u8-conv-to-enc
u16_conv_to_encodinguniconv/u16-conv-to-enc
u32_conv_to_encodinguniconv/u32-conv-to-enc
u8_strconv_from_encodinguniconv/u8-strconv-from-enc
u16_strconv_from_encodinguniconv/u16-strconv-from-enc
u32_strconv_from_encodinguniconv/u32-strconv-from-enc
u8_strconv_to_encodinguniconv/u8-strconv-to-enc
u16_strconv_to_encodinguniconv/u16-strconv-to-enc
u32_strconv_to_encodinguniconv/u32-strconv-to-enc
u8_strconv_from_localeuniconv/u8-strconv-from-locale
u16_strconv_from_localeuniconv/u16-strconv-from-locale
u32_strconv_from_localeuniconv/u32-strconv-from-locale
u8_strconv_to_localeuniconv/u8-strconv-to-locale
u16_strconv_to_localeuniconv/u16-strconv-to-locale
u32_strconv_to_localeuniconv/u32-strconv-to-locale

Next: , Previous: , Up: The libunistring modules   [Contents][Index]

17.15.2.4 Declarations in <unistdio.h>

FunctionModule
ulc_sprintfunistdio/ulc-sprintf
ulc_snprintfunistdio/ulc-snprintf
ulc_asprintfunistdio/ulc-asprintf
ulc_asnprintfunistdio/ulc-asnprintf
ulc_vsprintfunistdio/ulc-vsprintf
ulc_vsnprintfunistdio/ulc-vsnprintf
ulc_vasprintfunistdio/ulc-vasprintf
ulc_vasnprintfunistdio/ulc-vasnprintf
u8_sprintfunistdio/u8-sprintf
u8_snprintfunistdio/u8-snprintf
u8_asprintfunistdio/u8-asprintf
u8_asnprintfunistdio/u8-asnprintf
u8_vsprintfunistdio/u8-vsprintf
u8_vsnprintfunistdio/u8-vsnprintf
u8_vasprintfunistdio/u8-vasprintf
u8_vasnprintfunistdio/u8-vasnprintf
u8_u8_sprintfunistdio/u8-u8-sprintf
u8_u8_snprintfunistdio/u8-u8-snprintf
u8_u8_asprintfunistdio/u8-u8-asprintf
u8_u8_asnprintfunistdio/u8-u8-asnprintf
u8_u8_vsprintfunistdio/u8-u8-vsprintf
u8_u8_vsnprintfunistdio/u8-u8-vsnprintf
u8_u8_vasprintfunistdio/u8-u8-vasprintf
u8_u8_vasnprintfunistdio/u8-u8-vasnprintf
u16_sprintfunistdio/u16-sprintf
u16_snprintfunistdio/u16-snprintf
u16_asprintfunistdio/u16-asprintf
u16_asnprintfunistdio/u16-asnprintf
u16_vsprintfunistdio/u16-vsprintf
u16_vsnprintfunistdio/u16-vsnprintf
u16_vasprintfunistdio/u16-vasprintf
u16_vasnprintfunistdio/u16-vasnprintf
u16_u16_sprintfunistdio/u16-u16-sprintf
u16_u16_snprintfunistdio/u16-u16-snprintf
u16_u16_asprintfunistdio/u16-u16-asprintf
u16_u16_asnprintfunistdio/u16-u16-asnprintf
u16_u16_vsprintfunistdio/u16-u16-vsprintf
u16_u16_vsnprintfunistdio/u16-u16-vsnprintf
u16_u16_vasprintfunistdio/u16-u16-vasprintf
u16_u16_vasnprintfunistdio/u16-u16-vasnprintf
u32_sprintfunistdio/u32-sprintf
u32_snprintfunistdio/u32-snprintf
u32_asprintfunistdio/u32-asprintf
u32_asnprintfunistdio/u32-asnprintf
u32_vsprintfunistdio/u32-vsprintf
u32_vsnprintfunistdio/u32-vsnprintf
u32_vasprintfunistdio/u32-vasprintf
u32_vasnprintfunistdio/u32-vasnprintf
u32_u32_sprintfunistdio/u32-u32-sprintf
u32_u32_snprintfunistdio/u32-u32-snprintf
u32_u32_asprintfunistdio/u32-u32-asprintf
u32_u32_asnprintfunistdio/u32-u32-asnprintf
u32_u32_vsprintfunistdio/u32-u32-vsprintf
u32_u32_vsnprintfunistdio/u32-u32-vsnprintf
u32_u32_vasprintfunistdio/u32-u32-vasprintf
u32_u32_vasnprintfunistdio/u32-u32-vasnprintf
ulc_fprintfunistdio/ulc-fprintf
ulc_vfprintfunistdio/ulc-vfprintf

Next: , Previous: , Up: The libunistring modules   [Contents][Index]

17.15.2.5 Declarations in <uniname.h>

FunctionModule
unicode_character_nameuniname/uniname
unicode_name_characteruniname/uniname

Next: , Previous: , Up: The libunistring modules   [Contents][Index]

17.15.2.6 Declarations in <unictype.h>

Function or constantModule
UC_CATEGORY_Lunictype/category-L
UC_CATEGORY_LCunictype/category-LC
UC_CATEGORY_Luunictype/category-Lu
UC_CATEGORY_Llunictype/category-Ll
UC_CATEGORY_Ltunictype/category-Lt
UC_CATEGORY_Lmunictype/category-Lm
UC_CATEGORY_Lounictype/category-Lo
UC_CATEGORY_Munictype/category-M
UC_CATEGORY_Mnunictype/category-Mn
UC_CATEGORY_Mcunictype/category-Mc
UC_CATEGORY_Meunictype/category-Me
UC_CATEGORY_Nunictype/category-N
UC_CATEGORY_Ndunictype/category-Nd
UC_CATEGORY_Nlunictype/category-Nl
UC_CATEGORY_Nounictype/category-No
UC_CATEGORY_Punictype/category-P
UC_CATEGORY_Pcunictype/category-Pc
UC_CATEGORY_Pdunictype/category-Pd
UC_CATEGORY_Psunictype/category-Ps
UC_CATEGORY_Peunictype/category-Pe
UC_CATEGORY_Piunictype/category-Pi
UC_CATEGORY_Pfunictype/category-Pf
UC_CATEGORY_Pounictype/category-Po
UC_CATEGORY_Sunictype/category-S
UC_CATEGORY_Smunictype/category-Sm
UC_CATEGORY_Scunictype/category-Sc
UC_CATEGORY_Skunictype/category-Sk
UC_CATEGORY_Sounictype/category-So
UC_CATEGORY_Zunictype/category-Z
UC_CATEGORY_Zsunictype/category-Zs
UC_CATEGORY_Zlunictype/category-Zl
UC_CATEGORY_Zpunictype/category-Zp
UC_CATEGORY_Cunictype/category-C
UC_CATEGORY_Ccunictype/category-Cc
UC_CATEGORY_Cfunictype/category-Cf
UC_CATEGORY_Csunictype/category-Cs
UC_CATEGORY_Counictype/category-Co
UC_CATEGORY_Cnunictype/category-Cn
uc_general_category_orunictype/category-or
uc_general_category_andunictype/category-and
uc_general_category_and_notunictype/category-and-not
uc_general_category_nameunictype/category-name
uc_general_category_long_nameunictype/category-longname
uc_general_category_bynameunictype/category-byname
uc_general_categoryunictype/category-of
uc_is_general_categoryunictype/category-test
uc_is_general_category_withtableunictype/category-test-withtable
uc_combining_class_nameunictype/combining-class-name
uc_combining_class_long_nameunictype/combining-class-longname
uc_combining_class_bynameunictype/combining-class-byname
uc_combining_classunictype/combining-class
uc_bidi_class_nameunictype/bidiclass-name
uc_bidi_category_nameunictype/bidiclass-name
uc_bidi_class_long_nameunictype/bidiclass-longname
uc_bidi_class_bynameunictype/bidiclass-byname
uc_bidi_category_bynameunictype/bidiclass-byname
uc_bidi_classunictype/bidiclass-of
uc_bidi_categoryunictype/bidiclass-of
uc_is_bidi_classunictype/bidiclass-test
uc_is_bidi_categoryunictype/bidiclass-test
uc_decimal_valueunictype/decimal-digit
uc_digit_valueunictype/digit
uc_numeric_valueunictype/numeric
uc_mirror_charunictype/mirror
uc_joining_type_nameunictype/joiningtype-name
uc_joining_type_long_nameunictype/joiningtype-longname
uc_joining_type_bynameunictype/joiningtype-byname
uc_joining_typeunictype/joiningtype-of
uc_joining_group_nameunictype/joininggroup-name
uc_joining_group_bynameunictype/joininggroup-byname
uc_joining_groupunictype/joininggroup-of
UC_PROPERTY_WHITE_SPACEunictype/property-white-space
UC_PROPERTY_ALPHABETICunictype/property-alphabetic
UC_PROPERTY_OTHER_ALPHABETICunictype/property-other-alphabetic
UC_PROPERTY_NOT_A_CHARACTERunictype/property-not-a-character
UC_PROPERTY_DEFAULT_IGNORABLE_CODE_POINTunictype/property-default-ignorable-code-point
UC_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINTunictype/property-other-default-ignorable-code-point
UC_PROPERTY_DEPRECATEDunictype/property-deprecated
UC_PROPERTY_LOGICAL_ORDER_EXCEPTIONunictype/property-logical-order-exception
UC_PROPERTY_VARIATION_SELECTORunictype/property-variation-selector
UC_PROPERTY_PRIVATE_USEunictype/property-private-use
UC_PROPERTY_UNASSIGNED_CODE_VALUEunictype/property-unassigned-code-value
UC_PROPERTY_UPPERCASEunictype/property-uppercase
UC_PROPERTY_OTHER_UPPERCASEunictype/property-other-uppercase
UC_PROPERTY_LOWERCASEunictype/property-lowercase
UC_PROPERTY_OTHER_LOWERCASEunictype/property-other-lowercase
UC_PROPERTY_TITLECASEunictype/property-titlecase
UC_PROPERTY_CASEDunictype/property-cased
UC_PROPERTY_CASE_IGNORABLEunictype/property-case-ignorable
UC_PROPERTY_CHANGES_WHEN_LOWERCASEDunictype/property-changes-when-lowercased
UC_PROPERTY_CHANGES_WHEN_UPPERCASEDunictype/property-changes-when-uppercased
UC_PROPERTY_CHANGES_WHEN_TITLECASEDunictype/property-changes-when-titlecased
UC_PROPERTY_CHANGES_WHEN_CASEFOLDEDunictype/property-changes-when-casefolded
UC_PROPERTY_CHANGES_WHEN_CASEMAPPEDunictype/property-changes-when-casemapped
UC_PROPERTY_SOFT_DOTTEDunictype/property-soft-dotted
UC_PROPERTY_ID_STARTunictype/property-id-start
UC_PROPERTY_OTHER_ID_STARTunictype/property-other-id-start
UC_PROPERTY_ID_CONTINUEunictype/property-id-continue
UC_PROPERTY_OTHER_ID_CONTINUEunictype/property-other-id-continue
UC_PROPERTY_XID_STARTunictype/property-xid-start
UC_PROPERTY_XID_CONTINUEunictype/property-xid-continue
UC_PROPERTY_ID_COMPAT_MATH_STARTunictype/property-id-compat-math-start
UC_PROPERTY_ID_COMPAT_MATH_CONTINUEunictype/property-id-compat-math-continue
UC_PROPERTY_PATTERN_WHITE_SPACEunictype/property-pattern-white-space
UC_PROPERTY_PATTERN_SYNTAXunictype/property-pattern-syntax
UC_PROPERTY_JOIN_CONTROLunictype/property-join-control
UC_PROPERTY_GRAPHEME_BASEunictype/property-grapheme-base
UC_PROPERTY_GRAPHEME_EXTENDunictype/property-grapheme-extend
UC_PROPERTY_OTHER_GRAPHEME_EXTENDunictype/property-other-grapheme-extend
UC_PROPERTY_GRAPHEME_LINKunictype/property-grapheme-link
UC_PROPERTY_MODIFIER_COMBINING_MARKunictype/property-modifier-combining-mark
UC_PROPERTY_BIDI_CONTROLunictype/property-bidi-control
UC_PROPERTY_BIDI_LEFT_TO_RIGHTunictype/property-bidi-left-to-right
UC_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFTunictype/property-bidi-hebrew-right-to-left
UC_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFTunictype/property-bidi-arabic-right-to-left
UC_PROPERTY_BIDI_EUROPEAN_DIGITunictype/property-bidi-european-digit
UC_PROPERTY_BIDI_EUR_NUM_SEPARATORunictype/property-bidi-eur-num-separator
UC_PROPERTY_BIDI_EUR_NUM_TERMINATORunictype/property-bidi-eur-num-terminator
UC_PROPERTY_BIDI_ARABIC_DIGITunictype/property-bidi-arabic-digit
UC_PROPERTY_BIDI_COMMON_SEPARATORunictype/property-bidi-common-separator
UC_PROPERTY_BIDI_BLOCK_SEPARATORunictype/property-bidi-block-separator
UC_PROPERTY_BIDI_SEGMENT_SEPARATORunictype/property-bidi-segment-separator
UC_PROPERTY_BIDI_WHITESPACEunictype/property-bidi-whitespace
UC_PROPERTY_BIDI_NON_SPACING_MARKunictype/property-bidi-non-spacing-mark
UC_PROPERTY_BIDI_BOUNDARY_NEUTRALunictype/property-bidi-boundary-neutral
UC_PROPERTY_BIDI_PDFunictype/property-bidi-pdf
UC_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDEunictype/property-bidi-embedding-or-override
UC_PROPERTY_BIDI_OTHER_NEUTRALunictype/property-bidi-other-neutral
UC_PROPERTY_HEX_DIGITunictype/property-hex-digit
UC_PROPERTY_ASCII_HEX_DIGITunictype/property-ascii-hex-digit
UC_PROPERTY_IDEOGRAPHICunictype/property-ideographic
UC_PROPERTY_UNIFIED_IDEOGRAPHunictype/property-unified-ideograph
UC_PROPERTY_RADICALunictype/property-radical
UC_PROPERTY_IDS_UNARY_OPERATORunictype/property-ids-unary-operator
UC_PROPERTY_IDS_BINARY_OPERATORunictype/property-ids-binary-operator
UC_PROPERTY_IDS_TRINARY_OPERATORunictype/property-ids-trinary-operator
UC_PROPERTY_EMOJIunictype/property-emoji
UC_PROPERTY_EMOJI_PRESENTATIONunictype/property-emoji-presentation
UC_PROPERTY_EMOJI_MODIFIERunictype/property-emoji-modifier
UC_PROPERTY_EMOJI_MODIFIER_BASEunictype/property-emoji-modifier-base
UC_PROPERTY_EMOJI_COMPONENTunictype/property-emoji-component
UC_PROPERTY_EXTENDED_PICTOGRAPHICunictype/property-extended-pictographic
UC_PROPERTY_ZERO_WIDTHunictype/property-zero-width
UC_PROPERTY_SPACEunictype/property-space
UC_PROPERTY_NON_BREAKunictype/property-non-break
UC_PROPERTY_ISO_CONTROLunictype/property-iso-control
UC_PROPERTY_FORMAT_CONTROLunictype/property-format-control
UC_PROPERTY_PREPENDED_CONCATENATION_MARKunictype/property-prepended-concatenation-mark
UC_PROPERTY_DASHunictype/property-dash
UC_PROPERTY_HYPHENunictype/property-hyphen
UC_PROPERTY_PUNCTUATIONunictype/property-punctuation
UC_PROPERTY_LINE_SEPARATORunictype/property-line-separator
UC_PROPERTY_PARAGRAPH_SEPARATORunictype/property-paragraph-separator
UC_PROPERTY_QUOTATION_MARKunictype/property-quotation-mark
UC_PROPERTY_SENTENCE_TERMINALunictype/property-sentence-terminal
UC_PROPERTY_TERMINAL_PUNCTUATIONunictype/property-terminal-punctuation
UC_PROPERTY_CURRENCY_SYMBOLunictype/property-currency-symbol
UC_PROPERTY_MATHunictype/property-math
UC_PROPERTY_OTHER_MATHunictype/property-other-math
UC_PROPERTY_PAIRED_PUNCTUATIONunictype/property-paired-punctuation
UC_PROPERTY_LEFT_OF_PAIRunictype/property-left-of-pair
UC_PROPERTY_COMBININGunictype/property-combining
UC_PROPERTY_COMPOSITEunictype/property-composite
UC_PROPERTY_DECIMAL_DIGITunictype/property-decimal-digit
UC_PROPERTY_NUMERICunictype/property-numeric
UC_PROPERTY_DIACRITICunictype/property-diacritic
UC_PROPERTY_EXTENDERunictype/property-extender
UC_PROPERTY_IGNORABLE_CONTROLunictype/property-ignorable-control
UC_PROPERTY_REGIONAL_INDICATORunictype/property-regional-indicator
uc_property_bynameunictype/property-byname
uc_property_is_validunictype/base
uc_is_propertyunictype/property-test
uc_is_property_white_spaceunictype/property-white-space
uc_is_property_alphabeticunictype/property-alphabetic
uc_is_property_other_alphabeticunictype/property-other-alphabetic
uc_is_property_not_a_characterunictype/property-not-a-character
uc_is_property_default_ignorable_code_pointunictype/property-default-ignorable-code-point
uc_is_property_other_default_ignorable_code_pointunictype/property-other-default-ignorable-code-point
uc_is_property_deprecatedunictype/property-deprecated
uc_is_property_logical_order_exceptionunictype/property-logical-order-exception
uc_is_property_variation_selectorunictype/property-variation-selector
uc_is_property_private_useunictype/property-private-use
uc_is_property_unassigned_code_valueunictype/property-unassigned-code-value
uc_is_property_uppercaseunictype/property-uppercase
uc_is_property_other_uppercaseunictype/property-other-uppercase
uc_is_property_lowercaseunictype/property-lowercase
uc_is_property_other_lowercaseunictype/property-other-lowercase
uc_is_property_titlecaseunictype/property-titlecase
uc_is_property_casedunictype/property-cased
uc_is_property_case_ignorableunictype/property-case-ignorable
uc_is_property_changes_when_lowercasedunictype/property-changes-when-lowercased
uc_is_property_changes_when_uppercasedunictype/property-changes-when-uppercased
uc_is_property_changes_when_titlecasedunictype/property-changes-when-titlecased
uc_is_property_changes_when_casefoldedunictype/property-changes-when-casefolded
uc_is_property_changes_when_casemappedunictype/property-changes-when-casemapped
uc_is_property_soft_dottedunictype/property-soft-dotted
uc_is_property_id_startunictype/property-id-start
uc_is_property_other_id_startunictype/property-other-id-start
uc_is_property_id_continueunictype/property-id-continue
uc_is_property_other_id_continueunictype/property-other-id-continue
uc_is_property_xid_startunictype/property-xid-start
uc_is_property_xid_continueunictype/property-xid-continue
uc_is_property_id_compat_math_startunictype/property-id-compat-math-start
uc_is_property_id_compat_math_continueunictype/property-id-compat-math-continue
uc_is_property_pattern_white_spaceunictype/property-pattern-white-space
uc_is_property_pattern_syntaxunictype/property-pattern-syntax
uc_is_property_join_controlunictype/property-join-control
uc_is_property_grapheme_baseunictype/property-grapheme-base
uc_is_property_grapheme_extendunictype/property-grapheme-extend
uc_is_property_other_grapheme_extendunictype/property-other-grapheme-extend
uc_is_property_grapheme_linkunictype/property-grapheme-link
uc_is_property_modifier_combining_markunictype/property-modifier-combining-mark
uc_is_property_bidi_controlunictype/property-bidi-control
uc_is_property_bidi_left_to_rightunictype/property-bidi-left-to-right
uc_is_property_bidi_hebrew_right_to_leftunictype/property-bidi-hebrew-right-to-left
uc_is_property_bidi_arabic_right_to_leftunictype/property-bidi-arabic-right-to-left
uc_is_property_bidi_european_digitunictype/property-bidi-european-digit
uc_is_property_bidi_eur_num_separatorunictype/property-bidi-eur-num-separator
uc_is_property_bidi_eur_num_terminatorunictype/property-bidi-eur-num-terminator
uc_is_property_bidi_arabic_digitunictype/property-bidi-arabic-digit
uc_is_property_bidi_common_separatorunictype/property-bidi-common-separator
uc_is_property_bidi_block_separatorunictype/property-bidi-block-separator
uc_is_property_bidi_segment_separatorunictype/property-bidi-segment-separator
uc_is_property_bidi_whitespaceunictype/property-bidi-whitespace
uc_is_property_bidi_non_spacing_markunictype/property-bidi-non-spacing-mark
uc_is_property_bidi_boundary_neutralunictype/property-bidi-boundary-neutral
uc_is_property_bidi_pdfunictype/property-bidi-pdf
uc_is_property_bidi_embedding_or_overrideunictype/property-bidi-embedding-or-override
uc_is_property_bidi_other_neutralunictype/property-bidi-other-neutral
uc_is_property_hex_digitunictype/property-hex-digit
uc_is_property_ascii_hex_digitunictype/property-ascii-hex-digit
uc_is_property_ideographicunictype/property-ideographic
uc_is_property_unified_ideographunictype/property-unified-ideograph
uc_is_property_radicalunictype/property-radical
uc_is_property_ids_unary_operatorunictype/property-ids-unary-operator
uc_is_property_ids_binary_operatorunictype/property-ids-binary-operator
uc_is_property_ids_trinary_operatorunictype/property-ids-trinary-operator
uc_is_property_emojiunictype/property-emoji
uc_is_property_emoji_presentationunictype/property-emoji-presentation
uc_is_property_emoji_modifierunictype/property-emoji-modifier
uc_is_property_emoji_modifier_baseunictype/property-emoji-modifier-base
uc_is_property_emoji_componentunictype/property-emoji-component
uc_is_property_extended_pictographicunictype/property-extended-pictographic
uc_is_property_zero_widthunictype/property-zero-width
uc_is_property_spaceunictype/property-space
uc_is_property_non_breakunictype/property-non-break
uc_is_property_iso_controlunictype/property-iso-control
uc_is_property_format_controlunictype/property-format-control
uc_is_property_prepended_concatenation_markunictype/property-prepended-concatenation-mark
uc_is_property_dashunictype/property-dash
uc_is_property_hyphenunictype/property-hyphen
uc_is_property_punctuationunictype/property-punctuation
uc_is_property_line_separatorunictype/property-line-separator
uc_is_property_paragraph_separatorunictype/property-paragraph-separator
uc_is_property_quotation_markunictype/property-quotation-mark
uc_is_property_sentence_terminalunictype/property-sentence-terminal
uc_is_property_terminal_punctuationunictype/property-terminal-punctuation
uc_is_property_currency_symbolunictype/property-currency-symbol
uc_is_property_mathunictype/property-math
uc_is_property_other_mathunictype/property-other-math
uc_is_property_paired_punctuationunictype/property-paired-punctuation
uc_is_property_left_of_pairunictype/property-left-of-pair
uc_is_property_combiningunictype/property-combining
uc_is_property_compositeunictype/property-composite
uc_is_property_decimal_digitunictype/property-decimal-digit
uc_is_property_numericunictype/property-numeric
uc_is_property_diacriticunictype/property-diacritic
uc_is_property_extenderunictype/property-extender
uc_is_property_ignorable_controlunictype/property-ignorable-control
uc_is_property_regional_indicatorunictype/property-regional-indicator
uc_indic_conjunct_break_nameunictype/incb-name
uc_indic_conjunct_break_bynameunictype/incb-byname
uc_indic_conjunct_breakunictype/incb-of
uc_scriptunictype/scripts
uc_script_bynameunictype/scripts
uc_is_scriptunictype/scripts
uc_all_scriptsunictype/scripts
uc_blockunictype/block-of
uc_is_blockunictype/block-test
uc_all_blocksunictype/block-list
uc_is_c_whitespaceunictype/syntax-c-whitespace
uc_is_java_whitespaceunictype/syntax-java-whitespace
uc_c_ident_categoryunictype/syntax-c-ident
uc_java_ident_categoryunictype/syntax-java-ident
uc_is_alnumunictype/ctype-alnum
uc_is_alphaunictype/ctype-alpha
uc_is_cntrlunictype/ctype-cntrl
uc_is_digitunictype/ctype-digit
uc_is_graphunictype/ctype-graph
uc_is_lowerunictype/ctype-lower
uc_is_printunictype/ctype-print
uc_is_punctunictype/ctype-punct
uc_is_spaceunictype/ctype-space
uc_is_upperunictype/ctype-upper
uc_is_xdigitunictype/ctype-xdigit
uc_is_blankunictype/ctype-blank

Next: , Previous: , Up: The libunistring modules   [Contents][Index]

17.15.2.7 Declarations in <uniwidth.h>

FunctionModule
uc_widthuniwidth/width
u8_widthuniwidth/u8-width
u16_widthuniwidth/u16-width
u32_widthuniwidth/u32-width
u8_strwidthuniwidth/u8-strwidth
u16_strwidthuniwidth/u16-strwidth
u32_strwidthuniwidth/u32-strwidth

Next: , Previous: , Up: The libunistring modules   [Contents][Index]

17.15.2.8 Declarations in <unigbrk.h>

FunctionModule
u8_grapheme_nextunigbrk/u8-grapheme-next
u16_grapheme_nextunigbrk/u16-grapheme-next
u32_grapheme_nextunigbrk/u32-grapheme-next
u8_grapheme_prevunigbrk/u8-grapheme-prev
u16_grapheme_prevunigbrk/u16-grapheme-prev
u32_grapheme_prevunigbrk/u32-grapheme-prev
u8_grapheme_breaksunigbrk/u8-grapheme-breaks
u16_grapheme_breaksunigbrk/u16-grapheme-breaks
u32_grapheme_breaksunigbrk/u32-grapheme-breaks
ulc_grapheme_breaksunigbrk/ulc-grapheme-breaks
uc_grapheme_breaksunigbrk/uc-grapheme-breaks
uc_graphemeclusterbreak_propertyunigbrk/uc-gbrk-prop
uc_is_grapheme_breakunigbrk/uc-is-grapheme-break

Next: , Previous: , Up: The libunistring modules   [Contents][Index]

17.15.2.9 Declarations in <uniwbrk.h>

FunctionModule
u8_wordbreaksuniwbrk/u8-wordbreaks
u16_wordbreaksuniwbrk/u16-wordbreaks
u32_wordbreaksuniwbrk/u32-wordbreaks
ulc_wordbreaksuniwbrk/ulc-wordbreaks
uc_wordbreak_propertyuniwbrk/wordbreak-property

Next: , Previous: , Up: The libunistring modules   [Contents][Index]

17.15.2.10 Declarations in <unilbrk.h>

FunctionModule
u8_possible_linebreaksunilbrk/u8-possible-linebreaks
u16_possible_linebreaksunilbrk/u16-possible-linebreaks
u32_possible_linebreaksunilbrk/u32-possible-linebreaks
ulc_possible_linebreaksunilbrk/ulc-possible-linebreaks
u8_width_linebreaksunilbrk/u8-width-linebreaks
u16_width_linebreaksunilbrk/u16-width-linebreaks
u32_width_linebreaksunilbrk/u32-width-linebreaks
ulc_width_linebreaksunilbrk/ulc-width-linebreaks

Next: , Previous: , Up: The libunistring modules   [Contents][Index]

17.15.2.11 Declarations in <uninorm.h>

Function or macroModule
uc_decompositionuninorm/decomposition
uc_canonical_decompositionuninorm/canonical-decomposition
uc_compositionuninorm/composition
UNINORM_NFDuninorm/nfd
UNINORM_NFCuninorm/nfc
UNINORM_NFKDuninorm/nfkd
UNINORM_NFKCuninorm/nfkc
uninorm_is_compat_decomposinguninorm/base
uninorm_is_composinguninorm/base
uninorm_decomposing_formuninorm/decomposing-form
u8_normalizeuninorm/u8-normalize
u16_normalizeuninorm/u16-normalize
u32_normalizeuninorm/u32-normalize
u8_normcmpuninorm/u8-normcmp
u16_normcmpuninorm/u16-normcmp
u32_normcmpuninorm/u32-normcmp
u8_normxfrmuninorm/u8-normxfrm
u16_normxfrmuninorm/u16-normxfrm
u32_normxfrmuninorm/u32-normxfrm
u8_normcolluninorm/u8-normcoll
u16_normcolluninorm/u16-normcoll
u32_normcolluninorm/u32-normcoll
uninorm_filter_createuninorm/filter
uninorm_filter_writeuninorm/filter
uninorm_filter_flushuninorm/filter
uninorm_filter_freeuninorm/filter

Previous: , Up: The libunistring modules   [Contents][Index]

17.15.2.12 Declarations in <unicase.h>

Function or constantModule
uc_toupperunicase/toupper
uc_tolowerunicase/tolower
uc_totitleunicase/totitle
uc_locale_languageunicase/locale-language
u8_toupperunicase/u8-toupper
u16_toupperunicase/u16-toupper
u32_toupperunicase/u32-toupper
u8_tolowerunicase/u8-tolower
u16_tolowerunicase/u16-tolower
u32_tolowerunicase/u32-tolower
u8_totitleunicase/u8-totitle
u16_totitleunicase/u16-totitle
u32_totitleunicase/u32-totitle
unicase_empty_prefix_contextunicase/empty-prefix-context
u8_casing_prefix_contextunicase/u8-prefix-context
u16_casing_prefix_contextunicase/u16-prefix-context
u32_casing_prefix_contextunicase/u32-prefix-context
u8_casing_prefixes_contextunicase/u8-prefix-context
u16_casing_prefixes_contextunicase/u16-prefix-context
u32_casing_prefixes_contextunicase/u32-prefix-context
unicase_empty_suffix_contextunicase/empty-suffix-context
u8_casing_suffix_contextunicase/u8-suffix-context
u16_casing_suffix_contextunicase/u16-suffix-context
u32_casing_suffix_contextunicase/u32-suffix-context
u8_casing_suffixes_contextunicase/u8-suffix-context
u16_casing_suffixes_contextunicase/u16-suffix-context
u32_casing_suffixes_contextunicase/u32-suffix-context
u8_ct_toupperunicase/u8-ct-toupper
u16_ct_toupperunicase/u16-ct-toupper
u32_ct_toupperunicase/u32-ct-toupper
u8_ct_tolowerunicase/u8-ct-tolower
u16_ct_tolowerunicase/u16-ct-tolower
u32_ct_tolowerunicase/u32-ct-tolower
u8_ct_totitleunicase/u8-ct-totitle
u16_ct_totitleunicase/u16-ct-totitle
u32_ct_totitleunicase/u32-ct-totitle
u8_casefoldunicase/u8-casefold
u16_casefoldunicase/u16-casefold
u32_casefoldunicase/u32-casefold
u8_ct_casefoldunicase/u8-ct-casefold
u16_ct_casefoldunicase/u16-ct-casefold
u32_ct_casefoldunicase/u32-ct-casefold
u8_casecmpunicase/u8-casecmp
u16_casecmpunicase/u16-casecmp
u32_casecmpunicase/u32-casecmp
ulc_casecmpunicase/ulc-casecmp
u8_casexfrmunicase/u8-casexfrm
u16_casexfrmunicase/u16-casexfrm
u32_casexfrmunicase/u32-casexfrm
ulc_casexfrmunicase/ulc-casexfrm
u8_casecollunicase/u8-casecoll
u16_casecollunicase/u16-casecoll
u32_casecollunicase/u32-casecoll
ulc_casecollunicase/ulc-casecoll
u8_is_uppercaseunicase/u8-is-uppercase
u16_is_uppercaseunicase/u16-is-uppercase
u32_is_uppercaseunicase/u32-is-uppercase
u8_is_lowercaseunicase/u8-is-lowercase
u16_is_lowercaseunicase/u16-is-lowercase
u32_is_lowercaseunicase/u32-is-lowercase
u8_is_titlecaseunicase/u8-is-titlecase
u16_is_titlecaseunicase/u16-is-titlecase
u32_is_titlecaseunicase/u32-is-titlecase
u8_is_casefoldedunicase/u8-is-casefolded
u16_is_casefoldedunicase/u16-is-casefolded
u32_is_casefoldedunicase/u32-is-casefolded
u8_is_casedunicase/u8-is-cased
u16_is_casedunicase/u16-is-cased
u32_is_casedunicase/u32-is-cased

Next: , Previous: , Up: Particular Modules   [Contents][Index]

17.16 Stack traces

Printing a stack trace was traditionally seen as a feature of the debugging environment and thus only implemented in the debuggers (gdb etc.). However, they are also useful in production code, for use in two circumstances:

And in fact, printing a stack trace is part of the basic runtime system in programming languages such as Java (printStackTrace method), Python (print_exception method), Go (PrintStack function), and ISO C++ 23 (std::stacktrace class).

Gnulib provides a module ‘stack-trace’ with this feature: print_stack_trace () prints a stack trace of the current thread to standard error.

For it to work best, three requirements need to be met:

When these requirements are not met, the function print_stack_trace () either prints a stack trace without source file names and line numbers, or prints nothing at all.

Gnulib also provides a module ‘abort-debug’, that overrides the abort function so that it prints the stack trace of the current thread, before actually aborting. Thus, abort () remains the idiom of choice for signaling a fatal situation that requires developer attention: it is useful both in debugging environments and production code.

Note: While the original abort function is safe to call in signal handlers, the overridden abort function is not. In signal handlers, you will need to call the original abort function, by doing #undef abort first.


Next: , Previous: , Up: Particular Modules   [Contents][Index]

17.17 Printing –version and bug-reporting information

Gnulib provides a few modules for printing --version and bug-reporting information according to the GNU Coding Standards; see https://www.gnu.org/prep/standards/html_node/_002d_002dversion.html#g_t_002d_002dversion

The ‘version-etc’ module defines functions used to emit --version and bug-reporting input in a standard way. The module expects the string version_etc_copyright to be defined to display the copyright holder along with the package release year. The version_etc function can then be used like so:


const char version_etc_copyright[] = "Copyright %s %d copyright-holder";

int
main (void)
{
  version_etc (stdout, "my-program", "my-package", "1.0",
               "author1", "author2", (const char *) NULL);
  return 0;
}

The above example generates the following output:

my-program (my-package) 1.0
Copyright (C) 2025 copyright-holder
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by author1 and author2.

The ‘version-etc’ module also defines the function emit_bug_reporting_address which emits the bug-reporting location based on arguments passed to AC_INIT. For example, using the following in configure.ac:

AC_INIT([gnulib], [0.0], [bug-gnulib@gnu.org], [gnulib],
        [https://www.gnu.org/software/gnulib/])

And the following program:

#include <config.h>

#include "version-etc.h"

int
main (void)
{
  emit_bug_reporting_address ();
  return 0;
}

Will output:

Report bugs to: bug-gnulib@gnu.org
gnulib home page: <https://www.gnu.org/software/gnulib/>
General help using GNU software: <https://www.gnu.org/gethelp/>

The ‘version-etc-fsf’ module defines and links to the variable version_etc_copyright containing copyright information for Free Software Foundation. This module should be used by programs which are FSF-copyrighted and use the ‘version-etc’ module.

The ‘argp-version-etc’ defines the argp_version_setup function takes the program name and authors as arguments. This function should be called before argp_parse since it modifies argp global variables; see https://www.gnu.org/software/libc/manual/html_node/Argp-Global-Variables.html.


Next: , Previous: , Up: Particular Modules   [Contents][Index]

17.18 Recognizing Option Arguments

The module ‘argmatch’ provides a simple textual user interface to a finite choice. It is for example well suited to recognize arguments of options or values of environment variables that accept a fixed set of valid choices.

These choices may be denoted by synonyms, such as ‘none’ and ‘off’ below.

$ my_cp --backup=none foo bar
$ my_cp --backup=non foo bar
$ my_cp --backup=no foo bar
$ my_cp --backup=n foo bar
my_cp: ambiguous argument 'n' for 'backup type'
Valid arguments are:
  - 'no', 'none', 'off'
  - 'numbered', 't', 'newstyle'
  - 'existing', 'nil', 'numbered-existing'
  - 'simple', 'never', 'single'
Try 'my_cp --help' for more information.
$ my_cp --backup=num foo bar
$ my_cp --backup=true foo bar
my_cp: invalid argument 'true' for 'backup type'
Valid arguments are:
  - 'no', 'none', 'off'
  - 'numbered', 't', 'newstyle'
  - 'existing', 'nil', 'numbered-existing'
  - 'simple', 'never', 'single'
Try 'my_cp --help' for more information.

To set up argmatch, first call ‘ARGMATCH_DEFINE_GROUP (name, type)’ with the name of the argmatch group name, and the value type. For instance:

enum backup_type
{
  no_backups,
  simple_backups,
  numbered_existing_backups,
  numbered_backups
};

ARGMATCH_DEFINE_GROUP (backup, enum backup_type);

This defines a few types and functions named argmatch_name_*. Introduce the array that defines the mapping from user-input to actual value, with a terminator:

static const argmatch_backup_arg argmatch_backup_args[] =
{
  { "no",                no_backups },
  { "none",              no_backups },
  { "off",               no_backups },
  { "simple",            simple_backups },
  { "never",             simple_backups },
  { "single",            simple_backups },
  { "existing",          numbered_existing_backups },
  { "nil",               numbered_existing_backups },
  { "numbered-existing", numbered_existing_backups },
  { "numbered",          numbered_backups },
  { "t",                 numbered_backups },
  { "newstyle",          numbered_backups },
  { NULL, no_backups }
};

Then introduce the array that defines the values, also with a terminator. Document only once per group of synonyms:

static const argmatch_backup_doc argmatch_backup_docs[] =
{
  { "no",       N_("never make backups (even if --backup is given)") },
  { "numbered", N_("make numbered backups") },
  { "existing", N_("numbered if numbered backups exist, simple otherwise") },
  { "simple",   N_("always make simple backups") },
  { NULL, NULL }
};

Finally, define the argmatch group:

const argmatch_backup_group_type argmatch_backup_group =
{
  argmatch_backup_args,
  argmatch_backup_docs,
  N_("\
The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n\
The version control method may be selected via the --backup option or through\n\
the VERSION_CONTROL environment variable.  Here are the values:\n"),
  NULL
};

To use the argmatch group:

ptrdiff_t i = argmatch_backup_choice ("--backup", "none");
// argmatch_backup_group.args[i].arg is "none", so its value
// is argmatch_backup_group.args[i].val.
// Return -1 on invalid argument, and -2 on ambiguity.

enum backup_type val = *argmatch_backup_value ("--backup", "none");
// Returns a pointer to the value, and exit on errors.
// So argmatch_backup_group.args[i].val == val.

const char *arg = argmatch_backup_argument (&no_backups);
// arg is "no".

// Print the documentation on stdout.
argmatch_backup_usage (stdout);
// Gives:
//
// The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.
// The version control method may be selected via the --backup option or through
// the VERSION_CONTROL environment variable.  Here are the values:
//
//   no, none, off  never make backups (even if --backup is given)
//   numbered, t, newstyle
//                  make numbered backups
//   existing, nil, numbered-existing
//                  numbered if numbered backups exist, simple otherwise
//   simple, never, single
//                  always make simple backups

Next: , Previous: , Up: Particular Modules   [Contents][Index]

17.19 Quoting

Gnulib provides ‘quote’ and ‘quotearg’ modules to help with quoting text, such as file names, in messages to the user. Here’s an example of using ‘quote’:

#include <quote.h>
 ...
  error (0, errno, _("cannot change owner of %s"), quote (fname));

This differs from

  error (0, errno, _("cannot change owner of '%s'"), fname);

in that quote escapes unusual characters in fname, e.g., ‘'’ and control characters like ‘\n’.

However, a caveat: quote reuses the storage that it returns. Hence if you need more than one thing quoted at the same time, you need to use quote_n.

Also, the quote module is not suited for multithreaded applications. In that case, you have to use quotearg_alloc, defined in the ‘quotearg’ module, which is decidedly less convenient.


Next: , Previous: , Up: Particular Modules   [Contents][Index]

17.20 progname and getprogname

Gnulib has two modules for retrieving the name of the currently executing program: progname and getprogname.

The progname module defines a variable program_name. It contains the name of the currently executing program, on all platforms. But it cannot be used implicitly: It requires that every main function be modified to invoke set_program_name (argv[0]) as one of its first actions.

The getprogname module defines a function getprogname(). It returns the name of the currently executing program, on most platforms. The advantage of this module is that it can be used without prior initializations. But it has limitations: In some rare situations, it cannot determine the name; then it returns "?" instead. And on some platforms, it returns a truncated program name.

The error function uses the getprogname module.


Next: , Previous: , Up: Particular Modules   [Contents][Index]

17.21 gcd: greatest common divisor

The gcd function returns the greatest common divisor of two numbers a > 0 and b > 0. It is the caller’s responsibility to ensure that the arguments are non-zero.

If you need a gcd function for an integer type larger than ‘unsigned long’, you can include the gcd.c implementation file with parametrization. The parameters are:

The created function has the prototype

WORD_T GCD (WORD_T a, WORD_T b);

If you need the least common multiple of two numbers, it can be computed like this: lcm(a,b) = (a / gcd(a,b)) * b or lcm(a,b) = a * (b / gcd(a,b)). Avoid the formula lcm(a,b) = (a * b) / gcd(a,b) because—although mathematically correct—it can yield a wrong result, due to integer overflow.

In some applications it is useful to have a function taking the gcd of two signed numbers. In this case, the gcd function result is usually normalized to be non-negative (so that two gcd results can be compared in magnitude or compared against 1, etc.). Note that in this case the prototype of the function has to be

unsigned long gcd (long a, long b);

and not

long gcd (long a, long b);

because gcd(LONG_MIN,LONG_MIN) = -LONG_MIN = LONG_MAX + 1 does not fit into a signed ‘long’.


Next: , Previous: , Up: Particular Modules   [Contents][Index]

17.22 Profiling of program phases

The module ‘timevar’ provides a simple self-profiling facility, based on timers.

Execution times (seconds)
read                  :   0.09 (19%) usr   0.08 (80%) sys   0.09 (18%) wall
read: scan            :   0.04 ( 9%) usr   0.08 (80%) sys   0.12 (26%) wall
read: parse           :   0.05 (10%) usr   0.00 ( 0%) sys   0.05 (10%) wall
work                  :   0.33 (70%) usr   0.00 ( 0%) sys   0.35 (71%) wall
work: phase 1         :   0.30 (64%) usr   0.00 ( 0%) sys   0.30 (64%) wall
work: phase 2         :   0.13 (28%) usr   0.00 ( 0%) sys   0.14 (29%) wall
output                :   0.04 ( 9%) usr   0.02 (20%) sys   0.04 ( 8%) wall
total time            :   0.47             0.10             0.49

To set up timevar, copy the stub file gnulib/lib/timevar.def next to where timevar.h and timevar.c were imported in your project, and define your timers there. For instance:

/* The total execution time.  Mandatory.  */
DEFTIMEVAR (tv_total,      "total time")

/* Examples.  */
DEFTIMEVAR (tv_read,       "read")
DEFTIMEVAR (tv_work,       "work")
DEFTIMEVAR (tv_work_1,     "work: phase 1")
DEFTIMEVAR (tv_work_2,     "work: phase 2")
DEFTIMEVAR (tv_output,     "output")

Do not remove tv_total, it is mandatory. You may change its associated string.


Use timevar_push/timevar_pop to start/stop timers, as in the following example.

#include <config.h>
#include "timevar.h"

#include <stdio.h>
#include "read.h"
#include "work.h"
#include "output.h"

int
main (void)
{
  timevar_enabled = true;
  timevar_init ();
  timevar_start (tv_total);

  timevar_push (tv_read);
  reader ();
  timevar_pop (tv_read);

  timevar_push (tv_work);
  work ();
  timevar_pop (tv_work);

  timevar_push (tv_output);
  output ();
  timevar_pop (tv_output);

  timevar_stop (tv_total);
  timevar_print (stderr);
}

with, for instance, in work.c

#include <config.h>
#include "work.h"

void
work (void)
{
  timevar_push (tv_work_phase1);
  work1 ();
  timevar_pop (tv_work_phase1);

  timevar_push (tv_work_phase2);
  work2 ();
  timevar_pop (tv_work_phase2);
}

Next: , Previous: , Up: Particular Modules   [Contents][Index]

17.23 Library version handling

The module ‘check-version’ can be useful when your gnulib application is a system library. You will typically wrap the call to the check_version function through a library API, your library header file may contain:

#define STRINGPREP_VERSION "0.5.18"
...
  extern const char *stringprep_check_version (const char *req_version);

To avoid ELF symbol collisions with other libraries that use the ‘check-version’ module, add to config.h through a AC_DEFINE something like:

AC_DEFINE(check_version, stringprep_check_version,
          [Rename check_version.])

The stringprep_check_version function will thus be implemented by the check_version module.

There are two uses of the interface. The first is a way to provide for applications to find out the version number of the library it uses. The application may contain diagnostic code such as:

  printf ("Stringprep version: header %s library %s",
          STRINGPREP_VERSION,
          stringprep_check_version (NULL));

Separating the library and header file version can be useful when searching for version mismatch related problems.

The second uses is as a rudimentary test of proper library version, by making sure the application get a library version that is the same, or newer, than the header file used when building the application. This doesn’t catch all problems, libraries may change backwards incompatibly in later versions, but enable applications to require a certain minimum version before it may proceed.

Typical uses look like:

       /* Check version of libgcrypt. */
       if (!gcry_check_version (GCRYPT_VERSION))
         die ("version mismatch\n");

Next: , Previous: , Up: Particular Modules   [Contents][Index]

17.24 Supporting Relocation

It has been a pain for many users of GNU packages for a long time that packages are not relocatable. It means a user cannot copy a program, installed by another user on the same machine, to his home directory, and have it work correctly (including i18n). So many users need to go through configure; make; make install with all its dependencies, options, and hurdles.

Red Hat, Debian, and other binary distributions solve the “ease of installation” problem, but they hardwire path names, usually to /usr or /usr/local. This means that users need root privileges to install a binary package, and prevents installing two different versions of the same binary package.

A relocatable program can be moved or copied to a different location on the file system. It is possible to make symlinks to the installed and moved programs, and invoke them through the symlink. It is possible to do the same thing with a hard link only if the hard link file is in the same directory as the real program.

The relocatable-prog module aims to ease the process of making a GNU program relocatable. It helps overcome two obstacles. First, it aids with relocating the hard-coded references to absolute file names that GNU programs often contain. These references must be fixed up at runtime if a program is to be successfully relocated. The relocatable-prog module provides a function relocate that does this job.

Second, the loader must be able to find shared libraries linked to relocatable executables or referenced by other shared libraries linked to relocatable executables. The relocatable-prog module helps out here in a platform-specific way:

You can make your program relocatable by following these steps:

  1. Import the relocatable-prog module. For libraries, use the relocatable-lib or relocatable-lib-lgpl module, if the libraries are independent. For installing multiple libraries, at least one of which depends on another one, use the relocatable-prog module. If you need more than one module, or you need to use them with different settings, you will need multiple copies of gnulib (see Multiple instances).
  2. In every program, add to main as the first statement (even before setting the locale or doing anything related to libintl):
    set_program_name (argv[0]);
    

    The prototype for this function is in progname.h.

  3. If you want your code to be portable to platforms that do not support automatic initialization, call set_relocation_prefix.
  4. Everywhere where you use a constant pathname from installation-time, wrap it in relocate so it gets translated to the run-time situation. Example:
    bindtextdomain (PACKAGE, LOCALEDIR);
    

    becomes:

    bindtextdomain (PACKAGE, relocate (LOCALEDIR));
    

    The prototype for this function is in relocatable.h.

    There is also a variant of this function, named relocate2, that makes it easy to reclaim the memory allocated by the call.

  5. The set_program_name function can also configure some additional libraries to relocate files that they access, by defining corresponding C preprocessor symbols to 1. The libraries for which this is supported and the corresponding preprocessor symbols are:
    libcharset

    DEPENDS_ON_LIBCHARSET

    libiconv

    DEPENDS_ON_LIBICONV

    libintl

    DEPENDS_ON_LIBINTL

    Defining the symbol for a library makes every program in the package depend on that library, whether the program really uses the library or not, so this feature should be used with some caution.

  6. If your package installs shell scripts, also import the relocatable-script module. Then, near the beginning of each shell script that your package installs, add the following:
    @relocatable_sh@
    
    prefix="@prefix@"
    exec_prefix="@exec_prefix@"   # usually needs $prefix.
    datarootdir="@datarootdir@"   # usually needs $prefix.
    
    if test "@RELOCATABLE@" = yes; then
      bindir="@bindir@"
      orig_installdir="$bindir" # see Makefile.am's *_SCRIPTS variables
      func_find_curr_installdir # determine curr_installdir
      func_find_prefixes
      relocate () {
        echo "$1/" \
        | sed -e "s%^${orig_installprefix}/%${curr_installprefix}/%" \
        | sed -e 's,/$,,'
      }
    else
      relocate () {
        echo "$1"
      }
    fi
    
    # Get some relocated directory names.
    sysconfdir=`relocate "@sysconfdir@"`          # usually needs $prefix.
    some_datadir=`relocate "@datadir@/something"` # usually needs $datarootdir.
    bindir=`relocate "@bindir@"`       # usually needs $exec_prefix, hence $prefix.
    

    You must adapt the definition of orig_installdir, depending on where the script gets installed. Also, at the end, instead of sysconfdir and some_datadir, transform those variables that you need.

  7. If your package installs Perl scripts, also import the relocatable-perl module. Then, near the beginning of each Perl script that your package installs, add the following:
    @relocatable_pl@
    if ("@RELOCATABLE@" eq "yes") {
      my $exec_prefix = "@exec_prefix@";
      my $orig_installdir = "@bindir@"; # see Makefile.am's *_SCRIPTS variables
      my ($orig_installprefix, $curr_installprefix) =
        find_prefixes($orig_installdir, find_curr_installdir());
    
      # the subroutine is defined whether or not the enclosing block is executed
      sub relocate {
        my ($dir) = @_;
        if ("@RELOCATABLE@" eq "yes") {
          $dir =~ s%^$orig_installprefix/%$curr_installprefix/%;
          $dir =~ s,/$,,;
        }
        return $dir;
      }
    }
    
    # Get some relocated directory names.
    # (The gnulib module 'configmake' can help with this.)
    $sysconfdir = relocate("@sysconfdir@");
    $some_datadir = relocate(@datadir@/something");
    

    You must adapt the definition of $orig_installdir, depending on where the script gets installed. Also, at the end, instead of sysconfdir and some_datadir, transform those variables that you need.

  8. In your Makefile.am, for every program foo that gets installed in, say, $(bindir), you add:
    foo_CPPFLAGS = -DINSTALLDIR=$(bindir_c_make)
    if RELOCATABLE_VIA_LD
    foo_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
    endif
    

    Similarly, if a program foo gets installed in $(pkglibdir), you add:

    foo_CPPFLAGS = -DINSTALLDIR=$(pkglibdir_c_make)
    if RELOCATABLE_VIA_LD
    foo_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(pkglibdir)`
    endif
    

    The Makefile variables bindir_c_make or pkglibdir_c_make get defined by the Autoconf macros gl_BUILD_TO_HOST_BINDIR or gl_BUILD_TO_HOST_PKGLIBDIR, respectively. These Autoconf macros are defined in the file m4/build-to-host.m4. You need to

  9. When building gnulib to use with a relocatable library, you need to define the preprocessor symbol IN_LIBRARY. You may also want to build with ENABLE_COSTLY_RELOCATABLE, in which case you will also need to define INSTALLDIR. The following fragment can be added to an override Makefile.am used to build gnulib (see Modified build rules).
    AM_CPPFLAGS += -DIN_LIBRARY -DENABLE_COSTLY_RELOCATABLE
    
    if SHLIBS_IN_BINDIR
    AM_CPPFLAGS += -DINSTALLDIR=$(bindir_c_make)
    else
    AM_CPPFLAGS += -DINSTALLDIR=$(libdir_c_make)
    endif
    

    SHLIBS_IN_BINDIR is defined in configure.ac as follows:

    AM_CONDITIONAL([SHLIBS_IN_BINDIR],
                   [case "$host_os" in mingw* | cygwin*) true;; *) false;; esac])
    
  10. In your Makefile.am, for every library libfoo that gets installed in, say, $(libdir), you add:
    if RELOCATABLE_VIA_LD
    libfoo_la_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(libdir)`
    endif
    
  11. Add a couple of variable assignments to your Makefile.am.

    If your package (or any package you rely on, e.g. gettext-runtime) will be relocated together with a set of installed shared libraries, then set RELOCATABLE_LIBRARY_PATH to a colon-separated list of those libraries’ directories, e.g.

    RELOCATABLE_LIBRARY_PATH = $(libdir)
    

    If your config.h is not in $(top_builddir), then set RELOCATABLE_CONFIG_H_DIR to its directory, e.g.

    RELOCATABLE_CONFIG_H_DIR = $(top_builddir)/src
    

Next: , Previous: , Up: Particular Modules   [Contents][Index]

17.25 func

The func module makes sure that you can use the predefined identifier __func__ as defined by C99 in your code.

A small example is:

#include <config.h>
#include <stdio.h> /* for printf */

int main (void)
{
    printf ("%s: hello world\n", __func__);
}

Note that sizeof cannot be applied to __func__: On SunPRO C compiler, sizeof __func__ evaluates to 0.


Previous: , Up: Particular Modules   [Contents][Index]

17.26 stat-size

The stat-size module provides a small number of macros intended for interpreting the file size information in an instance of struct stat.

On POSIX systems, the st_blocks member of struct stat contains the number of disk blocks occupied by a file. The ST_NBLOCKS and STP_NBLOCKS macros estimate this quantity on systems which don’t actually have st_blocks. Each of these blocks contains ST_NBLOCKSIZE bytes.

The value of ST_NBLOCKSIZE is often quite small, small enough that performing I/O in chunks that size would be inefficient. The ST_BLKSIZE and STP_BLKSIZE macros give the I/O block size recommended for I/O to this file. This is not guaranteed to give optimum performance, but it should be reasonably efficient.


Next: , Previous: , Up: Top   [Contents][Index]

18 Regular expressions


Next: , Up: Regular expressions   [Contents][Index]

18.1 Overview

A regular expression (or regexp, or pattern) is a text string that describes some (mathematical) set of strings. A regexp r matches a string s if s is in the set of strings described by r.

Using the Regex library, you can:

Some regular expressions match only one string, i.e., the set they describe has only one member. For example, the regular expression ‘foo’ matches the string ‘foo’ and no others. Other regular expressions match more than one string, i.e., the set they describe has more than one member. For example, the regular expression ‘f*’ matches the set of strings made up of any number (including zero) of ‘f’s. As you can see, some characters in regular expressions match themselves (such as ‘f’) and some don’t (such as ‘*’); the ones that don’t match themselves instead let you specify patterns that describe many different strings.

To either match or search for a regular expression with the Regex library functions, you must first compile it with a Regex pattern compiling function. A compiled pattern is a regular expression converted to the internal format used by the library functions. Once you’ve compiled a pattern, you can use it for matching or searching any number of times.

The Regex library is used by including regex.h. Regex provides three groups of functions with which you can operate on regular expressions. One group—the GNU group—is more powerful but not completely compatible with the other two, namely the POSIX and Berkeley Unix groups; its interface was designed specifically for GNU.

We wrote this chapter with programmers in mind, not users of programs—such as Emacs—that use Regex. We describe the Regex library in its entirety, not how to write regular expressions that a particular program understands.


Next: , Previous: , Up: Regular expressions   [Contents][Index]

18.2 Regular Expression Syntax

Characters are things you can type. Operators are things in a regular expression that match one or more characters. You compose regular expressions from operators, which in turn you specify using one or more characters.

Most characters represent what we call the match-self operator, i.e., they match themselves; we call these characters ordinary. Other characters represent either all or parts of fancier operators; e.g., ‘.’ represents what we call the match-any-character operator (which, no surprise, matches (almost) any character); we call these characters special. Two different things determine what characters represent what operators:

  1. the regular expression syntax your program has told the Regex library to recognize, and
  2. the context of the character in the regular expression.

In the following sections, we describe these things in more detail.


Next: , Up: Regular Expression Syntax   [Contents][Index]

18.2.1 Syntax Bits

In any particular syntax for regular expressions, some characters are always special, others are sometimes special, and others are never special. The particular syntax that Regex recognizes for a given regular expression depends on the current syntax (as set by re_set_syntax) when the pattern buffer of that regular expression was compiled.

You get a pattern buffer by compiling a regular expression. See GNU Pattern Buffers, for more information on pattern buffers. See GNU Regular Expression Compiling, and BSD Regular Expression Compiling, for more information on compiling.

Regex considers the current syntax to be a collection of bits; we refer to these bits as syntax bits. In most cases, they affect what characters represent what operators. We describe the meanings of the operators to which we refer in Common Operators and GNU Operators.

For reference, here is the complete list of syntax bits, in alphabetical order:

RE_BACKSLASH_ESCAPE_IN_LISTS

If this bit is set, then ‘\’ inside a list (see List Operators) quotes (makes ordinary, if it’s special) the following character; if this bit isn’t set, then ‘\’ is an ordinary character inside lists. (See The Backslash Character, for what ‘\’ does outside of lists.)

RE_BK_PLUS_QM

If this bit is set, then ‘\+’ represents the match-one-or-more operator and ‘\?’ represents the match-zero-or-more operator; if this bit isn’t set, then ‘+’ represents the match-one-or-more operator and ‘?’ represents the match-zero-or-one operator. This bit is irrelevant if RE_LIMITED_OPS is set.

RE_CHAR_CLASSES

If this bit is set, then you can use character classes in lists; if this bit isn’t set, then you can’t.

RE_CONTEXT_INDEP_ANCHORS

If this bit is set, then ‘^’ and ‘$’ are special anywhere outside a list; if this bit isn’t set, then these characters are special only in certain contexts. See Match-beginning-of-line Operator, and Match-end-of-line Operator.

RE_CONTEXT_INDEP_OPS

If this bit is set, then certain characters are special anywhere outside a list; if this bit isn’t set, then those characters are special only in some contexts and are ordinary elsewhere. Specifically, if this bit isn’t set then ‘*’, and (if the syntax bit RE_LIMITED_OPS isn’t set) ‘+’ and ‘?’ (or ‘\+’ and ‘\?’, depending on the syntax bit RE_BK_PLUS_QM) represent repetition operators only if they’re not first in a regular expression or just after an open-group or alternation operator. The same holds for ‘{’ (or ‘\{’, depending on the syntax bit RE_NO_BK_BRACES) if it is the beginning of a valid interval and the syntax bit RE_INTERVALS is set.

RE_CONTEXT_INVALID_DUP

If this bit is set, then an open-interval operator cannot occur at the start of a regular expression, or immediately after an alternation, open-group or close-interval operator.

RE_CONTEXT_INVALID_OPS

If this bit is set, then repetition and alternation operators can’t be in certain positions within a regular expression. Specifically, the regular expression is invalid if it has:

If this bit isn’t set, then you can put the characters representing the repetition and alternation characters anywhere in a regular expression. Whether or not they will in fact be operators in certain positions depends on other syntax bits.

RE_DEBUG

If this bit is set, and the regex library was compiled with -DDEBUG, then internal debugging is turned on; if unset, then it is turned off.

RE_DOT_NEWLINE

If this bit is set, then the match-any-character operator matches a newline; if this bit isn’t set, then it doesn’t.

RE_DOT_NOT_NULL

If this bit is set, then the match-any-character operator doesn’t match a null character; if this bit isn’t set, then it does.

RE_HAT_LISTS_NOT_NEWLINE

If this bit is set, nonmatching lists ‘[^...]’ do not match newline; if not set, they do.

RE_ICASE

If this bit is set, then ignore case when matching; otherwise, case is significant.

RE_INTERVALS

If this bit is set, then Regex recognizes interval operators; if this bit isn’t set, then it doesn’t.

RE_INVALID_INTERVAL_ORD

If this bit is set, a syntactically invalid interval is treated as a string of ordinary characters. For example, the extended regular expression ‘a{1’ is treated as ‘a\{1’.

RE_LIMITED_OPS

If this bit is set, then Regex doesn’t recognize the match-one-or-more, match-zero-or-one or alternation operators; if this bit isn’t set, then it does.

RE_NEWLINE_ALT

If this bit is set, then newline represents the alternation operator; if this bit isn’t set, then newline is ordinary.

RE_NO_BK_BRACES

If this bit is set, then ‘{’ represents the open-interval operator and ‘}’ represents the close-interval operator; if this bit isn’t set, then ‘\{’ represents the open-interval operator and ‘\}’ represents the close-interval operator. This bit is relevant only if RE_INTERVALS is set.

RE_NO_BK_PARENS

If this bit is set, then ‘(’ represents the open-group operator and ‘)’ represents the close-group operator; if this bit isn’t set, then ‘\(’ represents the open-group operator and ‘\)’ represents the close-group operator.

RE_NO_BK_REFS

If this bit is set, then Regex doesn’t recognize ‘\digit as the back-reference operator; if this bit isn’t set, then it does.

RE_NO_BK_VBAR

If this bit is set, then ‘|’ represents the alternation operator; if this bit isn’t set, then ‘\|’ represents the alternation operator. This bit is irrelevant if RE_LIMITED_OPS is set.

RE_NO_EMPTY_RANGES

If this bit is set, then a regular expression with a range whose ending point collates lower than its starting point is invalid; if this bit isn’t set, then Regex considers such a range to be empty.

RE_NO_GNU_OPS

If this bit is set, GNU regex operators are not recognized; otherwise, they are.

RE_NO_POSIX_BACKTRACKING

If this bit is set, succeed as soon as we match the whole pattern, without further backtracking. This means that a match may not be the leftmost longest; see What Gets Matched? for what this means.

RE_NO_SUB

If this bit is set, then no_sub will be set to one during re_compile_pattern. This causes matching and searching routines not to record substring match information.

RE_UNMATCHED_RIGHT_PAREN_ORD

If this bit is set and the regular expression has no matching open-group operator, then Regex considers what would otherwise be a close-group operator (based on how RE_NO_BK_PARENS is set) to match ‘)’.


Next: , Previous: , Up: Regular Expression Syntax   [Contents][Index]

18.2.2 Predefined Syntaxes

If you’re programming with Regex, you can set a pattern buffer’s (see GNU Pattern Buffers) syntax either to an arbitrary combination of syntax bits (see Syntax Bits) or else to the configurations defined by Regex. These configurations define the syntaxes used by certain programs—GNU Emacs, POSIX Awk, traditional Awk, Grep, Egrep—in addition to syntaxes for POSIX basic and extended regular expressions.

The predefined syntaxes—taken directly from regex.h—are:

# define RE_SYNTAX_EMACS                                                \
  (RE_CHAR_CLASSES | RE_INTERVALS)

#define RE_SYNTAX_AWK                                                   \
  (RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DOT_NOT_NULL                       \
   | RE_NO_BK_PARENS            | RE_NO_BK_REFS                         \
   | RE_NO_BK_VBAR               | RE_NO_EMPTY_RANGES                   \
   | RE_UNMATCHED_RIGHT_PAREN_ORD)

#define RE_SYNTAX_POSIX_AWK                                             \
  (RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS)

#define RE_SYNTAX_GREP                                                  \
  (RE_BK_PLUS_QM              | RE_CHAR_CLASSES                         \
   | RE_HAT_LISTS_NOT_NEWLINE | RE_INTERVALS                            \
   | RE_NEWLINE_ALT)

#define RE_SYNTAX_EGREP                                                 \
  (RE_CHAR_CLASSES        | RE_CONTEXT_INDEP_ANCHORS                    \
   | RE_CONTEXT_INDEP_OPS | RE_HAT_LISTS_NOT_NEWLINE                    \
   | RE_NEWLINE_ALT       | RE_NO_BK_PARENS                             \
   | RE_NO_BK_VBAR)

#define RE_SYNTAX_POSIX_EGREP                                           \
  (RE_SYNTAX_EGREP | RE_INTERVALS | RE_NO_BK_BRACES)

/* P1003.2/D11.2, section 4.20.7.1, lines 5078ff.  */
#define RE_SYNTAX_ED RE_SYNTAX_POSIX_BASIC

#define RE_SYNTAX_SED RE_SYNTAX_POSIX_BASIC

/* Syntax bits common to both basic and extended POSIX regex syntax.  */
#define _RE_SYNTAX_POSIX_COMMON                                         \
  (RE_CHAR_CLASSES | RE_DOT_NEWLINE      | RE_DOT_NOT_NULL              \
   | RE_INTERVALS  | RE_NO_EMPTY_RANGES)

#define RE_SYNTAX_POSIX_BASIC                                           \
  (_RE_SYNTAX_POSIX_COMMON | RE_BK_PLUS_QM)

/* Differs from ..._POSIX_BASIC only in that RE_BK_PLUS_QM becomes
   RE_LIMITED_OPS, i.e., \? \+ \| are not recognized.  Actually, this
   isn't minimal, since other operators, such as \`, aren't disabled.  */
#define RE_SYNTAX_POSIX_MINIMAL_BASIC                                   \
  (_RE_SYNTAX_POSIX_COMMON | RE_LIMITED_OPS)

#define RE_SYNTAX_POSIX_EXTENDED                                        \
  (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS                   \
   | RE_CONTEXT_INDEP_OPS  | RE_NO_BK_BRACES                            \
   | RE_NO_BK_PARENS       | RE_NO_BK_VBAR                              \
   | RE_UNMATCHED_RIGHT_PAREN_ORD)

/* Differs from ..._POSIX_EXTENDED in that RE_CONTEXT_INVALID_OPS
   replaces RE_CONTEXT_INDEP_OPS and RE_NO_BK_REFS is added.  */
#define RE_SYNTAX_POSIX_MINIMAL_EXTENDED                                \
  (_RE_SYNTAX_POSIX_COMMON  | RE_CONTEXT_INDEP_ANCHORS                  \
   | RE_CONTEXT_INVALID_OPS | RE_NO_BK_BRACES                           \
   | RE_NO_BK_PARENS        | RE_NO_BK_REFS                             \
   | RE_NO_BK_VBAR          | RE_UNMATCHED_RIGHT_PAREN_ORD)

Next: , Previous: , Up: Regular Expression Syntax   [Contents][Index]

18.2.3 Collating Elements vs. Characters

POSIX generalizes the notion of a character to that of a collating element. It defines a collating element to be “a sequence of one or more bytes defined in the current collating sequence as a unit of collation.”

This generalizes the notion of a character in two ways. First, a single character can map into two or more collating elements. For example, the German “ß” collates as the collating element ‘s’ followed by another collating element ‘s’. Second, two or more characters can map into one collating element. For example, the Czech ‘ch’ collates after ‘h’ and before ‘i’.

Since POSIX’s “collating element” preserves the essential idea of a “character,” we use the latter, more familiar, term in this document.


Previous: , Up: Regular Expression Syntax   [Contents][Index]

18.2.4 The Backslash Character

The ‘\’ character has one of four different meanings, depending on the context in which you use it and what syntax bits are set (see Syntax Bits). It can: 1) stand for itself, 2) quote the next character, 3) introduce an operator, or 4) do nothing.

  1. It stands for itself inside a list (see List Operators) if the syntax bit RE_BACKSLASH_ESCAPE_IN_LISTS is not set. For example, ‘[\]’ would match ‘\’.
  2. It quotes (makes ordinary, if it’s special) the next character when you use it either:
  3. It introduces an operator when followed by certain ordinary characters—sometimes only when certain syntax bits are set. See the cases RE_BK_PLUS_QM, RE_NO_BK_BRACES, RE_NO_BK_VAR, RE_NO_BK_PARENS, RE_NO_BK_REF in Syntax Bits. Also:
  4. In all other cases, Regex ignores ‘\’. For example, ‘\n’ matches ‘n’.

Next: , Previous: , Up: Regular expressions   [Contents][Index]

18.3 Common Operators

You compose regular expressions from operators. In the following sections, we describe the regular expression operators specified by POSIX; GNU also uses these. Most operators have more than one representation as characters. See Regular Expression Syntax, for what characters represent what operators under what circumstances.

For most operators that can be represented in two ways, one representation is a single character and the other is that character preceded by ‘\’. For example, either ‘(’ or ‘\(’ represents the open-group operator. Which one does depends on the setting of a syntax bit, in this case RE_NO_BK_PARENS. Why is this so? Historical reasons dictate some of the varying representations, while POSIX dictates others.

Finally, almost all characters lose any special meaning inside a list (see List Operators).


Next: , Up: Common Operators   [Contents][Index]

18.3.1 The Match-self Operator (ordinary character)

This operator matches the character itself. All ordinary characters (see Regular Expression Syntax) represent this operator. For example, ‘f’ is always an ordinary character, so the regular expression ‘f’ matches only the string ‘f’. In particular, it does not match the string ‘ff’.


Next: , Previous: , Up: Common Operators   [Contents][Index]

18.3.2 The Match-any-character Operator (.)

This operator matches any single printing or nonprinting character except it won’t match a:

newline

if the syntax bit RE_DOT_NEWLINE isn’t set.

null

if the syntax bit RE_DOT_NOT_NULL is set.

The ‘.’ (period) character represents this operator. For example, ‘a.b’ matches any three-character string beginning with ‘a’ and ending with ‘b’.


Next: , Previous: , Up: Common Operators   [Contents][Index]

18.3.3 The Concatenation Operator

This operator concatenates two regular expressions a and b. No character represents this operator; you simply put b after a. The result is a regular expression that will match a string if a matches its first part and b matches the rest. For example, ‘xy’ (two match-self operators) matches ‘xy’.


Next: , Previous: , Up: Common Operators   [Contents][Index]

18.3.4 Repetition Operators

Repetition operators repeat the preceding regular expression a specified number of times.


Next: , Up: Repetition Operators   [Contents][Index]

18.3.4.1 The Match-zero-or-more Operator (*)

This operator repeats the smallest possible preceding regular expression as many times as necessary (including zero) to match the pattern. ‘*’ represents this operator. For example, ‘o*’ matches any string made up of zero or more ‘o’s. Since this operator operates on the smallest preceding regular expression, ‘fo*’ has a repeating ‘o’, not a repeating ‘fo’. So, ‘fo*’ matches ‘f’, ‘fo’, ‘foo’, and so on.

Since the match-zero-or-more operator is a suffix operator, it may be useless as such when no regular expression precedes it. This is the case when it:

Three different things can happen in these cases:

  1. If the syntax bit RE_CONTEXT_INVALID_OPS is set, then the regular expression is invalid.
  2. If RE_CONTEXT_INVALID_OPS isn’t set, but RE_CONTEXT_INDEP_OPS is, then ‘*’ represents the match-zero-or-more operator (which then operates on the empty string).
  3. Otherwise, ‘*’ is ordinary.

The matcher processes a match-zero-or-more operator by first matching as many repetitions of the smallest preceding regular expression as it can. Then it continues to match the rest of the pattern.

If it can’t match the rest of the pattern, it backtracks (as many times as necessary), each time discarding one of the matches until it can either match the entire pattern or be certain that it cannot get a match. For example, when matching ‘ca*ar’ against ‘caaar’, the matcher first matches all three ‘a’s of the string with the ‘a*’ of the regular expression. However, it cannot then match the final ‘ar’ of the regular expression against the final ‘r’ of the string. So it backtracks, discarding the match of the last ‘a’ in the string. It can then match the remaining ‘ar’.


Next: , Previous: , Up: Repetition Operators   [Contents][Index]

18.3.4.2 The Match-one-or-more Operator (+ or \+)

If the syntax bit RE_LIMITED_OPS is set, then Regex doesn’t recognize this operator. Otherwise, if the syntax bit RE_BK_PLUS_QM isn’t set, then ‘+’ represents this operator; if it is, then ‘\+’ does.

This operator is similar to the match-zero-or-more operator except that it repeats the preceding regular expression at least once; see Match-zero-or-more Operator, for what it operates on, how some syntax bits affect it, and how Regex backtracks to match it.

For example, supposing that ‘+’ represents the match-one-or-more operator; then ‘ca+r’ matches, e.g., ‘car’ and ‘caaaar’, but not ‘cr’.


Next: , Previous: , Up: Repetition Operators   [Contents][Index]

18.3.4.3 The Match-zero-or-one Operator (? or \?)

If the syntax bit RE_LIMITED_OPS is set, then Regex doesn’t recognize this operator. Otherwise, if the syntax bit RE_BK_PLUS_QM isn’t set, then ‘?’ represents this operator; if it is, then ‘\?’ does.

This operator is similar to the match-zero-or-more operator except that it repeats the preceding regular expression once or not at all; see Match-zero-or-more Operator, to see what it operates on, how some syntax bits affect it, and how Regex backtracks to match it.

For example, supposing that ‘?’ represents the match-zero-or-one operator; then ‘ca?r’ matches both ‘car’ and ‘cr’, but nothing else.


Previous: , Up: Repetition Operators   [Contents][Index]

18.3.4.4 Interval Operators ({} or \{\})

If the syntax bit RE_INTERVALS is set, then Regex recognizes interval expressions. They repeat the smallest possible preceding regular expression a specified number of times.

If the syntax bit RE_NO_BK_BRACES is set, ‘{’ represents the open-interval operator and ‘}’ represents the close-interval operator ; otherwise, ‘\{’ and ‘\}’ do.

Specifically, supposing that ‘{’ and ‘}’ represent the open-interval and close-interval operators; then:

{count}

matches exactly count occurrences of the preceding regular expression.

{min,}

matches min or more occurrences of the preceding regular expression.

{min, max}

matches at least min but no more than max occurrences of the preceding regular expression.

The interval expression (but not necessarily the regular expression that contains it) is invalid if:

If the interval expression is invalid and the syntax bit RE_NO_BK_BRACES is set, then Regex considers all the characters in the would-be interval to be ordinary. If that bit isn’t set, then the regular expression is invalid.

If the interval expression is valid but there is no preceding regular expression on which to operate, then if the syntax bit RE_CONTEXT_INVALID_OPS is set, the regular expression is invalid. If that bit isn’t set, then Regex considers all the characters—other than backslashes, which it ignores—in the would-be interval to be ordinary.


Next: , Previous: , Up: Common Operators   [Contents][Index]

18.3.5 The Alternation Operator (| or \|)

If the syntax bit RE_LIMITED_OPS is set, then Regex doesn’t recognize this operator. Otherwise, if the syntax bit RE_NO_BK_VBAR is set, then ‘|’ represents this operator; otherwise, ‘\|’ does.

Alternatives match one of a choice of regular expressions: if you put the character(s) representing the alternation operator between any two regular expressions a and b, the result matches the union of the strings that a and b match. For example, supposing that ‘|’ is the alternation operator, then ‘foo|bar|quux’ would match any of ‘foo’, ‘bar’ or ‘quux’.

The alternation operator operates on the largest possible surrounding regular expressions. (Put another way, it has the lowest precedence of any regular expression operator.) Thus, the only way you can delimit its arguments is to use grouping. For example, if ‘(’ and ‘)’ are the open and close-group operators, then ‘fo(o|b)ar’ would match either ‘fooar’ or ‘fobar’. (‘foo|bar’ would match ‘foo’ or ‘bar’.)

The matcher usually tries all combinations of alternatives so as to match the longest possible string. For example, when matching ‘(fooq|foo)*(qbarquux|bar)’ against ‘fooqbarquux’, it cannot take, say, the first (“depth-first”) combination it could match, since then it would be content to match just ‘fooqbar’.

Note that since the default behavior is to return the leftmost longest match, when more than one of a series of alternatives matches the actual match will be the longest matching alternative, not necessarily the first in the list.


Next: , Previous: , Up: Common Operators   [Contents][Index]

18.3.6 List Operators ([] and [^])

Lists, also called bracket expressions, are a set of one or more items. An item is a character, a collating symbol, an equivalence class expression, a character class expression, or a range expression. The syntax bits affect which kinds of items you can put in a list. We explain the last four items in subsections below. Empty lists are invalid.

A matching list matches a single character represented by one of the list items. You form a matching list by enclosing one or more items within an open-matching-list operator (represented by ‘[’) and a close-list operator (represented by ‘]’).

For example, ‘[ab]’ matches either ‘a’ or ‘b’. ‘[ad]*’ matches the empty string and any string composed of just ‘a’s and ‘d’s in any order. Regex considers invalid a regular expression with a ‘[’ but no matching ‘]’.

Nonmatching lists are similar to matching lists except that they match a single character not represented by one of the list items. You use an open-nonmatching-list operator (represented by ‘[^4) instead of an open-matching-list operator to start a nonmatching list.

For example, ‘[^ab]’ matches any character except ‘a’ or ‘b’.

If the syntax bit RE_HAT_LISTS_NOT_NEWLINE is set, then nonmatching lists do not match a newline.

Most characters lose any special meaning inside a list. The special characters inside a list follow.

]

ends the list if it’s not the first list item. So, if you want to make the ‘]’ character a list item, you must put it first.

\

quotes the next character if the syntax bit RE_BACKSLASH_ESCAPE_IN_LISTS is set.

[.

represents the open-collating-symbol operator (see Collating Symbol Operators).

.]

represents the close-collating-symbol operator.

[=

represents the open-equivalence-class operator (see Equivalence Class Operators).

=]

represents the close-equivalence-class operator.

[:

represents the open-character-class operator (see Character Class Operators) if the syntax bit RE_CHAR_CLASSES is set and what follows is a valid character class expression.

:]

represents the close-character-class operator if the syntax bit RE_CHAR_CLASSES is set and what precedes it is an open-character-class operator followed by a valid character class name.

-

represents the range operator (see Range Operator) if it’s not first or last in a list or the ending point of a range.

All other characters are ordinary. For example, ‘[.*]’ matches ‘.’ and ‘*’.


Next: , Up: List Operators   [Contents][Index]

18.3.6.1 Collating Symbol Operators ([..])

Collating symbols can be represented inside lists. You form a collating symbol by putting a collating element between an open-collating-symbol operator and a close-collating-symbol operator. ‘[.’ represents the open-collating-symbol operator and ‘.]’ represents the close-collating-symbol operator. For example, if ‘ll’ is a collating element, then ‘[[.ll.]]’ would match ‘ll’.


Next: , Previous: , Up: List Operators   [Contents][Index]

18.3.6.2 Equivalence Class Operators ([==])

Regex recognizes equivalence class expressions inside lists. A equivalence class expression is a set of collating elements which all belong to the same equivalence class. You form an equivalence class expression by putting a collating element between an open-equivalence-class operator and a close-equivalence-class operator. ‘[=’ represents the open-equivalence-class operator and ‘=]’ represents the close-equivalence-class operator. For example, if ‘a’ and ‘A’ were an equivalence class, then both ‘[[=a=]]’ and ‘[[=A=]]’ would match both ‘a’ and ‘A’. If the collating element in an equivalence class expression isn’t part of an equivalence class, then the matcher considers the equivalence class expression to be a collating symbol.


Next: , Previous: , Up: List Operators   [Contents][Index]

18.3.6.3 Character Class Operators ([::])

If the syntax bit RE_CHAR_CLASSES is set, then Regex recognizes character class expressions inside lists. A character class expression matches one character from a given class. You form a character class expression by putting a character class name between an open-character-class operator (represented by ‘[:’) and a close-character-class operator (represented by ‘:]’). The character class names and their meanings are:

alnum

letters and digits

alpha

letters

blank

system-dependent; for GNU, a space or tab

cntrl

control characters (in the ASCII encoding, code 0177 and codes less than 040)

digit

digits

graph

same as print except omits space

lower

lowercase letters

print

printable characters (in the ASCII encoding, space tilde—codes 040 through 0176)

punct

neither control nor alphanumeric characters

space

space, carriage return, newline, vertical tab, and form feed

upper

uppercase letters

xdigit

hexadecimal digits: 09, af, AF

These correspond to the definitions in the C library’s <ctype.h> facility. For example, ‘[:alpha:]’ corresponds to the standard facility isalpha. Regex recognizes character class expressions only inside of lists; so ‘[[:alpha:]]’ matches any letter, but ‘[:alpha:]’ outside of a bracket expression and not followed by a repetition operator matches just itself.


Previous: , Up: List Operators   [Contents][Index]

18.3.6.4 The Range Operator (-)

Regex recognizes range expressions inside a list. They represent those characters that fall between two elements in the current collating sequence. You form a range expression by putting a range operator between two of any of the following: characters, collating elements, collating symbols, and equivalence class expressions. The starting point of the range and the ending point of the range don’t have to be the same kind of item, e.g., the starting point could be a collating element and the ending point could be an equivalence class expression. If a range’s ending point is an equivalence class, then all the collating elements in that class will be in the range.5-’ represents the range operator. For example, ‘a-f’ within a list represents all the characters from ‘a’ through ‘f’ inclusively.

If the syntax bit RE_NO_EMPTY_RANGES is set, then if the range’s ending point collates less than its starting point, the range (and the regular expression containing it) is invalid. For example, the regular expression ‘[z-a]’ would be invalid. If this bit isn’t set, then Regex considers such a range to be empty.

Since ‘-’ represents the range operator, if you want to make a ‘-’ character itself a list item, you must do one of the following:

For example, ‘[-a-z]’ matches a lowercase letter or a hyphen (in English, in ASCII).


Next: , Previous: , Up: Common Operators   [Contents][Index]

18.3.7 Grouping Operators (() or \(\))

A group, also known as a subexpression, consists of an open-group operator, any number of other operators, and a close-group operator. Regex treats this sequence as a unit, just as mathematics and programming languages treat a parenthesized expression as a unit.

Therefore, using groups, you can:

If the syntax bit RE_NO_BK_PARENS is set, then ‘(’ represents the open-group operator and ‘)’ represents the close-group operator; otherwise, ‘\(’ and ‘\)’ do.

If the syntax bit RE_UNMATCHED_RIGHT_PAREN_ORD is set and a close-group operator has no matching open-group operator, then Regex considers it to match ‘)’.


Next: , Previous: , Up: Common Operators   [Contents][Index]

18.3.8 The Back-reference Operator (\digit)

If the syntax bit RE_NO_BK_REF isn’t set, then Regex recognizes back-references. A back-reference matches a specified preceding group. The back-reference operator is represented by ‘\digit’ anywhere after the end of a regular expression’s digit-th group (see Grouping Operators).

digit must be between ‘1’ and ‘9’. The matcher assigns numbers 1 through 9 to the first nine groups it encounters. By using one of ‘\1’ through ‘\9’ after the corresponding group’s close-group operator, you can match a substring identical to the one that the group does.

Back-references match according to the following (in all examples below, ‘(’ represents the open-group, ‘)’ the close-group, ‘{’ the open-interval and ‘}’ the close-interval operator):

You can use a back-reference as an argument to a repetition operator. For example, ‘(a(b))\2*’ matches ‘a’ followed by two or more ‘b’s. Similarly, ‘(a(b))\2{3}’ matches ‘abbbb’.

If there is no preceding digit-th subexpression, the regular expression is invalid.

Back-references can greatly slow down matching, as they can generate exponentially many matching possibilities that can consume both time and memory to explore. Also, the POSIX specification for back-references is at times unclear. Furthermore, many regular expression implementations have back-reference bugs that can cause programs to return incorrect answers or even crash, and fixing these bugs has often been low-priority: for example, as of 2020 the GNU C library bug database contained back-reference bugs 52, 10844, 11053, 24269 and 25322, with little sign of forthcoming fixes. Luckily, back-references are rarely useful and it should be little trouble to avoid them in practical applications.


Previous: , Up: Common Operators   [Contents][Index]

18.3.9 Anchoring Operators

These operators can constrain a pattern to match only at the beginning or end of the entire string or at the beginning or end of a line.


Next: , Up: Anchoring Operators   [Contents][Index]

18.3.9.1 The Match-beginning-of-line Operator (^)

This operator can match the empty string either at the beginning of the string or after a newline character. Thus, it is said to anchor the pattern to the beginning of a line.

In the cases following, ‘^’ represents this operator. (Otherwise, ‘^’ is ordinary.)

These rules imply that some valid patterns containing ‘^’ cannot be matched; for example, ‘foo^bar’ if RE_CONTEXT_INDEP_ANCHORS is set.

If the not_bol field is set in the pattern buffer (see GNU Pattern Buffers), then ‘^’ fails to match at the beginning of the string. This lets you match against pieces of a line, as you would need to if, say, searching for repeated instances of a given pattern in a line; it would work correctly for patterns both with and without match-beginning-of-line operators.


Previous: , Up: Anchoring Operators   [Contents][Index]

18.3.9.2 The Match-end-of-line Operator ($)

This operator can match the empty string either at the end of the string or before a newline character in the string. Thus, it is said to anchor the pattern to the end of a line.

It is always represented by ‘$’. For example, ‘foo$’ usually matches, e.g., ‘foo’ and, e.g., the first three characters of ‘foo\nbar’.

Its interaction with the syntax bits and pattern buffer fields is exactly the dual of ‘^’’s; see the previous section. (That is, “‘^’” becomes “‘$’”, “beginning” becomes “end”, “next” becomes “previous”, “after” becomes “before”, and “not_bol” becomes “not_eol”.)


Next: , Previous: , Up: Regular expressions   [Contents][Index]

18.4 GNU Operators

The following are operators that GNU defines (and POSIX doesn’t) that you can use unless the syntax bit RE_NO_GNU_OPS is set.


Next: , Up: GNU Operators   [Contents][Index]

18.4.1 Word Operators

The operators in this section require Regex to recognize parts of words. Characters that are part of words, which are called word-constituent, are letters, digits, and the underscore (‘_’); more precisely, any character in the POSIX class alnum in the current locale, or underscore.


Next: , Up: Word Operators   [Contents][Index]

18.4.1.1 The Match-word-boundary Operator (\b)

This operator (represented by ‘\b’) matches the empty string at either the beginning or the end of a word. For example, ‘\brat\b’ matches the separate word ‘rat’.


Next: , Previous: , Up: Word Operators   [Contents][Index]

18.4.1.2 The Match-within-word Operator (\B)

This operator (represented by ‘\B’) matches the empty string within a word. For example, ‘c\Brat\Be’ matches ‘crate’, but ‘dirty \Brat’ doesn’t match ‘dirty rat’.


Next: , Previous: , Up: Word Operators   [Contents][Index]

18.4.1.3 The Match-beginning-of-word Operator (\<)

This operator (represented by ‘\<’) matches the empty string at the beginning of a word.


Next: , Previous: , Up: Word Operators   [Contents][Index]

18.4.1.4 The Match-end-of-word Operator (\>)

This operator (represented by ‘\>’) matches the empty string at the end of a word.


Next: , Previous: , Up: Word Operators   [Contents][Index]

18.4.1.5 The Match-word-constituent Operator (\w)

This operator (represented by ‘\w’) matches any word-constituent character.


Previous: , Up: Word Operators   [Contents][Index]

18.4.1.6 The Match-non-word-constituent Operator (\W)

This operator (represented by ‘\W’) matches any character that is not word-constituent.


Next: , Previous: , Up: GNU Operators   [Contents][Index]

18.4.2 Space Operators


Next: , Up: Space Operators   [Contents][Index]

18.4.2.1 The Match-space Operator (\s)

This operator (represented by ‘\s’) matches any space character (that is, in the POSIX class [:space:]).


Previous: , Up: Space Operators   [Contents][Index]

18.4.2.2 The Match-non-space Operator (\S)

This operator (represented by ‘\S’) matches any character that is not a space (that is, in the POSIX class [:space:]).


Previous: , Up: GNU Operators   [Contents][Index]

18.4.3 Whole-string Operators

Following are operators which work on the whole string.


Next: , Up: Whole-string Operators   [Contents][Index]

18.4.3.1 The Match-beginning-of-string Operator (\`)

This operator (represented by ‘\`’) matches the empty string at the beginning of the string.


Previous: , Up: Whole-string Operators   [Contents][Index]

18.4.3.2 The Match-end-of-string Operator (\')

This operator (represented by ‘\'’) matches the empty string at the end of the string.


Next: , Previous: , Up: Regular expressions   [Contents][Index]

18.5 What Gets Matched?

Regex usually matches strings according to the “leftmost longest” rule; that is, it chooses the longest of the leftmost matches. This does not mean that for a regular expression containing subexpressions that it simply chooses the longest match for each subexpression, left to right; the overall match must also be the longest possible one.

For example, ‘(ac*)(c*d[ac]*)\1’ matches ‘acdacaaa’, not ‘acdac’, as it would if it were to choose the longest match for the first subexpression.


Next: , Previous: , Up: Regular expressions   [Contents][Index]

18.6 Programming with Regex

Here we describe how you use the Regex data structures and functions in C programs. Regex has three interfaces: one designed for GNU, one compatible with POSIX (as specified by POSIX, draft 1003.2/D11.2), and one compatible with Berkeley Unix. The POSIX interface is not documented here; see the documentation of GNU libc, or the POSIX man pages. The Berkeley Unix interface is documented here for convenience, since its documentation is not otherwise readily available on GNU systems.


Next: , Up: Programming with Regex   [Contents][Index]

18.6.1 GNU Regex Functions

If you’re writing code that doesn’t need to be compatible with either POSIX or Berkeley Unix, you can use these functions. They provide more options than the other interfaces.


Next: , Up: GNU Regex Functions   [Contents][Index]

18.6.1.1 GNU Pattern Buffers

To compile, match, or search for a given regular expression, you must supply a pattern buffer. A pattern buffer holds one compiled regular expression.6

You can have several different pattern buffers simultaneously, each holding a compiled pattern for a different regular expression.

regex.h defines the pattern buffer struct with the following public fields:

  unsigned char *buffer;
  unsigned long allocated;
  char *fastmap;
  char *translate;
  size_t re_nsub;
  unsigned no_sub : 1;
  unsigned not_bol : 1;
  unsigned not_eol : 1;

Next: , Previous: , Up: GNU Regex Functions   [Contents][Index]

18.6.1.2 GNU Regular Expression Compiling

In GNU, you can both match and search for a given regular expression. To do either, you must first compile it in a pattern buffer (see GNU Pattern Buffers).

Regular expressions match according to the syntax with which they were compiled; with GNU, you indicate what syntax you want by setting the variable re_syntax_options (declared in regex.h) before calling the compiling function, re_compile_pattern (see below). See Syntax Bits, and Predefined Syntaxes.

You can change the value of re_syntax_options at any time. Usually, however, you set its value once and then never change it.

re_compile_pattern takes a pattern buffer as an argument. You must initialize the following fields:

translate initialization
translate

Initialize this to point to a translate table if you want one, or to zero if you don’t. We explain translate tables in GNU Translate Tables.

fastmap

Initialize this to nonzero if you want a fastmap, or to zero if you don’t.

buffer
allocated

If you want re_compile_pattern to allocate memory for the compiled pattern, set both of these to zero. If you have an existing block of memory (allocated with malloc) you want Regex to use, set buffer to its address and allocated to its size (in bytes).

re_compile_pattern uses realloc to extend the space for the compiled pattern as necessary.

To compile a pattern buffer, use:

char *
re_compile_pattern (const char *regex, const int regex_size,
                    struct re_pattern_buffer *pattern_buffer)

regex is the regular expression’s address, regex_size is its length, and pattern_buffer is the pattern buffer’s address.

If re_compile_pattern successfully compiles the regular expression, it returns zero and sets *pattern_buffer to the compiled pattern. It sets the pattern buffer’s fields as follows:

buffer

to the compiled pattern.

syntax

to the current value of re_syntax_options.

re_nsub

to the number of subexpressions in regex.

If re_compile_pattern can’t compile regex, it returns an error string corresponding to a POSIX error code.


Next: , Previous: , Up: GNU Regex Functions   [Contents][Index]

18.6.1.3 GNU Matching

Matching the GNU way means trying to match as much of a string as possible starting at a position within it you specify. Once you’ve compiled a pattern into a pattern buffer (see GNU Regular Expression Compiling), you can ask the matcher to match that pattern against a string using:

int
re_match (struct re_pattern_buffer *pattern_buffer,
          const char *string, const int size,
          const int start, struct re_registers *regs)

pattern_buffer is the address of a pattern buffer containing a compiled pattern. string is the string you want to match; it can contain newline and null characters. size is the length of that string. start is the string index at which you want to begin matching; the first character of string is at index zero. See Using Registers, for an explanation of regs; you can safely pass zero.

re_match matches the regular expression in pattern_buffer against the string string according to the syntax of pattern_buffer. (See GNU Regular Expression Compiling, for how to set it.) The function returns -1 if the compiled pattern does not match any part of string and -2 if an internal error happens; otherwise, it returns how many (possibly zero) characters of string the pattern matched.

An example: suppose pattern_buffer points to a pattern buffer containing the compiled pattern for ‘a*’, and string points to ‘aaaaab’ (whereupon size should be 6). Then if start is 2, re_match returns 3, i.e., ‘a*’ would have matched the last three ‘a’s in string. If start is 0, re_match returns 5, i.e., ‘a*’ would have matched all the ‘a’s in string. If start is either 5 or 6, it returns zero.

If start is not between zero and size, then re_match returns -1.


Next: , Previous: , Up: GNU Regex Functions   [Contents][Index]

18.6.1.4 GNU Searching

Searching means trying to match starting at successive positions within a string. The function re_search does this.

Before calling re_search, you must compile your regular expression. See GNU Regular Expression Compiling.

Here is the function declaration:

int
re_search (struct re_pattern_buffer *pattern_buffer,
           const char *string, const int size,
           const int start, const int range,
           struct re_registers *regs)

whose arguments are the same as those to re_match (see GNU Matching) except that the two arguments start and range replace re_match’s argument start.

If range is positive, then re_search attempts a match starting first at index start, then at start + 1 if that fails, and so on, up to start + range; if range is negative, then it attempts a match starting first at index start, then at start -1 if that fails, and so on.

If start is not between zero and size, then re_search returns -1. When range is positive, re_search adjusts range so that start + range - 1 is between zero and size, if necessary; that way it won’t search outside of string. Similarly, when range is negative, re_search adjusts range so that start + range + 1 is between zero and size, if necessary.

If the fastmap field of pattern_buffer is zero, re_search matches starting at consecutive positions; otherwise, it uses fastmap to make the search more efficient. See Searching with Fastmaps.

If no match is found, re_search returns -1. If a match is found, it returns the index where the match began. If an internal error happens, it returns -2.


Next: , Previous: , Up: GNU Regex Functions   [Contents][Index]

18.6.1.5 Matching and Searching with Split Data

Using the functions re_match_2 and re_search_2, you can match or search in data that is divided into two strings.

The function:

int
re_match_2 (struct re_pattern_buffer *buffer,
            const char *string1, const int size1,
            const char *string2, const int size2,
            const int start,
            struct re_registers *regs,
            const int stop)

is similar to re_match (see GNU Matching) except that you pass two data strings and sizes, and an index stop beyond which you don’t want the matcher to try matching. As with re_match, if it succeeds, re_match_2 returns how many characters of string it matched. Regard string1 and string2 as concatenated when you set the arguments start and stop and use the contents of regs; re_match_2 never returns a value larger than size1 + size2.

The function:

int
re_search_2 (struct re_pattern_buffer *buffer,
             const char *string1, const int size1,
             const char *string2, const int size2,
             const int start, const int range,
             struct re_registers *regs,
             const int stop)

is similarly related to re_search.


Next: , Previous: , Up: GNU Regex Functions   [Contents][Index]

18.6.1.6 Searching with Fastmaps

If you’re searching through a long string, you should use a fastmap. Without one, the searcher tries to match at consecutive positions in the string. Generally, most of the characters in the string could not start a match. It takes much longer to try matching at a given position in the string than it does to check in a table whether or not the character at that position could start a match. A fastmap is such a table.

More specifically, a fastmap is an array indexed by the characters in your character set. Under the ASCII encoding, therefore, a fastmap has 256 elements. If you want the searcher to use a fastmap with a given pattern buffer, you must allocate the array and assign the array’s address to the pattern buffer’s fastmap field. You either can compile the fastmap yourself or have re_search do it for you; when fastmap is nonzero, it automatically compiles a fastmap the first time you search using a particular compiled pattern.

By setting the buffer’s fastmap field before calling re_compile_pattern, you can reuse a buffer data structure across multiple searches with different patterns, and allocate the fastmap only once. Nonetheless, the fastmap must be recompiled each time the buffer has a new pattern compiled into it.

To compile a fastmap yourself, use:

int
re_compile_fastmap (struct re_pattern_buffer *pattern_buffer)

pattern_buffer is the address of a pattern buffer. If the character c could start a match for the pattern, re_compile_fastmap makes pattern_buffer->fastmap[c] nonzero. It returns 0 if it can compile a fastmap and -2 if there is an internal error. For example, if ‘|’ is the alternation operator and pattern_buffer holds the compiled pattern for ‘a|b’, then re_compile_fastmap sets fastmap['a'] and fastmap['b'] (and no others).

re_search uses a fastmap as it moves along in the string: it checks the string’s characters until it finds one that’s in the fastmap. Then it tries matching at that character. If the match fails, it repeats the process. So, by using a fastmap, re_search doesn’t waste time trying to match at positions in the string that couldn’t start a match.

If you don’t want re_search to use a fastmap, store zero in the fastmap field of the pattern buffer before calling re_search.

Once you’ve initialized a pattern buffer’s fastmap field, you need never do so again—even if you compile a new pattern in it—provided the way the field is set still reflects whether or not you want a fastmap. re_search will still either do nothing if fastmap is null or, if it isn’t, compile a new fastmap for the new pattern.


Next: , Previous: , Up: GNU Regex Functions   [Contents][Index]

18.6.1.7 GNU Translate Tables

If you set the translate field of a pattern buffer to a translate table, then the GNU Regex functions to which you’ve passed that pattern buffer use it to apply a simple transformation to all the regular expression and string characters at which they look.

A translate table is an array indexed by the characters in your character set. Under the ASCII encoding, therefore, a translate table has 256 elements. The array’s elements are also characters in your character set. When the Regex functions see a character c, they use translate[c] in its place, with one exception: the character after a ‘\’ is not translated. (This ensures that, the operators, e.g., ‘\B’ and ‘\b’, are always distinguishable.)

For example, a table that maps all lowercase letters to the corresponding uppercase ones would cause the matcher to ignore differences in case.7 Such a table would map all characters except lowercase letters to themselves, and lowercase letters to the corresponding uppercase ones. Under the ASCII encoding, here’s how you could initialize such a table (we’ll call it case_fold):

for (i = 0; i < 256; i++)
  case_fold[i] = i;
for (i = 'a'; i <= 'z'; i++)
  case_fold[i] = i - ('a' - 'A');

You tell Regex to use a translate table on a given pattern buffer by assigning that table’s address to the translate field of that buffer. If you don’t want Regex to do any translation, put zero into this field. You’ll get weird results if you change the table’s contents anytime between compiling the pattern buffer, compiling its fastmap, and matching or searching with the pattern buffer.


Next: , Previous: , Up: GNU Regex Functions   [Contents][Index]

18.6.1.8 Using Registers

A group in a regular expression can match a (possibly empty) substring of the string that regular expression as a whole matched. The matcher remembers the beginning and end of the substring matched by each group.

To find out what they matched, pass a nonzero regs argument to a GNU matching or searching function (see GNU Matching and GNU Searching), i.e., the address of a structure of this type, as defined in regex.h:

struct re_registers
{
  unsigned num_regs;
  regoff_t *start;
  regoff_t *end;
};

Except for (possibly) the num_regs’th element (see below), the ith element of the start and end arrays records information about the ith group in the pattern. (They’re declared as C pointers, but this is only because not all C compilers accept zero-length arrays; conceptually, it is simplest to think of them as arrays.)

The start and end arrays are allocated in one of two ways. The simplest and perhaps most useful is to let the matcher (re)allocate enough space to record information for all the groups in the regular expression. If re_set_registers is not called before searching or matching, then the matcher allocates two arrays each of 1 + re_nsub elements (re_nsub is another field in the pattern buffer; see GNU Pattern Buffers). The extra element is set to -1. Then on subsequent calls with the same pattern buffer and regs arguments, the matcher reallocates more space if necessary.

The function:

void
re_set_registers (struct re_pattern_buffer *buffer,
                  struct re_registers *regs,
                  size_t num_regs,
                  regoff_t *starts, regoff_t *ends)

sets regs to hold num_regs registers, storing them in starts and ends. Subsequent matches using buffer and regs will use this memory for recording register information. starts and ends must be allocated with malloc, and must each be at least num_regs * sizeof (regoff_t) bytes long.

If num_regs is zero, then subsequent matches should allocate their own register data.

Unless this function is called, the first search or match using buffer will allocate its own register data, without freeing the old data.

The following examples illustrate the information recorded in the re_registers structure. (In all of them, ‘(’ represents the open-group and ‘)’ the close-group operator. The first character in the string string is at index 0.)


Previous: , Up: GNU Regex Functions   [Contents][Index]

18.6.1.9 Freeing GNU Pattern Buffers

To free any allocated fields of a pattern buffer, use the POSIX function regfree:

void
regfree (regex_t *preg)

preg is the pattern buffer whose allocated fields you want freed; this works because since the type regex_t—the type for POSIX pattern buffers—is equivalent to the type re_pattern_buffer.

regfree also sets preg’s allocated field to zero. After a buffer has been freed, it must have a regular expression compiled in it before passing it to a matching or searching function.


Previous: , Up: Programming with Regex   [Contents][Index]

18.6.2 BSD Regex Functions

If you’re writing code that has to be Berkeley Unix compatible, you’ll need to use these functions whose interfaces are the same as those in Berkeley Unix.


Next: , Up: BSD Regex Functions   [Contents][Index]

18.6.2.1 BSD Regular Expression Compiling

With Berkeley Unix, you can only search for a given regular expression; you can’t match one. To search for it, you must first compile it. Before you compile it, you must indicate the regular expression syntax you want it compiled according to by setting the variable re_syntax_options (declared in regex.h) to some syntax (see Regular Expression Syntax).

To compile a regular expression use:

char *
re_comp (char *regex)

regex is the address of a null-terminated regular expression. re_comp uses an internal pattern buffer, so you can use only the most recently compiled pattern buffer. This means that if you want to use a given regular expression that you’ve already compiled—but it isn’t the latest one you’ve compiled—you’ll have to recompile it. If you call re_comp with the null string (not the empty string) as the argument, it doesn’t change the contents of the pattern buffer.

If re_comp successfully compiles the regular expression, it returns zero. If it can’t compile the regular expression, it returns an error string. re_comp’s error messages are identical to those of re_compile_pattern (see GNU Regular Expression Compiling).


Previous: , Up: BSD Regex Functions   [Contents][Index]

18.6.2.2 BSD Searching

Searching the Berkeley Unix way means searching in a string starting at its first character and trying successive positions within it to find a match. Once you’ve compiled a pattern using re_comp (see BSD Regular Expression Compiling), you can ask Regex to search for that pattern in a string using:

int
re_exec (char *string)

string is the address of the null-terminated string in which you want to search.

re_exec returns either 1 for success or 0 for failure. It automatically uses a GNU fastmap (see Searching with Fastmaps).


Previous: , Up: Regular expressions   [Contents][Index]

18.7 Regular expression syntaxes

Gnulib supports many different types of regular expressions; although the underlying features are the same or identical, the syntax used varies. The descriptions given here for the different types are generated automatically.


Next: , Up: Regular expression syntaxes   [Contents][Index]

18.7.1 ‘awk’ regular expression syntax

The character ‘.’ matches any single character except the null character.

+

indicates that the regular expression should match one or more occurrences of the previous atom or regexp.

?

indicates that the regular expression should match zero or one occurrence of the previous atom or regexp.

\+

matches a ‘+

\?

matches a ‘?’.

Bracket expressions are used to match ranges of characters. Bracket expressions where the range is backward, for example ‘[z-a]’, are invalid. Within square brackets, ‘\’ can be used to quote the following character. Character classes are supported; for example ‘[[:digit:]]’ will match a single decimal digit.

GNU extensions are not supported and so ‘\w’, ‘\W’, ‘\<’, ‘\>’, ‘\b’, ‘\B’, ‘\`’, and ‘\'’ match ‘w’, ‘W’, ‘<’, ‘>’, ‘b’, ‘B’, ‘`’, and ‘'’ respectively.

Grouping is performed with parentheses ‘()’. An unmatched ‘)’ matches just itself. A backslash followed by a digit matches that digit.

The alternation operator is ‘|’.

The characters ‘^’ and ‘$’ always represent the beginning and end of a string respectively, except within square brackets. Within brackets, ‘^’ can be used to invert the membership of the character class being specified.

*’, ‘+’ and ‘?’ are special at any point in a regular expression except:

  1. At the beginning of a regular expression
  2. After an open-group, signified by ‘(
  3. After the alternation operator ‘|

The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups.


Next: , Previous: , Up: Regular expression syntaxes   [Contents][Index]

18.7.2 ‘ed’ regular expression syntax

The character ‘.’ matches any single character except the null character.

\+

indicates that the regular expression should match one or more occurrences of the previous atom or regexp.

\?

indicates that the regular expression should match zero or one occurrence of the previous atom or regexp.

+ and ?

match themselves.

Bracket expressions are used to match ranges of characters. Bracket expressions where the range is backward, for example ‘[z-a]’, are invalid. Within square brackets, ‘\’ is taken literally. Character classes are supported; for example ‘[[:digit:]]’ will match a single decimal digit.

GNU extensions are supported:

  1. \w’ matches a character within a word
  2. \W’ matches a character which is not within a word
  3. \<’ matches the beginning of a word
  4. \>’ matches the end of a word
  5. \b’ matches a word boundary
  6. \B’ matches characters which are not a word boundary
  7. \`’ matches the beginning of the whole input
  8. \'’ matches the end of the whole input

Grouping is performed with backslashes followed by parentheses ‘\(’, ‘\)’. A backslash followed by a digit acts as a back-reference and matches the same thing as the previous grouped expression indicated by that number. For example ‘\2’ matches the second group expression. The order of group expressions is determined by the position of their opening parenthesis ‘\(’.

The alternation operator is ‘\|’.

The character ‘^’ only represents the beginning of a string when it appears:

  1. At the beginning of a regular expression
  2. After an open-group, signified by ‘\(
  3. After the alternation operator ‘\|

The character ‘$’ only represents the end of a string when it appears:

  1. At the end of a regular expression
  2. Before a close-group, signified by ‘\)
  3. Before the alternation operator ‘\|

\*’, ‘\+’ and ‘\?’ are special at any point in a regular expression except:

  1. At the beginning of a regular expression
  2. After an open-group, signified by ‘\(
  3. After the alternation operator ‘\|

Intervals are specified by ‘\{’ and ‘\}’. Invalid intervals such as ‘a\{1z’ are not accepted.

The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups.


Next: , Previous: , Up: Regular expression syntaxes   [Contents][Index]

18.7.3 ‘egrep’ regular expression syntax

The character ‘.’ matches any single character.

+

indicates that the regular expression should match one or more occurrences of the previous atom or regexp.

?

indicates that the regular expression should match zero or one occurrence of the previous atom or regexp.

\+

matches a ‘+

\?

matches a ‘?’.

Bracket expressions are used to match ranges of characters. Bracket expressions where the range is backward, for example ‘[z-a]’, are invalid. Within square brackets, ‘\’ is taken literally. Character classes are supported; for example ‘[[:digit:]]’ will match a single decimal digit.

GNU extensions are supported:

  1. \w’ matches a character within a word
  2. \W’ matches a character which is not within a word
  3. \<’ matches the beginning of a word
  4. \>’ matches the end of a word
  5. \b’ matches a word boundary
  6. \B’ matches characters which are not a word boundary
  7. \`’ matches the beginning of the whole input
  8. \'’ matches the end of the whole input

Grouping is performed with parentheses ‘()’. An unmatched ‘)’ matches just itself. A backslash followed by a digit acts as a back-reference and matches the same thing as the previous grouped expression indicated by that number. For example ‘\2’ matches the second group expression. The order of group expressions is determined by the position of their opening parenthesis ‘(’.

The alternation operator is ‘|’.

The characters ‘^’ and ‘$’ always represent the beginning and end of a string respectively, except within square brackets. Within brackets, ‘^’ can be used to invert the membership of the character class being specified.

The characters ‘*’, ‘+’ and ‘?’ are special anywhere in a regular expression.

Intervals are specified by ‘{’ and ‘}’. Invalid intervals are treated as literals, for example ‘a{1’ is treated as ‘a\{1

The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups.


Next: , Previous: , Up: Regular expression syntaxes   [Contents][Index]

18.7.4 ‘emacs’ regular expression syntax

The character ‘.’ matches any single character except newline.

+

indicates that the regular expression should match one or more occurrences of the previous atom or regexp.

?

indicates that the regular expression should match zero or one occurrence of the previous atom or regexp.

\+

matches a ‘+

\?

matches a ‘?’.

Bracket expressions are used to match ranges of characters. Bracket expressions where the range is backward, for example ‘[z-a]’, are ignored. Within square brackets, ‘\’ is taken literally. Character classes are supported; for example ‘[[:digit:]]’ will match a single decimal digit.

GNU extensions are supported:

  1. \w’ matches a character within a word
  2. \W’ matches a character which is not within a word
  3. \<’ matches the beginning of a word
  4. \>’ matches the end of a word
  5. \b’ matches a word boundary
  6. \B’ matches characters which are not a word boundary
  7. \`’ matches the beginning of the whole input
  8. \'’ matches the end of the whole input

Grouping is performed with backslashes followed by parentheses ‘\(’, ‘\)’. A backslash followed by a digit acts as a back-reference and matches the same thing as the previous grouped expression indicated by that number. For example ‘\2’ matches the second group expression. The order of group expressions is determined by the position of their opening parenthesis ‘\(’.

The alternation operator is ‘\|’.

The character ‘^’ only represents the beginning of a string when it appears:

  1. At the beginning of a regular expression
  2. After an open-group, signified by ‘\(
  3. After the alternation operator ‘\|

The character ‘$’ only represents the end of a string when it appears:

  1. At the end of a regular expression
  2. Before a close-group, signified by ‘\)
  3. Before the alternation operator ‘\|

*’, ‘+’ and ‘?’ are special at any point in a regular expression except:

  1. At the beginning of a regular expression
  2. After an open-group, signified by ‘\(
  3. After the alternation operator ‘\|

Intervals are specified by ‘\{’ and ‘\}’. Invalid intervals such as ‘a\{1z’ are not accepted.

The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups.


Next: , Previous: , Up: Regular expression syntaxes   [Contents][Index]

18.7.5 ‘gnu-awk’ regular expression syntax

The character ‘.’ matches any single character.

+

indicates that the regular expression should match one or more occurrences of the previous atom or regexp.

?

indicates that the regular expression should match zero or one occurrence of the previous atom or regexp.

\+

matches a ‘+

\?

matches a ‘?’.

Bracket expressions are used to match ranges of characters. Bracket expressions where the range is backward, for example ‘[z-a]’, are invalid. Within square brackets, ‘\’ can be used to quote the following character. Character classes are supported; for example ‘[[:digit:]]’ will match a single decimal digit.

GNU extensions are supported:

  1. \w’ matches a character within a word
  2. \W’ matches a character which is not within a word
  3. \<’ matches the beginning of a word
  4. \>’ matches the end of a word
  5. \b’ matches a word boundary
  6. \B’ matches characters which are not a word boundary
  7. \`’ matches the beginning of the whole input
  8. \'’ matches the end of the whole input

Grouping is performed with parentheses ‘()’. An unmatched ‘)’ matches just itself. A backslash followed by a digit acts as a back-reference and matches the same thing as the previous grouped expression indicated by that number. For example ‘\2’ matches the second group expression. The order of group expressions is determined by the position of their opening parenthesis ‘(’.

The alternation operator is ‘|’.

The characters ‘^’ and ‘$’ always represent the beginning and end of a string respectively, except within square brackets. Within brackets, ‘^’ can be used to invert the membership of the character class being specified.

*’, ‘+’ and ‘?’ are special at any point in a regular expression except:

  1. At the beginning of a regular expression
  2. After an open-group, signified by ‘(
  3. After the alternation operator ‘|

Intervals are specified by ‘{’ and ‘}’. Invalid intervals are treated as literals, for example ‘a{1’ is treated as ‘a\{1

The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups.


Next: , Previous: , Up: Regular expression syntaxes   [Contents][Index]

18.7.6 ‘grep’ regular expression syntax

The character ‘.’ matches any single character.

\+

indicates that the regular expression should match one or more occurrences of the previous atom or regexp.

\?

indicates that the regular expression should match zero or one occurrence of the previous atom or regexp.

+ and ?

match themselves.

Bracket expressions are used to match ranges of characters. Bracket expressions where the range is backward, for example ‘[z-a]’, are invalid. Within square brackets, ‘\’ is taken literally. Character classes are supported; for example ‘[[:digit:]]’ will match a single decimal digit.

GNU extensions are supported:

  1. \w’ matches a character within a word
  2. \W’ matches a character which is not within a word
  3. \<’ matches the beginning of a word
  4. \>’ matches the end of a word
  5. \b’ matches a word boundary
  6. \B’ matches characters which are not a word boundary
  7. \`’ matches the beginning of the whole input
  8. \'’ matches the end of the whole input

Grouping is performed with backslashes followed by parentheses ‘\(’, ‘\)’. A backslash followed by a digit acts as a back-reference and matches the same thing as the previous grouped expression indicated by that number. For example ‘\2’ matches the second group expression. The order of group expressions is determined by the position of their opening parenthesis ‘\(’.

The alternation operator is ‘\|’.

The character ‘^’ only represents the beginning of a string when it appears:

  1. At the beginning of a regular expression
  2. After an open-group, signified by ‘\(
  3. After a newline
  4. After the alternation operator ‘\|

The character ‘$’ only represents the end of a string when it appears:

  1. At the end of a regular expression
  2. Before a close-group, signified by ‘\)
  3. Before a newline
  4. Before the alternation operator ‘\|

\*’, ‘\+’ and ‘\?’ are special at any point in a regular expression except:

  1. At the beginning of a regular expression
  2. After an open-group, signified by ‘\(
  3. After a newline
  4. After the alternation operator ‘\|

Intervals are specified by ‘\{’ and ‘\}’. Invalid intervals such as ‘a\{1z’ are not accepted.

The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups.


Next: , Previous: , Up: Regular expression syntaxes   [Contents][Index]

18.7.7 ‘posix-awk’ regular expression syntax

The character ‘.’ matches any single character except the null character.

+

indicates that the regular expression should match one or more occurrences of the previous atom or regexp.

?

indicates that the regular expression should match zero or one occurrence of the previous atom or regexp.

\+

matches a ‘+

\?

matches a ‘?’.

Bracket expressions are used to match ranges of characters. Bracket expressions where the range is backward, for example ‘[z-a]’, are invalid. Within square brackets, ‘\’ can be used to quote the following character. Character classes are supported; for example ‘[[:digit:]]’ will match a single decimal digit.

GNU extensions are not supported and so ‘\w’, ‘\W’, ‘\<’, ‘\>’, ‘\b’, ‘\B’, ‘\`’, and ‘\'’ match ‘w’, ‘W’, ‘<’, ‘>’, ‘b’, ‘B’, ‘`’, and ‘'’ respectively.

Grouping is performed with parentheses ‘()’. An unmatched ‘)’ matches just itself. A backslash followed by a digit acts as a back-reference and matches the same thing as the previous grouped expression indicated by that number. For example ‘\2’ matches the second group expression. The order of group expressions is determined by the position of their opening parenthesis ‘(’.

The alternation operator is ‘|’.

The characters ‘^’ and ‘$’ always represent the beginning and end of a string respectively, except within square brackets. Within brackets, ‘^’ can be used to invert the membership of the character class being specified.

*’, ‘+’ and ‘?’ are special at any point in a regular expression except the following places, where they are not allowed:

  1. At the beginning of a regular expression
  2. After an open-group, signified by ‘(
  3. After the alternation operator ‘|

Intervals are specified by ‘{’ and ‘}’. Invalid intervals are treated as literals, for example ‘a{1’ is treated as ‘a\{1

The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups.


Next: , Previous: , Up: Regular expression syntaxes   [Contents][Index]

18.7.8 ‘posix-basic’ regular expression syntax

This is a synonym for ed.


Next: , Previous: , Up: Regular expression syntaxes   [Contents][Index]

18.7.9 ‘posix-egrep’ regular expression syntax

This is a synonym for egrep.


Next: , Previous: , Up: Regular expression syntaxes   [Contents][Index]

18.7.10 ‘posix-extended’ regular expression syntax

The character ‘.’ matches any single character except the null character.

+

indicates that the regular expression should match one or more occurrences of the previous atom or regexp.

?

indicates that the regular expression should match zero or one occurrence of the previous atom or regexp.

\+

matches a ‘+

\?

matches a ‘?’.

Bracket expressions are used to match ranges of characters. Bracket expressions where the range is backward, for example ‘[z-a]’, are invalid. Within square brackets, ‘\’ is taken literally. Character classes are supported; for example ‘[[:digit:]]’ will match a single decimal digit.

GNU extensions are supported:

  1. \w’ matches a character within a word
  2. \W’ matches a character which is not within a word
  3. \<’ matches the beginning of a word
  4. \>’ matches the end of a word
  5. \b’ matches a word boundary
  6. \B’ matches characters which are not a word boundary
  7. \`’ matches the beginning of the whole input
  8. \'’ matches the end of the whole input

Grouping is performed with parentheses ‘()’. An unmatched ‘)’ matches just itself. A backslash followed by a digit acts as a back-reference and matches the same thing as the previous grouped expression indicated by that number. For example ‘\2’ matches the second group expression. The order of group expressions is determined by the position of their opening parenthesis ‘(’.

The alternation operator is ‘|’.

The characters ‘^’ and ‘$’ always represent the beginning and end of a string respectively, except within square brackets. Within brackets, ‘^’ can be used to invert the membership of the character class being specified.

*’, ‘+’ and ‘?’ are special at any point in a regular expression except the following places, where they are not allowed:

  1. At the beginning of a regular expression
  2. After an open-group, signified by ‘(
  3. After the alternation operator ‘|

Intervals are specified by ‘{’ and ‘}’. Invalid intervals such as ‘a{1z’ are not accepted.

The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups.


Next: , Previous: , Up: Regular expression syntaxes   [Contents][Index]

18.7.11 ‘posix-minimal-basic’ regular expression syntax

The character ‘.’ matches any single character except the null character.

Bracket expressions are used to match ranges of characters. Bracket expressions where the range is backward, for example ‘[z-a]’, are invalid. Within square brackets, ‘\’ is taken literally. Character classes are supported; for example ‘[[:digit:]]’ will match a single decimal digit.

GNU extensions are supported:

  1. \w’ matches a character within a word
  2. \W’ matches a character which is not within a word
  3. \<’ matches the beginning of a word
  4. \>’ matches the end of a word
  5. \b’ matches a word boundary
  6. \B’ matches characters which are not a word boundary
  7. \`’ matches the beginning of the whole input
  8. \'’ matches the end of the whole input

Grouping is performed with backslashes followed by parentheses ‘\(’, ‘\)’. A backslash followed by a digit acts as a back-reference and matches the same thing as the previous grouped expression indicated by that number. For example ‘\2’ matches the second group expression. The order of group expressions is determined by the position of their opening parenthesis ‘\(’.

The character ‘^’ only represents the beginning of a string when it appears:

  1. At the beginning of a regular expression
  2. After an open-group, signified by ‘\(

The character ‘$’ only represents the end of a string when it appears:

  1. At the end of a regular expression
  2. Before a close-group, signified by ‘\)

Intervals are specified by ‘\{’ and ‘\}’. Invalid intervals such as ‘a\{1z’ are not accepted.

The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups.


Previous: , Up: Regular expression syntaxes   [Contents][Index]

18.7.12 ‘sed’ regular expression syntax

This is a synonym for ed.


Next: , Previous: , Up: Top   [Contents][Index]

19 Build Infrastructure Modules

Gnulib has a couple of modules that don’t provide code, but rather extend the GNU Build System. That is, they are convenience facilities for use with GNU Automake (in particular).


Next: , Up: Build Infrastructure Modules   [Contents][Index]

19.1 Searching for Libraries

The following macros check for the presence or location of certain C, C++, or Fortran library archive files.

Simple Library Tests

The macros AC_CHECK_LIB, AC_SEARCH_LIBS from GNU Autoconf check for the presence of certain C, C++, or Fortran library archive files. The libraries are looked up in the default linker path—a system dependent list of directories, that usually contains the /usr/lib directory—and those directories given by -L options in the LDFLAGS variable.

Locating Libraries

The following macros, defined in the Gnulib module havelib, search for the location of certain C, C++, or Fortran library archive files and make the found location available to the compilation process and to further Autoconf tests.

Macro: AC_LIB_LINKFLAGS(name, [dependencies])

Searches for lib<name> and the libraries corresponding to explicit and implicit dependencies. Sets and AC_SUBSTs the LIB<NAME> and LTLIB<NAME> variables (with <NAME> in upper case) and augments the CPPFLAGS variable by -I options.

This macro should be used when lib<name> is expected to be found.

Macro: AC_LIB_HAVE_LINKFLAGS(name, [dependencies], [includes], [testcode], [missing-message])

Searches for lib<name> and the libraries corresponding to explicit and implicit dependencies, together with the specified include files and the ability to compile and link the specified testcode. The missing-message defaults to no and may contain additional hints for the user. If found, it sets and AC_SUBSTs HAVE_LIB<NAME>=yes and the LIB<NAME> and LTLIB<NAME> variables (with <NAME> in upper case) and augments the CPPFLAGS variable by -I options, and #defines HAVE_LIB<NAME> to 1. Otherwise, it sets and AC_SUBSTs HAVE_LIB<NAME>=no and LIB<NAME> and LTLIB<NAME> to empty.

These macros assume that when a library is installed in some_directory/lib, its include files are installed in some_directory/include.

The complexities that AC_LIB_LINKFLAGS and AC_LIB_HAVE_LINKFLAGS deal with are the following:

The macros also set a variable LTLIB<NAME>, that should be used when linking with libtool. Both LTLIB<NAME> and LIB<NAME> contain essentially the same option, but where LIB<NAME> contains platform dependent flags like ‘-Wl,-rpath’, LTLIB<NAME> contains platform independent flags like ‘-R’.

If you, by mistake, use LIB<NAME> instead of LTLIB<NAME> when linking with libtool, you will observe that the binaries created in the build dir will prefer the shared libraries in the installation directories over the shared libraries in the build dir; this can lead to all sorts of build failures, test failures, or crashes!

If you, on the other hand, by mistake, use LTLIB<NAME> instead of LIB<NAME> when linking without libtool, you will observe build failures, because the ‘-R’ options contained in LTLIB<NAME> are not valid options to compilers such as GCC.

Example of using AC_LIB_LINKFLAGS

Suppose you want to use libz, the compression library.

  1. In configure.ac you add the line
      AC_CONFIG_AUX_DIR([build-aux])
      AC_LIB_LINKFLAGS([z])
    

    Note that since the AC_LIB_LINKFLAGS invocation modifies the CPPFLAGS, it should precede all tests that check for header files, declarations, structures or types.

  2. To the package’s build-aux directory you add the file config.rpath, also part of the Gnulib havelib module. (gnulib-tool will usually do this for you automatically.)
  3. In Makefile.in you add @LIBZ@ to the link command line of your program. Or, if you are using Automake, you add $(LIBZ) to the LDADD variable that corresponds to your program.

Dependencies

The dependencies list is a space separated list of library names that libname is known to depend upon. Example: If libfooy depends on libfoox, and libfooz depends on libfoox and libfooy, you can write:

AC_LIB_LINKFLAGS([foox])
AC_LIB_LINKFLAGS([fooy], [foox])
AC_LIB_LINKFLAGS([fooz], [foox fooy])

Explicit dependencies are necessary if you cannot assume that a .la file, created by libtool, is installed. If you can assume that libfooy.la is installed by libtool (and has not been omitted by the package distributor!), you can omit the explicit dependency and just write

AC_LIB_LINKFLAGS([fooy])

This way, you don’t need to know in advance which libraries the needed library depends upon.

Static vs. shared

The macros find the libraries regardless whether they are installed as shared or static libraries.

CPPFLAGS vs. LDFLAGS

The macros determine the directories that should be added to the compiler preprocessor’s search path and to the linker’s search path. For the compiler preprocessor, -I options with the necessary directories are added to the CPPFLAGS variable, for use by the whole package. For the linker, appropriate options are added to the LIB<NAME> and LTLIB<NAME> variables, for use during linking by those programs and libraries that need the dependency on lib<name>. You need to use the value of LIB<NAME> or LTLIB<NAME> in the Makefiles. LTLIB<NAME> is for use with libtool, whereas LIB<NAME> is for when libtool is not involved in linking.

The macros do not check whether the include files and the library found match. If you want to verify this at configure time, one technique is to have a version number in the include files and a version number in the library, like this:

  #define LIBNAME_VERSION 10203
  extern int libname_version; /* initialized to LIBNAME_VERSION */

and use a test like

  AC_TRY_RUN([int main () { return libname_version != LIBNAME_VERSION; }])

Bi-arch systems

A bi-arch system is one where

On several types of such systems, for historical reasons, the 32-bit libraries are installed in prefix/lib, whereas the 64-bit libraries are installed in

On such systems, in 64-bit mode, configure will search for the libraries in prefix/lib64 or prefix/lib/64, respectively, not in prefix/lib. A user can adhere to these system-wide conventions by using the ‘--libdir’ option when installing packages. When a user has already installed packages in 64-bit mode using the GNU default ‘--libdir=prefix/lib’, he can make this directory adhere to the system-wide convention by placing a symbolic link:

On glibc systems:

ln -s lib prefix/lib64

On Solaris systems:

ln -s . prefix/lib/64


Next: , Previous: , Up: Build Infrastructure Modules   [Contents][Index]

19.2 Controlling the Exported Symbols of Shared Libraries

The lib-symbol-visibility module allows precise control of the symbols exported by a shared library. This is useful because

There are traditionally three ways to specify the exported symbols of a shared library.

GNU libtool’s -export-symbols option implements the first approach. The script declared.sh from Gnulib can help to produce the list of symbols.

This gnulib module implements the third approach. For this it relies on GNU GCC 4.0 or newer, namely on its ‘-fvisibility=hidden’ command-line option and the “visibility” attribute. (The “visibility” attribute was already supported in GCC 3.4, but without the command line option, introduced in GCC 4.0, the third approach could not be used.)

More explanations on this subject can be found in https://gcc.gnu.org/wiki/Visibility, which contains more details on the GCC features and additional advice for C++ libraries, and in Ulrich Drepper’s paper https://www.akkadia.org/drepper/dsohowto.pdf, which also explains other tricks for reducing the startup time impact of shared libraries.

The gnulib autoconf macro gl_VISIBILITY tests for GCC 4.0 or newer. It defines a Makefile variable @CFLAG_VISIBILITY@ containing ‘-fvisibility=hidden’ or nothing. It also defines as a C macro and as a substituted variable: @HAVE_VISIBILITY@. Its value is 1 when symbol visibility control is supported, and 0 otherwise.

As of 2022, symbol visibility control is supported on

It is not supported on

To use this module in a library, say libfoo, you will do these steps:

  1. Add @CFLAG_VISIBILITY@ or (in a Makefile.am) $(CFLAG_VISIBILITY) to the CFLAGS for the compilation of the sources that make up the library.
  2. Add a C macro definition, say ‘-DBUILDING_LIBFOO’, to the CPPFLAGS for the compilation of the sources that make up the library.
  3. Define a macro specific to your library like this.
    #if HAVE_VISIBILITY && BUILDING_LIBFOO
    # define LIBFOO_SHLIB_EXPORTED __attribute__((__visibility__("default")))
    #else
    # define LIBFOO_SHLIB_EXPORTED
    #endif
    

    This macro should be enabled in all public header files of your library.

  4. Annotate all variable, function and class declarations in all public header files of your library with ‘LIBFOO_SHLIB_EXPORTED’. This annotation can occur at different locations: between the ‘extern’ and the type or return type, or just before the entity being declared, or after the entire declarator. My preference is to put it right after ‘extern’, so that the declarations in the header files remain halfway readable.

Note that the precise control of the exported symbols will not work with other compilers than GCC >= 4.0, and will not work on systems where the assembler or linker lack the support of “hidden” visibility. Therefore, it’s good if, in order to reduce the risk of collisions with symbols in other libraries, you continue to use a prefix specific to your library for all non-static variables and functions and for all C++ classes in your library.

Note about other compilers: MSVC support can be added easily, by extending the definition of the macro mentioned above, to something like this:

#if HAVE_VISIBILITY && BUILDING_LIBFOO
# define LIBFOO_SHLIB_EXPORTED __attribute__((__visibility__("default")))
#elif (defined _WIN32 && !defined __CYGWIN__) && @BUILDING_SHARED@ && BUILDING_LIBFOO
# if defined DLL_EXPORT
#  define LIBFOO_SHLIB_EXPORTED __declspec(dllexport)
# else
#  define LIBFOO_SHLIB_EXPORTED
# endif
#elif (defined _WIN32 && !defined __CYGWIN__) && @BUILDING_SHARED@
# define LIBFOO_SHLIB_EXPORTED __declspec(dllimport)
#else
# define LIBFOO_SHLIB_EXPORTED
#endif

Here BUILDING_SHARED is an Autoconf variable that you have to define. It ought to evaluate to 1 in a build configured with ‘--enable-shared’, or to 0 in a build configured with ‘--disable-shared’. You may use the following ‘configure.ac’ snippet:

  if test "$enable_shared" = yes; then
    BUILDING_SHARED=1
  else
    BUILDING_SHARED=0
  fi
  AC_SUBST([BUILDING_SHARED])

And DLL_EXPORT is defined by Libtool, on Windows platforms, when compiling for a shared library (called DLL under Windows). It is not defined when Libtool compiles an object file meant to be linked statically into some executable.


Next: , Previous: , Up: Build Infrastructure Modules   [Contents][Index]

19.3 LD Version Scripts

The lib-symbol-versions module can be used to add shared library versioning support. Currently, only GNU LD and the Solaris linker supports this.

Version scripts provides information that can be used by GNU/Linux distribution packaging tools. For example, Debian has a tool dpkg-shlibdeps that can determine the minimal required version of each dependency (by looking at the symbol list) and stuff the information into the Debian specific packaging files.

For more information and other uses of version scripts, see Ulrich Drepper’s paper https://www.akkadia.org/drepper/dsohowto.pdf

You use the module by importing it to your library, and then add the following lines to the Makefile.am that builds the library:

if HAVE_LD_VERSION_SCRIPT
libfoo_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libfoo.map
endif

The version script file format is documented in the GNU LD manual, but a small example would be:

LIBFOO_1.0 {
  global:
    libfoo_init; libfoo_doit; libfoo_done;

  local:
    *;
};

If you target platforms that do not support linker scripts (i.e., all platforms that doesn’t use GNU LD) you may want to consider a more portable but less powerful alternative: libtool -export-symbols. It will hide internal symbols from your library, but will not add ELF versioning symbols. Your usage would then be something like:

if HAVE_LD_VERSION_SCRIPT
libfoo_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libfoo.map
else
libfoo_la_LDFLAGS += -export-symbols $(srcdir)/libfoo.sym
endif

See the Libtool manual for the file syntax, but a small example would be:

libfoo_init
libfoo_doit
libfoo_done

To avoid the need for a *.sym file if your symbols are easily expressed using a regular expression, you may use -export-symbols-regex:

if HAVE_LD_VERSION_SCRIPT
libfoo_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libfoo.map
else
libfoo_la_LDFLAGS += -export-symbols-regex '^libfoo_.*'
endif

For more discussions about symbol visibility, rather than shared library versioning, see the lib-symbol-visibility module (see Exported Symbols of Shared Libraries).


Next: , Previous: , Up: Build Infrastructure Modules   [Contents][Index]

19.4 configmake

The configmake module builds a C include file named configmake.h containing the usual installation directory values; for example, those specified by --prefix or --libdir to configure. Each variable is given a #define with an all-uppercase macro name, such as PREFIX and LIBDIR. (Automake cannot create this file directly because the user might override directory values at make time.)

Specifically, the module retrieves values of the variables through configure followed by make, not directly through configure, so that a user who sets some of these variables consistently on the make command line gets correct results.

One advantage of this approach, compared to the classical approach of adding -DLIBDIR=\"$(libdir)\" etc. to AM_CPPFLAGS, is that it protects against the use of undefined variables. That is, if, say, $(libdir) is not set in the Makefile, LIBDIR is not defined by this module, and code using LIBDIR gives a compilation error.

Another advantage is that make output is shorter.

For the complete list of variables which are #defined this way, see the file gnulib/modules/configmake, or inspect your resulting gnulib Makefile.


Next: , Previous: , Up: Build Infrastructure Modules   [Contents][Index]

19.5 warnings

The warnings module allows regularly building a package with more GCC warnings than the default warnings emitted by GCC. It is often used indirectly through the manywarnings module (see manywarnings).

It provides the following functionality:

To use this module, you need the following:

  1. In configure.ac, use for example
    gl_WARN_ADD([-Wall], [WARN_CFLAGS])
    gl_WARN_ADD([-Wpointer-arith], [WARN_CFLAGS])
    
  2. In the directories which shall use WARN_CFLAGS, use it in the definition of AM_CFLAGS, like this:
    AM_CFLAGS = $(WARN_CFLAGS)
    

    Note that the AM_CFLAGS is used in combination with CFLAGS and before CFLAGS in build rules emitted by Automake. This allows the user to provide CFLAGS that override the WARN_CFLAGS.

gl_WARN_ADD([-Werror])’ is intended for developers, and should be avoided in contexts where it would affect ordinary installation builds. The warnings emitted by GCC depend, to some extent, on the contents of the system header files, on the size and signedness of built-in types, etc. Use of ‘-Werror’ would cause frustration to all users on platforms that the maintainer has not tested before the release. It is better if ‘-Werror’ is off by default, and is enabled only by developers. For example, ‘-Werror’ could affect ‘make distcheck’ or ‘configure --enable-gcc-warnings’ as mentioned above.


Next: , Previous: , Up: Build Infrastructure Modules   [Contents][Index]

19.6 manywarnings

The manywarnings module enables many GCC warnings for your package. Here is an example use:

AC_ARG_ENABLE([gcc-warnings],
  [AS_HELP_STRING([[--enable-gcc-warnings[=TYPE]]],
    [control generation of GCC warnings.  The TYPE 'no' disables
     warnings; 'yes' (default) generates cheap warnings;
     'expensive' in addition generates expensive warnings.])])

AS_IF([test "$enable_gcc_warnings" != no],
  [
   # Set up the list of unwanted warning options.
   nw=
   if test "$enable_gcc_warnings" != expensive; then
     nw="$nw -fanalyzer"
   fi
   nw="$nw -Wbad-function-cast" # Casting a function's result is not more
                                # dangerous than casting any other value.
   nw="$nw -Winline"            # It's OK to not inline.
   nw="$nw -Wsign-compare"      # Too many false alarms.
   nw="$nw -Wstrict-overflow"   # It's OK to optimize strictly.
   nw="$nw -Wsystem-headers"    # Don't warn in system headers.

   # Setup the list of meaningful warning options for the C compiler.
   # The list comes from manywarnings.m4. Warning options that are not
   # generally meaningful have already been filtered out (cf.
   # build-aux/gcc-warning.spec).
   gl_MANYWARN_ALL_GCC([possible_warning_options])

   # Compute the list of warning options that are desired.
   gl_MANYWARN_COMPLEMENT([desired_warning_options],
                          [$possible_warning_options], [$nw])
   # Compute the list of remaining undesired warning options.
   # Namely those, that were not in manywarnings.m4 because they were
   # already listed in build-aux/gcc-warning.spec; this includes those
   # that are implied by -Wall.
   gl_MANYWARN_COMPLEMENT([remaining_undesired_warning_options],
                          [$nw], [$possible_warning_options])

   # Add the desired warning options to WARN_CFLAGS.
   for w in $desired_warning_options; do
     gl_WARN_ADD([$w])
   done

   # Add the opposites of the remaining undesired warning options to
   # WARN_CFLAGS.
   for w in `echo "$remaining_undesired_warning_options" | sed -e 's/-W/-Wno-/g'`; do
     gl_WARN_ADD([$w])
   done
])

This module sets up many GCC warning options.

When you use it for the first time, it is common practice to do it as follows:

When a new major version of GCC is released, the Gnulib maintainers add the newly available warning options into the gl_MANYWARN_ALL_GCC macro. You will then enjoy the benefits of the new warnings, simply by updating to the newest Gnulib. If some of the new warnings are undesired, you can add them to the ‘nw’ variable, as described above.

Comments on particular warning flags:

-fanalyzer

The manywarnings module by default uses GCC’s -fanalyzer option, as this issues some useful warnings. (It can also help GCC generate better code.) However, -fanalyzer can greatly slow down compilation, and in programs with large modules it can be so slow as to be unusable, so it is common for configure to disable it unless configure is given an option like --enable-gcc-warnings=expensive.

-fstrict-aliasing

Although the manywarnings module does not enable GCC’s -fstrict-aliasing option, it is enabled by default if you compile with -O2 or higher optimization, and can help GCC generate better warnings.

-Wanalyzer-malloc-leak

The -fanalyzer option generates many false alarms about malloc leaks, which manywarnings suppresses by also using -Wno-analyzer-malloc-leak.

-fstrict-flex-arrays

The manywarnings module by default uses GCC’s -fstrict-flex-arrays option if available, so that GCC can warn about nonportable usage of flexible array members. In a few cases this can help GCC generate better code, so it is not strictly a warning option.

-Wsign-compare

GCC and Clang generate too many false alarms with -Wsign-compare, and we don’t recommend that warning. You can disable it by using gl_WARN_ADD([-Wno-sign-compare]) as illustrated above. Programs using Gnulib generally don’t enable that warning when compiling Gnulib code. If you happen to find a real bug with that warning we’d like to know it.


Next: , Previous: , Up: Build Infrastructure Modules   [Contents][Index]

19.7 Running self-tests under valgrind

For projects written in C or similar languages, running the self-tests under Valgrind can reveal hard to find memory issues. Gnulib supports two ways to make use of Valgrind: one that enables use of Valgrind at configure time, when configure found it to be present; and one at the discretion of the developer.


Next: , Up: Running self-tests under valgrind   [Contents][Index]

19.7.1 Using valgrind without developer intervention

The valgrind-tests module searches for Valgrind at configure time and declares the LOG_VALGRIND automake variable for use with automake’s LOG_COMPILER.

After importing the valgrind-tests module to your project, you use it by adding the following to the Makefile.am that runs the self-tests:

LOG_COMPILER = $(LOG_VALGRIND)

This will run all self-checks under valgrind.

Replace LOG_COMPILER with TESTS_ENVIRONMENT if you are using the old serial test harness. The parallel test harness has been the default in automake since version 1.11.3, but if you are using an older automake, or put ‘serial-tests’ in ‘AM_INIT_AUTOMAKE’/‘AUTOMAKE_OPTIONS’ you would still be using the serial test harness.

If you desire a project-wide decision that valgrind is not enabled by default, but still allow users to enable it with --enable-valgrind-tests you may put the following in configure.ac before gl_INIT.

gl_VALGRIND_TESTS_DEFAULT_NO

Next: , Previous: , Up: Running self-tests under valgrind   [Contents][Index]

19.7.2 Valgrind options

The VALGRIND variable holds the name of the valgrind binary and some options passed to valgrind. You may provide additional options that are passed to valgrind using the ‘VALGRINDFLAGS’ variable, for example:

./configure VALGRINDFLAGS="--suppressions=~/local.supp"

Alternatively during build phase:

make check VALGRINDFLAGS="--suppressions=~/local.supp"

This is useful if you have a valgrind suppression files that are needed to avoid triggering errors for known errors, typically in system libraries.

The VALGRIND variable include options that are useful when valgrind is run non-interactively through the test harness. The default parameters are -q to silence the output, --error-exitcode=1 to cause valgrind errors to be treated as fatal errors, and --leak-check=full to check for memory leaks.

These options can be controlled through the DEFAULT_VALGRINDFLAGS variable. For example, when configuring the package:

./configure DEFAULT_VALGRINDFLAGS="--quiet"

Alternatively, during the build phase:

make check DEFAULT_VALGRINDFLAGS="--quiet"

That would have the effect of removing --error-exitcode=1 and --leak-check=full from the default options, thus causing any valgrind errors to be silently ignored, instead of causing fatal test failures.

As a developer you may use the variables in configure.ac before calling gl_INIT, like this if your program has deeply-nested call chains:

gl_EARLY
...
VALGRINDFLAGS="$VALGRINDFLAGS --num-callers=42"
...
gl_INIT

Note that any user-supplied VALGRINDFLAGS value is preserved, which is usually what you want.

Finally, as a developer you may want to provide additional per-directory options to valgrind and the AM_VALGRINDFLAGS variable can be used for this. For example:

AM_VALGRINDFLAGS = --suppressions=$(srcdir)/local-valgrind.supp
LOG_COMPILER = $(LOG_VALGRIND)

Next: , Previous: , Up: Running self-tests under valgrind   [Contents][Index]

19.7.3 Using valgrind at the developer’s discretion

In this approach, you define a Makefile.am variable ‘VALGRIND’ (or, more abstractly, ‘CHECKER’), that is usually set to empty. When you have configured and built the package and you decide that you want to run the tests with valgrind, you do so by modifying the definition of ‘VALGRIND’ in the Makefile.


Previous: , Up: Running self-tests under valgrind   [Contents][Index]

19.7.4 How to use Valgrind with shell scripts

It is not desirable to apply valgrind to shell scripts or other non-binaries, because

There are two ways to avoid this:

However, with this measure in place, binaries invoked through scripts will not be invoked under valgrind. This can be solved by defining environment variables in the TESTS_ENVIRONMENT variable that are then used by the shell scripts. For example, add the following:

TESTS_ENVIRONMENT = VALGRIND='$(LOG_VALGRIND)'

And then modify the shell scripts to invoke the binary prefixed with $VALGRIND.


Next: , Previous: , Up: Build Infrastructure Modules   [Contents][Index]

19.8 Package version management

The goals of a package maintainer, when dealing with the version number of a package, are:

Here’s how the GNU Build System and Gnulib achieve these goals.


Next: , Up: Package version management   [Contents][Index]

19.8.1 Setting the package version

When the maintainer has decided about the version number for the next build (and likely also the next tarball), they implement that decision by storing this version number in a file named .tarball-version at the top level of the package. This is a simple one-line text file.

The maintainer can, alternatively, decide to let the git version be the version number. To implement this choice, they remove the file .tarball-version at the top level of the package.

The actual version number comes from an invocation of the program git-version-gen, part of the Gnulib module git-version-gen. It looks at the file .tarball-version, if that exists, and at the current checkout, otherwise.

The file .tarball-version should not be put under version control. Therefore you may want to list it in the package’s top-level .gitignore file.

But you need a Makefile.am rule that will make sure that .tarball-version will exist in distribution tarballs:

dist-hook: dist-tarball-version
.PHONY: dist-tarball-version
dist-tarball-version:
	echo '$(VERSION)' > $(distdir)/.tarball-version

Typically, the maintainer will set the version number in a clean directory (i.e. after “make distclean”). In order to adapt to alternative workflows, the file GNUmakefile, part of the Gnulib module gnumakefile, contains a rule that will print a warning or possibly call autoreconf if it finds that the version has changed but has not yet been propagated. Reminder: Not every package supports autoreconf.


Next: , Previous: , Up: Package version management   [Contents][Index]

19.8.2 Propagating the package version

At the end of a configure run, config.status is run, that creates various files with embedded pieces of information. It thus propagates the values of various variables to various files in the build tree (most notably, Makefiles and config.h).

One such propagated value is the value of the Automake-defined variable $(VERSION). (There is also the Autoconf-defined variable $(PACKAGE_VERSION), but nothing except Automake ought to use it.)

For $(VERSION) to have a sensible value, a few lines are needed in configure.ac.

The recommended code pattern is

AC_INIT([package], [package])
AC_CONFIG_SRCDIR([unique-file-in-source-dir])
AC_CONFIG_AUX_DIR([build-aux])
VERSION_NUMBER=`cd $srcdir \
                && build-aux/git-version-gen .tarball-version`
gl_INIT_PACKAGE_VERSION([$VERSION_NUMBER])
AM_INIT_AUTOMAKE([options])

With this code pattern, the contents of the file .tarball-version and the git status are considered when configure is run.

Two older code patterns are deprecated, because they read the contents of the file .tarball-version and the git status when autoconf is run, not when configure is run. These older code patterns thus require a longer turnaround cycle when the maintainer has changed the version number.

The first such old code pattern is to set the version number directly in configure.ac:

AC_INIT([package, version])
AC_CONFIG_SRCDIR([unique-file-in-source-dir])
AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([options])

The second such old code pattern is to invoke git-version-gen at autoconf time:

AC_INIT([package],
        m4_esyscmd([build-aux/git-version-gen .tarball-version])])
AC_CONFIG_SRCDIR([unique-file-in-source-dir])
AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([options])

The macro gl_INIT_PACKAGE_VERSION is defined in the Gnulib module package-version.


Previous: , Up: Package version management   [Contents][Index]

19.8.3 Using the package version during the build

The unoptimized way

Once propagated through config.status, the value of $(VERSION) can appear anywhere in built files. For built files that are distributed (that is, not erased by “make distclean”), it is important to add a dependency in the Makefile.am, so that the file gets rebuilt:

built-file: $(top_builddir)/config.status

For files that are erased by “make distclean”, this is not really necessary, because

Thus, only in packages that don’t use Gnulib would a dependency such as

hello-hello.$(OBJEXT): $(top_builddir)/config.status

be needed.

The optimized way

Notice that config.status usually changes much more often than the version number. Therefore, for built files which depend only on $(VERSION) and not on other variables, the following optimized technique can be used.

The technique consists of keeping a file named $(top_srcdir)/.version, which is a timestamp file. Its modification time represents the last time the value of $(VERSION) was changed. Its contents is an undocumented implementation detail.

With such a file, the dependency in Makefile.am becomes:

built-file: $(top_srcdir)/.version

In order to prepare for using $(top_srcdir)/.version, three modifications in the package are needed:


Next: , Previous: , Up: Build Infrastructure Modules   [Contents][Index]

19.9 VCS To ChangeLog

Gnulib provides the ‘vcs-to-changelog’ module to generate an output similar to the GNU ChangeLog format from metadata of source control software such as git. Here’s an example of using ‘vcs-to-changelog’:

build-aux/vcs-to-changelog.py <from_ref> <to_ref>

where <from_ref> and <to_ref> refer to the range of commits to generate the output.

VCS To ChangeLog currently recognises changes in C source code and can traverse commits in git. Additional source frontends and source control backends may be added to the module. ‘vcs-to-changelog’ takes the following optional arguments:

The quirks file is a python module that must minimally implement a get_project_quirks function that returns an object of type ProjectQuirks or its subclass. The subclass may override the following members of ProjectQuirks:


Previous: , Up: Build Infrastructure Modules   [Contents][Index]

19.10 gitlog-to-changelog

Gnulib has a module gitlog-to-changelog to parse git log output and generate ChangeLog files; see https://www.gnu.org/prep/standards/html_node/Change-Logs.html.

You can use it by extending the dist-hook rule in the top-level Makefile.am like this:

dist-hook: gen-ChangeLog
.PHONY: gen-ChangeLog
gen-ChangeLog:
        $(AM_V_GEN)if test -e $(srcdir)/.git; then             \
          LC_ALL=en_US.UTF-8 TZ=UTC0                           \
            $(top_srcdir)/build-aux/gitlog-to-changelog        \
              --srcdir=$(srcdir) > $(distdir)/ChangeLog        \
          || exit 1;                                           \
        fi

See gitlog-to-changelog --help for complete documentation.

The LC_ALL=en_US.UTF-8 TZ=UTC0 line in this recipe assumes that you want to generate reproducible ChangeLog files that do not depend on the developer’s locale and time zone. Omit this line if you prefer ChangeLog files that depend on these developer settings.

If you wish to output the ChangeLog with dates respecting the time zone each individual commit was made in you can use the --commit-timezone option. For example:

dist-hook: gen-ChangeLog
.PHONY: gen-ChangeLog
gen-ChangeLog:
        $(AM_V_GEN)if test -e $(srcdir)/.git; then             \
          $(top_srcdir)/build-aux/gitlog-to-changelog          \
              --srcdir=$(srcdir) --commit-timezone             \
              > $(distdir)/ChangeLog                           \
          || exit 1;                                           \
        fi

The use of --commit-timezone means that ChangeLog dates correctly represent when a committer pushed a change according to their time zone. However, as a consequence ChangeLog dates will no longer be monotonically increasing, if the developers are spread across different time zones. For example, the following three commits were made in a short period of time across two different time zones. This behavior may be undesired.

2024-06-19  Bruno Haible  <bruno@clisp.org>

	...

2024-06-18  Collin Funk  <collin.funk1@gmail.com>

	...

2024-06-19  Bruno Haible  <bruno@clisp.org>

	...

If you wish to limit the ChangeLog entries (perhaps for size issues) to contain only entries since a particular git tag, you can use a gen-ChangeLog rule like the following:

gen_start_ver = 8.31
gen-ChangeLog:
        $(AM_V_GEN)if test -e $(srcdir)/.git; then                 \
          log_fix='$(srcdir)/build-aux/git-log-fix';               \
          test -e "$$log_fix"                                      \
            && amend_git_log=--amend=$$log_fix                     \
            || amend_git_log=;                                     \
          { LC_ALL=en_US.UTF-8 TZ=UTC0                             \
              $(top_srcdir)/build-aux/gitlog-to-changelog          \
                --srcdir=$(srcdir)                                 \
                "$$amend_git_log" -- 'v$(gen_start_ver)~..' &&     \
            printf '\n\nSee the source repo for older entries.\n'; \
          } > $(distdir)/ChangeLog                                 \
          || exit 1;                                               \
        fi

Next: , Previous: , Up: Top   [Contents][Index]

20 Build Infrastructure Files

Gnulib contains also a small number of files that are not part of modules. They are meant to be imported into packages by means of ‘gnulib-tool --copy-file’, not ‘gnulib-tool --import’. For example, the commands to import the files config.guess and config.sub are

for file in config.guess config.sub; do
  $GNULIB_TOOL --copy-file build-aux/$file \
    && chmod a+x build-aux/$file \
    || exit $?
done

Packages that don’t use Gnulib can get hold of these files through direct download from Gnulib’s git repository. The commands to do this look as follows:

for file in config.guess config.sub; do
  echo "$0: getting $file..."
  wget -q --timeout=5 -O build-aux/$file.tmp "https://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob_plain;f=build-aux/${file};hb=HEAD" \
    && mv build-aux/$file.tmp build-aux/$file \
    && chmod a+x build-aux/$file
  retval=$?
  rm -f build-aux/$file.tmp
  test $retval -eq 0 || exit $retval
done

Next: , Up: Build Infrastructure Files   [Contents][Index]

20.1 Recognizing platforms

build-aux/config.guess
build-aux/config.sub

These files are helper scripts, invoked by the ‘configure’ script. config.guess recognizes the platform on which the script is running, and produces a triplet of the form cpu-type-vendor-operating_system. config.sub receives a possibly abbreviated triplet and produces a canonical triplet for a platform. For more information, see https://www.gnu.org/prep/standards/html_node/Configuration.html.

It is important that you always include the newest versions of these two files in your tarball, because people who work on emerging platforms otherwise have a hard time building your package.


Next: , Previous: , Up: Build Infrastructure Files   [Contents][Index]

20.2 Utilities for Makefiles

These programs can be used in Makefiles. Some of them are also described in https://www.gnu.org/software/automake/manual/html_node/Auxiliary-Programs.html.

build-aux/ar-lib
build-aux/compile

These two scripts are necessary for supporting portability to native Windows with the MSVC compiler. compile is a wrapper script that invokes the compiler and provides a command-line interface compatible with Unix compilers. Similarly, ar-lib is a wrapper script that provides a command-line interface compatible with Unix ar.

build-aux/depcomp

This is a helper script, used by Makefile rules generated by GNU Automake. It generates Makefile dependencies while compiling a file.

build-aux/install-sh

This is a helper script, used by Makefile rules generated by GNU Automake. It installs files during the make install phase. In the Makefile, don’t use this file directly; always use $(INSTALL_PROGRAM) or $(INSTALL_DATA) instead.

build-aux/mdate-sh

This script determines the modification time of a file and pretty-prints it. The typical use is to add a “Last modified” line to the documentation.

build-aux/mkinstalldirs

This is a helper script, used by Makefile rules generated by GNU Automake. It creates directories during the make install phase. It is roughly equivalent to ‘mkdir -p’ (except that the latter is not portable). In the Makefile, don’t use this file directly; always use $(MKDIR_P) instead.

build-aux/mktempd

This script creates a temporary directory. It is roughly equivalent to ‘mktemp -d’ (except that the latter is not portable).

build-aux/move-if-change

This script moves a freshly generated file to a destination file, with a special optimization for the case that both files are identical. In this case the freshly generated file is deleted, and the time stamp of the destination file is not changed. This is useful when updating a file that rarely actually changes and which many Makefile targets depend upon.


Next: , Previous: , Up: Build Infrastructure Files   [Contents][Index]

20.3 Programs for developing in Git checkouts

These programs can help when developing in a Git checkout. The maintainer of the package copies these programs into the version control of the package, so that co-developers can use these tools right away.

top/gitsub.sh

This program manages the subdirectories of a Git checkout that come from other packages, including Gnulib.

top/bootstrap
top/autopull.sh
top/autogen.sh
top/bootstrap-funclib.sh

This is a set of three programs and a function library, that manage the source directory of a package, preparing for the state where ‘./configure’ can be used.

autopull.sh is a program for fetching dependencies that may require network accesses. It manages the Git submodules, including Gnulib – assuming that Gnulib is a Git submodule. It also can fetch the PO files for internationalized packages.

autogen.sh is a program that is meant to be run after autopull.sh. It generates all autogeneratable files that are omitted from version control. Usually this means that it invokes gnulib-tool and automake, that generate files from other files.

bootstrap is a wrapper around both: ./bootstrap --pull is equivalent to ./autopull.sh, ./bootstrap --gen is equivalent to ./autogen.sh. Plain ./bootstrap is equivalent to ./autopull.sh immediately followed by ./autogen.sh; however, because plain ./bootstrap mixes version control management and generation of files in non-obvious ways, it has a number of usability issues for the advanced developer.

bootstrap-funclib.sh is a function library for these three programs. It is not meant to be used directly.

All three programs make use of a configuration file, called bootstrap.conf.

build-aux/bootstrap

This acts like top/bootstrap, except it does not need the companion files autogen.sh, autopull.sh, and bootstrap-funclib.sh so it avoids some clutter in your project’s top level directory. With this approach, you update via ./bootstrap --pull and ./bootstrap --gen instead of via ./autopull.sh and ./autogen.sh. Otherwise this approach acts similarly, and uses the same bootstrap.conf file.

build-aux/bootstrap.conf

This is the template configuration file. After copying it into the top-level directory of your package, you need to customize it.

build-aux/po/Makefile.in.in
build-aux/po/remove-potcdate.sed

These are auxiliary files used by bootstrap. You don’t have to copy them yourself; bootstrap will do that.


Next: , Previous: , Up: Build Infrastructure Files   [Contents][Index]

20.4 Utilities for building documentation

These are auxiliary files for building documentation.

build-aux/texinfo.tex

This file is needed for the conversion of Texinfo-format documentation to PDF, PostScript, or DVI formats. It implements the GNU Texinfo commands on top of plain TeX.

build-aux/x-to-1.in

This file, once processed, gives a program x-to-1, that produces a manual page for a program, by combining a skeleton with the program’s --help output.


Next: , Previous: , Up: Build Infrastructure Files   [Contents][Index]

20.5 Utilities for building libraries

build-aux/declared.sh

This program extracts the declared global symbols of a C header file. It is useful when you want to control the set of symbols exported by a library. See Exported Symbols of Shared Libraries.


Previous: , Up: Build Infrastructure Files   [Contents][Index]

20.6 Utilities for running test suites

build-aux/run-test

This file is a test driver that supports running a test under valgrind.

build-aux/test-driver.diff

This is a patch, against Automake’s test driver, that supports running a test suite on Android.


Next: , Previous: , Up: Top   [Contents][Index]

21 Release Management Files

Gnulib also contain a few scripts that are useful for the release management of a package. They can be used directly off the Gnulib checkout; they don’t need to copied first.


Next: , Up: Release Management Files   [Contents][Index]

21.1 Tools for releasing packages with shared libraries

build-aux/libtool-next-version

This program is a wizard that helps a maintainer update the libtool version of a shared library, without making mistakes in this process. For background documentation, see https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html.


Previous: , Up: Release Management Files   [Contents][Index]

21.2 Tools for uploading release tarballs

build-aux/gnupload

This program is a user-friendly way to upload a release tarball to one of the GNU servers (ftp.gnu.org or alpha.gnu.org). It implements the interface described in https://www.gnu.org/prep/maintain/html_node/Automated-FTP-Uploads.html.

build-aux/ncftpput-ftp

This is a helper program that mimics the ncftpput program used by gnupload. If you want to use gnupload but don’t have ncftp installed, copy this file into your $PATH, renaming it to ncftpput.


Next: , Previous: , Up: Top   [Contents][Index]

Appendix A GNU Free Documentation License

Version 1.3, 3 November 2008
Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
https://fsf.org/

Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
  1. PREAMBLE

    The purpose of this License is to make a manual, textbook, or other functional and useful document free in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.

    This License is a kind of “copyleft”, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.

    We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.

  2. APPLICABILITY AND DEFINITIONS

    This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The “Document”, below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as “you”. You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law.

    A “Modified Version” of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.

    A “Secondary Section” is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document’s overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.

    The “Invariant Sections” are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none.

    The “Cover Texts” are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.

    A “Transparent” copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not “Transparent” is called “Opaque”.

    Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only.

    The “Title Page” means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, “Title Page” means the text near the most prominent appearance of the work’s title, preceding the beginning of the body of the text.

    The “publisher” means any person or entity that distributes copies of the Document to the public.

    A section “Entitled XYZ” means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as “Acknowledgements”, “Dedications”, “Endorsements”, or “History”.) To “Preserve the Title” of such a section when you modify the Document means that it remains a section “Entitled XYZ” according to this definition.

    The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.

  3. VERBATIM COPYING

    You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.

    You may also lend copies, under the same conditions stated above, and you may publicly display copies.

  4. COPYING IN QUANTITY

    If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document’s license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.

    If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.

    If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.

    It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.

  5. MODIFICATIONS

    You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:

    1. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
    2. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.
    3. State on the Title page the name of the publisher of the Modified Version, as the publisher.
    4. Preserve all the copyright notices of the Document.
    5. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
    6. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
    7. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document’s license notice.
    8. Include an unaltered copy of this License.
    9. Preserve the section Entitled “History”, Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled “History” in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
    10. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the “History” section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
    11. For any section Entitled “Acknowledgements” or “Dedications”, Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
    12. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
    13. Delete any section Entitled “Endorsements”. Such a section may not be included in the Modified Version.
    14. Do not retitle any existing section to be Entitled “Endorsements” or to conflict in title with any Invariant Section.
    15. Preserve any Warranty Disclaimers.

    If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version’s license notice. These titles must be distinct from any other section titles.

    You may add a section Entitled “Endorsements”, provided it contains nothing but endorsements of your Modified Version by various parties—for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.

    You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.

    The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.

  6. COMBINING DOCUMENTS

    You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers.

    The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.

    In the combination, you must combine any sections Entitled “History” in the various original documents, forming one section Entitled “History”; likewise combine any sections Entitled “Acknowledgements”, and any sections Entitled “Dedications”. You must delete all sections Entitled “Endorsements.”

  7. COLLECTIONS OF DOCUMENTS

    You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.

    You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.

  8. AGGREGATION WITH INDEPENDENT WORKS

    A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an “aggregate” if the copyright resulting from the compilation is not used to limit the legal rights of the compilation’s users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document.

    If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document’s Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.

  9. TRANSLATION

    Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail.

    If a section in the Document is Entitled “Acknowledgements”, “Dedications”, or “History”, the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.

  10. TERMINATION

    You may not copy, modify, sublicense, or distribute the Document except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, or distribute it is void, and will automatically terminate your rights under this License.

    However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.

    Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.

    Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, receipt of a copy of some or all of the same material does not give you any rights to use it.

  11. FUTURE REVISIONS OF THIS LICENSE

    The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See https://www.gnu.org/licenses/.

    Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License “or any later version” applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. If the Document specifies that a proxy can decide which future versions of this License can be used, that proxy’s public statement of acceptance of a version permanently authorizes you to choose that version for the Document.

  12. RELICENSING

    “Massive Multiauthor Collaboration Site” (or “MMC Site”) means any World Wide Web server that publishes copyrightable works and also provides prominent facilities for anybody to edit those works. A public wiki that anybody can edit is an example of such a server. A “Massive Multiauthor Collaboration” (or “MMC”) contained in the site means any set of copyrightable works thus published on the MMC site.

    “CC-BY-SA” means the Creative Commons Attribution-Share Alike 3.0 license published by Creative Commons Corporation, a not-for-profit corporation with a principal place of business in San Francisco, California, as well as future copyleft versions of that license published by that same organization.

    “Incorporate” means to publish or republish a Document, in whole or in part, as part of another Document.

    An MMC is “eligible for relicensing” if it is licensed under this License, and if all works that were first published under this License somewhere other than this MMC, and subsequently incorporated in whole or in part into the MMC, (1) had no cover texts or invariant sections, and (2) were thus incorporated prior to November 1, 2008.

    The operator of an MMC Site may republish an MMC contained in the site under CC-BY-SA on the same site at any time before August 1, 2009, provided the MMC is eligible for relicensing.

ADDENDUM: How to use this License for your documents

To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:

  Copyright (C)  year  your name.
  Permission is granted to copy, distribute and/or modify this document
  under the terms of the GNU Free Documentation License, Version 1.3
  or any later version published by the Free Software Foundation;
  with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
  Texts.  A copy of the license is included in the section entitled ``GNU
  Free Documentation License''.

If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the “with…Texts.” line with this:

    with the Invariant Sections being list their titles, with
    the Front-Cover Texts being list, and with the Back-Cover Texts
    being list.

If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation.

If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.


Next: , Previous: , Up: Top   [Contents][Index]

Appendix B Gnulib history

In the beginning, Richard Stallman maintained the regular expression engine of GNU and made it available to other GNU packages, such as sed, awk, grep, so that they could use the same engine. Recall that there was no GNU C library at the time.

A couple of years later, Jim Meyering, who was maintaining the shell utilities, the file utilities, and the text processing utilities, collected the common parts of these three packages in the same repository. Paul Eggert joined in, with code coming from a few GNU packages that he maintained, and so did Bruno Haible, with reusable code from the GNU gettext package.

As they cared for portability, many changes in the C code were accompanied by changes in the build infrastructure. Copying these changes into packages — it was all done manually — became cumbersome. So they wrote a program, called ‘gnulib-tool’, that does this job of copying the requested shared code into a particular package. This was in 2002.

Providing a substitute / override for a system function was relatively easy. Providing a substitute / override for a system header file was significantly harder, but was done successively: for stdint.h in 2004, for stdarg.h, sys/socket.h, sys/stat.h in 2006, for sys/time.h, wchar.h in 2007, and the development of the corresponding idioms took until 2010.

Unicode string modules (that make up GNU libunistring) were added in 2007–2009.

Modules for numeric functions (<math.h>) were added in 2010–2011.

Modules for container data structures were added between 2006 and 2018.

Versatile bit-set modules were added in 2018.

POSIX threads on non-POSIX platforms, as well as ISO C threads on all platforms, were added in 2019.

The posix_spawn facility was brought to completion on native Windows in 2022, providing the world’s first posix_spawn implementation for this platform.

Support for Android was added in 2023 and immediately used by GNU Emacs for Android.

Functions for working with Unicode characters in multibyte representation, based on mbrtoc32, were added in 2023.

Modules for manipulating the floating-point environment (fenv.h) were added in 2023.

The ‘gnulib-tool’ rewrite in Python, that was started by Dmitry Selyutin in 2012 but lay unfinished for many years, was completed by Collin Funk and Bruno Haible in 2024.


Next: , Previous: , Up: Top   [Contents][Index]

Module Index

Jump to:   _  
A   B   C   D   E   F   G   H   I   J   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z  
Index Entry  Section

_
_Exit: _Exit

A
abort-debug: Stack traces
accept: accept
accept4: accept4
access: access
acos: acos
acosf: acosf
acosl: acosl
agpl-3.0: License Texinfo sources
alignalloc: aligned_alloc
alignasof: alignof
alignasof: stdalign.h
aligned-malloc: aligned_alloc
aligned-malloc: posix_memalign
aligned-malloc: memalign
aligned_alloc: aligned_alloc
alloca: alloca.h
alloca: alloca
alloca-opt: alloca
alloca-opt: alloca-opt
alphasort: alphasort
areadlink: readlink
areadlink: readlinkat
areadlink-with-size: sys/stat.h
argmatch: Recognizing Option Arguments
argp: argp.h
argp: argp_err_exit_status
argp: argp_error
argp: argp_failure
argp: argp_help
argp: argp_parse
argp: argp_program_bug_address
argp: argp_program_version
argp: argp_program_version_hook
argp: argp_state_help
argp: argp_usage
argp-version-etc: Printing --version and bug-reporting information
argz: argz.h
argz: argz_add
argz: argz_add_sep
argz: argz_append
argz: argz_count
argz: argz_create
argz: argz_create_sep
argz: argz_delete
argz: argz_extract
argz: argz_insert
argz: argz_next
argz: argz_replace
argz: argz_stringify
arpa_inet-h: arpa/inet.h
array-list: Ordinary containers
array-map: Ordinary containers
array-omap: Ordinary containers
array-oset: Ordinary containers
array-set: Ordinary containers
asin: asin
asinf: asinf
asinl: asinl
assert: assert.h
assert: assert
assert-h: static_assert
assert-h: assert.h
atan: atan
atan2: atan2
atan2f: atan2f
atanf: atanf
atanl: atanl
atexit: atexit
atoll: atoll
attribute: Attributes
avltree-list: Ordinary containers
avltree-omap: Ordinary containers
avltree-oset: Ordinary containers
avltreehash-list: Ordinary containers

B
basename-lgpl: basename
bcopy: bcopy
bind: bind
bool: C99 features assumed
bool: bool
bool: stdbool.h
bsearch: bsearch
btoc32: btowc
btowc: btowc
byteswap: byteswap.h
byteswap: bswap_16
byteswap: bswap_32
byteswap: bswap_64

C
c-ctype: isalnum
c-ctype: isalpha
c-ctype: isblank
c-ctype: iscntrl
c-ctype: isdigit
c-ctype: isgraph
c-ctype: islower
c-ctype: isprint
c-ctype: ispunct
c-ctype: isspace
c-ctype: isupper
c-ctype: isxdigit
c-ctype: tolower
c-ctype: toupper
c-ctype: isascii
c-ctype: c-ctype
c-ctype: Comparison of character APIs
c-snzprintf: Modernized printf
c-snzprintf-gnu: Modernized printf
c-strcasecmp: c-strcasecmp
c-strcaseeq: c-strcaseeq
c-strcasestr: c-strcasestr
c-strncasecmp: c-strncasecmp
c-strstr: c-strstr
c-strtod: c-strtod
c-strtod: Comparison of string APIs
c-strtold: c-strtold
c-strtold: Comparison of string APIs
c-vaszprintf: Modernized printf
c-vaszprintf-gnu: Modernized printf
c-vsnzprintf: Modernized printf
c-vsnzprintf-gnu: Modernized printf
c-xvasprintf: Modernized printf
c32isalnum: isalnum
c32isalnum: iswalnum
c32isalnum: Comparison of character APIs
c32isalpha: isalpha
c32isalpha: iswalpha
c32isalpha: Comparison of character APIs
c32isblank: isblank
c32isblank: iswblank
c32isblank: Comparison of character APIs
c32iscntrl: iscntrl
c32iscntrl: iswcntrl
c32iscntrl: Comparison of character APIs
c32isdigit: isdigit
c32isdigit: iswdigit
c32isdigit: Comparison of character APIs
c32isgraph: isgraph
c32isgraph: iswgraph
c32isgraph: Comparison of character APIs
c32islower: islower
c32islower: iswlower
c32islower: Comparison of character APIs
c32isprint: isprint
c32isprint: iswprint
c32isprint: Comparison of character APIs
c32ispunct: ispunct
c32ispunct: iswpunct
c32ispunct: Comparison of character APIs
c32isspace: isspace
c32isspace: iswspace
c32isspace: Comparison of character APIs
c32isupper: isupper
c32isupper: iswupper
c32isupper: Comparison of character APIs
c32isxdigit: isxdigit
c32isxdigit: iswxdigit
c32isxdigit: Comparison of character APIs
c32rtomb: c32rtomb
c32rtomb: wcrtomb
c32snrtombs: wcsnrtombs
c32snrtombs: Comparison of string APIs
c32srtombs: wcsrtombs
c32srtombs: Comparison of string APIs
c32stombs: wcstombs
c32stombs: Comparison of string APIs
c32swidth: wcswidth
c32swidth: Comparison of string APIs
c32tob: wctob
c32tolower: tolower
c32tolower: towlower
c32tolower: Comparison of character APIs
c32tolower: Comparison of character APIs
c32toupper: toupper
c32toupper: towupper
c32toupper: Comparison of character APIs
c32toupper: Comparison of character APIs
c32width: wcwidth
c32width: Comparison of character APIs
c32_apply_mapping: towctrans
c32_apply_mapping: Comparison of character APIs
c32_apply_type_test: iswctype
c32_apply_type_test: Comparison of character APIs
c32_get_mapping: wctrans
c32_get_mapping: Comparison of character APIs
c32_get_type_test: wctype
c32_get_type_test: Comparison of character APIs
calloc-gnu: calloc
calloc-posix: calloc
call_once: stdlib.h
call_once: call_once
canonicalize-lgpl: realpath
canonicalize-lgpl: canonicalize_file_name
carray-list: Ordinary containers
cbrt: cbrt
cbrt-ieee: cbrt
cbrtf: cbrtf
cbrtf-ieee: cbrtf
cbrtl: cbrtl
cbrtl-ieee: cbrtl
ceil: ceil
ceil-ieee: ceil
ceilf: ceilf
ceilf-ieee: ceilf
ceill: ceill
ceill-ieee: ceill
chdir: chdir
check-version: Library version handling
chmod: chmod
chown: chown
clean-temp: mkostemp
clean-temp: mkstemp
clean-temp: mkostemps
clean-temp: mkstemps
close: close
closedir: closedir
cnd: cnd_broadcast
cnd: cnd_destroy
cnd: cnd_init
cnd: cnd_signal
cnd: cnd_timedwait
cnd: cnd_wait
cnd: ISO C multithreading
cond: Gnulib multithreading
configmake: configmake
connect: connect
copy-file-range: copy_file_range
copysign: copysign
copysignf: copysignf
copysignl: copysignl
cos: cos
cosf: cosf
cosh: cosh
coshf: coshf
cosl: cosl
creat: creat
crypto/gc-random: getentropy
crypto/gc-random: getrandom
ctime: ctime
ctype: isalnum
ctype: isalpha
ctype: iscntrl
ctype: isdigit
ctype: isgraph
ctype: islower
ctype: isprint
ctype: ispunct
ctype: isspace
ctype: isupper
ctype: isxdigit
ctype: tolower
ctype: toupper
ctype: toascii
ctype-h: ctype.h

D
dirent-h: dirent.h
dirent-safer: Closed standard fds
dirfd: dirfd
dirname: libgen.h
dirname: dirname
dprintf: dprintf
dprintf-gnu: dprintf
dprintf-posix: dprintf
dup: dup
dup2: dup2
dup3: dup3
duplocale: duplocale
dzprintf: Modernized printf
dzprintf-gnu: Modernized printf
dzprintf-posix: Modernized printf

E
endian: endian.h
endian: be16toh
endian: be32toh
endian: be64toh
endian: htobe16
endian: htobe32
endian: htobe64
endian: htole16
endian: htole32
endian: htole64
endian: le16toh
endian: le32toh
endian: le64toh
environ: environ
erf: erf
erfc: erfc
errno-h: errno.h
error: error
error: error_at_line
error: error_message_count
error: error_one_per_line
error: error_print_progname
error-h: error.h
euidaccess: euidaccess
execinfo: execinfo.h
execinfo: backtrace
execinfo: backtrace_symbols
execinfo: backtrace_symbols_fd
execl: execl
execle: execle
execlp: execlp
execv: execv
execve: execve
execvp: execvp
execvpe: execvpe
exp: exp
exp-ieee: exp
exp2: exp2
exp2-ieee: exp2
exp2f: exp2f
exp2f-ieee: exp2f
exp2l: exp2l
exp2l-ieee: exp2l
expf: expf
expf-ieee: expf
expl: expl
expl-ieee: expl
explicit_bzero: explicit_bzero
expm1: expm1
expm1-ieee: expm1
expm1f: expm1f
expm1f-ieee: expm1f
expm1l: expm1l
expm1l-ieee: expm1l
extensions: readdir_r
extensions: getgrgid_r
extensions: getgrnam_r
extensions: getpwnam_r
extensions: getpwuid_r
extensions: sigwait
extensions: asctime_r
extensions: ctime_r
extern-inline: extern inline

F
fabs: fabs
fabs-ieee: fabs
fabsf: fabsf
fabsf-ieee: fabsf
fabsl: fabsl
fabsl-ieee: fabsl
faccessat: faccessat
fbufmode: Accessing the write buffer
fchdir: open
fchdir: fchdir
fchmodat: fchmodat
fchownat: fchownat
fclose: fclose
fcntl: fcntl
fcntl-h: fcntl.h
fcntl-safer: Closed standard fds
fdatasync: fdatasync
fdopen: fdopen
fdopendir: fdopendir
fdutimensat: utimensat
fdutimensat: futimesat
fenv-environment: fegetenv
fenv-environment: feholdexcept
fenv-environment: fesetenv
fenv-environment: feupdateenv
fenv-exceptions-state-c23: fetestexceptflag
fenv-exceptions-state-c99: fegetexceptflag
fenv-exceptions-state-c99: fesetexceptflag
fenv-exceptions-tracking-c23: fesetexcept
fenv-exceptions-tracking-c99: feclearexcept
fenv-exceptions-tracking-c99: feraiseexcept
fenv-exceptions-tracking-c99: fetestexcept
fenv-exceptions-trapping: fedisableexcept
fenv-exceptions-trapping: feenableexcept
fenv-exceptions-trapping: fegetexcept
fenv-h: fenv.h
fenv-rounding: fegetround
fenv-rounding: fesetround
fflush: fflush
ffs: ffs
ffsl: ffsl
ffsll: ffsll
flexmember: C99 features assumed
float-h: float.h
flock: flock
floor: floor
floor-ieee: floor
floorf: floorf
floorf-ieee: floorf
floorl: floorl
floorl-ieee: floorl
fma: fma
fma-ieee: fma
fmaf: fmaf
fmaf-ieee: fmaf
fmal: fmal
fmal-ieee: fmal
fmod: fmod
fmod-ieee: fmod
fmodf: fmodf
fmodf-ieee: fmodf
fmodl: fmodl
fmodl-ieee: fmodl
fnmatch: fnmatch
fnmatch-gnu: fnmatch.h
fnmatch-gnu: fnmatch
fnmatch-h: fnmatch.h
fopen: fopen
fopen-gnu: fopen
fopen-safer: Closed standard fds
forkpty: forkpty
fpending: Accessing the write buffer
fprintf-gnu: fprintf
fprintf-posix: fprintf
fpurge: Dropping the buffer contents
freadable: State of a stream
freadahead: Accessing the read buffer
freading: State of a stream
freadptr: Accessing the read buffer
freadseek: Accessing the read buffer
free-posix: free
freelocale: freelocale
freopen: freopen
freopen-safer: freopen
freopen-safer: Closed standard fds
frexp: frexp
frexp-ieee: frexp
frexpf: frexpf
frexpf-ieee: frexpf
frexpl: frexpl
frexpl-ieee: frexpl
fseek: fseek
fseeko: fseeko
fseterr: Error in a stream
fstat: fstat
fstatat: fstatat
fsusage: statvfs
fsync: fsync
ftell: ftell
ftello: ftello
ftello: stderr
ftello: stdout
ftruncate: ftruncate
fts: ftw
fts: fts.h
fts: fts_children
fts: fts_close
fts: fts_open
fts: fts_read
fts: fts_set
func: C99 features assumed
func: func
futimens: futimens
fwritable: State of a stream
fwriting: State of a stream
fzprintf: Modernized printf
fzprintf-gnu: Modernized printf
fzprintf-posix: Modernized printf

G
gcd: gcd
getaddrinfo: freeaddrinfo
getaddrinfo: gai_strerror
getaddrinfo: getaddrinfo
getaddrinfo: getnameinfo
getaddrinfo: Windows sockets
getcwd: getcwd
getcwd-lgpl: getcwd
getdelim: getdelim
getdomainname: getdomainname
getdtablesize: getdtablesize
getentropy: getentropy
getentropy: getrandom
getgroups: getgroups
gethostname: limits.h
gethostname: gethostname
getline: getline
getloadavg: getloadavg
getlocalename_l-simple: getlocalename_l
getlogin: getlogin
getlogin_r: getlogin_r
getopt-gnu: getopt
getopt-gnu: getopt.h
getopt-gnu: getopt_long
getopt-gnu: getopt_long_only
getopt-posix: getopt
getpagesize: getpagesize
getpass: getpass
getpass-gnu: getpass
getpayload: getpayload
getpayloadf: getpayloadf
getpayloadl: getpayloadl
getpeername: getpeername
getprogname: progname and getprogname
getrandom: getentropy
getrandom: getrandom
getrusage: getrusage
getsockname: getsockname
getsockopt: getsockopt
getsubopt: getsubopt
gettext: gettextize and autopoint
gettext: libintl.h
gettext-h: gettextize and autopoint
gettime: clock_gettime
gettime: gettimeofday
gettime-res: clock_getres
gettime-res: timespec_getres
gettimeofday: gettimeofday
getugroups: getgrouplist
getumask: getumask
getusershell: endusershell
getusershell: getusershell
getusershell: setusershell
git-version-gen: Setting the package version
gitlog-to-changelog: gitlog-to-changelog
glob: glob
glob: globfree
glob: glob_pattern_p
glob-h: glob.h
gnumakefile: Setting the package version
gnupload: For uploading releases
gpl-2.0: License Texinfo sources
gpl-3.0: License Texinfo sources
grantpt: grantpt
group-member: group_member

H
hamt: Specialized containers
hash-map: Ordinary containers
hash-set: Ordinary containers
hasmntopt: hasmntopt
havelib: Searching for Libraries
htonl: htonl
htonl: htons
htonl: ntohl
htonl: ntohs
hypot: hypot
hypot-ieee: hypot
hypotf: hypotf
hypotf-ieee: hypotf
hypotl: hypotl
hypotl-ieee: hypotl

I
iconv: Various Kinds of Modules
iconv: iconv.h
iconv: iconv
iconv: iconv_close
iconv: iconv_open
iconv_open: iconv_open
iconv_open-utf: iconv_open
ieee754-h: ieee754.h
ilogb: ilogb
ilogbf: ilogbf
ilogbl: ilogbl
imaxabs: imaxabs
imaxdiv: imaxdiv
inet_ntop: inet_ntop
inet_pton: inet_pton
inline: static inline
intprops: Integer Properties
inttypes-h: inttypes.h
ioctl: ioctl
isalnum_l: isalnum_l
isalpha_l: isalpha_l
isatty: isatty
isblank: isblank
isblank: Comparison of character APIs
isblank_l: isblank_l
iscntrl_l: iscntrl_l
isdigit_l: isdigit_l
isfinite: isfinite
isgraph_l: isgraph_l
isinf: isinf
islower_l: islower_l
isnan: isnan
isnanf: isnanf
isnanl: isnanl
isprint_l: isprint_l
ispunct_l: ispunct_l
isspace_l: isspace_l
isupper_l: isupper_l
iswblank: iswblank
iswblank: Comparison of character APIs
iswctype: iswctype
iswctype: Comparison of character APIs
iswdigit: iswdigit
iswdigit: Comparison of character APIs
iswpunct: iswpunct
iswpunct: Comparison of character APIs
iswxdigit: iswxdigit
iswxdigit: Comparison of character APIs
isxdigit_l: isxdigit_l

J
j0: j0
j1: j1
jn: jn

L
langinfo-h: langinfo.h
largefile: sys/types.h
largefile: Avoiding the year 2038 problem
lchmod: lchmod
lchown: lchown
ldexp: ldexp
ldexp-ieee: ldexp
ldexpf: ldexpf
ldexpf-ieee: ldexpf
ldexpl: ldexpl
ldexpl-ieee: ldexpl
lgamma: lgamma
lgpl-2.1: License Texinfo sources
lgpl-3.0: License Texinfo sources
lib-msvc-compat: Visual Studio Compatibility
lib-symbol-versions: LD Version Scripts
lib-symbol-visibility: Exported Symbols of Shared Libraries
libunistring: How to use libunistring
libunistring-optional: How to use libunistring
limits-h: limits.h
link: link
linkat: linkat
linked-list: Ordinary containers
linkedhash-list: Ordinary containers
linkedhash-map: Ordinary containers
linkedhash-set: Ordinary containers
list: Ordinary containers
list: Ordinary containers
list-c++: Ordinary containers
listen: listen
localcharset: <uniconv.h> modules
locale-h: locale.h
localeconv: localeconv
localtime: localtime
lock: Gnulib multithreading
log: log
log-ieee: log
log10: log10
log10-ieee: log10
log10f: log10f
log10f-ieee: log10f
log10l: log10l
log10l-ieee: log10l
log1p: log1p
log1p-ieee: log1p
log1pf: log1pf
log1pf-ieee: log1pf
log1pl: log1pl
log1pl-ieee: log1pl
log2: log2
log2-ieee: log2
log2f: log2f
log2f-ieee: log2f
log2l: log2l
log2l-ieee: log2l
logb: logb
logb-ieee: logb
logbf: logbf
logbf-ieee: logbf
logbl: logbl
logbl-ieee: logbl
logf: logf
logf-ieee: logf
login_tty: login_tty
logl: logl
logl-ieee: logl
logp1: logp1
logp1f: logp1f
logp1l: logp1l
lseek: lseek
lstat: lstat

M
maintainer-makefile: Various Kinds of Modules
malloc-gnu: malloc
malloc-h: malloc.h
malloc-posix: malloc
manywarnings: warnings
manywarnings: manywarnings
map: Ordinary containers
map: Ordinary containers
map-c++: Ordinary containers
math-h: math.h
mbchar: isalnum
mbchar: isalpha
mbchar: isblank
mbchar: iscntrl
mbchar: isdigit
mbchar: isgraph
mbchar: islower
mbchar: isprint
mbchar: ispunct
mbchar: isspace
mbchar: isupper
mbchar: isxdigit
mbchar: isascii
mbchar: Comparison of character APIs
mbfile: Reading multibyte strings
mbiter: Iterating through strings
mbiterf: Iterating through strings
mbrlen: mbrlen
mbrtoc16: mbrtoc16
mbrtoc32: mbrtoc32
mbrtoc32: mbrtowc
mbrtoc32-regular: mbrtoc32
mbrtowc: mbrtowc
mbscasecmp: strcasecmp
mbscasecmp: c-strcasecmp
mbscasecmp: Comparison of string APIs
mbscasestr: c-strcasestr
mbscasestr: Comparison of string APIs
mbschr: strchr
mbschr: Comparison of string APIs
mbscspn: strcspn
mbscspn: Comparison of string APIs
mbsinit: mbsinit
mbslen: Comparison of string APIs
mbsncasecmp: strncasecmp
mbsncasecmp: c-strncasecmp
mbsncasecmp: Comparison of string APIs
mbsnlen: Comparison of string APIs
mbsnrtoc32s: mbsnrtowcs
mbsnrtoc32s: Comparison of string APIs
mbsnrtowcs: mbsnrtowcs
mbsnrtowcs: Comparison of string APIs
mbspbrk: strpbrk
mbspbrk: Comparison of string APIs
mbspcasecmp: strncasecmp
mbspcasecmp: c-strncasecmp
mbspcasecmp: Comparison of string APIs
mbsrchr: strrchr
mbsrchr: Comparison of string APIs
mbsrtoc32s: mbsrtowcs
mbsrtoc32s: Comparison of string APIs
mbsrtowcs: mbsrtowcs
mbsrtowcs: Comparison of string APIs
mbssep: Comparison of string APIs
mbsspn: strspn
mbsspn: Comparison of string APIs
mbsstr: strstr
mbsstr: c-strstr
mbsstr: Comparison of string APIs
mbstoc32s: mbstowcs
mbstoc32s: Comparison of string APIs
mbstok_r: strtok_r
mbstok_r: Comparison of string APIs
mbstowcs: mbstowcs
mbstowcs: Comparison of string APIs
mbswidth: Comparison of string APIs
mbs_endswith: Comparison of string APIs
mbs_startswith: Comparison of string APIs
mbtowc: mbtowc
mbuiter: Iterating through strings
mbuiterf: Iterating through strings
mcel: Iterating through strings
mcel-prefer: Iterating through strings
memalign: memalign
memccpy: memccpy
memchr: memchr
memcmp: memcmp
memcpy: memcpy
memmem: memmem
memmem-simple: memmem
memmove: memmove
mempcpy: mempcpy
memrchr: memrchr
memset: memset
memset_explicit: memset_explicit
mgetgroups: getgroups
mgetgroups: initgroups
mkdir: mkdir
mkdirat: mkdirat
mkdtemp: mkdtemp
mkfifo: mkfifo
mkfifoat: mkfifoat
mkfifoat: mknodat
mknod: mknod
mkostemp: mkostemp
mkostemps: mkostemps
mkstemp: mkstemp
mkstemps: mkstemps
mktime: mktime
mntent-h: mntent.h
modf: modf
modf-ieee: modf
modff: modff
modff-ieee: modff
modfl: modfl
modfl-ieee: modfl
monetary-h: monetary.h
mountlist: mntent.h
mtx: mtx_destroy
mtx: mtx_init
mtx: mtx_lock
mtx: mtx_timedlock
mtx: mtx_trylock
mtx: mtx_unlock
mtx: ISO C multithreading

N
nanosleep: nanosleep
netdb-h: netdb.h
netinet_in-h: netinet/in.h
net_if-h: net/if.h
newlocale: newlocale
nextafter: nextafter
nl_langinfo: nl_langinfo
nonblocking: fcntl.h
nonblocking: open
nonblocking: fgetc
nonblocking: fgets
nonblocking: fprintf
nonblocking: fputc
nonblocking: fputs
nonblocking: fread
nonblocking: fscanf
nonblocking: fwrite
nonblocking: getc
nonblocking: getchar
nonblocking: printf
nonblocking: putc
nonblocking: putchar
nonblocking: puts
nonblocking: scanf
nonblocking: vfprintf
nonblocking: vfscanf
nonblocking: vprintf
nonblocking: vscanf
nonblocking: pipe2
nonblocking: read
nonblocking: write
noreturn: Non-returning Functions
nproc: get_nprocs
nstrftime: strftime
nullptr: nullptr

O
obstack: obstack.h
obstack-printf: obstack_printf
obstack-printf: obstack_vprintf
obstack-printf-gnu: obstack_printf
obstack-printf-gnu: obstack_vprintf
obstack-printf-posix: obstack_printf
obstack-printf-posix: obstack_vprintf
obstack-zprintf: Modernized printf
obstack-zprintf-gnu: Modernized printf
obstack-zprintf-posix: Modernized printf
omap: Ordinary containers
omap: Ordinary containers
omap-c++: Ordinary containers
once: Gnulib multithreading
open: open
openat: openat
openat-safer: Closed standard fds
opendir: opendir
openmp: Multithreading
openpty: posix_openpt
openpty: openpty
options: getopt_long
oset: Ordinary containers
oset: Ordinary containers
oset-c++: Ordinary containers

P
package-version: Propagating the package version
pagealign_alloc: aligned_alloc
pagealign_alloc: posix_memalign
parse-datetime: getdate
pathmax: limits.h
pclose: pclose
perror: perror
pipe-posix: pipe
pipe2: pipe2
pipe2-safer: Closed standard fds
poll: poll
poll-h: poll.h
popen: popen
popen-safer: Closed standard fds
posixcheck: Finding POSIX substitutes
posix_memalign: posix_memalign
posix_openpt: posix_openpt
posix_spawn: posix_spawn
posix_spawnattr_destroy: posix_spawnattr_destroy
posix_spawnattr_getflags: posix_spawnattr_getflags
posix_spawnattr_getpgroup: posix_spawnattr_getpgroup
posix_spawnattr_getschedparam: posix_spawnattr_getschedparam
posix_spawnattr_getschedpolicy: posix_spawnattr_getschedpolicy
posix_spawnattr_getsigdefault: posix_spawnattr_getsigdefault
posix_spawnattr_getsigmask: posix_spawnattr_getsigmask
posix_spawnattr_init: posix_spawnattr_init
posix_spawnattr_setflags: posix_spawnattr_setflags
posix_spawnattr_setpgroup: posix_spawnattr_setpgroup
posix_spawnattr_setschedparam: posix_spawnattr_setschedparam
posix_spawnattr_setschedpolicy: posix_spawnattr_setschedpolicy
posix_spawnattr_setsigdefault: posix_spawnattr_setsigdefault
posix_spawnattr_setsigmask: posix_spawnattr_setsigmask
posix_spawnp: posix_spawnp
posix_spawn_file_actions_addchdir: posix_spawn
posix_spawn_file_actions_addchdir: posix_spawnp
posix_spawn_file_actions_addchdir: posix_spawn_file_actions_addchdir_np
posix_spawn_file_actions_addclose: posix_spawn_file_actions_addclose
posix_spawn_file_actions_adddup2: posix_spawn_file_actions_adddup2
posix_spawn_file_actions_addfchdir: posix_spawn
posix_spawn_file_actions_addfchdir: posix_spawnp
posix_spawn_file_actions_addfchdir: posix_spawn_file_actions_addfchdir_np
posix_spawn_file_actions_addopen: posix_spawn_file_actions_addopen
posix_spawn_file_actions_destroy: posix_spawn_file_actions_destroy
posix_spawn_file_actions_init: posix_spawn_file_actions_init
pow: pow
powf: powf
pread: pread
printf-gnu: printf
printf-posix: printf
printf-with-n-directive: dprintf
printf-with-n-directive: fprintf
printf-with-n-directive: printf
printf-with-n-directive: snprintf
printf-with-n-directive: sprintf
printf-with-n-directive: vdprintf
printf-with-n-directive: vfprintf
printf-with-n-directive: vprintf
printf-with-n-directive: vsnprintf
printf-with-n-directive: vsprintf
printf-with-n-directive: obstack_printf
printf-with-n-directive: obstack_vprintf
progname: progname and getprogname
pselect: pselect
pthread: POSIX multithreading
pthread-cond: pthread_cond_broadcast
pthread-cond: pthread_cond_destroy
pthread-cond: pthread_cond_init
pthread-cond: pthread_cond_signal
pthread-cond: pthread_cond_timedwait
pthread-cond: pthread_cond_wait
pthread-cond: pthread_condattr_destroy
pthread-cond: pthread_condattr_init
pthread-cond: POSIX multithreading
pthread-h: pthread.h
pthread-mutex: pthread_mutex_destroy
pthread-mutex: pthread_mutex_init
pthread-mutex: pthread_mutex_lock
pthread-mutex: pthread_mutex_trylock
pthread-mutex: pthread_mutex_unlock
pthread-mutex: pthread_mutexattr_destroy
pthread-mutex: pthread_mutexattr_getrobust
pthread-mutex: pthread_mutexattr_gettype
pthread-mutex: pthread_mutexattr_init
pthread-mutex: pthread_mutexattr_setrobust
pthread-mutex: pthread_mutexattr_settype
pthread-mutex: POSIX multithreading
pthread-once: pthread_once
pthread-once: POSIX multithreading
pthread-rwlock: pthread_rwlock_destroy
pthread-rwlock: pthread_rwlock_init
pthread-rwlock: pthread_rwlock_rdlock
pthread-rwlock: pthread_rwlock_timedrdlock
pthread-rwlock: pthread_rwlock_timedwrlock
pthread-rwlock: pthread_rwlock_tryrdlock
pthread-rwlock: pthread_rwlock_trywrlock
pthread-rwlock: pthread_rwlock_unlock
pthread-rwlock: pthread_rwlock_wrlock
pthread-rwlock: pthread_rwlockattr_destroy
pthread-rwlock: pthread_rwlockattr_init
pthread-rwlock: POSIX multithreading
pthread-spin: pthread_spin_destroy
pthread-spin: pthread_spin_init
pthread-spin: pthread_spin_lock
pthread-spin: pthread_spin_trylock
pthread-spin: pthread_spin_unlock
pthread-spin: POSIX multithreading
pthread-thread: pthread_attr_destroy
pthread-thread: pthread_attr_getdetachstate
pthread-thread: pthread_attr_init
pthread-thread: pthread_attr_setdetachstate
pthread-thread: pthread_create
pthread-thread: pthread_detach
pthread-thread: pthread_equal
pthread-thread: pthread_exit
pthread-thread: pthread_join
pthread-thread: pthread_self
pthread-thread: POSIX multithreading
pthread-tss: pthread_getspecific
pthread-tss: pthread_key_create
pthread-tss: pthread_key_delete
pthread-tss: pthread_setspecific
pthread-tss: POSIX multithreading
pthread_mutex_timedlock: pthread_mutex_timedlock
pthread_sigmask: pthread_sigmask
ptsname: ptsname
ptsname_r: ptsname
ptsname_r: ptsname_r
pty-h: pty.h
putenv-gnu: putenv
pwrite: pwrite

Q
qsort: qsort
qsort_r: qsort_r
quote: Quoting
quotearg: Quoting

R
raise: raise
rand: rand
random: initstate
random: random
random: setstate
random: srandom
random_r: rand_r
random_r: initstate_r
random_r: random_r
random_r: setstate_r
random_r: srandom_r
rawmemchr: rawmemchr
rbtree-list: Ordinary containers
rbtree-omap: Ordinary containers
rbtree-oset: Ordinary containers
rbtreehash-list: Ordinary containers
read: read
readdir: readdir
readline: Various Kinds of Modules
readlink: readlink
readlinkat: readlinkat
readutmp: utmpx.h
readutmp: utmp.h
readutmp: getutmp
readutmp: getutmpx
realloc-posix: realloc
reallocarray: reallocarray
recv: recv
recvfrom: recvfrom
regex: regex.h
regex: regcomp
regex: regerror
regex: regexec
regex: regfree
relocatable-lib: Supporting Relocation
relocatable-lib-lgpl: Supporting Relocation
relocatable-perl: Supporting Relocation
relocatable-prog: Supporting Relocation
relocatable-script: Supporting Relocation
remainder: remainder
remainder-ieee: remainder
remainderf: remainderf
remainderf-ieee: remainderf
remainderl: remainderl
remainderl-ieee: remainderl
remove: remove
rename: rename
renameat: renameat
renameatu: renameat2
rewinddir: rewinddir
rint: rint
rint-ieee: rint
rintf: rintf
rintf-ieee: rintf
rintl: rintl
rintl-ieee: rintl
rmdir: rmdir
round: round
round-ieee: round
roundf: roundf
roundf-ieee: roundf
roundl: roundl
roundl-ieee: roundl
rpmatch: rpmatch

S
safe-alloc: Safe Allocation Macros
safe-read: read
safe-write: write
same-inode: sys/stat.h
scandir: scandir
sched-h: sched.h
sched_yield: sched_yield
sched_yield: POSIX multithreading
search-h: search.h
secure_getenv: secure_getenv
select: select
selinux-h: fgetfilecon
selinux-h: getfilecon
selinux-h: lgetfilecon
send: send
sendto: sendto
servent: getservbyname
servent: getservbyport
set: Ordinary containers
set: Ordinary containers
set-c++: Ordinary containers
setenv: setenv
sethostname: sethostname
setlocale: setlocale
setlocale-null: setlocale
setpayload: setpayload
setpayloadf: setpayloadf
setpayloadl: setpayloadl
setpayloadsig: setpayloadsig
setpayloadsigf: setpayloadsigf
setpayloadsigl: setpayloadsigl
setsockopt: setsockopt
sf-istream: fmemopen
shutdown: shutdown
sig2str: sig2str
sig2str: str2sig
sig2str: sigabbrev_np
sigabbrev_np: sigabbrev_np
sigaction: sigaction
sigdescr_np: sigdescr_np
signal-h: signal.h
signbit: signbit
sigpipe: fprintf
sigpipe: fputc
sigpipe: fputs
sigpipe: fwrite
sigpipe: printf
sigpipe: putc
sigpipe: putchar
sigpipe: puts
sigpipe: vfprintf
sigpipe: vprintf
sigpipe: write
sigprocmask: sigaddset
sigprocmask: sigdelset
sigprocmask: sigemptyset
sigprocmask: sigfillset
sigprocmask: sigismember
sigprocmask: sigpending
sigprocmask: sigprocmask
sin: sin
sinf: sinf
sinh: sinh
sinhf: sinhf
sinl: sinl
sleep: sleep
snprintf: snprintf
snprintf-gnu: snprintf
snprintf-posix: snprintf
snzprintf: Modernized printf
snzprintf-gnu: Modernized printf
snzprintf-posix: Modernized printf
socket: socket
spawn-h: spawn.h
spin: Gnulib multithreading
sprintf-gnu: sprintf
sprintf-posix: sprintf
sqrt: sqrt
sqrt-ieee: sqrt
sqrtf: sqrtf
sqrtf-ieee: sqrtf
sqrtl: sqrtl
sqrtl-ieee: sqrtl
stack-trace: Stack traces
stat: stat
stat-size: stat-size
stat-time: sys/stat.h
stdalign-h: stdalign.h
stdarg-h: stdarg.h
stdarg-h: va_copy
stdbit: stdbit.h
stdbool-h-c99: stdbool.h
stdckdint-h: stdckdint.h
stdckdint-h: Wraparound Arithmetic
stdc_bit_ceil: stdc_bit_ceil
stdc_bit_floor: stdc_bit_floor
stdc_bit_width: stdc_bit_width
stdc_count_ones: stdc_count_ones
stdc_count_zeros: stdc_count_zeros
stdc_first_leading_one: stdc_first_leading_one
stdc_first_leading_zero: stdc_first_leading_zero
stdc_first_trailing_one: stdc_first_trailing_one
stdc_first_trailing_zero: stdc_first_trailing_zero
stdc_has_single_bit: stdc_has_single_bit
stdc_leading_ones: stdc_leading_ones
stdc_leading_zeros: stdc_leading_zeros
stdc_trailing_ones: stdc_trailing_ones
stdc_trailing_zeros: stdc_trailing_zeros
stddef-h: stddef.h
stdint-h: C99 features assumed
stdint-h: stdint.h
stdio-h: stdio.h
stdio-h: fgetc
stdio-h: fgets
stdio-h: fprintf
stdio-h: fputc
stdio-h: fputs
stdio-h: fread
stdio-h: fscanf
stdio-h: fwrite
stdio-h: getc
stdio-h: getchar
stdio-h: printf
stdio-h: putc
stdio-h: putchar
stdio-h: puts
stdio-h: scanf
stdio-h: vfprintf
stdio-h: vprintf
stdio-h: read
stdlib-h: stdlib.h
stdlib-h: exit
stdlib-safer: Closed standard fds
stdnoreturn-h: stdnoreturn.h
stdnoreturn-h: Non-returning Functions
stpcpy: stpcpy
stpcpy: Comparison of string APIs
stpncpy: stpncpy
stpncpy: Comparison of string APIs
strcasecmp: strcasecmp
strcasecmp: Comparison of string APIs
strcasecmp_l: strcasecmp_l
strcasestr: strcasestr
strcasestr: Comparison of string APIs
strcasestr-simple: strcasestr
strchrnul: strchrnul
strcspn: strcspn
strcspn: Comparison of string APIs
strdup: strdup
strdup: Comparison of string APIs
strdup-posix: strdup
strerror: strerror
strerrorname_np: strerrorname_np
strerror_l: strerror_l
strerror_r-posix: strerror_r
strfmon_l: strfmon_l
strftime-fixes: strftime
striconv: iconv
striconveh: iconv
striconveh: iconv_open
string-buffer: open_memstream
string-desc: Comparison of string APIs
string-desc: Handling strings with NUL characters
string-desc-quotearg: Handling strings with NUL characters
string-h: string.h
string-h: strcat
string-h: strcpy
string-h: strncpy
strings-h: strings.h
strncasecmp: strncasecmp
strncasecmp: Comparison of string APIs
strncasecmp_l: strncasecmp_l
strncat: strncat
strncat: Comparison of string APIs
strncmp: strncmp
strncpy: strncpy
strndup: strndup
strndup: Comparison of string APIs
strnlen: strnlen
strnlen: Comparison of string APIs
strpbrk: strpbrk
strpbrk: Comparison of string APIs
strptime: strptime
strsep: strsep
strsep: Comparison of string APIs
strsignal: strsignal
strstr: strstr
strstr: Comparison of string APIs
strstr-simple: strstr
strtod: strtod
strtod: Comparison of string APIs
strtod-obsolete: strtod
strtof: strtof
strtof: Comparison of string APIs
strtoimax: strtoimax
strtoimax: Comparison of string APIs
strtok_r: strtok_r
strtok_r: Comparison of string APIs
strtol: strtol
strtol: Comparison of string APIs
strtold: strtold
strtold: Comparison of string APIs
strtoll: strtoll
strtoll: Comparison of string APIs
strtoul: strtoul
strtoul: Comparison of string APIs
strtoull: strtoull
strtoull: Comparison of string APIs
strtoumax: strtoumax
strtoumax: Comparison of string APIs
strverscmp: strverscmp
str_endswith: Comparison of string APIs
str_startswith: Comparison of string APIs
sublist: Ordinary containers
symlink: symlink
symlinkat: symlinkat
sysexits-h: sysexits.h
system-posix: stdlib.h
system-posix: system
sys_file-h: sys/file.h
sys_ioctl-h: sys/ioctl.h
sys_msg-h: sys/msg.h
sys_random-h: sys/random.h
sys_resource-h: sys/resource.h
sys_select-h: sys/select.h
sys_sem-h: sys/sem.h
sys_shm-h: sys/shm.h
sys_socket-h: sys/socket.h
sys_stat-h: sys/stat.h
sys_stat-h: mkdir
sys_time-h: sys/time.h
sys_times-h: sys/times.h
sys_types-h: sys/types.h
sys_uio-h: sys/uio.h
sys_un-h: sys/un.h
sys_utsname-h: sys/utsname.h
sys_wait-h: sys/wait.h
szprintf: Modernized printf
szprintf-gnu: Modernized printf
szprintf-posix: Modernized printf

T
tan: tan
tanf: tanf
tanh: tanh
tanhf: tanhf
tanl: tanl
tcgetsid: tcgetsid
termios-h: termios.h
thrd: thrd_create
thrd: thrd_current
thrd: thrd_detach
thrd: thrd_equal
thrd: thrd_exit
thrd: thrd_join
thrd: thrd_sleep
thrd: thrd_yield
thrd: ISO C multithreading
thread: Gnulib multithreading
thread-optim: Multithreading Optimizations
threads: ISO C multithreading
threads-h: threads.h
time: time
time-h: time.h
timegm: timegm
timer-time: timer_create
timer-time: timer_delete
timer-time: timer_gettime
timer-time: timer_settime
times: times
timespec_get: clock_gettime
timespec_get: timespec_get
timespec_get: gettimeofday
timespec_getres: timespec_getres
timevar: Profiling of program phases
time_r: gmtime_r
time_r: localtime_r
time_rz: localtime
time_rz: localtime_r
tls: Gnulib multithreading
tmpfile: tmpfile
tmpfile-safer: Closed standard fds
tolower_l: tolower_l
totalorder: totalorder
totalorderf: totalorderf
totalorderl: totalorderl
totalordermag: totalordermag
totalordermagf: totalordermagf
totalordermagl: totalordermagl
toupper_l: toupper_l
towctrans: towctrans
towctrans: Comparison of character APIs
trunc: trunc
trunc-ieee: trunc
truncate: truncate
truncf: truncf
truncf-ieee: truncf
truncl: truncl
truncl-ieee: truncl
tsearch: tdelete
tsearch: tfind
tsearch: tsearch
tsearch: twalk
tss: tss_create
tss: tss_delete
tss: tss_get
tss: tss_set
tss: ISO C multithreading
ttyname_r: ttyname_r
tzname: tzname
tzset: tzset

U
uchar-h: uchar.h
uchar-h-c23: uchar.h
uchar-h-c23: mbrtoc32
uchar-h-c23: The char32_t type
uname: uname
unicase/empty-prefix-context: <unicase.h> modules
unicase/empty-suffix-context: <unicase.h> modules
unicase/locale-language: <unicase.h> modules
unicase/tolower: tolower
unicase/tolower: <unicase.h> modules
unicase/totitle: <unicase.h> modules
unicase/toupper: toupper
unicase/toupper: <unicase.h> modules
unicase/u16-casecmp: <unicase.h> modules
unicase/u16-casecoll: <unicase.h> modules
unicase/u16-casefold: <unicase.h> modules
unicase/u16-casexfrm: <unicase.h> modules
unicase/u16-ct-casefold: <unicase.h> modules
unicase/u16-ct-tolower: <unicase.h> modules
unicase/u16-ct-totitle: <unicase.h> modules
unicase/u16-ct-toupper: <unicase.h> modules
unicase/u16-is-cased: <unicase.h> modules
unicase/u16-is-casefolded: <unicase.h> modules
unicase/u16-is-lowercase: <unicase.h> modules
unicase/u16-is-titlecase: <unicase.h> modules
unicase/u16-is-uppercase: <unicase.h> modules
unicase/u16-prefix-context: <unicase.h> modules
unicase/u16-suffix-context: <unicase.h> modules
unicase/u16-tolower: <unicase.h> modules
unicase/u16-totitle: <unicase.h> modules
unicase/u16-toupper: <unicase.h> modules
unicase/u32-casecmp: Comparison of string APIs
unicase/u32-casecmp: <unicase.h> modules
unicase/u32-casecoll: <unicase.h> modules
unicase/u32-casefold: <unicase.h> modules
unicase/u32-casexfrm: <unicase.h> modules
unicase/u32-ct-casefold: <unicase.h> modules
unicase/u32-ct-tolower: <unicase.h> modules
unicase/u32-ct-totitle: <unicase.h> modules
unicase/u32-ct-toupper: <unicase.h> modules
unicase/u32-is-cased: <unicase.h> modules
unicase/u32-is-casefolded: <unicase.h> modules
unicase/u32-is-lowercase: <unicase.h> modules
unicase/u32-is-titlecase: <unicase.h> modules
unicase/u32-is-uppercase: <unicase.h> modules
unicase/u32-prefix-context: <unicase.h> modules
unicase/u32-suffix-context: <unicase.h> modules
unicase/u32-tolower: <unicase.h> modules
unicase/u32-totitle: <unicase.h> modules
unicase/u32-toupper: <unicase.h> modules
unicase/u8-casecmp: <unicase.h> modules
unicase/u8-casecoll: <unicase.h> modules
unicase/u8-casefold: <unicase.h> modules
unicase/u8-casexfrm: <unicase.h> modules
unicase/u8-ct-casefold: <unicase.h> modules
unicase/u8-ct-tolower: <unicase.h> modules
unicase/u8-ct-totitle: <unicase.h> modules
unicase/u8-ct-toupper: <unicase.h> modules
unicase/u8-is-cased: <unicase.h> modules
unicase/u8-is-casefolded: <unicase.h> modules
unicase/u8-is-lowercase: <unicase.h> modules
unicase/u8-is-titlecase: <unicase.h> modules
unicase/u8-is-uppercase: <unicase.h> modules
unicase/u8-prefix-context: <unicase.h> modules
unicase/u8-suffix-context: <unicase.h> modules
unicase/u8-tolower: <unicase.h> modules
unicase/u8-totitle: <unicase.h> modules
unicase/u8-toupper: <unicase.h> modules
unicase/ulc-casecmp: <unicase.h> modules
unicase/ulc-casecoll: <unicase.h> modules
unicase/ulc-casexfrm: <unicase.h> modules
uniconv/u16-conv-from-enc: <uniconv.h> modules
uniconv/u16-conv-to-enc: <uniconv.h> modules
uniconv/u16-strconv-from-enc: <uniconv.h> modules
uniconv/u16-strconv-from-locale: <uniconv.h> modules
uniconv/u16-strconv-to-enc: <uniconv.h> modules
uniconv/u16-strconv-to-locale: <uniconv.h> modules
uniconv/u32-conv-from-enc: <uniconv.h> modules
uniconv/u32-conv-to-enc: <uniconv.h> modules
uniconv/u32-strconv-from-enc: <uniconv.h> modules
uniconv/u32-strconv-from-locale: <uniconv.h> modules
uniconv/u32-strconv-to-enc: <uniconv.h> modules
uniconv/u32-strconv-to-locale: <uniconv.h> modules
uniconv/u8-conv-from-enc: <uniconv.h> modules
uniconv/u8-conv-to-enc: <uniconv.h> modules
uniconv/u8-strconv-from-enc: <uniconv.h> modules
uniconv/u8-strconv-from-locale: <uniconv.h> modules
uniconv/u8-strconv-to-enc: <uniconv.h> modules
uniconv/u8-strconv-to-locale: <uniconv.h> modules
unictype/base: <unictype.h> modules
unictype/bidiclass-byname: <unictype.h> modules
unictype/bidiclass-byname: <unictype.h> modules
unictype/bidiclass-longname: <unictype.h> modules
unictype/bidiclass-name: <unictype.h> modules
unictype/bidiclass-name: <unictype.h> modules
unictype/bidiclass-of: <unictype.h> modules
unictype/bidiclass-of: <unictype.h> modules
unictype/bidiclass-test: <unictype.h> modules
unictype/bidiclass-test: <unictype.h> modules
unictype/block-list: <unictype.h> modules
unictype/block-of: <unictype.h> modules
unictype/block-test: <unictype.h> modules
unictype/category-and: <unictype.h> modules
unictype/category-and-not: <unictype.h> modules
unictype/category-byname: <unictype.h> modules
unictype/category-C: <unictype.h> modules
unictype/category-Cc: <unictype.h> modules
unictype/category-Cf: <unictype.h> modules
unictype/category-Cn: <unictype.h> modules
unictype/category-Co: <unictype.h> modules
unictype/category-Cs: <unictype.h> modules
unictype/category-L: <unictype.h> modules
unictype/category-LC: <unictype.h> modules
unictype/category-Ll: <unictype.h> modules
unictype/category-Lm: <unictype.h> modules
unictype/category-Lo: <unictype.h> modules
unictype/category-longname: <unictype.h> modules
unictype/category-Lt: <unictype.h> modules
unictype/category-Lu: <unictype.h> modules
unictype/category-M: <unictype.h> modules
unictype/category-Mc: <unictype.h> modules
unictype/category-Me: <unictype.h> modules
unictype/category-Mn: <unictype.h> modules
unictype/category-N: <unictype.h> modules
unictype/category-name: <unictype.h> modules
unictype/category-Nd: <unictype.h> modules
unictype/category-Nl: <unictype.h> modules
unictype/category-No: <unictype.h> modules
unictype/category-of: <unictype.h> modules
unictype/category-or: <unictype.h> modules
unictype/category-P: <unictype.h> modules
unictype/category-Pc: <unictype.h> modules
unictype/category-Pd: <unictype.h> modules
unictype/category-Pe: <unictype.h> modules
unictype/category-Pf: <unictype.h> modules
unictype/category-Pi: <unictype.h> modules
unictype/category-Po: <unictype.h> modules
unictype/category-Ps: <unictype.h> modules
unictype/category-S: <unictype.h> modules
unictype/category-Sc: <unictype.h> modules
unictype/category-Sk: <unictype.h> modules
unictype/category-Sm: <unictype.h> modules
unictype/category-So: <unictype.h> modules
unictype/category-test: <unictype.h> modules
unictype/category-test-withtable: <unictype.h> modules
unictype/category-Z: <unictype.h> modules
unictype/category-Zl: <unictype.h> modules
unictype/category-Zp: <unictype.h> modules
unictype/category-Zs: <unictype.h> modules
unictype/combining-class: <unictype.h> modules
unictype/combining-class-byname: <unictype.h> modules
unictype/combining-class-longname: <unictype.h> modules
unictype/combining-class-name: <unictype.h> modules
unictype/ctype-alnum: isalnum
unictype/ctype-alnum: <unictype.h> modules
unictype/ctype-alpha: isalpha
unictype/ctype-alpha: <unictype.h> modules
unictype/ctype-blank: isblank
unictype/ctype-blank: <unictype.h> modules
unictype/ctype-cntrl: iscntrl
unictype/ctype-cntrl: <unictype.h> modules
unictype/ctype-digit: isdigit
unictype/ctype-digit: <unictype.h> modules
unictype/ctype-graph: isgraph
unictype/ctype-graph: <unictype.h> modules
unictype/ctype-lower: islower
unictype/ctype-lower: <unictype.h> modules
unictype/ctype-print: isprint
unictype/ctype-print: <unictype.h> modules
unictype/ctype-punct: ispunct
unictype/ctype-punct: <unictype.h> modules
unictype/ctype-space: isspace
unictype/ctype-space: <unictype.h> modules
unictype/ctype-upper: isupper
unictype/ctype-upper: <unictype.h> modules
unictype/ctype-xdigit: isxdigit
unictype/ctype-xdigit: <unictype.h> modules
unictype/decimal-digit: <unictype.h> modules
unictype/digit: <unictype.h> modules
unictype/incb-byname: <unictype.h> modules
unictype/incb-name: <unictype.h> modules
unictype/incb-of: <unictype.h> modules
unictype/joininggroup-byname: <unictype.h> modules
unictype/joininggroup-name: <unictype.h> modules
unictype/joininggroup-of: <unictype.h> modules
unictype/joiningtype-byname: <unictype.h> modules
unictype/joiningtype-longname: <unictype.h> modules
unictype/joiningtype-name: <unictype.h> modules
unictype/joiningtype-of: <unictype.h> modules
unictype/mirror: <unictype.h> modules
unictype/numeric: <unictype.h> modules
unictype/property-alphabetic: <unictype.h> modules
unictype/property-ascii-hex-digit: <unictype.h> modules
unictype/property-bidi-arabic-digit: <unictype.h> modules
unictype/property-bidi-arabic-right-to-left: <unictype.h> modules
unictype/property-bidi-block-separator: <unictype.h> modules
unictype/property-bidi-boundary-neutral: <unictype.h> modules
unictype/property-bidi-common-separator: <unictype.h> modules
unictype/property-bidi-control: <unictype.h> modules
unictype/property-bidi-embedding-or-override: <unictype.h> modules
unictype/property-bidi-eur-num-separator: <unictype.h> modules
unictype/property-bidi-eur-num-terminator: <unictype.h> modules
unictype/property-bidi-european-digit: <unictype.h> modules
unictype/property-bidi-hebrew-right-to-left: <unictype.h> modules
unictype/property-bidi-left-to-right: <unictype.h> modules
unictype/property-bidi-non-spacing-mark: <unictype.h> modules
unictype/property-bidi-other-neutral: <unictype.h> modules
unictype/property-bidi-pdf: <unictype.h> modules
unictype/property-bidi-segment-separator: <unictype.h> modules
unictype/property-bidi-whitespace: <unictype.h> modules
unictype/property-byname: <unictype.h> modules
unictype/property-case-ignorable: <unictype.h> modules
unictype/property-cased: <unictype.h> modules
unictype/property-changes-when-casefolded: <unictype.h> modules
unictype/property-changes-when-casemapped: <unictype.h> modules
unictype/property-changes-when-lowercased: <unictype.h> modules
unictype/property-changes-when-titlecased: <unictype.h> modules
unictype/property-changes-when-uppercased: <unictype.h> modules
unictype/property-combining: <unictype.h> modules
unictype/property-composite: <unictype.h> modules
unictype/property-currency-symbol: <unictype.h> modules
unictype/property-dash: <unictype.h> modules
unictype/property-decimal-digit: <unictype.h> modules
unictype/property-default-ignorable-code-point: <unictype.h> modules
unictype/property-deprecated: <unictype.h> modules
unictype/property-diacritic: <unictype.h> modules
unictype/property-emoji: <unictype.h> modules
unictype/property-emoji-component: <unictype.h> modules
unictype/property-emoji-modifier: <unictype.h> modules
unictype/property-emoji-modifier-base: <unictype.h> modules
unictype/property-emoji-presentation: <unictype.h> modules
unictype/property-extended-pictographic: <unictype.h> modules
unictype/property-extender: <unictype.h> modules
unictype/property-format-control: <unictype.h> modules
unictype/property-grapheme-base: <unictype.h> modules
unictype/property-grapheme-extend: <unictype.h> modules
unictype/property-grapheme-link: <unictype.h> modules
unictype/property-hex-digit: <unictype.h> modules
unictype/property-hyphen: <unictype.h> modules
unictype/property-id-compat-math-continue: <unictype.h> modules
unictype/property-id-compat-math-start: <unictype.h> modules
unictype/property-id-continue: <unictype.h> modules
unictype/property-id-start: <unictype.h> modules
unictype/property-ideographic: <unictype.h> modules
unictype/property-ids-binary-operator: <unictype.h> modules
unictype/property-ids-trinary-operator: <unictype.h> modules
unictype/property-ids-unary-operator: <unictype.h> modules
unictype/property-ignorable-control: <unictype.h> modules
unictype/property-iso-control: <unictype.h> modules
unictype/property-join-control: <unictype.h> modules
unictype/property-left-of-pair: <unictype.h> modules
unictype/property-line-separator: <unictype.h> modules
unictype/property-logical-order-exception: <unictype.h> modules
unictype/property-lowercase: <unictype.h> modules
unictype/property-math: <unictype.h> modules
unictype/property-modifier-combining-mark: <unictype.h> modules
unictype/property-non-break: <unictype.h> modules
unictype/property-not-a-character: <unictype.h> modules
unictype/property-numeric: <unictype.h> modules
unictype/property-other-alphabetic: <unictype.h> modules
unictype/property-other-default-ignorable-code-point: <unictype.h> modules
unictype/property-other-grapheme-extend: <unictype.h> modules
unictype/property-other-id-continue: <unictype.h> modules
unictype/property-other-id-start: <unictype.h> modules
unictype/property-other-lowercase: <unictype.h> modules
unictype/property-other-math: <unictype.h> modules
unictype/property-other-uppercase: <unictype.h> modules
unictype/property-paired-punctuation: <unictype.h> modules
unictype/property-paragraph-separator: <unictype.h> modules
unictype/property-pattern-syntax: <unictype.h> modules
unictype/property-pattern-white-space: <unictype.h> modules
unictype/property-prepended-concatenation-mark: <unictype.h> modules
unictype/property-private-use: <unictype.h> modules
unictype/property-punctuation: <unictype.h> modules
unictype/property-quotation-mark: <unictype.h> modules
unictype/property-radical: <unictype.h> modules
unictype/property-regional-indicator: <unictype.h> modules
unictype/property-sentence-terminal: <unictype.h> modules
unictype/property-soft-dotted: <unictype.h> modules
unictype/property-space: <unictype.h> modules
unictype/property-terminal-punctuation: <unictype.h> modules
unictype/property-test: <unictype.h> modules
unictype/property-titlecase: <unictype.h> modules
unictype/property-unassigned-code-value: <unictype.h> modules
unictype/property-unified-ideograph: <unictype.h> modules
unictype/property-uppercase: <unictype.h> modules
unictype/property-variation-selector: <unictype.h> modules
unictype/property-white-space: <unictype.h> modules
unictype/property-xid-continue: <unictype.h> modules
unictype/property-xid-start: <unictype.h> modules
unictype/property-zero-width: <unictype.h> modules
unictype/scripts: <unictype.h> modules
unictype/scripts: <unictype.h> modules
unictype/scripts: <unictype.h> modules
unictype/scripts: <unictype.h> modules
unictype/syntax-c-ident: <unictype.h> modules
unictype/syntax-c-whitespace: <unictype.h> modules
unictype/syntax-java-ident: <unictype.h> modules
unictype/syntax-java-whitespace: <unictype.h> modules
unigbrk/u16-grapheme-breaks: <unigbrk.h> modules
unigbrk/u16-grapheme-next: <unigbrk.h> modules
unigbrk/u16-grapheme-prev: <unigbrk.h> modules
unigbrk/u32-grapheme-breaks: <unigbrk.h> modules
unigbrk/u32-grapheme-next: <unigbrk.h> modules
unigbrk/u32-grapheme-prev: <unigbrk.h> modules
unigbrk/u8-grapheme-breaks: <unigbrk.h> modules
unigbrk/u8-grapheme-next: <unigbrk.h> modules
unigbrk/u8-grapheme-prev: <unigbrk.h> modules
unigbrk/uc-gbrk-prop: <unigbrk.h> modules
unigbrk/uc-grapheme-breaks: <unigbrk.h> modules
unigbrk/uc-is-grapheme-break: <unigbrk.h> modules
unigbrk/ulc-grapheme-breaks: <unigbrk.h> modules
unilbrk/u16-possible-linebreaks: <unilbrk.h> modules
unilbrk/u16-width-linebreaks: <unilbrk.h> modules
unilbrk/u32-possible-linebreaks: <unilbrk.h> modules
unilbrk/u32-width-linebreaks: <unilbrk.h> modules
unilbrk/u8-possible-linebreaks: <unilbrk.h> modules
unilbrk/u8-width-linebreaks: <unilbrk.h> modules
unilbrk/ulc-possible-linebreaks: <unilbrk.h> modules
unilbrk/ulc-width-linebreaks: <unilbrk.h> modules
uniname/uniname: <uniname.h> modules
uninorm/base: <uninorm.h> modules
uninorm/base: <uninorm.h> modules
uninorm/canonical-decomposition: <uninorm.h> modules
uninorm/composition: <uninorm.h> modules
uninorm/decomposing-form: <uninorm.h> modules
uninorm/decomposition: <uninorm.h> modules
uninorm/filter: <uninorm.h> modules
uninorm/nfc: <uninorm.h> modules
uninorm/nfd: <uninorm.h> modules
uninorm/nfkc: <uninorm.h> modules
uninorm/nfkd: <uninorm.h> modules
uninorm/u16-normalize: <uninorm.h> modules
uninorm/u16-normcmp: <uninorm.h> modules
uninorm/u16-normcoll: <uninorm.h> modules
uninorm/u16-normxfrm: <uninorm.h> modules
uninorm/u32-normalize: <uninorm.h> modules
uninorm/u32-normcmp: <uninorm.h> modules
uninorm/u32-normcoll: <uninorm.h> modules
uninorm/u32-normxfrm: <uninorm.h> modules
uninorm/u8-normalize: <uninorm.h> modules
uninorm/u8-normcmp: <uninorm.h> modules
uninorm/u8-normcoll: <uninorm.h> modules
uninorm/u8-normxfrm: <uninorm.h> modules
unistd-h: unistd.h
unistd-h: _exit
unistd-safer: Closed standard fds
unistdio/u16-asnprintf: <unistdio.h> modules
unistdio/u16-asprintf: <unistdio.h> modules
unistdio/u16-snprintf: <unistdio.h> modules
unistdio/u16-sprintf: <unistdio.h> modules
unistdio/u16-u16-asnprintf: <unistdio.h> modules
unistdio/u16-u16-asprintf: <unistdio.h> modules
unistdio/u16-u16-snprintf: <unistdio.h> modules
unistdio/u16-u16-sprintf: <unistdio.h> modules
unistdio/u16-u16-vasnprintf: <unistdio.h> modules
unistdio/u16-u16-vasprintf: <unistdio.h> modules
unistdio/u16-u16-vsnprintf: <unistdio.h> modules
unistdio/u16-u16-vsprintf: <unistdio.h> modules
unistdio/u16-vasnprintf: <unistdio.h> modules
unistdio/u16-vasprintf: <unistdio.h> modules
unistdio/u16-vsnprintf: <unistdio.h> modules
unistdio/u16-vsprintf: <unistdio.h> modules
unistdio/u32-asnprintf: <unistdio.h> modules
unistdio/u32-asprintf: <unistdio.h> modules
unistdio/u32-snprintf: <unistdio.h> modules
unistdio/u32-sprintf: <unistdio.h> modules
unistdio/u32-u32-asnprintf: <unistdio.h> modules
unistdio/u32-u32-asprintf: <unistdio.h> modules
unistdio/u32-u32-snprintf: <unistdio.h> modules
unistdio/u32-u32-sprintf: <unistdio.h> modules
unistdio/u32-u32-vasnprintf: <unistdio.h> modules
unistdio/u32-u32-vasprintf: <unistdio.h> modules
unistdio/u32-u32-vsnprintf: <unistdio.h> modules
unistdio/u32-u32-vsprintf: <unistdio.h> modules
unistdio/u32-vasnprintf: <unistdio.h> modules
unistdio/u32-vasprintf: <unistdio.h> modules
unistdio/u32-vsnprintf: <unistdio.h> modules
unistdio/u32-vsprintf: <unistdio.h> modules
unistdio/u8-asnprintf: <unistdio.h> modules
unistdio/u8-asprintf: <unistdio.h> modules
unistdio/u8-snprintf: <unistdio.h> modules
unistdio/u8-sprintf: <unistdio.h> modules
unistdio/u8-u8-asnprintf: <unistdio.h> modules
unistdio/u8-u8-asprintf: <unistdio.h> modules
unistdio/u8-u8-snprintf: <unistdio.h> modules
unistdio/u8-u8-sprintf: <unistdio.h> modules
unistdio/u8-u8-vasnprintf: <unistdio.h> modules
unistdio/u8-u8-vasprintf: <unistdio.h> modules
unistdio/u8-u8-vsnprintf: <unistdio.h> modules
unistdio/u8-u8-vsprintf: <unistdio.h> modules
unistdio/u8-vasnprintf: <unistdio.h> modules
unistdio/u8-vasprintf: <unistdio.h> modules
unistdio/u8-vsnprintf: <unistdio.h> modules
unistdio/u8-vsprintf: <unistdio.h> modules
unistdio/ulc-asnprintf: <unistdio.h> modules
unistdio/ulc-asprintf: <unistdio.h> modules
unistdio/ulc-fprintf: <unistdio.h> modules
unistdio/ulc-snprintf: <unistdio.h> modules
unistdio/ulc-sprintf: <unistdio.h> modules
unistdio/ulc-vasnprintf: <unistdio.h> modules
unistdio/ulc-vasprintf: <unistdio.h> modules
unistdio/ulc-vfprintf: <unistdio.h> modules
unistdio/ulc-vsnprintf: <unistdio.h> modules
unistdio/ulc-vsprintf: <unistdio.h> modules
unistr/u16-check: <unistr.h> modules
unistr/u16-chr: <unistr.h> modules
unistr/u16-cmp: <unistr.h> modules
unistr/u16-cmp2: <unistr.h> modules
unistr/u16-cpy: <unistr.h> modules
unistr/u16-cpy-alloc: <unistr.h> modules
unistr/u16-endswith: <unistr.h> modules
unistr/u16-mblen: <unistr.h> modules
unistr/u16-mbsnlen: <unistr.h> modules
unistr/u16-mbtouc: <unistr.h> modules
unistr/u16-mbtouc-unsafe: <unistr.h> modules
unistr/u16-mbtoucr: <unistr.h> modules
unistr/u16-move: <unistr.h> modules
unistr/u16-next: <unistr.h> modules
unistr/u16-pcpy: <unistr.h> modules
unistr/u16-prev: <unistr.h> modules
unistr/u16-set: <unistr.h> modules
unistr/u16-startswith: <unistr.h> modules
unistr/u16-stpcpy: <unistr.h> modules
unistr/u16-stpncpy: <unistr.h> modules
unistr/u16-strcat: <unistr.h> modules
unistr/u16-strchr: <unistr.h> modules
unistr/u16-strcmp: <unistr.h> modules
unistr/u16-strcoll: <unistr.h> modules
unistr/u16-strcpy: <unistr.h> modules
unistr/u16-strcspn: <unistr.h> modules
unistr/u16-strdup: <unistr.h> modules
unistr/u16-strlen: <unistr.h> modules
unistr/u16-strmblen: <unistr.h> modules
unistr/u16-strmbtouc: <unistr.h> modules
unistr/u16-strncat: <unistr.h> modules
unistr/u16-strncmp: <unistr.h> modules
unistr/u16-strncpy: <unistr.h> modules
unistr/u16-strnlen: <unistr.h> modules
unistr/u16-strpbrk: <unistr.h> modules
unistr/u16-strrchr: <unistr.h> modules
unistr/u16-strspn: <unistr.h> modules
unistr/u16-strstr: <unistr.h> modules
unistr/u16-strtok: <unistr.h> modules
unistr/u16-to-u32: <unistr.h> modules
unistr/u16-to-u8: <unistr.h> modules
unistr/u16-uctomb: <unistr.h> modules
unistr/u32-check: <unistr.h> modules
unistr/u32-chr: <unistr.h> modules
unistr/u32-cmp: <unistr.h> modules
unistr/u32-cmp2: <unistr.h> modules
unistr/u32-cpy: <unistr.h> modules
unistr/u32-cpy-alloc: <unistr.h> modules
unistr/u32-endswith: Comparison of string APIs
unistr/u32-endswith: <unistr.h> modules
unistr/u32-mblen: <unistr.h> modules
unistr/u32-mbsnlen: Comparison of string APIs
unistr/u32-mbsnlen: <unistr.h> modules
unistr/u32-mbtouc: <unistr.h> modules
unistr/u32-mbtouc-unsafe: <unistr.h> modules
unistr/u32-mbtoucr: <unistr.h> modules
unistr/u32-move: <unistr.h> modules
unistr/u32-next: <unistr.h> modules
unistr/u32-pcpy: <unistr.h> modules
unistr/u32-prev: <unistr.h> modules
unistr/u32-set: <unistr.h> modules
unistr/u32-startswith: Comparison of string APIs
unistr/u32-startswith: <unistr.h> modules
unistr/u32-stpcpy: Comparison of string APIs
unistr/u32-stpcpy: <unistr.h> modules
unistr/u32-stpncpy: Comparison of string APIs
unistr/u32-stpncpy: <unistr.h> modules
unistr/u32-strcat: Comparison of string APIs
unistr/u32-strcat: <unistr.h> modules
unistr/u32-strchr: Comparison of string APIs
unistr/u32-strchr: <unistr.h> modules
unistr/u32-strcmp: Comparison of string APIs
unistr/u32-strcmp: <unistr.h> modules
unistr/u32-strcoll: Comparison of string APIs
unistr/u32-strcoll: <unistr.h> modules
unistr/u32-strcpy: Comparison of string APIs
unistr/u32-strcpy: <unistr.h> modules
unistr/u32-strcspn: Comparison of string APIs
unistr/u32-strcspn: <unistr.h> modules
unistr/u32-strdup: Comparison of string APIs
unistr/u32-strdup: <unistr.h> modules
unistr/u32-strlen: Comparison of string APIs
unistr/u32-strlen: <unistr.h> modules
unistr/u32-strmblen: <unistr.h> modules
unistr/u32-strmbtouc: <unistr.h> modules
unistr/u32-strncat: Comparison of string APIs
unistr/u32-strncat: <unistr.h> modules
unistr/u32-strncmp: Comparison of string APIs
unistr/u32-strncmp: <unistr.h> modules
unistr/u32-strncpy: Comparison of string APIs
unistr/u32-strncpy: <unistr.h> modules
unistr/u32-strnlen: Comparison of string APIs
unistr/u32-strnlen: <unistr.h> modules
unistr/u32-strpbrk: Comparison of string APIs
unistr/u32-strpbrk: <unistr.h> modules
unistr/u32-strrchr: Comparison of string APIs
unistr/u32-strrchr: <unistr.h> modules
unistr/u32-strspn: Comparison of string APIs
unistr/u32-strspn: <unistr.h> modules
unistr/u32-strstr: Comparison of string APIs
unistr/u32-strstr: <unistr.h> modules
unistr/u32-strtok: Comparison of string APIs
unistr/u32-strtok: <unistr.h> modules
unistr/u32-to-u16: <unistr.h> modules
unistr/u32-to-u8: <unistr.h> modules
unistr/u32-uctomb: <unistr.h> modules
unistr/u8-check: <unistr.h> modules
unistr/u8-chr: <unistr.h> modules
unistr/u8-cmp: <unistr.h> modules
unistr/u8-cmp2: <unistr.h> modules
unistr/u8-cpy: <unistr.h> modules
unistr/u8-cpy-alloc: <unistr.h> modules
unistr/u8-endswith: <unistr.h> modules
unistr/u8-mblen: <unistr.h> modules
unistr/u8-mbsnlen: <unistr.h> modules
unistr/u8-mbtouc: <unistr.h> modules
unistr/u8-mbtouc-unsafe: <unistr.h> modules
unistr/u8-mbtoucr: <unistr.h> modules
unistr/u8-move: <unistr.h> modules
unistr/u8-next: <unistr.h> modules
unistr/u8-pcpy: <unistr.h> modules
unistr/u8-prev: <unistr.h> modules
unistr/u8-set: <unistr.h> modules
unistr/u8-startswith: <unistr.h> modules
unistr/u8-stpcpy: <unistr.h> modules
unistr/u8-stpncpy: <unistr.h> modules
unistr/u8-strcat: <unistr.h> modules
unistr/u8-strchr: <unistr.h> modules
unistr/u8-strcmp: <unistr.h> modules
unistr/u8-strcoll: <unistr.h> modules
unistr/u8-strcpy: <unistr.h> modules
unistr/u8-strcspn: <unistr.h> modules
unistr/u8-strdup: <unistr.h> modules
unistr/u8-strlen: <unistr.h> modules
unistr/u8-strmblen: <unistr.h> modules
unistr/u8-strmbtouc: <unistr.h> modules
unistr/u8-strncat: <unistr.h> modules
unistr/u8-strncmp: <unistr.h> modules
unistr/u8-strncpy: <unistr.h> modules
unistr/u8-strnlen: <unistr.h> modules
unistr/u8-strpbrk: <unistr.h> modules
unistr/u8-strrchr: <unistr.h> modules
unistr/u8-strspn: <unistr.h> modules
unistr/u8-strstr: <unistr.h> modules
unistr/u8-strtok: <unistr.h> modules
unistr/u8-to-u16: <unistr.h> modules
unistr/u8-to-u32: <unistr.h> modules
unistr/u8-uctomb: <unistr.h> modules
unitypes-h: <unitypes.h> modules
uniwbrk/u16-wordbreaks: <uniwbrk.h> modules
uniwbrk/u32-wordbreaks: <uniwbrk.h> modules
uniwbrk/u8-wordbreaks: <uniwbrk.h> modules
uniwbrk/ulc-wordbreaks: <uniwbrk.h> modules
uniwbrk/wordbreak-property: <uniwbrk.h> modules
uniwidth/u16-strwidth: <uniwidth.h> modules
uniwidth/u16-width: <uniwidth.h> modules
uniwidth/u32-strwidth: Comparison of string APIs
uniwidth/u32-strwidth: <uniwidth.h> modules
uniwidth/u32-width: <uniwidth.h> modules
uniwidth/u8-strwidth: <uniwidth.h> modules
uniwidth/u8-width: <uniwidth.h> modules
uniwidth/width: <uniwidth.h> modules
unlink: unlink
unlinkat: unlinkat
unlinkdir: unlink
unlinkdir: unlinkat
unlocked-io: Multithreading Optimizations
unlockpt: unlockpt
unsetenv: unsetenv
usleep: usleep
utime: utime
utime-h: utime.h
utimens: futimens
utimens: utimes
utimens: utimes
utimens: utime
utimens: lutimes
utimensat: utimensat
utmp-h: utmp.h

V
valgrind-tests: Using valgrind automatically
vararrays: Portability guidelines
vasprintf: asprintf
vasprintf: vasprintf
vasprintf-gnu: asprintf
vasprintf-gnu: vasprintf
vasprintf-posix: asprintf
vasprintf-posix: vasprintf
vaszprintf: Modernized printf
vaszprintf-gnu: Modernized printf
vaszprintf-posix: Modernized printf
vcs-to-changelog: VCS To ChangeLog
vdprintf: vdprintf
vdprintf-gnu: vdprintf
vdprintf-posix: vdprintf
vdzprintf: Modernized printf
vdzprintf-gnu: Modernized printf
vdzprintf-posix: Modernized printf
verify: assert.h
verify: Compile-time Assertions
version-etc: Printing --version and bug-reporting information
version-etc-fsf: Printing --version and bug-reporting information
vfprintf-gnu: vfprintf
vfprintf-posix: vfprintf
vfscanf: vfscanf
vfzprintf: Modernized printf
vfzprintf-gnu: Modernized printf
vfzprintf-posix: Modernized printf
vla: C99 features avoided
vprintf-gnu: vprintf
vprintf-posix: vprintf
vscanf: vscanf
vsnprintf: vsnprintf
vsnprintf-gnu: vsnprintf
vsnprintf-posix: vsnprintf
vsnzprintf: Modernized printf
vsnzprintf-gnu: Modernized printf
vsnzprintf-posix: Modernized printf
vsprintf-gnu: vsprintf
vsprintf-posix: vsprintf
vszprintf: Modernized printf
vszprintf-gnu: Modernized printf
vszprintf-posix: Modernized printf
vzprintf: Modernized printf
vzprintf-gnu: Modernized printf
vzprintf-posix: Modernized printf

W
waitpid: waitpid
warnings: warnings
wchar-h: wchar.h
wchar-single: Multithreading Optimizations
wcpcpy: wcpcpy
wcpcpy: Comparison of string APIs
wcpncpy: wcpncpy
wcpncpy: Comparison of string APIs
wcrtomb: wcrtomb
wcscasecmp: wcscasecmp
wcscasecmp: Comparison of string APIs
wcscat: wcscat
wcscat: Comparison of string APIs
wcschr: wcschr
wcschr: Comparison of string APIs
wcscmp: wcscmp
wcscmp: Comparison of string APIs
wcscoll: wcscoll
wcscoll: Comparison of string APIs
wcscpy: wcscpy
wcscpy: Comparison of string APIs
wcscspn: wcscspn
wcscspn: Comparison of string APIs
wcsdup: wcsdup
wcsdup: Comparison of string APIs
wcsftime: wcsftime
wcslen: wcslen
wcslen: Comparison of string APIs
wcsncasecmp: wcsncasecmp
wcsncasecmp: Comparison of string APIs
wcsncat: wcsncat
wcsncat: Comparison of string APIs
wcsncmp: wcsncmp
wcsncmp: Comparison of string APIs
wcsncpy: wcsncpy
wcsncpy: Comparison of string APIs
wcsnlen: wcsnlen
wcsnlen: Comparison of string APIs
wcsnrtombs: wcsnrtombs
wcsnrtombs: Comparison of string APIs
wcspbrk: wcspbrk
wcspbrk: Comparison of string APIs
wcsrchr: wcsrchr
wcsrchr: Comparison of string APIs
wcsrtombs: wcsrtombs
wcsrtombs: Comparison of string APIs
wcsspn: wcsspn
wcsspn: Comparison of string APIs
wcsstr: wcsstr
wcsstr: Comparison of string APIs
wcsstr-simple: wcsstr
wcstok: wcstok
wcstok: Comparison of string APIs
wcswidth: wcswidth
wcswidth: Comparison of string APIs
wcsxfrm: wcsxfrm
wcsxfrm: Comparison of string APIs
wctob: wctob
wctomb: wctomb
wctrans: wctrans
wctrans: Comparison of character APIs
wctype: isalnum
wctype: isalpha
wctype: isblank
wctype: iscntrl
wctype: isdigit
wctype: isgraph
wctype: islower
wctype: isprint
wctype: ispunct
wctype: isspace
wctype: isupper
wctype: isxdigit
wctype: tolower
wctype: toupper
wctype: wctype
wctype: Comparison of character APIs
wctype-h: wctype.h
wctype-h: iswalnum
wctype-h: iswalpha
wctype-h: iswcntrl
wctype-h: iswgraph
wctype-h: iswlower
wctype-h: iswprint
wctype-h: iswspace
wctype-h: iswupper
wctype-h: towlower
wctype-h: towupper
wcwidth: wcwidth
wcwidth: Comparison of character APIs
windows-stat-inodes: sys/stat.h
windows-stat-inodes: Inode numbers on Windows
windows-stat-timespec: Precise file timestamps on Windows
wmemchr: wmemchr
wmemcmp: wmemcmp
wmemcpy: wmemcpy
wmemmove: wmemmove
wmempcpy: wmempcpy
wmemset: wmemset
write: write

X
xalloc-die: Out of memory handling
xlist: Ordinary containers
xmap: Ordinary containers
xomap: Ordinary containers
xoset: Ordinary containers
xprintf: Modernized printf
xprintf-gnu: Modernized printf
xprintf-posix: Modernized printf
xset: Ordinary containers
xstdopen: Closed standard fds
xstrerror: strerror_r
xstring-desc: Handling strings with NUL characters
xsublist: Ordinary containers
xvasprintf: Modernized printf
xvasprintf-gnu: Modernized printf
xvasprintf-posix: Modernized printf

Y
y0: y0
y1: y1
year2038: time.h
year2038: utmpx.h
year2038: utmp.h
year2038: getutmp
year2038: getutmpx
year2038: Avoiding the year 2038 problem
year2038-recommended: utmpx.h
year2038-recommended: utmp.h
year2038-recommended: getutmp
year2038-recommended: getutmpx
year2038-recommended: Avoiding the year 2038 problem
yield: Gnulib multithreading
yn: yn

Z
zprintf: Modernized printf
zprintf-gnu: Modernized printf
zprintf-posix: Modernized printf

Jump to:   _  
A   B   C   D   E   F   G   H   I   J   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z  

Next: , Previous: , Up: Top   [Contents][Index]

Undocumented Module Index

These are the modules that are not explicitly documented in this manual. Please look at the respective module description. (Ideally, this list should be as small as possible.)

Jump to:   A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y  
Index Entry  Section

A
acl: Undocumented Module Index
acl-permissions: Undocumented Module Index
alignof: Undocumented Module Index
allocator: Undocumented Module Index
amemxfrm: Undocumented Module Index
announce-gen: Undocumented Module Index
ansi-c++-opt: Undocumented Module Index
areadlinkat: Undocumented Module Index
areadlinkat-with-size: Undocumented Module Index
argv-iter: Undocumented Module Index
array-mergesort: Undocumented Module Index
assure: Undocumented Module Index
astrxfrm: Undocumented Module Index
asyncsafe-spin: Undocumented Module Index
at-init: Undocumented Module Index
autobuild: Undocumented Module Index

B
backup-rename: Undocumented Module Index
backupfile: Undocumented Module Index
base32: Undocumented Module Index
base64: Undocumented Module Index
bcp47: Undocumented Module Index
binary-io: Undocumented Module Index
bison: Undocumented Module Index
bison-i18n: Undocumented Module Index
bitrotate: Undocumented Module Index
bitsetv: Undocumented Module Index
boot-time: Undocumented Module Index
builtin-expect: Undocumented Module Index

C
c-dtoastr: Undocumented Module Index
c-file-type: Undocumented Module Index
c-ldtoastr: Undocumented Module Index
c-nstrftime: Undocumented Module Index
c-snprintf: Undocumented Module Index
c-stack: Undocumented Module Index
c-strcase: Undocumented Module Index
c-strtof: Undocumented Module Index
c-vasnprintf: Undocumented Module Index
c-vasprintf: Undocumented Module Index
c-vsnprintf: Undocumented Module Index
c99: Undocumented Module Index
canon-host: Undocumented Module Index
canonicalize: Undocumented Module Index
careadlinkat: Undocumented Module Index
chdir-long: Undocumented Module Index
chmodat: Undocumented Module Index
chownat: Undocumented Module Index
classpath: Undocumented Module Index
clean-temp-simple: Undocumented Module Index
clock-time: Undocumented Module Index
cloexec: Undocumented Module Index
close-stream: Undocumented Module Index
closein: Undocumented Module Index
closeout: Undocumented Module Index
concat-filename: Undocumented Module Index
config-h: Undocumented Module Index
copy-file: Undocumented Module Index
count-leading-zeros: Undocumented Module Index
count-one-bits: Undocumented Module Index
count-trailing-zeros: Undocumented Module Index
cpu-supports: Undocumented Module Index
crc: Undocumented Module Index
crc-x86_64: Undocumented Module Index
crypto/af_alg: Undocumented Module Index
crypto/arcfour: Undocumented Module Index
crypto/arctwo: Undocumented Module Index
crypto/des: Undocumented Module Index
crypto/gc: Undocumented Module Index
crypto/gc-arcfour: Undocumented Module Index
crypto/gc-arctwo: Undocumented Module Index
crypto/gc-camellia: Undocumented Module Index
crypto/gc-des: Undocumented Module Index
crypto/gc-hmac-md5: Undocumented Module Index
crypto/gc-hmac-sha1: Undocumented Module Index
crypto/gc-hmac-sha256: Undocumented Module Index
crypto/gc-hmac-sha512: Undocumented Module Index
crypto/gc-md2: Undocumented Module Index
crypto/gc-md4: Undocumented Module Index
crypto/gc-md5: Undocumented Module Index
crypto/gc-pbkdf2: Undocumented Module Index
crypto/gc-rijndael: Undocumented Module Index
crypto/gc-sha1: Undocumented Module Index
crypto/gc-sha256: Undocumented Module Index
crypto/gc-sha512: Undocumented Module Index
crypto/gc-sm3: Undocumented Module Index
crypto/hmac-md5: Undocumented Module Index
crypto/hmac-sha1: Undocumented Module Index
crypto/hmac-sha256: Undocumented Module Index
crypto/hmac-sha512: Undocumented Module Index
crypto/md2: Undocumented Module Index
crypto/md2-buffer: Undocumented Module Index
crypto/md4: Undocumented Module Index
crypto/md4-buffer: Undocumented Module Index
crypto/md5: Undocumented Module Index
crypto/md5-buffer: Undocumented Module Index
crypto/rijndael: Undocumented Module Index
crypto/sha1: Undocumented Module Index
crypto/sha1-buffer: Undocumented Module Index
crypto/sha256: Undocumented Module Index
crypto/sha256-buffer: Undocumented Module Index
crypto/sha3: Undocumented Module Index
crypto/sha3-buffer: Undocumented Module Index
crypto/sha512: Undocumented Module Index
crypto/sha512-buffer: Undocumented Module Index
crypto/sm3: Undocumented Module Index
crypto/sm3-buffer: Undocumented Module Index
csharpcomp: Undocumented Module Index
csharpcomp-script: Undocumented Module Index
csharpexec: Undocumented Module Index
csharpexec-script: Undocumented Module Index
cycle-check: Undocumented Module Index
cygpath: Undocumented Module Index

D
d-ino: Undocumented Module Index
d-type: Undocumented Module Index
dcomp-script: Undocumented Module Index
dev-ino: Undocumented Module Index
dfa: Undocumented Module Index
di-set: Undocumented Module Index
diffseq: Undocumented Module Index
dirname-lgpl: Undocumented Module Index
do-release-commit-and-tag: Undocumented Module Index
double-slash-root: Undocumented Module Index
dtoastr: Undocumented Module Index
dtotimespec: Undocumented Module Index

E
eloop-threshold: Undocumented Module Index
errno-iter: Undocumented Module Index
exclude: Undocumented Module Index
execute: Undocumented Module Index
exitfail: Undocumented Module Index

F
fatal-signal: Undocumented Module Index
fd-safer-flag: Undocumented Module Index
fdl: Undocumented Module Index
fdl-1.3: Undocumented Module Index
file-has-acl: Undocumented Module Index
file-remote: Undocumented Module Index
file-set: Undocumented Module Index
file-type: Undocumented Module Index
fileblocks: Undocumented Module Index
filemode: Undocumented Module Index
filename: Undocumented Module Index
filenamecat: Undocumented Module Index
filenamecat-lgpl: Undocumented Module Index
filevercmp: Undocumented Module Index
findprog: Undocumented Module Index
findprog-in: Undocumented Module Index
findprog-lgpl: Undocumented Module Index
fpe-trapping: Undocumented Module Index
fpieee: Undocumented Module Index
fprintftime: Undocumented Module Index
fpucw: Undocumented Module Index
frexp-nolibm: Undocumented Module Index
frexpl-nolibm: Undocumented Module Index
fstrcmp: Undocumented Module Index
ftoastr: Undocumented Module Index
full-read: Undocumented Module Index
full-write: Undocumented Module Index
fwriteerror: Undocumented Module Index

G
gendocs: Undocumented Module Index
get-rusage-as: Undocumented Module Index
get-rusage-data: Undocumented Module Index
gethrxtime: Undocumented Module Index
getlocalename_l-unsafe: Undocumented Module Index
getlocalename_l-unsafe-limited: Undocumented Module Index
getndelim2: Undocumented Module Index
getnline: Undocumented Module Index
get_ppid_of: Undocumented Module Index
get_progname_of: Undocumented Module Index
gnu-make: Undocumented Module Index
gnu-web-doc-update: Undocumented Module Index
gnulib-i18n: Undocumented Module Index
gocomp-script: Undocumented Module Index
gperf: Undocumented Module Index

H
hard-locale: Undocumented Module Index
hash: Undocumented Module Index
hashcode-file-inode: Undocumented Module Index
hashcode-mem: Undocumented Module Index
hashcode-named-file: Undocumented Module Index
hashcode-string1: Undocumented Module Index
hashcode-string2: Undocumented Module Index
hashkey-string: Undocumented Module Index
host-cpu-c-abi: Undocumented Module Index
host-os: Undocumented Module Index
hostent: Undocumented Module Index
human: Undocumented Module Index

I
i-ring: Undocumented Module Index
ialloc: Undocumented Module Index
iconv-h: Undocumented Module Index
idcache: Undocumented Module Index
idpriv-drop: Undocumented Module Index
idpriv-droptemp: Undocumented Module Index
idx: Undocumented Module Index
ignore-value: Undocumented Module Index
immutable: Undocumented Module Index
include_next: Undocumented Module Index
ino-map: Undocumented Module Index
integer_length: Undocumented Module Index
integer_length_l: Undocumented Module Index
integer_length_ll: Undocumented Module Index
inttostr: Undocumented Module Index
inttypes-h-incomplete: Undocumented Module Index
isapipe: Undocumented Module Index
isdir: Undocumented Module Index
isfinite-no-c++: Undocumented Module Index
isinf-no-c++: Undocumented Module Index
isnan-no-c++: Undocumented Module Index
isnand: Undocumented Module Index
isnand-nolibm: Undocumented Module Index
isnanf-nolibm: Undocumented Module Index
isnanl-nolibm: Undocumented Module Index
issymlink: Undocumented Module Index
issymlinkat: Undocumented Module Index

J
javacomp: Undocumented Module Index
javacomp-script: Undocumented Module Index
javaexec: Undocumented Module Index
javaexec-script: Undocumented Module Index
javaversion: Undocumented Module Index
jit/cache: Undocumented Module Index

K
kwset: Undocumented Module Index

L
ldd: Undocumented Module Index
ldtoastr: Undocumented Module Index
lib-ignore: Undocumented Module Index
libgmp: Undocumented Module Index
libgmp-mpq: Undocumented Module Index
libgmp-mpz: Undocumented Module Index
libsigsegv: Undocumented Module Index
libtextstyle: Undocumented Module Index
libtextstyle-optional: Undocumented Module Index
linebuffer: Undocumented Module Index
link-follow: Undocumented Module Index
localename: Undocumented Module Index
localename-environ: Undocumented Module Index
long-options: Undocumented Module Index
longlong: Undocumented Module Index

M
malloca: Undocumented Module Index
mathl: Undocumented Module Index
mbmemcasecmp: Undocumented Module Index
mbmemcasecoll: Undocumented Module Index
mbszero: Undocumented Module Index
mem-hash-map: Undocumented Module Index
memcasecmp: Undocumented Module Index
memchr2: Undocumented Module Index
memcmp2: Undocumented Module Index
memcoll: Undocumented Module Index
memxor: Undocumented Module Index
minmax: Undocumented Module Index
mkancesdirs: Undocumented Module Index
mkdir-p: Undocumented Module Index
mktempd: Undocumented Module Index
modechange: Undocumented Module Index
modula2comp-script: Undocumented Module Index
mpsort: Undocumented Module Index
msvc-inval: Undocumented Module Index
msvc-nothrow: Undocumented Module Index
multiarch: Undocumented Module Index

N
nan: Undocumented Module Index
next-prime: Undocumented Module Index
nlcanon: Undocumented Module Index
no-c++: Undocumented Module Index
nocrash: Undocumented Module Index
nstrftime-limited: Undocumented Module Index

O
openat-h: Undocumented Module Index
openat2: Undocumented Module Index
opendirat: Undocumented Module Index
openmp-init: Undocumented Module Index

P
parse-datetime2: Undocumented Module Index
parse-duration: Undocumented Module Index
passfd: Undocumented Module Index
perl: Undocumented Module Index
physmem: Undocumented Module Index
pipe-filter-gi: Undocumented Module Index
pipe-filter-ii: Undocumented Module Index
pmccabe2html: Undocumented Module Index
posix-shell: Undocumented Module Index
posixtm: Undocumented Module Index
posixver: Undocumented Module Index
printf-frexp: Undocumented Module Index
printf-frexpl: Undocumented Module Index
printf-safe: Undocumented Module Index
priv-set: Undocumented Module Index
propername: Undocumented Module Index
propername-lite: Undocumented Module Index
pt_chown: Undocumented Module Index

Q
qacl: Undocumented Module Index
qcopy-acl: Undocumented Module Index
qset-acl: Undocumented Module Index
quotearg-simple: Undocumented Module Index

R
read-file: Undocumented Module Index
readme-release: Undocumented Module Index
readtokens: Undocumented Module Index
readtokens0: Undocumented Module Index
regex-quote: Undocumented Module Index
regexprops-generic: Undocumented Module Index
relocatable-prog-wrapper: Undocumented Module Index
rmdir-errno: Undocumented Module Index
root-uid: Undocumented Module Index

S
same: Undocumented Module Index
save-cwd: Undocumented Module Index
savedir: Undocumented Module Index
savewd: Undocumented Module Index
selinux-at: Undocumented Module Index
setlocale-fixes: Undocumented Module Index
settime: Undocumented Module Index
sfl-istream: Undocumented Module Index
sh-filename: Undocumented Module Index
sh-quote: Undocumented Module Index
signbit-no-c++: Undocumented Module Index
signed-nan: Undocumented Module Index
signed-snan: Undocumented Module Index
sigpipe-die: Undocumented Module Index
sigsegv: Undocumented Module Index
simple-atomic: Undocumented Module Index
size_max: Undocumented Module Index
snan: Undocumented Module Index
sockets: Undocumented Module Index
socklen: Undocumented Module Index
sparcv8+: Undocumented Module Index
spawn-pipe: Undocumented Module Index
ssfmalloc: Undocumented Module Index
ssize_t: Undocumented Module Index
stack: Undocumented Module Index
stat-macros: Undocumented Module Index
statat: Undocumented Module Index
std-gnu11: Undocumented Module Index
std-gnu23: Undocumented Module Index
stdbit-h: Undocumented Module Index
stdcountof-h: Undocumented Module Index
stdio-windows: Undocumented Module Index
stdopen: Undocumented Module Index
strcase: Undocumented Module Index
streq: Undocumented Module Index
striconveha: Undocumented Module Index
string-buffer-reversed: Undocumented Module Index
stringeq: Undocumented Module Index
strnlen1: Undocumented Module Index
supersede: Undocumented Module Index
system-quote: Undocumented Module Index

T
tempname: Undocumented Module Index
term-style-control: Undocumented Module Index
terminfo: Undocumented Module Index
terminfo-h: Undocumented Module Index
test-framework-sh: Undocumented Module Index
test-xfail: Undocumented Module Index
timespec: Undocumented Module Index
timespec-add: Undocumented Module Index
timespec-sub: Undocumented Module Index
tmpdir: Undocumented Module Index
trim: Undocumented Module Index

U
u64: Undocumented Module Index
ucs4-utf16: Undocumented Module Index
ucs4-utf8: Undocumented Module Index
unicodeio: Undocumented Module Index
unictype/bidiclass-all: Undocumented Module Index
unictype/block-all: Undocumented Module Index
unictype/category-all: Undocumented Module Index
unictype/combining-class-all: Undocumented Module Index
unictype/incb-all: Undocumented Module Index
unictype/joininggroup-all: Undocumented Module Index
unictype/joiningtype-all: Undocumented Module Index
unictype/property-all: Undocumented Module Index
unictype/scripts-all: Undocumented Module Index
unlink-busy: Undocumented Module Index
update-copyright: Undocumented Module Index
useless-if-before-free: Undocumented Module Index
userspec: Undocumented Module Index
utf16-ucs4: Undocumented Module Index
utf16-ucs4-unsafe: Undocumented Module Index
utf8-ucs4: Undocumented Module Index
utf8-ucs4-unsafe: Undocumented Module Index
utimecmp: Undocumented Module Index

V
va-args: Undocumented Module Index
vasnprintf: Undocumented Module Index
vasnprintf-gnu: Undocumented Module Index
vasnprintf-posix: Undocumented Module Index
vasnwprintf: Undocumented Module Index
vasnwprintf-gnu: Undocumented Module Index
vasnwprintf-posix: Undocumented Module Index
vc-list-files: Undocumented Module Index
vc-mtime: Undocumented Module Index
verror: Undocumented Module Index
version-stamp: Undocumented Module Index
vma-iter: Undocumented Module Index
vma-prot: Undocumented Module Index

W
wait-process: Undocumented Module Index
wgetcwd-lgpl: Undocumented Module Index
windows-cygpath: Undocumented Module Index
winsz-ioctl: Undocumented Module Index
winsz-termios: Undocumented Module Index
write-any-file: Undocumented Module Index

X
xalignalloc: Undocumented Module Index
xalloc: Undocumented Module Index
xalloc-oversized: Undocumented Module Index
xbinary-io: Undocumented Module Index
xconcat-filename: Undocumented Module Index
xfreopen: Undocumented Module Index
xgetcwd: Undocumented Module Index
xgetcwd-lgpl: Undocumented Module Index
xgetdomainname: Undocumented Module Index
xgetgroups: Undocumented Module Index
xgethostname: Undocumented Module Index
xhash: Undocumented Module Index
xmalloca: Undocumented Module Index
xmemcoll: Undocumented Module Index
xmemdup0: Undocumented Module Index
xnanosleep: Undocumented Module Index
xreadlink: Undocumented Module Index
xreadlinkat: Undocumented Module Index
xsetenv: Undocumented Module Index
xsize: Undocumented Module Index
xstriconv: Undocumented Module Index
xstriconveh: Undocumented Module Index
xstring-buffer: Undocumented Module Index
xstring-buffer-reversed: Undocumented Module Index
xstrndup: Undocumented Module Index
xstrtod: Undocumented Module Index
xstrtoimax: Undocumented Module Index
xstrtol: Undocumented Module Index
xstrtol-error: Undocumented Module Index
xstrtold: Undocumented Module Index
xstrtoll: Undocumented Module Index
xstrtoumax: Undocumented Module Index

Y
yesno: Undocumented Module Index

Jump to:   A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y  

Previous: , Up: Top   [Contents][Index]

General Index

Jump to:   $   (   )   *   +   -   .   =   ?   [   \   ]   ^   _   {   |   }  
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y  
Index Entry  Section

$
$: Match-end-of-line Operator

(
(: Grouping Operators

)
): Grouping Operators

*
*: Match-zero-or-more Operator

+
+: Match-one-or-more Operator

-
-: List Operators

.
.: Match-any-character Operator
.tarball-version: Setting the package version

=
=]’ in regex: Equivalence Class Operators

?
?: Match-zero-or-one Operator

[
[: List Operators
[=’ in regex: Equivalence Class Operators
[colon’ in regex: Character Class Operators
[^: List Operators

\
\: The Backslash Character
\: List Operators
\': Match-end-of-string Operator
\(: Grouping Operators
\): Grouping Operators
\<: Match-beginning-of-word Operator
\>: Match-end-of-word Operator
\b: Match-word-boundary Operator
\B: Match-within-word Operator
\s: Match-space Operator
\S: Match-non-space Operator
\w: Match-word-constituent Operator
\W: Match-non-word-constituent Operator
\`: Match-beginning-of-string Operator
\{: Interval Operators
\|: Alternation Operator
\}: Interval Operators

]
]: List Operators

^
^: Match-beginning-of-line Operator
^: List Operators

_
_dl_find_object: _dl_find_object
_Exit: _Exit
_exit: _exit
_Fork: _Fork
_GL_EXTERN_INLINE: extern inline
_GL_INLINE: extern inline
_GL_INLINE_HEADER_BEGIN: extern inline
_GL_INLINE_HEADER_END: extern inline
_longjmp: _longjmp
_Noreturn: Non-returning Functions
_setjmp: _setjmp
_tolower: _tolower
_toupper: _toupper
__attribute__: Attributes
__libc_single_threaded: __libc_single_threaded
__VA_ARGS__: C99 features assumed

{
{: Interval Operators

|
|: Alternation Operator

}
}: Interval Operators

A
a64l: a64l
abort: abort
Aborting execution: Out of memory handling
abs: abs
accept: accept
accept4: accept4
access: access
acct: acct
acos: acos
acosf: acosf
acosh: acosh
acoshf: acoshf
acoshl: acoshl
acosl: acosl
acospi: acospi
acospif: acospif
acospil: acospil
AC_LIB_HAVE_LINKFLAGS(name, [dependencies], [includes], [testcode], [missing-message]): Searching for Libraries
AC_LIB_LINKFLAGS(name, [dependencies]): Searching for Libraries
addmntent: addmntent
addseverity: addseverity
adjtime: adjtime
adjtimex: adjtimex
advance: advance
aio_cancel: aio_cancel
aio_error: aio_error
aio_fsync: aio_fsync
aio_init: aio_init
aio_read: aio_read
aio_return: aio_return
aio_suspend: aio_suspend
aio_write: aio_write
alarm: alarm
aligned_alloc: aligned_alloc
ALLOC: Safe Allocation Macros
alloca: alloca
alloca: alloca-opt
allocated initialization: GNU Regular Expression Compiling
ALLOC_N: Safe Allocation Macros
ALLOC_N_UNINITIALIZED: Safe Allocation Macros
alphasort: alphasort
alternation operator: Alternation Operator
alternation operator and ‘^: Match-beginning-of-line Operator
anchoring: Anchoring Operators
anchors: Match-beginning-of-line Operator
anchors: Match-end-of-line Operator
arc4random: arc4random
arc4random_buf: arc4random_buf
arc4random_uniform: arc4random_uniform
argp_error: argp_error
argp_err_exit_status: argp_err_exit_status
argp_failure: argp_failure
argp_help: argp_help
argp_parse: argp_parse
argp_program_bug_address: argp_program_bug_address
argp_program_version: argp_program_version
argp_program_version_hook: argp_program_version_hook
argp_state_help: argp_state_help
argp_usage: argp_usage
argz_add: argz_add
argz_add_sep: argz_add_sep
argz_append: argz_append
argz_count: argz_count
argz_create: argz_create
argz_create_sep: argz_create_sep
argz_delete: argz_delete
argz_extract: argz_extract
argz_insert: argz_insert
argz_next: argz_next
argz_replace: argz_replace
argz_stringify: argz_stringify
arithmetic type conversion: Arithmetic Type Conversion
asctime: asctime
asctime_r: asctime_r
asin: asin
asinf: asinf
asinh: asinh
asinhf: asinhf
asinhl: asinhl
asinl: asinl
asinpi: asinpi
asinpif: asinpif
asinpil: asinpil
asprintf: asprintf
assert: assert
assertion: Compile-time Assertions
atan: atan
atan2: atan2
atan2f: atan2f
atan2l: atan2l
atan2pi: atan2pi
atan2pif: atan2pif
atan2pil: atan2pil
atanf: atanf
atanh: atanh
atanhf: atanhf
atanhl: atanhl
atanl: atanl
atanpi: atanpi
atanpif: atanpif
atanpil: atanpil
atexit: atexit
atof: atof
atoi: atoi
atol: atol
atoll: atoll
atomic_compare_exchange_strong: atomic_compare_exchange_strong
atomic_compare_exchange_strong_explicit: atomic_compare_exchange_strong_explicit
atomic_compare_exchange_weak: atomic_compare_exchange_weak
atomic_compare_exchange_weak_explicit: atomic_compare_exchange_weak_explicit
atomic_exchange: atomic_exchange
atomic_exchange_explicit: atomic_exchange_explicit
atomic_fetch_add: atomic_fetch_add
atomic_fetch_add_explicit: atomic_fetch_add_explicit
atomic_fetch_and: atomic_fetch_and
atomic_fetch_and_explicit: atomic_fetch_and_explicit
atomic_fetch_or: atomic_fetch_or
atomic_fetch_or_explicit: atomic_fetch_or_explicit
atomic_fetch_sub: atomic_fetch_sub
atomic_fetch_sub_explicit: atomic_fetch_sub_explicit
atomic_fetch_xor: atomic_fetch_xor
atomic_fetch_xor_explicit: atomic_fetch_xor_explicit
atomic_flag_clear: atomic_flag_clear
atomic_flag_clear_explicit: atomic_flag_clear_explicit
atomic_flag_test_and_set: atomic_flag_test_and_set
atomic_flag_test_and_set_explicit: atomic_flag_test_and_set_explicit
atomic_init: atomic_init
atomic_is_lock_free: atomic_is_lock_free
atomic_load: atomic_load
atomic_load_explicit: atomic_load_explicit
atomic_signal_fence: atomic_signal_fence
atomic_store: atomic_store
atomic_store_explicit: atomic_store_explicit
atomic_thread_fence: atomic_thread_fence
Attributes: Attributes
at_quick_exit: at_quick_exit
authdes_create: authdes_create
authdes_getucred: authdes_getucred
authdes_pk_create: authdes_pk_create
authnone_create: authnone_create
authunix_create: authunix_create
authunix_create_default: authunix_create_default
autopoint, caveat: gettextize and autopoint
Awk: Predefined Syntaxes

B
back-references: Back-reference Operator
backtrace: backtrace
backtrace_symbols: backtrace_symbols
backtrace_symbols_fd: backtrace_symbols_fd
backtracking: Match-zero-or-more Operator
backtracking: Alternation Operator
basename: basename
bcmp: bcmp
bcopy: bcopy
bdflush: bdflush
be16toh: be16toh
be32toh: be32toh
be64toh: be64toh
beginning-of-line operator: Match-beginning-of-line Operator
bind: bind
bindresvport: bindresvport
bindtextdomain: bindtextdomain
bind_textdomain_codeset: bind_textdomain_codeset
block size: stat-size
bracket expression: List Operators
brk: brk
bsd_signal: bsd_signal
bsearch: bsearch
bswap_16: bswap_16
bswap_32: bswap_32
bswap_64: bswap_64
btowc: btowc
buffer field, set by re_compile_pattern: GNU Regular Expression Compiling
buffer initialization: GNU Regular Expression Compiling
bzero: bzero

C
C++ header files: Header files
C++ tests modules: Extra tests modules
c16rtomb: c16rtomb
c32rtomb: c32rtomb
c8rtomb: c8rtomb
cabs: cabs
cabsf: cabsf
cabsl: cabsl
cacos: cacos
cacosf: cacosf
cacosh: cacosh
cacoshf: cacoshf
cacoshl: cacoshl
cacosl: cacosl
calloc: calloc
callrpc: callrpc
call_once: call_once
canonicalize: canonicalize
canonicalizef: canonicalizef
canonicalizel: canonicalizel
canonicalize_file_name: canonicalize_file_name
capget: capget
capset: capset
carg: carg
cargf: cargf
cargl: cargl
casin: casin
casinf: casinf
casinh: casinh
casinhf: casinhf
casinhl: casinhl
casinl: casinl
catan: catan
catanf: catanf
catanh: catanh
catanhf: catanhf
catanhl: catanhl
catanl: catanl
catclose: catclose
catgets: catgets
catopen: catopen
cbrt: cbrt
cbrtf: cbrtf
cbrtl: cbrtl
ccos: ccos
ccosf: ccosf
ccosh: ccosh
ccoshf: ccoshf
ccoshl: ccoshl
ccosl: ccosl
ceil: ceil
ceilf: ceilf
ceill: ceill
cexp: cexp
cexpf: cexpf
cexpl: cexpl
cfgetispeed: cfgetispeed
cfgetospeed: cfgetospeed
cfmakeraw: cfmakeraw
cfree: cfree
cfsetispeed: cfsetispeed
cfsetospeed: cfsetospeed
cfsetspeed: cfsetspeed
changelog: gitlog-to-changelog
character classes: Character Class Operators
chdir: chdir
chmod: chmod
chown: chown
chroot: chroot
cimag: cimag
cimagf: cimagf
cimagl: cimagl
clearenv: clearenv
clearerr: clearerr
clearerr_unlocked: clearerr_unlocked
clntraw_create: clntraw_create
clnttcp_create: clnttcp_create
clntudp_bufcreate: clntudp_bufcreate
clntudp_create: clntudp_create
clntunix_create: clntunix_create
clnt_broadcast: clnt_broadcast
clnt_create: clnt_create
clnt_pcreateerror: clnt_pcreateerror
clnt_perrno: clnt_perrno
clnt_perror: clnt_perror
clnt_spcreateerror: clnt_spcreateerror
clnt_sperrno: clnt_sperrno
clnt_sperror: clnt_sperror
clock: clock
clock_adjtime: clock_adjtime
clock_getcpuclockid: clock_getcpuclockid
clock_getres: clock_getres
clock_gettime: clock_gettime
clock_nanosleep: clock_nanosleep
clock_settime: clock_settime
clog: clog
clog10: clog10
clog10f: clog10f
clog10l: clog10l
clogf: clogf
clogl: clogl
clone: clone
close: close
closedir: closedir
closefrom: closefrom
closelog: closelog
close_range: close_range
CMPLX: CMPLX
CMPLXF: CMPLXF
CMPLXL: CMPLXL
cnd_broadcast: cnd_broadcast
cnd_destroy: cnd_destroy
cnd_init: cnd_init
cnd_signal: cnd_signal
cnd_timedwait: cnd_timedwait
cnd_wait: cnd_wait
colon]’ in regex: Character Class Operators
comments describing functions: Specification
compoundn: compoundn
compoundnf: compoundnf
compoundnl: compoundnl
conditional dependencies: Conditional dependencies
configmake.h, module for updating: configmake
confstr: confstr
conj: conj
conjf: conjf
conjl: conjl
connect: connect
copysign: copysign
copysignf: copysignf
copysignl: copysignl
copy_file_range: copy_file_range
cos: cos
cosf: cosf
cosh: cosh
coshf: coshf
coshl: coshl
cosl: cosl
cospi: cospi
cospif: cospif
cospil: cospil
cpow: cpow
cpowf: cpowf
cpowl: cpowl
cproj: cproj
cprojf: cprojf
cprojl: cprojl
creal: creal
crealf: crealf
creall: creall
creat: creat
crypt: crypt
csin: csin
csinf: csinf
csinh: csinh
csinhf: csinhf
csinhl: csinhl
csinl: csinl
csqrt: csqrt
csqrtf: csqrtf
csqrtl: csqrtl
ctan: ctan
ctanf: ctanf
ctanh: ctanh
ctanhf: ctanhf
ctanhl: ctanhl
ctanl: ctanl
ctermid: ctermid
ctime: ctime
ctime_r: ctime_r
cuserid: cuserid

D
daddl: daddl
daemon: daemon
daylight: daylight
dbm_clearerr: dbm_clearerr
dbm_close: dbm_close
dbm_delete: dbm_delete
dbm_error: dbm_error
dbm_fetch: dbm_fetch
dbm_firstkey: dbm_firstkey
dbm_nextkey: dbm_nextkey
dbm_open: dbm_open
dbm_store: dbm_store
dcgettext: dcgettext
dcgettext_l: dcgettext_l
dcngettext: dcngettext
dcngettext_l: dcngettext_l
ddivl: ddivl
DEF files: Visual Studio Compatibility
describing functions, locating: Specification
dfmal: dfmal
dgettext: dgettext
dgettext_l: dgettext_l
difftime: difftime
dirfd: dirfd
dirname: dirname
div: div
dladdr: dladdr
dladdr1: dladdr1
dlclose: dlclose
dlerror: dlerror
dlinfo: dlinfo
dlmopen: dlmopen
dlopen: dlopen
dlsym: dlsym
dlvsym: dlvsym
dl_iterate_phdr: dl_iterate_phdr
dmull: dmull
dngettext: dngettext
dngettext_l: dngettext_l
dn_comp: dn_comp
dn_expand: dn_expand
dn_skipname: dn_skipname
double inclusion of header files: Header files
dprintf: dprintf
drand48: drand48
drand48_r: drand48_r
drem: drem
dremf: dremf
dreml: dreml
dsqrtl: dsqrtl
dsubl: dsubl
dup: dup
dup2: dup2
dup3: dup3
duplocale: duplocale
dysize: dysize

E
eaccess: eaccess
ecvt: ecvt
ecvt_r: ecvt_r
Egrep: Predefined Syntaxes
Emacs: Predefined Syntaxes
encrypt: encrypt
end in struct re_registers: Using Registers
end-of-line operator: Match-end-of-line Operator
endaliasent: endaliasent
endfsent: endfsent
endgrent: endgrent
endhostent: endhostent
endmntent: endmntent
endnetent: endnetent
endnetgrent: endnetgrent
endprotoent: endprotoent
endpwent: endpwent
endrpcent: endrpcent
endservent: endservent
endsgent: endsgent
endspent: endspent
endttyent: endttyent
endusershell: endusershell
endutent: endutent
endutxent: endutxent
environ: environ
envz_add: envz_add
envz_entry: envz_entry
envz_get: envz_get
envz_merge: envz_merge
envz_remove: envz_remove
envz_strip: envz_strip
epoll_create: epoll_create
epoll_create1: epoll_create1
epoll_ctl: epoll_ctl
epoll_pwait: epoll_pwait
epoll_pwait2: epoll_pwait2
epoll_wait: epoll_wait
equivalence class expression in regex: Equivalence Class Operators
erand48: erand48
erand48_r: erand48_r
erf: erf
erfc: erfc
erfcf: erfcf
erfcl: erfcl
erff: erff
erfl: erfl
err: err
errno: errno
error: error
error: progname and getprogname
error_at_line: error_at_line
error_message_count: error_message_count
error_one_per_line: error_one_per_line
error_print_progname: error_print_progname
errx: errx
ether_aton: ether_aton
ether_aton_r: ether_aton_r
ether_hostton: ether_hostton
ether_line: ether_line
ether_ntoa: ether_ntoa
ether_ntoa_r: ether_ntoa_r
ether_ntohost: ether_ntohost
euidaccess: euidaccess
eventfd: eventfd
eventfd_read: eventfd_read
eventfd_write: eventfd_write
execl: execl
execle: execle
execlp: execlp
execv: execv
execve: execve
execveat: execveat
execvp: execvp
execvpe: execvpe
exit: exit
exp: exp
exp10: exp10
exp10f: exp10f
exp10l: exp10l
exp10m1: exp10m1
exp10m1f: exp10m1f
exp10m1l: exp10m1l
exp2: exp2
exp2f: exp2f
exp2l: exp2l
exp2m1: exp2m1
exp2m1f: exp2m1f
exp2m1l: exp2m1l
expf: expf
expl: expl
explicit_bzero: explicit_bzero
expm1: expm1
expm1f: expm1f
expm1l: expm1l
EXPR_SIGNED: Arithmetic Type Properties
extern inline: extern inline
Extra tests modules: Extra tests modules

F
fabs: fabs
fabsf: fabsf
fabsl: fabsl
faccessat: faccessat
fadd: fadd
faddl: faddl
fallocate: fallocate
fanotify_init: fanotify_init
fanotify_mark: fanotify_mark
fastmap initialization: GNU Regular Expression Compiling
fastmaps: Searching with Fastmaps
fattach: fattach
fchdir: fchdir
fchmod: fchmod
fchmodat: fchmodat
fchown: fchown
fchownat: fchownat
fclose: fclose
fcloseall: fcloseall
fcntl: fcntl
fcvt: fcvt
fcvt_r: fcvt_r
fdatasync: fdatasync
fdetach: fdetach
fdim: fdim
fdimf: fdimf
fdiml: fdiml
fdiv: fdiv
fdivl: fdivl
fdopen: fdopen
fdopendir: fdopendir
FD_CLR: FD_CLR
FD_ISSET: FD_ISSET
FD_SET: FD_SET
FD_ZERO: FD_ZERO
feclearexcept: feclearexcept
fedisableexcept: fedisableexcept
feenableexcept: feenableexcept
fegetenv: fegetenv
fegetexcept: fegetexcept
fegetexceptflag: fegetexceptflag
fegetmode: fegetmode
fegetround: fegetround
feholdexcept: feholdexcept
feof: feof
feof_unlocked: feof_unlocked
feraiseexcept: feraiseexcept
ferror: ferror
ferror_unlocked: ferror_unlocked
fesetenv: fesetenv
fesetexcept: fesetexcept
fesetexceptflag: fesetexceptflag
fesetmode: fesetmode
fesetround: fesetround
fetestexcept: fetestexcept
fetestexceptflag: fetestexceptflag
feupdateenv: feupdateenv
fexecve: fexecve
fflush: fflush
fflush_unlocked: fflush_unlocked
ffma: ffma
ffmal: ffmal
ffs: ffs
ffsl: ffsl
ffsll: ffsll
fgetc: fgetc
fgetc_unlocked: fgetc_unlocked
fgetfilecon: fgetfilecon
fgetgrent: fgetgrent
fgetgrent_r: fgetgrent_r
fgetpos: fgetpos
fgetpwent: fgetpwent
fgetpwent_r: fgetpwent_r
fgets: fgets
fgetsgent: fgetsgent
fgetsgent_r: fgetsgent_r
fgetspent: fgetspent
fgetspent_r: fgetspent_r
fgets_unlocked: fgets_unlocked
fgetwc: fgetwc
fgetwc_unlocked: fgetwc_unlocked
fgetws: fgetws
fgetws_unlocked: fgetws_unlocked
fgetxattr: fgetxattr
fileno: fileno
fileno_unlocked: fileno_unlocked
Finding modules: Which modules?
finite: finite
finitef: finitef
finitel: finitel
flistxattr: flistxattr
flock: flock
flockfile: flockfile
floor: floor
floorf: floorf
floorl: floorl
fma: fma
fmaf: fmaf
fmal: fmal
fmax: fmax
fmaxf: fmaxf
fmaximum: fmaximum
fmaximumf: fmaximumf
fmaximuml: fmaximuml
fmaximum_mag: fmaximum_mag
fmaximum_magf: fmaximum_magf
fmaximum_magl: fmaximum_magl
fmaximum_mag_num: fmaximum_mag_num
fmaximum_mag_numf: fmaximum_mag_numf
fmaximum_mag_numl: fmaximum_mag_numl
fmaximum_num: fmaximum_num
fmaximum_numf: fmaximum_numf
fmaximum_numl: fmaximum_numl
fmaxl: fmaxl
fmaxmag: fmaxmag
fmaxmagf: fmaxmagf
fmaxmagl: fmaxmagl
fmemopen: fmemopen
fmin: fmin
fminf: fminf
fminimum: fminimum
fminimumf: fminimumf
fminimuml: fminimuml
fminimum_mag: fminimum_mag
fminimum_magf: fminimum_magf
fminimum_magl: fminimum_magl
fminimum_mag_num: fminimum_mag_num
fminimum_mag_numf: fminimum_mag_numf
fminimum_mag_numl: fminimum_mag_numl
fminimum_num: fminimum_num
fminimum_numf: fminimum_numf
fminimum_numl: fminimum_numl
fminl: fminl
fminmag: fminmag
fminmagf: fminmagf
fminmagl: fminmagl
fmod: fmod
fmodf: fmodf
fmodl: fmodl
fmtmsg: fmtmsg
fmul: fmul
fmull: fmull
fnmatch: fnmatch
fopen: fopen
fopencookie: fopencookie
fork: fork
forkpty: forkpty
fpathconf: fpathconf
fpclassify: fpclassify
fprintf: fprintf
fputc: fputc
fputc_unlocked: fputc_unlocked
fputs: fputs
fputs_unlocked: fputs_unlocked
fputwc: fputwc
fputwc_unlocked: fputwc_unlocked
fputws: fputws
fputws_unlocked: fputws_unlocked
fread: fread
fread_unlocked: fread_unlocked
free: free
FREE: Safe Allocation Macros
freeaddrinfo: freeaddrinfo
freeifaddrs: freeifaddrs
freelocale: freelocale
free_aligned_sized: free_aligned_sized
free_sized: free_sized
fremovexattr: fremovexattr
freopen: freopen
frexp: frexp
frexpf: frexpf
frexpl: frexpl
fromfp: fromfp
fromfpf: fromfpf
fromfpl: fromfpl
fromfpx: fromfpx
fromfpxf: fromfpxf
fromfpxl: fromfpxl
fscanf: fscanf
fsconfig: fsconfig
fseek: fseek
fseeko: fseeko
fsetpos: fsetpos
fsetxattr: fsetxattr
fsmount: fsmount
fsopen: fsopen
fspick: fspick
fsqrt: fsqrt
fsqrtl: fsqrtl
fstat: fstat
fstatat: fstatat
fstatfs: fstatfs
fstatvfs: fstatvfs
fsub: fsub
fsubl: fsubl
fsync: fsync
ftell: ftell
ftello: ftello
ftime: ftime
ftok: ftok
ftruncate: ftruncate
ftrylockfile: ftrylockfile
fts_children: fts_children
fts_close: fts_close
fts_open: fts_open
fts_read: fts_read
fts_set: fts_set
ftw: ftw
funlockfile: funlockfile
futimens: futimens
futimes: futimes
futimesat: futimesat
fwide: fwide
fwprintf: fwprintf
fwrite: fwrite
fwrite_unlocked: fwrite_unlocked
fwscanf: fwscanf

G
gai_strerror: gai_strerror
gamma: gamma
gammaf: gammaf
gammal: gammal
gcd: gcd
gcvt: gcvt
getaddrinfo: getaddrinfo
getaliasbyname: getaliasbyname
getaliasbyname_r: getaliasbyname_r
getaliasent: getaliasent
getaliasent_r: getaliasent_r
getauxval: getauxval
getc: getc
getchar: getchar
getchar_unlocked: getchar_unlocked
getcontext: getcontext
getcpu: getcpu
getcwd: getcwd
getc_unlocked: getc_unlocked
getdate: getdate
getdate_err: getdate_err
getdate_r: getdate_r
getdelim: getdelim
getdirentries: getdirentries
getdomainname: getdomainname
getdtablesize: getdtablesize
getegid: getegid
getentropy: getentropy
getenv: getenv
geteuid: geteuid
getfilecon: getfilecon
getfsent: getfsent
getfsfile: getfsfile
getfsspec: getfsspec
getgid: getgid
getgrent: getgrent
getgrent_r: getgrent_r
getgrgid: getgrgid
getgrgid_r: getgrgid_r
getgrnam: getgrnam
getgrnam_r: getgrnam_r
getgrouplist: getgrouplist
getgroups: getgroups
gethostbyaddr: gethostbyaddr
gethostbyaddr_r: gethostbyaddr_r
gethostbyname: gethostbyname
gethostbyname2: gethostbyname2
gethostbyname2_r: gethostbyname2_r
gethostbyname_r: gethostbyname_r
gethostent: gethostent
gethostent_r: gethostent_r
gethostid: gethostid
gethostname: gethostname
getifaddrs: getifaddrs
getipv4sourcefilter: getipv4sourcefilter
getitimer: getitimer
getline: getline
getloadavg: getloadavg
getlocalename_l: getlocalename_l
getlogin: getlogin
getlogin_r: getlogin_r
getmntent: getmntent
getmntent_r: getmntent_r
getmsg: getmsg
getnameinfo: getnameinfo
getnetbyaddr: getnetbyaddr
getnetbyaddr_r: getnetbyaddr_r
getnetbyname: getnetbyname
getnetbyname_r: getnetbyname_r
getnetent: getnetent
getnetent_r: getnetent_r
getnetgrent: getnetgrent
getnetgrent_r: getnetgrent_r
getnetname: getnetname
getopt: getopt
getopt_long: getopt_long
getopt_long_only: getopt_long_only
getpagesize: getpagesize
getpass: getpass
getpayload: getpayload
getpayloadf: getpayloadf
getpayloadl: getpayloadl
getpeername: getpeername
getpgid: getpgid
getpgrp: getpgrp
getpid: getpid
getpmsg: getpmsg
getppid: getppid
getpriority: getpriority
getprogname: progname and getprogname
getprotobyname: getprotobyname
getprotobyname_r: getprotobyname_r
getprotobynumber: getprotobynumber
getprotobynumber_r: getprotobynumber_r
getprotoent: getprotoent
getprotoent_r: getprotoent_r
getpt: getpt
getpublickey: getpublickey
getpw: getpw
getpwent: getpwent
getpwent_r: getpwent_r
getpwnam: getpwnam
getpwnam_r: getpwnam_r
getpwuid: getpwuid
getpwuid_r: getpwuid_r
getrandom: getrandom
getresgid: getresgid
getresuid: getresuid
getrlimit: getrlimit
getrpcbyname: getrpcbyname
getrpcbyname_r: getrpcbyname_r
getrpcbynumber: getrpcbynumber
getrpcbynumber_r: getrpcbynumber_r
getrpcent: getrpcent
getrpcent_r: getrpcent_r
getrpcport: getrpcport
getrusage: getrusage
gets: gets
getsecretkey: getsecretkey
getservbyname: getservbyname
getservbyname_r: getservbyname_r
getservbyport: getservbyport
getservbyport_r: getservbyport_r
getservent: getservent
getservent_r: getservent_r
getsgent: getsgent
getsgent_r: getsgent_r
getsgnam: getsgnam
getsgnam_r: getsgnam_r
getsid: getsid
getsockname: getsockname
getsockopt: getsockopt
getsourcefilter: getsourcefilter
getspent: getspent
getspent_r: getspent_r
getspnam: getspnam
getspnam_r: getspnam_r
getsubopt: getsubopt
gettext: gettext
gettextize, caveat: gettextize and autopoint
gettext_l: gettext_l
gettid: gettid
gettimeofday: gettimeofday
getttyent: getttyent
getttynam: getttynam
getuid: getuid
getumask: getumask
getusershell: getusershell
getutent: getutent
getutent_r: getutent_r
getutid: getutid
getutid_r: getutid_r
getutline: getutline
getutline_r: getutline_r
getutmp: getutmp
getutmpx: getutmpx
getutxent: getutxent
getutxid: getutxid
getutxline: getutxline
getw: getw
getwc: getwc
getwchar: getwchar
getwchar_unlocked: getwchar_unlocked
getwc_unlocked: getwc_unlocked
getwd: getwd
getxattr: getxattr
get_avphys_pages: get_avphys_pages
get_current_dir_name: get_current_dir_name
get_myaddress: get_myaddress
get_nprocs: get_nprocs
get_nprocs_conf: get_nprocs_conf
get_phys_pages: get_phys_pages
gitlog: gitlog-to-changelog
glob: glob
globfree: globfree
glob_pattern_p: glob_pattern_p
gmtime: gmtime
gmtime_r: gmtime_r
gnulib-tool: Invoking gnulib-tool
gnu_dev_major: gnu_dev_major
gnu_dev_makedev: gnu_dev_makedev
gnu_dev_minor: gnu_dev_minor
gnu_get_libc_release: gnu_get_libc_release
gnu_get_libc_version: gnu_get_libc_version
grantpt: grantpt
Grep: Predefined Syntaxes
grouping: Grouping Operators
group_member: group_member
gsignal: gsignal

H
hasmntopt: hasmntopt
hcreate: hcreate
hcreate_r: hcreate_r
hdestroy: hdestroy
hdestroy_r: hdestroy_r
header file include protection: Header files
Header files and C++: Header files
herror: herror
host2netname: host2netname
hsearch: hsearch
hsearch_r: hsearch_r
hstrerror: hstrerror
htobe16: htobe16
htobe32: htobe32
htobe64: htobe64
htole16: htole16
htole32: htole32
htole64: htole64
htonl: htonl
htons: htons
hypot: hypot
hypotf: hypotf
hypotl: hypotl
h_errno: h_errno

I
iconv: iconv
iconv_close: iconv_close
iconv_open: iconv_open
if_freenameindex: if_freenameindex
if_indextoname: if_indextoname
if_nameindex: if_nameindex
if_nametoindex: if_nametoindex
ilogb: ilogb
ilogbf: ilogbf
ilogbl: ilogbl
imaxabs: imaxabs
imaxdiv: imaxdiv
in6addr_any: in6addr_any
in6addr_loopback: in6addr_loopback
index: _index
inet6_option_alloc: inet6_option_alloc
inet6_option_append: inet6_option_append
inet6_option_find: inet6_option_find
inet6_option_init: inet6_option_init
inet6_option_next: inet6_option_next
inet6_option_space: inet6_option_space
inet6_opt_append: inet6_opt_append
inet6_opt_find: inet6_opt_find
inet6_opt_finish: inet6_opt_finish
inet6_opt_get_val: inet6_opt_get_val
inet6_opt_init: inet6_opt_init
inet6_opt_next: inet6_opt_next
inet6_opt_set_val: inet6_opt_set_val
inet6_rth_add: inet6_rth_add
inet6_rth_getaddr: inet6_rth_getaddr
inet6_rth_init: inet6_rth_init
inet6_rth_reverse: inet6_rth_reverse
inet6_rth_segments: inet6_rth_segments
inet6_rth_space: inet6_rth_space
inet_addr: inet_addr
inet_aton: inet_aton
inet_lnaof: inet_lnaof
inet_makeaddr: inet_makeaddr
inet_netof: inet_netof
inet_network: inet_network
inet_net_ntop: inet_net_ntop
inet_net_pton: inet_net_pton
inet_nsap_addr: inet_nsap_addr
inet_nsap_ntoa: inet_nsap_ntoa
inet_ntoa: inet_ntoa
inet_ntop: inet_ntop
inet_pton: inet_pton
initgroups: initgroups
initial import: Initial import
initstate: initstate
initstate_r: initstate_r
inline: static inline
inline: extern inline
innetgr: innetgr
inotify_add_watch: inotify_add_watch
inotify_init: inotify_init
inotify_init1: inotify_init1
inotify_rm_watch: inotify_rm_watch
insque: insque
int: Safe Allocation Macros
int: Safe Allocation Macros
int: Safe Allocation Macros
integer arithmetic portability: Unsupported Platforms
integer bounds: Integer Bounds
integer overflow: Integer Properties
integer overflow checking: Checking Integer Overflow
integer properties: Integer Properties
integer range overflow: Integer Range Overflow
integer type conversion: Arithmetic Type Conversion
integer type overflow: Integer Type Overflow
interval expression: Interval Operators
INT_ADD_OK: Checking Integer Overflow
INT_ADD_OVERFLOW: Integer Type Overflow
INT_ADD_RANGE_OVERFLOW: Integer Range Overflow
INT_ADD_WRAPV: Wraparound Arithmetic
INT_BUFSIZE_BOUND: Integer Bounds
INT_DIVIDE_OVERFLOW: Integer Type Overflow
INT_DIVIDE_RANGE_OVERFLOW: Integer Range Overflow
INT_LEFT_SHIFT_OVERFLOW: Integer Type Overflow
INT_LEFT_SHIFT_RANGE_OVERFLOW: Integer Range Overflow
INT_MULTIPLY_OK: Checking Integer Overflow
INT_MULTIPLY_OVERFLOW: Integer Type Overflow
INT_MULTIPLY_RANGE_OVERFLOW: Integer Range Overflow
INT_MULTIPLY_WRAPV: Wraparound Arithmetic
INT_NEGATE_OVERFLOW: Integer Type Overflow
INT_NEGATE_RANGE_OVERFLOW: Integer Range Overflow
INT_PROMOTE: Arithmetic Type Conversion
INT_REMAINDER_OVERFLOW: Integer Type Overflow
INT_REMAINDER_RANGE_OVERFLOW: Integer Range Overflow
INT_STRLEN_BOUND: Integer Bounds
INT_SUBTRACT_OK: Checking Integer Overflow
INT_SUBTRACT_OVERFLOW: Integer Type Overflow
INT_SUBTRACT_RANGE_OVERFLOW: Integer Range Overflow
INT_SUBTRACT_WRAPV: Wraparound Arithmetic
invoking gnulib-tool: Invoking gnulib-tool
ioctl: ioctl
ioperm: ioperm
iopl: iopl
isalnum: isalnum
isalnum_l: isalnum_l
isalpha: isalpha
isalpha_l: isalpha_l
isascii: isascii
isastream: isastream
isatty: isatty
isblank: isblank
isblank_l: isblank_l
iscntrl: iscntrl
iscntrl_l: iscntrl_l
isctype: isctype
isdigit: isdigit
isdigit_l: isdigit_l
isfdtype: isfdtype
isfinite: isfinite
isgraph: isgraph
isgraph_l: isgraph_l
isgreater: isgreater
isgreaterequal: isgreaterequal
isinf: isinf
isinff: isinff
isinfl: isinfl
isless: isless
islessequal: islessequal
islessgreater: islessgreater
islower: islower
islower_l: islower_l
isnan: isnan
isnanf: isnanf
isnanl: isnanl
isnormal: isnormal
isprint: isprint
isprint_l: isprint_l
ispunct: ispunct
ispunct_l: ispunct_l
isspace: isspace
isspace_l: isspace_l
isunordered: isunordered
isupper: isupper
isupper_l: isupper_l
iswalnum: iswalnum
iswalnum_l: iswalnum_l
iswalpha: iswalpha
iswalpha_l: iswalpha_l
iswblank: iswblank
iswblank_l: iswblank_l
iswcntrl: iswcntrl
iswcntrl_l: iswcntrl_l
iswctype: iswctype
iswctype_l: iswctype_l
iswdigit: iswdigit
iswdigit_l: iswdigit_l
iswgraph: iswgraph
iswgraph_l: iswgraph_l
iswlower: iswlower
iswlower_l: iswlower_l
iswprint: iswprint
iswprint_l: iswprint_l
iswpunct: iswpunct
iswpunct_l: iswpunct_l
iswspace: iswspace
iswspace_l: iswspace_l
iswupper: iswupper
iswupper_l: iswupper_l
iswxdigit: iswxdigit
iswxdigit_l: iswxdigit_l
isxdigit: isxdigit
isxdigit_l: isxdigit_l

J
j0: j0
j0f: j0f
j0l: j0l
j1: j1
j1f: j1f
j1l: j1l
jn: jn
jnf: jnf
jnl: jnl
jrand48: jrand48
jrand48_r: jrand48_r

K
key_decryptsession: key_decryptsession
key_decryptsession_pk: key_decryptsession_pk
key_encryptsession: key_encryptsession
key_encryptsession_pk: key_encryptsession_pk
key_gendes: key_gendes
key_get_conv: key_get_conv
key_secretkey_is_set: key_secretkey_is_set
key_setsecret: key_setsecret
kill: kill
killpg: killpg
kill_dependency: kill_dependency
klogctl: klogctl

L
l64a: l64a
labs: labs
lchmod: lchmod
lchown: lchown
lckpwdf: lckpwdf
lcong48: lcong48
lcong48_r: lcong48_r
LD DEF files: Visual Studio Compatibility
ldexp: ldexp
ldexpf: ldexpf
ldexpl: ldexpl
ldiv: ldiv
le16toh: le16toh
le32toh: le32toh
le64toh: le64toh
lfind: lfind
lgamma: lgamma
lgammaf: lgammaf
lgammaf_r: lgammaf_r
lgammal: lgammal
lgammal_r: lgammal_r
lgamma_r: lgamma_r
lgetfilecon: lgetfilecon
lgetxattr: lgetxattr
link: link
linkat: linkat
lio_listio: lio_listio
listen: listen
listxattr: listxattr
llabs: llabs
lldiv: lldiv
llistxattr: llistxattr
llogb: llogb
llogbf: llogbf
llogbl: llogbl
llrint: llrint
llrintf: llrintf
llrintl: llrintl
llround: llround
llroundf: llroundf
llroundl: llroundl
loc1: loc1
loc2: loc2
localeconv: localeconv
localtime: localtime
localtime_r: localtime_r
lockf: lockf
locs: locs
log: log
log10: log10
log10f: log10f
log10l: log10l
log10p1: log10p1
log10p1f: log10p1f
log10p1l: log10p1l
log1p: log1p
log1pf: log1pf
log1pl: log1pl
log2: log2
log2f: log2f
log2l: log2l
log2p1: log2p1
log2p1f: log2p1f
log2p1l: log2p1l
logb: logb
logbf: logbf
logbl: logbl
logf: logf
login: login
login_tty: login_tty
logl: logl
logp1: logp1
logp1f: logp1f
logp1l: logp1l
long-running tests modules: Extra tests modules
longjmp: longjmp
lrand48: lrand48
lrand48_r: lrand48_r
lremovexattr: lremovexattr
lrint: lrint
lrintf: lrintf
lrintl: lrintl
lround: lround
lroundf: lroundf
lroundl: lroundl
lsearch: lsearch
lseek: lseek
lsetxattr: lsetxattr
lstat: lstat
lutimes: lutimes

M
madvise: madvise
makecontext: makecontext
mallinfo: mallinfo
mallinfo2: mallinfo2
malloc: malloc
malloc: GNU Regular Expression Compiling
malloc_info: malloc_info
malloc_stats: malloc_stats
malloc_trim: malloc_trim
malloc_usable_size: malloc_usable_size
mallopt: mallopt
matching list: List Operators
matching newline: List Operators
matching with GNU functions: GNU Matching
matherr: matherr
math_errhandling: math_errhandling
mblen: mblen
mbrlen: mbrlen
mbrtoc16: mbrtoc16
mbrtoc32: mbrtoc32
mbrtoc8: mbrtoc8
mbrtowc: mbrtowc
mbsinit: mbsinit
mbsnrtowcs: mbsnrtowcs
mbsrtowcs: mbsrtowcs
mbstowcs: mbstowcs
mbtowc: mbtowc
mcheck: mcheck
mcheck_check_all: mcheck_check_all
mcheck_pedantic: mcheck_pedantic
memalign: memalign
memalignment: memalignment
memccpy: memccpy
memchr: memchr
memcmp: memcmp
memcpy: memcpy
memfd_create: memfd_create
memfrob: memfrob
memmem: memmem
memmove: memmove
Memory allocation failure: Out of memory handling
mempcpy: mempcpy
memrchr: memrchr
memset: memset
memset_explicit: memset_explicit
mincore: mincore
mkdir: mkdir
mkdirat: mkdirat
mkdtemp: mkdtemp
mkfifo: mkfifo
mkfifoat: mkfifoat
mknod: mknod
mknodat: mknodat
mkostemp: mkostemp
mkostemps: mkostemps
mkstemp: mkstemp
mkstemps: mkstemps
mktemp: mktemp
mktime: mktime
mlock: mlock
mlock2: mlock2
mlockall: mlockall
mmap: mmap
modf: modf
modff: modff
modfl: modfl
monstartup: monstartup
mount: mount
mount_setattr: mount_setattr
move_mount: move_mount
mprobe: mprobe
mprotect: mprotect
mq_close: mq_close
mq_getattr: mq_getattr
mq_notify: mq_notify
mq_open: mq_open
mq_receive: mq_receive
mq_send: mq_send
mq_setattr: mq_setattr
mq_timedreceive: mq_timedreceive
mq_timedsend: mq_timedsend
mq_unlink: mq_unlink
mrand48: mrand48
mrand48_r: mrand48_r
mremap: mremap
msgctl: msgctl
msgget: msgget
msgrcv: msgrcv
msgsnd: msgsnd
msync: msync
mtrace: mtrace
mtx_destroy: mtx_destroy
mtx_init: mtx_init
mtx_lock: mtx_lock
mtx_timedlock: mtx_timedlock
mtx_trylock: mtx_trylock
mtx_unlock: mtx_unlock
multibyte locale: C strings
munlock: munlock
munlockall: munlockall
munmap: munmap
muntrace: muntrace

N
name_to_handle_at: name_to_handle_at
nan: nan
nanf: nanf
nanl: nanl
nanosleep: nanosleep
nearbyint: nearbyint
nearbyintf: nearbyintf
nearbyintl: nearbyintl
netname2host: netname2host
netname2user: netname2user
newlocale: newlocale
nextafter: nextafter
nextafterf: nextafterf
nextafterl: nextafterl
nextdown: nextdown
nextdownf: nextdownf
nextdownl: nextdownl
nexttoward: nexttoward
nexttowardf: nexttowardf
nexttowardl: nexttowardl
nextup: nextup
nextupf: nextupf
nextupl: nextupl
nftw: nftw
ngettext: ngettext
ngettext_l: ngettext_l
nice: nice
nis_add: nis_add
nis_addmember: nis_addmember
nis_add_entry: nis_add_entry
nis_checkpoint: nis_checkpoint
nis_clone_object: nis_clone_object
nis_creategroup: nis_creategroup
nis_destroygroup: nis_destroygroup
nis_destroy_object: nis_destroy_object
nis_dir_cmp: nis_dir_cmp
nis_domain_of: nis_domain_of
nis_domain_of_r: nis_domain_of_r
nis_first_entry: nis_first_entry
nis_freenames: nis_freenames
nis_freeresult: nis_freeresult
nis_freeservlist: nis_freeservlist
nis_freetags: nis_freetags
nis_getnames: nis_getnames
nis_getservlist: nis_getservlist
nis_ismember: nis_ismember
nis_leaf_of: nis_leaf_of
nis_leaf_of_r: nis_leaf_of_r
nis_lerror: nis_lerror
nis_list: nis_list
nis_local_directory: nis_local_directory
nis_local_group: nis_local_group
nis_local_host: nis_local_host
nis_local_principal: nis_local_principal
nis_lookup: nis_lookup
nis_mkdir: nis_mkdir
nis_modify: nis_modify
nis_modify_entry: nis_modify_entry
nis_name_of: nis_name_of
nis_name_of_r: nis_name_of_r
nis_next_entry: nis_next_entry
nis_perror: nis_perror
nis_ping: nis_ping
nis_print_directory: nis_print_directory
nis_print_entry: nis_print_entry
nis_print_group: nis_print_group
nis_print_group_entry: nis_print_group_entry
nis_print_link: nis_print_link
nis_print_object: nis_print_object
nis_print_result: nis_print_result
nis_print_rights: nis_print_rights
nis_print_table: nis_print_table
nis_remove: nis_remove
nis_removemember: nis_removemember
nis_remove_entry: nis_remove_entry
nis_rmdir: nis_rmdir
nis_servstate: nis_servstate
nis_sperrno: nis_sperrno
nis_sperror: nis_sperror
nis_sperror_r: nis_sperror_r
nis_stats: nis_stats
nis_verifygroup: nis_verifygroup
nl_langinfo: nl_langinfo
nl_langinfo_l: nl_langinfo_l
nonmatching list: List Operators
not_bol field in pattern buffer: Match-beginning-of-line Operator
nrand48: nrand48
nrand48_r: nrand48_r
ns_name_compress: ns_name_compress
ns_name_ntop: ns_name_ntop
ns_name_pack: ns_name_pack
ns_name_pton: ns_name_pton
ns_name_skip: ns_name_skip
ns_name_uncompress: ns_name_uncompress
ns_name_unpack: ns_name_unpack
ntohl: ntohl
ntohs: ntohs
ntp_adjtime: ntp_adjtime
ntp_gettime: ntp_gettime
ntp_gettimex: ntp_gettimex
null pointer: nullptr
null pointer type: stddef.h
num_regs in struct re_registers: Using Registers

O
Obsolete modules: Obsolete modules
obstack_alloc_failed_handler: obstack_alloc_failed_handler
obstack_exit_failure: obstack_exit_failure
obstack_free: obstack_free
obstack_printf: obstack_printf
obstack_vprintf: obstack_vprintf
on_exit: on_exit
open: open
open-group operator and ‘^: Match-beginning-of-line Operator
openat: openat
opendir: opendir
openlog: openlog
openpty: openpty
open_by_handle_at: open_by_handle_at
open_memstream: open_memstream
open_tree: open_tree
open_wmemstream: open_wmemstream
optarg: optarg
opterr: opterr
optind: optind
optopt: optopt
or operator: Alternation Operator
Out of Memory handling: Out of memory handling
overflow, integer: Integer Properties
overflow, integer range: Integer Range Overflow
overflow, integer type: Integer Type Overflow

P
parenthesizing: Grouping Operators
parse_printf_format: parse_printf_format
pathconf: pathconf
pattern buffer initialization: GNU Regular Expression Compiling
pattern buffer, definition of: GNU Pattern Buffers
pause: pause
pclose: pclose
perror: perror
personality: personality
pidfd_getfd: pidfd_getfd
pidfd_getpid: pidfd_getpid
pidfd_open: pidfd_open
pidfd_send_signal: pidfd_send_signal
pidfd_spawn: pidfd_spawn
pidfd_spawnp: pidfd_spawnp
pipe: pipe
pipe2: pipe2
pkey_alloc: pkey_alloc
pkey_free: pkey_free
pkey_get: pkey_get
pkey_mprotect: pkey_mprotect
pkey_set: pkey_set
pmap_getmaps: pmap_getmaps
pmap_getport: pmap_getport
pmap_rmtcall: pmap_rmtcall
pmap_set: pmap_set
pmap_unset: pmap_unset
poll: poll
popen: popen
portability, integer arithmetic: Unsupported Platforms
POSIX Awk: Predefined Syntaxes
posix_close: posix_close
posix_devctl: posix_devctl
posix_fadvise: posix_fadvise
posix_fallocate: posix_fallocate
posix_getdents: posix_getdents
posix_madvise: posix_madvise
posix_memalign: posix_memalign
posix_mem_offset: posix_mem_offset
posix_openpt: posix_openpt
posix_spawn: posix_spawn
posix_spawnattr_destroy: posix_spawnattr_destroy
posix_spawnattr_getcgroup_np: posix_spawnattr_getcgroup_np
posix_spawnattr_getflags: posix_spawnattr_getflags
posix_spawnattr_getpgroup: posix_spawnattr_getpgroup
posix_spawnattr_getschedparam: posix_spawnattr_getschedparam
posix_spawnattr_getschedpolicy: posix_spawnattr_getschedpolicy
posix_spawnattr_getsigdefault: posix_spawnattr_getsigdefault
posix_spawnattr_getsigmask: posix_spawnattr_getsigmask
posix_spawnattr_init: posix_spawnattr_init
posix_spawnattr_setcgroup_np: posix_spawnattr_setcgroup_np
posix_spawnattr_setflags: posix_spawnattr_setflags
posix_spawnattr_setpgroup: posix_spawnattr_setpgroup
posix_spawnattr_setschedparam: posix_spawnattr_setschedparam
posix_spawnattr_setschedpolicy: posix_spawnattr_setschedpolicy
posix_spawnattr_setsigdefault: posix_spawnattr_setsigdefault
posix_spawnattr_setsigmask: posix_spawnattr_setsigmask
posix_spawnp: posix_spawnp
posix_spawn_file_actions_addchdir: posix_spawn_file_actions_addchdir
posix_spawn_file_actions_addchdir_np: posix_spawn_file_actions_addchdir_np
posix_spawn_file_actions_addclose: posix_spawn_file_actions_addclose
posix_spawn_file_actions_addclosefrom_np: posix_spawn_file_actions_addclosefrom_np
posix_spawn_file_actions_adddup2: posix_spawn_file_actions_adddup2
posix_spawn_file_actions_addfchdir: posix_spawn_file_actions_addfchdir
posix_spawn_file_actions_addfchdir_np: posix_spawn_file_actions_addfchdir_np
posix_spawn_file_actions_addopen: posix_spawn_file_actions_addopen
posix_spawn_file_actions_addtcsetpgrp_np: posix_spawn_file_actions_addtcsetpgrp_np
posix_spawn_file_actions_destroy: posix_spawn_file_actions_destroy
posix_spawn_file_actions_init: posix_spawn_file_actions_init
posix_trace_attr_destroy: posix_trace_attr_destroy
posix_trace_attr_getclockres: posix_trace_attr_getclockres
posix_trace_attr_getcreatetime: posix_trace_attr_getcreatetime
posix_trace_attr_getgenversion: posix_trace_attr_getgenversion
posix_trace_attr_getinherited: posix_trace_attr_getinherited
posix_trace_attr_getlogfullpolicy: posix_trace_attr_getlogfullpolicy
posix_trace_attr_getlogsize: posix_trace_attr_getlogsize
posix_trace_attr_getmaxdatasize: posix_trace_attr_getmaxdatasize
posix_trace_attr_getmaxsystemeventsize: posix_trace_attr_getmaxsystemeventsize
posix_trace_attr_getmaxusereventsize: posix_trace_attr_getmaxusereventsize
posix_trace_attr_getname: posix_trace_attr_getname
posix_trace_attr_getstreamfullpolicy: posix_trace_attr_getstreamfullpolicy
posix_trace_attr_getstreamsize: posix_trace_attr_getstreamsize
posix_trace_attr_init: posix_trace_attr_init
posix_trace_attr_setinherited: posix_trace_attr_setinherited
posix_trace_attr_setlogfullpolicy: posix_trace_attr_setlogfullpolicy
posix_trace_attr_setlogsize: posix_trace_attr_setlogsize
posix_trace_attr_setmaxdatasize: posix_trace_attr_setmaxdatasize
posix_trace_attr_setname: posix_trace_attr_setname
posix_trace_attr_setstreamfullpolicy: posix_trace_attr_setstreamfullpolicy
posix_trace_attr_setstreamsize: posix_trace_attr_setstreamsize
posix_trace_clear: posix_trace_clear
posix_trace_close: posix_trace_close
posix_trace_create: posix_trace_create
posix_trace_create_withlog: posix_trace_create_withlog
posix_trace_event: posix_trace_event
posix_trace_eventid_equal: posix_trace_eventid_equal
posix_trace_eventid_get_name: posix_trace_eventid_get_name
posix_trace_eventid_open: posix_trace_eventid_open
posix_trace_eventset_add: posix_trace_eventset_add
posix_trace_eventset_del: posix_trace_eventset_del
posix_trace_eventset_empty: posix_trace_eventset_empty
posix_trace_eventset_fill: posix_trace_eventset_fill
posix_trace_eventset_ismember: posix_trace_eventset_ismember
posix_trace_eventtypelist_getnext_id: posix_trace_eventtypelist_getnext_id
posix_trace_eventtypelist_rewind: posix_trace_eventtypelist_rewind
posix_trace_flush: posix_trace_flush
posix_trace_getnext_event: posix_trace_getnext_event
posix_trace_get_attr: posix_trace_get_attr
posix_trace_get_filter: posix_trace_get_filter
posix_trace_get_status: posix_trace_get_status
posix_trace_open: posix_trace_open
posix_trace_rewind: posix_trace_rewind
posix_trace_set_filter: posix_trace_set_filter
posix_trace_shutdown: posix_trace_shutdown
posix_trace_start: posix_trace_start
posix_trace_stop: posix_trace_stop
posix_trace_timedgetnext_event: posix_trace_timedgetnext_event
posix_trace_trid_eventid_open: posix_trace_trid_eventid_open
posix_trace_trygetnext_event: posix_trace_trygetnext_event
posix_typed_mem_get_info: posix_typed_mem_get_info
posix_typed_mem_open: posix_typed_mem_open
pow: pow
pow10: pow10
pow10f: pow10f
pow10l: pow10l
powf: powf
powl: powl
pown: pown
pownf: pownf
pownl: pownl
powr: powr
powrf: powrf
powrl: powrl
ppoll: ppoll
prctl: prctl
pread: pread
preadv: preadv
preadv2: preadv2
printf: printf
printf_size: printf_size
printf_size_info: printf_size_info
privileged tests modules: Extra tests modules
prlimit: prlimit
process_madvise: process_madvise
process_mrelease: process_mrelease
process_vm_readv: process_vm_readv
process_vm_writev: process_vm_writev
profil: profil
program_invocation_name: program_invocation_name
program_invocation_short_name: program_invocation_short_name
program_name: progname and getprogname
pselect: pselect
psiginfo: psiginfo
psignal: psignal
pthread_atfork: pthread_atfork
pthread_attr_destroy: pthread_attr_destroy
pthread_attr_getaffinity_np: pthread_attr_getaffinity_np
pthread_attr_getdetachstate: pthread_attr_getdetachstate
pthread_attr_getguardsize: pthread_attr_getguardsize
pthread_attr_getinheritsched: pthread_attr_getinheritsched
pthread_attr_getschedparam: pthread_attr_getschedparam
pthread_attr_getschedpolicy: pthread_attr_getschedpolicy
pthread_attr_getscope: pthread_attr_getscope
pthread_attr_getsigmask_np: pthread_attr_getsigmask_np
pthread_attr_getstack: pthread_attr_getstack
pthread_attr_getstackaddr: pthread_attr_getstackaddr
pthread_attr_getstacksize: pthread_attr_getstacksize
pthread_attr_init: pthread_attr_init
pthread_attr_setaffinity_np: pthread_attr_setaffinity_np
pthread_attr_setdetachstate: pthread_attr_setdetachstate
pthread_attr_setguardsize: pthread_attr_setguardsize
pthread_attr_setinheritsched: pthread_attr_setinheritsched
pthread_attr_setschedparam: pthread_attr_setschedparam
pthread_attr_setschedpolicy: pthread_attr_setschedpolicy
pthread_attr_setscope: pthread_attr_setscope
pthread_attr_setsigmask_np: pthread_attr_setsigmask_np
pthread_attr_setstack: pthread_attr_setstack
pthread_attr_setstackaddr: pthread_attr_setstackaddr
pthread_attr_setstacksize: pthread_attr_setstacksize
pthread_barrierattr_destroy: pthread_barrierattr_destroy
pthread_barrierattr_getpshared: pthread_barrierattr_getpshared
pthread_barrierattr_init: pthread_barrierattr_init
pthread_barrierattr_setpshared: pthread_barrierattr_setpshared
pthread_barrier_destroy: pthread_barrier_destroy
pthread_barrier_init: pthread_barrier_init
pthread_barrier_wait: pthread_barrier_wait
pthread_cancel: pthread_cancel
pthread_cleanup_pop: pthread_cleanup_pop
pthread_cleanup_push: pthread_cleanup_push
pthread_clockjoin_np: pthread_clockjoin_np
pthread_condattr_destroy: pthread_condattr_destroy
pthread_condattr_getclock: pthread_condattr_getclock
pthread_condattr_getpshared: pthread_condattr_getpshared
pthread_condattr_init: pthread_condattr_init
pthread_condattr_setclock: pthread_condattr_setclock
pthread_condattr_setpshared: pthread_condattr_setpshared
pthread_cond_broadcast: pthread_cond_broadcast
pthread_cond_clockwait: pthread_cond_clockwait
pthread_cond_destroy: pthread_cond_destroy
pthread_cond_init: pthread_cond_init
pthread_cond_signal: pthread_cond_signal
pthread_cond_timedwait: pthread_cond_timedwait
pthread_cond_wait: pthread_cond_wait
pthread_create: pthread_create
pthread_detach: pthread_detach
pthread_equal: pthread_equal
pthread_exit: pthread_exit
pthread_getaffinity_np: pthread_getaffinity_np
pthread_getattr_default_np: pthread_getattr_default_np
pthread_getattr_np: pthread_getattr_np
pthread_getconcurrency: pthread_getconcurrency
pthread_getcpuclockid: pthread_getcpuclockid
pthread_getname_np: pthread_getname_np
pthread_getschedparam: pthread_getschedparam
pthread_getspecific: pthread_getspecific
pthread_gettid_np: pthread_gettid_np
pthread_join: pthread_join
pthread_key_create: pthread_key_create
pthread_key_delete: pthread_key_delete
pthread_kill: pthread_kill
pthread_kill_other_threads_np: pthread_kill_other_threads_np
pthread_mutexattr_destroy: pthread_mutexattr_destroy
pthread_mutexattr_getprioceiling: pthread_mutexattr_getprioceiling
pthread_mutexattr_getprotocol: pthread_mutexattr_getprotocol
pthread_mutexattr_getpshared: pthread_mutexattr_getpshared
pthread_mutexattr_getrobust: pthread_mutexattr_getrobust
pthread_mutexattr_gettype: pthread_mutexattr_gettype
pthread_mutexattr_init: pthread_mutexattr_init
pthread_mutexattr_setprioceiling: pthread_mutexattr_setprioceiling
pthread_mutexattr_setprotocol: pthread_mutexattr_setprotocol
pthread_mutexattr_setpshared: pthread_mutexattr_setpshared
pthread_mutexattr_setrobust: pthread_mutexattr_setrobust
pthread_mutexattr_settype: pthread_mutexattr_settype
pthread_mutex_clocklock: pthread_mutex_clocklock
pthread_mutex_consistent: pthread_mutex_consistent
pthread_mutex_destroy: pthread_mutex_destroy
pthread_mutex_getprioceiling: pthread_mutex_getprioceiling
pthread_mutex_init: pthread_mutex_init
pthread_mutex_lock: pthread_mutex_lock
pthread_mutex_setprioceiling: pthread_mutex_setprioceiling
pthread_mutex_timedlock: pthread_mutex_timedlock
pthread_mutex_trylock: pthread_mutex_trylock
pthread_mutex_unlock: pthread_mutex_unlock
pthread_once: pthread_once
pthread_rwlockattr_destroy: pthread_rwlockattr_destroy
pthread_rwlockattr_getkind_np: pthread_rwlockattr_getkind_np
pthread_rwlockattr_getpshared: pthread_rwlockattr_getpshared
pthread_rwlockattr_init: pthread_rwlockattr_init
pthread_rwlockattr_setkind_np: pthread_rwlockattr_setkind_np
pthread_rwlockattr_setpshared: pthread_rwlockattr_setpshared
pthread_rwlock_clockrdlock: pthread_rwlock_clockrdlock
pthread_rwlock_clockwrlock: pthread_rwlock_clockwrlock
pthread_rwlock_destroy: pthread_rwlock_destroy
pthread_rwlock_init: pthread_rwlock_init
pthread_rwlock_rdlock: pthread_rwlock_rdlock
pthread_rwlock_timedrdlock: pthread_rwlock_timedrdlock
pthread_rwlock_timedwrlock: pthread_rwlock_timedwrlock
pthread_rwlock_tryrdlock: pthread_rwlock_tryrdlock
pthread_rwlock_trywrlock: pthread_rwlock_trywrlock
pthread_rwlock_unlock: pthread_rwlock_unlock
pthread_rwlock_wrlock: pthread_rwlock_wrlock
pthread_self: pthread_self
pthread_setaffinity_np: pthread_setaffinity_np
pthread_setattr_default_np: pthread_setattr_default_np
pthread_setcancelstate: pthread_setcancelstate
pthread_setcanceltype: pthread_setcanceltype
pthread_setconcurrency: pthread_setconcurrency
pthread_setname_np: pthread_setname_np
pthread_setschedparam: pthread_setschedparam
pthread_setschedprio: pthread_setschedprio
pthread_setspecific: pthread_setspecific
pthread_sigmask: pthread_sigmask
pthread_sigqueue: pthread_sigqueue
pthread_spin_destroy: pthread_spin_destroy
pthread_spin_init: pthread_spin_init
pthread_spin_lock: pthread_spin_lock
pthread_spin_trylock: pthread_spin_trylock
pthread_spin_unlock: pthread_spin_unlock
pthread_testcancel: pthread_testcancel
pthread_timedjoin_np: pthread_timedjoin_np
pthread_tryjoin_np: pthread_tryjoin_np
ptrace: ptrace
ptsname: ptsname
ptsname_r: ptsname_r
putc: putc
putchar: putchar
putchar_unlocked: putchar_unlocked
putc_unlocked: putc_unlocked
putenv: putenv
putgrent: putgrent
putmsg: putmsg
putpmsg: putpmsg
putpwent: putpwent
puts: puts
putsgent: putsgent
putspent: putspent
pututline: pututline
pututxline: pututxline
putw: putw
putwc: putwc
putwchar: putwchar
putwchar_unlocked: putwchar_unlocked
putwc_unlocked: putwc_unlocked
pvalloc: pvalloc
pwrite: pwrite
pwritev: pwritev
pwritev2: pwritev2

Q
qecvt: qecvt
qecvt_r: qecvt_r
qfcvt: qfcvt
qfcvt_r: qfcvt_r
qgcvt: qgcvt
qsort: qsort
qsort_r: qsort_r
quick_exit: quick_exit
quotactl: quotactl
quote: Quoting
quotearg: Quoting
quotearg_alloc: Quoting
quote_n: Quoting
Quoting: Quoting

R
raise: raise
rand: rand
random: random
random_r: random_r
rand_r: rand_r
range argument to re_search: GNU Searching
rawmemchr: rawmemchr
rcmd: rcmd
rcmd_af: rcmd_af
read: read
readahead: readahead
readdir: readdir
readdir_r: readdir_r
readlink: readlink
readlinkat: readlinkat
readv: readv
realloc: realloc
reallocarray: reallocarray
realpath: realpath
reboot: reboot
recv: recv
recvfrom: recvfrom
recvmmsg: recvmmsg
recvmsg: recvmsg
regcomp: regcomp
regerror: regerror
regex.h: Overview
regexec: regexec
regexp anchoring: Anchoring Operators
regfree: regfree
regfree: Freeing GNU Pattern Buffers
register_printf_function: register_printf_function
register_printf_modifier: register_printf_modifier
register_printf_specifier: register_printf_specifier
register_printf_type: register_printf_type
regular expressions, syntax of: Regular Expression Syntax
remainder: remainder
remainderf: remainderf
remainderl: remainderl
remap_file_pages: remap_file_pages
remove: remove
removexattr: removexattr
remque: remque
remquo: remquo
remquof: remquof
remquol: remquol
rename: rename
renameat: renameat
renameat2: renameat2
res_dnok: res_dnok
res_hnok: res_hnok
res_init: res_init
res_mailok: res_mailok
res_mkquery: res_mkquery
res_nmkquery: res_nmkquery
res_nquery: res_nquery
res_nquerydomain: res_nquerydomain
res_nsearch: res_nsearch
res_nsend: res_nsend
res_ownok: res_ownok
res_query: res_query
res_querydomain: res_querydomain
res_search: res_search
res_send: res_send
revoke: revoke
rewind: rewind
rewinddir: rewinddir
rexec: rexec
rexec_af: rexec_af
RE_BACKSLASH_ESCAPE_IN_LIST: Syntax Bits
RE_BK_PLUS_QM: Syntax Bits
RE_CHAR_CLASSES: Syntax Bits
re_comp: re_comp
re_comp: BSD Regular Expression Compiling
re_compile_fastmap: re_compile_fastmap
re_compile_fastmap: Searching with Fastmaps
re_compile_pattern: re_compile_pattern
re_compile_pattern: GNU Regular Expression Compiling
RE_CONTEXT_INDEP_ANCHORS: Syntax Bits
RE_CONTEXT_INDEP_ANCHORS (and ‘^’): Match-beginning-of-line Operator
RE_CONTEXT_INDEP_OPS: Syntax Bits
RE_CONTEXT_INVALID_DUP: Syntax Bits
RE_CONTEXT_INVALID_OPS: Syntax Bits
RE_DEBUG: Syntax Bits
RE_DOT_NEWLINE: Syntax Bits
RE_DOT_NOT_NULL: Syntax Bits
re_exec: re_exec
re_exec: BSD Searching
RE_HAT_LISTS_NOT_NEWLINE: Syntax Bits
RE_ICASE: Syntax Bits
RE_INTERVALS: Syntax Bits
RE_INVALID_INTERVAL_ORD: Syntax Bits
RE_LIMITED_OPS: Syntax Bits
re_match: re_match
re_match: GNU Matching
re_match_2: re_match_2
re_match_2: Matching/Searching with Split Data
RE_NEWLINE_ALT: Syntax Bits
RE_NO_BK_BRACES: Syntax Bits
RE_NO_BK_PARENS: Syntax Bits
RE_NO_BK_REFS: Syntax Bits
RE_NO_BK_VBAR: Syntax Bits
RE_NO_EMPTY_RANGES: Syntax Bits
RE_NO_GNU_OPS: Syntax Bits
RE_NO_POSIX_BACKTRACKING: Syntax Bits
RE_NO_SUB: Syntax Bits
re_nsub field, set by re_compile_pattern: GNU Regular Expression Compiling
re_pattern_buffer definition: GNU Pattern Buffers
re_registers: Using Registers
re_search: re_search
re_search: GNU Searching
re_search_2: re_search_2
re_search_2: Matching/Searching with Split Data
re_set_registers: re_set_registers
re_set_registers: Using Registers
re_set_syntax: re_set_syntax
re_syntax_options: re_syntax_options
re_syntax_options initialization: GNU Regular Expression Compiling
RE_UNMATCHED_RIGHT_PAREN_ORD: Syntax Bits
rindex: rindex
rint: rint
rintf: rintf
rintl: rintl
rmdir: rmdir
rootn: rootn
rootnf: rootnf
rootnl: rootnl
round: round
roundeven: roundeven
roundevenf: roundevenf
roundevenl: roundevenl
roundf: roundf
roundl: roundl
rpc_createerr: rpc_createerr
rpmatch: rpmatch
rresvport: rresvport
rresvport_af: rresvport_af
rsqrt: rsqrt
rsqrtf: rsqrtf
rsqrtl: rsqrtl
rtime: rtime
ruserok: ruserok
ruserok_af: ruserok_af

S
sbrk: sbrk
scalb: scalb
scalbf: scalbf
scalbl: scalbl
scalbln: scalbln
scalblnf: scalblnf
scalblnl: scalblnl
scalbn: scalbn
scalbnf: scalbnf
scalbnl: scalbnl
scandir: scandir
scandirat: scandirat
scanf: scanf
sched_getaffinity: sched_getaffinity
sched_getattr: sched_getattr
sched_getcpu: sched_getcpu
sched_getparam: sched_getparam
sched_getscheduler: sched_getscheduler
sched_get_priority_max: sched_get_priority_max
sched_get_priority_min: sched_get_priority_min
sched_rr_get_interval: sched_rr_get_interval
sched_setaffinity: sched_setaffinity
sched_setattr: sched_setattr
sched_setparam: sched_setparam
sched_setscheduler: sched_setscheduler
sched_yield: sched_yield
searching with GNU functions: GNU Searching
secure_getenv: secure_getenv
seed48: seed48
seed48_r: seed48_r
seekdir: seekdir
select: select
semctl: semctl
semget: semget
semop: semop
semtimedop: semtimedop
sem_clockwait: sem_clockwait
sem_close: sem_close
sem_destroy: sem_destroy
sem_getvalue: sem_getvalue
sem_init: sem_init
sem_open: sem_open
sem_post: sem_post
sem_timedwait: sem_timedwait
sem_trywait: sem_trywait
sem_unlink: sem_unlink
sem_wait: sem_wait
send: send
sendfile: sendfile
sendmmsg: sendmmsg
sendmsg: sendmsg
sendto: sendto
setaliasent: setaliasent
setbuf: setbuf
setbuffer: setbuffer
setcontext: setcontext
setdomainname: setdomainname
setegid: setegid
setenv: setenv
seteuid: seteuid
setfsent: setfsent
setfsgid: setfsgid
setfsuid: setfsuid
setgid: setgid
setgrent: setgrent
setgroups: setgroups
sethostent: sethostent
sethostid: sethostid
sethostname: sethostname
setipv4sourcefilter: setipv4sourcefilter
setitimer: setitimer
setjmp: setjmp
setkey: setkey
setlinebuf: setlinebuf
setlocale: setlocale
setlogin: setlogin
setlogmask: setlogmask
setmntent: setmntent
setnetent: setnetent
setnetgrent: setnetgrent
setns: setns
setpayload: setpayload
setpayloadf: setpayloadf
setpayloadl: setpayloadl
setpayloadsig: setpayloadsig
setpayloadsigf: setpayloadsigf
setpayloadsigl: setpayloadsigl
setpgid: setpgid
setpgrp: setpgrp
setpriority: setpriority
setprotoent: setprotoent
setpwent: setpwent
setregid: setregid
setresgid: setresgid
setresuid: setresuid
setreuid: setreuid
setrlimit: setrlimit
setrpcent: setrpcent
setservent: setservent
setsgent: setsgent
setsid: setsid
setsockopt: setsockopt
setsourcefilter: setsourcefilter
setspent: setspent
setstate: setstate
setstate_r: setstate_r
settimeofday: settimeofday
setttyent: setttyent
setuid: setuid
setusershell: setusershell
setutent: setutent
setutxent: setutxent
setvbuf: setvbuf
setxattr: setxattr
sgetsgent: sgetsgent
sgetsgent_r: sgetsgent_r
sgetspent: sgetspent
sgetspent_r: sgetspent_r
shmat: shmat
shmctl: shmctl
shmdt: shmdt
shmget: shmget
shm_open: shm_open
shm_unlink: shm_unlink
shutdown: shutdown
sig2str: sig2str
sigabbrev_np: sigabbrev_np
sigaction: sigaction
sigaddset: sigaddset
sigaltstack: sigaltstack
sigandset: sigandset
sigblock: sigblock
sigdelset: sigdelset
sigdescr_np: sigdescr_np
sigemptyset: sigemptyset
sigfillset: sigfillset
siggetmask: siggetmask
sighold: sighold
sigignore: sigignore
siginterrupt: siginterrupt
sigisemptyset: sigisemptyset
sigismember: sigismember
siglongjmp: siglongjmp
signal: signal
signalfd: signalfd
signbit: signbit
signgam: signgam
significand: significand
significandf: significandf
significandl: significandl
sigorset: sigorset
sigpause: sigpause
sigpending: sigpending
sigprocmask: sigprocmask
sigqueue: sigqueue
sigrelse: sigrelse
sigreturn: sigreturn
sigset: sigset
sigsetjmp: sigsetjmp
sigsetmask: sigsetmask
sigstack: sigstack
sigsuspend: sigsuspend
sigtimedwait: sigtimedwait
sigvec: sigvec
sigwait: sigwait
sigwaitinfo: sigwaitinfo
sin: sin
sincos: sincos
sincosf: sincosf
sincosl: sincosl
sinf: sinf
sinh: sinh
sinhf: sinhf
sinhl: sinhl
sinl: sinl
sinpi: sinpi
sinpif: sinpif
sinpil: sinpil
sleep: sleep
snprintf: snprintf
sockatmark: sockatmark
socket: socket
socketpair: socketpair
specification: Specification
sprintf: sprintf
sprofil: sprofil
sqrt: sqrt
sqrtf: sqrtf
sqrtl: sqrtl
srand: srand
srand48: srand48
srand48_r: srand48_r
srandom: srandom
srandom_r: srandom_r
sscanf: sscanf
ssignal: ssignal
start argument to re_search: GNU Searching
start in struct re_registers: Using Registers
stat: stat
statfs: statfs
static inline: static inline
statvfs: statvfs
statx: statx
stdc_bit_ceil: stdc_bit_ceil
stdc_bit_floor: stdc_bit_floor
stdc_bit_width: stdc_bit_width
stdc_count_ones: stdc_count_ones
stdc_count_zeros: stdc_count_zeros
stdc_first_leading_one: stdc_first_leading_one
stdc_first_leading_zero: stdc_first_leading_zero
stdc_first_trailing_one: stdc_first_trailing_one
stdc_first_trailing_zero: stdc_first_trailing_zero
stdc_has_single_bit: stdc_has_single_bit
stdc_leading_ones: stdc_leading_ones
stdc_leading_zeros: stdc_leading_zeros
stdc_trailing_ones: stdc_trailing_ones
stdc_trailing_zeros: stdc_trailing_zeros
stderr: stderr
stdin: stdin
stdopen: Closed standard fds
stdout: stdout
step: step
stime: stime
stpcpy: stpcpy
stpncpy: stpncpy
STP_BLKSIZE: stat-size
STP_NBLOCKS: stat-size
str2sig: str2sig
strcasecmp: strcasecmp
strcasecmp_l: strcasecmp_l
strcasestr: strcasestr
strcat: strcat
strchr: strchr
strchrnul: strchrnul
strcmp: strcmp
strcoll: strcoll
strcoll_l: strcoll_l
strcpy: strcpy
strcspn: strcspn
strdup: strdup
strerror: strerror
strerrordesc_np: strerrordesc_np
strerrorname_np: strerrorname_np
strerror_l: strerror_l
strerror_r: strerror_r
strfmon: strfmon
strfmon_l: strfmon_l
strfromd: strfromd
strfromf: strfromf
strfroml: strfroml
strfry: strfry
strftime: strftime
strftime_l: strftime_l
strlcat: strlcat
strlcpy: strlcpy
strlen: strlen
strncasecmp: strncasecmp
strncasecmp_l: strncasecmp_l
strncat: strncat
strncmp: strncmp
strncpy: strncpy
strndup: strndup
strnlen: strnlen
strpbrk: strpbrk
strptime: strptime
strptime_l: strptime_l
strrchr: strrchr
strsep: strsep
strsignal: strsignal
strspn: strspn
strstr: strstr
strtod: strtod
strtod_l: strtod_l
strtof: strtof
strtof_l: strtof_l
strtoimax: strtoimax
strtok: strtok
strtok_r: strtok_r
strtol: strtol
strtold: strtold
strtold_l: strtold_l
strtoll: strtoll
strtoll_l: strtoll_l
strtol_l: strtol_l
strtoq: strtoq
strtoul: strtoul
strtoull: strtoull
strtoull_l: strtoull_l
strtoul_l: strtoul_l
strtoumax: strtoumax
strtouq: strtouq
struct re_pattern_buffer definition: GNU Pattern Buffers
strverscmp: strverscmp
strxfrm: strxfrm
strxfrm_l: strxfrm_l
ST_BLKSIZE: stat-size
ST_NBLOCKS: stat-size
ST_NBLOCKSIZE: stat-size
subexpressions: Grouping Operators
supply chain attacks: Other source code libraries
svcerr_auth: svcerr_auth
svcerr_decode: svcerr_decode
svcerr_noproc: svcerr_noproc
svcerr_noprog: svcerr_noprog
svcerr_progvers: svcerr_progvers
svcerr_systemerr: svcerr_systemerr
svcerr_weakauth: svcerr_weakauth
svcraw_create: svcraw_create
svctcp_create: svctcp_create
svcudp_bufcreate: svcudp_bufcreate
svcudp_create: svcudp_create
svcunix_create: svcunix_create
svc_exit: svc_exit
svc_fdset: svc_fdset
svc_getreq: svc_getreq
svc_getreqset: svc_getreqset
svc_getreq_common: svc_getreq_common
svc_getreq_poll: svc_getreq_poll
svc_max_pollfd: svc_max_pollfd
svc_pollfd: svc_pollfd
svc_register: svc_register
svc_run: svc_run
svc_sendreply: svc_sendreply
svc_unregister: svc_unregister
swab: swab
swapcontext: swapcontext
swapoff: swapoff
swapon: swapon
swprintf: swprintf
swscanf: swscanf
symlink: symlink
symlinkat: symlinkat
sync: sync
syncfs: syncfs
sync_file_range: sync_file_range
syntax bits: Syntax Bits
syntax field, set by re_compile_pattern: GNU Regular Expression Compiling
syntax initialization: GNU Regular Expression Compiling
syntax of regular expressions: Regular Expression Syntax
syscall: syscall
sysconf: sysconf
sysctl: sysctl
sysinfo: sysinfo
syslog: syslog
system: system
sysv_signal: sysv_signal
sys_errlist: sys_errlist
sys_nerr: sys_nerr
sys_siglist: sys_siglist

T
tan: tan
tanf: tanf
tanh: tanh
tanhf: tanhf
tanhl: tanhl
tanl: tanl
tanpi: tanpi
tanpif: tanpif
tanpil: tanpil
tcdrain: tcdrain
tcflow: tcflow
tcflush: tcflush
tcgetattr: tcgetattr
tcgetpgrp: tcgetpgrp
tcgetsid: tcgetsid
tcgetwinsize: tcgetwinsize
tcsendbreak: tcsendbreak
tcsetattr: tcsetattr
tcsetpgrp: tcsetpgrp
tcsetwinsize: tcsetwinsize
tdelete: tdelete
tdestroy: tdestroy
telldir: telldir
tempnam: tempnam
tests modules, C++: Extra tests modules
tests modules, long-running: Extra tests modules
tests modules, privileged: Extra tests modules
tests modules, unportable: Extra tests modules
textdomain: textdomain
tfind: tfind
tgamma: tgamma
tgammaf: tgammaf
tgammal: tgammal
tgkill: tgkill
thrd_create: thrd_create
thrd_current: thrd_current
thrd_detach: thrd_detach
thrd_equal: thrd_equal
thrd_exit: thrd_exit
thrd_join: thrd_join
thrd_sleep: thrd_sleep
thrd_yield: thrd_yield
time: time
timegm: timegm
timelocal: timelocal
timerfd_create: timerfd_create
timerfd_gettime: timerfd_gettime
timerfd_settime: timerfd_settime
timer_create: timer_create
timer_delete: timer_delete
timer_getoverrun: timer_getoverrun
timer_gettime: timer_gettime
timer_settime: timer_settime
times: times
timespec_get: timespec_get
timespec_getres: timespec_getres
timezone: timezone
tmpfile: tmpfile
tmpnam: tmpnam
tmpnam_r: tmpnam_r
toascii: toascii
tolower: tolower
tolower_l: tolower_l
totalorder: totalorder
totalorderf: totalorderf
totalorderl: totalorderl
totalordermag: totalordermag
totalordermagf: totalordermagf
totalordermagl: totalordermagl
toupper: toupper
toupper_l: toupper_l
towctrans: towctrans
towctrans_l: towctrans_l
towlower: towlower
towlower_l: towlower_l
towupper: towupper
towupper_l: towupper_l
translate initialization: GNU Regular Expression Compiling
trunc: trunc
truncate: truncate
truncf: truncf
truncl: truncl
tsearch: tsearch
tss_create: tss_create
tss_delete: tss_delete
tss_get: tss_get
tss_set: tss_set
ttyname: ttyname
ttyname_r: ttyname_r
ttyslot: ttyslot
twalk: twalk
twalk_r: twalk_r
type conversion, arithmetic: Arithmetic Type Conversion
TYPE_IS_INTEGER: Arithmetic Type Properties
TYPE_MAXIMUM: Integer Bounds
TYPE_MINIMUM: Integer Bounds
TYPE_SIGNED: Arithmetic Type Properties
tzname: tzname
tzset: tzset

U
uabs: uabs
ualarm: ualarm
ufromfp: ufromfp
ufromfpf: ufromfpf
ufromfpl: ufromfpl
ufromfpx: ufromfpx
ufromfpxf: ufromfpxf
ufromfpxl: ufromfpxl
uimaxabs: uimaxabs
ulabs: ulabs
ulckpwdf: ulckpwdf
ulimit: ulimit
ullabs: ullabs
umask: umask
umount: umount
umount2: umount2
uname: uname
ungetc: ungetc
ungetwc: ungetwc
unibyte locale: C strings
unlink: unlink
unlinkat: unlinkat
unlockpt: unlockpt
unportable tests modules: Extra tests modules
unsetenv: unsetenv
updwtmp: updwtmp
updwtmpx: updwtmpx
uselocale: uselocale
user2netname: user2netname
usleep: usleep
ustat: ustat
utime: utime
utimensat: utimensat
utimes: utimes
utmpname: utmpname
utmpxname: utmpxname

V
valgrind: Running self-tests under valgrind
valloc: valloc
vasprintf: vasprintf
va_arg: va_arg
va_copy: va_copy
va_end: va_end
va_start: va_start
VCS To ChangeLog: VCS To ChangeLog
vdprintf: vdprintf
verify: Compile-time Assertions
verify_expr: Compile-time Assertions
verr: verr
verrx: verrx
versionsort: versionsort
vfork: vfork
vfprintf: vfprintf
vfscanf: vfscanf
vfwprintf: vfwprintf
vfwscanf: vfwscanf
vhangup: vhangup
vlimit: vlimit
void: Safe Allocation Macros
vprintf: vprintf
vscanf: vscanf
vsnprintf: vsnprintf
vsprintf: vsprintf
vsscanf: vsscanf
vswprintf: vswprintf
vswscanf: vswscanf
vsyslog: vsyslog
vwarn: vwarn
vwarnx: vwarnx
vwprintf: vwprintf
vwscanf: vwscanf

W
wait: wait
wait3: wait3
wait4: wait4
waitid: waitid
waitpid: waitpid
warn: warn
warnx: warnx
wcpcpy: wcpcpy
wcpncpy: wcpncpy
wcrtomb: wcrtomb
wcscasecmp: wcscasecmp
wcscasecmp_l: wcscasecmp_l
wcscat: wcscat
wcschr: wcschr
wcschrnul: wcschrnul
wcscmp: wcscmp
wcscoll: wcscoll
wcscoll_l: wcscoll_l
wcscpy: wcscpy
wcscspn: wcscspn
wcsdup: wcsdup
wcsftime: wcsftime
wcsftime_l: wcsftime_l
wcslcat: wcslcat
wcslcpy: wcslcpy
wcslen: wcslen
wcsncasecmp: wcsncasecmp
wcsncasecmp_l: wcsncasecmp_l
wcsncat: wcsncat
wcsncmp: wcsncmp
wcsncpy: wcsncpy
wcsnlen: wcsnlen
wcsnrtombs: wcsnrtombs
wcspbrk: wcspbrk
wcsrchr: wcsrchr
wcsrtombs: wcsrtombs
wcsspn: wcsspn
wcsstr: wcsstr
wcstod: wcstod
wcstod_l: wcstod_l
wcstof: wcstof
wcstof_l: wcstof_l
wcstoimax: wcstoimax
wcstok: wcstok
wcstol: wcstol
wcstold: wcstold
wcstold_l: wcstold_l
wcstoll: wcstoll
wcstoll_l: wcstoll_l
wcstol_l: wcstol_l
wcstombs: wcstombs
wcstoq: wcstoq
wcstoul: wcstoul
wcstoull: wcstoull
wcstoull_l: wcstoull_l
wcstoul_l: wcstoul_l
wcstoumax: wcstoumax
wcstouq: wcstouq
wcswcs: wcswcs
wcswidth: wcswidth
wcsxfrm: wcsxfrm
wcsxfrm_l: wcsxfrm_l
wctob: wctob
wctomb: wctomb
wctrans: wctrans
wctrans_l: wctrans_l
wctype: wctype
wctype_l: wctype_l
wcwidth: wcwidth
wmemchr: wmemchr
wmemcmp: wmemcmp
wmemcpy: wmemcpy
wmemmove: wmemmove
wmempcpy: wmempcpy
wmemset: wmemset
word boundaries, matching: Match-word-boundary Operator
wordexp: wordexp
wordfree: wordfree
wprintf: wprintf
wraparound integer arithmetic: Wraparound Arithmetic
write: write
writev: writev
wscanf: wscanf

X
xalloc_die: Out of memory handling
xdrmem_create: xdrmem_create
xdrrec_create: xdrrec_create
xdrrec_endofrecord: xdrrec_endofrecord
xdrrec_eof: xdrrec_eof
xdrrec_skiprecord: xdrrec_skiprecord
xdrstdio_create: xdrstdio_create
xdr_array: xdr_array
xdr_authunix_parms: xdr_authunix_parms
xdr_bool: xdr_bool
xdr_bytes: xdr_bytes
xdr_callhdr: xdr_callhdr
xdr_callmsg: xdr_callmsg
xdr_cback_data: xdr_cback_data
xdr_char: xdr_char
xdr_cryptkeyarg: xdr_cryptkeyarg
xdr_cryptkeyarg2: xdr_cryptkeyarg2
xdr_cryptkeyres: xdr_cryptkeyres
xdr_des_block: xdr_des_block
xdr_domainname: xdr_domainname
xdr_double: xdr_double
xdr_enum: xdr_enum
xdr_float: xdr_float
xdr_free: xdr_free
xdr_getcredres: xdr_getcredres
xdr_hyper: xdr_hyper
xdr_int: xdr_int
xdr_int16_t: xdr_int16_t
xdr_int32_t: xdr_int32_t
xdr_int64_t: xdr_int64_t
xdr_int8_t: xdr_int8_t
xdr_keybuf: xdr_keybuf
xdr_keydat: xdr_keydat
xdr_keystatus: xdr_keystatus
xdr_key_netstarg: xdr_key_netstarg
xdr_key_netstres: xdr_key_netstres
xdr_long: xdr_long
xdr_longlong_t: xdr_longlong_t
xdr_netnamestr: xdr_netnamestr
xdr_netobj: xdr_netobj
xdr_obj_p: xdr_obj_p
xdr_opaque: xdr_opaque
xdr_opaque_auth: xdr_opaque_auth
xdr_pmap: xdr_pmap
xdr_pmaplist: xdr_pmaplist
xdr_pointer: xdr_pointer
xdr_quad_t: xdr_quad_t
xdr_reference: xdr_reference
xdr_replymsg: xdr_replymsg
xdr_rmtcallres: xdr_rmtcallres
xdr_rmtcall_args: xdr_rmtcall_args
xdr_short: xdr_short
xdr_sizeof: xdr_sizeof
xdr_string: xdr_string
xdr_uint16_t: xdr_uint16_t
xdr_uint32_t: xdr_uint32_t
xdr_uint64_t: xdr_uint64_t
xdr_uint8_t: xdr_uint8_t
xdr_union: xdr_union
xdr_unixcred: xdr_unixcred
xdr_u_char: xdr_u_char
xdr_u_hyper: xdr_u_hyper
xdr_u_int: xdr_u_int
xdr_u_long: xdr_u_long
xdr_u_longlong_t: xdr_u_longlong_t
xdr_u_quad_t: xdr_u_quad_t
xdr_u_short: xdr_u_short
xdr_valdat: xdr_valdat
xdr_vector: xdr_vector
xdr_void: xdr_void
xdr_wrapstring: xdr_wrapstring
xdr_ypbind_resptype: xdr_ypbind_resptype
xdr_ypmaplist: xdr_ypmaplist
xdr_ypmap_parms: xdr_ypmap_parms
xdr_yppushresp_xfr: xdr_yppushresp_xfr
xdr_ypreq_key: xdr_ypreq_key
xdr_ypreq_nokey: xdr_ypreq_nokey
xdr_ypreq_xfr: xdr_ypreq_xfr
xdr_ypresp_all: xdr_ypresp_all
xdr_ypresp_key_val: xdr_ypresp_key_val
xdr_ypresp_maplist: xdr_ypresp_maplist
xdr_ypresp_master: xdr_ypresp_master
xdr_ypresp_order: xdr_ypresp_order
xdr_ypresp_val: xdr_ypresp_val
xdr_ypresp_xfr: xdr_ypresp_xfr
xdr_ypstat: xdr_ypstat
xdr_ypxfrstat: xdr_ypxfrstat
xprt_register: xprt_register
xprt_unregister: xprt_unregister

Y
y0: y0
y0f: y0f
y0l: y0l
y1: y1
y1f: y1f
y1l: y1l
yn: yn
ynf: ynf
ynl: ynl
ypbinderr_string: ypbinderr_string
yperr_string: yperr_string
ypprot_err: ypprot_err
yp_all: yp_all
yp_bind: yp_bind
yp_first: yp_first
yp_get_default_domain: yp_get_default_domain
yp_master: yp_master
yp_match: yp_match
yp_next: yp_next
yp_order: yp_order
yp_unbind: yp_unbind

Jump to:   $   (   )   *   +   -   .   =   ?   [   \   ]   ^   _   {   |   }  
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y  

Footnotes

(1)

Ristenpart T, Yilek S. When good randomness goes bad: virtual machine vulnerabilities and hedging deployed cryptography. NDSS 2010.

(2)

Ristenpart T, Yilek S. When good randomness goes bad: virtual machine vulnerabilities and hedging deployed cryptography. NDSS 2010.

(3)

Sometimes you don’t have to explicitly quote special characters to make them ordinary. For instance, most characters lose any special meaning inside a list (see List Operators). In addition, if the syntax bits RE_CONTEXT_INVALID_OPS and RE_CONTEXT_INDEP_OPS aren’t set, then (for historical reasons) the matcher considers special characters ordinary if they are in contexts where the operations they represent make no sense; for example, then the match-zero-or-more operator (represented by ‘*’) matches itself in the regular expression ‘*foo’ because there is no preceding expression on which it can operate. It is poor practice, however, to depend on this behavior; if you want a special character to be ordinary outside a list, it’s better to always quote it, regardless.

(4)

Regex therefore doesn’t consider the ‘^’ to be the first character in the list. If you put a ‘^’ character first in (what you think is) a matching list, you’ll turn it into a nonmatching list.

(5)

You can’t use a character class for the starting or ending point of a range, since a character class is not a single character.

(6)

Regular expressions are also referred to as “patterns,” hence the name “pattern buffer.”

(7)

A table that maps all uppercase letters to the corresponding lowercase ones would work just as well for this purpose.