FD_CLR
FD_ISSET
FD_SET
FD_ZERO
_Exit
_exit
_longjmp
_setjmp
_tolower
_toupper
a64l
abort
abs
accept
access
acos
acosf
acosh
acoshf
acoshl
acosl
aio_cancel
aio_error
aio_fsync
aio_read
aio_return
aio_suspend
aio_write
alarm
asctime
asctime_r
asin
asinf
asinh
asinhf
asinhl
asinl
assert
atan
atan2
atan2f
atan2l
atanf
atanh
atanhf
atanhl
atanl
atexit
atof
atoi
atol
atoll
basename
bcmp
bcopy
bind
bsd_signal
bsearch
btowc
bzero
cabs
cabsf
cabsl
cacos
cacosf
cacosh
cacoshf
cacoshl
cacosl
calloc
carg
cargf
cargl
casin
casinf
casinh
casinhf
casinhl
casinl
catan
catanf
catanh
catanhf
catanhl
catanl
catclose
catgets
catopen
cbrt
cbrtf
cbrtl
ccos
ccosf
ccosh
ccoshf
ccoshl
ccosl
ceil
ceilf
ceill
cexp
cexpf
cexpl
cfgetispeed
cfgetospeed
cfsetispeed
cfsetospeed
chdir
chmod
chown
cimag
cimagf
cimagl
clearerr
clock
clock_getcpuclockid
clock_getres
clock_gettime
clock_nanosleep
clock_settime
clog
clogf
clogl
close
closedir
closelog
confstr
conj
conjf
conjl
connect
copysign
copysignf
copysignl
cos
cosf
cosh
coshf
coshl
cosl
cpow
cpowf
cpowl
cproj
cprojf
cprojl
creal
crealf
creall
creat
crypt
csin
csinf
csinh
csinhf
csinhl
csinl
csqrt
csqrtf
csqrtl
ctan
ctanf
ctanh
ctanhf
ctanhl
ctanl
ctermid
ctime
ctime_r
daylight
dbm_clearerr
dbm_close
dbm_delete
dbm_error
dbm_fetch
dbm_firstkey
dbm_nextkey
dbm_open
dbm_store
difftime
dirname
div
dlclose
dlerror
dlopen
dlsym
drand48
dup
dup2
ecvt
encrypt
endgrent
endhostent
endnetent
endprotoent
endpwent
endservent
endutxent
environ
erand48
erf
erfc
erfcf
erfcl
erff
erfl
errno
execl
execle
execlp
execv
execve
execvp
exit
exp
exp2
exp2f
exp2l
expf
expl
expm1
expm1f
expm1l
fabs
fabsf
fabsl
fattach
fchdir
fchmod
fchown
fclose
fcntl
fcvt
fdatasync
fdetach
fdim
fdimf
fdiml
fdopen
feclearexcept
fegetenv
fegetexceptflag
fegetround
feholdexcept
feof
feraiseexcept
ferror
fesetenv
fesetexceptflag
fesetround
fetestexcept
feupdateenv
fflush
ffs
fgetc
fgetpos
fgets
fgetwc
fgetws
fileno
flockfile
floor
floorf
floorl
fma
fmaf
fmal
fmax
fmaxf
fmaxl
fmin
fminf
fminl
fmod
fmodf
fmodl
fmtmsg
fnmatch
fopen
fork
fpathconf
fpclassify
fprintf
fputc
fputs
fputwc
fputws
fread
free
freeaddrinfo
freopen
frexp
frexpf
frexpl
fscanf
fseek
fseeko
fsetpos
fstat
fstatvfs
fsync
ftell
ftello
ftime
ftok
ftruncate
ftrylockfile
ftw
funlockfile
fwide
fwprintf
fwrite
fwscanf
gai_strerror
gcvt
getaddrinfo
getc
getc_unlocked
getchar
getchar_unlocked
getcontext
getcwd
getdate
getdelim
getegid
getenv
geteuid
getgid
getgrent
getgrgid
getgrgid_r
getgrnam
getgrnam_r
getgroups
gethostbyaddr
gethostbyname
gethostent
gethostid
gethostname
getitimer
getline
getlogin
getlogin_r
getmsg
getnameinfo
getnetbyaddr
getnetbyname
getnetent
getopt
getpeername
getpgid
getpgrp
getpid
getpmsg
getppid
getpriority
getprotobyname
getprotobynumber
getprotoent
getpwent
getpwnam
getpwnam_r
getpwuid
getpwuid_r
getrlimit
getrusage
gets
getservbyname
getservbyport
getservent
getsid
getsockname
getsockopt
getsubopt
gettimeofday
getuid
getutxent
getutxid
getutxline
getwc
getwchar
getwd
glob
globfree
gmtime
gmtime_r
grantpt
h_errno
hcreate
hdestroy
hsearch
htonl
htons
hypot
hypotf
hypotl
iconv
iconv_close
iconv_open
if_freenameindex
if_indextoname
if_nameindex
if_nametoindex
ilogb
ilogbf
ilogbl
imaxabs
imaxdiv
index
inet_addr
inet_ntoa
inet_ntop
inet_pton
initstate
insque
ioctl
isalnum
isalpha
isascii
isastream
isatty
isblank
iscntrl
isdigit
isfinite
isgraph
isgreater
isgreaterequal
isinf
isless
islessequal
islessgreater
islower
isnan
isnormal
isprint
ispunct
isspace
isunordered
isupper
iswalnum
iswalpha
iswblank
iswcntrl
iswctype
iswdigit
iswgraph
iswlower
iswprint
iswpunct
iswspace
iswupper
iswxdigit
isxdigit
j0
j1
jn
jrand48
kill
killpg
l64a
labs
lchown
lcong48
ldexp
ldexpf
ldexpl
ldiv
lfind
lgamma
lgammaf
lgammal
link
lio_listio
listen
llabs
lldiv
llrint
llrintf
llrintl
llround
llroundf
llroundl
localeconv
localtime
localtime_r
lockf
log
log10
log10f
log10l
log1p
log1pf
log1pl
log2
log2f
log2l
logb
logbf
logbl
logf
logl
longjmp
lrand48
lrint
lrintf
lrintl
lround
lroundf
lroundl
lsearch
lseek
lstat
makecontext
malloc
mblen
mbrlen
mbrtowc
mbsinit
mbsrtowcs
mbstowcs
mbtowc
memccpy
memchr
memcmp
memcpy
memmove
memset
mkdir
mkfifo
mknod
mkstemp
mktemp
mktime
mlock
mlockall
mmap
modf
modff
modfl
mprotect
mq_close
mq_getattr
mq_notify
mq_open
mq_receive
mq_send
mq_setattr
mq_timedreceive
mq_timedsend
mq_unlink
mrand48
msgctl
msgget
msgrcv
msgsnd
msync
munlock
munlockall
munmap
nan
nanf
nanl
nanosleep
nearbyint
nearbyintf
nearbyintl
nextafter
nextafterf
nextafterl
nexttoward
nexttowardf
nexttowardl
nftw
nice
nl_langinfo
nrand48
ntohl
ntohs
open
opendir
openlog
optarg
pathconf
pause
pclose
perror
pipe
poll
popen
posix_fadvise
posix_fallocate
posix_madvise
posix_mem_offset
posix_memalign
posix_openpt
posix_spawn
posix_spawn_file_actions_addclose
posix_spawn_file_actions_adddup2
posix_spawn_file_actions_addopen
posix_spawn_file_actions_destroy
posix_spawn_file_actions_init
posix_spawnattr_destroy
posix_spawnattr_getflags
posix_spawnattr_getpgroup
posix_spawnattr_getschedparam
posix_spawnattr_getschedpolicy
posix_spawnattr_getsigdefault
posix_spawnattr_getsigmask
posix_spawnattr_init
posix_spawnattr_setflags
posix_spawnattr_setpgroup
posix_spawnattr_setschedparam
posix_spawnattr_setschedpolicy
posix_spawnattr_setsigdefault
posix_spawnattr_setsigmask
posix_spawnp
posix_trace_attr_destroy
posix_trace_attr_getclockres
posix_trace_attr_getcreatetime
posix_trace_attr_getgenversion
posix_trace_attr_getinherited
posix_trace_attr_getlogfullpolicy
posix_trace_attr_getlogsize
posix_trace_attr_getmaxdatasize
posix_trace_attr_getmaxsystemeventsize
posix_trace_attr_getmaxusereventsize
posix_trace_attr_getname
posix_trace_attr_getstreamfullpolicy
posix_trace_attr_getstreamsize
posix_trace_attr_init
posix_trace_attr_setinherited
posix_trace_attr_setlogfullpolicy
posix_trace_attr_setlogsize
posix_trace_attr_setmaxdatasize
posix_trace_attr_setname
posix_trace_attr_setstreamfullpolicy
posix_trace_attr_setstreamsize
posix_trace_clear
posix_trace_close
posix_trace_create
posix_trace_create_withlog
posix_trace_event
posix_trace_eventid_equal
posix_trace_eventid_get_name
posix_trace_eventid_open
posix_trace_eventset_add
posix_trace_eventset_del
posix_trace_eventset_empty
posix_trace_eventset_fill
posix_trace_eventset_ismember
posix_trace_eventtypelist_getnext_id
posix_trace_eventtypelist_rewind
posix_trace_flush
posix_trace_get_attr
posix_trace_get_filter
posix_trace_get_status
posix_trace_getnext_event
posix_trace_open
posix_trace_rewind
posix_trace_set_filter
posix_trace_shutdown
posix_trace_start
posix_trace_stop
posix_trace_timedgetnext_event
posix_trace_trid_eventid_open
posix_trace_trygetnext_event
posix_typed_mem_get_info
posix_typed_mem_open
pow
powf
powl
pread
printf
pselect
pthread_atfork
pthread_attr_destroy
pthread_attr_getdetachstate
pthread_attr_getguardsize
pthread_attr_getinheritsched
pthread_attr_getschedparam
pthread_attr_getschedpolicy
pthread_attr_getscope
pthread_attr_getstack
pthread_attr_getstackaddr
pthread_attr_getstacksize
pthread_attr_init
pthread_attr_setdetachstate
pthread_attr_setguardsize
pthread_attr_setinheritsched
pthread_attr_setschedparam
pthread_attr_setschedpolicy
pthread_attr_setscope
pthread_attr_setstack
pthread_attr_setstackaddr
pthread_attr_setstacksize
pthread_barrier_destroy
pthread_barrier_init
pthread_barrier_wait
pthread_barrierattr_destroy
pthread_barrierattr_getpshared
pthread_barrierattr_init
pthread_barrierattr_setpshared
pthread_cancel
pthread_cleanup_pop
pthread_cleanup_push
pthread_cond_broadcast
pthread_cond_destroy
pthread_cond_init
pthread_cond_signal
pthread_cond_timedwait
pthread_cond_wait
pthread_condattr_destroy
pthread_condattr_getclock
pthread_condattr_getpshared
pthread_condattr_init
pthread_condattr_setclock
pthread_condattr_setpshared
pthread_create
pthread_detach
pthread_equal
pthread_exit
pthread_getconcurrency
pthread_getcpuclockid
pthread_getschedparam
pthread_getspecific
pthread_join
pthread_key_create
pthread_key_delete
pthread_kill
pthread_mutex_destroy
pthread_mutex_getprioceiling
pthread_mutex_init
pthread_mutex_lock
pthread_mutex_setprioceiling
pthread_mutex_timedlock
pthread_mutex_trylock
pthread_mutex_unlock
pthread_mutexattr_destroy
pthread_mutexattr_getprioceiling
pthread_mutexattr_getprotocol
pthread_mutexattr_getpshared
pthread_mutexattr_gettype
pthread_mutexattr_init
pthread_mutexattr_setprioceiling
pthread_mutexattr_setprotocol
pthread_mutexattr_setpshared
pthread_mutexattr_settype
pthread_once
pthread_rwlock_destroy
pthread_rwlock_init
pthread_rwlock_rdlock
pthread_rwlock_timedrdlock
pthread_rwlock_timedwrlock
pthread_rwlock_tryrdlock
pthread_rwlock_trywrlock
pthread_rwlock_unlock
pthread_rwlock_wrlock
pthread_rwlockattr_destroy
pthread_rwlockattr_getpshared
pthread_rwlockattr_init
pthread_rwlockattr_setpshared
pthread_self
pthread_setcancelstate
pthread_setcanceltype
pthread_setconcurrency
pthread_setschedparam
pthread_setschedprio
pthread_setspecific
pthread_sigmask
pthread_spin_destroy
pthread_spin_init
pthread_spin_lock
pthread_spin_trylock
pthread_spin_unlock
pthread_testcancel
ptsname
putc
putc_unlocked
putchar
putchar_unlocked
putenv
putmsg
putpmsg
puts
pututxline
putwc
putwchar
pwrite
qsort
raise
rand
rand_r
random
read
readdir
readdir_r
readlink
readv
realloc
realpath
recv
recvfrom
recvmsg
regcomp
regerror
regexec
regfree
remainder
remainderf
remainderl
remove
remque
remquo
remquof
remquol
rename
rewind
rewinddir
rindex
rint
rintf
rintl
rmdir
round
roundf
roundl
scalb
scalbln
scalblnf
scalblnl
scalbn
scalbnf
scalbnl
scanf
sched_get_priority_max
sched_getparam
sched_getscheduler
sched_rr_get_interval
sched_setparam
sched_setscheduler
sched_yield
seed48
seekdir
select
sem_close
sem_destroy
sem_getvalue
sem_init
sem_open
sem_post
sem_timedwait
sem_trywait
sem_unlink
sem_wait
semctl
semget
semop
send
sendmsg
sendto
setbuf
setcontext
setegid
setenv
seteuid
setgid
setgrent
sethostent
setitimer
setjmp
setkey
setlocale
setlogmask
setnetent
setpgid
setpgrp
setpriority
setprotoent
setpwent
setregid
setreuid
setrlimit
setservent
setsid
setsockopt
setstate
setuid
setutxent
setvbuf
shm_open
shm_unlink
shmat
shmctl
shmdt
shmget
shutdown
sigaction
sigaddset
sigaltstack
sigdelset
sigemptyset
sigfillset
sighold
sigignore
siginterrupt
sigismember
siglongjmp
signal
signbit
sigpause
sigpending
sigprocmask
sigqueue
sigrelse
sigset
sigsetjmp
sigsuspend
sigtimedwait
sigwait
sigwaitinfo
sin
sinf
sinh
sinhf
sinhl
sinl
sleep
snprintf
sockatmark
socket
socketpair
sprintf
sqrt
sqrtf
sqrtl
srand
srand48
srandom
sscanf
stat
statvfs
stderr
stdin
stdout
strcasecmp
strcat
strchr
strcmp
strcoll
strcpy
strcspn
strdup
strerror
strerror_r
strfmon
strftime
strlen
strncasecmp
strncat
strncmp
strncpy
strpbrk
strptime
strrchr
strspn
strstr
strtod
strtof
strtoimax
strtok
strtok_r
strtol
strtold
strtoll
strtoul
strtoull
strtoumax
strxfrm
swab
swapcontext
swprintf
swscanf
symlink
sync
sysconf
syslog
system
tan
tanf
tanh
tanhf
tanhl
tanl
tcdrain
tcflow
tcflush
tcgetattr
tcgetpgrp
tcgetsid
tcsendbreak
tcsetattr
tcsetpgrp
tdelete
telldir
tempnam
tfind
tgamma
tgammaf
tgammal
time
timer_create
timer_delete
timer_getoverrun
timer_settime
times
timezone
tmpfile
tmpnam
toascii
tolower
toupper
towctrans
towlower
towupper
trunc
truncate
truncf
truncl
tsearch
ttyname
ttyname_r
twalk
tzname
tzset
ualarm
ulimit
umask
uname
ungetc
ungetwc
unlink
unlockpt
unsetenv
usleep
utime
utimes
va_arg
va_copy
va_end
va_start
vfork
vfprintf
vfscanf
vfwprintf
vfwscanf
vprintf
vscanf
vsnprintf
vsprintf
vsscanf
vswprintf
vswscanf
vwprintf
vwscanf
wait
waitid
waitpid
wcrtomb
wcscat
wcschr
wcscmp
wcscoll
wcscpy
wcscspn
wcsftime
wcslen
wcsncat
wcsncmp
wcsncpy
wcspbrk
wcsrchr
wcsrtombs
wcsspn
wcsstr
wcstod
wcstof
wcstoimax
wcstok
wcstol
wcstold
wcstoll
wcstombs
wcstoul
wcstoull
wcstoumax
wcswcs
wcswidth
wcsxfrm
wctob
wctomb
wctrans
wctype
wcwidth
wmemchr
wmemcmp
wmemcpy
wmemmove
wmemset
wordexp
wordfree
wprintf
write
writev
wscanf
y0
y1
yn
This manual is for GNU Gnulib (updated $Date: 2007-09-09 13:20:45 $), which is a library of common routines intended to be shared at the source level.
Copyright © 2004, 2005, 2006, 2007 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.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License.”
Gnulib is a source code library. It provides basic functionalities to programs and libraries. Currently (as of October 2006) more than 30 packages make use of Gnulib.
Resources:
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.
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 C99, POSIX:2001) 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()
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.
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:
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.
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.
There are modules of various kinds in Gnulib. For a complete list of the modules, see in MODULES.html.
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 stdbool.h
or 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 an added underscore, so that on systems which do provide a correct
header file the system's one is used.
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.
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 Woe32 requires a
different API than the classical POSIX basename
function.
Examples are an error reporting function, a module that allows output of numbers with K/M/G suffixes, or cryptographic facilities.
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.
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.
An example is the `maintainer-makefile' module, which provides extra Makefile tags for maintaining a package.
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 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.
Most modules are under the GPL. Some, mostly modules which can reasonably be used in libraries, are under LGPL. The source files always say "GPL", but the real license specification is in the module description file. If the module description file says "GPL", it currently means "GPLv2+" (GPLv2 or newer, at the licensee's choice); if it says "LGPL", it currently means "LGPLv2+" (LGPLv2 or newer, at the licensee's choice).
More precisely, the license specification in the module description file applies to the files in lib/ and build-aux/. Different licenses apply to files in special directories:
Copyright © 200X-200Y 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.
Copyright © 200X-200Y 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.
Copyright © 200X-200Y 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.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts.
If you want to use some Gnulib modules under LGPL, you can do so by
passing the option `--lgpl' to gnulib-tool
. This will
replace the GPL header with an LGPL header while copying the source
files to your package.
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 for a "License: LGPL" information in the corresponding module description.
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. We don't make releases, but instead recommend to use the newest version of Gnulib from the CVS, except in periods of major changes.
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
gnulib-tool
.
This is achieved by the `--local-dir' option of 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.
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.
Gnulib assumes your project uses Autoconf and Automake. 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 C89 and C99 (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_.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_.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, - 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 pre-existing files, in
particular Makefile.am. Unfortunately, separating the
generated Makefile.am content (for building the gnulib library)
into a separate file, say gnulib.mk, that could be included
by your handwritten Makefile.am is not possible, due to how
variable assignments are handled by Automake.
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
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_srcdir)/lib -I$(top_builddir)/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 pre-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.
A final word of warning: Gnulib currently assumes it will be
responsible for all functions that end up in the Autoconf
@LIBOBJS@
variables (and/or @LTLIBOBJS@
if using
Libtool), e.g., those specified in AC_REPLACE_FUNCS
in your
configure.ac. Therefore, if you have any functions which are
not covered by Gnulib which need that treatment, you have to
essentially reimplement AC_REPLACE_FUNCS using different names; for an
example, see the Findutils sources. Perhaps this will be improved in
the future.
You can at any moment decide to use Gnulib differently than the last time.
If you only want to use more Gnulib modules, simply invoke
gnulib-tool --import new-modules. gnulib-tool
remembers which modules were used last time. The list of modules that
you pass after `--import' is added to the previous list of
modules.
For most changes, such as added or removed modules, or even different choices of `--lib', `--source-base' or `--aux-dir', there are two ways to perform the change.
The standard way is to modify manually the file gnulib-cache.m4 in the M4 macros directory, then launch `gnulib-tool --import'.
The other way is to call gnulib-tool again, with the changed
command-line options. Note that this doesn't let you remove modules,
because as you just learned, the list of modules is always cumulated.
Also this way is often impractical, because you don't remember the way
you invoked gnulib-tool
last time.
The only change for which this doesn't work is a change of the
`--m4-base' directory. Because, when you pass a different value of
`--m4-base', gnulib-tool
will not find the previous
gnulib-cache.m4 file any more... A possible solution is to manually
copy the gnulib-cache.m4 into the new M4 macro directory.
In the gnulib-cache.m4, the macros have the following meaning:
gl_MODULES
gl_AVOID
gl_SOURCE_BASE
gl_M4_BASE
gl_TESTS_BASE
gl_LIB
gl_LGPL
gl_LIBTOOL
gl_MACRO_PREFIX
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 --import
This will create, update or remove files, as needed.
All files created by gnulib-tool
, except gnulib-cache.m4,
should be treated like generated source files, like for example a
parser.c file is generated from parser.y.
gnulib-tool
generated files should all be committed.
Gnulib also contains files generated by make (and removed by
make clean
), using information determined by configure
They should not be checked into CVS, but instead added to
.cvsignore. When you have a Gnulib source file of the form
lib/foo_.h, the corresponding lib/foo.h is such a file.
$ gnulib-tool --update
The `--update' option operates much like the `--import' option, but it does not offer the possibility to change the way Gnulib is used. Also it does not report in the ChangeLogs the files that it had to add because they were missing.
The same holds for other version control systems than CVS, such as `git' or `svn'.
Where to put comments describing functions: Because of risk of divergence, we prefer to keep most function describing comments in only one place: just above the actual function definition. Some people prefer to put that documentation in the .h file. In any case, it should appear in just one place unless you can ensure that the multiple copies will always remain identical.
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 C89 and C99 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.
When writing a gnulib module, or even in general, a good way to order the `#include' directives is the following.
The GSS API does not have a standard error code for the out of memory error condition. Instead of adding a non-standard error code, this library 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.
However, we realize that some applications may not want to have the
GSS library abort execution in any situation. The GSS library 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_fail_func
to that function. The variable should be
declared as follows.
extern void (*xalloc_fail_func) (void);
The GSS library will invoke this function if an out of memory error occurs. Note that after this the GSS library is in an undefined state, so you must unload or restart the application to continue call GSS library functions. The hook is only intended to allow the application to log the situation in a special way. Of course, care must be taken to not allocate more memory, as that will likely also fail.
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");
There are several issues when building applications that should work under Windows. The most problematic part is for applications that use sockets.
Hopefully, we can add helpful notes to this section that will help you port your application to Windows using gnulib.
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 to (partial) getaddrinfo implementation.
If you want to support Windows 2000, don't do anything, but be aware that gnulib will use its own (partial) getaddrinfo implementation even on Windows XP. Currently the code does not attempt to determine if the getaddrinfo function is available during runtime.
Todo: Make getaddrinfo.c open the WS2_32.DLL and check for the getaddrinfo symbol and use it if present, otherwise fall back to our own implementation.
If you want it to be possible to cross-compile your program to MinGW and you use Libtool, you need to put:
AC_LIBTOOL_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
Gnulib provides copies of the GNU GPL, GNU LGPL, and GNU FDL licenses
in Texinfo form. (The master location is
http://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.
To simplify testing on a wide set of platforms, gnulib is built on many platforms every day and the results are uploaded to:
http://autobuild.josefsson.org/gnulib/
If you wish to help the gnulib development effort with build logs for your favorite platform, you may perform these steps:
On a machine with recent automake, autoconf, m4 installed and with a gnulib git or cvs checkout (typically a Linux machine), use
gnulib-tool --create-megatestdir --with-tests --dir=..."
Note: The created directory uses ca. 512 MB on disk.
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.
On the build machine, run ./do-autobuild (or "nohup ./do-autobuild"). It creates a directory 'logs/' with a log file for each module.
Submit each log file to Simon's site, either through a
mail `echo gnulib__at__autobuild.josefsson.org | sed -e s/__at__/@/`
or through netcat
autobuild-submit logs/*
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).
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.
POSIX specification: http://www.opengroup.org/susv3xbd/aio.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/arpa/inet.h.html
Gnulib module: arpa_inet
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/assert.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/complex.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/cpio.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/ctype.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/dirent.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/dlfcn.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/errno.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/fcntl.h.html
Gnulib module: fcntl
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/fenv.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/float.h.html
Gnulib module: float
Portability problems fixed by Gnulib:
LDBL_*
macros are incorrect on some platforms:
On BeOS, they are the same as the values of the DBL_*
macros, although
`long double' is a larger type than `double'.
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/fmtmsg.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/fnmatch.h.html
Gnulib module: fnmatch-posix or fnmatch-gnu
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/ftw.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/glob.h.html
Gnulib module: glob
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/grp.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/iconv.h.html
Gnulib module: iconv
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/inttypes.h.html
Gnulib module: inttypes
Portability problems fixed by Gnulib:
imaxabs
and imaxdiv
are missing on some
platforms:
NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, BeOS.
strtoimax
and strtoumax
are missing on some
platforms:
OpenBSD 3.8, AIX 4.3.2, AIX 5.1 (missing only strtoumax
), OSF/1 5.1.
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/iso646.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/langinfo.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/libgen.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/limits.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/locale.h.html
Gnulib module: locale
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/math.h.html
Gnulib module: math
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/monetary.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/mqueue.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/ndbm.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/net/if.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/netdb.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/netinet/in.h.html
Gnulib module: netinet_in
Portability problems fixed by Gnulib:
<sys/types.h>
to be included first.
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/netinet/tcp.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/nl/types.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/poll.h.html
Gnulib module: poll
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/pthread.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/pwd.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/regex.h.html
Gnulib module: regex
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
<sys/types.h>
to be included first.
POSIX specification: http://www.opengroup.org/susv3xbd/sched.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/search.h.html
Gnulib module: search
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/semaphore.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/setjmp.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/signal.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/spawn.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/stdarg.h.html
Gnulib module: stdarg
Portability problems fixed by Gnulib:
va_copy
to work.
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/stdbool.h.html
Gnulib module: stdbool
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
<stdbool.h>
must be #included before `_Bool' can be used.
_Bool
is a typedef; it might be a macro.
POSIX specification: http://www.opengroup.org/susv3xbd/stddef.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/stdint.h.html
Gnulib module: stdint
Portability problems fixed by Gnulib:
SIG_ATOMIC_MIN
and SIG_ATOMIC_MAX
are incorrect
on some platforms:
FreeBSD 6.2 / ia64.
WINT_MAX
is incorrect on some platforms:
mingw.
Portability problems not fixed by Gnulib:
{uint,int}_fast{8,16,32,64}_t
may not correspond to the fastest
types available on the system.
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
POSIX specification: http://www.opengroup.org/susv3xbd/stdio.h.html
Gnulib module: stdio
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/stdlib.h.html
Gnulib module: stdlib
Portability problems fixed by Gnulib:
EXIT_SUCCESS
and EXIT_FAILURE
are not defined on
some platforms.
EXIT_FAILURE
is incorrectly defined on Tandem/NSK.
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/string.h.html
Gnulib module: string
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/strings.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/stropts.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/sys/ipc.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/sys/mman.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/sys/msg.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/sys/resource.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/sys/select.h.html
Gnulib module: sys_select
Portability problems fixed by Gnulib:
<sys/types.h>
to be included first.
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/sys/sem.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/sys/shm.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/sys/socket.h.html
Gnulib module: sys_socket
Portability problems fixed by Gnulib:
<sys/types.h>
to be included first.
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/sys/stat.h.html
Gnulib module: sys_stat
Portability problems fixed by Gnulib:
S_IFMT
, are missing on some platforms.
S_ISBLK
, S_ISCHR
, S_ISDIR
, S_ISFIFO
,
S_ISLNK
, S_ISREG
, S_ISSOCK
are broken on some platforms.
S_ISDOOR
, that are not defined
on other platforms.
lstat
and mkdir
are not declared on mingw.
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/sys/statvfs.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/sys/time.h.html
Gnulib module: sys_time
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/sys/timeb.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/sys/times.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/sys/types.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/sys/uio.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/sys/un.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/sys/utsname.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/sys/wait.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/syslog.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/tar.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/termios.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/tgmath.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/time.h.html
Gnulib module: time
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/trace.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/ucontext.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/ulimit.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/unistd.h.html
Gnulib module: unistd
Portability problems fixed by Gnulib:
_exit
function is not declared in this file on some platforms:
mingw.
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/utime.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
<sys/utime.h>
if <utime.h>
is missing.
POSIX specification: http://www.opengroup.org/susv3xbd/utmpx.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/wchar.h.html
Gnulib module: wchar
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/wctype.h.html
Gnulib module: wctype
Portability problems fixed by Gnulib:
isw*
are missing on some platforms:
FreeBSD 4.11.
isw*
are actually defined as macros that don't work,
on IRIX 5.3.
Portability problems not fixed by Gnulib:
POSIX specification: http://www.opengroup.org/susv3xbd/wordexp.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
This chapter describes which functions and function-like macros 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.
FD_CLR
POSIX specification: http://www.opengroup.org/susv3xsh/FD_CLR.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
FD_ISSET
POSIX specification: http://www.opengroup.org/susv3xsh/FD_ISSET.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
FD_SET
POSIX specification: http://www.opengroup.org/susv3xsh/FD_SET.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
FD_ZERO
POSIX specification: http://www.opengroup.org/susv3xsh/FD_ZERO.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
_Exit
POSIX specification: http://www.opengroup.org/susv3xsh/_Exit.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
_exit
POSIX specification: http://www.opengroup.org/susv3xsh/_exit.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
_longjmp
POSIX specification: http://www.opengroup.org/susv3xsh/_longjmp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
_setjmp
POSIX specification: http://www.opengroup.org/susv3xsh/_setjmp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
_tolower
POSIX specification: http://www.opengroup.org/susv3xsh/_tolower.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
_toupper
POSIX specification: http://www.opengroup.org/susv3xsh/_toupper.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
a64l
POSIX specification: http://www.opengroup.org/susv3xsh/a64l.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
abort
POSIX specification: http://www.opengroup.org/susv3xsh/abort.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
abs
POSIX specification: http://www.opengroup.org/susv3xsh/abs.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
accept
POSIX specification: http://www.opengroup.org/susv3xsh/accept.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
socklen_t
type; in this case this function's
third argument type is `int *'.
access
POSIX specification: http://www.opengroup.org/susv3xsh/access.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
acos
POSIX specification: http://www.opengroup.org/susv3xsh/acos.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
acosf
POSIX specification: http://www.opengroup.org/susv3xsh/acosf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
acosh
POSIX specification: http://www.opengroup.org/susv3xsh/acosh.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
acoshf
POSIX specification: http://www.opengroup.org/susv3xsh/acoshf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
acoshl
POSIX specification: http://www.opengroup.org/susv3xsh/acoshl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
acosl
POSIX specification: http://www.opengroup.org/susv3xsh/acosl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
aio_cancel
POSIX specification: http://www.opengroup.org/susv3xsh/aio_cancel.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
aio_error
POSIX specification: http://www.opengroup.org/susv3xsh/aio_error.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
aio_fsync
POSIX specification: http://www.opengroup.org/susv3xsh/aio_fsync.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
aio_read
POSIX specification: http://www.opengroup.org/susv3xsh/aio_read.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
aio_return
POSIX specification: http://www.opengroup.org/susv3xsh/aio_return.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
aio_suspend
POSIX specification: http://www.opengroup.org/susv3xsh/aio_suspend.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
aio_write
POSIX specification: http://www.opengroup.org/susv3xsh/aio_write.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
alarm
POSIX specification: http://www.opengroup.org/susv3xsh/alarm.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
asctime
POSIX specification: http://www.opengroup.org/susv3xsh/asctime.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
asctime_r
POSIX specification: http://www.opengroup.org/susv3xsh/asctime_r.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
asin
POSIX specification: http://www.opengroup.org/susv3xsh/asin.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
asinf
POSIX specification: http://www.opengroup.org/susv3xsh/asinf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
asinh
POSIX specification: http://www.opengroup.org/susv3xsh/asinh.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
asinhf
POSIX specification: http://www.opengroup.org/susv3xsh/asinhf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
asinhl
POSIX specification: http://www.opengroup.org/susv3xsh/asinhl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
asinl
POSIX specification: http://www.opengroup.org/susv3xsh/asinl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
assert
POSIX specification: http://www.opengroup.org/susv3xsh/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'.
atan
POSIX specification: http://www.opengroup.org/susv3xsh/atan.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
atan2
POSIX specification: http://www.opengroup.org/susv3xsh/atan2.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
atan2f
POSIX specification: http://www.opengroup.org/susv3xsh/atan2f.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
atan2l
POSIX specification: http://www.opengroup.org/susv3xsh/atan2l.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
atanf
POSIX specification: http://www.opengroup.org/susv3xsh/atanf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
atanh
POSIX specification: http://www.opengroup.org/susv3xsh/atanh.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
atanhf
POSIX specification: http://www.opengroup.org/susv3xsh/atanhf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
atanhl
POSIX specification: http://www.opengroup.org/susv3xsh/atanhl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
atanl
POSIX specification: http://www.opengroup.org/susv3xsh/atanl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
atexit
POSIX specification: http://www.opengroup.org/susv3xsh/atexit.html
Gnulib module: atexit
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
atof
POSIX specification: http://www.opengroup.org/susv3xsh/atof.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
atoi
POSIX specification: http://www.opengroup.org/susv3xsh/atoi.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
atol
POSIX specification: http://www.opengroup.org/susv3xsh/atol.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
atoll
POSIX specification: http://www.opengroup.org/susv3xsh/atoll.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
basename
POSIX specification: http://www.opengroup.org/susv3xsh/basename.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
basename
: the POSIX version and
the GNU version.
basename
assumes file names in POSIX syntax; it does not work with file
names in Windows syntax.
bcmp
POSIX specification: http://www.opengroup.org/susv3xsh/bcmp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
memcmp
instead.
bcopy
POSIX specification: http://www.opengroup.org/susv3xsh/bcopy.html
Gnulib module: bcopy
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
memcpy
or memmove
instead.
bind
POSIX specification: http://www.opengroup.org/susv3xsh/bind.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
bsd_signal
POSIX specification: http://www.opengroup.org/susv3xsh/bsd_signal.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
bsearch
POSIX specification: http://www.opengroup.org/susv3xsh/bsearch.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
btowc
POSIX specification: http://www.opengroup.org/susv3xsh/btowc.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
bzero
POSIX specification: http://www.opengroup.org/susv3xsh/bzero.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
memset
instead.
cabs
POSIX specification: http://www.opengroup.org/susv3xsh/cabs.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
cabsf
POSIX specification: http://www.opengroup.org/susv3xsh/cabsf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
cabsl
POSIX specification: http://www.opengroup.org/susv3xsh/cabsl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
cacos
POSIX specification: http://www.opengroup.org/susv3xsh/cacos.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
cacosf
POSIX specification: http://www.opengroup.org/susv3xsh/cacosf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
cacosh
POSIX specification: http://www.opengroup.org/susv3xsh/cacosh.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
cacoshf
POSIX specification: http://www.opengroup.org/susv3xsh/cacoshf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
cacoshl
POSIX specification: http://www.opengroup.org/susv3xsh/cacoshl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
cacosl
POSIX specification: http://www.opengroup.org/susv3xsh/cacosl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
calloc
POSIX specification: http://www.opengroup.org/susv3xsh/calloc.html
Gnulib module: calloc-posix
Portability problems fixed by Gnulib:
errno
to ENOMEM
on
some platforms:
mingw.
Portability problems not fixed by Gnulib:
Extension: Gnulib provides a module `calloc' that substitutes a
calloc
implementation that behaves more like the glibc implementation.
carg
POSIX specification: http://www.opengroup.org/susv3xsh/carg.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
cargf
POSIX specification: http://www.opengroup.org/susv3xsh/cargf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
cargl
POSIX specification: http://www.opengroup.org/susv3xsh/cargl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
casin
POSIX specification: http://www.opengroup.org/susv3xsh/casin.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
casinf
POSIX specification: http://www.opengroup.org/susv3xsh/casinf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
casinh
POSIX specification: http://www.opengroup.org/susv3xsh/casinh.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
casinhf
POSIX specification: http://www.opengroup.org/susv3xsh/casinhf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
casinhl
POSIX specification: http://www.opengroup.org/susv3xsh/casinhl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
casinl
POSIX specification: http://www.opengroup.org/susv3xsh/casinl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
catan
POSIX specification: http://www.opengroup.org/susv3xsh/catan.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
catanf
POSIX specification: http://www.opengroup.org/susv3xsh/catanf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
catanh
POSIX specification: http://www.opengroup.org/susv3xsh/catanh.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
catanhf
POSIX specification: http://www.opengroup.org/susv3xsh/catanhf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
catanhl
POSIX specification: http://www.opengroup.org/susv3xsh/catanhl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
catanl
POSIX specification: http://www.opengroup.org/susv3xsh/catanl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
catclose
POSIX specification: http://www.opengroup.org/susv3xsh/catclose.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
catgets
POSIX specification: http://www.opengroup.org/susv3xsh/catgets.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
catopen
POSIX specification: http://www.opengroup.org/susv3xsh/catopen.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
cbrt
POSIX specification: http://www.opengroup.org/susv3xsh/cbrt.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
cbrtf
POSIX specification: http://www.opengroup.org/susv3xsh/cbrtf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
cbrtl
POSIX specification: http://www.opengroup.org/susv3xsh/cbrtl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ccos
POSIX specification: http://www.opengroup.org/susv3xsh/ccos.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ccosf
POSIX specification: http://www.opengroup.org/susv3xsh/ccosf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ccosh
POSIX specification: http://www.opengroup.org/susv3xsh/ccosh.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ccoshf
POSIX specification: http://www.opengroup.org/susv3xsh/ccoshf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ccoshl
POSIX specification: http://www.opengroup.org/susv3xsh/ccoshl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ccosl
POSIX specification: http://www.opengroup.org/susv3xsh/ccosl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ceil
POSIX specification: http://www.opengroup.org/susv3xsh/ceil.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ceilf
POSIX specification: http://www.opengroup.org/susv3xsh/ceilf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ceill
POSIX specification: http://www.opengroup.org/susv3xsh/ceill.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
cexp
POSIX specification: http://www.opengroup.org/susv3xsh/cexp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
cexpf
POSIX specification: http://www.opengroup.org/susv3xsh/cexpf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
cexpl
POSIX specification: http://www.opengroup.org/susv3xsh/cexpl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
cfgetispeed
POSIX specification: http://www.opengroup.org/susv3xsh/cfgetispeed.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
cfgetospeed
POSIX specification: http://www.opengroup.org/susv3xsh/cfgetospeed.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
cfsetispeed
POSIX specification: http://www.opengroup.org/susv3xsh/cfsetispeed.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
cfsetospeed
POSIX specification: http://www.opengroup.org/susv3xsh/cfsetospeed.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
chdir
POSIX specification: http://www.opengroup.org/susv3xsh/chdir.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
chmod
POSIX specification: http://www.opengroup.org/susv3xsh/chmod.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
chown
POSIX specification: http://www.opengroup.org/susv3xsh/chown.html
Gnulib module: chown
Portability problems fixed by Gnulib:
lchown
.
Portability problems not fixed by Gnulib:
cimag
POSIX specification: http://www.opengroup.org/susv3xsh/cimag.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
cimagf
POSIX specification: http://www.opengroup.org/susv3xsh/cimagf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
cimagl
POSIX specification: http://www.opengroup.org/susv3xsh/cimagl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
clearerr
POSIX specification: http://www.opengroup.org/susv3xsh/clearerr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
clock
POSIX specification: http://www.opengroup.org/susv3xsh/clock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
clock_getcpuclockid
POSIX specification: http://www.opengroup.org/susv3xsh/clock_getcpuclockid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
clock_getres
POSIX specification: http://www.opengroup.org/susv3xsh/clock_getres.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
clock_gettime
POSIX specification: http://www.opengroup.org/susv3xsh/clock_gettime.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
clock_nanosleep
POSIX specification: http://www.opengroup.org/susv3xsh/clock_nanosleep.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
clock_settime
POSIX specification: http://www.opengroup.org/susv3xsh/clock_settime.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
clog
POSIX specification: http://www.opengroup.org/susv3xsh/clog.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
clogf
POSIX specification: http://www.opengroup.org/susv3xsh/clogf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
clogl
POSIX specification: http://www.opengroup.org/susv3xsh/clogl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
close
POSIX specification: http://www.opengroup.org/susv3xsh/close.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
closedir
POSIX specification: http://www.opengroup.org/susv3xsh/closedir.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
closelog
POSIX specification: http://www.opengroup.org/susv3xsh/closelog.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
confstr
POSIX specification: http://www.opengroup.org/susv3xsh/confstr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
conj
POSIX specification: http://www.opengroup.org/susv3xsh/conj.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
conjf
POSIX specification: http://www.opengroup.org/susv3xsh/conjf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
conjl
POSIX specification: http://www.opengroup.org/susv3xsh/conjl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
connect
POSIX specification: http://www.opengroup.org/susv3xsh/connect.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
copysign
POSIX specification: http://www.opengroup.org/susv3xsh/copysign.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
copysignf
POSIX specification: http://www.opengroup.org/susv3xsh/copysignf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
copysignl
POSIX specification: http://www.opengroup.org/susv3xsh/copysignl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
cos
POSIX specification: http://www.opengroup.org/susv3xsh/cos.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
cosf
POSIX specification: http://www.opengroup.org/susv3xsh/cosf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
cosh
POSIX specification: http://www.opengroup.org/susv3xsh/cosh.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
coshf
POSIX specification: http://www.opengroup.org/susv3xsh/coshf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
coshl
POSIX specification: http://www.opengroup.org/susv3xsh/coshl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
cosl
POSIX specification: http://www.opengroup.org/susv3xsh/cosl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
cpow
POSIX specification: http://www.opengroup.org/susv3xsh/cpow.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
cpowf
POSIX specification: http://www.opengroup.org/susv3xsh/cpowf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
cpowl
POSIX specification: http://www.opengroup.org/susv3xsh/cpowl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
cproj
POSIX specification: http://www.opengroup.org/susv3xsh/cproj.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
cprojf
POSIX specification: http://www.opengroup.org/susv3xsh/cprojf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
cprojl
POSIX specification: http://www.opengroup.org/susv3xsh/cprojl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
creal
POSIX specification: http://www.opengroup.org/susv3xsh/creal.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
crealf
POSIX specification: http://www.opengroup.org/susv3xsh/crealf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
creall
POSIX specification: http://www.opengroup.org/susv3xsh/creall.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
creat
POSIX specification: http://www.opengroup.org/susv3xsh/creat.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
O_TEXT
mode. If you
need a file handle in O_BINARY
mode, you need to use the function
open
instead.
off_t
is a 32-bit type, creat
may not work
correctly to create files larger than 2 GB. The fix is to use the
AC_SYS_LARGEFILE
macro.
crypt
POSIX specification: http://www.opengroup.org/susv3xsh/crypt.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
csin
POSIX specification: http://www.opengroup.org/susv3xsh/csin.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
csinf
POSIX specification: http://www.opengroup.org/susv3xsh/csinf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
csinh
POSIX specification: http://www.opengroup.org/susv3xsh/csinh.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
csinhf
POSIX specification: http://www.opengroup.org/susv3xsh/csinhf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
csinhl
POSIX specification: http://www.opengroup.org/susv3xsh/csinhl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
csinl
POSIX specification: http://www.opengroup.org/susv3xsh/csinl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
csqrt
POSIX specification: http://www.opengroup.org/susv3xsh/csqrt.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
csqrtf
POSIX specification: http://www.opengroup.org/susv3xsh/csqrtf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
csqrtl
POSIX specification: http://www.opengroup.org/susv3xsh/csqrtl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ctan
POSIX specification: http://www.opengroup.org/susv3xsh/ctan.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ctanf
POSIX specification: http://www.opengroup.org/susv3xsh/ctanf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ctanh
POSIX specification: http://www.opengroup.org/susv3xsh/ctanh.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ctanhf
POSIX specification: http://www.opengroup.org/susv3xsh/ctanhf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ctanhl
POSIX specification: http://www.opengroup.org/susv3xsh/ctanhl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ctanl
POSIX specification: http://www.opengroup.org/susv3xsh/ctanl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ctermid
POSIX specification: http://www.opengroup.org/susv3xsh/ctermid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ctime
POSIX specification: http://www.opengroup.org/susv3xsh/ctime.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ctime
function need not be reentrant, and consequently is
not required to be thread safe. Implementations of ctime
typically write the time stamp into static buffer. If two threads
call ctime
at roughly the same time, you might end up with the
wrong date in one of the threads, or some undefined string. There is
a re-entrant interface ctime_r
.
A more flexible function is strftime
. However, note that it is
locale dependent.
ctime_r
POSIX specification: http://www.opengroup.org/susv3xsh/ctime_r.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ctime_r
takes a pre-allocated buffer and length of the buffer,
and returns NULL
on errors.
The input buffer should be at least 26 bytes in size. The output
string is locale-independent. However, years can have more than 4
digits if time_t
is sufficiently wide, so the length of the
required output buffer is not easy to determine. Increasing the
buffer size when ctime_r
returns NULL
is not necessarily
sufficient. The NULL
return value could mean some other error
condition, which will not go away by increasing the buffer size.
A more flexible function is strftime
. However, note that it is
locale dependent.
daylight
POSIX specification: http://www.opengroup.org/susv3xsh/daylight.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
dbm_clearerr
POSIX specification: http://www.opengroup.org/susv3xsh/dbm_clearerr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
dbm_close
POSIX specification: http://www.opengroup.org/susv3xsh/dbm_close.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
dbm_delete
POSIX specification: http://www.opengroup.org/susv3xsh/dbm_delete.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
dbm_error
POSIX specification: http://www.opengroup.org/susv3xsh/dbm_error.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
dbm_fetch
POSIX specification: http://www.opengroup.org/susv3xsh/dbm_fetch.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
dbm_firstkey
POSIX specification: http://www.opengroup.org/susv3xsh/dbm_firstkey.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
dbm_nextkey
POSIX specification: http://www.opengroup.org/susv3xsh/dbm_nextkey.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
dbm_open
POSIX specification: http://www.opengroup.org/susv3xsh/dbm_open.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
dbm_store
POSIX specification: http://www.opengroup.org/susv3xsh/dbm_store.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
difftime
POSIX specification: http://www.opengroup.org/susv3xsh/difftime.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
dirname
POSIX specification: http://www.opengroup.org/susv3xsh/dirname.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
dirname
assumes file names in POSIX syntax; it does not work with file
names in Windows syntax.
The Gnulib module dirname
provides similar API that also works with
Windows file names.
div
POSIX specification: http://www.opengroup.org/susv3xsh/div.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
dlclose
POSIX specification: http://www.opengroup.org/susv3xsh/dlclose.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
dlerror
POSIX specification: http://www.opengroup.org/susv3xsh/dlerror.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
dlopen
POSIX specification: http://www.opengroup.org/susv3xsh/dlopen.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
dlsym
POSIX specification: http://www.opengroup.org/susv3xsh/dlsym.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
drand48
POSIX specification: http://www.opengroup.org/susv3xsh/drand48.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
dup
POSIX specification: http://www.opengroup.org/susv3xsh/dup.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
dup2
POSIX specification: http://www.opengroup.org/susv3xsh/dup2.html
Gnulib module: dup2
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ecvt
POSIX specification: http://www.opengroup.org/susv3xsh/ecvt.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sprintf
instead.
encrypt
POSIX specification: http://www.opengroup.org/susv3xsh/encrypt.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
endgrent
POSIX specification: http://www.opengroup.org/susv3xsh/endgrent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
endhostent
POSIX specification: http://www.opengroup.org/susv3xsh/endhostent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
endnetent
POSIX specification: http://www.opengroup.org/susv3xsh/endnetent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
endprotoent
POSIX specification: http://www.opengroup.org/susv3xsh/endprotoent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
endpwent
POSIX specification: http://www.opengroup.org/susv3xsh/endpwent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
endservent
POSIX specification: http://www.opengroup.org/susv3xsh/endservent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
endutxent
POSIX specification: http://www.opengroup.org/susv3xsh/endutxent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
environ
POSIX specification: http://www.opengroup.org/susv3xsh/environ.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
erand48
POSIX specification: http://www.opengroup.org/susv3xsh/erand48.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
erf
POSIX specification: http://www.opengroup.org/susv3xsh/erf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
erfc
POSIX specification: http://www.opengroup.org/susv3xsh/erfc.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
erfcf
POSIX specification: http://www.opengroup.org/susv3xsh/erfcf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
erfcl
POSIX specification: http://www.opengroup.org/susv3xsh/erfcl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
erff
POSIX specification: http://www.opengroup.org/susv3xsh/erff.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
erfl
POSIX specification: http://www.opengroup.org/susv3xsh/erfl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
POSIX specification: http://www.opengroup.org/susv3xsh/errno.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
; their error code is
available through WSAGetLastError()
instead.
execl
POSIX specification: http://www.opengroup.org/susv3xsh/execl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
execle
POSIX specification: http://www.opengroup.org/susv3xsh/execle.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
execlp
POSIX specification: http://www.opengroup.org/susv3xsh/execlp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
execv
POSIX specification: http://www.opengroup.org/susv3xsh/execv.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
execve
POSIX specification: http://www.opengroup.org/susv3xsh/execve.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
execvp
POSIX specification: http://www.opengroup.org/susv3xsh/execvp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
exit
POSIX specification: http://www.opengroup.org/susv3xsh/exit.html
Gnulib module: exit
Portability problems fixed by Gnulib:
EXIT_SUCCESS
and EXIT_FAILURE
,
see stdlib.h.
Portability problems not fixed by Gnulib:
exp
POSIX specification: http://www.opengroup.org/susv3xsh/exp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
exp2
POSIX specification: http://www.opengroup.org/susv3xsh/exp2.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
exp2f
POSIX specification: http://www.opengroup.org/susv3xsh/exp2f.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
exp2l
POSIX specification: http://www.opengroup.org/susv3xsh/exp2l.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
expf
POSIX specification: http://www.opengroup.org/susv3xsh/expf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
expl
POSIX specification: http://www.opengroup.org/susv3xsh/expl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
expm1
POSIX specification: http://www.opengroup.org/susv3xsh/expm1.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
expm1f
POSIX specification: http://www.opengroup.org/susv3xsh/expm1f.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
expm1l
POSIX specification: http://www.opengroup.org/susv3xsh/expm1l.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fabs
POSIX specification: http://www.opengroup.org/susv3xsh/fabs.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fabsf
POSIX specification: http://www.opengroup.org/susv3xsh/fabsf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fabsl
POSIX specification: http://www.opengroup.org/susv3xsh/fabsl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fattach
POSIX specification: http://www.opengroup.org/susv3xsh/fattach.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fchdir
POSIX specification: http://www.opengroup.org/susv3xsh/fchdir.html
Gnulib module: fchdir
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fchmod
POSIX specification: http://www.opengroup.org/susv3xsh/fchmod.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fchown
POSIX specification: http://www.opengroup.org/susv3xsh/fchown.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fclose
POSIX specification: http://www.opengroup.org/susv3xsh/fclose.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
upon failure.
fcntl
POSIX specification: http://www.opengroup.org/susv3xsh/fcntl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fcvt
POSIX specification: http://www.opengroup.org/susv3xsh/fcvt.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sprintf
instead.
fdatasync
POSIX specification: http://www.opengroup.org/susv3xsh/fdatasync.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fdetach
POSIX specification: http://www.opengroup.org/susv3xsh/fdetach.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fdim
POSIX specification: http://www.opengroup.org/susv3xsh/fdim.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fdimf
POSIX specification: http://www.opengroup.org/susv3xsh/fdimf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fdiml
POSIX specification: http://www.opengroup.org/susv3xsh/fdiml.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fdopen
POSIX specification: http://www.opengroup.org/susv3xsh/fdopen.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
upon failure.
feclearexcept
POSIX specification: http://www.opengroup.org/susv3xsh/feclearexcept.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fegetenv
POSIX specification: http://www.opengroup.org/susv3xsh/fegetenv.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fegetexceptflag
POSIX specification: http://www.opengroup.org/susv3xsh/fegetexceptflag.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fegetround
POSIX specification: http://www.opengroup.org/susv3xsh/fegetround.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
feholdexcept
POSIX specification: http://www.opengroup.org/susv3xsh/feholdexcept.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
feof
POSIX specification: http://www.opengroup.org/susv3xsh/feof.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
feraiseexcept
POSIX specification: http://www.opengroup.org/susv3xsh/feraiseexcept.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ferror
POSIX specification: http://www.opengroup.org/susv3xsh/ferror.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fesetenv
POSIX specification: http://www.opengroup.org/susv3xsh/fesetenv.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fesetexceptflag
POSIX specification: http://www.opengroup.org/susv3xsh/fesetexceptflag.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fesetround
POSIX specification: http://www.opengroup.org/susv3xsh/fesetround.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fetestexcept
POSIX specification: http://www.opengroup.org/susv3xsh/fetestexcept.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
feupdateenv
POSIX specification: http://www.opengroup.org/susv3xsh/feupdateenv.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fflush
POSIX specification: http://www.opengroup.org/susv3xsh/fflush.html
Gnulib module: fflush
Portability problems fixed by Gnulib:
fflush
followed by fseek
or fseeko
, applied to an input
stream, should have the effect of positioning the underlying file descriptor.
It doesn't do this on some platforms.
fflush
on an input stream changes the position of the stream to the
end of the previous buffer, on some platforms: mingw.
Portability problems not fixed by Gnulib:
fflush
, ftell
, ftello
, fgetpos
behave incorrectly
on input streams that are opened in O_TEXT
mode and whose contents
contains Unix line terminators (LF), on some platforms: mingw.
errno
upon failure.
ffs
POSIX specification: http://www.opengroup.org/susv3xsh/ffs.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fgetc
POSIX specification: http://www.opengroup.org/susv3xsh/fgetc.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
upon failure.
fgetpos
POSIX specification: http://www.opengroup.org/susv3xsh/fgetpos.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fflush
, ftell
, ftello
, fgetpos
behave incorrectly
on input streams that are opened in O_TEXT
mode and whose contents
contains Unix line terminators (LF), on some platforms: mingw.
fgets
POSIX specification: http://www.opengroup.org/susv3xsh/fgets.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
upon failure.
fgetwc
POSIX specification: http://www.opengroup.org/susv3xsh/fgetwc.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
fgetws
POSIX specification: http://www.opengroup.org/susv3xsh/fgetws.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
fileno
POSIX specification: http://www.opengroup.org/susv3xsh/fileno.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
flockfile
POSIX specification: http://www.opengroup.org/susv3xsh/flockfile.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
floor
POSIX specification: http://www.opengroup.org/susv3xsh/floor.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
floorf
POSIX specification: http://www.opengroup.org/susv3xsh/floorf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
floorl
POSIX specification: http://www.opengroup.org/susv3xsh/floorl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fma
POSIX specification: http://www.opengroup.org/susv3xsh/fma.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fmaf
POSIX specification: http://www.opengroup.org/susv3xsh/fmaf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fmal
POSIX specification: http://www.opengroup.org/susv3xsh/fmal.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fmax
POSIX specification: http://www.opengroup.org/susv3xsh/fmax.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fmaxf
POSIX specification: http://www.opengroup.org/susv3xsh/fmaxf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fmaxl
POSIX specification: http://www.opengroup.org/susv3xsh/fmaxl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fmin
POSIX specification: http://www.opengroup.org/susv3xsh/fmin.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fminf
POSIX specification: http://www.opengroup.org/susv3xsh/fminf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fminl
POSIX specification: http://www.opengroup.org/susv3xsh/fminl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fmod
POSIX specification: http://www.opengroup.org/susv3xsh/fmod.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fmodf
POSIX specification: http://www.opengroup.org/susv3xsh/fmodf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fmodl
POSIX specification: http://www.opengroup.org/susv3xsh/fmodl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fmtmsg
POSIX specification: http://www.opengroup.org/susv3xsh/fmtmsg.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fnmatch
POSIX specification: http://www.opengroup.org/susv3xsh/fnmatch.html
Gnulib module: fnmatch-posix or fnmatch-gnu
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fopen
POSIX specification: http://www.opengroup.org/susv3xsh/fopen.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
upon failure.
'\n'
to CR/LF by default. Use the
"b"
flag if you need reliable binary I/O.
fork
POSIX specification: http://www.opengroup.org/susv3xsh/fork.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fork
followed by a call of the exec
family
(execl
, execlp
, execle
, execv
, execvp
,
or execve
) is less efficient than vfork
followed by the same
call. vfork
is a variant of fork
that has been introduced to
optimize the fork
/exec
pattern.
spawnvp
instead.
fpathconf
POSIX specification: http://www.opengroup.org/susv3xsh/fpathconf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fpclassify
POSIX specification: http://www.opengroup.org/susv3xsh/fpclassify.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fprintf
POSIX specification: http://www.opengroup.org/susv3xsh/fprintf.html
Gnulib module: fprintf-posix
Portability problems fixed by Gnulib:
hh
, ll
,
j
, t
, z
) on some platforms:
AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 2006, mingw, BeOS.
"%f"
, "%e"
, "%g"
of Infinity and NaN yields an
incorrect result on some platforms:
AIX 5.2, OSF/1 5.1, Solaris 10, mingw.
"%2$s"
, on some platforms:
NetBSD 3.0, mingw, BeOS.
'
flag on some platforms:
NetBSD 3.0, Cygwin 2006, mingw.
"%010f"
of NaN and Infinity yields an incorrect result (padded
with zeroes) on some platforms:
MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 2007, mingw.
Portability problems not fixed by Gnulib:
fputc
POSIX specification: http://www.opengroup.org/susv3xsh/fputc.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
upon failure.
fputs
POSIX specification: http://www.opengroup.org/susv3xsh/fputs.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
upon failure.
fputwc
POSIX specification: http://www.opengroup.org/susv3xsh/fputwc.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
fputws
POSIX specification: http://www.opengroup.org/susv3xsh/fputws.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
fread
POSIX specification: http://www.opengroup.org/susv3xsh/fread.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
upon failure.
free
POSIX specification: http://www.opengroup.org/susv3xsh/free.html
Gnulib module: free
Portability problems fixed by Gnulib:
free (NULL)
is not allowed.
Portability problems not fixed by Gnulib:
freeaddrinfo
POSIX specification: http://www.opengroup.org/susv3xsh/freeaddrinfo.html
Gnulib module: getaddrinfo
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
freopen
POSIX specification: http://www.opengroup.org/susv3xsh/freopen.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
upon failure.
frexp
POSIX specification: http://www.opengroup.org/susv3xsh/frexp.html
Gnulib module: frexp
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
frexpf
POSIX specification: http://www.opengroup.org/susv3xsh/frexpf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
frexpl
POSIX specification: http://www.opengroup.org/susv3xsh/frexpl.html
Gnulib module: frexpl
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fscanf
POSIX specification: http://www.opengroup.org/susv3xsh/fscanf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
upon failure.
hh
, ll
, j
,
t
, z
size specifiers.
fseek
POSIX specification: http://www.opengroup.org/susv3xsh/fseek.html
Gnulib module: fseek
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
upon failure.
long
is a 32-bit type, fseek
does not work
correctly with files larger than 2 GB. The fix is to use fseeko
instead and to invoke the AC_SYS_LARGEFILE
macro.
fseeko
POSIX specification: http://www.opengroup.org/susv3xsh/fseeko.html
Gnulib module: fseeko
Portability problems fixed by Gnulib:
fseeko
in <stdio.h>
is not enabled by default
on some platforms: glibc 2.3.6.
Portability problems not fixed by Gnulib:
off_t
is a 32-bit type, fseeko
does not work
correctly with files larger than 2 GB. The fix is to use the
AC_SYS_LARGEFILE
macro.
fsetpos
POSIX specification: http://www.opengroup.org/susv3xsh/fsetpos.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fstat
POSIX specification: http://www.opengroup.org/susv3xsh/fstat.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
off_t
is a 32-bit type, stat
may not correctly
report the size of files or block devices larger than 2 GB. The fix is to
use the AC_SYS_LARGEFILE
macro.
fstat
applied to the file descriptors 0 and 1, returns
different st_ino
values, even if standard input and standard output
are not redirected and refer to the same terminal.
fstatvfs
POSIX specification: http://www.opengroup.org/susv3xsh/fstatvfs.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fsync
POSIX specification: http://www.opengroup.org/susv3xsh/fsync.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ftell
POSIX specification: http://www.opengroup.org/susv3xsh/ftell.html
Gnulib module: ftell
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fflush
, ftell
, ftello
, fgetpos
behave incorrectly
on input streams that are opened in O_TEXT
mode and whose contents
contains Unix line terminators (LF), on some platforms: mingw.
long
is a 32-bit type, ftell
does not work
correctly with files larger than 2 GB. The fix is to use ftello
instead and to invoke the AC_SYS_LARGEFILE
macro.
ftello
POSIX specification: http://www.opengroup.org/susv3xsh/ftello.html
Gnulib module: ftello
Portability problems fixed by Gnulib:
ftello
in <stdio.h>
is not enabled by default
on some platforms: glibc 2.3.6.
Portability problems not fixed by Gnulib:
off_t
is a 32-bit type, ftello
does not work
correctly with files larger than 2 GB. The fix is to use the
AC_SYS_LARGEFILE
macro.
fflush
, ftell
, ftello
, fgetpos
behave incorrectly
on input streams that are opened in O_TEXT
mode and whose contents
contains Unix line terminators (LF), on some platforms: mingw.
ftime
POSIX specification: http://www.opengroup.org/susv3xsh/ftime.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
gettimeofday
or clock_gettime
instead, and use ftime
only as a fallback for
portability to Windows platforms.
ftok
POSIX specification: http://www.opengroup.org/susv3xsh/ftok.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ftruncate
POSIX specification: http://www.opengroup.org/susv3xsh/ftruncate.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ftrylockfile
POSIX specification: http://www.opengroup.org/susv3xsh/ftrylockfile.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ftw
POSIX specification: http://www.opengroup.org/susv3xsh/ftw.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
funlockfile
POSIX specification: http://www.opengroup.org/susv3xsh/funlockfile.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fwide
POSIX specification: http://www.opengroup.org/susv3xsh/fwide.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
fwide
is not guaranteed to be able to change a file stream's mode
to a different mode than the current one.
fwprintf
POSIX specification: http://www.opengroup.org/susv3xsh/fwprintf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
fwrite
POSIX specification: http://www.opengroup.org/susv3xsh/fwrite.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
upon failure.
fwscanf
POSIX specification: http://www.opengroup.org/susv3xsh/fwscanf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
gai_strerror
POSIX specification: http://www.opengroup.org/susv3xsh/gai_strerror.html
Gnulib module: getaddrinfo
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
gcvt
POSIX specification: http://www.opengroup.org/susv3xsh/gcvt.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sprintf
instead.
getaddrinfo
POSIX specification: http://www.opengroup.org/susv3xsh/getaddrinfo.html
Gnulib module: getaddrinfo
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
<ws2tcpip.h>
rather than in
<netdb.h>
.
getc
POSIX specification: http://www.opengroup.org/susv3xsh/getc.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
upon failure.
getc_unlocked
POSIX specification: http://www.opengroup.org/susv3xsh/getc_unlocked.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getchar
POSIX specification: http://www.opengroup.org/susv3xsh/getchar.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
upon failure.
getchar_unlocked
POSIX specification: http://www.opengroup.org/susv3xsh/getchar_unlocked.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getcontext
POSIX specification: http://www.opengroup.org/susv3xsh/getcontext.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getcwd
POSIX specification: http://www.opengroup.org/susv3xsh/getcwd.html
Gnulib module: getcwd
Portability problems fixed by Gnulib:
getcwd (NULL, n)
allocates memory for the result.
On other platforms, this call is not allowed.
PATH_MAX
)
correctly on some platforms.
Portability problems not fixed by Gnulib:
getdate
POSIX specification: http://www.opengroup.org/susv3xsh/getdate.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Gnulib provides a module getdate
that contains a function get_date
that has similar functionality as the getdate
function.
getdelim
POSIX specification: Draft 3 of 200x; to access it, free membership at http://www.opengroup.org/austin/ is required.
Gnulib module: getdelim
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getegid
POSIX specification: http://www.opengroup.org/susv3xsh/getegid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getenv
POSIX specification: http://www.opengroup.org/susv3xsh/getenv.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
geteuid
POSIX specification: http://www.opengroup.org/susv3xsh/geteuid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getgid
POSIX specification: http://www.opengroup.org/susv3xsh/getgid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getgrent
POSIX specification: http://www.opengroup.org/susv3xsh/getgrent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getgrgid
POSIX specification: http://www.opengroup.org/susv3xsh/getgrgid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getgrgid_r
POSIX specification: http://www.opengroup.org/susv3xsh/getgrgid_r.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getgrnam
POSIX specification: http://www.opengroup.org/susv3xsh/getgrnam.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getgrnam_r
POSIX specification: http://www.opengroup.org/susv3xsh/getgrnam_r.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getgroups
POSIX specification: http://www.opengroup.org/susv3xsh/getgroups.html
Gnulib module: getgroups
Portability problems fixed by Gnulib:
getgroups (0, 0)
always fails. See macro
`AC_FUNC_GETGROUPS'.
Portability problems not fixed by Gnulib:
gethostbyaddr
POSIX specification: http://www.opengroup.org/susv3xsh/gethostbyaddr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
gethostbyname
POSIX specification: http://www.opengroup.org/susv3xsh/gethostbyname.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
gethostent
POSIX specification: http://www.opengroup.org/susv3xsh/gethostent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
gethostid
POSIX specification: http://www.opengroup.org/susv3xsh/gethostid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
gethostname
POSIX specification: http://www.opengroup.org/susv3xsh/gethostname.html
Gnulib module: gethostname
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
EINVAL
, instead of returning a truncated host name.
getitimer
POSIX specification: http://www.opengroup.org/susv3xsh/getitimer.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getline
POSIX specification: Draft 3 of 200x; to access it, free membership at http://www.opengroup.org/austin/ is required.
Gnulib module: getline
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getlogin
POSIX specification: http://www.opengroup.org/susv3xsh/getlogin.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getlogin_r
POSIX specification: http://www.opengroup.org/susv3xsh/getlogin_r.html
Gnulib module: getlogin_r
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getmsg
POSIX specification: http://www.opengroup.org/susv3xsh/getmsg.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getnameinfo
POSIX specification: http://www.opengroup.org/susv3xsh/getnameinfo.html
Gnulib module: getaddrinfo
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getnetbyaddr
POSIX specification: http://www.opengroup.org/susv3xsh/getnetbyaddr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getnetbyname
POSIX specification: http://www.opengroup.org/susv3xsh/getnetbyname.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getnetent
POSIX specification: http://www.opengroup.org/susv3xsh/getnetent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getopt
POSIX specification: http://www.opengroup.org/susv3xsh/getopt.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getopt
allows
mixing option and non-option arguments on the command line in any order.
Other implementations, such as the one in Cygwin, enforce strict POSIX
compliance: they require that the option arguments precede the non-option
arguments. This is something to watch out in your program's testsuite.
Gnulib provides a module getopt
that has support for “long options”.
Compared to POSIX, it adds a header file <getopt.h>
and functions
getopt_long
and getopt_long_only
.
getpeername
POSIX specification: http://www.opengroup.org/susv3xsh/getpeername.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
socklen_t
type; in this case this function's
third argument type is `int *'.
getpgid
POSIX specification: http://www.opengroup.org/susv3xsh/getpgid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getpgrp
POSIX specification: http://www.opengroup.org/susv3xsh/getpgrp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getpid
POSIX specification: http://www.opengroup.org/susv3xsh/getpid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getpmsg
POSIX specification: http://www.opengroup.org/susv3xsh/getpmsg.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getppid
POSIX specification: http://www.opengroup.org/susv3xsh/getppid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getpriority
POSIX specification: http://www.opengroup.org/susv3xsh/getpriority.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getprotobyname
POSIX specification: http://www.opengroup.org/susv3xsh/getprotobyname.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getprotobynumber
POSIX specification: http://www.opengroup.org/susv3xsh/getprotobynumber.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getprotoent
POSIX specification: http://www.opengroup.org/susv3xsh/getprotoent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getpwent
POSIX specification: http://www.opengroup.org/susv3xsh/getpwent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getpwnam
POSIX specification: http://www.opengroup.org/susv3xsh/getpwnam.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getpwnam_r
POSIX specification: http://www.opengroup.org/susv3xsh/getpwnam_r.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getpwuid
POSIX specification: http://www.opengroup.org/susv3xsh/getpwuid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getpwuid_r
POSIX specification: http://www.opengroup.org/susv3xsh/getpwuid_r.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getrlimit
POSIX specification: http://www.opengroup.org/susv3xsh/getrlimit.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getrusage
POSIX specification: http://www.opengroup.org/susv3xsh/getrusage.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
struct rusage
with
meaningful values.
gets
POSIX specification: http://www.opengroup.org/susv3xsh/gets.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
upon failure.
getservbyname
POSIX specification: http://www.opengroup.org/susv3xsh/getservbyname.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getservbyport
POSIX specification: http://www.opengroup.org/susv3xsh/getservbyport.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getservent
POSIX specification: http://www.opengroup.org/susv3xsh/getservent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getsid
POSIX specification: http://www.opengroup.org/susv3xsh/getsid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getsockname
POSIX specification: http://www.opengroup.org/susv3xsh/getsockname.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
socklen_t
type; in this case this function's
third argument type is `int *'.
getsockopt
POSIX specification: http://www.opengroup.org/susv3xsh/getsockopt.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
socklen_t
type; in this case this function's
fifth argument type is `int *'.
setsockopt
function, but not the getsockopt
function.
getsubopt
POSIX specification: http://www.opengroup.org/susv3xsh/getsubopt.html
Gnulib module: getsubopt
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
gettimeofday
POSIX specification: http://www.opengroup.org/susv3xsh/gettimeofday.html
Gnulib module: gettimeofday
Portability problems fixed by Gnulib:
gettimeofday
clobbers the buffer in which
localtime
returns its result:
MacOS X 10.0.
Portability problems not fixed by Gnulib:
getuid
POSIX specification: http://www.opengroup.org/susv3xsh/getuid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getutxent
POSIX specification: http://www.opengroup.org/susv3xsh/getutxent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getutxid
POSIX specification: http://www.opengroup.org/susv3xsh/getutxid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getutxline
POSIX specification: http://www.opengroup.org/susv3xsh/getutxline.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getwc
POSIX specification: http://www.opengroup.org/susv3xsh/getwc.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
getwchar
POSIX specification: http://www.opengroup.org/susv3xsh/getwchar.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
getwd
POSIX specification: http://www.opengroup.org/susv3xsh/getwd.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getcwd
function instead.
glob
POSIX specification: http://www.opengroup.org/susv3xsh/glob.html
Gnulib module: glob
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
gl_flags
field.
globfree
POSIX specification: http://www.opengroup.org/susv3xsh/globfree.html
Gnulib module: glob
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
gmtime
POSIX specification: http://www.opengroup.org/susv3xsh/gmtime.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
gmtime_r
POSIX specification: http://www.opengroup.org/susv3xsh/gmtime_r.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
grantpt
POSIX specification: http://www.opengroup.org/susv3xsh/grantpt.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
h_errno
POSIX specification: http://www.opengroup.org/susv3xsh/h_errno.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
hcreate
POSIX specification: http://www.opengroup.org/susv3xsh/hcreate.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
hdestroy
POSIX specification: http://www.opengroup.org/susv3xsh/hdestroy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
hsearch
POSIX specification: http://www.opengroup.org/susv3xsh/hsearch.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
htonl
POSIX specification: http://www.opengroup.org/susv3xsh/htonl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
htons
POSIX specification: http://www.opengroup.org/susv3xsh/htons.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
hypot
POSIX specification: http://www.opengroup.org/susv3xsh/hypot.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
hypotf
POSIX specification: http://www.opengroup.org/susv3xsh/hypotf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
hypotl
POSIX specification: http://www.opengroup.org/susv3xsh/hypotl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
iconv
POSIX specification: http://www.opengroup.org/susv3xsh/iconv.html
Gnulib module: iconv
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
iconv
encounters an input character that is valid but that can
not be converted to the output character set, glibc's and GNU libiconv's
iconv
stop the conversion. Some other implementations put an
implementation-defined character into the output buffer. —
Gnulib provides higher-level facilities striconv
and striconveh
(wrappers around iconv
) that deal with conversion errors in a platform
independent way.
iconv_close
POSIX specification: http://www.opengroup.org/susv3xsh/iconv_close.html
Gnulib module: iconv
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
iconv_open
POSIX specification: http://www.opengroup.org/susv3xsh/iconv_open.html
Gnulib module: iconv and iconv_open
Portability problems fixed by either Gnulib module iconv
or iconv_open
:
Portability problems fixed by Gnulib module iconv_open
:
Portability problems not fixed by Gnulib:
if_freenameindex
POSIX specification: http://www.opengroup.org/susv3xsh/if_freenameindex.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
if_indextoname
POSIX specification: http://www.opengroup.org/susv3xsh/if_indextoname.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
if_nameindex
POSIX specification: http://www.opengroup.org/susv3xsh/if_nameindex.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
if_nametoindex
POSIX specification: http://www.opengroup.org/susv3xsh/if_nametoindex.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ilogb
POSIX specification: http://www.opengroup.org/susv3xsh/ilogb.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ilogbf
POSIX specification: http://www.opengroup.org/susv3xsh/ilogbf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ilogbl
POSIX specification: http://www.opengroup.org/susv3xsh/ilogbl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
imaxabs
POSIX specification: http://www.opengroup.org/susv3xsh/imaxabs.html
Gnulib module: imaxabs
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
imaxdiv
POSIX specification: http://www.opengroup.org/susv3xsh/imaxdiv.html
Gnulib module: imaxdiv
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
index
POSIX specification: http://www.opengroup.org/susv3xsh/index.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
strchr
instead.
inet_addr
POSIX specification: http://www.opengroup.org/susv3xsh/inet_addr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
inet_ntoa
POSIX specification: http://www.opengroup.org/susv3xsh/inet_ntoa.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
inet_ntoa
function need not be reentrant, and consequently
is not required to be thread safe. Implementations of
inet_ntoa
typically write the time stamp into static buffer.
If two threads call inet_ntoa
at roughly the same time, you
might end up with the wrong date in one of the threads, or some
undefined string.
Note: inet_ntoa
is specific for IPv4 addresses.
A protocol independent function is inet_ntop
.
inet_ntop
POSIX specification: http://www.opengroup.org/susv3xsh/inet_ntop.html
Gnulib module: inet_ntop
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
inet_pton
POSIX specification: http://www.opengroup.org/susv3xsh/inet_pton.html
Gnulib module: inet_pton
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
initstate
POSIX specification: http://www.opengroup.org/susv3xsh/initstate.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
insque
POSIX specification: http://www.opengroup.org/susv3xsh/insque.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ioctl
POSIX specification: http://www.opengroup.org/susv3xsh/ioctl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ioctl
requests are platform and hardware specific.
isalnum
POSIX specification: http://www.opengroup.org/susv3xsh/isalnum.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
isalpha
POSIX specification: http://www.opengroup.org/susv3xsh/isalpha.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
isascii
POSIX specification: http://www.opengroup.org/susv3xsh/isascii.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
isastream
POSIX specification: http://www.opengroup.org/susv3xsh/isastream.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
isatty
POSIX specification: http://www.opengroup.org/susv3xsh/isatty.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
isatty
also returns true for character devices such as
NUL.
isblank
POSIX specification: http://www.opengroup.org/susv3xsh/isblank.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
iscntrl
POSIX specification: http://www.opengroup.org/susv3xsh/iscntrl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
isdigit
POSIX specification: http://www.opengroup.org/susv3xsh/isdigit.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
isfinite
POSIX specification: http://www.opengroup.org/susv3xsh/isfinite.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
isgraph
POSIX specification: http://www.opengroup.org/susv3xsh/isgraph.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
isgreater
POSIX specification: http://www.opengroup.org/susv3xsh/isgreater.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
isgreaterequal
POSIX specification: http://www.opengroup.org/susv3xsh/isgreaterequal.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
isinf
POSIX specification: http://www.opengroup.org/susv3xsh/isinf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
isless
POSIX specification: http://www.opengroup.org/susv3xsh/isless.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
islessequal
POSIX specification: http://www.opengroup.org/susv3xsh/islessequal.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
islessgreater
POSIX specification: http://www.opengroup.org/susv3xsh/islessgreater.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
islower
POSIX specification: http://www.opengroup.org/susv3xsh/islower.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
isnan
POSIX specification: http://www.opengroup.org/susv3xsh/isnan.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
isnormal
POSIX specification: http://www.opengroup.org/susv3xsh/isnormal.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
isprint
POSIX specification: http://www.opengroup.org/susv3xsh/isprint.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ispunct
POSIX specification: http://www.opengroup.org/susv3xsh/ispunct.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
isspace
POSIX specification: http://www.opengroup.org/susv3xsh/isspace.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
isunordered
POSIX specification: http://www.opengroup.org/susv3xsh/isunordered.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
isupper
POSIX specification: http://www.opengroup.org/susv3xsh/isupper.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
iswalnum
POSIX specification: http://www.opengroup.org/susv3xsh/iswalnum.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
iswalpha
POSIX specification: http://www.opengroup.org/susv3xsh/iswalpha.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
iswblank
POSIX specification: http://www.opengroup.org/susv3xsh/iswblank.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
iswcntrl
POSIX specification: http://www.opengroup.org/susv3xsh/iswcntrl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
iswctype
POSIX specification: http://www.opengroup.org/susv3xsh/iswctype.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
iswdigit
POSIX specification: http://www.opengroup.org/susv3xsh/iswdigit.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
iswgraph
POSIX specification: http://www.opengroup.org/susv3xsh/iswgraph.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
iswlower
POSIX specification: http://www.opengroup.org/susv3xsh/iswlower.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
iswprint
POSIX specification: http://www.opengroup.org/susv3xsh/iswprint.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
iswpunct
POSIX specification: http://www.opengroup.org/susv3xsh/iswpunct.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
iswspace
POSIX specification: http://www.opengroup.org/susv3xsh/iswspace.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
iswupper
POSIX specification: http://www.opengroup.org/susv3xsh/iswupper.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
iswxdigit
POSIX specification: http://www.opengroup.org/susv3xsh/iswxdigit.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
isxdigit
POSIX specification: http://www.opengroup.org/susv3xsh/isxdigit.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
j0
POSIX specification: http://www.opengroup.org/susv3xsh/j0.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
j1
POSIX specification: http://www.opengroup.org/susv3xsh/j1.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
jn
POSIX specification: http://www.opengroup.org/susv3xsh/jn.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
jrand48
POSIX specification: http://www.opengroup.org/susv3xsh/jrand48.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
kill
POSIX specification: http://www.opengroup.org/susv3xsh/kill.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
killpg
POSIX specification: http://www.opengroup.org/susv3xsh/killpg.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
l64a
POSIX specification: http://www.opengroup.org/susv3xsh/l64a.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
labs
POSIX specification: http://www.opengroup.org/susv3xsh/labs.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
lchown
POSIX specification: http://www.opengroup.org/susv3xsh/lchown.html
Gnulib module: lchown
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
lcong48
POSIX specification: http://www.opengroup.org/susv3xsh/lcong48.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ldexp
POSIX specification: http://www.opengroup.org/susv3xsh/ldexp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ldexpf
POSIX specification: http://www.opengroup.org/susv3xsh/ldexpf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ldexpl
POSIX specification: http://www.opengroup.org/susv3xsh/ldexpl.html
Gnulib module: ldexpl
Portability problems fixed by Gnulib:
<math.h>
on some platforms:
MacOS X.
Portability problems not fixed by Gnulib:
ldiv
POSIX specification: http://www.opengroup.org/susv3xsh/ldiv.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
lfind
POSIX specification: http://www.opengroup.org/susv3xsh/lfind.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
lgamma
POSIX specification: http://www.opengroup.org/susv3xsh/lgamma.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
lgammaf
POSIX specification: http://www.opengroup.org/susv3xsh/lgammaf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
lgammal
POSIX specification: http://www.opengroup.org/susv3xsh/lgammal.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
link
POSIX specification: http://www.opengroup.org/susv3xsh/link.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
lio_listio
POSIX specification: http://www.opengroup.org/susv3xsh/lio_listio.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
listen
POSIX specification: http://www.opengroup.org/susv3xsh/listen.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
llabs
POSIX specification: http://www.opengroup.org/susv3xsh/llabs.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
lldiv
POSIX specification: http://www.opengroup.org/susv3xsh/lldiv.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
llrint
POSIX specification: http://www.opengroup.org/susv3xsh/llrint.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
llrintf
POSIX specification: http://www.opengroup.org/susv3xsh/llrintf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
llrintl
POSIX specification: http://www.opengroup.org/susv3xsh/llrintl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
llround
POSIX specification: http://www.opengroup.org/susv3xsh/llround.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
llroundf
POSIX specification: http://www.opengroup.org/susv3xsh/llroundf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
llroundl
POSIX specification: http://www.opengroup.org/susv3xsh/llroundl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
localeconv
POSIX specification: http://www.opengroup.org/susv3xsh/localeconv.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
localtime
POSIX specification: http://www.opengroup.org/susv3xsh/localtime.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
localtime_r
POSIX specification: http://www.opengroup.org/susv3xsh/localtime_r.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
lockf
POSIX specification: http://www.opengroup.org/susv3xsh/lockf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
log
POSIX specification: http://www.opengroup.org/susv3xsh/log.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
log10
POSIX specification: http://www.opengroup.org/susv3xsh/log10.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
log10f
POSIX specification: http://www.opengroup.org/susv3xsh/log10f.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
log10l
POSIX specification: http://www.opengroup.org/susv3xsh/log10l.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
log1p
POSIX specification: http://www.opengroup.org/susv3xsh/log1p.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
log1pf
POSIX specification: http://www.opengroup.org/susv3xsh/log1pf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
log1pl
POSIX specification: http://www.opengroup.org/susv3xsh/log1pl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
log2
POSIX specification: http://www.opengroup.org/susv3xsh/log2.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
log2f
POSIX specification: http://www.opengroup.org/susv3xsh/log2f.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
log2l
POSIX specification: http://www.opengroup.org/susv3xsh/log2l.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
logb
POSIX specification: http://www.opengroup.org/susv3xsh/logb.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
logbf
POSIX specification: http://www.opengroup.org/susv3xsh/logbf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
logbl
POSIX specification: http://www.opengroup.org/susv3xsh/logbl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
logf
POSIX specification: http://www.opengroup.org/susv3xsh/logf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
logl
POSIX specification: http://www.opengroup.org/susv3xsh/logl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
longjmp
POSIX specification: http://www.opengroup.org/susv3xsh/longjmp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sigaltstack
), on FreeBSD, NetBSD,
OpenBSD, you need to clear the SS_ONSTACK
flag in the stack_t
structure managed by the kernel.
lrand48
POSIX specification: http://www.opengroup.org/susv3xsh/lrand48.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
lrint
POSIX specification: http://www.opengroup.org/susv3xsh/lrint.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
lrintf
POSIX specification: http://www.opengroup.org/susv3xsh/lrintf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
lrintl
POSIX specification: http://www.opengroup.org/susv3xsh/lrintl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
lround
POSIX specification: http://www.opengroup.org/susv3xsh/lround.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
lroundf
POSIX specification: http://www.opengroup.org/susv3xsh/lroundf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
lroundl
POSIX specification: http://www.opengroup.org/susv3xsh/lroundl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
lsearch
POSIX specification: http://www.opengroup.org/susv3xsh/lsearch.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
lseek
POSIX specification: http://www.opengroup.org/susv3xsh/lseek.html
Gnulib module: lseek
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
off_t
is a 32-bit type, lseek
does not work
correctly with files larger than 2 GB. The fix is to use the
AC_SYS_LARGEFILE
macro.
lseek
should set
errno
to EINVAL
and return -1, but in this situation a
SIGSYS
signal is raised on some platforms:
IRIX 6.5.
lseek
function fails, POSIX says that the file offset remains
unchanged. But on some platforms, attempting to set a negative file offset
fails and sets the file offset to 0:
BeOS.
lstat
POSIX specification: http://www.opengroup.org/susv3xsh/lstat.html
Gnulib module: lstat
Portability problems fixed by Gnulib:
lstat
does not exist.
Portability problems not fixed by Gnulib:
off_t
is a 32-bit type, lstat
may not
correctly report the size of files or block devices larger than 2 GB. The fix
is to use the AC_SYS_LARGEFILE
macro.
makecontext
POSIX specification: http://www.opengroup.org/susv3xsh/makecontext.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
malloc
POSIX specification: http://www.opengroup.org/susv3xsh/malloc.html
Gnulib module: malloc-posix
Portability problems fixed by Gnulib:
errno
to ENOMEM
on
some platforms:
mingw.
Portability problems not fixed by Gnulib:
Extension: Gnulib provides a module `malloc' that substitutes a
malloc
implementation that behaves more like the glibc implementation.
mblen
POSIX specification: http://www.opengroup.org/susv3xsh/mblen.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mbrlen
POSIX specification: http://www.opengroup.org/susv3xsh/mbrlen.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mbrtowc
POSIX specification: http://www.opengroup.org/susv3xsh/mbrtowc.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
mbsinit
POSIX specification: http://www.opengroup.org/susv3xsh/mbsinit.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mbsrtowcs
POSIX specification: http://www.opengroup.org/susv3xsh/mbsrtowcs.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
mbstowcs
POSIX specification: http://www.opengroup.org/susv3xsh/mbstowcs.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
mbtowc
POSIX specification: http://www.opengroup.org/susv3xsh/mbtowc.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
memccpy
POSIX specification: http://www.opengroup.org/susv3xsh/memccpy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
memchr
POSIX specification: http://www.opengroup.org/susv3xsh/memchr.html
Gnulib module: memchr
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
memcmp
POSIX specification: http://www.opengroup.org/susv3xsh/memcmp.html
Gnulib module: memcmp
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
memcpy
POSIX specification: http://www.opengroup.org/susv3xsh/memcpy.html
Gnulib module: memcpy
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
memmove
POSIX specification: http://www.opengroup.org/susv3xsh/memmove.html
Gnulib module: memmove
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
memset
POSIX specification: http://www.opengroup.org/susv3xsh/memset.html
Gnulib module: memset
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mkdir
POSIX specification: http://www.opengroup.org/susv3xsh/mkdir.html
Gnulib module: mkdir
Portability problems fixed by Gnulib:
_mkdir
and takes only one argument. The fix (without Gnulib) is to define a macro
like this:
#define mkdir ((int (*)()) _mkdir)
or
#define mkdir(path,mode) _mkdir (path)
Portability problems not fixed by Gnulib:
mkfifo
POSIX specification: http://www.opengroup.org/susv3xsh/mkfifo.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mknod
POSIX specification: http://www.opengroup.org/susv3xsh/mknod.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mkstemp
POSIX specification: http://www.opengroup.org/susv3xsh/mkstemp.html
Gnulib module: mkstemp
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mkstemp
can create a
world or group writable or readable file, if you haven't set the process
umask to 077. This is a security risk.
mktemp
POSIX specification: http://www.opengroup.org/susv3xsh/mktemp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mkstemp
instead.
mktime
POSIX specification: http://www.opengroup.org/susv3xsh/mktime.html
Gnulib module: mktime
Portability problems fixed by Gnulib:
mktime
may go into an endless loop on some platforms.
mktime
may occasionally return wrong results on some platforms.
Portability problems not fixed by Gnulib:
mlock
POSIX specification: http://www.opengroup.org/susv3xsh/mlock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mlockall
POSIX specification: http://www.opengroup.org/susv3xsh/mlockall.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mmap
POSIX specification: http://www.opengroup.org/susv3xsh/mmap.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
MAP_ANONYMOUS | MAP_PRIVATE
and -1
instead of a file descriptor;
on others you have to use a read-only file descriptor of /dev/zero.
MAP_FIXED
, often causes mmap
to fail. Better pass NULL
in this case.
MAP_FIXED
basically never works. On other platforms, it depends
on the circumstances whether memory can be returned at a given address.
modf
POSIX specification: http://www.opengroup.org/susv3xsh/modf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
modff
POSIX specification: http://www.opengroup.org/susv3xsh/modff.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
modfl
POSIX specification: http://www.opengroup.org/susv3xsh/modfl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mprotect
POSIX specification: http://www.opengroup.org/susv3xsh/mprotect.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mprotect
on memory regions allocated
with malloc
.
mq_close
POSIX specification: http://www.opengroup.org/susv3xsh/mq_close.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mq_getattr
POSIX specification: http://www.opengroup.org/susv3xsh/mq_getattr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mq_notify
POSIX specification: http://www.opengroup.org/susv3xsh/mq_notify.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mq_open
POSIX specification: http://www.opengroup.org/susv3xsh/mq_open.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mq_receive
POSIX specification: http://www.opengroup.org/susv3xsh/mq_receive.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mq_send
POSIX specification: http://www.opengroup.org/susv3xsh/mq_send.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mq_setattr
POSIX specification: http://www.opengroup.org/susv3xsh/mq_setattr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mq_timedreceive
POSIX specification: http://www.opengroup.org/susv3xsh/mq_timedreceive.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mq_timedsend
POSIX specification: http://www.opengroup.org/susv3xsh/mq_timedsend.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mq_unlink
POSIX specification: http://www.opengroup.org/susv3xsh/mq_unlink.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mrand48
POSIX specification: http://www.opengroup.org/susv3xsh/mrand48.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
msgctl
POSIX specification: http://www.opengroup.org/susv3xsh/msgctl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
msgget
POSIX specification: http://www.opengroup.org/susv3xsh/msgget.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
msgrcv
POSIX specification: http://www.opengroup.org/susv3xsh/msgrcv.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
msgsnd
POSIX specification: http://www.opengroup.org/susv3xsh/msgsnd.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
msync
POSIX specification: http://www.opengroup.org/susv3xsh/msync.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
msync
takes only two arguments.
munlock
POSIX specification: http://www.opengroup.org/susv3xsh/munlock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
munlockall
POSIX specification: http://www.opengroup.org/susv3xsh/munlockall.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
munmap
POSIX specification: http://www.opengroup.org/susv3xsh/munmap.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
nan
POSIX specification: http://www.opengroup.org/susv3xsh/nan.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
nanf
POSIX specification: http://www.opengroup.org/susv3xsh/nanf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
nanl
POSIX specification: http://www.opengroup.org/susv3xsh/nanl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
nanosleep
POSIX specification: http://www.opengroup.org/susv3xsh/nanosleep.html
Gnulib module: nanosleep
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
nearbyint
POSIX specification: http://www.opengroup.org/susv3xsh/nearbyint.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
nearbyintf
POSIX specification: http://www.opengroup.org/susv3xsh/nearbyintf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
nearbyintl
POSIX specification: http://www.opengroup.org/susv3xsh/nearbyintl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
nextafter
POSIX specification: http://www.opengroup.org/susv3xsh/nextafter.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
nextafterf
POSIX specification: http://www.opengroup.org/susv3xsh/nextafterf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
nextafterl
POSIX specification: http://www.opengroup.org/susv3xsh/nextafterl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
nexttoward
POSIX specification: http://www.opengroup.org/susv3xsh/nexttoward.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
nexttowardf
POSIX specification: http://www.opengroup.org/susv3xsh/nexttowardf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
nexttowardl
POSIX specification: http://www.opengroup.org/susv3xsh/nexttowardl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
nftw
POSIX specification: http://www.opengroup.org/susv3xsh/nftw.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
nice
POSIX specification: http://www.opengroup.org/susv3xsh/nice.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
nice
returned 0 upon success.
nl_langinfo
POSIX specification: http://www.opengroup.org/susv3xsh/nl_langinfo.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
nl_langinfo
but not the CODESET
macro.
nl_langinfo(CODESET)
always
returns "US-ASCII"
.
nrand48
POSIX specification: http://www.opengroup.org/susv3xsh/nrand48.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ntohl
POSIX specification: http://www.opengroup.org/susv3xsh/ntohl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ntohs
POSIX specification: http://www.opengroup.org/susv3xsh/ntohs.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
open
POSIX specification: http://www.opengroup.org/susv3xsh/open.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
O_TEXT
mode by
default; this means that it translates '\n' to CR/LF by default. Use the
O_BINARY
flag if you need reliable binary I/O.
off_t
is a 32-bit type, open
may not work
correctly with files larger than 2 GB. The fix is to use the
AC_SYS_LARGEFILE
macro.
opendir
POSIX specification: http://www.opengroup.org/susv3xsh/opendir.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
openlog
POSIX specification: http://www.opengroup.org/susv3xsh/openlog.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
optarg
POSIX specification: http://www.opengroup.org/susv3xsh/optarg.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pathconf
POSIX specification: http://www.opengroup.org/susv3xsh/pathconf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pause
POSIX specification: http://www.opengroup.org/susv3xsh/pause.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pclose
POSIX specification: http://www.opengroup.org/susv3xsh/pclose.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
perror
POSIX specification: http://www.opengroup.org/susv3xsh/perror.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pipe
POSIX specification: http://www.opengroup.org/susv3xsh/pipe.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
poll
POSIX specification: http://www.opengroup.org/susv3xsh/poll.html
Gnulib module: poll
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
popen
POSIX specification: http://www.opengroup.org/susv3xsh/popen.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_fadvise
POSIX specification: http://www.opengroup.org/susv3xsh/posix_fadvise.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_fallocate
POSIX specification: http://www.opengroup.org/susv3xsh/posix_fallocate.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_madvise
POSIX specification: http://www.opengroup.org/susv3xsh/posix_madvise.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_mem_offset
POSIX specification: http://www.opengroup.org/susv3xsh/posix_mem_offset.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_memalign
POSIX specification: http://www.opengroup.org/susv3xsh/posix_memalign.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_openpt
POSIX specification: http://www.opengroup.org/susv3xsh/posix_openpt.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_spawn
POSIX specification: http://www.opengroup.org/susv3xsh/posix_spawn.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_spawn_file_actions_addclose
POSIX specification: http://www.opengroup.org/susv3xsh/posix_spawn_file_actions_addclose.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_spawn_file_actions_adddup2
POSIX specification: http://www.opengroup.org/susv3xsh/posix_spawn_file_actions_adddup2.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_spawn_file_actions_addopen
POSIX specification: http://www.opengroup.org/susv3xsh/posix_spawn_file_actions_addopen.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_spawn_file_actions_destroy
POSIX specification: http://www.opengroup.org/susv3xsh/posix_spawn_file_actions_destroy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_spawn_file_actions_init
POSIX specification: http://www.opengroup.org/susv3xsh/posix_spawn_file_actions_init.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_spawnattr_destroy
POSIX specification: http://www.opengroup.org/susv3xsh/posix_spawnattr_destroy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_spawnattr_getflags
POSIX specification: http://www.opengroup.org/susv3xsh/posix_spawnattr_getflags.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_spawnattr_getpgroup
POSIX specification: http://www.opengroup.org/susv3xsh/posix_spawnattr_getpgroup.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_spawnattr_getschedparam
POSIX specification: http://www.opengroup.org/susv3xsh/posix_spawnattr_getschedparam.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_spawnattr_getschedpolicy
POSIX specification: http://www.opengroup.org/susv3xsh/posix_spawnattr_getschedpolicy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_spawnattr_getsigdefault
POSIX specification: http://www.opengroup.org/susv3xsh/posix_spawnattr_getsigdefault.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_spawnattr_getsigmask
POSIX specification: http://www.opengroup.org/susv3xsh/posix_spawnattr_getsigmask.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_spawnattr_init
POSIX specification: http://www.opengroup.org/susv3xsh/posix_spawnattr_init.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_spawnattr_setflags
POSIX specification: http://www.opengroup.org/susv3xsh/posix_spawnattr_setflags.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_spawnattr_setpgroup
POSIX specification: http://www.opengroup.org/susv3xsh/posix_spawnattr_setpgroup.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_spawnattr_setschedparam
POSIX specification: http://www.opengroup.org/susv3xsh/posix_spawnattr_setschedparam.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_spawnattr_setschedpolicy
POSIX specification: http://www.opengroup.org/susv3xsh/posix_spawnattr_setschedpolicy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_spawnattr_setsigdefault
POSIX specification: http://www.opengroup.org/susv3xsh/posix_spawnattr_setsigdefault.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_spawnattr_setsigmask
POSIX specification: http://www.opengroup.org/susv3xsh/posix_spawnattr_setsigmask.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_spawnp
POSIX specification: http://www.opengroup.org/susv3xsh/posix_spawnp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_attr_destroy
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_attr_destroy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_attr_getclockres
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_attr_getclockres.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_attr_getcreatetime
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_attr_getcreatetime.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_attr_getgenversion
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_attr_getgenversion.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_attr_getinherited
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_attr_getinherited.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_attr_getlogfullpolicy
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_attr_getlogfullpolicy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_attr_getlogsize
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_attr_getlogsize.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_attr_getmaxdatasize
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_attr_getmaxdatasize.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_attr_getmaxsystemeventsize
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_attr_getmaxsystemeventsize.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_attr_getmaxusereventsize
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_attr_getmaxusereventsize.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_attr_getname
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_attr_getname.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_attr_getstreamfullpolicy
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_attr_getstreamfullpolicy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_attr_getstreamsize
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_attr_getstreamsize.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_attr_init
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_attr_init.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_attr_setinherited
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_attr_setinherited.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_attr_setlogfullpolicy
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_attr_setlogfullpolicy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_attr_setlogsize
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_attr_setlogsize.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_attr_setmaxdatasize
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_attr_setmaxdatasize.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_attr_setname
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_attr_setname.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_attr_setstreamfullpolicy
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_attr_setstreamfullpolicy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_attr_setstreamsize
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_attr_setstreamsize.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_clear
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_clear.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_close
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_close.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_create
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_create.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_create_withlog
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_create_withlog.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_event
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_event.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_eventid_equal
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_eventid_equal.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_eventid_get_name
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_eventid_get_name.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_eventid_open
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_eventid_open.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_eventset_add
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_eventset_add.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_eventset_del
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_eventset_del.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_eventset_empty
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_eventset_empty.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_eventset_fill
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_eventset_fill.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_eventset_ismember
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_eventset_ismember.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_eventtypelist_getnext_id
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_eventtypelist_getnext_id.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_eventtypelist_rewind
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_eventtypelist_rewind.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_flush
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_flush.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_get_attr
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_get_attr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_get_filter
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_get_filter.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_get_status
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_get_status.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_getnext_event
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_getnext_event.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_open
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_open.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_rewind
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_rewind.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_set_filter
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_set_filter.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_shutdown
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_shutdown.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_start
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_start.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_stop
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_stop.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_timedgetnext_event
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_timedgetnext_event.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_trid_eventid_open
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_trid_eventid_open.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_trace_trygetnext_event
POSIX specification: http://www.opengroup.org/susv3xsh/posix_trace_trygetnext_event.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_typed_mem_get_info
POSIX specification: http://www.opengroup.org/susv3xsh/posix_typed_mem_get_info.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
posix_typed_mem_open
POSIX specification: http://www.opengroup.org/susv3xsh/posix_typed_mem_open.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pow
POSIX specification: http://www.opengroup.org/susv3xsh/pow.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
powf
POSIX specification: http://www.opengroup.org/susv3xsh/powf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
powl
POSIX specification: http://www.opengroup.org/susv3xsh/powl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pread
POSIX specification: http://www.opengroup.org/susv3xsh/pread.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
printf
POSIX specification: http://www.opengroup.org/susv3xsh/printf.html
Gnulib module: printf-posix
Portability problems fixed by Gnulib:
hh
, ll
,
j
, t
, z
) on some platforms:
AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 2006, mingw, BeOS.
"%f"
, "%e"
, "%g"
of Infinity and NaN yields an
incorrect result on some platforms:
AIX 5.2, OSF/1 5.1, Solaris 10, mingw.
"%2$s"
, on some platforms:
NetBSD 3.0, mingw, BeOS.
'
flag on some platforms:
NetBSD 3.0, Cygwin 2006, mingw.
"%010f"
of NaN and Infinity yields an incorrect result (padded
with zeroes) on some platforms:
MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 2007, mingw.
Portability problems not fixed by Gnulib:
pselect
POSIX specification: http://www.opengroup.org/susv3xsh/pselect.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_atfork
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_atfork.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_attr_destroy
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_attr_destroy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_attr_getdetachstate
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_attr_getdetachstate.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_attr_getguardsize
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_attr_getguardsize.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_attr_getinheritsched
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_attr_getinheritsched.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_attr_getschedparam
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_attr_getschedparam.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_attr_getschedpolicy
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_attr_getschedpolicy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_attr_getscope
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_attr_getscope.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_attr_getstack
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_attr_getstack.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_attr_getstackaddr
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_attr_getstackaddr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_attr_getstacksize
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_attr_getstacksize.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_attr_init
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_attr_init.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_attr_setdetachstate
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_attr_setdetachstate.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_attr_setguardsize
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_attr_setguardsize.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_attr_setinheritsched
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_attr_setinheritsched.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_attr_setschedparam
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_attr_setschedparam.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_attr_setschedpolicy
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_attr_setschedpolicy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_attr_setscope
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_attr_setscope.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_attr_setstack
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_attr_setstack.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_attr_setstackaddr
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_attr_setstackaddr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_attr_setstacksize
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_attr_setstacksize.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_barrier_destroy
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_barrier_destroy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_barrier_init
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_barrier_init.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_barrier_wait
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_barrier_wait.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_barrierattr_destroy
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_barrierattr_destroy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_barrierattr_getpshared
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_barrierattr_getpshared.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_barrierattr_init
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_barrierattr_init.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_barrierattr_setpshared
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_barrierattr_setpshared.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_cancel
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_cancel.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_cleanup_pop
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_cleanup_pop.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_cleanup_push
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_cleanup_push.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_cond_broadcast
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_cond_broadcast.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_cond_destroy
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_cond_destroy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_cond_init
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_cond_init.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_cond_signal
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_cond_signal.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_cond_timedwait
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_cond_timedwait.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_cond_wait
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_cond_wait.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_condattr_destroy
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_condattr_destroy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_condattr_getclock
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_condattr_getclock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_condattr_getpshared
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_condattr_getpshared.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_condattr_init
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_condattr_init.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_condattr_setclock
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_condattr_setclock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_condattr_setpshared
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_condattr_setpshared.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_create
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_create.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_detach
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_detach.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_equal
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_equal.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_exit
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_exit.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_getconcurrency
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_getconcurrency.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_getcpuclockid
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_getcpuclockid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_getschedparam
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_getschedparam.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_getspecific
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_getspecific.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_join
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_join.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_key_create
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_key_create.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_key_delete
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_key_delete.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_kill
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_kill.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_mutex_destroy
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_mutex_destroy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_mutex_getprioceiling
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_mutex_getprioceiling.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_mutex_init
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_mutex_init.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_mutex_lock
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_mutex_lock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_mutex_setprioceiling
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_mutex_setprioceiling.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_mutex_timedlock
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_mutex_timedlock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_mutex_trylock
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_mutex_trylock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_mutex_unlock
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_mutex_unlock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_mutexattr_destroy
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_mutexattr_destroy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_mutexattr_getprioceiling
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_mutexattr_getprioceiling.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_mutexattr_getprotocol
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_mutexattr_getprotocol.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_mutexattr_getpshared
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_mutexattr_getpshared.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_mutexattr_gettype
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_mutexattr_gettype.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_mutexattr_init
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_mutexattr_init.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_mutexattr_setprioceiling
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_mutexattr_setprioceiling.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_mutexattr_setprotocol
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_mutexattr_setprotocol.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_mutexattr_setpshared
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_mutexattr_setpshared.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_mutexattr_settype
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_mutexattr_settype.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_once
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_once.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_rwlock_destroy
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_rwlock_destroy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_rwlock_init
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_rwlock_init.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_rwlock_rdlock
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_rwlock_rdlock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_rwlock_timedrdlock
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_rwlock_timedrdlock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_rwlock_timedwrlock
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_rwlock_timedwrlock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_rwlock_tryrdlock
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_rwlock_tryrdlock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_rwlock_trywrlock
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_rwlock_trywrlock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_rwlock_unlock
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_rwlock_unlock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_rwlock_wrlock
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_rwlock_wrlock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_rwlockattr_destroy
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_rwlockattr_destroy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_rwlockattr_getpshared
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_rwlockattr_getpshared.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_rwlockattr_init
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_rwlockattr_init.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_rwlockattr_setpshared
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_rwlockattr_setpshared.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_self
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_self.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_setcancelstate
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_setcancelstate.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_setcanceltype
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_setcanceltype.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_setconcurrency
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_setconcurrency.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_setschedparam
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_setschedparam.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_setschedprio
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_setschedprio.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_setspecific
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_setspecific.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_sigmask
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_sigmask.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_spin_destroy
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_spin_destroy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_spin_init
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_spin_init.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_spin_lock
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_spin_lock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_spin_trylock
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_spin_trylock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_spin_unlock
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_spin_unlock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
pthread_testcancel
POSIX specification: http://www.opengroup.org/susv3xsh/pthread_testcancel.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ptsname
POSIX specification: http://www.opengroup.org/susv3xsh/ptsname.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
putc
POSIX specification: http://www.opengroup.org/susv3xsh/putc.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
upon failure.
putc_unlocked
POSIX specification: http://www.opengroup.org/susv3xsh/putc_unlocked.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
putchar
POSIX specification: http://www.opengroup.org/susv3xsh/putchar.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
upon failure.
putchar_unlocked
POSIX specification: http://www.opengroup.org/susv3xsh/putchar_unlocked.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
putenv
POSIX specification: http://www.opengroup.org/susv3xsh/putenv.html
Gnulib module: putenv
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
putmsg
POSIX specification: http://www.opengroup.org/susv3xsh/putmsg.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
putpmsg
POSIX specification: http://www.opengroup.org/susv3xsh/putpmsg.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
puts
POSIX specification: http://www.opengroup.org/susv3xsh/puts.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
upon failure.
pututxline
POSIX specification: http://www.opengroup.org/susv3xsh/pututxline.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
putwc
POSIX specification: http://www.opengroup.org/susv3xsh/putwc.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
putwchar
POSIX specification: http://www.opengroup.org/susv3xsh/putwchar.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
pwrite
POSIX specification: http://www.opengroup.org/susv3xsh/pwrite.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
qsort
POSIX specification: http://www.opengroup.org/susv3xsh/qsort.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
raise
POSIX specification: http://www.opengroup.org/susv3xsh/raise.html
Gnulib module: raise
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
rand
POSIX specification: http://www.opengroup.org/susv3xsh/rand.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
rand_r
POSIX specification: http://www.opengroup.org/susv3xsh/rand_r.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
random
POSIX specification: http://www.opengroup.org/susv3xsh/random.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
read
POSIX specification: http://www.opengroup.org/susv3xsh/read.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
readdir
POSIX specification: http://www.opengroup.org/susv3xsh/readdir.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
readdir_r
POSIX specification: http://www.opengroup.org/susv3xsh/readdir_r.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
readlink
POSIX specification: http://www.opengroup.org/susv3xsh/readlink.html
Gnulib module: readlink
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
readlink
is called on a directory: In the case of NFS mounted
directories, Cygwin sets errno
to ENOENT
or EIO
instead of
EINVAL
. To avoid this problem, check for a directory before calling
readlink
.
readlink
is called on a file that is not a symbolic link:
Irix may set errno
to ENXIO
instead of EINVAL
. Cygwin
may set errno to EACCES
instead of EINVAL
.
readv
POSIX specification: http://www.opengroup.org/susv3xsh/readv.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
realloc
POSIX specification: http://www.opengroup.org/susv3xsh/realloc.html
Gnulib module: realloc-posix
Portability problems fixed by Gnulib:
errno
to ENOMEM
on
some platforms:
mingw.
Portability problems not fixed by Gnulib:
Extension: Gnulib provides a module `realloc' that substitutes a
realloc
implementation that behaves more like the glibc implementation.
realpath
POSIX specification: http://www.opengroup.org/susv3xsh/realpath.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Extension: Gnulib provides a module `canonicalize-lgpl' that defines a
function canonicalize_file_name
that is like realpath
but without
size limitations.
recv
POSIX specification: http://www.opengroup.org/susv3xsh/recv.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
recvfrom
POSIX specification: http://www.opengroup.org/susv3xsh/recvfrom.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
socklen_t
type; in this case this function's
sixth argument type is `int *'.
recvmsg
POSIX specification: http://www.opengroup.org/susv3xsh/recvmsg.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
regcomp
POSIX specification: http://www.opengroup.org/susv3xsh/regcomp.html
Gnulib module: regex
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
regerror
POSIX specification: http://www.opengroup.org/susv3xsh/regerror.html
Gnulib module: regex
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
regexec
POSIX specification: http://www.opengroup.org/susv3xsh/regexec.html
Gnulib module: regex
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
regfree
POSIX specification: http://www.opengroup.org/susv3xsh/regfree.html
Gnulib module: regex
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
remainder
POSIX specification: http://www.opengroup.org/susv3xsh/remainder.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
remainderf
POSIX specification: http://www.opengroup.org/susv3xsh/remainderf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
remainderl
POSIX specification: http://www.opengroup.org/susv3xsh/remainderl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
remove
POSIX specification: http://www.opengroup.org/susv3xsh/remove.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
remque
POSIX specification: http://www.opengroup.org/susv3xsh/remque.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
remquo
POSIX specification: http://www.opengroup.org/susv3xsh/remquo.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
remquof
POSIX specification: http://www.opengroup.org/susv3xsh/remquof.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
remquol
POSIX specification: http://www.opengroup.org/susv3xsh/remquol.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
rename
POSIX specification: http://www.opengroup.org/susv3xsh/rename.html
Gnulib module: rename
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
rewind
POSIX specification: http://www.opengroup.org/susv3xsh/rewind.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
upon failure.
rewinddir
POSIX specification: http://www.opengroup.org/susv3xsh/rewinddir.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
rindex
POSIX specification: http://www.opengroup.org/susv3xsh/rindex.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
strrchr
instead.
rint
POSIX specification: http://www.opengroup.org/susv3xsh/rint.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
rintf
POSIX specification: http://www.opengroup.org/susv3xsh/rintf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
rintl
POSIX specification: http://www.opengroup.org/susv3xsh/rintl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
rmdir
POSIX specification: http://www.opengroup.org/susv3xsh/rmdir.html
Gnulib module: rmdir
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
rmdir
fails because the specified directory is not empty, the
errno
value is system dependent.
round
POSIX specification: http://www.opengroup.org/susv3xsh/round.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
roundf
POSIX specification: http://www.opengroup.org/susv3xsh/roundf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
roundl
POSIX specification: http://www.opengroup.org/susv3xsh/roundl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
scalb
POSIX specification: http://www.opengroup.org/susv3xsh/scalb.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
scalbln
POSIX specification: http://www.opengroup.org/susv3xsh/scalbln.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
scalblnf
POSIX specification: http://www.opengroup.org/susv3xsh/scalblnf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
scalblnl
POSIX specification: http://www.opengroup.org/susv3xsh/scalblnl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
scalbn
POSIX specification: http://www.opengroup.org/susv3xsh/scalbn.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
scalbnf
POSIX specification: http://www.opengroup.org/susv3xsh/scalbnf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
scalbnl
POSIX specification: http://www.opengroup.org/susv3xsh/scalbnl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
scanf
POSIX specification: http://www.opengroup.org/susv3xsh/scanf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
upon failure.
hh
, ll
, j
,
t
, z
size specifiers.
sched_get_priority_max
POSIX specification: http://www.opengroup.org/susv3xsh/sched_get_priority_max.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sched_getparam
POSIX specification: http://www.opengroup.org/susv3xsh/sched_getparam.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sched_getscheduler
POSIX specification: http://www.opengroup.org/susv3xsh/sched_getscheduler.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sched_rr_get_interval
POSIX specification: http://www.opengroup.org/susv3xsh/sched_rr_get_interval.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sched_setparam
POSIX specification: http://www.opengroup.org/susv3xsh/sched_setparam.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sched_setscheduler
POSIX specification: http://www.opengroup.org/susv3xsh/sched_setscheduler.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sched_yield
POSIX specification: http://www.opengroup.org/susv3xsh/sched_yield.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
seed48
POSIX specification: http://www.opengroup.org/susv3xsh/seed48.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
seekdir
POSIX specification: http://www.opengroup.org/susv3xsh/seekdir.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
select
POSIX specification: http://www.opengroup.org/susv3xsh/select.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
select
with a timeout, some implementations modify the
timeout parameter so that upon return from the function, it contains the
amount of time not slept. Other implementations leave the timeout parameter
unmodified.
select
can only be
called on descriptors created by the socket
function, not on regular
file descriptors.
select
may fail, setting errno
to EBADF
.
sem_close
POSIX specification: http://www.opengroup.org/susv3xsh/sem_close.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sem_destroy
POSIX specification: http://www.opengroup.org/susv3xsh/sem_destroy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sem_getvalue
POSIX specification: http://www.opengroup.org/susv3xsh/sem_getvalue.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sem_init
POSIX specification: http://www.opengroup.org/susv3xsh/sem_init.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sem_open
POSIX specification: http://www.opengroup.org/susv3xsh/sem_open.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sem_post
POSIX specification: http://www.opengroup.org/susv3xsh/sem_post.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sem_timedwait
POSIX specification: http://www.opengroup.org/susv3xsh/sem_timedwait.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sem_trywait
POSIX specification: http://www.opengroup.org/susv3xsh/sem_trywait.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sem_unlink
POSIX specification: http://www.opengroup.org/susv3xsh/sem_unlink.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sem_wait
POSIX specification: http://www.opengroup.org/susv3xsh/sem_wait.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
semctl
POSIX specification: http://www.opengroup.org/susv3xsh/semctl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
semget
POSIX specification: http://www.opengroup.org/susv3xsh/semget.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
semop
POSIX specification: http://www.opengroup.org/susv3xsh/semop.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
send
POSIX specification: http://www.opengroup.org/susv3xsh/send.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sendmsg
POSIX specification: http://www.opengroup.org/susv3xsh/sendmsg.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sendto
POSIX specification: http://www.opengroup.org/susv3xsh/sendto.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
setbuf
POSIX specification: http://www.opengroup.org/susv3xsh/setbuf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
setcontext
POSIX specification: http://www.opengroup.org/susv3xsh/setcontext.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
setegid
POSIX specification: http://www.opengroup.org/susv3xsh/setegid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
setenv
POSIX specification: http://www.opengroup.org/susv3xsh/setenv.html
Gnulib module: setenv
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
setenv
doesn't fail if the
first argument contains a `=' character.
seteuid
POSIX specification: http://www.opengroup.org/susv3xsh/seteuid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
setgid
POSIX specification: http://www.opengroup.org/susv3xsh/setgid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
setgrent
POSIX specification: http://www.opengroup.org/susv3xsh/setgrent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sethostent
POSIX specification: http://www.opengroup.org/susv3xsh/sethostent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
setitimer
POSIX specification: http://www.opengroup.org/susv3xsh/setitimer.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
setjmp
POSIX specification: http://www.opengroup.org/susv3xsh/setjmp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
setjmp
saves the signal mask in the
jmp_buf
. It does on BSD platforms, and on glibc platforms when
_BSD_SOURCE
is defined; in this case setjmp
behaves like
sigsetjmp
, and functions _setjmp
and _longjmp
are
available that don't save or restore the signal mask. On System V platforms,
and on glibc platforms by default, setjmp
doesn't save the signal mask.
setkey
POSIX specification: http://www.opengroup.org/susv3xsh/setkey.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
setlocale
POSIX specification: http://www.opengroup.org/susv3xsh/setlocale.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
setlocale(LC_ALL,NULL)
always
returns "C"
.
setlogmask
POSIX specification: http://www.opengroup.org/susv3xsh/setlogmask.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
setnetent
POSIX specification: http://www.opengroup.org/susv3xsh/setnetent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
setpgid
POSIX specification: http://www.opengroup.org/susv3xsh/setpgid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
setpgrp
POSIX specification: http://www.opengroup.org/susv3xsh/setpgrp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
setpriority
POSIX specification: http://www.opengroup.org/susv3xsh/setpriority.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
setprotoent
POSIX specification: http://www.opengroup.org/susv3xsh/setprotoent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
setpwent
POSIX specification: http://www.opengroup.org/susv3xsh/setpwent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
setregid
POSIX specification: http://www.opengroup.org/susv3xsh/setregid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
setreuid
POSIX specification: http://www.opengroup.org/susv3xsh/setreuid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
setrlimit
POSIX specification: http://www.opengroup.org/susv3xsh/setrlimit.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
setservent
POSIX specification: http://www.opengroup.org/susv3xsh/setservent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
setsid
POSIX specification: http://www.opengroup.org/susv3xsh/setsid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
setsockopt
POSIX specification: http://www.opengroup.org/susv3xsh/setsockopt.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
setstate
POSIX specification: http://www.opengroup.org/susv3xsh/setstate.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
setuid
POSIX specification: http://www.opengroup.org/susv3xsh/setuid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
setutxent
POSIX specification: http://www.opengroup.org/susv3xsh/setutxent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
setvbuf
POSIX specification: http://www.opengroup.org/susv3xsh/setvbuf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
upon failure.
shm_open
POSIX specification: http://www.opengroup.org/susv3xsh/shm_open.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
shm_unlink
POSIX specification: http://www.opengroup.org/susv3xsh/shm_unlink.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
shmat
POSIX specification: http://www.opengroup.org/susv3xsh/shmat.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
shmat
into a previously malloc-ed region fail on SunOS 4,
with errno
set to EINVAL
, even if there is an munmap
call
in between.
SHM_REMAP
is needed in order to force shmat
to replace existing memory mappings in the specify address range. On other
platforms, it is not needed.
shmctl
POSIX specification: http://www.opengroup.org/susv3xsh/shmctl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
shmdt
POSIX specification: http://www.opengroup.org/susv3xsh/shmdt.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
shmget
POSIX specification: http://www.opengroup.org/susv3xsh/shmget.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
shmget
requires superuser privileges.
shutdown
POSIX specification: http://www.opengroup.org/susv3xsh/shutdown.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sigaction
POSIX specification: http://www.opengroup.org/susv3xsh/sigaction.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
SIG_IGN
for the SIGCHLD
signal is equivalent
to a signal handler
void handle_child (int sigchld) { while (waitpid (-1, NULL, WNOHANG) > 0) ; }
except that SIG_IGN
for SIGCHLD
has the effect that the children
execution times are not accounted in the times
function.
On some platforms (BSD? SystemV? Linux?), you need to use the sigaction
flag SA_NOCLDWAIT
in order to obtain this behavior.
sigaddset
POSIX specification: http://www.opengroup.org/susv3xsh/sigaddset.html
Gnulib module: sigprocmask
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sigaltstack
POSIX specification: http://www.opengroup.org/susv3xsh/sigaltstack.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sigaltstack
doesn't work on HP-UX 11/IA-64 and OpenBSD 3.6/Sparc64.
sigdelset
POSIX specification: http://www.opengroup.org/susv3xsh/sigdelset.html
Gnulib module: sigprocmask
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sigemptyset
POSIX specification: http://www.opengroup.org/susv3xsh/sigemptyset.html
Gnulib module: sigprocmask
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sigfillset
POSIX specification: http://www.opengroup.org/susv3xsh/sigfillset.html
Gnulib module: sigprocmask
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sighold
POSIX specification: http://www.opengroup.org/susv3xsh/sighold.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sigignore
POSIX specification: http://www.opengroup.org/susv3xsh/sigignore.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
siginterrupt
POSIX specification: http://www.opengroup.org/susv3xsh/siginterrupt.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sigismember
POSIX specification: http://www.opengroup.org/susv3xsh/sigismember.html
Gnulib module: sigprocmask
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
siglongjmp
POSIX specification: http://www.opengroup.org/susv3xsh/siglongjmp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
signal
POSIX specification: http://www.opengroup.org/susv3xsh/signal.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sigaction
instead of
signal
.
signbit
POSIX specification: http://www.opengroup.org/susv3xsh/signbit.html
Gnulib module: signbit
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sigpause
POSIX specification: http://www.opengroup.org/susv3xsh/sigpause.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sigpending
POSIX specification: http://www.opengroup.org/susv3xsh/sigpending.html
Gnulib module: sigprocmask
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sigprocmask
POSIX specification: http://www.opengroup.org/susv3xsh/sigprocmask.html
Gnulib module: sigprocmask
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sigqueue
POSIX specification: http://www.opengroup.org/susv3xsh/sigqueue.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sigrelse
POSIX specification: http://www.opengroup.org/susv3xsh/sigrelse.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sigset
POSIX specification: http://www.opengroup.org/susv3xsh/sigset.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sigsetjmp
POSIX specification: http://www.opengroup.org/susv3xsh/sigsetjmp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sigsuspend
POSIX specification: http://www.opengroup.org/susv3xsh/sigsuspend.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sigtimedwait
POSIX specification: http://www.opengroup.org/susv3xsh/sigtimedwait.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sigwaitinfo
does; other platforms may not do the same.
sigwait
POSIX specification: http://www.opengroup.org/susv3xsh/sigwait.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sigwaitinfo
POSIX specification: http://www.opengroup.org/susv3xsh/sigwaitinfo.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sin
POSIX specification: http://www.opengroup.org/susv3xsh/sin.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sinf
POSIX specification: http://www.opengroup.org/susv3xsh/sinf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sinh
POSIX specification: http://www.opengroup.org/susv3xsh/sinh.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sinhf
POSIX specification: http://www.opengroup.org/susv3xsh/sinhf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sinhl
POSIX specification: http://www.opengroup.org/susv3xsh/sinhl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sinl
POSIX specification: http://www.opengroup.org/susv3xsh/sinl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sleep
POSIX specification: http://www.opengroup.org/susv3xsh/sleep.html
Gnulib module: sleep
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sleep
function may interfere with the program's
use of the SIGALRM
signal. On Linux, it doesn't; on other platforms,
it may.
snprintf
POSIX specification: http://www.opengroup.org/susv3xsh/snprintf.html
Gnulib module: snprintf or snprintf-posix
Portability problems fixed by either Gnulib module snprintf
or snprintf-posix
:
Portability problems fixed by Gnulib module snprintf-posix
:
hh
, ll
,
j
, t
, z
) on some platforms:
AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 2006, mingw, BeOS.
"%f"
, "%e"
, "%g"
of Infinity and NaN yields an
incorrect result on some platforms:
AIX 5.2, OSF/1 5.1, Solaris 10, mingw.
"%2$s"
, on some platforms:
NetBSD 3.0, mingw, BeOS.
'
flag on some platforms:
NetBSD 3.0, Cygwin 2006, mingw.
"%010f"
of NaN and Infinity yields an incorrect result (padded
with zeroes) on some platforms:
MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 2007, mingw.
Portability problems not fixed by Gnulib:
sockatmark
POSIX specification: http://www.opengroup.org/susv3xsh/sockatmark.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
socket
POSIX specification: http://www.opengroup.org/susv3xsh/socket.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
socket
function can not be used
in calls to read
, write
, and close
; you have to use
recv
, send
, closesocket
in these cases instead.
socketpair
POSIX specification: http://www.opengroup.org/susv3xsh/socketpair.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sprintf
POSIX specification: http://www.opengroup.org/susv3xsh/sprintf.html
Gnulib module: sprintf-posix
Portability problems fixed by Gnulib:
hh
, ll
,
j
, t
, z
) on some platforms:
AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 2006, mingw, BeOS.
"%f"
, "%e"
, "%g"
of Infinity and NaN yields an
incorrect result on some platforms:
AIX 5.2, OSF/1 5.1, Solaris 10, mingw.
"%2$s"
, on some platforms:
NetBSD 3.0, mingw, BeOS.
'
flag on some platforms:
NetBSD 3.0, Cygwin 2006, mingw.
"%010f"
of NaN and Infinity yields an incorrect result (padded
with zeroes) on some platforms:
MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 2007, mingw.
Portability problems not fixed by Gnulib:
sqrt
POSIX specification: http://www.opengroup.org/susv3xsh/sqrt.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sqrtf
POSIX specification: http://www.opengroup.org/susv3xsh/sqrtf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sqrtl
POSIX specification: http://www.opengroup.org/susv3xsh/sqrtl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
srand
POSIX specification: http://www.opengroup.org/susv3xsh/srand.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
srand48
POSIX specification: http://www.opengroup.org/susv3xsh/srand48.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
srandom
POSIX specification: http://www.opengroup.org/susv3xsh/srandom.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sscanf
POSIX specification: http://www.opengroup.org/susv3xsh/sscanf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
upon failure.
hh
, ll
, j
,
t
, z
size specifiers.
stat
POSIX specification: http://www.opengroup.org/susv3xsh/stat.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
off_t
is a 32-bit type, stat
may not correctly
report the size of files or block devices larger than 2 GB. The fix is to
use the AC_SYS_LARGEFILE
macro.
stat
function sometimes sets errno
to EACCES
when
ENOENT
would be more appropriate.
statvfs
POSIX specification: http://www.opengroup.org/susv3xsh/statvfs.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
stderr
POSIX specification: http://www.opengroup.org/susv3xsh/stderr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
stdin
POSIX specification: http://www.opengroup.org/susv3xsh/stdin.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
stdout
POSIX specification: http://www.opengroup.org/susv3xsh/stdout.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
strcasecmp
POSIX specification: http://www.opengroup.org/susv3xsh/strcasecmp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mbscasecmp
that does a case
insensitive comparison of character strings and that works in all locales.
strcat
POSIX specification: http://www.opengroup.org/susv3xsh/strcat.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
strchr
POSIX specification: http://www.opengroup.org/susv3xsh/strchr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mbschr
that works on
character strings in all locales.
strcmp
POSIX specification: http://www.opengroup.org/susv3xsh/strcmp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
strcoll
POSIX specification: http://www.opengroup.org/susv3xsh/strcoll.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
strcpy
POSIX specification: http://www.opengroup.org/susv3xsh/strcpy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
strcspn
POSIX specification: http://www.opengroup.org/susv3xsh/strcspn.html
Gnulib module: strcspn
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mbscspn
that works on character
strings in all locales.
strdup
POSIX specification: http://www.opengroup.org/susv3xsh/strdup.html
Gnulib module: strdup
Portability problems fixed by Gnulib:
<string.h>
on some old platforms.
Portability problems not fixed by Gnulib:
strerror
POSIX specification: http://www.opengroup.org/susv3xsh/strerror.html
Gnulib module: strerror
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
strerror_r
POSIX specification: http://www.opengroup.org/susv3xsh/strerror_r.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
char *s = (strerror_r (err, buf, buflen) == 0 ? buf : NULL);
is essentially equivalent to this code using the glibc function:
char *s = strerror_r (err, buf, buflen);
strfmon
POSIX specification: http://www.opengroup.org/susv3xsh/strfmon.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
strftime
POSIX specification: http://www.opengroup.org/susv3xsh/strftime.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Extension: Gnulib offers a module `strftime' that provides an
strftime
function with various GNU extensions.
strlen
POSIX specification: http://www.opengroup.org/susv3xsh/strlen.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
strncasecmp
POSIX specification: http://www.opengroup.org/susv3xsh/strncasecmp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mbsncasecmp
and mbspcasecmp
that do a case insensitive comparison of character strings and that work in all
locales.
strncat
POSIX specification: http://www.opengroup.org/susv3xsh/strncat.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
strncmp
POSIX specification: http://www.opengroup.org/susv3xsh/strncmp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
strncpy
POSIX specification: http://www.opengroup.org/susv3xsh/strncpy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
strpbrk
POSIX specification: http://www.opengroup.org/susv3xsh/strpbrk.html
Gnulib module: strpbrk
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mbspbrk
that works on character
strings in all locales.
strptime
POSIX specification: http://www.opengroup.org/susv3xsh/strptime.html
Gnulib module: strptime
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
strrchr
POSIX specification: http://www.opengroup.org/susv3xsh/strrchr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mbsrchr
that works
on character strings in all locales.
strspn
POSIX specification: http://www.opengroup.org/susv3xsh/strspn.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mbsspn
that works on character
strings in all locales.
strstr
POSIX specification: http://www.opengroup.org/susv3xsh/strstr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mbsstr
that works
on character strings in all locales.
strtod
POSIX specification: http://www.opengroup.org/susv3xsh/strtod.html
Gnulib module: strtod
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
strtof
POSIX specification: http://www.opengroup.org/susv3xsh/strtof.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
strtoimax
POSIX specification: http://www.opengroup.org/susv3xsh/strtoimax.html
Gnulib module: strtoimax
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
strtok
POSIX specification: http://www.opengroup.org/susv3xsh/strtok.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
strtok_r
POSIX specification: http://www.opengroup.org/susv3xsh/strtok_r.html
Gnulib module: strtok_r
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mbstok_r
that works on character
strings in all locales.
strtol
POSIX specification: http://www.opengroup.org/susv3xsh/strtol.html
Gnulib module: strtol
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
strtold
POSIX specification: http://www.opengroup.org/susv3xsh/strtold.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
strtoll
POSIX specification: http://www.opengroup.org/susv3xsh/strtoll.html
Gnulib module: strtoll
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
strtoul
POSIX specification: http://www.opengroup.org/susv3xsh/strtoul.html
Gnulib module: strtoul
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
strtoull
POSIX specification: http://www.opengroup.org/susv3xsh/strtoull.html
Gnulib module: strtoull
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
strtoumax
POSIX specification: http://www.opengroup.org/susv3xsh/strtoumax.html
Gnulib module: strtoumax
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
strxfrm
POSIX specification: http://www.opengroup.org/susv3xsh/strxfrm.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
swab
POSIX specification: http://www.opengroup.org/susv3xsh/swab.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
swapcontext
POSIX specification: http://www.opengroup.org/susv3xsh/swapcontext.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
swprintf
POSIX specification: http://www.opengroup.org/susv3xsh/swprintf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
swscanf
POSIX specification: http://www.opengroup.org/susv3xsh/swscanf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
symlink
POSIX specification: http://www.opengroup.org/susv3xsh/symlink.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sync
POSIX specification: http://www.opengroup.org/susv3xsh/sync.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sysconf
POSIX specification: http://www.opengroup.org/susv3xsh/sysconf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
syslog
POSIX specification: http://www.opengroup.org/susv3xsh/syslog.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
system
POSIX specification: http://www.opengroup.org/susv3xsh/system.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
system
function is cmd.exe, not /bin/sh. Accordingly,
the rules for quoting shell arguments containing spaces, quote or other special
characters are different.
tan
POSIX specification: http://www.opengroup.org/susv3xsh/tan.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
tanf
POSIX specification: http://www.opengroup.org/susv3xsh/tanf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
tanh
POSIX specification: http://www.opengroup.org/susv3xsh/tanh.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
tanhf
POSIX specification: http://www.opengroup.org/susv3xsh/tanhf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
tanhl
POSIX specification: http://www.opengroup.org/susv3xsh/tanhl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
tanl
POSIX specification: http://www.opengroup.org/susv3xsh/tanl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
tcdrain
POSIX specification: http://www.opengroup.org/susv3xsh/tcdrain.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
tcdrain
on a non-tty fails with errno
set to
EINVAL
or, on MacOS X, also EOPNOTSUPP
or ENODEV
, rather
than ENOTTY
.
tcflow
POSIX specification: http://www.opengroup.org/susv3xsh/tcflow.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
tcflush
POSIX specification: http://www.opengroup.org/susv3xsh/tcflush.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
tcflush
of TCIFLUSH
on a non-tty fails with
errno set to EINVAL
rather than ENOTTY
.
tcflush
of TCOFLUSH
on a non-tty fails with
errno set to EINVAL
or, on IRIX, also ENOSYS
, or, on MacOS X,
also EOPNOTSUPP
or ENODEV
, rather than ENOTTY
.
tcgetattr
POSIX specification: http://www.opengroup.org/susv3xsh/tcgetattr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
tcgetpgrp
POSIX specification: http://www.opengroup.org/susv3xsh/tcgetpgrp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
tcgetsid
POSIX specification: http://www.opengroup.org/susv3xsh/tcgetsid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
tcsendbreak
POSIX specification: http://www.opengroup.org/susv3xsh/tcsendbreak.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
tcsetattr
POSIX specification: http://www.opengroup.org/susv3xsh/tcsetattr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
tcsetpgrp
POSIX specification: http://www.opengroup.org/susv3xsh/tcsetpgrp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
tdelete
POSIX specification: http://www.opengroup.org/susv3xsh/tdelete.html
Gnulib module: tsearch
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
telldir
POSIX specification: http://www.opengroup.org/susv3xsh/telldir.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
tempnam
POSIX specification: http://www.opengroup.org/susv3xsh/tempnam.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mkstemp
instead.
tfind
POSIX specification: http://www.opengroup.org/susv3xsh/tfind.html
Gnulib module: tsearch
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
tgamma
POSIX specification: http://www.opengroup.org/susv3xsh/tgamma.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
tgammaf
POSIX specification: http://www.opengroup.org/susv3xsh/tgammaf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
tgammal
POSIX specification: http://www.opengroup.org/susv3xsh/tgammal.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
time
POSIX specification: http://www.opengroup.org/susv3xsh/time.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
timer_create
POSIX specification: http://www.opengroup.org/susv3xsh/timer_create.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
timer_delete
POSIX specification: http://www.opengroup.org/susv3xsh/timer_delete.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
timer_getoverrun
POSIX specification: http://www.opengroup.org/susv3xsh/timer_getoverrun.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
timer_settime
POSIX specification: http://www.opengroup.org/susv3xsh/timer_settime.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
times
POSIX specification: http://www.opengroup.org/susv3xsh/times.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
timezone
POSIX specification: http://www.opengroup.org/susv3xsh/timezone.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
tmpfile
POSIX specification: http://www.opengroup.org/susv3xsh/tmpfile.html
Gnulib module: tmpfile
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
tmpnam
POSIX specification: http://www.opengroup.org/susv3xsh/tmpnam.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mkstemp
instead.
toascii
POSIX specification: http://www.opengroup.org/susv3xsh/toascii.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
tolower
POSIX specification: http://www.opengroup.org/susv3xsh/tolower.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
toupper
POSIX specification: http://www.opengroup.org/susv3xsh/toupper.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
towctrans
POSIX specification: http://www.opengroup.org/susv3xsh/towctrans.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
towlower
POSIX specification: http://www.opengroup.org/susv3xsh/towlower.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
towupper
POSIX specification: http://www.opengroup.org/susv3xsh/towupper.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
trunc
POSIX specification: http://www.opengroup.org/susv3xsh/trunc.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
truncate
POSIX specification: http://www.opengroup.org/susv3xsh/truncate.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
truncf
POSIX specification: http://www.opengroup.org/susv3xsh/truncf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
truncl
POSIX specification: http://www.opengroup.org/susv3xsh/truncl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
tsearch
POSIX specification: http://www.opengroup.org/susv3xsh/tsearch.html
Gnulib module: tsearch
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ttyname
POSIX specification: http://www.opengroup.org/susv3xsh/ttyname.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ttyname_r
POSIX specification: http://www.opengroup.org/susv3xsh/ttyname_r.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
twalk
POSIX specification: http://www.opengroup.org/susv3xsh/twalk.html
Gnulib module: tsearch
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
tzname
POSIX specification: http://www.opengroup.org/susv3xsh/tzname.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
tzset
POSIX specification: http://www.opengroup.org/susv3xsh/tzset.html
Gnulib module: tzset
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ualarm
POSIX specification: http://www.opengroup.org/susv3xsh/ualarm.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ulimit
POSIX specification: http://www.opengroup.org/susv3xsh/ulimit.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
umask
POSIX specification: http://www.opengroup.org/susv3xsh/umask.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
uname
POSIX specification: http://www.opengroup.org/susv3xsh/uname.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ungetc
POSIX specification: http://www.opengroup.org/susv3xsh/ungetc.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
upon failure.
ungetwc
POSIX specification: http://www.opengroup.org/susv3xsh/ungetwc.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
unlink
POSIX specification: http://www.opengroup.org/susv3xsh/unlink.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
unlockpt
POSIX specification: http://www.opengroup.org/susv3xsh/unlockpt.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
unsetenv
POSIX specification: http://www.opengroup.org/susv3xsh/unsetenv.html
Gnulib module: setenv
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
usleep
POSIX specification: http://www.opengroup.org/susv3xsh/usleep.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
usleep
function may interfere with the program's
use of the SIGALRM
signal. On Linux, it doesn't; on other platforms,
it may.
utime
POSIX specification: http://www.opengroup.org/susv3xsh/utime.html
Gnulib module: utime
Portability problems fixed by Gnulib:
utime (file, NULL)
fails to set the file's
timestamp to the current time.
Portability problems not fixed by Gnulib:
utimes
POSIX specification: http://www.opengroup.org/susv3xsh/utimes.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
utime
instead.
va_arg
POSIX specification: http://www.opengroup.org/susv3xsh/va_arg.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
va_arg
must be a type that is invariant under
the “default argument promotions” (ISO C 99 6.5.2.2 paragraph 6). This
means that the following are not valid here:
This is a portability problem because you don't know the width of some
abstract types like uid_t
, gid_t
, mode_t
. So, instead of
mode = va_arg (ap, mode_t);
you have to write
mode = (sizeof (mode_t) < sizeof (int) ? va_arg (ap, int) : va_arg (ap, mode_t));
va_copy
POSIX specification: http://www.opengroup.org/susv3xsh/va_copy.html
Gnulib module: stdarg
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
va_end
POSIX specification: http://www.opengroup.org/susv3xsh/va_end.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
va_start
POSIX specification: http://www.opengroup.org/susv3xsh/va_start.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
vfork
POSIX specification: http://www.opengroup.org/susv3xsh/vfork.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
vfprintf
POSIX specification: http://www.opengroup.org/susv3xsh/vfprintf.html
Gnulib module: vfprintf-posix
Portability problems fixed by Gnulib:
hh
, ll
,
j
, t
, z
) on some platforms:
AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 2006, mingw, BeOS.
"%f"
, "%e"
, "%g"
of Infinity and NaN yields an
incorrect result on some platforms:
AIX 5.2, OSF/1 5.1, Solaris 10, mingw.
"%2$s"
, on some platforms:
NetBSD 3.0, mingw, BeOS.
'
flag on some platforms:
NetBSD 3.0, Cygwin 2006, mingw.
"%010f"
of NaN and Infinity yields an incorrect result (padded
with zeroes) on some platforms:
MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 2007, mingw.
Portability problems not fixed by Gnulib:
vfscanf
POSIX specification: http://www.opengroup.org/susv3xsh/vfscanf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
upon failure.
hh
, ll
, j
,
t
, z
size specifiers.
vfwprintf
POSIX specification: http://www.opengroup.org/susv3xsh/vfwprintf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
vfwscanf
POSIX specification: http://www.opengroup.org/susv3xsh/vfwscanf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
vprintf
POSIX specification: http://www.opengroup.org/susv3xsh/vprintf.html
Gnulib module: vprintf-posix
Portability problems fixed by Gnulib:
hh
, ll
,
j
, t
, z
) on some platforms:
AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 2006, mingw, BeOS.
"%f"
, "%e"
, "%g"
of Infinity and NaN yields an
incorrect result on some platforms:
AIX 5.2, OSF/1 5.1, Solaris 10, mingw.
"%2$s"
, on some platforms:
NetBSD 3.0, mingw, BeOS.
'
flag on some platforms:
NetBSD 3.0, Cygwin 2006, mingw.
"%010f"
of NaN and Infinity yields an incorrect result (padded
with zeroes) on some platforms:
MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 2007, mingw.
Portability problems not fixed by Gnulib:
vscanf
POSIX specification: http://www.opengroup.org/susv3xsh/vscanf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
upon failure.
hh
, ll
, j
,
t
, z
size specifiers.
vsnprintf
POSIX specification: http://www.opengroup.org/susv3xsh/vsnprintf.html
Gnulib module: vsnprintf or vsnprintf-posix
Portability problems fixed by either Gnulib module vsnprintf
or vsnprintf-posix
:
Portability problems fixed by Gnulib module vsnprintf-posix
:
hh
, ll
,
j
, t
, z
) on some platforms:
AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 2006, mingw, BeOS.
"%f"
, "%e"
, "%g"
of Infinity and NaN yields an
incorrect result on some platforms:
AIX 5.2, OSF/1 5.1, Solaris 10, mingw.
"%2$s"
, on some platforms:
NetBSD 3.0, mingw, BeOS.
'
flag on some platforms:
NetBSD 3.0, Cygwin 2006, mingw.
"%010f"
of NaN and Infinity yields an incorrect result (padded
with zeroes) on some platforms:
MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 2007, mingw.
Portability problems not fixed by Gnulib:
vsprintf
POSIX specification: http://www.opengroup.org/susv3xsh/vsprintf.html
Gnulib module: vsprintf-posix
Portability problems fixed by Gnulib:
hh
, ll
,
j
, t
, z
) on some platforms:
AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 2006, mingw, BeOS.
"%f"
, "%e"
, "%g"
of Infinity and NaN yields an
incorrect result on some platforms:
AIX 5.2, OSF/1 5.1, Solaris 10, mingw.
"%2$s"
, on some platforms:
NetBSD 3.0, mingw, BeOS.
'
flag on some platforms:
NetBSD 3.0, Cygwin 2006, mingw.
"%010f"
of NaN and Infinity yields an incorrect result (padded
with zeroes) on some platforms:
MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 2007, mingw.
Portability problems not fixed by Gnulib:
vsscanf
POSIX specification: http://www.opengroup.org/susv3xsh/vsscanf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
upon failure.
hh
, ll
, j
,
t
, z
size specifiers.
vswprintf
POSIX specification: http://www.opengroup.org/susv3xsh/vswprintf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
vswscanf
POSIX specification: http://www.opengroup.org/susv3xsh/vswscanf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
vwprintf
POSIX specification: http://www.opengroup.org/susv3xsh/vwprintf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
vwscanf
POSIX specification: http://www.opengroup.org/susv3xsh/vwscanf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wait
POSIX specification: http://www.opengroup.org/susv3xsh/wait.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
waitid
POSIX specification: http://www.opengroup.org/susv3xsh/waitid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
waitid
with flag WNOWAIT
works correctly.
waitpid
POSIX specification: http://www.opengroup.org/susv3xsh/waitpid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wcrtomb
POSIX specification: http://www.opengroup.org/susv3xsh/wcrtomb.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wcscat
POSIX specification: http://www.opengroup.org/susv3xsh/wcscat.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wcschr
POSIX specification: http://www.opengroup.org/susv3xsh/wcschr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wcscmp
POSIX specification: http://www.opengroup.org/susv3xsh/wcscmp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wcscoll
POSIX specification: http://www.opengroup.org/susv3xsh/wcscoll.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wcscpy
POSIX specification: http://www.opengroup.org/susv3xsh/wcscpy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wcscspn
POSIX specification: http://www.opengroup.org/susv3xsh/wcscspn.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wcsftime
POSIX specification: http://www.opengroup.org/susv3xsh/wcsftime.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wcslen
POSIX specification: http://www.opengroup.org/susv3xsh/wcslen.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wcsncat
POSIX specification: http://www.opengroup.org/susv3xsh/wcsncat.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wcsncmp
POSIX specification: http://www.opengroup.org/susv3xsh/wcsncmp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wcsncpy
POSIX specification: http://www.opengroup.org/susv3xsh/wcsncpy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wcspbrk
POSIX specification: http://www.opengroup.org/susv3xsh/wcspbrk.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wcsrchr
POSIX specification: http://www.opengroup.org/susv3xsh/wcsrchr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wcsrtombs
POSIX specification: http://www.opengroup.org/susv3xsh/wcsrtombs.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wcsspn
POSIX specification: http://www.opengroup.org/susv3xsh/wcsspn.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wcsstr
POSIX specification: http://www.opengroup.org/susv3xsh/wcsstr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wcstod
POSIX specification: http://www.opengroup.org/susv3xsh/wcstod.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wcstof
POSIX specification: http://www.opengroup.org/susv3xsh/wcstof.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wcstoimax
POSIX specification: http://www.opengroup.org/susv3xsh/wcstoimax.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wcstok
POSIX specification: http://www.opengroup.org/susv3xsh/wcstok.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wcstol
POSIX specification: http://www.opengroup.org/susv3xsh/wcstol.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wcstold
POSIX specification: http://www.opengroup.org/susv3xsh/wcstold.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wcstoll
POSIX specification: http://www.opengroup.org/susv3xsh/wcstoll.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wcstombs
POSIX specification: http://www.opengroup.org/susv3xsh/wcstombs.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wcstoul
POSIX specification: http://www.opengroup.org/susv3xsh/wcstoul.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wcstoull
POSIX specification: http://www.opengroup.org/susv3xsh/wcstoull.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wcstoumax
POSIX specification: http://www.opengroup.org/susv3xsh/wcstoumax.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wcswcs
POSIX specification: http://www.opengroup.org/susv3xsh/wcswcs.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wcsstr
instead.
wcswidth
POSIX specification: http://www.opengroup.org/susv3xsh/wcswidth.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wcsxfrm
POSIX specification: http://www.opengroup.org/susv3xsh/wcsxfrm.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wctob
POSIX specification: http://www.opengroup.org/susv3xsh/wctob.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wctomb
POSIX specification: http://www.opengroup.org/susv3xsh/wctomb.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wctrans
POSIX specification: http://www.opengroup.org/susv3xsh/wctrans.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wctype
POSIX specification: http://www.opengroup.org/susv3xsh/wctype.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wcwidth
POSIX specification: http://www.opengroup.org/susv3xsh/wcwidth.html
Gnulib module: wcwidth
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wmemchr
POSIX specification: http://www.opengroup.org/susv3xsh/wmemchr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wmemcmp
POSIX specification: http://www.opengroup.org/susv3xsh/wmemcmp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wmemcpy
POSIX specification: http://www.opengroup.org/susv3xsh/wmemcpy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wmemmove
POSIX specification: http://www.opengroup.org/susv3xsh/wmemmove.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wmemset
POSIX specification: http://www.opengroup.org/susv3xsh/wmemset.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
wordexp
POSIX specification: http://www.opengroup.org/susv3xsh/wordexp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wordfree
POSIX specification: http://www.opengroup.org/susv3xsh/wordfree.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wprintf
POSIX specification: http://www.opengroup.org/susv3xsh/wprintf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
write
POSIX specification: http://www.opengroup.org/susv3xsh/write.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
writev
POSIX specification: http://www.opengroup.org/susv3xsh/writev.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wscanf
POSIX specification: http://www.opengroup.org/susv3xsh/wscanf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
y0
POSIX specification: http://www.opengroup.org/susv3xsh/y0.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
y1
POSIX specification: http://www.opengroup.org/susv3xsh/y1.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
yn
POSIX specification: http://www.opengroup.org/susv3xsh/yn.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
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.
The error
function uses the program_name
variable, but
does not depend on the progname
module. Why? Because
error
is released under the LGPL, whereas progname
is
GPL. RMS does not want additional baggage accompanying the
error
module, so an LGPL user must provide their own
replacement program_name
, and a GPL user should manually
specify using the progname
module.
Additionally, using the progname
module is not something that
can be done implicitly. It requires that every main()
function
be modified to set program_name
as one of its first actions.
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'.
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 similar package systems 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 filesystem. 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:
This approach does not always work. On OpenBSD and OpenServer, prereleases of Libtool 1.5 put absolute file names of libraries in executables, which prevents searching any other locations.
You can make your program relocatable by following these steps:
relocatable-prog
module.
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.
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.
relocatable-script
module. Then, near the beginning of each
shell script that your package installs, add the following:
@relocatable_sh@ if test "@RELOCATABLE@" = yes; then exec_prefix="@exec_prefix@" bindir="@bindir@" orig_installdir="$bindir" # see Makefile.am's *_SCRIPTS variables func_find_curr_installdir # determine curr_installdir func_find_prefixes # Relocate the directory variables that we use. gettext_dir=` echo "$gettext_dir/" \ | sed -e "s%^${orig_installprefix}/%${curr_installprefix}/%" \ | sed -e 's,/$,,'` fi
You must adapt the definition of orig_installdir
, depending on
where the script gets installed. Also, at the end, instead of
gettext_dir
, transform those variables that you need.
foo_CPPFLAGS = -DINSTALLDIR=\"$(bindir)\" if RELOCATABLE_VIA_LD foo_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)` endif
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'
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.
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, `\' can be used to quote the following character. Character classes are not supported, so for example you would need to use `[0-9]' instead of `[[: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:
The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups.
The character `.' matches any single character except newline.
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. Non-matching lists `[^...]' do not ever match newline.
GNU extensions are supported:
Grouping is performed with 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 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.
The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups.
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:
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:
The character `$' only represents the end of a string when it appears:
`\*', `\+' and `\?' are special at any point in a regular expression except:
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.
The character `.' matches any single character except newline.
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 not supported, so for example you would need to use `[0-9]' instead of `[[:digit:]]'.
GNU extensions are supported:
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:
The character `$' only represents the end of a string when it appears:
`*', `+' and `?' are special at any point in a regular expression except:
The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups.
The character `.' matches any single 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, `\' 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:
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 longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups.
The character `.' matches any single character except newline.
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. Non-matching lists `[^...]' do not ever match newline.
GNU extensions are supported:
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:
The character `$' only represents the end of a string when it appears:
`\*', `\+' and `\?' are special at any point in a regular expression except:
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.
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, `\' 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 illegal:
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.
This is a synonym for ed.
The character `.' matches any single character except newline.
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. Non-matching lists `[^...]' do not ever match newline.
GNU extensions are supported:
Grouping is performed with 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 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.
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:
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 illegal:
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.
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:
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:
The character `$' only represents the end of a string when it appears:
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.
This is a synonym for ed.
Copyright © 2000,2001,2002 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
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.
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.
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.
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.
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.
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:
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.
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.”
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.
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.
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.
You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
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 http://www.gnu.org/copyleft/.
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.
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.2 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.
_exit
: _exit_Exit
: _Exit_longjmp
: _longjmp_setjmp
: _setjmp_tolower
: _tolower_toupper
: _touppera64l
: a64labort
: abortabs
: absaccept
: acceptaccess
: accessacos
: acosacosf
: acosfacosh
: acoshacoshf
: acoshfacoshl
: acoshlacosl
: acoslaio_cancel
: aio_cancelaio_error
: aio_erroraio_fsync
: aio_fsyncaio_read
: aio_readaio_return
: aio_returnaio_suspend
: aio_suspendaio_write
: aio_writealarm
: alarmasctime
: asctimeasctime_r
: asctime_rasin
: asinasinf
: asinfasinh
: asinhasinhf
: asinhfasinhl
: asinhlasinl
: asinlassert
: assertatan
: atanatan2
: atan2atan2f
: atan2fatan2l
: atan2latanf
: atanfatanh
: atanhatanhf
: atanhfatanhl
: atanhlatanl
: atanlatexit
: atexitatof
: atofatoi
: atoiatol
: atolatoll
: atollbasename
: basenamebcmp
: bcmpbcopy
: bcopybind
: bindbsd_signal
: bsd_signalbsearch
: bsearchbtowc
: btowcbzero
: bzerocabs
: cabscabsf
: cabsfcabsl
: cabslcacos
: cacoscacosf
: cacosfcacosh
: cacoshcacoshf
: cacoshfcacoshl
: cacoshlcacosl
: cacoslcalloc
: calloccarg
: cargcargf
: cargfcargl
: carglcasin
: casincasinf
: casinfcasinh
: casinhcasinhf
: casinhfcasinhl
: casinhlcasinl
: casinlcatan
: catancatanf
: catanfcatanh
: catanhcatanhf
: catanhfcatanhl
: catanhlcatanl
: catanlcatclose
: catclosecatgets
: catgetscatopen
: catopencbrt
: cbrtcbrtf
: cbrtfcbrtl
: cbrtlccos
: ccosccosf
: ccosfccosh
: ccoshccoshf
: ccoshfccoshl
: ccoshlccosl
: ccoslceil
: ceilceilf
: ceilfceill
: ceillcexp
: cexpcexpf
: cexpfcexpl
: cexplcfgetispeed
: cfgetispeedcfgetospeed
: cfgetospeedcfsetispeed
: cfsetispeedcfsetospeed
: cfsetospeedchdir
: chdirchmod
: chmodchown
: chowncimag
: cimagcimagf
: cimagfcimagl
: cimaglclearerr
: clearerrclock
: clockclock_getcpuclockid
: clock_getcpuclockidclock_getres
: clock_getresclock_gettime
: clock_gettimeclock_nanosleep
: clock_nanosleepclock_settime
: clock_settimeclog
: clogclogf
: clogfclogl
: cloglclose
: closeclosedir
: closedircloselog
: closelogconfstr
: confstrconj
: conjconjf
: conjfconjl
: conjlconnect
: connectcopysign
: copysigncopysignf
: copysignfcopysignl
: copysignlcos
: coscosf
: cosfcosh
: coshcoshf
: coshfcoshl
: coshlcosl
: coslcpow
: cpowcpowf
: cpowfcpowl
: cpowlcproj
: cprojcprojf
: cprojfcprojl
: cprojlcreal
: crealcrealf
: crealfcreall
: creallcreat
: creatcrypt
: cryptcsin
: csincsinf
: csinfcsinh
: csinhcsinhf
: csinhfcsinhl
: csinhlcsinl
: csinlcsqrt
: csqrtcsqrtf
: csqrtfcsqrtl
: csqrtlctan
: ctanctanf
: ctanfctanh
: ctanhctanhf
: ctanhfctanhl
: ctanhlctanl
: ctanlctermid
: ctermidctime
: ctimectime_r
: ctime_rdaylight
: daylightdbm_clearerr
: dbm_clearerrdbm_close
: dbm_closedbm_delete
: dbm_deletedbm_error
: dbm_errordbm_fetch
: dbm_fetchdbm_firstkey
: dbm_firstkeydbm_nextkey
: dbm_nextkeydbm_open
: dbm_opendbm_store
: dbm_storedifftime
: difftimedirname
: dirnamediv
: divdlclose
: dlclosedlerror
: dlerrordlopen
: dlopendlsym
: dlsymdrand48
: drand48dup
: dupdup2
: dup2ecvt
: ecvtencrypt
: encryptendgrent
: endgrentendhostent
: endhostentendnetent
: endnetentendprotoent
: endprotoentendpwent
: endpwentendservent
: endserventendutxent
: endutxentenviron
: environerand48
: erand48erf
: erferfc
: erfcerfcf
: erfcferfcl
: erfclerff
: erfferfl
: erflerrno
: errnoerror
: error and prognameexecl
: execlexecle
: execleexeclp
: execlpexecv
: execvexecve
: execveexecvp
: execvpexit
: exitexp
: expexp2
: exp2exp2f
: exp2fexp2l
: exp2lexpf
: expfexpl
: explexpm1
: expm1expm1f
: expm1fexpm1l
: expm1lfabs
: fabsfabsf
: fabsffabsl
: fabslfattach
: fattachfchdir
: fchdirfchmod
: fchmodfchown
: fchownfclose
: fclosefcntl
: fcntlfcvt
: fcvtFD_CLR
: FD_CLRFD_ISSET
: FD_ISSETFD_SET
: FD_SETFD_ZERO
: FD_ZEROfdatasync
: fdatasyncfdetach
: fdetachfdim
: fdimfdimf
: fdimffdiml
: fdimlfdopen
: fdopenfeclearexcept
: feclearexceptfegetenv
: fegetenvfegetexceptflag
: fegetexceptflagfegetround
: fegetroundfeholdexcept
: feholdexceptfeof
: feofferaiseexcept
: feraiseexceptferror
: ferrorfesetenv
: fesetenvfesetexceptflag
: fesetexceptflagfesetround
: fesetroundfetestexcept
: fetestexceptfeupdateenv
: feupdateenvfflush
: fflushffs
: ffsfgetc
: fgetcfgetpos
: fgetposfgets
: fgetsfgetwc
: fgetwcfgetws
: fgetwsfileno
: filenoflockfile
: flockfilefloor
: floorfloorf
: floorffloorl
: floorlfma
: fmafmaf
: fmaffmal
: fmalfmax
: fmaxfmaxf
: fmaxffmaxl
: fmaxlfmin
: fminfminf
: fminffminl
: fminlfmod
: fmodfmodf
: fmodffmodl
: fmodlfmtmsg
: fmtmsgfnmatch
: fnmatchfopen
: fopenfork
: forkfpathconf
: fpathconffpclassify
: fpclassifyfprintf
: fprintffputc
: fputcfputs
: fputsfputwc
: fputwcfputws
: fputwsfread
: freadfree
: freefreeaddrinfo
: freeaddrinfofreopen
: freopenfrexp
: frexpfrexpf
: frexpffrexpl
: frexplfscanf
: fscanffseek
: fseekfseeko
: fseekofsetpos
: fsetposfstat
: fstatfstatvfs
: fstatvfsfsync
: fsyncftell
: ftellftello
: ftelloftime
: ftimeftok
: ftokftruncate
: ftruncateftrylockfile
: ftrylockfileftw
: ftwfunlockfile
: funlockfilefwide
: fwidefwprintf
: fwprintffwrite
: fwritefwscanf
: fwscanfgai_strerror
: gai_strerrorgcd
: gcdgcvt
: gcvtgetaddrinfo
: getaddrinfogetc
: getcgetc_unlocked
: getc_unlockedgetchar
: getchargetchar_unlocked
: getchar_unlockedgetcontext
: getcontextgetcwd
: getcwdgetdate
: getdategetdelim
: getdelimgetegid
: getegidgetenv
: getenvgeteuid
: geteuidgetgid
: getgidgetgrent
: getgrentgetgrgid
: getgrgidgetgrgid_r
: getgrgid_rgetgrnam
: getgrnamgetgrnam_r
: getgrnam_rgetgroups
: getgroupsgethostbyaddr
: gethostbyaddrgethostbyname
: gethostbynamegethostent
: gethostentgethostid
: gethostidgethostname
: gethostnamegetitimer
: getitimergetline
: getlinegetlogin
: getlogingetlogin_r
: getlogin_rgetmsg
: getmsggetnameinfo
: getnameinfogetnetbyaddr
: getnetbyaddrgetnetbyname
: getnetbynamegetnetent
: getnetentgetopt
: getoptgetpeername
: getpeernamegetpgid
: getpgidgetpgrp
: getpgrpgetpid
: getpidgetpmsg
: getpmsggetppid
: getppidgetpriority
: getprioritygetprotobyname
: getprotobynamegetprotobynumber
: getprotobynumbergetprotoent
: getprotoentgetpwent
: getpwentgetpwnam
: getpwnamgetpwnam_r
: getpwnam_rgetpwuid
: getpwuidgetpwuid_r
: getpwuid_rgetrlimit
: getrlimitgetrusage
: getrusagegets
: getsgetservbyname
: getservbynamegetservbyport
: getservbyportgetservent
: getserventgetsid
: getsidgetsockname
: getsocknamegetsockopt
: getsockoptgetsubopt
: getsuboptgettimeofday
: gettimeofdaygetuid
: getuidgetutxent
: getutxentgetutxid
: getutxidgetutxline
: getutxlinegetwc
: getwcgetwchar
: getwchargetwd
: getwdglob
: globglobfree
: globfreegmtime
: gmtimegmtime_r
: gmtime_rgnulib-tool
: Invoking gnulib-toolgrantpt
: grantpth_errno
: h_errnohcreate
: hcreatehdestroy
: hdestroyhsearch
: hsearchhtonl
: htonlhtons
: htonshypot
: hypothypotf
: hypotfhypotl
: hypotliconv
: iconviconv_close
: iconv_closeiconv_open
: iconv_openif_freenameindex
: if_freenameindexif_indextoname
: if_indextonameif_nameindex
: if_nameindexif_nametoindex
: if_nametoindexilogb
: ilogbilogbf
: ilogbfilogbl
: ilogblimaxabs
: imaxabsimaxdiv
: imaxdivindex
: indexinet_addr
: inet_addrinet_ntoa
: inet_ntoainet_ntop
: inet_ntopinet_pton
: inet_ptoninitstate
: initstateinsque
: insqueioctl
: ioctlisalnum
: isalnumisalpha
: isalphaisascii
: isasciiisastream
: isastreamisatty
: isattyisblank
: isblankiscntrl
: iscntrlisdigit
: isdigitisfinite
: isfiniteisgraph
: isgraphisgreater
: isgreaterisgreaterequal
: isgreaterequalisinf
: isinfisless
: islessislessequal
: islessequalislessgreater
: islessgreaterislower
: islowerisnan
: isnanisnormal
: isnormalisprint
: isprintispunct
: ispunctisspace
: isspaceisunordered
: isunorderedisupper
: isupperiswalnum
: iswalnumiswalpha
: iswalphaiswblank
: iswblankiswcntrl
: iswcntrliswctype
: iswctypeiswdigit
: iswdigitiswgraph
: iswgraphiswlower
: iswloweriswprint
: iswprintiswpunct
: iswpunctiswspace
: iswspaceiswupper
: iswupperiswxdigit
: iswxdigitisxdigit
: isxdigitj0
: j0j1
: j1jn
: jnjrand48
: jrand48kill
: killkillpg
: killpgl64a
: l64alabs
: labslchown
: lchownlcong48
: lcong48ldexp
: ldexpldexpf
: ldexpfldexpl
: ldexplldiv
: ldivlfind
: lfindlgamma
: lgammalgammaf
: lgammaflgammal
: lgammallink
: linklio_listio
: lio_listiolisten
: listenllabs
: llabslldiv
: lldivllrint
: llrintllrintf
: llrintfllrintl
: llrintlllround
: llroundllroundf
: llroundfllroundl
: llroundllocaleconv
: localeconvlocaltime
: localtimelocaltime_r
: localtime_rlockf
: lockflog
: loglog10
: log10log10f
: log10flog10l
: log10llog1p
: log1plog1pf
: log1pflog1pl
: log1pllog2
: log2log2f
: log2flog2l
: log2llogb
: logblogbf
: logbflogbl
: logbllogf
: logflogl
: logllongjmp
: longjmplrand48
: lrand48lrint
: lrintlrintf
: lrintflrintl
: lrintllround
: lroundlroundf
: lroundflroundl
: lroundllsearch
: lsearchlseek
: lseeklstat
: lstatmakecontext
: makecontextmalloc
: mallocmblen
: mblenmbrlen
: mbrlenmbrtowc
: mbrtowcmbsinit
: mbsinitmbsrtowcs
: mbsrtowcsmbstowcs
: mbstowcsmbtowc
: mbtowcmemccpy
: memccpymemchr
: memchrmemcmp
: memcmpmemcpy
: memcpymemmove
: memmovememset
: memsetmkdir
: mkdirmkfifo
: mkfifomknod
: mknodmkstemp
: mkstempmktemp
: mktempmktime
: mktimemlock
: mlockmlockall
: mlockallmmap
: mmapmodf
: modfmodff
: modffmodfl
: modflmprotect
: mprotectmq_close
: mq_closemq_getattr
: mq_getattrmq_notify
: mq_notifymq_open
: mq_openmq_receive
: mq_receivemq_send
: mq_sendmq_setattr
: mq_setattrmq_timedreceive
: mq_timedreceivemq_timedsend
: mq_timedsendmq_unlink
: mq_unlinkmrand48
: mrand48msgctl
: msgctlmsgget
: msggetmsgrcv
: msgrcvmsgsnd
: msgsndmsync
: msyncmunlock
: munlockmunlockall
: munlockallmunmap
: munmapnan
: nannanf
: nanfnanl
: nanlnanosleep
: nanosleepnearbyint
: nearbyintnearbyintf
: nearbyintfnearbyintl
: nearbyintlnextafter
: nextafternextafterf
: nextafterfnextafterl
: nextafterlnexttoward
: nexttowardnexttowardf
: nexttowardfnexttowardl
: nexttowardlnftw
: nftwnice
: nicenl_langinfo
: nl_langinfonrand48
: nrand48ntohl
: ntohlntohs
: ntohsopen
: openopendir
: opendiropenlog
: openlogoptarg
: optargpathconf
: pathconfpause
: pausepclose
: pcloseperror
: perrorpipe
: pipepoll
: pollpopen
: popenposix_fadvise
: posix_fadviseposix_fallocate
: posix_fallocateposix_madvise
: posix_madviseposix_mem_offset
: posix_mem_offsetposix_memalign
: posix_memalignposix_openpt
: posix_openptposix_spawn
: posix_spawnposix_spawn_file_actions_addclose
: posix_spawn_file_actions_addcloseposix_spawn_file_actions_adddup2
: posix_spawn_file_actions_adddup2posix_spawn_file_actions_addopen
: posix_spawn_file_actions_addopenposix_spawn_file_actions_destroy
: posix_spawn_file_actions_destroyposix_spawn_file_actions_init
: posix_spawn_file_actions_initposix_spawnattr_destroy
: posix_spawnattr_destroyposix_spawnattr_getflags
: posix_spawnattr_getflagsposix_spawnattr_getpgroup
: posix_spawnattr_getpgroupposix_spawnattr_getschedparam
: posix_spawnattr_getschedparamposix_spawnattr_getschedpolicy
: posix_spawnattr_getschedpolicyposix_spawnattr_getsigdefault
: posix_spawnattr_getsigdefaultposix_spawnattr_getsigmask
: posix_spawnattr_getsigmaskposix_spawnattr_init
: posix_spawnattr_initposix_spawnattr_setflags
: posix_spawnattr_setflagsposix_spawnattr_setpgroup
: posix_spawnattr_setpgroupposix_spawnattr_setschedparam
: posix_spawnattr_setschedparamposix_spawnattr_setschedpolicy
: posix_spawnattr_setschedpolicyposix_spawnattr_setsigdefault
: posix_spawnattr_setsigdefaultposix_spawnattr_setsigmask
: posix_spawnattr_setsigmaskposix_spawnp
: posix_spawnpposix_trace_attr_destroy
: posix_trace_attr_destroyposix_trace_attr_getclockres
: posix_trace_attr_getclockresposix_trace_attr_getcreatetime
: posix_trace_attr_getcreatetimeposix_trace_attr_getgenversion
: posix_trace_attr_getgenversionposix_trace_attr_getinherited
: posix_trace_attr_getinheritedposix_trace_attr_getlogfullpolicy
: posix_trace_attr_getlogfullpolicyposix_trace_attr_getlogsize
: posix_trace_attr_getlogsizeposix_trace_attr_getmaxdatasize
: posix_trace_attr_getmaxdatasizeposix_trace_attr_getmaxsystemeventsize
: posix_trace_attr_getmaxsystemeventsizeposix_trace_attr_getmaxusereventsize
: posix_trace_attr_getmaxusereventsizeposix_trace_attr_getname
: posix_trace_attr_getnameposix_trace_attr_getstreamfullpolicy
: posix_trace_attr_getstreamfullpolicyposix_trace_attr_getstreamsize
: posix_trace_attr_getstreamsizeposix_trace_attr_init
: posix_trace_attr_initposix_trace_attr_setinherited
: posix_trace_attr_setinheritedposix_trace_attr_setlogfullpolicy
: posix_trace_attr_setlogfullpolicyposix_trace_attr_setlogsize
: posix_trace_attr_setlogsizeposix_trace_attr_setmaxdatasize
: posix_trace_attr_setmaxdatasizeposix_trace_attr_setname
: posix_trace_attr_setnameposix_trace_attr_setstreamfullpolicy
: posix_trace_attr_setstreamfullpolicyposix_trace_attr_setstreamsize
: posix_trace_attr_setstreamsizeposix_trace_clear
: posix_trace_clearposix_trace_close
: posix_trace_closeposix_trace_create
: posix_trace_createposix_trace_create_withlog
: posix_trace_create_withlogposix_trace_event
: posix_trace_eventposix_trace_eventid_equal
: posix_trace_eventid_equalposix_trace_eventid_get_name
: posix_trace_eventid_get_nameposix_trace_eventid_open
: posix_trace_eventid_openposix_trace_eventset_add
: posix_trace_eventset_addposix_trace_eventset_del
: posix_trace_eventset_delposix_trace_eventset_empty
: posix_trace_eventset_emptyposix_trace_eventset_fill
: posix_trace_eventset_fillposix_trace_eventset_ismember
: posix_trace_eventset_ismemberposix_trace_eventtypelist_getnext_id
: posix_trace_eventtypelist_getnext_idposix_trace_eventtypelist_rewind
: posix_trace_eventtypelist_rewindposix_trace_flush
: posix_trace_flushposix_trace_get_attr
: posix_trace_get_attrposix_trace_get_filter
: posix_trace_get_filterposix_trace_get_status
: posix_trace_get_statusposix_trace_getnext_event
: posix_trace_getnext_eventposix_trace_open
: posix_trace_openposix_trace_rewind
: posix_trace_rewindposix_trace_set_filter
: posix_trace_set_filterposix_trace_shutdown
: posix_trace_shutdownposix_trace_start
: posix_trace_startposix_trace_stop
: posix_trace_stopposix_trace_timedgetnext_event
: posix_trace_timedgetnext_eventposix_trace_trid_eventid_open
: posix_trace_trid_eventid_openposix_trace_trygetnext_event
: posix_trace_trygetnext_eventposix_typed_mem_get_info
: posix_typed_mem_get_infoposix_typed_mem_open
: posix_typed_mem_openpow
: powpowf
: powfpowl
: powlpread
: preadprintf
: printfprogname
: error and prognamepselect
: pselectpthread_atfork
: pthread_atforkpthread_attr_destroy
: pthread_attr_destroypthread_attr_getdetachstate
: pthread_attr_getdetachstatepthread_attr_getguardsize
: pthread_attr_getguardsizepthread_attr_getinheritsched
: pthread_attr_getinheritschedpthread_attr_getschedparam
: pthread_attr_getschedparampthread_attr_getschedpolicy
: pthread_attr_getschedpolicypthread_attr_getscope
: pthread_attr_getscopepthread_attr_getstack
: pthread_attr_getstackpthread_attr_getstackaddr
: pthread_attr_getstackaddrpthread_attr_getstacksize
: pthread_attr_getstacksizepthread_attr_init
: pthread_attr_initpthread_attr_setdetachstate
: pthread_attr_setdetachstatepthread_attr_setguardsize
: pthread_attr_setguardsizepthread_attr_setinheritsched
: pthread_attr_setinheritschedpthread_attr_setschedparam
: pthread_attr_setschedparampthread_attr_setschedpolicy
: pthread_attr_setschedpolicypthread_attr_setscope
: pthread_attr_setscopepthread_attr_setstack
: pthread_attr_setstackpthread_attr_setstackaddr
: pthread_attr_setstackaddrpthread_attr_setstacksize
: pthread_attr_setstacksizepthread_barrier_destroy
: pthread_barrier_destroypthread_barrier_init
: pthread_barrier_initpthread_barrier_wait
: pthread_barrier_waitpthread_barrierattr_destroy
: pthread_barrierattr_destroypthread_barrierattr_getpshared
: pthread_barrierattr_getpsharedpthread_barrierattr_init
: pthread_barrierattr_initpthread_barrierattr_setpshared
: pthread_barrierattr_setpsharedpthread_cancel
: pthread_cancelpthread_cleanup_pop
: pthread_cleanup_poppthread_cleanup_push
: pthread_cleanup_pushpthread_cond_broadcast
: pthread_cond_broadcastpthread_cond_destroy
: pthread_cond_destroypthread_cond_init
: pthread_cond_initpthread_cond_signal
: pthread_cond_signalpthread_cond_timedwait
: pthread_cond_timedwaitpthread_cond_wait
: pthread_cond_waitpthread_condattr_destroy
: pthread_condattr_destroypthread_condattr_getclock
: pthread_condattr_getclockpthread_condattr_getpshared
: pthread_condattr_getpsharedpthread_condattr_init
: pthread_condattr_initpthread_condattr_setclock
: pthread_condattr_setclockpthread_condattr_setpshared
: pthread_condattr_setpsharedpthread_create
: pthread_createpthread_detach
: pthread_detachpthread_equal
: pthread_equalpthread_exit
: pthread_exitpthread_getconcurrency
: pthread_getconcurrencypthread_getcpuclockid
: pthread_getcpuclockidpthread_getschedparam
: pthread_getschedparampthread_getspecific
: pthread_getspecificpthread_join
: pthread_joinpthread_key_create
: pthread_key_createpthread_key_delete
: pthread_key_deletepthread_kill
: pthread_killpthread_mutex_destroy
: pthread_mutex_destroypthread_mutex_getprioceiling
: pthread_mutex_getprioceilingpthread_mutex_init
: pthread_mutex_initpthread_mutex_lock
: pthread_mutex_lockpthread_mutex_setprioceiling
: pthread_mutex_setprioceilingpthread_mutex_timedlock
: pthread_mutex_timedlockpthread_mutex_trylock
: pthread_mutex_trylockpthread_mutex_unlock
: pthread_mutex_unlockpthread_mutexattr_destroy
: pthread_mutexattr_destroypthread_mutexattr_getprioceiling
: pthread_mutexattr_getprioceilingpthread_mutexattr_getprotocol
: pthread_mutexattr_getprotocolpthread_mutexattr_getpshared
: pthread_mutexattr_getpsharedpthread_mutexattr_gettype
: pthread_mutexattr_gettypepthread_mutexattr_init
: pthread_mutexattr_initpthread_mutexattr_setprioceiling
: pthread_mutexattr_setprioceilingpthread_mutexattr_setprotocol
: pthread_mutexattr_setprotocolpthread_mutexattr_setpshared
: pthread_mutexattr_setpsharedpthread_mutexattr_settype
: pthread_mutexattr_settypepthread_once
: pthread_oncepthread_rwlock_destroy
: pthread_rwlock_destroypthread_rwlock_init
: pthread_rwlock_initpthread_rwlock_rdlock
: pthread_rwlock_rdlockpthread_rwlock_timedrdlock
: pthread_rwlock_timedrdlockpthread_rwlock_timedwrlock
: pthread_rwlock_timedwrlockpthread_rwlock_tryrdlock
: pthread_rwlock_tryrdlockpthread_rwlock_trywrlock
: pthread_rwlock_trywrlockpthread_rwlock_unlock
: pthread_rwlock_unlockpthread_rwlock_wrlock
: pthread_rwlock_wrlockpthread_rwlockattr_destroy
: pthread_rwlockattr_destroypthread_rwlockattr_getpshared
: pthread_rwlockattr_getpsharedpthread_rwlockattr_init
: pthread_rwlockattr_initpthread_rwlockattr_setpshared
: pthread_rwlockattr_setpsharedpthread_self
: pthread_selfpthread_setcancelstate
: pthread_setcancelstatepthread_setcanceltype
: pthread_setcanceltypepthread_setconcurrency
: pthread_setconcurrencypthread_setschedparam
: pthread_setschedparampthread_setschedprio
: pthread_setschedpriopthread_setspecific
: pthread_setspecificpthread_sigmask
: pthread_sigmaskpthread_spin_destroy
: pthread_spin_destroypthread_spin_init
: pthread_spin_initpthread_spin_lock
: pthread_spin_lockpthread_spin_trylock
: pthread_spin_trylockpthread_spin_unlock
: pthread_spin_unlockpthread_testcancel
: pthread_testcancelptsname
: ptsnameputc
: putcputc_unlocked
: putc_unlockedputchar
: putcharputchar_unlocked
: putchar_unlockedputenv
: putenvputmsg
: putmsgputpmsg
: putpmsgputs
: putspututxline
: pututxlineputwc
: putwcputwchar
: putwcharpwrite
: pwriteqsort
: qsortquote
: Quotingquote_n
: Quotingquotearg
: Quotingquotearg_alloc
: Quotingraise
: raiserand
: randrand_r
: rand_rrandom
: randomread
: readreaddir
: readdirreaddir_r
: readdir_rreadlink
: readlinkreadv
: readvrealloc
: reallocrealpath
: realpathrecv
: recvrecvfrom
: recvfromrecvmsg
: recvmsgregcomp
: regcompregerror
: regerrorregexec
: regexecregfree
: regfreeremainder
: remainderremainderf
: remainderfremainderl
: remainderlremove
: removeremque
: remqueremquo
: remquoremquof
: remquofremquol
: remquolrename
: renamerewind
: rewindrewinddir
: rewinddirrindex
: rindexrint
: rintrintf
: rintfrintl
: rintlrmdir
: rmdirround
: roundroundf
: roundfroundl
: roundlscalb
: scalbscalbln
: scalblnscalblnf
: scalblnfscalblnl
: scalblnlscalbn
: scalbnscalbnf
: scalbnfscalbnl
: scalbnlscanf
: scanfsched_get_priority_max
: sched_get_priority_maxsched_getparam
: sched_getparamsched_getscheduler
: sched_getschedulersched_rr_get_interval
: sched_rr_get_intervalsched_setparam
: sched_setparamsched_setscheduler
: sched_setschedulersched_yield
: sched_yieldseed48
: seed48seekdir
: seekdirselect
: selectsem_close
: sem_closesem_destroy
: sem_destroysem_getvalue
: sem_getvaluesem_init
: sem_initsem_open
: sem_opensem_post
: sem_postsem_timedwait
: sem_timedwaitsem_trywait
: sem_trywaitsem_unlink
: sem_unlinksem_wait
: sem_waitsemctl
: semctlsemget
: semgetsemop
: semopsend
: sendsendmsg
: sendmsgsendto
: sendtosetbuf
: setbufsetcontext
: setcontextsetegid
: setegidsetenv
: setenvseteuid
: seteuidsetgid
: setgidsetgrent
: setgrentsethostent
: sethostentsetitimer
: setitimersetjmp
: setjmpsetkey
: setkeysetlocale
: setlocalesetlogmask
: setlogmasksetnetent
: setnetentsetpgid
: setpgidsetpgrp
: setpgrpsetpriority
: setprioritysetprotoent
: setprotoentsetpwent
: setpwentsetregid
: setregidsetreuid
: setreuidsetrlimit
: setrlimitsetservent
: setserventsetsid
: setsidsetsockopt
: setsockoptsetstate
: setstatesetuid
: setuidsetutxent
: setutxentsetvbuf
: setvbufshm_open
: shm_openshm_unlink
: shm_unlinkshmat
: shmatshmctl
: shmctlshmdt
: shmdtshmget
: shmgetshutdown
: shutdownsigaction
: sigactionsigaddset
: sigaddsetsigaltstack
: sigaltstacksigdelset
: sigdelsetsigemptyset
: sigemptysetsigfillset
: sigfillsetsighold
: sigholdsigignore
: sigignoresiginterrupt
: siginterruptsigismember
: sigismembersiglongjmp
: siglongjmpsignal
: signalsignbit
: signbitsigpause
: sigpausesigpending
: sigpendingsigprocmask
: sigprocmasksigqueue
: sigqueuesigrelse
: sigrelsesigset
: sigsetsigsetjmp
: sigsetjmpsigsuspend
: sigsuspendsigtimedwait
: sigtimedwaitsigwait
: sigwaitsigwaitinfo
: sigwaitinfosin
: sinsinf
: sinfsinh
: sinhsinhf
: sinhfsinhl
: sinhlsinl
: sinlsleep
: sleepsnprintf
: snprintfsockatmark
: sockatmarksocket
: socketsocketpair
: socketpairsprintf
: sprintfsqrt
: sqrtsqrtf
: sqrtfsqrtl
: sqrtlsrand
: srandsrand48
: srand48srandom
: srandomsscanf
: sscanfstat
: statstatvfs
: statvfsstderr
: stderrstdin
: stdinstdout
: stdoutstrcasecmp
: strcasecmpstrcat
: strcatstrchr
: strchrstrcmp
: strcmpstrcoll
: strcollstrcpy
: strcpystrcspn
: strcspnstrdup
: strdupstrerror
: strerrorstrerror_r
: strerror_rstrfmon
: strfmonstrftime
: strftimestrlen
: strlenstrncasecmp
: strncasecmpstrncat
: strncatstrncmp
: strncmpstrncpy
: strncpystrpbrk
: strpbrkstrptime
: strptimestrrchr
: strrchrstrspn
: strspnstrstr
: strstrstrtod
: strtodstrtof
: strtofstrtoimax
: strtoimaxstrtok
: strtokstrtok_r
: strtok_rstrtol
: strtolstrtold
: strtoldstrtoll
: strtollstrtoul
: strtoulstrtoull
: strtoullstrtoumax
: strtoumaxstrxfrm
: strxfrmswab
: swabswapcontext
: swapcontextswprintf
: swprintfswscanf
: swscanfsymlink
: symlinksync
: syncsysconf
: sysconfsyslog
: syslogsystem
: systemtan
: tantanf
: tanftanh
: tanhtanhf
: tanhftanhl
: tanhltanl
: tanltcdrain
: tcdraintcflow
: tcflowtcflush
: tcflushtcgetattr
: tcgetattrtcgetpgrp
: tcgetpgrptcgetsid
: tcgetsidtcsendbreak
: tcsendbreaktcsetattr
: tcsetattrtcsetpgrp
: tcsetpgrptdelete
: tdeletetelldir
: telldirtempnam
: tempnamtfind
: tfindtgamma
: tgammatgammaf
: tgammaftgammal
: tgammaltime
: timetimer_create
: timer_createtimer_delete
: timer_deletetimer_getoverrun
: timer_getoverruntimer_settime
: timer_settimetimes
: timestimezone
: timezonetmpfile
: tmpfiletmpnam
: tmpnamtoascii
: toasciitolower
: tolowertoupper
: touppertowctrans
: towctranstowlower
: towlowertowupper
: towuppertrunc
: trunctruncate
: truncatetruncf
: truncftruncl
: truncltsearch
: tsearchttyname
: ttynamettyname_r
: ttyname_rtwalk
: twalktzname
: tznametzset
: tzsetualarm
: ualarmulimit
: ulimitumask
: umaskuname
: unameungetc
: ungetcungetwc
: ungetwcunlink
: unlinkunlockpt
: unlockptunsetenv
: unsetenvusleep
: usleeputime
: utimeutimes
: utimesva_arg
: va_argva_copy
: va_copyva_end
: va_endva_start
: va_startvfork
: vforkvfprintf
: vfprintfvfscanf
: vfscanfvfwprintf
: vfwprintfvfwscanf
: vfwscanfvprintf
: vprintfvscanf
: vscanfvsnprintf
: vsnprintfvsprintf
: vsprintfvsscanf
: vsscanfvswprintf
: vswprintfvswscanf
: vswscanfvwprintf
: vwprintfvwscanf
: vwscanfwait
: waitwaitid
: waitidwaitpid
: waitpidwcrtomb
: wcrtombwcscat
: wcscatwcschr
: wcschrwcscmp
: wcscmpwcscoll
: wcscollwcscpy
: wcscpywcscspn
: wcscspnwcsftime
: wcsftimewcslen
: wcslenwcsncat
: wcsncatwcsncmp
: wcsncmpwcsncpy
: wcsncpywcspbrk
: wcspbrkwcsrchr
: wcsrchrwcsrtombs
: wcsrtombswcsspn
: wcsspnwcsstr
: wcsstrwcstod
: wcstodwcstof
: wcstofwcstoimax
: wcstoimaxwcstok
: wcstokwcstol
: wcstolwcstold
: wcstoldwcstoll
: wcstollwcstombs
: wcstombswcstoul
: wcstoulwcstoull
: wcstoullwcstoumax
: wcstoumaxwcswcs
: wcswcswcswidth
: wcswidthwcsxfrm
: wcsxfrmwctob
: wctobwctomb
: wctombwctrans
: wctranswctype
: wctypewcwidth
: wcwidthwmemchr
: wmemchrwmemcmp
: wmemcmpwmemcpy
: wmemcpywmemmove
: wmemmovewmemset
: wmemsetwordexp
: wordexpwordfree
: wordfreewprintf
: wprintfwrite
: writewritev
: writevwscanf
: wscanfy0
: y0y1
: y1yn
: yn