gettextize
and autopoint
usersFD_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
aligned_alloc
alphasort
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
bind
bsearch
btowc
c16rtomb
c32rtomb
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
dirfd
dirname
div
dlclose
dlerror
dlopen
dlsym
dprintf
drand48
dup
dup2
duplocale
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
faccessat
fattach
fchdir
fchmod
fchmodat
fchown
fchownat
fclose
fcntl
fdatasync
fdetach
fdim
fdimf
fdiml
fdopen
fdopendir
feclearexcept
fegetenv
fegetexceptflag
fegetround
feholdexcept
feof
feraiseexcept
ferror
fesetenv
fesetexceptflag
fesetround
fetestexcept
feupdateenv
fexecve
fflush
ffs
fgetc
fgetpos
fgets
fgetwc
fgetws
fileno
flockfile
floor
floorf
floorl
fma
fmaf
fmal
fmax
fmaxf
fmaxl
fmemopen
fmin
fminf
fminl
fmod
fmodf
fmodl
fmtmsg
fnmatch
fopen
fork
fpathconf
fpclassify
fprintf
fputc
fputs
fputwc
fputws
fread
free
freeaddrinfo
freelocale
freopen
frexp
frexpf
frexpl
fscanf
fseek
fseeko
fsetpos
fstat
fstatat
fstatvfs
fsync
ftell
ftello
ftok
ftruncate
ftrylockfile
ftw
funlockfile
futimens
fwide
fwprintf
fwrite
fwscanf
gai_strerror
getaddrinfo
getc
getc_unlocked
getchar
getchar_unlocked
getcwd
getdate
getdate_err
getdelim
getegid
getenv
geteuid
getgid
getgrent
getgrgid
getgrgid_r
getgrnam
getgrnam_r
getgroups
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
glob
globfree
gmtime
gmtime_r
grantpt
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
inet_addr
inet_ntoa
inet_ntop
inet_pton
initstate
insque
ioctl
isalnum
isalnum_l
isalpha
isalpha_l
isascii
isastream
isatty
isblank
isblank_l
iscntrl
iscntrl_l
isdigit
isdigit_l
isfinite
isgraph
isgraph_l
isgreater
isgreaterequal
isinf
isless
islessequal
islessgreater
islower
islower_l
isnan
isnormal
isprint
isprint_l
ispunct
ispunct_l
isspace
isspace_l
isunordered
isupper
isupper_l
iswalnum
iswalnum_l
iswalpha
iswalpha_l
iswblank
iswblank_l
iswcntrl
iswcntrl_l
iswctype
iswctype_l
iswdigit
iswdigit_l
iswgraph
iswgraph_l
iswlower
iswlower_l
iswprint
iswprint_l
iswpunct
iswpunct_l
iswspace
iswspace_l
iswupper
iswupper_l
iswxdigit
iswxdigit_l
isxdigit
isxdigit_l
j0
j1
jn
jrand48
kill
killpg
l64a
labs
lchown
lcong48
ldexp
ldexpf
ldexpl
ldiv
lfind
lgamma
lgammaf
lgammal
link
linkat
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
malloc
mblen
mbrlen
mbrtoc16
mbrtoc32
mbrtowc
mbsinit
mbsnrtowcs
mbsrtowcs
mbstowcs
mbtowc
memccpy
memchr
memcmp
memcpy
memmove
memset
mkdir
mkdirat
mkdtemp
mkfifo
mkfifoat
mknod
mknodat
mkstemp
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
newlocale
nextafter
nextafterf
nextafterl
nexttoward
nexttowardf
nexttowardl
nftw
nice
nl_langinfo
nl_langinfo_l
nrand48
ntohl
ntohs
open
openat
opendir
openlog
open_memstream
open_wmemstream
optarg
opterr
optind
optopt
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
psiginfo
psignal
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_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_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_consistent
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_getrobust
pthread_mutexattr_gettype
pthread_mutexattr_init
pthread_mutexattr_setprioceiling
pthread_mutexattr_setprotocol
pthread_mutexattr_setpshared
pthread_mutexattr_setrobust
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
quick_exit
raise
rand
rand_r
random
read
readdir
readdir_r
readlink
readlinkat
readv
realloc
realpath
recv
recvfrom
recvmsg
regcomp
regerror
regexec
regfree
remainder
remainderf
remainderl
remove
remque
remquo
remquof
remquol
rename
renameat
rewind
rewinddir
rint
rintf
rintl
rmdir
round
roundf
roundl
scalbln
scalblnf
scalblnl
scalbn
scalbnf
scalbnl
scandir
scanf
sched_get_priority_max
sched_get_priority_min
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
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
signgam
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
stpcpy
stpncpy
strcasecmp
strcasecmp_l
strcat
strchr
strcmp
strcoll
strcoll_l
strcpy
strcspn
strdup
strerror
strerror_l
strerror_r
strfmon
strfmon_l
strftime
strftime_l
strlen
strncasecmp
strncasecmp_l
strncat
strncmp
strncpy
strndup
strnlen
strpbrk
strptime
strrchr
strsignal
strspn
strstr
strtod
strtof
strtoimax
strtok
strtok_r
strtol
strtold
strtoll
strtoul
strtoull
strtoumax
strxfrm
strxfrm_l
swab
swprintf
swscanf
symlink
symlinkat
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_gettime
timer_settime
times
timezone
tmpfile
tmpnam
toascii
tolower
tolower_l
toupper
toupper_l
towctrans
towctrans_l
towlower
towlower_l
towupper
towupper_l
trunc
truncate
truncf
truncl
tsearch
ttyname
ttyname_r
twalk
tzname
tzset
ulimit
umask
uname
ungetc
ungetwc
unlink
unlinkat
unlockpt
unsetenv
uselocale
utime
utimensat
utimes
va_arg
va_copy
va_end
va_start
vdprintf
vfprintf
vfscanf
vfwprintf
vfwscanf
vprintf
vscanf
vsnprintf
vsprintf
vsscanf
vswprintf
vswscanf
vwprintf
vwscanf
wait
waitid
waitpid
wcpcpy
wcpncpy
wcrtomb
wcscasecmp
wcscasecmp_l
wcscat
wcschr
wcscmp
wcscoll
wcscoll_l
wcscpy
wcscspn
wcsdup
wcsftime
wcslen
wcsncasecmp
wcsncasecmp_l
wcsncat
wcsncmp
wcsncpy
wcsnlen
wcsnrtombs
wcspbrk
wcsrchr
wcsrtombs
wcsspn
wcsstr
wcstod
wcstof
wcstoimax
wcstok
wcstol
wcstold
wcstoll
wcstombs
wcstoul
wcstoull
wcstoumax
wcswidth
wcsxfrm
wcsxfrm_l
wctob
wctomb
wctrans
wctrans_l
wctype
wctype_l
wcwidth
wmemchr
wmemcmp
wmemcpy
wmemmove
wmemset
wordexp
wordfree
wprintf
write
writev
wscanf
y0
y1
yn
bcmp
bcopy
bsd_signal
bzero
ecvt
fcvt
ftime
gcvt
getcontext
gethostbyaddr
gethostbyname
getwd
h_errno
index
makecontext
mktemp
pthread_attr_getstackaddr
pthread_attr_setstackaddr
rindex
scalb
setcontext
swapcontext
ualarm
usleep
vfork
wcswcs
<aio.h>
<aliases.h>
<argp.h>
<argz.h>
<arpa/inet.h>
<byteswap.h>
<complex.h>
<crypt.h>
<ctype.h>
<dirent.h>
<dlfcn.h>
<envz.h>
<err.h>
<errno.h>
<error.h>
<execinfo.h>
<fcntl.h>
<fenv.h>
<fmtmsg.h>
<fstab.h>
<fts.h>
<getopt.h>
<glob.h>
<gnu/libc-version.h>
<grp.h>
<gshadow.h>
<ifaddrs.h>
<libintl.h>
<link.h>
<malloc.h>
<math.h>
drem
dremf
dreml
exp10
exp10f
exp10l
finite
finitef
finitel
gamma
gammaf
gammal
isinff
isinfl
isnanf
isnanl
j0f
j0l
j1f
j1l
jnf
jnl
lgamma_r
lgammaf_r
lgammal_r
matherr
pow10
pow10f
pow10l
scalbf
scalbl
significand
significandf
significandl
sincos
sincosf
sincosl
y0f
y0l
y1f
y1l
ynf
ynl
<mcheck.h>
<mntent.h>
<netdb.h>
endnetgrent
gethostbyaddr_r
gethostbyname2
gethostbyname2_r
gethostbyname_r
gethostent_r
getnetbyaddr_r
getnetbyname_r
getnetent_r
getnetgrent
getnetgrent_r
getprotobyname_r
getprotobynumber_r
getprotoent_r
getservbyname_r
getservbyport_r
getservent_r
herror
hstrerror
innetgr
rcmd
rcmd_af
rexec
rexec_af
rresvport
rresvport_af
ruserok
ruserok_af
setnetgrent
<netinet/ether.h>
<netinet/in.h>
bindresvport
getipv4sourcefilter
getsourcefilter
in6addr_any
in6addr_loopback
inet6_option_alloc
inet6_option_append
inet6_option_find
inet6_option_init
inet6_option_next
inet6_option_space
inet6_opt_append
inet6_opt_find
inet6_opt_finish
inet6_opt_get_val
inet6_opt_init
inet6_opt_next
inet6_opt_set_val
inet6_rth_add
inet6_rth_getaddr
inet6_rth_init
inet6_rth_reverse
inet6_rth_segments
inet6_rth_space
setipv4sourcefilter
setsourcefilter
<obstack.h>
<printf.h>
<pthread.h>
pthread_attr_getaffinity_np
pthread_attr_setaffinity_np
pthread_getaffinity_np
pthread_getattr_np
pthread_getname_np
pthread_kill_other_threads_np
pthread_mutex_consistent_np
pthread_mutexattr_getrobust_np
pthread_mutexattr_setrobust_np
pthread_rwlockattr_getkind_np
pthread_rwlockattr_setkind_np
pthread_setaffinity_np
pthread_setname_np
pthread_sigqueue
pthread_timedjoin_np
pthread_tryjoin_np
pthread_yield
<pty.h>
<pwd.h>
<regex.h>
<regexp.h>
<resolv.h>
<rpc/auth.h>
authdes_create
authdes_pk_create
authnone_create
authunix_create
authunix_create_default
getnetname
host2netname
key_decryptsession
key_decryptsession_pk
key_encryptsession
key_encryptsession_pk
key_gendes
key_get_conv
key_secretkey_is_set
key_setsecret
netname2host
netname2user
user2netname
xdr_des_block
xdr_opaque_auth
<rpc/auth_des.h>
<rpc/auth_unix.h>
<rpc/clnt.h>
callrpc
clnt_create
clnt_pcreateerror
clnt_perrno
clnt_perror
clnt_spcreateerror
clnt_sperrno
clnt_sperror
clntraw_create
clnttcp_create
clntudp_bufcreate
clntudp_create
clntunix_create
get_myaddress
getrpcport
rpc_createerr
<rpc/des_crypt.h>
<rpc/key_prot.h>
<rpc/netdb.h>
<rpc/pmap_clnt.h>
<rpc/pmap_prot.h>
<rpc/pmap_rmt.h>
<rpc/rpc_msg.h>
<rpc/svc.h>
svc_exit
svc_fdset
svc_getreq
svc_getreq_common
svc_getreq_poll
svc_getreqset
svc_max_pollfd
svc_pollfd
svc_register
svc_run
svc_sendreply
svc_unregister
svcerr_auth
svcerr_decode
svcerr_noproc
svcerr_noprog
svcerr_progvers
svcerr_systemerr
svcerr_weakauth
svcraw_create
svctcp_create
svcudp_bufcreate
svcudp_create
svcunix_create
xprt_register
xprt_unregister
<rpc/xdr.h>
xdr_array
xdr_bool
xdr_bytes
xdr_char
xdr_double
xdr_enum
xdr_float
xdr_free
xdr_hyper
xdr_int
xdr_int16_t
xdr_int32_t
xdr_int64_t
xdr_int8_t
xdr_long
xdr_longlong_t
xdr_netobj
xdr_opaque
xdr_pointer
xdr_quad_t
xdr_reference
xdr_short
xdr_sizeof
xdr_string
xdr_u_char
xdr_u_hyper
xdr_u_int
xdr_u_long
xdr_u_longlong_t
xdr_u_quad_t
xdr_u_short
xdr_uint16_t
xdr_uint32_t
xdr_uint64_t
xdr_uint8_t
xdr_union
xdr_vector
xdr_void
xdr_wrapstring
xdrmem_create
xdrrec_create
xdrrec_endofrecord
xdrrec_eof
xdrrec_skiprecord
xdrstdio_create
<rpcsvc/nislib.h>
nis_add
nis_add_entry
nis_addmember
nis_checkpoint
nis_clone_object
nis_creategroup
nis_destroy_object
nis_destroygroup
nis_dir_cmp
nis_domain_of
nis_domain_of_r
nis_first_entry
nis_freenames
nis_freeresult
nis_freeservlist
nis_freetags
nis_getnames
nis_getservlist
nis_ismember
nis_leaf_of
nis_leaf_of_r
nis_lerror
nis_list
nis_local_directory
nis_local_group
nis_local_host
nis_local_principal
nis_lookup
nis_mkdir
nis_modify
nis_modify_entry
nis_name_of
nis_name_of_r
nis_next_entry
nis_perror
nis_ping
nis_print_directory
nis_print_entry
nis_print_group
nis_print_group_entry
nis_print_link
nis_print_object
nis_print_result
nis_print_rights
nis_print_table
nis_remove
nis_remove_entry
nis_removemember
nis_rmdir
nis_servstate
nis_sperrno
nis_sperror
nis_sperror_r
nis_stats
nis_verifygroup
<rpcsvc/nis_callback.h>
<rpcsvc/yp.h>
xdr_domainname
xdr_keydat
xdr_mapname
xdr_peername
xdr_valdat
xdr_ypbind_binding
xdr_ypbind_resp
xdr_ypbind_resptype
xdr_ypbind_setdom
xdr_ypmap_parms
xdr_ypmaplist
xdr_yppush_status
xdr_yppushresp_xfr
xdr_ypreq_key
xdr_ypreq_nokey
xdr_ypreq_xfr
xdr_ypresp_all
xdr_ypresp_key_val
xdr_ypresp_maplist
xdr_ypresp_master
xdr_ypresp_order
xdr_ypresp_val
xdr_ypresp_xfr
xdr_ypstat
xdr_ypxfrstat
<rpcsvc/yp_prot.h>
<rpcsvc/ypclnt.h>
<rpcsvc/ypupd.h>
<sched.h>
<search.h>
<selinux/selinux.h>
<shadow.h>
<signal.h>
<stdio.h>
asprintf
cuserid
clearerr_unlocked
fcloseall
feof_unlocked
ferror_unlocked
fflush_unlocked
fgetc_unlocked
fgets_unlocked
fileno_unlocked
fopencookie
fputc_unlocked
fputs_unlocked
fread_unlocked
fwrite_unlocked
getw
putw
setbuffer
setlinebuf
sys_errlist
sys_nerr
tmpnam_r
vasprintf
<stdlib.h>
canonicalize_file_name
cfree
clearenv
drand48_r
ecvt_r
erand48_r
fcvt_r
getloadavg
getpt
initstate_r
jrand48_r
lcong48_r
lrand48_r
mkostemp
mkostemps
mrand48_r
mkstemps
nrand48_r
on_exit
ptsname_r
qecvt
qecvt_r
qfcvt
qfcvt_r
qgcvt
qsort_r
random_r
rpmatch
secure_getenv
seed48_r
setstate_r
srand48_r
srandom_r
strtod_l
strtof_l
strtol_l
strtold_l
strtoll_l
strtoq
strtoul_l
strtoull_l
strtouq
valloc
<string.h>
<sys/capability.h>
<sys/epoll.h>
<sys/fanotify.h>
<sys/file.h>
<sys/fsuid.h>
<sys/gmon.h>
<sys/io.h>
, <sys/perm.h>
<sys/kdaemon.h>
<sys/klog.h>
<sys/mman.h>
<sys/mount.h>
<sys/personality.h>
<sys/prctl.h>
<sys/profil.h>
<sys/ptrace.h>
<sys/quota.h>
<sys/reboot.h>
<sys/resource.h>
<sys/sem.h>
<sys/sendfile.h>
<sys/socket.h>
<sys/stat.h>
<sys/statfs.h>
<sys/swap.h>
<sys/sysctl.h>
<sys/sysinfo.h>
<sys/syslog.h>
<sys/sysmacros.h>
<sys/time.h>
<sys/timex.h>
<sys/uio.h>
<sys/ustat.h>
<sys/vlimit.h>
<sys/vm86.h>
<sys/vtimes.h>
<sys/wait.h>
<sys/xattr.h>
<termios.h>
<time.h>
<ttyent.h>
<unistd.h>
acct
brk
chroot
daemon
dup3
endusershell
euidaccess
execvpe
get_current_dir_name
getdomainname
getdtablesize
getpagesize
getpass
getresgid
getresuid
getusershell
group_member
pipe2
profil
revoke
sbrk
setlogin
setdomainname
sethostid
sethostname
setresgid
setresuid
setusershell
syncfs
syscall
ttyslot
vhangup
<utmp.h>
<utmpx.h>
<wchar.h>
fgetwc_unlocked
fgetws_unlocked
fputwc_unlocked
fputws_unlocked
getwc_unlocked
getwchar_unlocked
putwc_unlocked
putwchar_unlocked
wcschrnul
wcsftime_l
wcstod_l
wcstof_l
wcstol_l
wcstold_l
wcstoll_l
wcstoq
wcstoul_l
wcstoull_l
wcstouq
wmempcpy
.
)|
or \|
)[
… ]
and [^
… ]
)
(
… )
or \(
… \)
)\b
)\B
)\<
)\>
)\w
)\W
)Next: Brief Overview, Up: (dir) [Contents][Index]
This manual is for GNU Gnulib (updated 2014-02-03 00:48:46), which is a library of common routines intended to be shared at the source level.
Copyright © 2004–2014 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.
• Brief Overview: | ||
• Philosophy: | ||
• Invoking gnulib-tool: | ||
• Writing modules: | ||
• Extending Gnulib: | ||
• Miscellaneous Notes: | ||
• POSIX Substitutes Library: | Building as a separate substitutes library. | |
• Header File Substitutes: | Overriding system headers. | |
• Function Substitutes: | Replacing system functions. | |
• Legacy Function Substitutes: | Replacing system functions. | |
• Glibc Header File Substitutes: | Overriding system headers. | |
• Glibc Function Substitutes: | Replacing system functions. | |
• Particular Modules: | Documentation of individual modules. | |
• Regular expressions: | The regex module. | |
• GNU Free Documentation License: | Copying and sharing this manual. | |
• Index: |
Next: Philosophy, Previous: Top, Up: Top [Contents][Index]
Gnulib is a source code library that provides basic functionality to programs and libraries. Many software packages make use of Gnulib to avoid reinventing the portability wheel.
Resources:
• Gnulib Basics: | ||
• Git Checkout: | ||
• Keeping Up-to-date: | ||
• Contributing to Gnulib: | ||
• High Quality: |
Next: Git Checkout, Up: Brief Overview [Contents][Index]
While portability across operating systems is not one of GNU’s primary goals, it has helped introduce many people to the GNU system, and is worthwhile when it can be achieved at a low cost. This collection helps lower that cost.
Gnulib is intended to be the canonical source for most of the important “portability” and/or common files for GNU projects. These are files intended to be shared at the source level; Gnulib is not a typical library meant to be installed and linked against. Thus, unlike most projects, Gnulib does not normally generate a source tarball distribution; instead, developers grab modules directly from the source repository.
The easiest, and recommended, way to do this is to use the
gnulib-tool
script. Since there is no installation
procedure for Gnulib, gnulib-tool
needs to be run directly
in the directory that contains the Gnulib source code. You can do
this either by specifying the absolute filename of
gnulib-tool
, or by using a symbolic link from a place inside
your PATH
to the gnulib-tool
file of your preferred
Gnulib checkout. For example:
$ ln -s $HOME/gnu/src/gnulib.git/gnulib-tool $HOME/bin/gnulib-tool
Next: Keeping Up-to-date, Previous: Gnulib Basics, Up: Brief Overview [Contents][Index]
Gnulib is available for anonymous checkout. In any Bourne-shell the following should work:
$ git clone git://git.sv.gnu.org/gnulib.git
For a read-write checkout you need to have a login on ‘savannah.gnu.org’ and be a member of the Gnulib project at http://savannah.gnu.org/projects/gnulib. Then, instead of the URL git://git.sv.gnu.org/gnulib, use the URL ‘ssh://user@git.sv.gnu.org/srv/git/gnulib’ where user is your login name on savannah.gnu.org.
git resources:
When you use git annotate
or git blame
with Gnulib, it’s
recommended that you use the -w option, in order to ignore
massive whitespace changes that happened in 2009.
Next: Contributing to Gnulib, Previous: Git Checkout, Up: Brief Overview [Contents][Index]
The best way to work with Gnulib is to check it out of git.
To synchronize, you can use git pull
.
Subscribing to the bug-gnulib@gnu.org mailing list will help you to plan when to update your local copy of Gnulib (which you use to maintain your software) from git. You can review the archives, subscribe, etc., via https://lists.gnu.org/mailman/listinfo/bug-gnulib.
Sometimes, using an updated version of Gnulib will require you to use newer versions of GNU Automake or Autoconf. You may find it helpful to join the autotools-announce mailing list to be advised of such changes.
Next: High Quality, Previous: Keeping Up-to-date, Up: Brief Overview [Contents][Index]
All software here is copyrighted by the Free Software Foundation—you need to have filled out an assignment form for a project that uses the module for that contribution to be accepted here.
If you have a piece of code that you would like to contribute, please email bug-gnulib@gnu.org.
Generally we are looking for files that fulfill at least one of the following requirements:
If your functions define completely new but rarely used functionality, you should probably consider packaging it as a separate library.
• Gnulib licensing: | ||
• Indent with spaces not TABs: | ||
• How to add a new module: | ||
• Portability guidelines: |
Next: Indent with spaces not TABs, Up: Contributing to Gnulib [Contents][Index]
Gnulib contains code both under GPL and LGPL. Because several packages that use Gnulib are GPL, the files state they are licensed under GPL. However, to support LGPL projects as well, you may use some of the files under LGPL. The “License:” information in the files under modules/ clarifies the real license that applies to the module source.
Keep in mind that if you submit patches to files in Gnulib, you should license them under a compatible license, which means that sometimes the contribution will have to be LGPL, if the original file is available under LGPL via a “License: LGPL” information in the projects’ modules/ file.
Next: How to add a new module, Previous: Gnulib licensing, Up: Contributing to Gnulib [Contents][Index]
We use space-only indentation in nearly all files. This includes all
*.h, *.c, *.y files, except for the regex
module. Makefile and ChangeLog files are excluded, since TAB
characters are part of their format.
In order to tell your editor to produce space-only indentation, you can use these instructions.
;; In Gnulib, indent with spaces everywhere (not TABs). ;; Exceptions: Makefile and ChangeLog modes. (add-hook 'find-file-hook '(lambda () (if (and buffer-file-name (string-match "/gnulib\\>" (buffer-file-name)) (not (string-equal mode-name "Change Log")) (not (string-equal mode-name "Makefile"))) (setq indent-tabs-mode nil))))
" Don't use tabs for indentation. Spaces are nicer to work with. set expandtab
For Makefile and ChangeLog files, compensate for this by adding this to your $HOME/.vim/after/indent/make.vim file, and similarly for your $HOME/.vim/after/indent/changelog.vim file:
" Use tabs for indentation, regardless of the global setting. set noexpandtab
If you use the GNU indent program, pass it the option --no-tabs.
Next: Portability guidelines, Previous: Indent with spaces not TABs, Up: Contributing to Gnulib [Contents][Index]
You can test that a module builds correctly with:
$ ./gnulib-tool --create-testdir --dir=/tmp/testdir module1 ... moduleN $ cd /tmp/testdir $ ./configure && make
Other things:
alloca
and fnmatch
modules for how to achieve this. If
for some reason you cannot do this, and you have a .c file that
leads to an empty .o file on some platforms (through some big
#if
around all the code), then ensure that the compilation unit
is not empty after preprocessing. One way to do this is to
#include <stddef.h>
or <stdio.h>
before the big
#if
.
Previous: How to add a new module, Up: Contributing to Gnulib [Contents][Index]
Gnulib code is intended to be portable to a wide variety of platforms, not just GNU platforms. See the documentation section “Target Platforms” for details.
Many Gnulib modules exist so that applications need not worry about
undesirable variability in implementations. For example, an
application that uses the malloc
module need not worry about
malloc (0)
returning NULL
on some Standard C
platforms; and time_r
users need not worry about
localtime_r
returning int
(not char *
) on some
platforms that predate POSIX 1003.1-2001.
Currently we assume at least a freestanding C89 compiler, possibly operating with a C library that predates C89. The oldest environments currently ported to are probably HP-UX 10.20 and IRIX 5.3, though we are not testing these platforms very often.
Because we assume a freestanding C89 compiler, Gnulib code can include
<float.h>
, <limits.h>
, <stdarg.h>
, and
<stddef.h>
unconditionally. It can also assume the existence
of <ctype.h>
, <errno.h>
, <fcntl.h>
,
<locale.h>
, <signal.h>
, <stdio.h>
,
<stdlib.h>
, <string.h>
, and <time.h>
. Similarly,
many modules include <sys/types.h>
even though it’s not even in
C99; that’s OK since <sys/types.h>
has been around nearly
forever.
Even if the include files exist, they may not conform to C89.
However, GCC has a fixincludes
script that attempts to fix most
C89-conformance problems. So Gnulib currently assumes include files
largely conform to C89 or better. People still using ancient hosts
should use fixincludes or fix their include files manually.
Even if the include files conform to C89, the library itself may not.
For example, strtod
and mktime
have some bugs on some platforms.
You can work around some of these problems by requiring the relevant
modules, e.g., the Gnulib mktime
module supplies a working and
conforming mktime
.
The GNU coding standards allow one departure from strict C99: Gnulib
code can assume that standard internal types like size_t
are no wider
than long
. POSIX 1003.1-2001 and the GNU coding standards both
require int
to be at least 32 bits wide, so Gnulib code assumes this
as well. Gnulib code makes the following additional assumptions:
Previously, Gnulib code sometimes assumed that signed integer arithmetic wraps around, but modern compiler optimizations sometimes do not guarantee this, and Gnulib code with this assumption is now considered to be questionable. See Integer Properties.
Some Gnulib modules contain explicit support for the other signed integer representations allowed by C99 (ones’ complement and signed magnitude), but these modules are the exception rather than the rule. All practical Gnulib targets use two’s complement.
size_t
values, then S + T
cannot overflow.
(char *) &O <= (char *) P && (char *) P <
(char *) (&O + 1)
.
S + T
cannot overflow.
Overflow in this case would mean that the rest of your program fits
into T bytes, which can’t happen in realistic flat-address-space
hosts.
memset (A, 0, sizeof A)
initializes an array A
of
pointers to NULL.
0 + (char *) NULL == (char *) NULL
.
The above assumptions are not required by the C or POSIX standards but hold on all practical porting targets that we’re familiar with. If you have a porting target where these assumptions are not true, we’d appreciate hearing of any fixes. We need fixes that do not increase runtime overhead on standard hosts and that are relatively easy to maintain.
With the above caveats, Gnulib code should port without problem to new
hosts, e.g., hosts conforming to C99 or to recent POSIX standards.
Hence Gnulib code should avoid using constructs (e.g., undeclared
functions return int
) that do not conform to C99.
Previous: Contributing to Gnulib, Up: Brief Overview [Contents][Index]
We develop and maintain a testsuite for Gnulib. The goal is to have a 100% firm interface so that maintainers can feel free to update to the code in git at any time and know that their application will not break. This means that before any change can be committed to the repository, a test suite program must be produced that exposes the bug for regression testing. All experimental work should be done on branches to help promote this.
Next: Invoking gnulib-tool, Previous: Brief Overview, Up: Top [Contents][Index]
Gnulib’s design and development philosophy is organized around steady, collaborative, and open development of reusable modules that are suitable for a reasonably wide variety of platforms.
Next: Library vs Reusable Code, Up: Philosophy [Contents][Index]
Gnulib is useful to enhance various aspects of a package:
asprintf
, canonicalize_file_name
are not affected
by buffer sizing problems that affect sprintf
, realpath
.
openat
does not have the race conditions that open
has. Etc.
xalloc
,
xprintf
, xstrtod
, xgetcwd
.
Next: Portability and Application Code, Previous: Benefits, Up: Philosophy [Contents][Index]
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.
Next: Target Platforms, Previous: Library vs Reusable Code, Up: Philosophy [Contents][Index]
One of the goals of Gnulib is to make portable programming easy, on the basis of the standards relevant for GNU (and Unix). The objective behind that is to avoid a fragmentation of the user community into disjoint user communities according to the operating system, and instead allow synergies between users on different operating systems.
Another goal of Gnulib is to provide application code that can be shared between several applications. Some people wonder: "What? glibc doesn’t have a function to copy a file?" Indeed, the scope of a system’s libc is to implement the relevant standards (ISO C, POSIX) and to provide access functions to the kernel’s system calls, and little more.
There is no clear borderline between both areas.
For example, Gnulib has a facility for generating the name of backup files. While this task is entirely at the application level—no standard specifies an API for it—the naïve code has some portability problems because on some platforms the length of file name components is limited to 30 characters or so. Gnulib handles that.
Similarly, Gnulib has a facility for executing a command in a
subprocess. It is at the same time a portability enhancement (it
works on GNU, Unix, and Windows, compared to the classical
fork
/exec
idiom which is not portable to Windows), as well
as an application aid: it takes care of redirecting stdin and/or
stdout if desired, and emits an error message if the subprocess
failed.
Next: Modules, Previous: Portability and Application Code, Up: Philosophy [Contents][Index]
Gnulib supports a number of platforms that we call the “reasonable portability targets”. This class consists of widespread operating systems, for three years after their last availability, or—for proprietary operating systems—as long as the vendor provides commercial support for it. Already existing Gnulib code for older operating systems is usually left in place for longer than these three years. So it comes that programs that use Gnulib run pretty well also on these older operating systems.
Some operating systems are not very widespread, but are Free Software and are actively developed. Such platforms are also supported by Gnulib, if that OS’s developers community keeps in touch with the Gnulib developers, by providing bug reports, analyses, or patches. For such platforms, Gnulib supports only the versions of the last year or the last few months, depending on the maturity of said OS project, the number of its users, and how often these users upgrade.
Niche operating systems are generally unsupported by Gnulib, unless some of their developers or users contribute support to Gnulib.
The degree of support Gnulib guarantees for a platform depends on the amount of testing it gets from volunteers. Platforms on which Gnulib is frequently tested are the best supported. Then come platforms with occasional testing, then platforms which are rarely tested. Usually, we fix bugs when they are reported. Except that some rarely tested platforms are also low priority; bug fixes for these platforms can take longer.
As of 2011, the list of supported platforms is the following:
mgetgroups
, getugroups
, idcache
,
userspec
, openpty
, login_tty
, forkpty
,
pt_chown
, grantpt
, pty
, savewd
,
mkancesdirs
, mkdir-p
, euidaccess
, faccessat
.
The versions of Windows that are supported are Windows XP and newer.
Only the latest version of mingw is tested; older versions are not supported.
suacomp
library
(http://sourceforge.net/projects/suacomp/) in version 0.6.8 or newer.
Interix 3.5 is not tested.
Gnulib supports these operating systems only in an unvirtualized environment.
When you run an OS inside a virtual machine, you have to be aware that the
virtual machine can bring in bugs of its own. For example, floating-point
operations on Solaris can behave slightly differently in QEMU than on real
hardware. And Haiku’s bash
program misbehaves in VirtualBox 3,
whereas it behaves fine in VirtualBox 4.
Similarly, running native Windows binaries on GNU/Linux under WINE is rarely tested and low priority: WINE has a set of behaviours and bugs that is slightly different from native Windows.
The following platforms are not supported by Gnulib. The cost of supporting them would exceed the benefit because they are rarely used, or poorly documented, or have been supplanted by other platforms, or diverge too much from POSIX, or some combination of these and other factors. Please don’t bother sending us patches for them.
Next: Various Kinds of Modules, Previous: Target Platforms, Up: Philosophy [Contents][Index]
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.
Next: Collaborative Development, Previous: Modules, Up: Philosophy [Contents][Index]
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 ‘.in’ inserted before the ‘.h’ extension, 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 native Windows
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.
Next: Copyright, Previous: Various Kinds of Modules, Up: Philosophy [Contents][Index]
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.
Next: Steady Development, Previous: Collaborative Development, Up: Philosophy [Contents][Index]
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 means "GPLv3+" (GPLv3 or newer, at the licensee’s choice); if it says "LGPL", it means "LGPLv3+" (LGPLv3 or newer, at the licensee’s choice).
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:
Module description files are under this copyright:
Copyright © 20XX–20YY Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification, in any medium, are permitted without royalty provided the copyright notice and this notice are preserved.
Autoconf macro files are under this copyright:
Copyright © 20XX–20YY Free Software Foundation, Inc.
This file is free software; the Free Software Foundation gives unlimited permission to copy and/or distribute it, with or without modifications, as long as this notice is preserved.
If a license statement is not present in a test module, the test files are under GPL. Even if the corresponding source module is under LGPL, this is not a problem, since compiled tests are not installed by “make install”.
Documentation files are under this copyright:
Copyright © 2004–20YY Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.
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. Similarly, if you want some Gnulib modules
under LGPLv2+ (Lesser GPL version 2.1 or newer), you can do so by
passing the option ‘--lgpl=2’ to gnulib-tool
.
Keep in mind that when you submit patches to files in Gnulib, you should license them under a compatible license. This means that sometimes the contribution will have to be LGPL, if the original file is available under LGPL. You can find out about it by looking for a "License: LGPL" information in the corresponding module description.
Next: Openness, Previous: Copyright, Up: Philosophy [Contents][Index]
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. Gnulib is available in two qualities:
If you are willing to report an occasional regression, we recommend to use the newest version always, except in periods of major changes. Most Gnulib users do this. If you prefer stable releases, please use the newest stable release.
Previous: Steady Development, Up: Philosophy [Contents][Index]
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
(see Extending Gnulib).
Next: Writing modules, Previous: Philosophy, Up: Top [Contents][Index]
The gnulib-tool
command is the recommended way to import
Gnulib modules. It is possible to borrow Gnulib modules in a package
without using gnulib-tool
, relying only on the
meta-information stored in the modules/* files, but with a
growing number of modules this becomes tedious. gnulib-tool
simplifies the management of source files, Makefile.ams and
configure.ac in packages incorporating Gnulib modules.
gnulib-tool is not installed in a standard directory that is
contained in the PATH
variable. It needs to be run directly in
the directory that contains the Gnulib source code. You can do this
either by specifying the absolute filename of gnulib-tool, or
you can also use a symbolic link from a place inside your PATH
to the gnulib-tool file of your preferred and most up-to-date
Gnulib checkout, like this:
$ ln -s $HOME/gnu/src/gnulib.git/gnulib-tool $HOME/bin/gnulib-tool
Run ‘gnulib-tool --help’ for information. To get familiar with
gnulib-tool
without affecting your sources, you can also try
some commands with the option ‘--dry-run’; then
gnulib-tool
will only report which actions it would perform in
a real run without changing anything.
• Which modules?: | Determining the needed set of Gnulib modules | |
• Initial import: | First import of Gnulib modules. | |
• Modified imports: | Changing the import specification. | |
• Simple update: | Tracking Gnulib development. | |
• Source changes: | Impact of Gnulib on your source files. | |
• gettextize and autopoint: | Caveat: gettextize and autopoint users!
| |
• Localization: | Handling Gnulib’s own message translations. | |
• VCS Issues: | Integration with Version Control Systems. | |
• Unit tests: | Bundling the unit tests of the Gnulib modules. | |
• Conditional dependencies: | Avoiding unnecessary checks and compilations. |
Next: Initial import, Up: Invoking gnulib-tool [Contents][Index]
There are three ways of finding the names of Gnulib modules that you can use in your package:
Next: Modified imports, Previous: Which modules?, Up: Invoking gnulib-tool [Contents][Index]
Gnulib assumes that your project uses Autoconf. When using Gnulib, you will need to have Autoconf and Automake among your build tools. Note that while the use of Automake in your project’s top level directory is an easy way to fulfil the Makefile conventions of the GNU coding standards, Gnulib does not require it. But when you use Gnulib, Automake will be used at least in a subdirectory of your project.
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.in.h m4/absolute-header.m4 m4/extensions.m4 m4/gnulib-common.m4 m4/strdup.m4 m4/string_h.m4 Creating directory ./lib Creating directory ./m4 Copying file lib/dummy.c Copying file lib/strdup.c Copying file lib/string.in.h Copying file m4/absolute-header.m4 Copying file m4/extensions.m4 Copying file m4/gnulib-common.m4 Copying file m4/gnulib-tool.m4 Copying file m4/strdup.m4 Copying file m4/string_h.m4 Creating lib/Makefile.am Creating m4/gnulib-cache.m4 Creating m4/gnulib-comp.m4 Finished. You may need to add #include directives for the following .h files. #include <string.h> Don't forget to - add "lib/Makefile" to AC_CONFIG_FILES in ./configure.ac, - mention "lib" in SUBDIRS in Makefile.am, - mention "-I m4" in ACLOCAL_AMFLAGS in Makefile.am, - 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. It is also possible to separate the
generated Makefile.am content (for building the gnulib library)
into a separate file, say gnulib.mk, that can be included by your
handwritten Makefile.am, but this is a more advanced use of
gnulib-tool
.
Consequently, it is a good idea to choose directories that are not
already used by your projects, to separate gnulib imported files from
your own files. This approach is also useful if you want to avoid
conflicts between other tools (e.g., gettextize
that also copy
M4 files into your package. Simon Josefsson successfully uses a source
base of gl/, and a M4 base of gl/m4/, in several
packages.
After the ‘--import’ option on the command line comes the list of Gnulib modules that you want to incorporate in your package. The names of the modules coincide with the filenames in Gnulib’s modules/ directory.
Some Gnulib modules depend on other Gnulib modules. gnulib-tool
will automatically add the needed modules as well; you need not list
them explicitly. gnulib-tool
will also memorize which dependent
modules it has added, so that when someday a dependency is dropped, the
implicitly added module is dropped as well (unless you have explicitly
requested that module).
If you want to cut a dependency, i.e., not add a module although one of your requested modules depends on it, you may use the option ‘--avoid=module’ to do so. Multiple uses of this option are possible. Of course, you will then need to implement the same interface as the removed module.
A few manual steps are required to finish the initial import.
gnulib-tool
printed a summary of these steps.
First, you must ensure Autoconf can find the macro definitions in
gnulib-comp.m4. Use the ACLOCAL_AMFLAGS
specifier in
your top-level Makefile.am file, as in:
ACLOCAL_AMFLAGS = -I m4
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 ...
If you are using AC_PROG_CC_STDC
, the macro gl_EARLY
must
be called after it, like this:
... AC_PROG_CC AC_PROG_CC_STDC gl_EARLY ...
The core part of the gnulib checks are done by the macro
gl_INIT
. Place it further down in the file, typically where
you normally check for header files or functions. It must come after
other checks which may affect the compiler invocation, such as
AC_MINIX
. For example:
... # For gnulib. gl_INIT ...
gl_INIT
will in turn call the macros related with the
gnulib functions, be it specific gnulib macros, like gl_FUNC_ALLOCA
or autoconf or automake macros like AC_FUNC_ALLOCA
or
AM_FUNC_GETLINE
. So there is no need to call those macros yourself
when you use the corresponding gnulib modules.
You must also make sure that the gnulib library is built. Add the
Makefile
in the gnulib source base directory to
AC_CONFIG_FILES
, as in:
AC_CONFIG_FILES(... lib/Makefile ...)
You must also make sure that make
will recurse into the gnulib
directory. To achieve this, add the gnulib source base directory to a
SUBDIRS
Makefile.am statement, as in:
SUBDIRS = lib
or if you, more likely, already have a few entries in SUBDIRS
,
you can add something like:
SUBDIRS += lib
Finally, you have to add compiler and linker flags in the appropriate source directories, so that you can make use of the gnulib library. Since some modules (‘getopt’, for example) may copy files into the build directory, top_builddir/lib is needed as well as top_srcdir/lib. For example:
... AM_CPPFLAGS = -I$(top_builddir)/lib -I$(top_srcdir)/lib ... LDADD = lib/libgnu.a ...
Don’t forget to #include
the various header files. In this
example, you would need to make sure that ‘#include <string.h>’
is evaluated when compiling all source code files, that want to make
use of strdup
.
In the usual case where Autoconf is creating a config.h file, you should include config.h first, before any other include file. That way, for example, if config.h defines ‘restrict’ to be the empty string on a 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.
Finally, note that you cannot use AC_LIBOBJ
or
AC_REPLACE_FUNCS
in your configure.ac and expect the
resulting object files to be automatically added to lib/libgnu.a.
This is because your AC_LIBOBJ
and AC_REPLACE_FUNCS
invocations
from configure.ac augment a variable @LIBOBJS@
(and/or
@LTLIBOBJS@
if using Libtool), whereas lib/libgnu.a
is built from the contents of a different variable, usually
@gl_LIBOBJS@
(or @gl_LTLIBOBJS@
if using Libtool).
Next: Simple update, Previous: Initial import, Up: Invoking gnulib-tool [Contents][Index]
You can at any moment decide to use Gnulib differently than the last time.
There are two ways to change how Gnulib is used. Which one you’ll use,
depends on where you keep track of options and module names that you pass
to gnulib-tool
.
gnulib-tool
again, with modified options and more or fewer module names.
gnulib-tool
remembers which modules were used last time. If you
want to rely on gnulib-tool
’s own memory of the last used
options and module names, you can use the commands
gnulib-tool --add-import
and
gnulib-tool --remove-import
.
So, if you only want to use more Gnulib modules, simply invoke
gnulib-tool --add-import new-modules
. The list of
modules that you pass after ‘--add-import’ is added to the
previous list of modules.
Similarly, if you want to use fewer Gnulib modules, simply invoke
gnulib-tool --remove-import unneeded-modules
. The list
of modules that you pass after ‘--remove-import’ is removed
from the previous list of modules. Note that if a module is then still
needed as dependency of other modules, it will be used nevertheless.
If you want to really not use a module any more, regardless of
whether other modules may need it, you need to use the ‘--avoid’
option.
For other changes, such as different choices of ‘--lib’, ‘--source-base’ or ‘--aux-dir’, the normal way is to modify manually the file gnulib-cache.m4 in the M4 macros directory, then launch ‘gnulib-tool --add-import’.
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 file, the macros have the following meaning:
gl_MODULES
The argument is a space separated list of the requested modules, not including dependencies.
gl_AVOID
The argument is a space separated list of modules that should not be used, even if they occur as dependencies. Corresponds to the ‘--avoid’ command line argument.
gl_SOURCE_BASE
The argument is the relative file name of the directory containing the gnulib source files (mostly *.c and *.h files). Corresponds to the ‘--source-base’ command line argument.
gl_M4_BASE
The argument is the relative file name of the directory containing the gnulib M4 macros (*.m4 files). Corresponds to the ‘--m4-base’ command line argument.
gl_TESTS_BASE
The argument is the relative file name of the directory containing the gnulib unit test files. Corresponds to the ‘--tests-base’ command line argument.
gl_LIB
The argument is the name of the library to be created. Corresponds to the ‘--lib’ command line argument.
gl_LGPL
The presence of this macro without arguments corresponds to the ‘--lgpl’ command line argument. The presence of this macro with an argument (whose value must be 2 or 3) corresponds to the ‘--lgpl=arg’ command line argument.
gl_LIBTOOL
The presence of this macro corresponds to the ‘--libtool’ command line argument and to the absence of the ‘--no-libtool’ command line argument. It takes no arguments.
gl_MACRO_PREFIX
The argument is the prefix to use for macros in the gnulib-comp.m4 file. Corresponds to the ‘--macro-prefix’ command line argument.
Next: Source changes, Previous: Modified imports, Up: Invoking gnulib-tool [Contents][Index]
When you want to update to a more recent version of Gnulib, without changing the list of modules or other parameters, a simple call does it:
$ gnulib-tool --add-import
This will create, update or remove files, as needed.
Note: From time to time, changes are made in Gnulib that are not backward compatible. When updating to a more recent Gnulib, you should consult Gnulib’s NEWS file to check whether the incompatible changes affect your project.
Next: gettextize and autopoint, Previous: Simple update, Up: Invoking gnulib-tool [Contents][Index]
Gnulib contains some header file overrides. This means that when building on systems with deficient header files in /usr/include/, it may create files named string.h, stdlib.h, stdint.h or similar in the build directory. In the other source directories of your package you will usually pass ‘-I’ options to the compiler, so that these Gnulib substitutes are visible and take precedence over the files in /usr/include/.
These Gnulib substitute header files rely on <config.h> being already included. Furthermore <config.h> must be the first include in every compilation unit. This means that to all your source files and likely also to all your tests source files you need to add an ‘#include <config.h>’ at the top. Which source files are affected? Exactly those whose compilation includes a ‘-I’ option that refers to the Gnulib library directory.
This is annoying, but inevitable: On many systems, <config.h> is
used to set system dependent flags (such as _GNU_SOURCE
on GNU systems),
and these flags have no effect after any system header file has been included.
Next: Localization, Previous: Source changes, Up: Invoking gnulib-tool [Contents][Index]
gettextize
and autopoint
usersThe programs gettextize
and autopoint
, part of
GNU gettext
, import or update the internationalization infrastructure.
Some of this infrastructure, namely ca. 20 autoconf macro files and the
config.rpath file, is also contained in Gnulib and may be imported
by gnulib-tool
. The use of gettextize
or autopoint
will therefore overwrite some of the files that gnulib-tool
has
imported, and vice versa.
Avoiding to use gettextize
(manually, as package maintainer) or
autopoint
(as part of a script like autoreconf
or
autogen.sh
) is not the solution: These programs also import the
infrastructure in the po/ and optionally in the intl/ directory.
The copies of the conflicting files in Gnulib are more up-to-date than
the copies brought in by gettextize
and autopoint
. When a
new gettext
release is made, the copies of the files in Gnulib will
be updated immediately.
The choice of which version of gettext to require depends on the needs of your package. For a package that wants to comply to GNU Coding Standards, the steps are:
gettextize
, always use the gettextize
from the
matching GNU gettext release. For the most recent Gnulib checkout, this is
the newest release found on http://ftp.gnu.org/gnu/gettext/. For an
older Gnulib snapshot, it is the release that was the most recent release
at the time the Gnulib snapshot was taken.
gettextize
, invoke gnulib-tool
and import
the gettext
module. Also, copy the latest version of gnulib’s
build-aux/po/Makefile.in.in to your po/ directory (this
is done for you if you use gnulib’s bootstrap script).
*** error: gettext infrastructure mismatch:
using a Makefile.in.in from gettext version ...
but the autoconf macros are from gettext version ...
,
it means that a new GNU gettext release was made, and its autoconf macros
were integrated into Gnulib and now mismatch the po/ infrastructure.
In this case, fetch and install the new GNU gettext release and run
gettextize
followed by gnulib-tool
.
On the other hand, if your package is not as concerned with compliance to the latest standards, but instead favors development on stable environments, the steps are:
gettext
that you intend to
support during development (at this time, gnulib recommends going no
older than version 0.17). Run autopoint
(not
gettextize
) to copy infrastructure into place (newer versions
of gettext will install the older infrastructure that you requested).
gnulib-tool
, and import the gettext-h
module.
Regardless of which approach you used to get the infrastructure in place, the following steps must then be used to preserve that infrastructure (gnulib’s bootstrap script follows these rules):
autopoint
, invoke gnulib-tool
afterwards.
autoreconf
after gnulib-tool
, make sure to
not invoke autopoint
a second time, by setting the AUTOPOINT
environment variable, like this:
$ env AUTOPOINT=true autoreconf --install
Next: VCS Issues, Previous: gettextize and autopoint, Up: Invoking gnulib-tool [Contents][Index]
Gnulib provides some functions that emit translatable messages using GNU
gettext
. The ‘gnulib’ domain at the
Translation Project collects
translations of these messages, which you should incorporate into your
own programs.
There are two basic ways to achieve this. The first, and older, method is to list all the source files you use from Gnulib in your own po/POTFILES.in file. This will cause all the relevant translatable strings to be included in your POT file. When you send this POT file to the Translation Project, translators will normally fill in the translations of the Gnulib strings from their “translation memory”, and send you back updated PO files.
However, this process is error-prone: you might forget to list some source files, or the translator might not be using a translation memory and provide a different translation than another translator, or the translation might not be kept in sync between Gnulib and your package. It is also slow and causes substantial extra work, because a human translator must be in the loop for each language and you will need to incorporate their work on request.
For these reasons, a new method was designed and is now recommended. If
you pass the --po-base=directory
and --po-domain=domain
options to gnulib-tool
, then gnulib-tool
will create a
separate directory with its own POTFILES.in, and fetch current
translations directly from the Translation Project (using
rsync
or wget
, whichever is available).
The POT file in this directory will be called
domain-gnulib.pot, depending on the domain you gave to the
--po-domain
option (typically the same as the package name).
This causes these translations to reside in a separate message domain,
so that they do not clash either with the translations for the main part
of your package nor with those of other packages on the system that use
possibly different versions of Gnulib.
When you use these options, the functions in Gnulib are built
in such a way that they will always use this domain regardless of the
default domain set by textdomain
.
In order to use this method, you must—in each program that might use Gnulib code—add an extra line to the part of the program that initializes locale-dependent behavior. Where you would normally write something like:
setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE);
you should add an additional bindtextdomain
call to inform
gettext of where the MO files for the extra message domain may be found:
bindtextdomain (PACKAGE "-gnulib", LOCALEDIR);
(This example assumes that the domain that you specified
to gnulib-tool
is the same as the value of the PACKAGE
preprocessor macro.)
Since you do not change the textdomain
call, the default message
domain for your program remains the same and your own use of gettext
functions will not be affected.
Next: Unit tests, Previous: Localization, Up: Invoking gnulib-tool [Contents][Index]
If a project stores its source files in a version control system (VCS), such as CVS, Subversion, or Git, one needs to decide which files to commit.
In principle, all files created by gnulib-tool
, except
gnulib-cache.m4, can be treated like generated source files,
like for example a parser.c file generated from
parser.y. Alternatively, they can be considered source files
and updated manually.
Here are the three different approaches in common use. Each has its place, and you should use whichever best suits your particular project and development methods.
gnulib-tool
generated files should all be
committed. In this case, you should pass the option
‘--no-vc-files’ to gnulib-tool
, which avoids alteration of
VCS-related files such as .gitignore.
Gnulib also contains files generated by make
(and removed by
make clean
), using information determined by
configure
. For a Gnulib source file of the form
lib/foo.in.h, the corresponding lib/foo.h is such a
make
-generated file. These should not be checked
into the VCS, but instead added to .gitignore or equivalent.
gnulib-tool
. The command for restoring the omitted files
depends on it:
gnulib-cache.m4
, such as
autogen.sh, bootstrap, bootstrap.conf, or similar,
the restoration command is the entire gnulib-tool ... --import ...
invocation with all options and module names.
gnulib-tool
’s memory of the last used
options and module names, then the file gnulib-cache.m4 in the M4
macros directory must be added to the VCS, and the restoration command
is:
$ gnulib-tool --update
The ‘--update’ option operates much like the ‘--add-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.
Gnulib includes the file build-aux/bootstrap to aid a developer in using this setup. Furthermore, in projects that use git for version control, it is possible to use a git submodule containing the precise commit of the gnulib repository, so that each developer running bootstrap will get the same version of all gnulib-provided files. The location of the submodule can be chosen to fit the package’s needs; here’s how to initially create the submodule in the directory .gnulib:
$ dir=.gnulib $ git submodule add -- git://git.sv.gnu.org/gnulib.git $dir $ git config alias.syncsub "submodule foreach git pull origin master"
Thereafter, bootstrap can run this command to update the submodule to the recorded checkout level:
git submodule update --init $dir
and a developer can use this sequence to update to a newer version of gnulib:
$ git syncsub $ git add $dir $ ./bootstrap
Makefile.in
generated by Automake. This
increases the size and complexity of the repository, but can help
occasional contributors by not requiring them to have a full Gnulib
checkout to do a build, and all developers by ensuring that all
developers are working with the same version of Gnulib in the
repository. It also supports multiple Gnulib instances within a
project. It remains important not to commit the
make
-generated files, as described above.
Next: Conditional dependencies, Previous: VCS Issues, Up: Invoking gnulib-tool [Contents][Index]
You can bundle the unit tests of the Gnulib modules together with your
package, through the ‘--with-tests’ option. Together with
‘--with-tests’, you also specify the directory for these tests
through the ‘--tests-base’ option. Of course, you need to add this
directory to the SUBDIRS
variable in the Makefile.am
of
the parent directory.
The advantage of having the unit tests bundled is that when your program has a problem on a particular platform, running the unit tests may help determine quickly if the problem is on Gnulib’s side or on your package’s side. Also, it helps verifying Gnulib’s portability, of course.
The unit tests will be compiled and run when the user runs ‘make check’. When the user runs only ‘make’, the unit tests will not be compiled.
In the SUBDIRS
variable, it is useful to put the Gnulib tests directory
after the directory containing the other tests, not before:
SUBDIRS = gnulib-lib src man tests gnulib-tests
This will ensure that on platforms where there are test failures in either directory, users will see and report the failures from the tests of your program.
Note: In packages which use more than one invocation of gnulib-tool
in the scope of the same configure.ac
, you cannot use
‘--with-tests’. You will have to use a separate configure.ac
in this case.
Previous: Unit tests, Up: Invoking gnulib-tool [Contents][Index]
In some cases, a module is needed by another module only on specific
platforms. But when a module is present, its autoconf checks are always
executed, and its Makefile.am
additions are always enabled. So
it can happen that some autoconf checks are executed and some source files
are compiled, although no other module needs them on this particular
platform, just in case some other module would need them.
The option ‘--conditional-dependencies’ enables an optimization of
configure checks and Makefile.am
snippets that avoids this. With
this option, whether a module is considered “present” is no longer decided
when gnulib-tool
is invoked, but later, when configure
is run.
This applies to modules that were added as dependencies while
gnulib-tool
was run; modules that were passed on the command line
explicitly are always “present”.
For example, the timegm
module needs, on platforms
where the system’s timegm
function is missing or buggy, a replacement
that is based on a function mktime_internal
. The module
mktime-internal
that provides this function provides it on all
platforms. So, by default, the file mktime-internal.c will be
compiled on all platforms, even on glibc and BSD systems which have a
working timegm
function. When the option
‘--conditional-dependencies’ is given, on the other hand, and if
mktime-internal
was not explicitly required on the command line,
the file mktime-internal.c will only be compiled on the platforms
where the timegm
needs them.
Conditional dependencies are specified in the module description by putting
the condition on the same line as the dependent module, enclosed in brackets.
The condition is a boolean shell expression that can assume that the
configure.ac
snippet from the module description has already been
executed. In the example above, the dependency from timegm
to
mktime-internal
is written like this:
Depends-on: ... mktime-internal [test $HAVE_TIMEGM = 0 || test $REPLACE_TIMEGM = 1] ...
Note: The option ‘--conditional-dependencies’ cannot be used together
with the option ‘--with-tests’. It also cannot be used when a package
uses gnulib-tool
for several subdirectories, with different values
of ‘--source-base’, in the scope of a single configure.ac
file.
Next: Extending Gnulib, Previous: Invoking gnulib-tool, Up: Top [Contents][Index]
This chapter explains how to write modules of your own, either to extend Gnulib for your own package (see Extending Gnulib), or for inclusion in gnulib proper.
The guidelines in this chapter do not necessarily need to be followed for
using gnulib-tool
. They merely represent a set of good practices.
Following them will result in a good structure of your modules and in
consistency with gnulib.
• Source code files: | ||
• Header files: | ||
• Implementation files: | ||
• Specification: | ||
• Module description: | ||
• Autoconf macros: | ||
• Unit test modules: | ||
• Incompatible changes: |
Next: Header files, Up: Writing modules [Contents][Index]
Every API (C functions or variables) provided should be declared in a header file (.h file) and implemented in one or more implementation files (.c files). The separation has the effect that users of your module need to read only the contents of the .h file and the module description in order to understand what the module is about and how to use it—not the entire implementation. Furthermore, users of your module don’t need to repeat the declarations of the functions in their code, and are likely to receive notification through compiler errors if you make incompatible changes to the API (like, adding a parameter or changing the return type of a function).
Next: Implementation files, Previous: Source code files, Up: Writing modules [Contents][Index]
The .h file should declare the C functions and variables that the module provides.
The .h file should be stand-alone. That is, it does not require other .h files to be included before. Rather, it includes all necessary .h files by itself.
It is a tradition to use CPP tricks to avoid parsing the same header file more than once, which might cause warnings. The trick is to wrap the content of the header file (say, foo.h) in a block, as in:
#ifndef FOO_H # define FOO_H ... body of header file goes here ... #endif /* FOO_H */
Whether to use FOO_H
or _FOO_H
is a matter of taste and
style. The 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.
Note that putting a #include
in an extern "C" { ... }
block yields a syntax error in C++ mode on some platforms (e.g., glibc
systems with g++ v3.3 to v4.2, AIX, OSF/1, IRIX). For this reason, it
is recommended to place the #include
before the extern
"C"
block.
Next: Specification, Previous: Header files, Up: Writing modules [Contents][Index]
The .c file or files implement the functions and variables declared in the .h file.
Every implementation file must start with ‘#include <config.h>’.
This is necessary for activating the preprocessor macros that are defined
on behalf of the Autoconf macros. Some of these preprocessor macros,
such as _GNU_SOURCE
, would have no effect if defined after a system
header file has already been included.
Then comes the ‘#include "..."’ specifying the header file that is being implemented. Putting this right after ‘#include <config.h>’ has the effect that it verifies that the header file is self-contained.
Then come the system and application headers. It is customary to put all the system headers before all application headers, so as to minimize the risk that a preprocessor macro defined in an application header confuses the system headers on some platforms.
In summary:
Next: Module description, Previous: Implementation files, Up: Writing modules [Contents][Index]
The specification of a function should answer at least the following questions:
Where to put the specification describing exported functions? Three practices are used in gnulib:
In any case, the specification should appear in just one place, unless you can ensure that the multiple copies will always remain identical.
The advantage of putting it in the header file is that the user only has to read the include file normally never needs to peek into the implementation file(s).
The advantage of putting it in the implementation file is that when reviewing or changing the implementation, you have both elements side by side.
The advantage of texinfo formatted documentation is that it is easily published in HTML or Info format.
Currently (as of 2010), half of gnulib uses the first practice, nearly half of gnulib uses the second practice, and a small minority uses the texinfo practice.
Next: Autoconf macros, Previous: Specification, Up: Writing modules [Contents][Index]
For the module description, you can start from an existing module’s description, or from a blank one: module/TEMPLATE for a normal module, or module/TEMPLATE-TESTS for a unit test module. Some more fields are possible but rarely used. Use module/TEMPLATE-EXTENDED if you want to use one of them.
Module descriptions have the following fields. Absent fields are equivalent to fields with empty contents.
This field should contain a concise description of the module’s functionality. One sentence is enough. For example, if it defines a single function ‘frob’, the description can be ‘frob() function: frobnication.’ Gnulib’s documentation generator will automatically convert the first part to a hyperlink when it has this form.
This field is either empty/absent, or contains the word ‘obsolete’. In
the latter case, gnulib-tool
will, unless the option
--with-obsolete
is given, omit it when it used as a dependency. It is
good practice to also notify the user about an obsolete module. This is done
by putting into the ‘Notice’ section (see below) text like
‘This module is obsolete.’
This field contains text that gnulib-tool
will show to the user
when the module is used. This can be a status indicator like
‘This module is obsolete.’ or additional advice. Do not abuse this
field.
This field is either empty/absent, or contains the word ‘all’. It
describes to which Makefile.am
the module is applied. By default,
a normal module is applied to source_base/Makefile.am
(normally lib/Makefile.am
), whereas a module ending in -tests
is applied to tests_base/Makefile.am
(normally
tests/Makefile.am
). If this field is ‘all’, it is applied to
both Makefile.am
s. This is useful for modules which provide
Makefile.am macros rather than compiled source code.
This field contains a newline separated list of the files that are part of
the module. gnulib-tool
copies these files into the package that
uses the module.
This list is typically ordered by importance: First comes the header file, then the implementation files, then other files.
It is possible to have the same file mentioned in multiple modules. That is, if the maintainers of that module agree on the purpose and future of said file.
This field contains a newline separated list of the modules that are required
for the proper working of this module. gnulib-tool
includes each
required module automatically, unless it is specified with option
--avoid
or it is marked as obsolete and the option
--with-obsolete
is not given.
A test modules foo-tests
implicitly depends on the corresponding non-test
module foo
. foo
implicitly depends on foo-tests
if the
latter exists and if the option --with-tests
has been given.
Tests modules can depend on non-tests modules. Non-tests modules should not depend on tests modules. (Recall that tests modules are built in a separate directory.)
Each listed required module may be declared a conditional dependency. This
is indicated by placing the condition for the dependency on the same line,
enclosed in brackets, after the name of the required module. The condition
is a shell expression that is run after the module’s configure.ac
statements. For example:
strtoull [test $ac_cv_func_strtoumax = no]
Lines starting with #
are recognized as comments and are ignored.
This field contains configure.ac stuff (Autoconf macro invocations and
shell statements) that are logically placed early in the configure.ac
file: right after the AC_PROG_CC
invocation. This section is adequate
for statements that modify CPPFLAGS
, as these can affect the results of
other Autoconf macros.
This field contains configure.ac stuff (Autoconf macro invocations and shell statements).
It is forbidden to add items to the CPPFLAGS
variable here, other than
temporarily, as these could affect the results of other Autoconf macros.
We avoid adding items to the LIBS
variable, other than temporarily.
Instead, the module can export an Autoconf-substituted variable that contains
link options. The user of the module can then decide to which executables
to apply which link options. Recall that a package can build executables of
different kinds and purposes; having all executables link against all
libraries is inappropriate.
If the statements in this section grow larger than a couple of lines, we
recommend moving them to a .m4
file of their own.
This field contains Makefile.am
statements. Variables like
lib_SOURCES
are transformed to match the name of the library
being built in that directory. For example, lib_SOURCES
may become
libgnu_a_SOURCES
(for a plain library) or libgnu_la_SOURCES
(for a libtool library). Therefore, the normal way of having an
implementation file lib/foo.c
compiled unconditionally is to write
lib_SOURCES += foo.c
This field contains the preprocessor statements that users of the module need to add to their source code files. Typically it’s a single include statement. A shorthand is allowed: You don’t need to write the word “#include”, just the name of the include file in the way it will appear in an include statement. Example:
"foo.h"
This field contains the set of libraries that are needed when linking
libraries or executables that use this module. Often this will be
written as a reference to a Makefile variable. Please write them
one per line, so that gnulib-tool
can remove duplicates
when presenting a summary to the user.
Example:
$(POW_LIBM) $(LTLIBICONV) when linking with libtool, $(LIBICONV) otherwise
This field specifies the license that governs the source code parts of this module. See Copyright for details.
This field specifies the persons who have a definitive say about proposed
changes to this module. You don’t need to mention email addresses here:
they can be inferred from the ChangeLog
file.
Please put at least one person here. We don’t like unmaintained modules.
Next: Unit test modules, Previous: Module description, Up: Writing modules [Contents][Index]
For a module foo
, an Autoconf macro file m4/foo.m4 is typically
created when the Autoconf macro invocations for the module are longer than
one or two lines.
The name of the main entry point into this Autoconf macro file is typically
gl_FOO
. For modules outside Gnulib that are not likely to be moved
into Gnulib, please use a prefix specific to your package: gt_
for
GNU gettext, cu_
for GNU coreutils, etc.
For modules that define a function foo
, the entry point is called
gl_FUNC_FOO
instead of gl_FOO
. For modules that provide a
header file with multiple functions, say foo.h
, the entry point is
called gl_FOO_H
or gl_HEADER_FOO_H
. This convention is useful
because sometimes a header and a function name coincide (for example,
fcntl
and fcntl.h
).
For modules that provide a replacement, it is useful to split the Autoconf
macro into two macro definitions: one that detects whether the replacement
is needed and requests the replacement using AC_LIBOBJ
(this is the
entry point, say gl_FUNC_FOO
), and one that arranges for the macros
needed by the replacement code lib/foo.c
(typically called
gl_PREREQ_FOO
). The reason of this separation is
lib/foo.c
, all you have to review
is the Depends-on
section of the module description and the
gl_PREREQ_FOO
macro in the Autoconf macro file.
Next: Incompatible changes, Previous: Autoconf macros, Up: Writing modules [Contents][Index]
A unit test that is a simple C program usually has a module description as simple as this:
Files: tests/test-foo.c tests/macros.h Depends-on: configure.ac: Makefile.am: TESTS += test-foo check_PROGRAMS += test-foo
The test program tests/test-foo.c often has the following structure:
ASSERT
macro.
The body of the test, then, contains many ASSERT
invocations. When
a test fails, the ASSERT
macro prints the line number of the failing
statement, thus giving you, the developer, an idea of which part of the test
failed, even when you don’t have access to the machine where the test failed
and the reporting user cannot run a debugger.
Sometimes it is convenient to write part of the test as a shell script. (For example, in areas related to process control or interprocess communication, or when different locales should be tried.) In these cases, the typical module description is like this:
Files: tests/test-foo.sh tests/test-foo.c tests/macros.h Depends-on: configure.ac: Makefile.am: TESTS += test-foo.sh TESTS_ENVIRONMENT += FOO_BAR='@FOO_BAR@' check_PROGRAMS += test-foo
Here, the TESTS_ENVIRONMENT
variable can be used to pass values
determined by configure
or by the Makefile
to the shell
script, as environment variables. The values of EXEEXT
and of
srcdir
, from Autoconf and Automake, are already provided as
environment variables, through an initial value of TESTS_ENVIRONMENT
that gnulib-tool
puts in place.
Regardless of the specific form of the unit test, the following guidelines should be respected:
ASSERT
macro already does so.
fputs ("Skipping test: multithreading not enabled\n", stderr); return 77;
Such a message helps detecting bugs in the autoconf macros: A simple message ‘SKIP: test-foo’ does not sufficiently catch the attention of the user.
Previous: Unit test modules, Up: Writing modules [Contents][Index]
Incompatible changes to Gnulib modules should be mentioned in Gnulib’s NEWS file. Incompatible changes here mean that existing source code may not compile or work any more.
We don’t mean changes in the binary interface (ABI), since
Next: Miscellaneous Notes, Previous: Writing modules, Up: Top [Contents][Index]
Gnulib modules are intended to be suitable for widespread use. Most problems with Gnulib can and should be fixed in a generic way, so that all of Gnulib’s users can benefit from the change. But occasionally a problem arises that is difficult or undesirable to fix generically, or a project that uses Gnulib may need to work around an issue before the Gnulib maintainers commit a final fix. Maintainers may also want to add their own pools of modules to projects as Gnulib “staging areas.”
The obvious way to make local changes to Gnulib modules is to use
gnulib-tool
to check out pristine modules, then to modify
the results in-place. This works well enough for short-lived
experiments. It is harder to keep modified versions of Gnulib modules
for a long time, even though Git (or another distributed version
control systems) can help out a lot with this during the development
process.
Git, however, doesn’t address the distribution issue. When a package
“foobar” needs a modified version of, say, stdint.in.h, it
either has to put a comment into foobar/autogen.sh saying
“Attention! This doesn’t work with a pristine Gnulib, you need this
and that patch after checking out Gnulib,” or it has to use the
‘--avoid=stdint’ option and provide the modified stdint
module in a different directory.
The --local-dir option to gnulib-tool
solves this
problem. It allows the package to override or augment Gnulib. This
means:
gnulib-tool
option ‘--makefile-name’.)
In a release tarball, you can distribute the contents of this --local-dir directory that will be combinable with newer versions of Gnulib, barring incompatible changes to Gnulib.
If the ‘--local-dir=directory’ option is specified, then
gnulib-tool
looks in directory whenever it
reads a file from the Gnulib directory. Suppose gnulib-tool
is looking for file. Then:
gnulib-tool
uses the file from Gnulib after applying the diff
using the patch
program.
gnulib-tool
uses the file included in Gnulib.
Please make wise use of this option. It also allows you to easily hold back modifications you make to Gnulib macros in cases it may be better to share them.
Next: POSIX Substitutes Library, Previous: Extending Gnulib, Up: Top [Contents][Index]
• Out of memory handling: | ||
• Obsolete modules: | ||
• Extra tests modules: | ||
• A C++ namespace for gnulib: | A different way of using Gnulib in C++ | |
• Library version handling: | ||
• Windows sockets: | ||
• Libtool and Windows: | ||
• License Texinfo sources: | ||
• Build robot for gnulib: |
Next: Obsolete modules, Up: Miscellaneous Notes [Contents][Index]
The gnulib API does not have a standard error code for the out of memory error condition. Instead of adding a non-standard error code, gnulib has chosen to adopt a different strategy. Out of memory handling happens in rare situations, but performing the out of memory error handling after almost all API function invocations pollute your source code and might make it harder to spot more serious problems. The strategy chosen improves code readability and robustness.
For most applications, aborting the application with an error message when the out of memory situation occurs is the best that can be wished for. This is how the library behaves by default (using the ‘xalloc-die’ module).
However, we realize that some applications may not want to abort
execution in any situation. Gnulib supports a hook to let the
application regain control and perform its own cleanups when an out of
memory situation has occurred. The application can define a function
(having a void
prototype, i.e., no return value and no
parameters) and set the library variable
xalloc_die
to that function. The variable should be
declared as follows.
extern void (*xalloc_die) (void);
Gnulib will invoke this function if an out of memory error occurs. Note that the function should not return. Of course, care must be taken to not allocate more memory, as that will likely also fail.
Next: Extra tests modules, Previous: Out of memory handling, Up: Miscellaneous Notes [Contents][Index]
Modules can be marked obsolete. This means that the problems they fix
don’t occur any more on the platforms that are reasonable porting targets
now. gnulib-tool
warns when obsolete modules are mentioned on the
command line, and by default ignores dependencies from modules to obsolete
modules. When you pass the option --with-obsolete
to
gnulib-tool
, dependencies to obsolete modules will be included,
however, unless blocked through an --avoid
option. This option
is useful if your package should be portable even to very old platforms.
In order to mark a module obsolete, you need to add this to the module description:
Status: obsolete Notice: This module is obsolete.
Next: A C++ namespace for gnulib, Previous: Obsolete modules, Up: Miscellaneous Notes [Contents][Index]
Test modules can be marked with some special status attributes. When a
test module has such an attribute, gnulib-tool --import
will not
include it by default.
The supported status attributes are:
c++-test
Indicates that the test is testing C++ interoperability. Such a test is useful in a C++ or mixed C/C++ package, but is useless in a C package.
longrunning-test
Indicates that the test takes a long time to compile or execute (more than five minutes or so). Such a test is better avoided in a release that is made for the general public.
privileged-test
Indicates that the test will request special privileges, for example, ask for the superuser password. Such a test may hang when run non-interactively and is therefore better avoided in a release that is made for the general public.
unportable-test
Indicates that the test is known to fail on some systems, and that there is no workaround about it. Such a test is better avoided in a release that is made for the general public.
gnulib-tool --import --with-tests
will not include tests marked with
these attributes by default. When gnulib-tool
is invoked with one
of the options --with-c++-tests
, --with-longrunning-tests
,
--with-privileged-tests
, --with-unportable-tests
, it
will include tests despite the corresponding special status attribute.
When gnulib-tool
receives the option --with-all-tests
,
it will include all tests regardless of their status attributes.
gnulib-tool --create-testdir --with-tests
and
gnulib-tool --create-megatestdir --with-tests
by default include all
tests of modules specified on the command line, regardless of their status
attributes. Tests of modules occurring as dependencies are not included
by default if they have one of these status attributes. The options
--with-c++-tests
, --with-longrunning-tests
,
--with-privileged-tests
, --with-unportable-tests
are
recognized here as well. Additionally, gnulib-tool
also
understands the options --without-c++-tests
,
--without-longrunning-tests
, --without-privileged-tests
,
--without-unportable-tests
.
In order to mark a module with a status attribute, you need to add it to the module description, like this:
Status: longrunning-test
If only a part of a test deserves a particular status attribute, you
can split the module into a primary and a secondary test module,
say foo-tests
and foo-extra-tests
. Then add a dependency
from foo-tests
to foo-extra-tests
, and mark the
foo-extra-tests
with the particular status attribute.
Next: Library version handling, Previous: Extra tests modules, Up: Miscellaneous Notes [Contents][Index]
The function definitions provided by Gnulib (.c
code) are meant
to be compiled by a C compiler. The header files (.h
files),
on the other hand, can be used in either C or C++.
By default, when used in a C++ compilation unit, the .h
files
declare the same symbols and overrides as in C mode, except that functions
defined by Gnulib or by the system are declared as ‘extern "C"’.
It is also possible to indicate to Gnulib to provide many of its symbols
in a dedicated C++ namespace. If you define the macro
GNULIB_NAMESPACE
to an identifier, many functions will be defined
in the namespace specified by the identifier instead of the global
namespace. For example, after you have defined
#define GNULIB_NAMESPACE gnulib
at the beginning of a compilation unit, Gnulib’s <fcntl.h>
header
file will make available the open
function as gnulib::open
.
The symbol open
will still refer to the system’s open
function,
with its platform specific bugs and limitations.
The symbols provided in the Gnulib namespace are those for which the
corresponding header file contains a _GL_CXXALIAS_RPL
or
_GL_CXXALIAS_SYS
macro invocation.
The benefits of this namespace mode are:
open
has to be overridden, Gnulib normally does
#define open rpl_open
. If your package has a class with a member
open
, for example a class foo
with a method foo::open
,
then if you define this member in a compilation unit that includes
<fcntl.h>
and use it in a compilation unit that does not include
<fcntl.h>
, or vice versa, you will get a link error. Worse: You
will not notice this problem on the platform where the system’s open
function works fine. This problem goes away in namespace mode.
gnulib::open
in your code, and you forgot to request the module
‘open’ from Gnulib, you will get a compilation error (regardless of
the platform).
The drawback of this namespace mode is that the system provided symbols in
the global namespace are still present, even when they contain bugs that
Gnulib fixes. For example, if you call open (...)
in your code,
it will invoke the possibly buggy system function, even if you have
requested the module ‘open’ from gnulib-tool.
You can turn on the namespace mode in some compilation units and keep it turned off in others. This can be useful if your package consists of an application layer that does not need to invoke POSIX functions and an operating system interface layer that contains all the OS function calls. In such a situation, you will want to turn on the namespace mode for the application layer—to avoid many preprocessor macro definitions—and turn it off for the OS interface layer—to avoid the drawback of the namespace mode, mentioned above.
Next: Windows sockets, Previous: A C++ namespace for gnulib, Up: Miscellaneous Notes [Contents][Index]
The module ‘check-version’ can be useful when your gnulib
application is a system library. You will typically wrap the call to
the check_version
function through a library API, your library
header file may contain:
#define STRINGPREP_VERSION "0.5.18" ... extern const char *stringprep_check_version (const char *req_version);
To avoid ELF symbol collisions with other libraries that use the ‘check-version’ module, add to config.h through a AC_DEFINE something like:
AC_DEFINE(check_version, stringprep_check_version, [Rename check_version.])
The stringprep_check_version
function will thus be implemented
by the check_version
module.
There are two uses of the interface. The first is a way to provide for applications to find out the version number of the library it uses. The application may contain diagnostic code such as:
printf ("Stringprep version: header %s library %s", STRINGPREP_VERSION, stringprep_check_version (NULL));
Separating the library and header file version can be useful when searching for version mismatch related problems.
The second uses is as a rudimentary test of proper library version, by making sure the application get a library version that is the same, or newer, than the header file used when building the application. This doesn’t catch all problems, libraries may change backwards incompatibly in later versions, but enable applications to require a certain minimum version before it may proceed.
Typical uses look like:
/* Check version of libgcrypt. */ if (!gcry_check_version (GCRYPT_VERSION)) die ("version mismatch\n");
Next: Libtool and Windows, Previous: Library version handling, Up: Miscellaneous Notes [Contents][Index]
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 the (partial) getaddrinfo implementation.
If you want to support Windows 2000, don’t do anything. The replacement function will open WS2_32.DLL during run-time to see if there is a getaddrinfo function available, and use it when available.
Next: License Texinfo sources, Previous: Windows sockets, Up: Miscellaneous Notes [Contents][Index]
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
Next: Build robot for gnulib, Previous: Libtool and Windows, Up: Miscellaneous Notes [Contents][Index]
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.
Previous: License Texinfo sources, Up: Miscellaneous Notes [Contents][Index]
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 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/*
Next: Header File Substitutes, Previous: Miscellaneous Notes, Up: Top [Contents][Index]
This section shows a radically different way to use Gnulib.
You can extract the ISO C / POSIX substitutes part of gnulib by running the command
gnulib-tool --create-testdir --source-base=lib \ --dir=/tmp/posixlib `posix-modules`
The command ‘posix-modules’ is found in the same directory as
gnulib-tool
.
The resulting directory can be built on a particular platform,
independently of the program being ported. Then you can configure and
build any program, by setting CPPFLAGS
and LDFLAGS
at
configure time accordingly: set CPPFLAGS="-I.../posixlib/lib"
, plus
any essential type definitions and flags that you find in
.../posixlib/config.h
, and set
LDFLAGS=".../posixlib/lib/libgnu.a"
.
This way of using Gnulib is useful when you don’t want to modify the program’s
source code, or when the program uses a mix between C and C++ sources
(requiring separate builds of the posixlib
for the C compiler and
for the C++ compiler).
Next: Function Substitutes, Previous: POSIX Substitutes Library, Up: Top [Contents][Index]
This chapter describes which header files specified by ISO C or POSIX are substituted by Gnulib, which portability pitfalls are fixed by Gnulib, and which (known) portability problems are not worked around by Gnulib.
The notation “Gnulib module: —” means that Gnulib does not provide a
module providing a substitute for the header file. When the list
“Portability problems not fixed by Gnulib” is empty, such a module is
not needed: No portability problems are known. Otherwise, it indicates
that such a module would be useful but is not available: No one so far
found this header file important enough to contribute a substitute for it.
If you need this particular header file, you may write to
<bug-gnulib at gnu dot org>
.
Next: arpa/inet.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/aio.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: assert.h, Previous: aio.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/arpa_inet.h.html
Gnulib module: arpa_inet
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: complex.h, Previous: arpa/inet.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/assert.h.html
Gnulib module: assert-h
See also the Gnulib module assert
.
Portability problems fixed by Gnulib:
static_assert
, and the C11
_Static_assert
, are not supported by many platforms.
For example, GCC versions before 4.6.0 do not support _Static_assert
,
and G++ versions through at least 4.6.0 do not support static_assert
.
Portability problems not fixed by Gnulib:
_Static_assert
and C++11 static_assert
are keywords that can be used without including <assert.h>
.
The Gnulib substitutes are macros that require including <assert.h>
.
static_assert
and _Static_assert
can also
be used within a struct
or union
specifier, in place of
an ordinary declaration of a member of the struct or union. The
Gnulib substitute can be used only as an ordinary declaration.
assert
can be applied to any scalar expression.
In C89, the argument to assert
is of type int
.
Next: cpio.h, Previous: assert.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/complex.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ctype.h, Previous: complex.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/cpio.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: dirent.h, Previous: cpio.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/ctype.h.html
Gnulib module: ctype
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: dlfcn.h, Previous: ctype.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/dirent.h.html
Gnulib module: dirent
Portability problems fixed by Gnulib:
ino_t
is missing on some platforms:
glibc 2.8 and others.
Portability problems not fixed by Gnulib:
Next: errno.h, Previous: dirent.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/dlfcn.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fcntl.h, Previous: dlfcn.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/errno.h.html
Gnulib module: errno
Portability problems fixed by Gnulib:
EOVERFLOW
, ENOLINK
, EMULTIHOP
are not defined
on some platforms:
OpenBSD 4.0, OSF/1 5.1, mingw, MSVC 9.
ECANCELED
is not defined on some platforms:
OpenBSD 4.0, Cygwin, mingw, MSVC 9.
ENOMSG
, EIDRM
, EPROTO
, EBADMSG
,
ENOTSUP
are not defined on some platforms:
OpenBSD 4.0, mingw, MSVC 9.
ESTALE
is not defined on some platforms:
mingw, MSVC 9, Interix 3.5.
EDQUOT
is not defined on some platforms:
NonStop Kernel, mingw, MSVC 9.
ENETRESET
, ECONNABORTED
are not defined on some
platforms:
Minix 3.1.8, mingw, MSVC 9.
EWOULDBLOCK
, ETXTBSY
, ELOOP
, ENOTSOCK
,
EDESTADDRREQ
, EMSGSIZE
, EPROTOTYPE
, ENOPROTOOPT
,
EPROTONOSUPPORT
, EOPNOTSUPP
, EAFNOSUPPORT
,
EADDRINUSE
, EADDRNOTAVAIL
, ENETDOWN
, ENETUNREACH
,
ECONNRESET
, ENOBUFS
, EISCONN
, ENOTCONN
,
ETIMEDOUT
, ECONNREFUSED
, EHOSTUNREACH
, EALREADY
,
EINPROGRESS
are not defined on some platforms:
mingw, MSVC 9.
EOWNERDEAD
, ENOTRECOVERABLE
are not defined on
some platforms:
glibc/Linux 2.3.6, glibc/Hurd 2.15, glibc/kFreeBSD 2.15,
Mac OS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw without pthreads-win32, MSVC 9, Interix 3.5, BeOS.
EILSEQ
is not defined on some platforms:
LynxOS 178 2.2.2.
Portability problems not fixed by Gnulib:
Next: fenv.h, Previous: errno.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/fcntl.h.html
Gnulib module: fcntl-h
Portability problems fixed by Gnulib:
pid_t
is not defined on some platforms:
MSVC 9.
mode_t
is not defined on some platforms:
MSVC 9.
int
on some
platforms:
Solaris 11 2011-11.
Portability problems not fixed by Gnulib:
Next: float.h, Previous: fcntl.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/fenv.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fmtmsg.h, Previous: fenv.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/float.h.html
Gnulib module: float
Portability problems fixed by Gnulib:
int
to long double
in incorrect on some
platforms:
glibc 2.7 on Linux/SPARC64.
LDBL_*
macros are incorrect on some platforms:
On OpenBSD 4.0, MirBSD 10, and BeOS, they are the same as the values of the
DBL_*
macros, although ‘long double’ is a larger type than
‘double’.
On FreeBSD/x86 6.4, they represent the incorrect 53-bit precision assumptions
in the compiler, not the real 64-bit precision at runtime.
On Linux/PowerPC with GCC 4.4, on AIX 7.1 with GCC 4.2, and on IRIX 6.5,
they don’t reflect the “double double” representation of long double
correctly.
Portability problems not fixed by Gnulib:
FLT_ROUNDS
is a constant expression and does not represent
the current rounding mode on some platforms:
glibc 2.11, HP-UX 11, mingw.
Next: fnmatch.h, Previous: float.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/fmtmsg.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ftw.h, Previous: fmtmsg.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/fnmatch.h.html
Gnulib module: fnmatch-posix or fnmatch-gnu
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: glob.h, Previous: fnmatch.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/ftw.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: grp.h, Previous: ftw.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/glob.h.html
Gnulib module: glob
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: iconv.h, Previous: glob.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/grp.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: inttypes.h, Previous: grp.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/iconv.h.html
Gnulib module: iconv
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: iso646.h, Previous: iconv.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/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.
__STDC_FORMAT_MACROS
to make visible the declarations of format
macros such as PRIdMAX
.
Portability problems not fixed by Gnulib:
Next: langinfo.h, Previous: inttypes.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/iso646.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: libgen.h, Previous: iso646.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/langinfo.h.html
Gnulib module: langinfo
Portability problems fixed by Gnulib:
CODESET
is not defined on some platforms:
glibc 2.0.6, OpenBSD 3.8.
ERA
, ERA_D_FMT
, ERA_D_T_FMT
,
ERA_T_FMT
, ALT_DIGITS
are not defined on some platforms:
OpenBSD 3.8.
T_FMT_AMPM
, YESEXPR
, NOEXPR
are not
defined on some platforms:
IRIX 5.3.
Portability problems not fixed by Gnulib:
Next: limits.h, Previous: langinfo.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/libgen.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: locale.h, Previous: libgen.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/limits.h.html
Gnulib module: gethostname
Portability problems fixed by Gnulib:
HOST_NAME_MAX
macro is not defined on some platforms:
Mac OS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, AIX 5.1, HP-UX 11,
IRIX 6.5, OSF/1 5.1, Solaris 11 2011-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS.
Portability problems not fixed by Gnulib:
LLONG_MIN
, LLONG_MAX
, ULLONG_MAX
are not
defined on some platforms:
AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1 with gcc.
WORD_BIT
, LONG_BIT
are not defined on some platforms:
glibc 2.11 without -D_GNU_SOURCE
, Cygwin, mingw, MSVC 9.
SSIZE_MAX
is not defined on some platforms:
MSVC 9.
For PATH_MAX
, Gnulib provides a module pathmax
with a header
file "pathmax.h"
. It defines PATH_MAX
to a constant on
platforms with a file name length limit.
Next: math.h, Previous: limits.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/locale.h.html
Gnulib module: locale
Portability problems fixed by Gnulib:
locale_t
type is not defined on some platforms:
glibc 2.11, Mac OS X 10.5.
struct lconv
type does not contain any members on some platforms:
Android.
struct lconv
type does not contain the members
int_p_cs_precedes
, int_p_sign_posn
, int_p_sep_by_space
,
int_n_cs_precedes
, int_n_sign_posn
, int_n_sep_by_space
on some platforms:
glibc, OpenBSD 4.9, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2011-11, Cygwin 1.5.x, mingw, MSVC 9.
NULL
macro that cannot be used in arbitrary
expressions:
NetBSD 5.0
Portability problems not fixed by Gnulib:
Next: monetary.h, Previous: locale.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/math.h.html
Gnulib module: math
Portability problems fixed by Gnulib:
int
to long double
in incorrect on some
platforms:
glibc 2.7 on Linux/SPARC64.
NAN
is not defined on some platforms:
OpenBSD 4.0, AIX 5.1, IRIX 6.5, OSF/1 5.1.
NAN
is not exposed outside of C99 compilation on some
platforms:
glibc.
NAN
and HUGE_VAL
expand to a function address
rather than a floating point constant on some platforms:
Solaris 10.
HUGE_VALF
and HUGE_VALL
are not defined on some
platforms:
glibc/HPPA, glibc/SPARC, AIX 5.1, IRIX 6.5, Solaris 9, MSVC 9.
FP_ILOGB0
and FP_ILOGBNAN
are not defined on some
platforms:
NetBSD 5.1, AIX 5.1, IRIX 6.5, Solaris 9, MSVC 9.
Portability problems not fixed by Gnulib:
NAN
is not a compile time constant with some compilers:
OSF/1 with Compaq (ex-DEC) C 6.4.
math_errhandling
is not defined on some platforms:
glibc 2.11, OpenBSD 4.9, NetBSD 5.1, UP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin 1.7.9, mingw, MSVC 9.
Next: mqueue.h, Previous: math.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/monetary.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ndbm.h, Previous: monetary.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/mqueue.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: net/if.h, Previous: mqueue.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/ndbm.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: netdb.h, Previous: ndbm.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/net_if.h.html
Gnulib module: net_if
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: netinet/in.h, Previous: net/if.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/netdb.h.html
Gnulib module: netdb
Portability problems fixed by Gnulib:
socklen_t
on some platforms:
HP-UX 10.20, IRIX 6.5, OSF/1 4.0, Interix 3.5, BeOS.
AI_ALL
, AI_V4MAPPED
,
AI_ADDRCONFIG
on some platforms:
NetBSD 5.0.
Portability problems not fixed by Gnulib:
Next: netinet/tcp.h, Previous: netdb.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/netinet_in.h.html
Gnulib module: netinet_in
Portability problems fixed by Gnulib:
<sys/types.h>
to be included first):
OpenBSD 4.6.
Portability problems not fixed by Gnulib:
Next: nl_types.h, Previous: netinet/in.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/netinet_tcp.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: poll.h, Previous: netinet/tcp.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/nl_types.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread.h, Previous: nl_types.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/poll.h.html
Gnulib module: poll-h
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
nfds_t
on some platforms:
IRIX 5.3.
Next: pwd.h, Previous: poll.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/pthread.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: regex.h, Previous: pthread.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/pwd.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sched.h, Previous: pwd.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/regex.h.html
Gnulib module: regex
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
<sys/types.h>
to be included first.
Next: search.h, Previous: regex.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/sched.h.html
Gnulib module: sched
Portability problems fixed by Gnulib:
pid_t
on some platforms:
glibc 2.11, Mac OS X 10.5.
struct sched_param
is not defined on some platforms:
Haiku.
SCHED_FIFO
, SCHED_RR
, SCHED_OTHER
are not defined on
some platforms:
Haiku.
Portability problems not fixed by Gnulib:
Next: semaphore.h, Previous: sched.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/search.h.html
Gnulib module: search
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setjmp.h, Previous: search.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/semaphore.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: signal.h, Previous: semaphore.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/setjmp.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: spawn.h, Previous: setjmp.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/signal.h.html
Gnulib module: signal-h
Portability problems fixed by Gnulib:
volatile sig_atomic_t
is rejected by older compilers on some
platforms:
AIX.
sigset_t
is missing on some platforms:
MSVC 9.
sigset_t
is only declared in <sys/types.h> on some platforms:
mingw.
struct sigaction
and siginfo_t
are missing on some
platforms:
mingw, MSVC 9.
struct sigaction
lacks the sa_sigaction
member on some
platforms:
Irix 5.3, Interix 3.5.
pid_t
is not defined on some platforms:
MSVC 9.
SIGPIPE
is not defined on some platforms:
mingw, MSVC 9.
SA_NODEFER
is not defined on some platforms:
Interix 3.5.
SA_RESETHAND
and SA_RESTART
are not defined
on some platforms:
NonStop.
sighandler_t
(a GNU extension) is not defined on most non-glibc
platforms:
Mac OS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, AIX 5.1, HP-UX 11,
IRIX 6.5, OSF/1 5.1, Solaris 11 2011-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS.
Portability problems not fixed by Gnulib:
SIGRTMIN
and SIGRTMAX
expand to an expression of type
long
instead of int
on some platforms:
OSF/1 5.1.
SIGBUS
is set to the same value as SIGSEGV
,
rather than being a distinct signal, on some platforms:
Haiku.
Next: stdalign.h, Previous: signal.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/spawn.h.html
Gnulib module: spawn
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: stdarg.h, Previous: spawn.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
Not in POSIX yet, but we expect it will be.
ISO C11 (latest free draft
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf)
sections 6.5.3.4, 6.7.5, 7.15.
C++11 (latest free draft
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf)
section 18.10.
Gnulib module: stdalign
Portability problems fixed by Gnulib:
<stdalign.h>
does not define alignof
/_Alignof
.
alignof
and _Alignof
macros return too large values for
the types double
and long long
in GCC 4.7.0.
Portability problems not fixed by Gnulib:
alignof
/_Alignof
must be a
parenthesized type. Recent versions of GCC support an extension in
which the operand can also be a unary expression, as with
sizeof
. The Gnulib substitute does not support this extension.
_Alignas
and alignas
are not always supported;
on platforms lacking support, the
macro __alignas_is_defined
is not defined.
Supported compilers include GCC, IBM C, Sun C 5.11 and later,
and MSVC 7.0 and later.
alignas
/_Alignas
of auto
variables (i.e.,
variables on the stack). They diagnose and ignore the alignment: Sun
C 5.11.
_Alignas
/alignas
that are greater than 8: mingw.
_Alignas
/alignas
to be a single integer constant, not an expression: MSVC 7.0 through
at least 10.0.
_Alignas
/alignas
. This compiler bug causes the Gnulib
module stdalign-tests
to fail. The Sun Studio Developer Bug
Report Review Team assigned the internal review ID 2125432 (dated
2011-11-01) to this issue.
<stdalign.h>
must be #included before _Alignas
and
_Alignof
can be used.
_Alignas
and _Alignof
are reserved words;
they might be macros.
Next: stdbool.h, Previous: stdalign.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/stdarg.h.html
Gnulib module: stdarg
Portability problems fixed by Gnulib:
va_copy
to work.
Portability problems not fixed by Gnulib:
Next: stddef.h, Previous: stdarg.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/stdbool.h.html
Gnulib module: stdbool
Portability problems fixed by Gnulib:
true
incorrectly on some platforms:
OpenBSD 4.7 with gcc 2.95.
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.
Next: stdint.h, Previous: stdbool.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/stddef.h.html
Gnulib module: stddef
Portability problems fixed by Gnulib:
wchar_t
.
NULL
macro that cannot be used in arbitrary
expressions:
NetBSD 5.0
Portability problems not fixed by Gnulib:
offsetof
macro that cannot be used in
arbitrary expressions:
Solaris 11 2011-11
This problem can be worked around by parenthesizing the
offsetof
expression in the unlikely case you use it with
sizeof
or ‘[]’.
Next: stdio.h, Previous: stddef.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/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.
INT8_MAX
, UINT8_MAX
etc. are not usable in
preprocessor expressions on some platforms:
HP-UX 11.23.
WCHAR_MIN
and WCHAR_MAX
are not defined in
<stdint.h>
(only in <wchar.h>
) on some platforms:
Dragonfly, BSDI.
__STDC_CONSTANT_MACROS
to make visible the definitions of
constant macros such as INTMAX_C
, and one must define
__STDC_LIMIT_MACROS
to make visible the definitions of limit
macros such as INTMAX_MAX
.
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.
Other <stdint.h>
substitutes may define these types differently,
so public header files should avoid these types.
long int
.
For example, as of 2007, Sun C mishandles #if LLONG_MIN < 0
on
a platform with 32-bit long int
and 64-bit long long int
.
Some older preprocessors mishandle constants ending in LL
.
To work around these problems, compute the value of expressions like
LONG_MAX < LLONG_MAX
at configure
-time rather than at
#if
-time.
The stdint.h module uses #include_next
. If you wish to install
the generated stdint.h file under another name, typically in order to
be able to use some of the types defined by stdint.h in your public
header file, you could use the following Makefile.am-snippet:
BUILT_SOURCES += idn-int.h DISTCLEANFILES += idn-int.h nodist_include_HEADERS += idn-int.h idn-int.h: if test -n "$(STDINT_H)"; then \ sed -e s/include_next/include/ gl/stdint.h > idn-int.h; \ else \ echo '#include <stdint.h>' > idn-int.h; \ fi
Next: stdlib.h, Previous: stdint.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/stdio.h.html
Gnulib module: stdio
Portability problems fixed by Gnulib:
off_t
is missing on some platforms:
glibc 2.8, eglibc 2.11.2 and others.
ssize_t
is missing on some platforms:
glibc 2.8, Mac OS X 10.5, Solaris 10, MSVC 9, and others.
va_list
is missing on some platforms:
glibc 2.8, OpenBSD 4.0, Solaris 11 2011-11, and others.
NULL
macro that cannot be used in arbitrary
expressions:
NetBSD 5.0
Portability problems not fixed by Gnulib:
Next: stdnoreturn.h, Previous: stdio.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/stdlib.h.html
Gnulib module: stdlib, system-posix
Portability problems fixed by the Gnulib module stdlib
:
EXIT_SUCCESS
and EXIT_FAILURE
are not defined on
some platforms.
EXIT_FAILURE
is incorrectly defined on Tandem/NSK.
NULL
macro that cannot be used in arbitrary
expressions:
NetBSD 5.0
Portability problems fixed by the Gnulib module system-posix
:
WIFSIGNALED
, WIFEXITED
, WIFSTOPPED
,
WTERMSIG
, WEXITSTATUS
, WNOHANG
, WUNTRACED
,
WSTOPSIG
are not defined in this header file (only in
<sys/wait.h>
) on some platforms:
MirBSD 10.
Portability problems not fixed by Gnulib:
WEXITSTATUS
require an lvalue
argument on some platforms.
Mac OS X 10.5.
Next: string.h, Previous: stdlib.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
Not in POSIX yet, but we expect it will be.
ISO C11 (latest free draft
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf)
sections 7.23.
Gnulib module: stdnoreturn
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
<stdnoreturn.h>
should be #included before ‘_Noreturn’ is used.
_Noreturn
is a reserved word;
it might be a macro.
noreturn
expands to the empty token sequence, to avoid
problems with standard headers that use __declspec (noreturn)
directly. Although the resulting code operates correctly, the
compiler is not informed whether noreturn
functions do not
return, so it may generate incorrect warnings at compile-time, or code
that is slightly less optimized. This problem does not occur with
_Noreturn
.
-Werror=old-style-declaration
requires _Noreturn
or noreturn
before the returned type
in a declaration, and therefore rejects valid but unusually-worded
declarations such as void _Noreturn foo (void);
.
Next: strings.h, Previous: stdnoreturn.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/string.h.html
Gnulib module: string
Portability problems fixed by Gnulib:
NULL
macro that cannot be used in arbitrary
expressions:
NetBSD 5.0
Portability problems not fixed by Gnulib:
Next: stropts.h, Previous: string.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/strings.h.html
Gnulib module: strings
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sys/ipc.h, Previous: strings.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/stropts.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sys/mman.h, Previous: stropts.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/sys_ipc.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sys/msg.h, Previous: sys/ipc.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/sys_mman.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sys/resource.h, Previous: sys/mman.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/sys_msg.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sys/select.h, Previous: sys/msg.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/sys_resource.h.html
Gnulib module: sys_resource
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sys/sem.h, Previous: sys/resource.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/sys_select.h.html
Gnulib module: sys_select
Portability problems fixed by Gnulib:
<sys/types.h>
to be included first.
struct timeval
on some platforms:
OSF/1 4.0.
<string.h>
before FD_ZERO
can be used—on some platforms:
AIX 7.1, Solaris 11 2011-11.
Portability problems not fixed by Gnulib:
Next: sys/shm.h, Previous: sys/select.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/sys_sem.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sys/socket.h, Previous: sys/sem.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/sys_shm.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sys/stat.h, Previous: sys/shm.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/sys_socket.h.html
Gnulib module: sys_socket
Portability problems fixed by Gnulib:
<sys/types.h>
to be included first.
socklen_t
on some platforms:
HP-UX 10.20, IRIX 6.5, OSF/1 4.0, Interix 3.5, BeOS.
struct iovec
on some platforms:
OpenBSD 4.4.
SHUT_RD
, SHUT_WR
,
SHUT_RDWR
macros on some platforms, despite having the shutdown
functions:
emx+gcc.
struct sockaddr_storage
type does not have a member ss_family
on some platforms:
AIX 7.1.
Portability problems not fixed by Gnulib:
msg_control
and
msg_controllen
members of struct msghdr
on some
platforms. This can be detected by the absence of the
CMSG_FIRSTHDR
macro:
gnulib replacement header, old BSD
Next: sys/statvfs.h, Previous: sys/socket.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/sys_stat.h.html
Gnulib module: sys_stat
Portability problems fixed by Gnulib:
mode_t
is not defined on some platforms:
MSVC 9.
S_IFMT
or S_IFIFO
, 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 some platforms:
mingw, MSVC 9.
UTIME_NOW
and UTIME_OMIT
are missing on some
platforms.
struct stat
does not include st_atim
,
st_mtim
, or st_ctim
members. Use the gnulib module
‘stat-time’ for accessors to portably get at subsecond resolution.
Portability problems not fixed by Gnulib:
S_IFBLK
is missing on some platforms:
MSVC 9.
st_ino
is always 0.
st_ino
is an array of three ino_t
values,
not a single value.
st_ino
and use the Gnulib same-inode
module to
compare nonzero values. For example, (a.st_ino && SAME_INODE
(a, b))
is true if the struct stat
values a
and
b
are known to represent the same file, (a.st_ino &&
!SAME_INODE (a, b))
is true if they are known to represent different
files, and !a.st_ino
is true if it is not known whether they
represent different files.
st_dev
and st_ino
values, even when st_ino
is nonzero:
st_dev
exceeds 255, or if a local
st_ino
exceeds 16777215.
One partial workaround is to compare other file metadata such as
st_mode
and st_mtime
to detect this bug, but this
approach does not work on files whose metadata are being changed by
other programs.
st_size
contains bogus information for
symlinks; use the Gnulib module areadlink-with-size
for a
better way to get symlink contents.
Next: sys/time.h, Previous: sys/stat.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/sys_statvfs.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sys/timeb.h, Previous: sys/statvfs.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/sys_time.h.html
Gnulib module: sys_time
Portability problems fixed by Gnulib:
tv_sec
type that is
narrower than time_t
on some native Windows platforms:
mingw64 in 64-bit mode,
mingw64 in 32-bit mode when __MINGW_USE_VC2005_COMPAT
is defined,
MSVC 9 in 64-bit mode,
MSVC 9 in 32-bit mode when _USE_32BIT_TIME_T
is not defined.
Portability problems not fixed by Gnulib:
tv_sec
type that is
wider than time_t
:
OpenBSD 5.1 in 64-bit mode.
Next: sys/times.h, Previous: sys/time.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/susv3xbd/sys/timeb.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sys/types.h, Previous: sys/timeb.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/sys_times.h.html
Gnulib module: sys_times
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sys/uio.h, Previous: sys/times.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/sys_types.h.html
Gnulib module: sys_types
Portability problems fixed by Gnulib:
pid_t
is not defined on some platforms:
MSVC 9.
size_t
is not defined in this file on some platforms:
MSVC 9.
ssize_t
is not defined on some platforms:
MSVC 9.
mode_t
is not defined on some platforms:
MSVC 9.
Portability problems not fixed by Gnulib:
blksize_t
and suseconds_t
are signed integer types that are wider than long
:
glibc x32
This module, together with the module largefile
, also defines the type
off_t
to a 64-bit integer type on some platforms:
mingw (except mingw64), MSVC 9.
Next: sys/un.h, Previous: sys/types.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/sys_uio.h.html
Gnulib module: sys_uio
Portability problems fixed by Gnulib:
<sys/types.h>
to be
included first) on some platforms:
OpenBSD 4.4.
Portability problems not fixed by Gnulib:
Next: sys/utsname.h, Previous: sys/uio.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/sys_un.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sys/wait.h, Previous: sys/un.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/sys_utsname.h.html
Gnulib module: sys_utsname
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: syslog.h, Previous: sys/utsname.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/sys_wait.h.html
Gnulib module: sys_wait
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
WEXITSTATUS
require an lvalue
argument on some platforms.
Mac OS X 10.5.
Next: tar.h, Previous: sys/wait.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/syslog.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: termios.h, Previous: syslog.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/tar.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: tgmath.h, Previous: tar.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/termios.h.html
Gnulib module: termios
Portability problems fixed by Gnulib:
pid_t
on all platforms:
glibc on some architectures, FreeBSD 6.4, OpenBSD 4.9, Cygwin 1.7.11.
Portability problems not fixed by Gnulib:
struct termios
, cc_t
, speed_t
, tcflag_t
are not defined on some platforms:
mingw, MSVC 9.
Next: time.h, Previous: termios.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/tgmath.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: trace.h, Previous: tgmath.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/time.h.html
Gnulib module: time
Portability problems fixed by Gnulib:
NULL
macro that cannot be used in arbitrary
expressions:
NetBSD 5.0
Portability problems not fixed by Gnulib:
tv_nsec
member of struct timespec
is not of type long
, but is of type long long
instead:
glibc x32
Next: uchar.h, Previous: time.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/trace.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ucontext.h, Previous: trace.h, Up: Header File Substitutes [Contents][Index]
Defines the types char16_t
, char32_t
and declares the
functions mbrtoc16
, c16rtomb
, mbrtoc32
,
c32rtomb
.
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ulimit.h, Previous: uchar.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/susv3xbd/ucontext.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: unistd.h, Previous: ucontext.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/ulimit.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: utime.h, Previous: ulimit.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/unistd.h.html
Gnulib module: unistd
Portability problems fixed by Gnulib:
_exit
function is not declared in this file on some platforms:
mingw.
NULL
macro that cannot be used in arbitrary
expressions:
NetBSD 5.0
Portability problems not fixed by Gnulib:
Next: utmpx.h, Previous: unistd.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/utime.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
<sys/utime.h>
if <utime.h>
is missing.
Next: wchar.h, Previous: utime.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/utmpx.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: wctype.h, Previous: utmpx.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/wchar.h.html
Gnulib module: wchar
Portability problems fixed by Gnulib:
wint_t
and macro WEOF
are missing on some platforms:
IRIX 5.3.
wint_t
is incorrect on some platforms:
MSVC 9.
NULL
macro that cannot be used in arbitrary
expressions:
NetBSD 5.0
Portability problems not fixed by Gnulib:
Next: wordexp.h, Previous: wchar.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/wctype.h.html
Gnulib module: wctype-h
Portability problems fixed by Gnulib:
wint_t
and macro WEOF
are missing on some platforms:
IRIX 5.3.
wint_t
is incorrect on some platforms:
MSVC 9.
isw*
are missing on some platforms:
FreeBSD 4.11.
iswblank
is declared but not defined on some platforms:
IRIX 6.5.30.
isw*
are actually defined as macros that don’t work,
on IRIX 5.3.
multibyte
, as macros
on some platforms:
Solaris 2.6.
Portability problems not fixed by Gnulib:
Previous: wctype.h, Up: Header File Substitutes [Contents][Index]
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/wordexp.h.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Legacy Function Substitutes, Previous: Header File Substitutes, Up: Top [Contents][Index]
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.
The notation “Gnulib module: —” means that Gnulib does not provide a
module providing a substitute for the function. When the list
“Portability problems not fixed by Gnulib” is empty, such a module is
not needed: No portability problems are known. Otherwise, it indicates
that such a module would be useful but is not available: No one so far
found this function important enough to contribute a substitute for it.
If you need this particular function, you may write to
<bug-gnulib at gnu dot org>
.
Next: FD_ISSET, Up: Function Substitutes [Contents][Index]
FD_CLR
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/FD_CLR.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: FD_SET, Previous: FD_CLR, Up: Function Substitutes [Contents][Index]
FD_ISSET
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/FD_ISSET.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: FD_ZERO, Previous: FD_ISSET, Up: Function Substitutes [Contents][Index]
FD_SET
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/FD_SET.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: _Exit, Previous: FD_SET, Up: Function Substitutes [Contents][Index]
FD_ZERO
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/FD_ZERO.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: _exit, Previous: FD_ZERO, Up: Function Substitutes [Contents][Index]
_Exit
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/_Exit.html
Gnulib module: _Exit
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: _longjmp, Previous: _Exit, Up: Function Substitutes [Contents][Index]
_exit
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/_exit.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: _setjmp, Previous: _exit, Up: Function Substitutes [Contents][Index]
_longjmp
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/_longjmp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Note: A future revision of POSIX later than the 2008/2009 one may drop the
functions _setjmp
and _longjmp
. Still, in 2008, on all
systems which have _setjmp
, it is the fastest way to save the
registers but not the signal mask (up to 30 times faster than setjmp
on some systems).
Next: _tolower, Previous: _longjmp, Up: Function Substitutes [Contents][Index]
_setjmp
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/_setjmp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Note: A future revision of POSIX later than the 2008/2009 one may drop the
functions _setjmp
and _longjmp
. Still, in 2008, on all
systems which have _setjmp
, it is the fastest way to save the
registers but not the signal mask (up to 30 times faster than setjmp
on some systems).
Next: _toupper, Previous: _setjmp, Up: Function Substitutes [Contents][Index]
_tolower
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/_tolower.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: a64l, Previous: _tolower, Up: Function Substitutes [Contents][Index]
_toupper
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/_toupper.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: abort, Previous: _toupper, Up: Function Substitutes [Contents][Index]
a64l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/a64l.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: abs, Previous: a64l, Up: Function Substitutes [Contents][Index]
abort
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/abort.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: accept, Previous: abort, Up: Function Substitutes [Contents][Index]
abs
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/abs.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: access, Previous: abs, Up: Function Substitutes [Contents][Index]
accept
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/accept.html
Gnulib module: accept
Portability problems fixed by Gnulib:
accept
function cannot be used in calls to read
,
write
, and close
; you have to use recv
, send
,
closesocket
in these cases instead.
accept
are not placed in errno
, and WSAGetLastError
must be
used instead.
Portability problems not fixed by Gnulib:
accept
function cannot be used
in calls to read
, write
, and close
; you have to use
recv
, send
, closesocket
in these cases instead.
socklen_t
type; in this case this function’s
third argument type is ‘int *’.
Next: acos, Previous: accept, Up: Function Substitutes [Contents][Index]
access
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/access.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Other problems of this function:
stat
versus lstat
). If you need this option, use
the Gnulib module faccessat
with the AT_EACCESS
flag.
Next: acosf, Previous: access, Up: Function Substitutes [Contents][Index]
acos
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/acos.html
Gnulib module: acos
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: acosh, Previous: acos, Up: Function Substitutes [Contents][Index]
acosf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/acosf.html
Gnulib module: acosf
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: acoshf, Previous: acosf, Up: Function Substitutes [Contents][Index]
acosh
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/acosh.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: acoshl, Previous: acosh, Up: Function Substitutes [Contents][Index]
acoshf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/acoshf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: acosl, Previous: acoshf, Up: Function Substitutes [Contents][Index]
acoshl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/acoshl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: aio_cancel, Previous: acoshl, Up: Function Substitutes [Contents][Index]
acosl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/acosl.html
Gnulib module: acosl
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: aio_error, Previous: acosl, Up: Function Substitutes [Contents][Index]
aio_cancel
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/aio_cancel.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
off_t
is a 32-bit type, this function may not
work correctly on files larger than 2 GB. The fix is to use the
AC_SYS_LARGEFILE
macro.
Next: aio_fsync, Previous: aio_cancel, Up: Function Substitutes [Contents][Index]
aio_error
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/aio_error.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
off_t
is a 32-bit type, this function may not
work correctly on files larger than 2 GB. The fix is to use the
AC_SYS_LARGEFILE
macro.
Next: aio_read, Previous: aio_error, Up: Function Substitutes [Contents][Index]
aio_fsync
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/aio_fsync.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
off_t
is a 32-bit type, this function may not
work correctly on files larger than 2 GB. The fix is to use the
AC_SYS_LARGEFILE
macro.
Next: aio_return, Previous: aio_fsync, Up: Function Substitutes [Contents][Index]
aio_read
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/aio_read.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
off_t
is a 32-bit type, this function may not
work correctly on files larger than 2 GB. The fix is to use the
AC_SYS_LARGEFILE
macro.
Next: aio_suspend, Previous: aio_read, Up: Function Substitutes [Contents][Index]
aio_return
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/aio_return.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
off_t
is a 32-bit type, this function may not
work correctly on files larger than 2 GB. The fix is to use the
AC_SYS_LARGEFILE
macro.
Next: aio_write, Previous: aio_return, Up: Function Substitutes [Contents][Index]
aio_suspend
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/aio_suspend.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
off_t
is a 32-bit type, this function may not
work correctly on files larger than 2 GB. The fix is to use the
AC_SYS_LARGEFILE
macro.
Next: alarm, Previous: aio_suspend, Up: Function Substitutes [Contents][Index]
aio_write
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/aio_write.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
off_t
is a 32-bit type, this function may not
work correctly on files larger than 2 GB. The fix is to use the
AC_SYS_LARGEFILE
macro.
Next: aligned_alloc, Previous: aio_write, Up: Function Substitutes [Contents][Index]
alarm
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/alarm.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
<io.h>
header on some platforms:
mingw (2012 or newer).
Next: alphasort, Previous: alarm, Up: Function Substitutes [Contents][Index]
aligned_alloc
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: asctime, Previous: aligned_alloc, Up: Function Substitutes [Contents][Index]
alphasort
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/alphasort.html
Gnulib module: alphasort
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
const void *
on some platforms:
glibc 2.3.6, Mac OS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Interix 3.5.
void *
on some platforms:
AIX 5.1.
Next: asctime_r, Previous: alphasort, Up: Function Substitutes [Contents][Index]
asctime
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/asctime.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: asin, Previous: asctime, Up: Function Substitutes [Contents][Index]
asctime_r
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/asctime_r.html
Gnulib module: extensions
Portability problems fixed by Gnulib:
_POSIX_PTHREAD_SEMANTICS
is not defined).
Portability problems not fixed by Gnulib:
Next: asinf, Previous: asctime_r, Up: Function Substitutes [Contents][Index]
asin
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/asin.html
Gnulib module: asin
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: asinh, Previous: asin, Up: Function Substitutes [Contents][Index]
asinf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/asinf.html
Gnulib module: asinf
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: asinhf, Previous: asinf, Up: Function Substitutes [Contents][Index]
asinh
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/asinh.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: asinhl, Previous: asinh, Up: Function Substitutes [Contents][Index]
asinhf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/asinhf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: asinl, Previous: asinhf, Up: Function Substitutes [Contents][Index]
asinhl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/asinhl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: assert, Previous: asinhl, Up: Function Substitutes [Contents][Index]
asinl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/asinl.html
Gnulib module: asinl
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: atan, Previous: asinl, Up: Function Substitutes [Contents][Index]
assert
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/assert.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Extension: Gnulib offers a module ‘assert’ that allows the installer to disable assertions through a ‘configure’ option: ‘--disable-assert’.
Next: atan2, Previous: assert, Up: Function Substitutes [Contents][Index]
atan
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/atan.html
Gnulib module: atan
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: atan2f, Previous: atan, Up: Function Substitutes [Contents][Index]
atan2
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/atan2.html
Gnulib module: atan2
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: atan2l, Previous: atan2, Up: Function Substitutes [Contents][Index]
atan2f
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/atan2f.html
Gnulib module: atan2f
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: atanf, Previous: atan2f, Up: Function Substitutes [Contents][Index]
atan2l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/atan2l.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: atanh, Previous: atan2l, Up: Function Substitutes [Contents][Index]
atanf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/atanf.html
Gnulib module: atanf
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: atanhf, Previous: atanf, Up: Function Substitutes [Contents][Index]
atanh
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/atanh.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: atanhl, Previous: atanh, Up: Function Substitutes [Contents][Index]
atanhf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/atanhf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: atanl, Previous: atanhf, Up: Function Substitutes [Contents][Index]
atanhl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/atanhl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: atexit, Previous: atanhl, Up: Function Substitutes [Contents][Index]
atanl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/atanl.html
Gnulib module: atanl
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: atof, Previous: atanl, Up: Function Substitutes [Contents][Index]
atexit
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/atexit.html
Gnulib module: atexit
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: atoi, Previous: atexit, Up: Function Substitutes [Contents][Index]
atof
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/atof.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: atol, Previous: atof, Up: Function Substitutes [Contents][Index]
atoi
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/atoi.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: atoll, Previous: atoi, Up: Function Substitutes [Contents][Index]
atol
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/atol.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: basename, Previous: atol, Up: Function Substitutes [Contents][Index]
atoll
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/atoll.html
Gnulib module: atoll
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: bind, Previous: atoll, Up: Function Substitutes [Contents][Index]
basename
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: bsearch, Previous: basename, Up: Function Substitutes [Contents][Index]
bind
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/bind.html
Gnulib module: bind
Portability problems fixed by Gnulib:
bind
are not placed in errno
, and WSAGetLastError
must be
used instead.
Portability problems not fixed by Gnulib:
Next: btowc, Previous: bind, Up: Function Substitutes [Contents][Index]
bsearch
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/bsearch.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: c16rtomb, Previous: bsearch, Up: Function Substitutes [Contents][Index]
btowc
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/btowc.html
Gnulib module: btowc
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.
Next: c32rtomb, Previous: btowc, Up: Function Substitutes [Contents][Index]
c16rtomb
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: cabs, Previous: c16rtomb, Up: Function Substitutes [Contents][Index]
c32rtomb
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: cabsf, Previous: c32rtomb, Up: Function Substitutes [Contents][Index]
cabs
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cabs.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: cabsl, Previous: cabs, Up: Function Substitutes [Contents][Index]
cabsf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cabsf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: cacos, Previous: cabsf, Up: Function Substitutes [Contents][Index]
cabsl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cabsl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: cacosf, Previous: cabsl, Up: Function Substitutes [Contents][Index]
cacos
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cacos.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: cacosh, Previous: cacos, Up: Function Substitutes [Contents][Index]
cacosf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cacosf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: cacoshf, Previous: cacosf, Up: Function Substitutes [Contents][Index]
cacosh
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cacosh.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: cacoshl, Previous: cacosh, Up: Function Substitutes [Contents][Index]
cacoshf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cacoshf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: cacosl, Previous: cacoshf, Up: Function Substitutes [Contents][Index]
cacoshl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cacoshl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: calloc, Previous: cacoshl, Up: Function Substitutes [Contents][Index]
cacosl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cacosl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: carg, Previous: cacosl, Up: Function Substitutes [Contents][Index]
calloc
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/calloc.html
Gnulib module: calloc-posix
Portability problems fixed by Gnulib:
errno
to ENOMEM
on
some platforms:
mingw, MSVC 9.
Portability problems not fixed by Gnulib:
Extension: Gnulib provides a module ‘calloc-gnu’ that substitutes a
calloc
implementation that behaves more like the glibc implementation.
Next: cargf, Previous: calloc, Up: Function Substitutes [Contents][Index]
carg
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/carg.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: cargl, Previous: carg, Up: Function Substitutes [Contents][Index]
cargf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cargf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: casin, Previous: cargf, Up: Function Substitutes [Contents][Index]
cargl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cargl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: casinf, Previous: cargl, Up: Function Substitutes [Contents][Index]
casin
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/casin.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: casinh, Previous: casin, Up: Function Substitutes [Contents][Index]
casinf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/casinf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: casinhf, Previous: casinf, Up: Function Substitutes [Contents][Index]
casinh
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/casinh.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: casinhl, Previous: casinh, Up: Function Substitutes [Contents][Index]
casinhf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/casinhf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: casinl, Previous: casinhf, Up: Function Substitutes [Contents][Index]
casinhl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/casinhl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: catan, Previous: casinhl, Up: Function Substitutes [Contents][Index]
casinl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/casinl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: catanf, Previous: casinl, Up: Function Substitutes [Contents][Index]
catan
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/catan.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: catanh, Previous: catan, Up: Function Substitutes [Contents][Index]
catanf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/catanf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: catanhf, Previous: catanf, Up: Function Substitutes [Contents][Index]
catanh
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/catanh.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: catanhl, Previous: catanh, Up: Function Substitutes [Contents][Index]
catanhf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/catanhf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: catanl, Previous: catanhf, Up: Function Substitutes [Contents][Index]
catanhl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/catanhl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: catclose, Previous: catanhl, Up: Function Substitutes [Contents][Index]
catanl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/catanl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: catgets, Previous: catanl, Up: Function Substitutes [Contents][Index]
catclose
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/catclose.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: catopen, Previous: catclose, Up: Function Substitutes [Contents][Index]
catgets
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/catgets.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: cbrt, Previous: catgets, Up: Function Substitutes [Contents][Index]
catopen
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/catopen.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: cbrtf, Previous: catopen, Up: Function Substitutes [Contents][Index]
cbrt
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cbrt.html
Gnulib module: cbrt
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: cbrtl, Previous: cbrt, Up: Function Substitutes [Contents][Index]
cbrtf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cbrtf.html
Gnulib module: cbrtf
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ccos, Previous: cbrtf, Up: Function Substitutes [Contents][Index]
cbrtl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cbrtl.html
Gnulib module: cbrtl or cbrtl-ieee
Portability problems fixed by either Gnulib module cbrtl
or cbrtl-ieee
Portability problems fixed by Gnulib module cbrtl-ieee
:
Portability problems not fixed by Gnulib:
Next: ccosf, Previous: cbrtl, Up: Function Substitutes [Contents][Index]
ccos
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ccos.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ccosh, Previous: ccos, Up: Function Substitutes [Contents][Index]
ccosf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ccosf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ccoshf, Previous: ccosf, Up: Function Substitutes [Contents][Index]
ccosh
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ccosh.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ccoshl, Previous: ccosh, Up: Function Substitutes [Contents][Index]
ccoshf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ccoshf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ccosl, Previous: ccoshf, Up: Function Substitutes [Contents][Index]
ccoshl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ccoshl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ceil, Previous: ccoshl, Up: Function Substitutes [Contents][Index]
ccosl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ccosl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ceilf, Previous: ccosl, Up: Function Substitutes [Contents][Index]
ceil
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ceil.html
Gnulib module: ceil or ceil-ieee
Portability problems fixed by either Gnulib module ceil
or ceil-ieee
:
Portability problems fixed by Gnulib module ceil-ieee
:
Portability problems not fixed by Gnulib:
Next: ceill, Previous: ceil, Up: Function Substitutes [Contents][Index]
ceilf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ceilf.html
Gnulib module: ceilf or ceilf-ieee
Portability problems fixed by either Gnulib module ceilf
or ceilf-ieee
:
Portability problems fixed by Gnulib module ceilf-ieee
:
Portability problems not fixed by Gnulib:
Next: cexp, Previous: ceilf, Up: Function Substitutes [Contents][Index]
ceill
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ceill.html
Gnulib module: ceill or ceill-ieee
Portability problems fixed by either Gnulib module ceill
or ceill-ieee
:
Portability problems fixed by Gnulib module ceill-ieee
:
Portability problems not fixed by Gnulib:
Next: cexpf, Previous: ceill, Up: Function Substitutes [Contents][Index]
cexp
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cexp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: cexpl, Previous: cexp, Up: Function Substitutes [Contents][Index]
cexpf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cexpf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: cfgetispeed, Previous: cexpf, Up: Function Substitutes [Contents][Index]
cexpl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cexpl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: cfgetospeed, Previous: cexpl, Up: Function Substitutes [Contents][Index]
cfgetispeed
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cfgetispeed.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: cfsetispeed, Previous: cfgetispeed, Up: Function Substitutes [Contents][Index]
cfgetospeed
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cfgetospeed.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: cfsetospeed, Previous: cfgetospeed, Up: Function Substitutes [Contents][Index]
cfsetispeed
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cfsetispeed.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: chdir, Previous: cfsetispeed, Up: Function Substitutes [Contents][Index]
cfsetospeed
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cfsetospeed.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: chmod, Previous: cfsetospeed, Up: Function Substitutes [Contents][Index]
chdir
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/chdir.html
Gnulib module: —
Portability problems fixed by Gnulib:
<io.h>
or
<direct.h>
) on some platforms:
mingw, MSVC 9.
Portability problems not fixed by Gnulib:
Next: chown, Previous: chdir, Up: Function Substitutes [Contents][Index]
chmod
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/chmod.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: cimag, Previous: chmod, Up: Function Substitutes [Contents][Index]
chown
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/chown.html
Gnulib module: chown
Portability problems fixed by Gnulib:
chown("link-to-file/",uid,gid)
:
FreeBSD 7.2, AIX 7.1, Solaris 9.
lchown
.
ENOSYS
:
mingw, MSVC 9.
Portability problems not fixed by Gnulib:
Next: cimagf, Previous: chown, Up: Function Substitutes [Contents][Index]
cimag
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cimag.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: cimagl, Previous: cimag, Up: Function Substitutes [Contents][Index]
cimagf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cimagf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: clearerr, Previous: cimagf, Up: Function Substitutes [Contents][Index]
cimagl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cimagl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: clock, Previous: cimagl, Up: Function Substitutes [Contents][Index]
clearerr
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/clearerr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: clock_getcpuclockid, Previous: clearerr, Up: Function Substitutes [Contents][Index]
clock
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/clock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: clock_getres, Previous: clock, Up: Function Substitutes [Contents][Index]
clock_getcpuclockid
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/clock_getcpuclockid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: clock_gettime, Previous: clock_getcpuclockid, Up: Function Substitutes [Contents][Index]
clock_getres
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/clock_getres.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: clock_nanosleep, Previous: clock_getres, Up: Function Substitutes [Contents][Index]
clock_gettime
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/clock_gettime.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: clock_settime, Previous: clock_gettime, Up: Function Substitutes [Contents][Index]
clock_nanosleep
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/clock_nanosleep.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: clog, Previous: clock_nanosleep, Up: Function Substitutes [Contents][Index]
clock_settime
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/clock_settime.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: clogf, Previous: clock_settime, Up: Function Substitutes [Contents][Index]
clog
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/clog.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: clogl, Previous: clog, Up: Function Substitutes [Contents][Index]
clogf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/clogf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: close, Previous: clogf, Up: Function Substitutes [Contents][Index]
clogl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/clogl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: closedir, Previous: clogl, Up: Function Substitutes [Contents][Index]
close
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/close.html
Gnulib module: close
Portability problems fixed by Gnulib:
socket
and accept
do not return file descriptors that can be closed by close
.
Instead, closesocket
must be used.
Portability problems not fixed by Gnulib:
socket
and accept
do not return file descriptors
that can be closed by close
. Instead, closesocket
must be
used.
Next: closelog, Previous: close, Up: Function Substitutes [Contents][Index]
closedir
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/closedir.html
Gnulib module: closedir
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: confstr, Previous: closedir, Up: Function Substitutes [Contents][Index]
closelog
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/closelog.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: conj, Previous: closelog, Up: Function Substitutes [Contents][Index]
confstr
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/confstr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: conjf, Previous: confstr, Up: Function Substitutes [Contents][Index]
conj
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/conj.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: conjl, Previous: conj, Up: Function Substitutes [Contents][Index]
conjf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/conjf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: connect, Previous: conjf, Up: Function Substitutes [Contents][Index]
conjl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/conjl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: copysign, Previous: conjl, Up: Function Substitutes [Contents][Index]
connect
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/connect.html
Gnulib module: connect
Portability problems fixed by Gnulib:
connect
are not placed in errno
, and
WSAGetLastError
must be used instead.
Portability problems not fixed by Gnulib:
Next: copysignf, Previous: connect, Up: Function Substitutes [Contents][Index]
copysign
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/copysign.html
Gnulib module: copysign
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: copysignl, Previous: copysign, Up: Function Substitutes [Contents][Index]
copysignf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/copysignf.html
Gnulib module: copysignf
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: cos, Previous: copysignf, Up: Function Substitutes [Contents][Index]
copysignl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/copysignl.html
Gnulib module: copysignl
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: cosf, Previous: copysignl, Up: Function Substitutes [Contents][Index]
cos
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cos.html
Gnulib module: cos
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: cosh, Previous: cos, Up: Function Substitutes [Contents][Index]
cosf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cosf.html
Gnulib module: cosf
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: coshf, Previous: cosf, Up: Function Substitutes [Contents][Index]
cosh
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cosh.html
Gnulib module: cosh
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: coshl, Previous: cosh, Up: Function Substitutes [Contents][Index]
coshf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/coshf.html
Gnulib module: coshf
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: cosl, Previous: coshf, Up: Function Substitutes [Contents][Index]
coshl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/coshl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: cpow, Previous: coshl, Up: Function Substitutes [Contents][Index]
cosl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cosl.html
Gnulib module: cosl
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: cpowf, Previous: cosl, Up: Function Substitutes [Contents][Index]
cpow
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cpow.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: cpowl, Previous: cpow, Up: Function Substitutes [Contents][Index]
cpowf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cpowf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: cproj, Previous: cpowf, Up: Function Substitutes [Contents][Index]
cpowl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cpowl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: cprojf, Previous: cpowl, Up: Function Substitutes [Contents][Index]
cproj
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cproj.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: cprojl, Previous: cproj, Up: Function Substitutes [Contents][Index]
cprojf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cprojf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: creal, Previous: cprojf, Up: Function Substitutes [Contents][Index]
cprojl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/cprojl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: crealf, Previous: cprojl, Up: Function Substitutes [Contents][Index]
creal
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/creal.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: creall, Previous: creal, Up: Function Substitutes [Contents][Index]
crealf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/crealf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: creat, Previous: crealf, Up: Function Substitutes [Contents][Index]
creall
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/creall.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: crypt, Previous: creall, Up: Function Substitutes [Contents][Index]
creat
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: csin, Previous: creat, Up: Function Substitutes [Contents][Index]
crypt
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/crypt.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
<unistd.h>
(without -D_GNU_SOURCE
) on some platforms:
glibc (at least 2.11–2.13).
Next: csinf, Previous: crypt, Up: Function Substitutes [Contents][Index]
csin
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/csin.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: csinh, Previous: csin, Up: Function Substitutes [Contents][Index]
csinf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/csinf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: csinhf, Previous: csinf, Up: Function Substitutes [Contents][Index]
csinh
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/csinh.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: csinhl, Previous: csinh, Up: Function Substitutes [Contents][Index]
csinhf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/csinhf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: csinl, Previous: csinhf, Up: Function Substitutes [Contents][Index]
csinhl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/csinhl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: csqrt, Previous: csinhl, Up: Function Substitutes [Contents][Index]
csinl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/csinl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: csqrtf, Previous: csinl, Up: Function Substitutes [Contents][Index]
csqrt
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/csqrt.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: csqrtl, Previous: csqrt, Up: Function Substitutes [Contents][Index]
csqrtf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/csqrtf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ctan, Previous: csqrtf, Up: Function Substitutes [Contents][Index]
csqrtl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/csqrtl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ctanf, Previous: csqrtl, Up: Function Substitutes [Contents][Index]
ctan
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ctan.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ctanh, Previous: ctan, Up: Function Substitutes [Contents][Index]
ctanf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ctanf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ctanhf, Previous: ctanf, Up: Function Substitutes [Contents][Index]
ctanh
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ctanh.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ctanhl, Previous: ctanh, Up: Function Substitutes [Contents][Index]
ctanhf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ctanhf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ctanl, Previous: ctanhf, Up: Function Substitutes [Contents][Index]
ctanhl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ctanhl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ctermid, Previous: ctanhl, Up: Function Substitutes [Contents][Index]
ctanl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ctanl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ctime, Previous: ctanl, Up: Function Substitutes [Contents][Index]
ctermid
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ctermid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ctime_r, Previous: ctermid, Up: Function Substitutes [Contents][Index]
ctime
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: daylight, Previous: ctime, Up: Function Substitutes [Contents][Index]
ctime_r
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ctime_r.html
Gnulib module: extensions
Portability problems fixed by Gnulib:
_POSIX_PTHREAD_SEMANTICS
is not defined).
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.
Next: dbm_clearerr, Previous: ctime_r, Up: Function Substitutes [Contents][Index]
daylight
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/daylight.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: dbm_close, Previous: daylight, Up: Function Substitutes [Contents][Index]
dbm_clearerr
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/dbm_clearerr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: dbm_delete, Previous: dbm_clearerr, Up: Function Substitutes [Contents][Index]
dbm_close
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/dbm_close.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: dbm_error, Previous: dbm_close, Up: Function Substitutes [Contents][Index]
dbm_delete
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/dbm_delete.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: dbm_fetch, Previous: dbm_delete, Up: Function Substitutes [Contents][Index]
dbm_error
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/dbm_error.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: dbm_firstkey, Previous: dbm_error, Up: Function Substitutes [Contents][Index]
dbm_fetch
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/dbm_fetch.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: dbm_nextkey, Previous: dbm_fetch, Up: Function Substitutes [Contents][Index]
dbm_firstkey
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/dbm_firstkey.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: dbm_open, Previous: dbm_firstkey, Up: Function Substitutes [Contents][Index]
dbm_nextkey
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/dbm_nextkey.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: dbm_store, Previous: dbm_nextkey, Up: Function Substitutes [Contents][Index]
dbm_open
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/dbm_open.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: difftime, Previous: dbm_open, Up: Function Substitutes [Contents][Index]
dbm_store
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/dbm_store.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: dirfd, Previous: dbm_store, Up: Function Substitutes [Contents][Index]
difftime
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/difftime.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: dirname, Previous: difftime, Up: Function Substitutes [Contents][Index]
dirfd
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/dirfd.html
Gnulib module: dirfd
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
With the dirfd
module, this functions always sets errno
when it
fails. (POSIX does not require that dirfd
sets errno
when it
fails.)
Next: div, Previous: dirfd, Up: Function Substitutes [Contents][Index]
dirname
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: dlclose, Previous: dirname, Up: Function Substitutes [Contents][Index]
div
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/div.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: dlerror, Previous: div, Up: Function Substitutes [Contents][Index]
dlclose
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/dlclose.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: dlopen, Previous: dlclose, Up: Function Substitutes [Contents][Index]
dlerror
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/dlerror.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: dlsym, Previous: dlerror, Up: Function Substitutes [Contents][Index]
dlopen
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/dlopen.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: dprintf, Previous: dlopen, Up: Function Substitutes [Contents][Index]
dlsym
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/dlsym.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: drand48, Previous: dlsym, Up: Function Substitutes [Contents][Index]
dprintf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/dprintf.html
Gnulib module: dprintf or dprintf-posix
Portability problems fixed by either Gnulib module dprintf
or dprintf-posix
:
Portability problems fixed by Gnulib module dprintf-posix
:
Portability problems not fixed by Gnulib:
errno
or the
stream error indicator on attempts to write to a read-only stream:
Cygwin 1.7.9.
Next: dup, Previous: dprintf, Up: Function Substitutes [Contents][Index]
drand48
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/drand48.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: dup2, Previous: drand48, Up: Function Substitutes [Contents][Index]
dup
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/dup.html
Gnulib module: dup
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: duplocale, Previous: dup, Up: Function Substitutes [Contents][Index]
dup2
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/dup2.html
Gnulib module: dup2 or dup2-obsolete
Portability problems fixed by either Gnulib module dup2
or dup2-obsolete
:
FD_CLOEXEC
flag when duplicating an fd
to itself on some platforms:
Haiku.
dup2 (1, 1)
on some platforms:
Cygwin 1.5.x.
-EBADF
instead of -1
on some platforms:
Linux releases between July 2008 and May 2009 (versions 2.6.27 to 2.6.29).
EMFILE
instead of EBADF
for
extremely large targets, which interferes with using
dup2(fd,fd)==fd)
as the minimal EBADF
filter:
FreeBSD 6.1, Cygwin 1.5.
Portability problems fixed by Gnulib module dup2-obsolete
:
Portability problems not fixed by Gnulib:
Next: encrypt, Previous: dup2, Up: Function Substitutes [Contents][Index]
duplocale
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/duplocale.html
Gnulib module: duplocale
Portability problems fixed by Gnulib:
LC_GLOBAL_LOCALE
is not supported on some platforms:
glibc 2.11, AIX 7.1.
Portability problems not fixed by Gnulib:
Next: endgrent, Previous: duplocale, Up: Function Substitutes [Contents][Index]
encrypt
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/encrypt.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
<unistd.h>
(without -D_GNU_SOURCE
) on some platforms:
glibc (at least 2.11–2.13).
Next: endhostent, Previous: encrypt, Up: Function Substitutes [Contents][Index]
endgrent
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/endgrent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: endnetent, Previous: endgrent, Up: Function Substitutes [Contents][Index]
endhostent
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/endhostent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: endprotoent, Previous: endhostent, Up: Function Substitutes [Contents][Index]
endnetent
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/endnetent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: endpwent, Previous: endnetent, Up: Function Substitutes [Contents][Index]
endprotoent
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/endprotoent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: endservent, Previous: endprotoent, Up: Function Substitutes [Contents][Index]
endpwent
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/endpwent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: endutxent, Previous: endpwent, Up: Function Substitutes [Contents][Index]
endservent
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/endservent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: environ, Previous: endservent, Up: Function Substitutes [Contents][Index]
endutxent
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/endutxent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: erand48, Previous: endutxent, Up: Function Substitutes [Contents][Index]
environ
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/environ.html
Gnulib module: environ
Portability problems fixed by Gnulib:
extern char **environ;
to get the variable declared. This does not work any more, however, in shared libraries on Mac OS X 10.5. Here is a workaround: Instead, one can use
#include <crt_externs.h> #define environ (*_NSGetEnviron())
This works at all versions of Mac OS X.
Portability problems not fixed by Gnulib:
Next: erf, Previous: environ, Up: Function Substitutes [Contents][Index]
erand48
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/erand48.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: erfc, Previous: erand48, Up: Function Substitutes [Contents][Index]
erf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/erf.html
Gnulib module: erf
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: erfcf, Previous: erf, Up: Function Substitutes [Contents][Index]
erfc
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/erfc.html
Gnulib module: erfc
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: erfcl, Previous: erfc, Up: Function Substitutes [Contents][Index]
erfcf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/erfcf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: erff, Previous: erfcf, Up: Function Substitutes [Contents][Index]
erfcl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/erfcl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: erfl, Previous: erfcl, Up: Function Substitutes [Contents][Index]
erff
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/erff.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: errno, Previous: erff, Up: Function Substitutes [Contents][Index]
erfl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/erfl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: execl, Previous: erfl, Up: Function Substitutes [Contents][Index]
errno
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/errno.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
; their error code is
available through WSAGetLastError()
instead.
Next: execle, Previous: errno, Up: Function Substitutes [Contents][Index]
execl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/execl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: execlp, Previous: execl, Up: Function Substitutes [Contents][Index]
execle
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/execle.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: execv, Previous: execle, Up: Function Substitutes [Contents][Index]
execlp
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/execlp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: execve, Previous: execlp, Up: Function Substitutes [Contents][Index]
execv
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/execv.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: execvp, Previous: execv, Up: Function Substitutes [Contents][Index]
execve
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/execve.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: exit, Previous: execve, Up: Function Substitutes [Contents][Index]
execvp
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/execvp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: exp, Previous: execvp, Up: Function Substitutes [Contents][Index]
exit
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/exit.html
Gnulib module: stdlib
Portability problems fixed by Gnulib:
EXIT_SUCCESS
and EXIT_FAILURE
,
see stdlib.h.
Portability problems not fixed by Gnulib:
Next: exp2, Previous: exit, Up: Function Substitutes [Contents][Index]
exp
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/exp.html
Gnulib module: exp
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: exp2f, Previous: exp, Up: Function Substitutes [Contents][Index]
exp2
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/exp2.html
Gnulib module: exp2
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: exp2l, Previous: exp2, Up: Function Substitutes [Contents][Index]
exp2f
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/exp2f.html
Gnulib module: exp2f
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: expf, Previous: exp2f, Up: Function Substitutes [Contents][Index]
exp2l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/exp2l.html
Gnulib module: exp2l or exp2l-ieee
Portability problems fixed by either Gnulib module exp2l
or exp2l-ieee
:
Portability problems fixed by Gnulib module exp2l-ieee
:
Portability problems not fixed by Gnulib:
Next: expl, Previous: exp2l, Up: Function Substitutes [Contents][Index]
expf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/expf.html
Gnulib module: expf
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: expm1, Previous: expf, Up: Function Substitutes [Contents][Index]
expl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/expl.html
Gnulib module: expl
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: expm1f, Previous: expl, Up: Function Substitutes [Contents][Index]
expm1
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/expm1.html
Gnulib module: expm1 or expm1-ieee
Portability problems fixed by either Gnulib module expm1
or expm1-ieee
:
Portability problems fixed by Gnulib module expm1-ieee
:
Portability problems not fixed by Gnulib:
Next: expm1l, Previous: expm1, Up: Function Substitutes [Contents][Index]
expm1f
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/expm1f.html
Gnulib module: expm1f
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fabs, Previous: expm1f, Up: Function Substitutes [Contents][Index]
expm1l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/expm1l.html
Gnulib module: expm1l
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fabsf, Previous: expm1l, Up: Function Substitutes [Contents][Index]
fabs
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fabs.html
Gnulib module: fabs
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fabsl, Previous: fabs, Up: Function Substitutes [Contents][Index]
fabsf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fabsf.html
Gnulib module: fabsf
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: faccessat, Previous: fabsf, Up: Function Substitutes [Contents][Index]
fabsl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fabsl.html
Gnulib module: fabsl
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fattach, Previous: fabsl, Up: Function Substitutes [Contents][Index]
faccessat
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/faccessat.html
Gnulib module: faccessat
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Other problems of this function:
Next: fchdir, Previous: faccessat, Up: Function Substitutes [Contents][Index]
fattach
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fattach.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fchmod, Previous: fattach, Up: Function Substitutes [Contents][Index]
fchdir
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fchdir.html
Gnulib module: fchdir
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fchmodat, Previous: fchdir, Up: Function Substitutes [Contents][Index]
fchmod
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fchmod.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fchown, Previous: fchmod, Up: Function Substitutes [Contents][Index]
fchmodat
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fchmodat.html
Gnulib module: fchmodat
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fchmodat(…,AT_SYMLINK_NOFOLLOW)
may fail with EOPNOTSUPP
when called on a symlink, but some
platforms, as well as the gnulib replacement, fail for any use of
AT_SYMLINK_NOFOLLOW even if the target was not a symlink:
glibc, Cygwin.
Next: fchownat, Previous: fchmodat, Up: Function Substitutes [Contents][Index]
fchown
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fchown.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fclose, Previous: fchown, Up: Function Substitutes [Contents][Index]
fchownat
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fchownat.html
Gnulib module: fchownat
Portability problems fixed by Gnulib:
fchown(dir,"link-to-file/",uid,gid,flag)
:
Solaris 9.
AT_SYMLINK_NOFOLLOW
:
Linux kernel 2.6.17.
lchown
is unsupported, or fail altogether if
chown
is unsupported.
Portability problems not fixed by Gnulib:
Next: fcntl, Previous: fchownat, Up: Function Substitutes [Contents][Index]
fclose
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fclose.html
Gnulib module: fclose
Portability problems fixed by Gnulib:
socket
and accept
followed by fdopen
do not return streams that can be closed by
fclose
.
Portability problems not fixed by Gnulib:
errno
upon failure.
Next: fdatasync, Previous: fclose, Up: Function Substitutes [Contents][Index]
fcntl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fcntl.html
Gnulib module: fcntl
Portability problems fixed by Gnulib:
F_DUPFD_CLOEXEC
on some
platforms:
glibc with Linux kernels before 2.6.24,
Mac OS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, AIX 5.1, HP-UX 11,
IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.7.1, Interix 3.5,
BeOS.
Note that the gnulib replacement code is functional but not atomic.
F_DUPFD
action of this function does not reject
out-of-range targets properly on some platforms:
Cygwin 1.5.x, Haiku.
F_DUPFD
action of this function mistakenly clears
FD_CLOEXEC on the source descriptor on some platforms:
Haiku.
Portability problems not fixed by Gnulib:
F_SETFD
,
F_GETFL
, F_SETFL
, F_GETOWN
, F_SETOWN
,
F_GETLK
, F_SETLK
, and F_SETLKW
on some platforms:
mingw, MSVC 9.
Next: fdetach, Previous: fcntl, Up: Function Substitutes [Contents][Index]
fdatasync
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fdatasync.html
Gnulib module: fdatasync
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fdim, Previous: fdatasync, Up: Function Substitutes [Contents][Index]
fdetach
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fdetach.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fdimf, Previous: fdetach, Up: Function Substitutes [Contents][Index]
fdim
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fdim.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fdiml, Previous: fdim, Up: Function Substitutes [Contents][Index]
fdimf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fdimf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fdopen, Previous: fdimf, Up: Function Substitutes [Contents][Index]
fdiml
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fdiml.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fdopendir, Previous: fdiml, Up: Function Substitutes [Contents][Index]
fdopen
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fdopen.html
Gnulib module: fdopen
Portability problems fixed by Gnulib:
errno
upon failure.
Portability problems not fixed by Gnulib:
Next: feclearexcept, Previous: fdopen, Up: Function Substitutes [Contents][Index]
fdopendir
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fdopendir.html
Gnulib module: fdopendir
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fegetenv, Previous: fdopendir, Up: Function Substitutes [Contents][Index]
feclearexcept
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/feclearexcept.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fegetexceptflag, Previous: feclearexcept, Up: Function Substitutes [Contents][Index]
fegetenv
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fegetenv.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fegetround, Previous: fegetenv, Up: Function Substitutes [Contents][Index]
fegetexceptflag
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fegetexceptflag.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: feholdexcept, Previous: fegetexceptflag, Up: Function Substitutes [Contents][Index]
fegetround
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fegetround.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: feof, Previous: fegetround, Up: Function Substitutes [Contents][Index]
feholdexcept
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/feholdexcept.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: feraiseexcept, Previous: feholdexcept, Up: Function Substitutes [Contents][Index]
feof
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/feof.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ferror, Previous: feof, Up: Function Substitutes [Contents][Index]
feraiseexcept
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/feraiseexcept.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fesetenv, Previous: feraiseexcept, Up: Function Substitutes [Contents][Index]
ferror
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ferror.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fesetexceptflag, Previous: ferror, Up: Function Substitutes [Contents][Index]
fesetenv
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fesetenv.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fesetround, Previous: fesetenv, Up: Function Substitutes [Contents][Index]
fesetexceptflag
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fesetexceptflag.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fetestexcept, Previous: fesetexceptflag, Up: Function Substitutes [Contents][Index]
fesetround
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fesetround.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: feupdateenv, Previous: fesetround, Up: Function Substitutes [Contents][Index]
fetestexcept
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fetestexcept.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fexecve, Previous: fetestexcept, Up: Function Substitutes [Contents][Index]
feupdateenv
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/feupdateenv.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fflush, Previous: feupdateenv, Up: Function Substitutes [Contents][Index]
fexecve
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fexecve.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ffs, Previous: fexecve, Up: Function Substitutes [Contents][Index]
fflush
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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, MSVC 9.
fflush
on an input stream right after ungetc
does not discard
the ungetc
buffer, on some platforms:
Mac OS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Cygwin 1.5.25-10.
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, MSVC 9.
errno
upon failure.
MSVC_INVALID_PARAMETER_HANDLING
is
HAIRY_LIBRARY_HANDLING
or SANE_LIBRARY_HANDLING
,
on some platforms:
MSVC 9.
fflush
on an input stream right after ungetc
does not discard
the ungetc
buffer, on some platforms:
AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9.
Next: fgetc, Previous: fflush, Up: Function Substitutes [Contents][Index]
ffs
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ffs.html
Gnulib module: ffs
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fgetpos, Previous: ffs, Up: Function Substitutes [Contents][Index]
fgetc
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fgetc.html
Gnulib module: stdio, nonblocking
Portability problems fixed by Gnulib module stdio
, together with module nonblocking
:
errno
being set to EINVAL
instead of EAGAIN
on
some platforms:
mingw, MSVC 9.
Portability problems not fixed by Gnulib:
feof
would return nonzero. However, on some systems this
function attempts to read from the underlying file descriptor even if
the stream’s end-of-file indicator is set. These systems include
glibc and default Solaris.
errno
upon failure.
MSVC_INVALID_PARAMETER_HANDLING
is
HAIRY_LIBRARY_HANDLING
or SANE_LIBRARY_HANDLING
,
on some platforms:
MSVC 9.
Next: fgets, Previous: fgetc, Up: Function Substitutes [Contents][Index]
fgetpos
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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, MSVC 9.
off_t
is a 32-bit type, this function may not
work correctly on files larger than 2 GB. The fix is to use the
AC_SYS_LARGEFILE
macro.
off_t
is a 64-bit type, but fseeko
is
not present, stream operations on files larger than 2 GB silently do
the wrong thing. This affects BSD/OS, which is mostly obsolete.
Next: fgetwc, Previous: fgetpos, Up: Function Substitutes [Contents][Index]
fgets
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fgets.html
Gnulib module: stdio, nonblocking
Portability problems fixed by Gnulib module stdio
, together with module nonblocking
:
errno
being set to EINVAL
instead of EAGAIN
on
some platforms:
mingw, MSVC 9.
Portability problems not fixed by Gnulib:
feof
would return nonzero. However, on some systems this
function attempts to read from the underlying file descriptor even if
the stream’s end-of-file indicator is set. These systems include
glibc and default Solaris.
errno
upon failure.
Next: fgetws, Previous: fgets, Up: Function Substitutes [Contents][Index]
fgetwc
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: fileno, Previous: fgetwc, Up: Function Substitutes [Contents][Index]
fgetws
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: flockfile, Previous: fgetws, Up: Function Substitutes [Contents][Index]
fileno
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fileno.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: floor, Previous: fileno, Up: Function Substitutes [Contents][Index]
flockfile
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/flockfile.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: floorf, Previous: flockfile, Up: Function Substitutes [Contents][Index]
floor
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/floor.html
Gnulib module: floor or floor-ieee
Portability problems fixed by either Gnulib module floor
or floor-ieee
:
Portability problems fixed by Gnulib module floor-ieee
:
Portability problems not fixed by Gnulib:
Next: floorl, Previous: floor, Up: Function Substitutes [Contents][Index]
floorf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/floorf.html
Gnulib module: floorf or floorf-ieee
Portability problems fixed by either Gnulib module floorf
or floorf-ieee
:
Portability problems fixed by Gnulib module floorf-ieee
:
Portability problems not fixed by Gnulib:
Next: fma, Previous: floorf, Up: Function Substitutes [Contents][Index]
floorl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/floorl.html
Gnulib module: floorl or floorl-ieee
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fmaf, Previous: floorl, Up: Function Substitutes [Contents][Index]
fma
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fma.html
Gnulib module: fma
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fmal, Previous: fma, Up: Function Substitutes [Contents][Index]
fmaf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fmaf.html
Gnulib module: fmaf
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fmax, Previous: fmaf, Up: Function Substitutes [Contents][Index]
fmal
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fmal.html
Gnulib module: fmal
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fmaxf, Previous: fmal, Up: Function Substitutes [Contents][Index]
fmax
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fmax.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fmaxl, Previous: fmax, Up: Function Substitutes [Contents][Index]
fmaxf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fmaxf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fmemopen, Previous: fmaxf, Up: Function Substitutes [Contents][Index]
fmaxl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fmaxl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fmin, Previous: fmaxl, Up: Function Substitutes [Contents][Index]
fmemopen
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fmemopen.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fminf, Previous: fmemopen, Up: Function Substitutes [Contents][Index]
fmin
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fmin.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fminl, Previous: fmin, Up: Function Substitutes [Contents][Index]
fminf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fminf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fmod, Previous: fminf, Up: Function Substitutes [Contents][Index]
fminl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fminl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fmodf, Previous: fminl, Up: Function Substitutes [Contents][Index]
fmod
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fmod.html
Gnulib module: fmod or fmod-ieee
Portability problems fixed by either Gnulib module fmod
or fmod-ieee
:
Portability problems fixed by Gnulib module fmod-ieee
:
Portability problems not fixed by Gnulib:
Next: fmodl, Previous: fmod, Up: Function Substitutes [Contents][Index]
fmodf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fmodf.html
Gnulib module: fmodf or fmodf-ieee
Portability problems fixed by either Gnulib module fmodf
or fmodf-ieee
:
Portability problems fixed by Gnulib module fmodf-ieee
:
Portability problems not fixed by Gnulib:
Next: fmtmsg, Previous: fmodf, Up: Function Substitutes [Contents][Index]
fmodl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fmodl.html
Gnulib module: fmodl or fmodl-ieee
Portability problems fixed by either Gnulib module fmodl
or fmodl-ieee
:
Portability problems fixed by Gnulib module fmodl-ieee
:
Portability problems not fixed by Gnulib:
Next: fnmatch, Previous: fmodl, Up: Function Substitutes [Contents][Index]
fmtmsg
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fmtmsg.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fopen, Previous: fmtmsg, Up: Function Substitutes [Contents][Index]
fnmatch
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fnmatch.html
Gnulib module: fnmatch or fnmatch-gnu
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fork, Previous: fnmatch, Up: Function Substitutes [Contents][Index]
fopen
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fopen.html
Gnulib module: fopen
Portability problems fixed by Gnulib:
off_t
is a 32-bit type, fopen
may not work
correctly with files larger than 2 GB. (Cf. AC_SYS_LARGEFILE
.)
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.
fstat
after open
and
fdopen
, rather than fopen
and fileno
.
Next: fpathconf, Previous: fopen, Up: Function Substitutes [Contents][Index]
fork
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: fpclassify, Previous: fork, Up: Function Substitutes [Contents][Index]
fpathconf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fpathconf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fprintf, Previous: fpathconf, Up: Function Substitutes [Contents][Index]
fpclassify
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fpclassify.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fputc, Previous: fpclassify, Up: Function Substitutes [Contents][Index]
fprintf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fprintf.html
Gnulib module: fprintf-posix or stdio, nonblocking, sigpipe
Portability problems fixed by Gnulib module fprintf-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 1.5.24, mingw, MSVC 9, BeOS.
"%f"
, "%e"
, "%g"
of Infinity and NaN yields an
incorrect result on some platforms:
AIX 5.2, OSF/1 5.1, Solaris 11 2011-11, mingw, MSVC 9.
"%2$s"
, on some platforms:
NetBSD 3.0, mingw, MSVC 9, BeOS.
'
flag on some platforms:
NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9.
"%010f"
of NaN and Infinity yields an incorrect result (padded
with zeroes) on some platforms:
Mac OS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 11 2011-11, Cygwin 1.5.x, mingw, MSVC 9.
Portability problems fixed by Gnulib module stdio
or fprintf-posix
, together with module nonblocking
:
errno
being set to ENOSPC
instead of EAGAIN
on some
platforms:
mingw, MSVC 9.
Portability problems fixed by Gnulib module stdio
or fprintf-posix
, together with module sigpipe
:
SIGPIPE
handler, on some platforms:
mingw, MSVC 9.
Portability problems not fixed by Gnulib:
EOF
but
does not set the error flag for ferror
on some platforms:
glibc 2.13, cygwin 1.7.9.
Next: fputs, Previous: fprintf, Up: Function Substitutes [Contents][Index]
fputc
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fputc.html
Gnulib module: stdio, nonblocking, sigpipe
Portability problems fixed by Gnulib module stdio
, together with module nonblocking
:
errno
being set to ENOSPC
instead of EAGAIN
on some
platforms:
mingw, MSVC 9.
Portability problems fixed by Gnulib module stdio
, together with module sigpipe
:
SIGPIPE
handler, on some platforms:
mingw, MSVC 9.
Portability problems not fixed by Gnulib:
errno
upon failure.
errno
or the
stream error indicator on attempts to write to a read-only stream:
Cygwin 1.7.9.
MSVC_INVALID_PARAMETER_HANDLING
is
HAIRY_LIBRARY_HANDLING
or SANE_LIBRARY_HANDLING
,
on some platforms:
MSVC 9.
Next: fputwc, Previous: fputc, Up: Function Substitutes [Contents][Index]
fputs
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fputs.html
Gnulib module: stdio, nonblocking, sigpipe
Portability problems fixed by Gnulib module stdio
, together with module nonblocking
:
errno
being set to ENOSPC
instead of EAGAIN
on some
platforms:
mingw, MSVC 9.
Portability problems fixed by Gnulib module stdio
, together with module sigpipe
:
SIGPIPE
handler, on some platforms:
mingw, MSVC 9.
Portability problems not fixed by Gnulib:
errno
upon failure.
errno
or the
stream error indicator on attempts to write to a read-only stream:
Cygwin 1.7.9.
Next: fputws, Previous: fputs, Up: Function Substitutes [Contents][Index]
fputwc
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: fread, Previous: fputwc, Up: Function Substitutes [Contents][Index]
fputws
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
errno
or the
stream error indicator on attempts to write to a read-only stream:
Cygwin 1.7.9.
Next: free, Previous: fputws, Up: Function Substitutes [Contents][Index]
fread
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fread.html
Gnulib module: stdio, nonblocking
Portability problems fixed by Gnulib module stdio
, together with module nonblocking
:
errno
being set to EINVAL
instead of EAGAIN
on
some platforms:
mingw, MSVC 9.
Portability problems not fixed by Gnulib:
feof
would return nonzero. However, on some systems this
function attempts to read from the underlying file descriptor even if
the stream’s end-of-file indicator is set. These systems include
glibc and default Solaris.
errno
upon failure.
MSVC_INVALID_PARAMETER_HANDLING
is
HAIRY_LIBRARY_HANDLING
or SANE_LIBRARY_HANDLING
,
on some platforms:
MSVC 9.
Next: freeaddrinfo, Previous: fread, Up: Function Substitutes [Contents][Index]
free
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/free.html
Gnulib module: free
Portability problems fixed by Gnulib:
free (NULL)
fails.
However, since all such systems are so old as to no longer
be considered “reasonable portability targets,”
this module is no longer useful.
Portability problems not fixed by Gnulib:
Next: freelocale, Previous: free, Up: Function Substitutes [Contents][Index]
freeaddrinfo
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/freeaddrinfo.html
Gnulib module: getaddrinfo
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: freopen, Previous: freeaddrinfo, Up: Function Substitutes [Contents][Index]
freelocale
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/freelocale.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: frexp, Previous: freelocale, Up: Function Substitutes [Contents][Index]
freopen
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/freopen.html
Gnulib module: freopen
Portability problems fixed by Gnulib:
off_t
is a 32-bit type, freopen
may not work
correctly with files larger than 2 GB. (Cf. AC_SYS_LARGEFILE
.)
Portability problems not fixed by Gnulib:
errno
upon failure.
NULL
file name argument on some
platforms:
OpenBSD 4.9, AIX 7.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, MSVC 9.
fileno(f)
will be the same
before and after a call to freopen(name,mode,f)
. However, the
module freopen-safer can at least protect stdin
, stdout
,
and stderr
.
Next: frexpf, Previous: freopen, Up: Function Substitutes [Contents][Index]
frexp
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/frexp.html
Gnulib module: frexp
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: frexpl, Previous: frexp, Up: Function Substitutes [Contents][Index]
frexpf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/frexpf.html
Gnulib module: frexpf
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fscanf, Previous: frexpf, Up: Function Substitutes [Contents][Index]
frexpl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/frexpl.html
Gnulib module: frexpl
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fseek, Previous: frexpl, Up: Function Substitutes [Contents][Index]
fscanf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fscanf.html
Gnulib module: stdio, nonblocking
Portability problems fixed by Gnulib module stdio
, together with module nonblocking
:
errno
being set to EINVAL
instead of EAGAIN
on
some platforms:
mingw, MSVC 9.
Portability problems not fixed by Gnulib:
feof
would return nonzero. However, on some systems this
function attempts to read from the underlying file descriptor even if
the stream’s end-of-file indicator is set. These systems include
glibc and default Solaris.
errno
upon failure.
hh
, ll
, j
,
t
, z
size specifiers.
Next: fseeko, Previous: fscanf, Up: Function Substitutes [Contents][Index]
fseek
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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, even when the AC_SYS_LARGEFILE
macro is used. The fix is to use fseeko
instead.
Next: fsetpos, Previous: fseek, Up: Function Substitutes [Contents][Index]
fseeko
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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, OSF/1 5.1.
off_t
is a 32-bit type, fseeko
does not work
correctly with files larger than 2 GB. (Cf. AC_SYS_LARGEFILE
.)
Portability problems not fixed by Gnulib:
off_t
is a 64-bit type, but fseeko
is
not present, stream operations on files larger than 2 GB silently do
the wrong thing. This affects BSD/OS, which is mostly obsolete.
Next: fstat, Previous: fseeko, Up: Function Substitutes [Contents][Index]
fsetpos
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fsetpos.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
off_t
is a 32-bit type, this function may not
work correctly on files larger than 2 GB. The fix is to use the
AC_SYS_LARGEFILE
macro.
Next: fstatat, Previous: fsetpos, Up: Function Substitutes [Contents][Index]
fstat
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fstat.html
Gnulib module: fstat
Portability problems fixed by Gnulib:
off_t
is a 32-bit type, fstat
may not correctly
report the size of files or block devices larger than 2 GB.
(Cf. AC_SYS_LARGEFILE
.)
Portability problems not fixed by Gnulib:
struct stat
.
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.
Next: fstatvfs, Previous: fstat, Up: Function Substitutes [Contents][Index]
fstatat
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fstatat.html
Gnulib module: fstatat
Portability problems fixed by Gnulib:
off_t
is a 32-bit type, fstatat
may
not correctly report the size of files or block devices larger than 2
GB. (Cf. AC_SYS_LARGEFILE
.)
fstatat(fd,"file/",buf,flag)
succeeds instead of
failing with ENOTDIR
.
Solaris 9.
Portability problems not fixed by Gnulib:
struct stat
.
Next: fsync, Previous: fstatat, Up: Function Substitutes [Contents][Index]
fstatvfs
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fstatvfs.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
f_blocks
in ‘struct statvfs’ is a 32-bit
value, this function may not work correctly on files systems larger than
4 TiB. The fix is to use the AC_SYS_LARGEFILE
macro. This affects
glibc/Hurd, HP-UX 11, Solaris.
Next: ftell, Previous: fstatvfs, Up: Function Substitutes [Contents][Index]
fsync
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fsync.html
Gnulib module: fsync
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ftello, Previous: fsync, Up: Function Substitutes [Contents][Index]
ftell
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ftell.html
Gnulib module: ftell
Portability problems fixed by Gnulib:
putc
that followed a
getc
call that reached EOF on some platforms:
Solaris 11 2010-11.
Portability problems not fixed by Gnulib:
fseek
on some
platforms:
HP-UX 11.
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, MSVC 9.
long
is a 32-bit type, ftell
does not work
correctly with files larger than 2 GB, even when the AC_SYS_LARGEFILE
macro is used. The fix is to use ftello
instead.
Next: ftok, Previous: ftell, Up: Function Substitutes [Contents][Index]
ftello
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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, OSF/1 5.1.
putc
that followed a
getc
call that reached EOF on some platforms:
Solaris 11 2010-11.
off_t
is a 32-bit type, ftello
does not work
correctly with files larger than 2 GB. (Cf. AC_SYS_LARGEFILE
.)
Portability problems not fixed by Gnulib:
fseek
on some
platforms:
HP-UX 11.
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, MSVC 9.
off_t
is a 64-bit type, but fseeko
is
not present, stream operations on files larger than 2 GB silently do
the wrong thing. This affects BSD/OS, which is mostly obsolete.
Next: ftruncate, Previous: ftello, Up: Function Substitutes [Contents][Index]
ftok
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ftok.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ftrylockfile, Previous: ftok, Up: Function Substitutes [Contents][Index]
ftruncate
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ftruncate.html
Gnulib module: ftruncate
Portability problems fixed by Gnulib:
off_t
is a 32-bit type, this function is not
applicable to arbitrary lengths for files larger than 2 GB. The fix is to
use the AC_SYS_LARGEFILE
macro.
Portability problems not fixed by Gnulib:
Next: ftw, Previous: ftruncate, Up: Function Substitutes [Contents][Index]
ftrylockfile
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ftrylockfile.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: funlockfile, Previous: ftrylockfile, Up: Function Substitutes [Contents][Index]
ftw
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ftw.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
off_t
is a 32-bit type, this function 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.
Next: futimens, Previous: ftw, Up: Function Substitutes [Contents][Index]
funlockfile
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/funlockfile.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fwide, Previous: funlockfile, Up: Function Substitutes [Contents][Index]
futimens
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/futimens.html
Gnulib module: futimens
Portability problems fixed by Gnulib:
ENOSYS
on some platforms:
Linux kernel 2.6.21.
UTIME_OMIT
or UTIME_NOW
, some systems require
the tv_sec
argument to be 0, and don’t necessarily handle all
file permissions in the manner required by POSIX:
Linux kernel 2.6.25.
UTIME_OMIT
for the modification time, but specifying
an access time, some systems fail to update the change time:
Linux kernel 2.6.32, Solaris 11.1.
AT_FDCWD
as the fd argument does not properly fail with
EBADF
on some systems:
glibc 2.11, Solaris 11.
Portability problems not fixed by Gnulib:
ENOSYS
; the gnulib
module ‘utimens’ provides a more reliable interface fdutimens
.
stat
modifies the access time of
directories on some platforms, so utimensat
can only
effectively change directory modification time:
Cygwin 1.5.x.
Next: fwprintf, Previous: futimens, Up: Function Substitutes [Contents][Index]
fwide
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: fwrite, Previous: fwide, Up: Function Substitutes [Contents][Index]
fwprintf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
errno
or the
stream error indicator on attempts to write to a read-only stream:
Cygwin 1.7.9.
Next: fwscanf, Previous: fwprintf, Up: Function Substitutes [Contents][Index]
fwrite
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fwrite.html
Gnulib module: stdio, nonblocking, sigpipe
Portability problems fixed by Gnulib module stdio
, together with module nonblocking
:
errno
being set to ENOSPC
instead of EAGAIN
on some
platforms:
mingw, MSVC 9.
Portability problems fixed by Gnulib module stdio
, together with module sigpipe
:
SIGPIPE
handler, on some platforms:
mingw, MSVC 9.
Portability problems not fixed by Gnulib:
errno
upon failure.
errno
or the
stream error indicator on attempts to write to a read-only stream:
Cygwin 1.7.9.
MSVC_INVALID_PARAMETER_HANDLING
is
HAIRY_LIBRARY_HANDLING
or SANE_LIBRARY_HANDLING
,
on some platforms:
MSVC 9.
Next: gai_strerror, Previous: fwrite, Up: Function Substitutes [Contents][Index]
fwscanf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: getaddrinfo, Previous: fwscanf, Up: Function Substitutes [Contents][Index]
gai_strerror
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/gai_strerror.html
Gnulib module: getaddrinfo
Portability problems fixed by Gnulib:
<ws2tcpip.h>
on some
platforms:
mingw, MSVC 9.
char *
instead of const char *
on some platforms:
AIX 7.1, HP-UX 11, OSF/1 5.1, Solaris 9, mingw, MSVC 9.
Portability problems not fixed by Gnulib:
Next: getc, Previous: gai_strerror, Up: Function Substitutes [Contents][Index]
getaddrinfo
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getaddrinfo.html
Gnulib module: getaddrinfo
Portability problems fixed by Gnulib:
<ws2tcpip.h>
rather than in
<netdb.h>
.
Portability problems not fixed by Gnulib:
Next: getc_unlocked, Previous: getaddrinfo, Up: Function Substitutes [Contents][Index]
getc
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getc.html
Gnulib module: stdio, nonblocking
Portability problems fixed by Gnulib module stdio
, together with module nonblocking
:
errno
being set to EINVAL
instead of EAGAIN
on
some platforms:
mingw, MSVC 9.
Portability problems not fixed by Gnulib:
feof
would return nonzero. However, on some systems this
function attempts to read from the underlying file descriptor even if
the stream’s end-of-file indicator is set. These systems include
glibc and default Solaris.
errno
upon failure.
Next: getchar, Previous: getc, Up: Function Substitutes [Contents][Index]
getc_unlocked
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getc_unlocked.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getchar_unlocked, Previous: getc_unlocked, Up: Function Substitutes [Contents][Index]
getchar
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getchar.html
Gnulib module: stdio, nonblocking
Portability problems fixed by Gnulib module stdio
, together with module nonblocking
:
errno
being set to EINVAL
instead of EAGAIN
on
some platforms:
mingw, MSVC 9.
Portability problems not fixed by Gnulib:
feof
would return nonzero. However, on some systems this
function attempts to read from the underlying file descriptor even if
the stream’s end-of-file indicator is set. These systems include
glibc and default Solaris.
errno
upon failure.
Next: getcwd, Previous: getchar, Up: Function Substitutes [Contents][Index]
getchar_unlocked
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getchar_unlocked.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getdate, Previous: getchar_unlocked, Up: Function Substitutes [Contents][Index]
getcwd
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getcwd.html
Gnulib module: getcwd or getcwd-lgpl
Portability problems fixed by either Gnulib module getcwd
or
getcwd-lgpl
:
<io.h>
or
<direct.h>
) on some platforms:
mingw, MSVC 9.
getcwd (NULL, n)
allocates memory for the result.
On some other platforms, this call is not allowed.
getcwd
uses int
instead of size_t
for the size argument when using non-standard
headers, and the declaration is missing from <unistd.h>
:
mingw, MSVC 9.
getcwd (buf, 0)
fails with ERANGE
instead of the required EINVAL
:
mingw, MSVC 9.
Portability problems fixed by Gnulib module getcwd
:
PATH_MAX
)
correctly on some platforms:
glibc on Linux 2.4.20, Mac OS X 10.5, FreeBSD 6.4, NetBSD 5.1, OpenBSD 4.9, AIX 7.1.
Portability problems not fixed by Gnulib:
getcwd(NULL, nonzero)
, some platforms, such as glibc
or cygwin, allocate exactly nonzero
bytes and fail with
ERANGE
if it was not big enough, while other platforms, such as
FreeBSD, mingw, or MSVC 9, ignore the size argument and allocate whatever size
is necessary. If this call succeeds, an application cannot portably
access beyond the string length of the result.
Next: getdate_err, Previous: getcwd, Up: Function Substitutes [Contents][Index]
getdate
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getdate.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Gnulib provides a module parse-datetime
that contains a function
parse_datetime
that has similar functionality as the getdate
function.
Next: getdelim, Previous: getdate, Up: Function Substitutes [Contents][Index]
getdate_err
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getdate_err.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getegid, Previous: getdate_err, Up: Function Substitutes [Contents][Index]
getdelim
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getdelim.html
Gnulib module: getdelim
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getenv, Previous: getdelim, Up: Function Substitutes [Contents][Index]
getegid
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getegid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: geteuid, Previous: getegid, Up: Function Substitutes [Contents][Index]
getenv
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getenv.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getgid, Previous: getenv, Up: Function Substitutes [Contents][Index]
geteuid
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/geteuid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getgrent, Previous: geteuid, Up: Function Substitutes [Contents][Index]
getgid
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getgid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getgrgid, Previous: getgid, Up: Function Substitutes [Contents][Index]
getgrent
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getgrent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getgrgid_r, Previous: getgrent, Up: Function Substitutes [Contents][Index]
getgrgid
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getgrgid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getgrnam, Previous: getgrgid, Up: Function Substitutes [Contents][Index]
getgrgid_r
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getgrgid_r.html
Gnulib module: extensions
Portability problems fixed by Gnulib:
_POSIX_PTHREAD_SEMANTICS
is not defined).
Portability problems not fixed by Gnulib:
Next: getgrnam_r, Previous: getgrgid_r, Up: Function Substitutes [Contents][Index]
getgrnam
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getgrnam.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getgroups, Previous: getgrnam, Up: Function Substitutes [Contents][Index]
getgrnam_r
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getgrnam_r.html
Gnulib module: extensions
Portability problems fixed by Gnulib:
_POSIX_PTHREAD_SEMANTICS
is not defined).
Portability problems not fixed by Gnulib:
Next: gethostent, Previous: getgrnam_r, Up: Function Substitutes [Contents][Index]
getgroups
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getgroups.html
Gnulib module: getgroups
Portability problems fixed by Gnulib:
getgroups (0, NULL)
always fails. See macro
‘AC_FUNC_GETGROUPS’.
Portability problems not fixed by Gnulib:
fork
and exec
if
the parent process is multi-threaded.
The Gnulib module mgetgroups
provides a similar API.
Next: gethostid, Previous: getgroups, Up: Function Substitutes [Contents][Index]
gethostent
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/gethostent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: gethostname, Previous: gethostent, Up: Function Substitutes [Contents][Index]
gethostid
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/gethostid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getitimer, Previous: gethostid, Up: Function Substitutes [Contents][Index]
gethostname
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/gethostname.html
Gnulib module: gethostname
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
int
instead of size_t
on some platforms:
OSF/1 5.1, Solaris 10.
EINVAL
, instead of returning a truncated host name.
Next: getline, Previous: gethostname, Up: Function Substitutes [Contents][Index]
getitimer
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getitimer.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getlogin, Previous: getitimer, Up: Function Substitutes [Contents][Index]
getline
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getline.html
Gnulib module: getline
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getlogin_r, Previous: getline, Up: Function Substitutes [Contents][Index]
getlogin
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getlogin.html
Gnulib module: getlogin
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getmsg, Previous: getlogin, Up: Function Substitutes [Contents][Index]
getlogin_r
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getlogin_r.html
Gnulib module: getlogin_r
Portability problems fixed by Gnulib:
_REENTRANT
is defined,
on some platforms:
HP-UX 11.
ERANGE
, when the buffer is not large enough, on some platforms:
OSF/1 5.1.
Portability problems not fixed by Gnulib:
_POSIX_PTHREAD_SEMANTICS
is not defined).
EINVAL
instead of ERANGE
when
the second argument is zero on some platforms:
HP-UX 11.31.
Next: getnameinfo, Previous: getlogin_r, Up: Function Substitutes [Contents][Index]
getmsg
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getmsg.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getnetbyaddr, Previous: getmsg, Up: Function Substitutes [Contents][Index]
getnameinfo
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getnameinfo.html
Gnulib module: getaddrinfo
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getnetbyname, Previous: getnameinfo, Up: Function Substitutes [Contents][Index]
getnetbyaddr
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getnetbyaddr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getnetent, Previous: getnetbyaddr, Up: Function Substitutes [Contents][Index]
getnetbyname
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getnetbyname.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getopt, Previous: getnetbyname, Up: Function Substitutes [Contents][Index]
getnetent
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getnetent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getpeername, Previous: getnetent, Up: Function Substitutes [Contents][Index]
getopt
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getopt.html
Gnulib module: getopt-posix or getopt-gnu
The module getopt-gnu
has support for “long options” and for
“options that take optional arguments”. Compared to the API defined by POSIX,
it adds a header file <getopt.h>
and a function getopt_long
.
Portability problems fixed by either Gnulib module getopt-posix
or getopt-gnu
:
optind
after a missing required argument is wrong
on some platforms:
Mac OS X 10.5, AIX 7.1, mingw.
Portability problems fixed by Gnulib module getopt-gnu
:
getopt
does not support the ‘+’ flag in the options
string on some platforms:
Mac OS X 10.5, AIX 5.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11.
getopt
does not obey the combination of ‘+’
and ‘:’ flags in the options string on some platforms:
glibc 2.11.
getopt
does not obey the ‘-’ flag in the options
string when POSIXLY_CORRECT
is set on some platforms:
Cygwin 1.7.0.
getopt
does not support options with optional arguments
on some platforms:
Mac OS X 10.5, OpenBSD 4.0, AIX 5.2, HP-UX 11, IRIX 6.5, OSF/1 5.1,
Solaris 11 2010-11, Cygwin 1.5.x.
getopt_long
is missing on some platforms:
AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, MSVC 9, Interix 3.5.
getopt_long
does not support abbreviated long options
where all disambiguations are equivalent on some platforms:
OpenBSD 5.0.
getopt_long_only
is missing on some platforms:
Mac OS X 10.3, FreeBSD 5.2.1, NetBSD 5.0, AIX 5.1, HP-UX 11, IRIX 6.5,
OSF/1 5.1, Solaris 9, mingw, MSVC 9, Interix 3.5.
W;
on some
platforms:
glibc 2.14.
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.
POSIXLY_CORRECT
, by setting
optind
to 0. Several BSD implementations provide optreset
,
causing a reset by setting it non-zero, although it does not
necessarily re-read POSIXLY_CORRECT
. Solaris getopt
does
not support either reset method, but does not maintain state that
needs the extra level of reset.
Next: getpgid, Previous: getopt, Up: Function Substitutes [Contents][Index]
getpeername
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getpeername.html
Gnulib module: getpeername
Portability problems fixed by Gnulib:
getpeername
are not placed in errno
, and
WSAGetLastError
must be used instead.
Portability problems not fixed by Gnulib:
socklen_t
type; in this case this function’s
third argument type is ‘int *’.
Next: getpgrp, Previous: getpeername, Up: Function Substitutes [Contents][Index]
getpgid
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getpgid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getpid, Previous: getpgid, Up: Function Substitutes [Contents][Index]
getpgrp
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getpgrp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getpmsg, Previous: getpgrp, Up: Function Substitutes [Contents][Index]
getpid
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getpid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getppid, Previous: getpid, Up: Function Substitutes [Contents][Index]
getpmsg
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getpmsg.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getpriority, Previous: getpmsg, Up: Function Substitutes [Contents][Index]
getppid
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getppid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getprotobyname, Previous: getppid, Up: Function Substitutes [Contents][Index]
getpriority
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getpriority.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getprotobynumber, Previous: getpriority, Up: Function Substitutes [Contents][Index]
getprotobyname
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getprotobyname.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getprotoent, Previous: getprotobyname, Up: Function Substitutes [Contents][Index]
getprotobynumber
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getprotobynumber.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getpwent, Previous: getprotobynumber, Up: Function Substitutes [Contents][Index]
getprotoent
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getprotoent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getpwnam, Previous: getprotoent, Up: Function Substitutes [Contents][Index]
getpwent
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getpwent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getpwnam_r, Previous: getpwent, Up: Function Substitutes [Contents][Index]
getpwnam
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getpwnam.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getpwuid, Previous: getpwnam, Up: Function Substitutes [Contents][Index]
getpwnam_r
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getpwnam_r.html
Gnulib module: extensions
Portability problems fixed by Gnulib:
_POSIX_PTHREAD_SEMANTICS
is not defined).
Portability problems not fixed by Gnulib:
Next: getpwuid_r, Previous: getpwnam_r, Up: Function Substitutes [Contents][Index]
getpwuid
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getpwuid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fork
and exec
if
the parent process is multi-threaded. Instead, use getpwuid_r
prior to forking.
Next: getrlimit, Previous: getpwuid, Up: Function Substitutes [Contents][Index]
getpwuid_r
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getpwuid_r.html
Gnulib module: extensions
Portability problems fixed by Gnulib:
_POSIX_PTHREAD_SEMANTICS
is not defined).
Portability problems not fixed by Gnulib:
fork
and exec
if
the parent process is multi-threaded. Use it prior to forking.
Next: getrusage, Previous: getpwuid_r, Up: Function Substitutes [Contents][Index]
getrlimit
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getrlimit.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
rlim_t
is a 32-bit type, this function does not
allow to retrieve limits larger than 4 GB, such as for RLIMIT_FSIZE. The
fix is to use the AC_SYS_LARGEFILE
macro.
Next: gets, Previous: getrlimit, Up: Function Substitutes [Contents][Index]
getrusage
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getrusage.html
Gnulib module: getrusage
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
struct rusage
with
meaningful values.
Next: getservbyname, Previous: getrusage, Up: Function Substitutes [Contents][Index]
gets
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/gets.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
being set to EINVAL
instead of EAGAIN
on
some platforms:
mingw, MSVC 9.
errno
upon failure.
Next: getservbyport, Previous: gets, Up: Function Substitutes [Contents][Index]
getservbyname
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getservbyname.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getservent, Previous: getservbyname, Up: Function Substitutes [Contents][Index]
getservbyport
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getservbyport.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getsid, Previous: getservbyport, Up: Function Substitutes [Contents][Index]
getservent
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getservent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getsockname, Previous: getservent, Up: Function Substitutes [Contents][Index]
getsid
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getsid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getsockopt, Previous: getsid, Up: Function Substitutes [Contents][Index]
getsockname
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getsockname.html
Gnulib module: getsockname
Portability problems fixed by Gnulib:
getsockname
are not placed in errno
, and
WSAGetLastError
must be used instead.
Portability problems not fixed by Gnulib:
socklen_t
type; in this case this function’s
third argument type is ‘int *’.
Next: getsubopt, Previous: getsockname, Up: Function Substitutes [Contents][Index]
getsockopt
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getsockopt.html
Gnulib module: getsockopt
Portability problems fixed by Gnulib:
getsockopt
are not placed in errno
, and
WSAGetLastError
must be used instead.
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.
Next: gettimeofday, Previous: getsockopt, Up: Function Substitutes [Contents][Index]
getsubopt
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getsubopt.html
Gnulib module: getsubopt
Portability problems fixed by Gnulib:
unistd.h
instead of
stdlib.h
on some platforms:
Cygwin 1.7.1.
Portability problems not fixed by Gnulib:
Next: getuid, Previous: getsubopt, Up: Function Substitutes [Contents][Index]
gettimeofday
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/gettimeofday.html
Gnulib module: gettimeofday
Portability problems fixed by Gnulib:
struct
timezone*
rather than void *
, making it an error to redeclare
the function with the POSIX signature:
glibc.
However, rather than penalize these systems with a replacement
function, gnulib defines GETTIMEOFDAY_TIMEZONE
to the
appropriate type for use in avoiding a compiler warning if assigning
gettimeofday
to a function pointer.
gettimeofday
clobbers the buffer in which
localtime
returns its result:
Mac OS X 10.0.
Portability problems not fixed by Gnulib:
gettimeofday
is not NULL
.
Next: getutxent, Previous: gettimeofday, Up: Function Substitutes [Contents][Index]
getuid
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getuid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getutxid, Previous: getuid, Up: Function Substitutes [Contents][Index]
getutxent
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getutxent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getutxline, Previous: getutxent, Up: Function Substitutes [Contents][Index]
getutxid
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getutxid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getwc, Previous: getutxid, Up: Function Substitutes [Contents][Index]
getutxline
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/getutxline.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getwchar, Previous: getutxline, Up: Function Substitutes [Contents][Index]
getwc
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: glob, Previous: getwc, Up: Function Substitutes [Contents][Index]
getwchar
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: globfree, Previous: getwchar, Up: Function Substitutes [Contents][Index]
glob
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/glob.html
Gnulib module: glob
Portability problems fixed by Gnulib:
off_t
is a 32-bit type, this function may not
work correctly on huge directories larger than 2 GB.
(Cf. AC_SYS_LARGEFILE
.)
Portability problems not fixed by Gnulib:
gl_flags
field.
Next: gmtime, Previous: glob, Up: Function Substitutes [Contents][Index]
globfree
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/globfree.html
Gnulib module: glob
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: gmtime_r, Previous: globfree, Up: Function Substitutes [Contents][Index]
gmtime
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/gmtime.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: grantpt, Previous: gmtime, Up: Function Substitutes [Contents][Index]
gmtime_r
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/gmtime_r.html
Gnulib module: time_r
Portability problems fixed by Gnulib:
_REENTRANT
is defined,
on some platforms:
HP-UX 11.
Portability problems not fixed by Gnulib:
Next: hcreate, Previous: gmtime_r, Up: Function Substitutes [Contents][Index]
grantpt
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/grantpt.html
Gnulib module: grantpt
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: hdestroy, Previous: grantpt, Up: Function Substitutes [Contents][Index]
hcreate
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/hcreate.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: hsearch, Previous: hcreate, Up: Function Substitutes [Contents][Index]
hdestroy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/hdestroy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: htonl, Previous: hdestroy, Up: Function Substitutes [Contents][Index]
hsearch
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/hsearch.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: htons, Previous: hsearch, Up: Function Substitutes [Contents][Index]
htonl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/htonl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: hypot, Previous: htonl, Up: Function Substitutes [Contents][Index]
htons
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/htons.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: hypotf, Previous: htons, Up: Function Substitutes [Contents][Index]
hypot
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/hypot.html
Gnulib module: hypot or hypot-ieee
Portability problems fixed by either Gnulib module hypot
or hypot-ieee
:
Portability problems fixed by Gnulib module hypot-ieee
:
Portability problems not fixed by Gnulib:
Next: hypotl, Previous: hypot, Up: Function Substitutes [Contents][Index]
hypotf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/hypotf.html
Gnulib module: hypotf or hypotf-ieee
Portability problems fixed by either Gnulib module hypotf
or hypotf-ieee
:
Portability problems fixed by Gnulib module hypot-ieee
:
Portability problems not fixed by Gnulib:
Next: iconv, Previous: hypotf, Up: Function Substitutes [Contents][Index]
hypotl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/hypotl.html
Gnulib module: hypotl or hypotl-ieee
Portability problems fixed by either Gnulib module hypotl
or hypotl-ieee
:
Portability problems fixed by Gnulib module hypotl-ieee
:
Portability problems not fixed by Gnulib:
Next: iconv_close, Previous: hypotl, Up: Function Substitutes [Contents][Index]
iconv
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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
cannot 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.
Next: iconv_open, Previous: iconv, Up: Function Substitutes [Contents][Index]
iconv_close
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/iconv_close.html
Gnulib module: iconv
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: if_freenameindex, Previous: iconv_close, Up: Function Substitutes [Contents][Index]
iconv_open
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/iconv_open.html
Gnulib module: iconv, iconv_open, iconv_open-utf
Portability problems fixed by either Gnulib module iconv
or iconv_open
:
Portability problems fixed by Gnulib module iconv_open
:
Portability problems fixed by Gnulib module iconv_open-utf
:
Portability problems not fixed by Gnulib:
striconveh
(a wrapper around iconv
) that deals with
this problem.
Next: if_indextoname, Previous: iconv_open, Up: Function Substitutes [Contents][Index]
if_freenameindex
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/if_freenameindex.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: if_nameindex, Previous: if_freenameindex, Up: Function Substitutes [Contents][Index]
if_indextoname
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/if_indextoname.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: if_nametoindex, Previous: if_indextoname, Up: Function Substitutes [Contents][Index]
if_nameindex
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/if_nameindex.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ilogb, Previous: if_nameindex, Up: Function Substitutes [Contents][Index]
if_nametoindex
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/if_nametoindex.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ilogbf, Previous: if_nametoindex, Up: Function Substitutes [Contents][Index]
ilogb
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ilogb.html
Gnulib module: ilogb
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ilogbl, Previous: ilogb, Up: Function Substitutes [Contents][Index]
ilogbf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ilogbf.html
Gnulib module: ilogbf
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: imaxabs, Previous: ilogbf, Up: Function Substitutes [Contents][Index]
ilogbl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ilogbl.html
Gnulib module: ilogbl
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: imaxdiv, Previous: ilogbl, Up: Function Substitutes [Contents][Index]
imaxabs
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/imaxabs.html
Gnulib module: imaxabs
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: inet_addr, Previous: imaxabs, Up: Function Substitutes [Contents][Index]
imaxdiv
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/imaxdiv.html
Gnulib module: imaxdiv
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: inet_ntoa, Previous: imaxdiv, Up: Function Substitutes [Contents][Index]
inet_addr
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/inet_addr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: inet_ntop, Previous: inet_addr, Up: Function Substitutes [Contents][Index]
inet_ntoa
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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
.
Next: inet_pton, Previous: inet_ntoa, Up: Function Substitutes [Contents][Index]
inet_ntop
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/inet_ntop.html
Gnulib module: inet_ntop
Portability problems fixed by Gnulib:
<netdb.h>
instead of <arpa/inet.h>
on some platforms:
NonStop Kernel.
<ws2tcpip.h>
, with a POSIX incompatible
declaration, on some platforms:
MSVC 9 on Windows >= Vista.
Portability problems not fixed by Gnulib:
size_t
instead of
socklen_t
on some platforms:
OSF/1 5.1, Solaris 10.
Next: initstate, Previous: inet_ntop, Up: Function Substitutes [Contents][Index]
inet_pton
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/inet_pton.html
Gnulib module: inet_pton
Portability problems fixed by Gnulib:
<netdb.h>
instead of <arpa/inet.h>
on some platforms:
NonStop Kernel.
<ws2tcpip.h>
, with a POSIX incompatible
declaration, on some platforms:
MSVC 9 on Windows >= Vista.
Portability problems not fixed by Gnulib:
Next: insque, Previous: inet_pton, Up: Function Substitutes [Contents][Index]
initstate
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/initstate.html
Gnulib module: random
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ioctl, Previous: initstate, Up: Function Substitutes [Contents][Index]
insque
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/insque.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: isalnum, Previous: insque, Up: Function Substitutes [Contents][Index]
ioctl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ioctl.html
Gnulib module: ioctl
Portability problems fixed by Gnulib:
ioctl
is called
ioctlsocket
, and error codes for this function are not placed in
errno
, and WSAGetLastError
must be used instead.
unsigned long
rather than int
.
Portability problems not fixed by Gnulib:
ioctl
requests are platform and hardware specific.
Next: isalnum_l, Previous: ioctl, Up: Function Substitutes [Contents][Index]
isalnum
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/isalnum.html
Gnulib module: ctype
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Note: This function’s behaviour depends on the locale, but does not support
the multibyte characters that occur in strings in locales with
MB_CUR_MAX > 1
(this includes all the common UTF-8 locales).
There are four alternative APIs:
c_isalnum
This function operates in a locale independent way and returns true only for ASCII characters. It is provided by the Gnulib module ‘c-ctype’.
iswalnum
This function operates in a locale dependent way, on wide characters. In
order to use it, you first have to convert from multibyte to wide characters,
using the mbrtowc
function. It is provided by the Gnulib module
‘wctype’.
mb_isalnum
This function operates in a locale dependent way, on multibyte characters. It is provided by the Gnulib module ‘mbchar’.
uc_is_alnum
This function operates in a locale independent way, on Unicode characters. It is provided by the Gnulib module ‘unictype/ctype-alnum’.
Next: isalpha, Previous: isalnum, Up: Function Substitutes [Contents][Index]
isalnum_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/isalnum_l.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: isalpha_l, Previous: isalnum_l, Up: Function Substitutes [Contents][Index]
isalpha
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/isalpha.html
Gnulib module: ctype
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Note: This function’s behaviour depends on the locale, but does not support
the multibyte characters that occur in strings in locales with
MB_CUR_MAX > 1
(this includes all the common UTF-8 locales).
There are four alternative APIs:
c_isalpha
This function operates in a locale independent way and returns true only for ASCII characters. It is provided by the Gnulib module ‘c-ctype’.
iswalpha
This function operates in a locale dependent way, on wide characters. In
order to use it, you first have to convert from multibyte to wide characters,
using the mbrtowc
function. It is provided by the Gnulib module
‘wctype’.
mb_isalpha
This function operates in a locale dependent way, on multibyte characters. It is provided by the Gnulib module ‘mbchar’.
uc_is_alpha
This function operates in a locale independent way, on Unicode characters. It is provided by the Gnulib module ‘unictype/ctype-alpha’.
Next: isascii, Previous: isalpha, Up: Function Substitutes [Contents][Index]
isalpha_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/isalpha_l.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: isastream, Previous: isalpha_l, Up: Function Substitutes [Contents][Index]
isascii
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/isascii.html
Gnulib module: ctype
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Note: This function’s behaviour depends on the locale, but requires special
handling for the multibyte characters that occur in strings in locales with
MB_CUR_MAX > 1
(this includes all the common UTF-8 locales).
There are two alternative APIs:
c_isascii
This function operates in a locale independent way and returns true only for ASCII characters. It is provided by the Gnulib module ‘c-ctype’.
mb_isascii
This function operates in a locale dependent way, on multibyte characters. It is provided by the Gnulib module ‘mbchar’.
Next: isatty, Previous: isascii, Up: Function Substitutes [Contents][Index]
isastream
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/isastream.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: isblank, Previous: isastream, Up: Function Substitutes [Contents][Index]
isatty
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/isatty.html
Gnulib module: isatty
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: isblank_l, Previous: isatty, Up: Function Substitutes [Contents][Index]
isblank
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/isblank.html
Gnulib module: isblank
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Note: This function’s behaviour depends on the locale, but does not support
the multibyte characters that occur in strings in locales with
MB_CUR_MAX > 1
(this includes all the common UTF-8 locales).
There are four alternative APIs:
c_isblank
This function operates in a locale independent way and returns true only for ASCII characters. It is provided by the Gnulib module ‘c-ctype’.
iswblank
This function operates in a locale dependent way, on wide characters. In
order to use it, you first have to convert from multibyte to wide characters,
using the mbrtowc
function. It is provided by the Gnulib module
‘wctype’.
mb_isblank
This function operates in a locale dependent way, on multibyte characters. It is provided by the Gnulib module ‘mbchar’.
uc_is_blank
This function operates in a locale independent way, on Unicode characters. It is provided by the Gnulib module ‘unictype/ctype-blank’.
Next: iscntrl, Previous: isblank, Up: Function Substitutes [Contents][Index]
isblank_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/isblank_l.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: iscntrl_l, Previous: isblank_l, Up: Function Substitutes [Contents][Index]
iscntrl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/iscntrl.html
Gnulib module: ctype
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Note: This function’s behaviour depends on the locale, but does not support
the multibyte characters that occur in strings in locales with
MB_CUR_MAX > 1
(this includes all the common UTF-8 locales).
There are four alternative APIs:
c_iscntrl
This function operates in a locale independent way and returns true only for ASCII characters. It is provided by the Gnulib module ‘c-ctype’.
iswcntrl
This function operates in a locale dependent way, on wide characters. In
order to use it, you first have to convert from multibyte to wide characters,
using the mbrtowc
function. It is provided by the Gnulib module
‘wctype’.
mb_iscntrl
This function operates in a locale dependent way, on multibyte characters. It is provided by the Gnulib module ‘mbchar’.
uc_is_cntrl
This function operates in a locale independent way, on Unicode characters. It is provided by the Gnulib module ‘unictype/ctype-cntrl’.
Next: isdigit, Previous: iscntrl, Up: Function Substitutes [Contents][Index]
iscntrl_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/iscntrl_l.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: isdigit_l, Previous: iscntrl_l, Up: Function Substitutes [Contents][Index]
isdigit
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/isdigit.html
Gnulib module: ctype
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Note: This function’s behaviour depends on the locale, but does not support
the multibyte characters that occur in strings in locales with
MB_CUR_MAX > 1
(this includes all the common UTF-8 locales).
There are four alternative APIs:
c_isdigit
This function operates in a locale independent way and returns true only for ASCII characters. It is provided by the Gnulib module ‘c-ctype’.
iswdigit
This function operates in a locale dependent way, on wide characters. In
order to use it, you first have to convert from multibyte to wide characters,
using the mbrtowc
function. It is provided by the Gnulib module
‘wctype’.
mb_isdigit
This function operates in a locale dependent way, on multibyte characters. It is provided by the Gnulib module ‘mbchar’.
uc_is_digit
This function operates in a locale independent way, on Unicode characters. It is provided by the Gnulib module ‘unictype/ctype-digit’.
Next: isfinite, Previous: isdigit, Up: Function Substitutes [Contents][Index]
isdigit_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/isdigit_l.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: isgraph, Previous: isdigit_l, Up: Function Substitutes [Contents][Index]
isfinite
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/isfinite.html
Gnulib module: isfinite
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
isfinite
raises an
exception given a signaling NaN operand.
Next: isgraph_l, Previous: isfinite, Up: Function Substitutes [Contents][Index]
isgraph
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/isgraph.html
Gnulib module: ctype
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Note: This function’s behaviour depends on the locale, but does not support
the multibyte characters that occur in strings in locales with
MB_CUR_MAX > 1
(this includes all the common UTF-8 locales).
There are four alternative APIs:
c_isgraph
This function operates in a locale independent way and returns true only for ASCII characters. It is provided by the Gnulib module ‘c-ctype’.
iswgraph
This function operates in a locale dependent way, on wide characters. In
order to use it, you first have to convert from multibyte to wide characters,
using the mbrtowc
function. It is provided by the Gnulib module
‘wctype’.
mb_isgraph
This function operates in a locale dependent way, on multibyte characters. It is provided by the Gnulib module ‘mbchar’.
uc_is_graph
This function operates in a locale independent way, on Unicode characters. It is provided by the Gnulib module ‘unictype/ctype-graph’.
Next: isgreater, Previous: isgraph, Up: Function Substitutes [Contents][Index]
isgraph_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/isgraph_l.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: isgreaterequal, Previous: isgraph_l, Up: Function Substitutes [Contents][Index]
isgreater
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/isgreater.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: isinf, Previous: isgreater, Up: Function Substitutes [Contents][Index]
isgreaterequal
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/isgreaterequal.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: isless, Previous: isgreaterequal, Up: Function Substitutes [Contents][Index]
isinf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/isinf.html
Gnulib module: isinf
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: islessequal, Previous: isinf, Up: Function Substitutes [Contents][Index]
isless
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/isless.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: islessgreater, Previous: isless, Up: Function Substitutes [Contents][Index]
islessequal
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/islessequal.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: islower, Previous: islessequal, Up: Function Substitutes [Contents][Index]
islessgreater
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/islessgreater.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: islower_l, Previous: islessgreater, Up: Function Substitutes [Contents][Index]
islower
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/islower.html
Gnulib module: ctype
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Note: This function’s behaviour depends on the locale, but does not support
the multibyte characters that occur in strings in locales with
MB_CUR_MAX > 1
(this includes all the common UTF-8 locales).
There are four alternative APIs:
c_islower
This function operates in a locale independent way and returns true only for ASCII characters. It is provided by the Gnulib module ‘c-ctype’.
iswlower
This function operates in a locale dependent way, on wide characters. In
order to use it, you first have to convert from multibyte to wide characters,
using the mbrtowc
function. It is provided by the Gnulib module
‘wctype’.
mb_islower
This function operates in a locale dependent way, on multibyte characters. It is provided by the Gnulib module ‘mbchar’.
uc_is_lower
This function operates in a locale independent way, on Unicode characters. It is provided by the Gnulib module ‘unictype/ctype-lower’.
Next: isnan, Previous: islower, Up: Function Substitutes [Contents][Index]
islower_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/islower_l.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: isnormal, Previous: islower_l, Up: Function Substitutes [Contents][Index]
isnan
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/isnan.html
Gnulib module: isnan
Portability problems fixed by Gnulib:
isnan
was introduced with C99 and is thus commonly not present
on pre-C99 systems.
isnan
is not a macro on some platforms:
IRIX 6.5, OSF/1 5.1 with gcc, Solaris 11 2011-11.
cc
, isnan
does not recognize some NaNs.
isnan
does not recognize some
forms of NaNs, such as pseudo-NaNs, pseudo-Infinities, and
unnormalized numbers.
__builtin_isnanl
(and thus
isnan
implementations based on it) in GCC 4.0 and later does
not recognize pseudo-denormals as NaNs, and similarly for
pseudo-zeroes, unnormalized numbers, and pseudo-denormals on ia64.
Portability problems not fixed by Gnulib:
Next: isprint, Previous: isnan, Up: Function Substitutes [Contents][Index]
isnormal
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/isnormal.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: isprint_l, Previous: isnormal, Up: Function Substitutes [Contents][Index]
isprint
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/isprint.html
Gnulib module: ctype
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Note: This function’s behaviour depends on the locale, but does not support
the multibyte characters that occur in strings in locales with
MB_CUR_MAX > 1
(this includes all the common UTF-8 locales).
There are four alternative APIs:
c_isprint
This function operates in a locale independent way and returns true only for ASCII characters. It is provided by the Gnulib module ‘c-ctype’.
iswprint
This function operates in a locale dependent way, on wide characters. In
order to use it, you first have to convert from multibyte to wide characters,
using the mbrtowc
function. It is provided by the Gnulib module
‘wctype’.
mb_isprint
This function operates in a locale dependent way, on multibyte characters. It is provided by the Gnulib module ‘mbchar’.
uc_is_print
This function operates in a locale independent way, on Unicode characters. It is provided by the Gnulib module ‘unictype/ctype-print’.
Next: ispunct, Previous: isprint, Up: Function Substitutes [Contents][Index]
isprint_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/isprint_l.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ispunct_l, Previous: isprint_l, Up: Function Substitutes [Contents][Index]
ispunct
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ispunct.html
Gnulib module: ctype
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Note: This function’s behaviour depends on the locale, but does not support
the multibyte characters that occur in strings in locales with
MB_CUR_MAX > 1
(this includes all the common UTF-8 locales).
There are four alternative APIs:
c_ispunct
This function operates in a locale independent way and returns true only for ASCII characters. It is provided by the Gnulib module ‘c-ctype’.
iswpunct
This function operates in a locale dependent way, on wide characters. In
order to use it, you first have to convert from multibyte to wide characters,
using the mbrtowc
function. It is provided by the Gnulib module
‘wctype’.
mb_ispunct
This function operates in a locale dependent way, on multibyte characters. It is provided by the Gnulib module ‘mbchar’.
uc_is_punct
This function operates in a locale independent way, on Unicode characters. It is provided by the Gnulib module ‘unictype/ctype-punct’.
Next: isspace, Previous: ispunct, Up: Function Substitutes [Contents][Index]
ispunct_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ispunct_l.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: isspace_l, Previous: ispunct_l, Up: Function Substitutes [Contents][Index]
isspace
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/isspace.html
Gnulib module: ctype
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Note: This function’s behaviour depends on the locale, but does not support
the multibyte characters that occur in strings in locales with
MB_CUR_MAX > 1
(this includes all the common UTF-8 locales).
There are four alternative APIs:
c_isspace
This function operates in a locale independent way and returns true only for ASCII characters. It is provided by the Gnulib module ‘c-ctype’.
iswspace
This function operates in a locale dependent way, on wide characters. In
order to use it, you first have to convert from multibyte to wide characters,
using the mbrtowc
function. It is provided by the Gnulib module
‘wctype’.
mb_isspace
This function operates in a locale dependent way, on multibyte characters. It is provided by the Gnulib module ‘mbchar’.
uc_is_space
This function operates in a locale independent way, on Unicode characters. It is provided by the Gnulib module ‘unictype/ctype-space’.
Next: isunordered, Previous: isspace, Up: Function Substitutes [Contents][Index]
isspace_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/isspace_l.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: isupper, Previous: isspace_l, Up: Function Substitutes [Contents][Index]
isunordered
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/isunordered.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: isupper_l, Previous: isunordered, Up: Function Substitutes [Contents][Index]
isupper
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/isupper.html
Gnulib module: ctype
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Note: This function’s behaviour depends on the locale, but does not support
the multibyte characters that occur in strings in locales with
MB_CUR_MAX > 1
(this includes all the common UTF-8 locales).
There are four alternative APIs:
c_isupper
This function operates in a locale independent way and returns true only for ASCII characters. It is provided by the Gnulib module ‘c-ctype’.
iswupper
This function operates in a locale dependent way, on wide characters. In
order to use it, you first have to convert from multibyte to wide characters,
using the mbrtowc
function. It is provided by the Gnulib module
‘wctype’.
mb_isupper
This function operates in a locale dependent way, on multibyte characters. It is provided by the Gnulib module ‘mbchar’.
uc_is_upper
This function operates in a locale independent way, on Unicode characters. It is provided by the Gnulib module ‘unictype/ctype-upper’.
Next: iswalnum, Previous: isupper, Up: Function Substitutes [Contents][Index]
isupper_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/isupper_l.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: iswalnum_l, Previous: isupper_l, Up: Function Substitutes [Contents][Index]
iswalnum
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/iswalnum.html
Gnulib module: wctype-h
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.
Next: iswalpha, Previous: iswalnum, Up: Function Substitutes [Contents][Index]
iswalnum_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/iswalnum_l.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.
Next: iswalpha_l, Previous: iswalnum_l, Up: Function Substitutes [Contents][Index]
iswalpha
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/iswalpha.html
Gnulib module: wctype-h
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.
Next: iswblank, Previous: iswalpha, Up: Function Substitutes [Contents][Index]
iswalpha_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/iswalpha_l.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.
Next: iswblank_l, Previous: iswalpha_l, Up: Function Substitutes [Contents][Index]
iswblank
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/iswblank.html
Gnulib module: iswblank
Portability problems fixed by Gnulib:
-D_GNU_SOURCE
) on some platforms:
glibc 2.8.
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
Next: iswcntrl, Previous: iswblank, Up: Function Substitutes [Contents][Index]
iswblank_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/iswblank_l.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.
Next: iswcntrl_l, Previous: iswblank_l, Up: Function Substitutes [Contents][Index]
iswcntrl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/iswcntrl.html
Gnulib module: wctype-h
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.
Next: iswctype, Previous: iswcntrl, Up: Function Substitutes [Contents][Index]
iswcntrl_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/iswcntrl_l.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.
Next: iswctype_l, Previous: iswcntrl_l, Up: Function Substitutes [Contents][Index]
iswctype
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/iswctype.html
Gnulib module: iswctype
Portability problems fixed by Gnulib:
<wchar.h>
, not in <wctype.h>
, on
some platforms:
HP-UX 11.00.
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
Next: iswdigit, Previous: iswctype, Up: Function Substitutes [Contents][Index]
iswctype_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/iswctype_l.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.
Next: iswdigit_l, Previous: iswctype_l, Up: Function Substitutes [Contents][Index]
iswdigit
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/iswdigit.html
Gnulib module: wctype-h
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.
Next: iswgraph, Previous: iswdigit, Up: Function Substitutes [Contents][Index]
iswdigit_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/iswdigit_l.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.
Next: iswgraph_l, Previous: iswdigit_l, Up: Function Substitutes [Contents][Index]
iswgraph
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/iswgraph.html
Gnulib module: wctype-h
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.
Next: iswlower, Previous: iswgraph, Up: Function Substitutes [Contents][Index]
iswgraph_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/iswgraph_l.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.
Next: iswlower_l, Previous: iswgraph_l, Up: Function Substitutes [Contents][Index]
iswlower
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/iswlower.html
Gnulib module: wctype-h
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.
Next: iswprint, Previous: iswlower, Up: Function Substitutes [Contents][Index]
iswlower_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/iswlower_l.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.
Next: iswprint_l, Previous: iswlower_l, Up: Function Substitutes [Contents][Index]
iswprint
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/iswprint.html
Gnulib module: wctype-h
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.
Next: iswpunct, Previous: iswprint, Up: Function Substitutes [Contents][Index]
iswprint_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/iswprint_l.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.
Next: iswpunct_l, Previous: iswprint_l, Up: Function Substitutes [Contents][Index]
iswpunct
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/iswpunct.html
Gnulib module: wctype-h
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.
Next: iswspace, Previous: iswpunct, Up: Function Substitutes [Contents][Index]
iswpunct_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/iswpunct_l.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.
Next: iswspace_l, Previous: iswpunct_l, Up: Function Substitutes [Contents][Index]
iswspace
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/iswspace.html
Gnulib module: wctype-h
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.
Next: iswupper, Previous: iswspace, Up: Function Substitutes [Contents][Index]
iswspace_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/iswspace_l.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.
Next: iswupper_l, Previous: iswspace_l, Up: Function Substitutes [Contents][Index]
iswupper
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/iswupper.html
Gnulib module: wctype-h
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.
Next: iswxdigit, Previous: iswupper, Up: Function Substitutes [Contents][Index]
iswupper_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/iswupper_l.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.
Next: iswxdigit_l, Previous: iswupper_l, Up: Function Substitutes [Contents][Index]
iswxdigit
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/iswxdigit.html
Gnulib module: wctype-h
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.
Next: isxdigit, Previous: iswxdigit, Up: Function Substitutes [Contents][Index]
iswxdigit_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/iswxdigit_l.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.
Next: isxdigit_l, Previous: iswxdigit_l, Up: Function Substitutes [Contents][Index]
isxdigit
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/isxdigit.html
Gnulib module: ctype
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Note: This function’s behaviour depends on the locale, but does not support
the multibyte characters that occur in strings in locales with
MB_CUR_MAX > 1
(this includes all the common UTF-8 locales).
There are four alternative APIs:
c_isxdigit
This function operates in a locale independent way and returns true only for ASCII characters. It is provided by the Gnulib module ‘c-ctype’.
iswxdigit
This function operates in a locale dependent way, on wide characters. In
order to use it, you first have to convert from multibyte to wide characters,
using the mbrtowc
function. It is provided by the Gnulib module
‘wctype’.
mb_isxdigit
This function operates in a locale dependent way, on multibyte characters. It is provided by the Gnulib module ‘mbchar’.
uc_is_xdigit
This function operates in a locale independent way, on Unicode characters. It is provided by the Gnulib module ‘unictype/ctype-xdigit’.
Next: j0, Previous: isxdigit, Up: Function Substitutes [Contents][Index]
isxdigit_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/isxdigit_l.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: j1, Previous: isxdigit_l, Up: Function Substitutes [Contents][Index]
j0
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/j0.html
Gnulib module: j0
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: jn, Previous: j0, Up: Function Substitutes [Contents][Index]
j1
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/j1.html
Gnulib module: j1
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: jrand48, Previous: j1, Up: Function Substitutes [Contents][Index]
jn
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/jn.html
Gnulib module: jn
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: kill, Previous: jn, Up: Function Substitutes [Contents][Index]
jrand48
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/jrand48.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: killpg, Previous: jrand48, Up: Function Substitutes [Contents][Index]
kill
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/kill.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: l64a, Previous: kill, Up: Function Substitutes [Contents][Index]
killpg
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/killpg.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: labs, Previous: killpg, Up: Function Substitutes [Contents][Index]
l64a
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/l64a.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: lchown, Previous: l64a, Up: Function Substitutes [Contents][Index]
labs
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/labs.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: lcong48, Previous: labs, Up: Function Substitutes [Contents][Index]
lchown
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/lchown.html
Gnulib module: lchown
Portability problems fixed by Gnulib:
lchown("link-to-file/",uid,gid)
:
FreeBSD 7.2, Solaris 9.
lchmod
, the replacement only fixes this for non-symlinks:
OpenBSD 4.0.
chown
is supported, and fails altogether
with ENOSYS
otherwise:
Mac OS X 10.3, Minix 3.1.8, mingw, MSVC 9, BeOS.
Portability problems not fixed by Gnulib:
Next: ldexp, Previous: lchown, Up: Function Substitutes [Contents][Index]
lcong48
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/lcong48.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ldexpf, Previous: lcong48, Up: Function Substitutes [Contents][Index]
ldexp
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ldexp.html
Gnulib module: ldexp
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ldexpl, Previous: ldexp, Up: Function Substitutes [Contents][Index]
ldexpf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ldexpf.html
Gnulib module: ldexpf
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ldiv, Previous: ldexpf, Up: Function Substitutes [Contents][Index]
ldexpl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ldexpl.html
Gnulib module: ldexpl
Portability problems fixed by Gnulib:
<math.h>
on some platforms:
Mac OS X.
Portability problems not fixed by Gnulib:
Next: lfind, Previous: ldexpl, Up: Function Substitutes [Contents][Index]
ldiv
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ldiv.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: lgamma, Previous: ldiv, Up: Function Substitutes [Contents][Index]
lfind
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/lfind.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: lgammaf, Previous: lfind, Up: Function Substitutes [Contents][Index]
lgamma
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/lgamma.html
Gnulib module: lgamma
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: lgammal, Previous: lgamma, Up: Function Substitutes [Contents][Index]
lgammaf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/lgammaf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: link, Previous: lgammaf, Up: Function Substitutes [Contents][Index]
lgammal
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/lgammal.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: linkat, Previous: lgammal, Up: Function Substitutes [Contents][Index]
link
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/link.html
Gnulib module: link
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: lio_listio, Previous: link, Up: Function Substitutes [Contents][Index]
linkat
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/linkat.html
Gnulib module: linkat
Portability problems fixed by Gnulib:
AT_SYMLINK_FOLLOW
on some platforms:
Linux kernel 2.6.17.
Portability problems not fixed by Gnulib:
Next: listen, Previous: linkat, Up: Function Substitutes [Contents][Index]
lio_listio
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/lio_listio.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
off_t
is a 32-bit type, this function may not
work correctly on files larger than 2 GB. The fix is to use the
AC_SYS_LARGEFILE
macro.
Next: llabs, Previous: lio_listio, Up: Function Substitutes [Contents][Index]
listen
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/listen.html
Gnulib module: listen
Portability problems fixed by Gnulib:
listen
are not placed in errno
, and WSAGetLastError
must be
used instead.
Portability problems not fixed by Gnulib:
Next: lldiv, Previous: listen, Up: Function Substitutes [Contents][Index]
llabs
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/llabs.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: llrint, Previous: llabs, Up: Function Substitutes [Contents][Index]
lldiv
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/lldiv.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: llrintf, Previous: lldiv, Up: Function Substitutes [Contents][Index]
llrint
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/llrint.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: llrintl, Previous: llrint, Up: Function Substitutes [Contents][Index]
llrintf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/llrintf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: llround, Previous: llrintf, Up: Function Substitutes [Contents][Index]
llrintl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/llrintl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: llroundf, Previous: llrintl, Up: Function Substitutes [Contents][Index]
llround
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/llround.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: llroundl, Previous: llround, Up: Function Substitutes [Contents][Index]
llroundf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/llroundf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: localeconv, Previous: llroundf, Up: Function Substitutes [Contents][Index]
llroundl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/llroundl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: localtime, Previous: llroundl, Up: Function Substitutes [Contents][Index]
localeconv
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/localeconv.html
Gnulib module: localeconv
Portability problems fixed by Gnulib:
struct lconv
type does not contain any members on some platforms:
Android.
struct lconv
type does not contain the members
int_p_cs_precedes
, int_p_sign_posn
, int_p_sep_by_space
,
int_n_cs_precedes
, int_n_sign_posn
, int_n_sep_by_space
on some platforms:
glibc, OpenBSD 4.9, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2011-11, Cygwin 1.5.x, mingw, MSVC 9.
Portability problems not fixed by Gnulib:
Next: localtime_r, Previous: localeconv, Up: Function Substitutes [Contents][Index]
localtime
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/localtime.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: lockf, Previous: localtime, Up: Function Substitutes [Contents][Index]
localtime_r
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/localtime_r.html
Gnulib module: time_r
Portability problems fixed by Gnulib:
_REENTRANT
is defined,
on some platforms:
HP-UX 11.
Portability problems not fixed by Gnulib:
Next: log, Previous: localtime_r, Up: Function Substitutes [Contents][Index]
lockf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/lockf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
off_t
is a 32-bit type, this function may not
work correctly across the entire data range of files larger than 2 GB.
The fix is to use the AC_SYS_LARGEFILE
macro.
Next: log10, Previous: lockf, Up: Function Substitutes [Contents][Index]
log
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/log.html
Gnulib module: log or log-ieee
Portability problems fixed by either Gnulib module log
or log-ieee
:
Portability problems fixed by Gnulib module log-ieee
:
Portability problems not fixed by Gnulib:
Next: log10f, Previous: log, Up: Function Substitutes [Contents][Index]
log10
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/log10.html
Gnulib module: log10 or log10-ieee
Portability problems fixed by either Gnulib module log10
or log10-ieee
:
Portability problems fixed by Gnulib module log10-ieee
:
Portability problems not fixed by Gnulib:
Next: log10l, Previous: log10, Up: Function Substitutes [Contents][Index]
log10f
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/log10f.html
Gnulib module: log10f or log10f-ieee
Portability problems fixed by either Gnulib module log10f
or log10f-ieee
:
Portability problems fixed by Gnulib module log10f-ieee
:
Portability problems not fixed by Gnulib:
Next: log1p, Previous: log10f, Up: Function Substitutes [Contents][Index]
log10l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/log10l.html
Gnulib module: log10l
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: log1pf, Previous: log10l, Up: Function Substitutes [Contents][Index]
log1p
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/log1p.html
Gnulib module: log1p or log1p-ieee
Portability problems fixed by either Gnulib module log1p
or log1p-ieee
:
Portability problems fixed by Gnulib module log1p-ieee
:
Portability problems not fixed by Gnulib:
Next: log1pl, Previous: log1p, Up: Function Substitutes [Contents][Index]
log1pf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/log1pf.html
Gnulib module: log1pf or log1pf-ieee
Portability problems fixed by either Gnulib module log1pf
or log1pf-ieee
:
-1.0f
on some platforms:
IRIX 6.5.
Portability problems fixed by Gnulib module log1pf-ieee
:
Portability problems not fixed by Gnulib:
Next: log2, Previous: log1pf, Up: Function Substitutes [Contents][Index]
log1pl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/log1pl.html
Gnulib module: log1pl or log1pl-ieee
Portability problems fixed by either Gnulib module log1pl
or log1pl-ieee
:
Portability problems fixed by Gnulib module log1pl-ieee
:
Portability problems not fixed by Gnulib:
Next: log2f, Previous: log1pl, Up: Function Substitutes [Contents][Index]
log2
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/log2.html
Gnulib module: log2 or log2-ieee
Portability problems fixed by either Gnulib module log2
or log2-ieee
:
Portability problems fixed by Gnulib module log2-ieee
:
Portability problems not fixed by Gnulib:
Next: log2l, Previous: log2, Up: Function Substitutes [Contents][Index]
log2f
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/log2f.html
Gnulib module: log2f or log2f-ieee
Portability problems fixed by either Gnulib module log2f
or log2f-ieee
:
Portability problems fixed by Gnulib module log2f-ieee
:
Portability problems not fixed by Gnulib:
Next: logb, Previous: log2f, Up: Function Substitutes [Contents][Index]
log2l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/log2l.html
Gnulib module: log2l
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: logbf, Previous: log2l, Up: Function Substitutes [Contents][Index]
logb
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/logb.html
Gnulib module: logb
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: logbl, Previous: logb, Up: Function Substitutes [Contents][Index]
logbf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/logbf.html
Gnulib module: logbf
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: logf, Previous: logbf, Up: Function Substitutes [Contents][Index]
logbl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/logbl.html
Gnulib module: logbl
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: logl, Previous: logbl, Up: Function Substitutes [Contents][Index]
logf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/logf.html
Gnulib module: logf or logf-ieee
Portability problems fixed by either Gnulib module logf
or logf-ieee
:
Portability problems fixed by Gnulib module logf-ieee
:
Portability problems not fixed by Gnulib:
Next: longjmp, Previous: logf, Up: Function Substitutes [Contents][Index]
logl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/logl.html
Gnulib module: logl
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: lrand48, Previous: logl, Up: Function Substitutes [Contents][Index]
longjmp
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: lrint, Previous: longjmp, Up: Function Substitutes [Contents][Index]
lrand48
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/lrand48.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: lrintf, Previous: lrand48, Up: Function Substitutes [Contents][Index]
lrint
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/lrint.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: lrintl, Previous: lrint, Up: Function Substitutes [Contents][Index]
lrintf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/lrintf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: lround, Previous: lrintf, Up: Function Substitutes [Contents][Index]
lrintl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/lrintl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: lroundf, Previous: lrintl, Up: Function Substitutes [Contents][Index]
lround
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/lround.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: lroundl, Previous: lround, Up: Function Substitutes [Contents][Index]
lroundf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/lroundf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: lsearch, Previous: lroundf, Up: Function Substitutes [Contents][Index]
lroundl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/lroundl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: lseek, Previous: lroundl, Up: Function Substitutes [Contents][Index]
lsearch
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/lsearch.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: lstat, Previous: lsearch, Up: Function Substitutes [Contents][Index]
lseek
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/lseek.html
Gnulib module: lseek
Portability problems fixed by Gnulib:
off_t
is a 32-bit type, lseek
does not work
correctly with files larger than 2 GB. (Cf. AC_SYS_LARGEFILE
.)
Portability problems not fixed by Gnulib:
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.
Next: malloc, Previous: lseek, Up: Function Substitutes [Contents][Index]
lstat
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/lstat.html
Gnulib module: lstat
Portability problems 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.
(Cf. AC_SYS_LARGEFILE
.)
lstat("file/",buf)
succeeds instead of
failing with ENOTDIR
.
Solaris 9.
lstat
does not exist.
Portability problems not fixed by Gnulib:
struct stat
.
Next: mblen, Previous: lstat, Up: Function Substitutes [Contents][Index]
malloc
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/malloc.html
Gnulib module: malloc-posix
Portability problems fixed by Gnulib:
errno
to ENOMEM
on
some platforms:
mingw, MSVC 9.
Portability problems not fixed by Gnulib:
malloc (0)
always returns a NULL pointer on some platforms:
AIX 5.1, OSF/1 5.1.
Extension: Gnulib provides a module ‘malloc-gnu’ that substitutes a
malloc
implementation that behaves more like the glibc implementation,
regarding the result of malloc (0)
.
Next: mbrlen, Previous: malloc, Up: Function Substitutes [Contents][Index]
mblen
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/mblen.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: mbrtoc16, Previous: mblen, Up: Function Substitutes [Contents][Index]
mbrlen
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/mbrlen.html
Gnulib module: mbrlen
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: mbrtoc32, Previous: mbrlen, Up: Function Substitutes [Contents][Index]
mbrtoc16
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: mbrtowc, Previous: mbrtoc16, Up: Function Substitutes [Contents][Index]
mbrtoc32
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: mbsinit, Previous: mbrtoc32, Up: Function Substitutes [Contents][Index]
mbrtowc
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/mbrtowc.html
Gnulib module: mbrtowc
Portability problems fixed by Gnulib:
pwc
argument is NULL on some platforms:
Solaris 7.
pwc
argument if the string argument is
NULL on some platforms:
OSF/1 5.1.
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
Next: mbsnrtowcs, Previous: mbrtowc, Up: Function Substitutes [Contents][Index]
mbsinit
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/mbsinit.html
Gnulib module: mbsinit
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: mbsrtowcs, Previous: mbsinit, Up: Function Substitutes [Contents][Index]
mbsnrtowcs
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/mbsnrtowcs.html
Gnulib module: mbsnrtowcs
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.
Next: mbstowcs, Previous: mbsnrtowcs, Up: Function Substitutes [Contents][Index]
mbsrtowcs
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/mbsrtowcs.html
Gnulib module: mbsrtowcs
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.
Next: mbtowc, Previous: mbsrtowcs, Up: Function Substitutes [Contents][Index]
mbstowcs
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: memccpy, Previous: mbstowcs, Up: Function Substitutes [Contents][Index]
mbtowc
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/mbtowc.html
Gnulib module: mbtowc
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.
Next: memchr, Previous: mbtowc, Up: Function Substitutes [Contents][Index]
memccpy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/memccpy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: memcmp, Previous: memccpy, Up: Function Substitutes [Contents][Index]
memchr
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/memchr.html
Gnulib module: memchr or memchr-obsolete
Portability problems fixed by either Gnulib module memchr
or memchr-obsolete
:
Portability problems fixed by Gnulib module memchr-obsolete
:
Portability problems not fixed by Gnulib:
Next: memcpy, Previous: memchr, Up: Function Substitutes [Contents][Index]
memcmp
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/memcmp.html
Gnulib module: memcmp
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: memmove, Previous: memcmp, Up: Function Substitutes [Contents][Index]
memcpy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/memcpy.html
Gnulib module: memcpy
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: memset, Previous: memcpy, Up: Function Substitutes [Contents][Index]
memmove
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/memmove.html
Gnulib module: memmove
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: mkdir, Previous: memmove, Up: Function Substitutes [Contents][Index]
memset
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/memset.html
Gnulib module: memset
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: mkdirat, Previous: memset, Up: Function Substitutes [Contents][Index]
mkdir
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/mkdir.html
Gnulib module: mkdir
Portability problems fixed by Gnulib:
<io.h>
or
<direct.h>
) on some platforms:
mingw, MSVC 9.
_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:
Next: mkdtemp, Previous: mkdir, Up: Function Substitutes [Contents][Index]
mkdirat
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/mkdirat.html
Gnulib module: mkdirat
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: mkfifo, Previous: mkdirat, Up: Function Substitutes [Contents][Index]
mkdtemp
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/mkdtemp.html
Gnulib module: mkdtemp
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: mkfifoat, Previous: mkdtemp, Up: Function Substitutes [Contents][Index]
mkfifo
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/mkfifo.html
Gnulib module: mkfifo
Portability problems fixed by Gnulib:
ENOSYS
:
mingw, MSVC 9.
Portability problems not fixed by Gnulib:
EISDIR
instead of the correct EEXIST
:
HP-UX 11.11.
Next: mknod, Previous: mkfifo, Up: Function Substitutes [Contents][Index]
mkfifoat
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/mkfifoat.html
Gnulib module: mkfifoat
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
EISDIR
instead of the correct
EEXIST
: HP-UX 11.11.
Next: mknodat, Previous: mkfifoat, Up: Function Substitutes [Contents][Index]
mknod
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/mknod.html
Gnulib module: mknod
Portability problems fixed by Gnulib:
ENOSYS
:
mingw, MSVC 9.
Portability problems not fixed by Gnulib:
EISDIR
instead of the correct EEXIST
:
HP-UX 11.11.
Next: mkstemp, Previous: mknod, Up: Function Substitutes [Contents][Index]
mknodat
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/mknodat.html
Gnulib module: mkfifoat
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
EISDIR
instead of the correct
EEXIST
: HP-UX 11.11.
Next: mktime, Previous: mknodat, Up: Function Substitutes [Contents][Index]
mkstemp
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/mkstemp.html
Gnulib module: mkstemp
Portability problems fixed by Gnulib:
<unistd.h>
instead of <stdlib.h>
on some platforms:
Mac OS X 10.3.
off_t
is a 32-bit type, mkstemp
may not work
correctly to create files larger than 2 GB. (Cf. AC_SYS_LARGEFILE
.)
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.
Portability problems not fixed by Gnulib:
The gnulib module clean-temp
can create temporary files that will not
be left behind after signals such as SIGINT.
Next: mlock, Previous: mkstemp, Up: Function Substitutes [Contents][Index]
mktime
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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:
Next: mlockall, Previous: mktime, Up: Function Substitutes [Contents][Index]
mlock
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/mlock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: mmap, Previous: mlock, Up: Function Substitutes [Contents][Index]
mlockall
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/mlockall.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: modf, Previous: mlockall, Up: Function Substitutes [Contents][Index]
mmap
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/mmap.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
off_t
is a 32-bit type, this function may not
work correctly across the entire data range of files larger than 2 GB.
The fix is to use the AC_SYS_LARGEFILE
macro.
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.
Next: modff, Previous: mmap, Up: Function Substitutes [Contents][Index]
modf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/modf.html
Gnulib module: modf or modf-ieee
Portability problems fixed by either Gnulib module modf
or modf-ieee
:
Portability problems fixed by Gnulib module modf-ieee
:
Portability problems not fixed by Gnulib:
Next: modfl, Previous: modf, Up: Function Substitutes [Contents][Index]
modff
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/modff.html
Gnulib module: modff or modff-ieee
Portability problems fixed by either Gnulib module modff
or modff-ieee
:
Portability problems fixed by Gnulib module modff-ieee
:
Portability problems not fixed by Gnulib:
Next: mprotect, Previous: modff, Up: Function Substitutes [Contents][Index]
modfl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/modfl.html
Gnulib module: modfl or modfl-ieee
Portability problems fixed by either Gnulib module modfl
or modfl-ieee
:
Portability problems fixed by Gnulib module modfl-ieee
:
Portability problems not fixed by Gnulib:
Next: mq_close, Previous: modfl, Up: Function Substitutes [Contents][Index]
mprotect
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/mprotect.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
on some platforms:
mingw.
mprotect
on memory regions allocated
with malloc
.
Next: mq_getattr, Previous: mprotect, Up: Function Substitutes [Contents][Index]
mq_close
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/mq_close.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: mq_notify, Previous: mq_close, Up: Function Substitutes [Contents][Index]
mq_getattr
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/mq_getattr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: mq_open, Previous: mq_getattr, Up: Function Substitutes [Contents][Index]
mq_notify
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/mq_notify.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: mq_receive, Previous: mq_notify, Up: Function Substitutes [Contents][Index]
mq_open
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/mq_open.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: mq_send, Previous: mq_open, Up: Function Substitutes [Contents][Index]
mq_receive
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/mq_receive.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: mq_setattr, Previous: mq_receive, Up: Function Substitutes [Contents][Index]
mq_send
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/mq_send.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: mq_timedreceive, Previous: mq_send, Up: Function Substitutes [Contents][Index]
mq_setattr
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/mq_setattr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: mq_timedsend, Previous: mq_setattr, Up: Function Substitutes [Contents][Index]
mq_timedreceive
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/mq_timedreceive.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: mq_unlink, Previous: mq_timedreceive, Up: Function Substitutes [Contents][Index]
mq_timedsend
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/mq_timedsend.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: mrand48, Previous: mq_timedsend, Up: Function Substitutes [Contents][Index]
mq_unlink
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/mq_unlink.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: msgctl, Previous: mq_unlink, Up: Function Substitutes [Contents][Index]
mrand48
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/mrand48.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: msgget, Previous: mrand48, Up: Function Substitutes [Contents][Index]
msgctl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/msgctl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: msgrcv, Previous: msgctl, Up: Function Substitutes [Contents][Index]
msgget
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/msgget.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: msgsnd, Previous: msgget, Up: Function Substitutes [Contents][Index]
msgrcv
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/msgrcv.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: msync, Previous: msgrcv, Up: Function Substitutes [Contents][Index]
msgsnd
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/msgsnd.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: munlock, Previous: msgsnd, Up: Function Substitutes [Contents][Index]
msync
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/msync.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
msync
takes only two arguments.
Next: munlockall, Previous: msync, Up: Function Substitutes [Contents][Index]
munlock
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/munlock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: munmap, Previous: munlock, Up: Function Substitutes [Contents][Index]
munlockall
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/munlockall.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nan, Previous: munlockall, Up: Function Substitutes [Contents][Index]
munmap
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/munmap.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nanf, Previous: munmap, Up: Function Substitutes [Contents][Index]
nan
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/nan.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nanl, Previous: nan, Up: Function Substitutes [Contents][Index]
nanf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/nanf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nanosleep, Previous: nanf, Up: Function Substitutes [Contents][Index]
nanl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/nanl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nearbyint, Previous: nanl, Up: Function Substitutes [Contents][Index]
nanosleep
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/nanosleep.html
Gnulib module: nanosleep
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nearbyintf, Previous: nanosleep, Up: Function Substitutes [Contents][Index]
nearbyint
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/nearbyint.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nearbyintl, Previous: nearbyint, Up: Function Substitutes [Contents][Index]
nearbyintf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/nearbyintf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: newlocale, Previous: nearbyintf, Up: Function Substitutes [Contents][Index]
nearbyintl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/nearbyintl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nextafter, Previous: nearbyintl, Up: Function Substitutes [Contents][Index]
newlocale
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/newlocale.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nextafterf, Previous: newlocale, Up: Function Substitutes [Contents][Index]
nextafter
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/nextafter.html
Gnulib module: nextafter
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nextafterl, Previous: nextafter, Up: Function Substitutes [Contents][Index]
nextafterf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/nextafterf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nexttoward, Previous: nextafterf, Up: Function Substitutes [Contents][Index]
nextafterl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/nextafterl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nexttowardf, Previous: nextafterl, Up: Function Substitutes [Contents][Index]
nexttoward
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/nexttoward.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nexttowardl, Previous: nexttoward, Up: Function Substitutes [Contents][Index]
nexttowardf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/nexttowardf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nftw, Previous: nexttowardf, Up: Function Substitutes [Contents][Index]
nexttowardl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/nexttowardl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nice, Previous: nexttowardl, Up: Function Substitutes [Contents][Index]
nftw
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/nftw.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
off_t
is a 32-bit type, this function 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.
Next: nl_langinfo, Previous: nftw, Up: Function Substitutes [Contents][Index]
nice
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/nice.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
nice
returned 0 upon success.
Next: nl_langinfo_l, Previous: nice, Up: Function Substitutes [Contents][Index]
nl_langinfo
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/nl_langinfo.html
Gnulib module: nl_langinfo
Portability problems fixed by Gnulib:
CODESET
is not supported on some platforms:
glibc 2.0.6, OpenBSD 3.8.
ERA
, ERA_D_FMT
, ERA_D_T_FMT
,
ERA_T_FMT
, ALT_DIGITS
are not supported on some platforms:
OpenBSD 3.8.
T_FMT_AMPM
, YESEXPR
, NOEXPR
are not
supported on some platforms:
IRIX 5.3.
YESEXPR
and NOEXPR
do not return a valid
string on some platforms:
Irix 6.5.
Portability problems not fixed by Gnulib:
nl_langinfo(CODESET)
always
returns "US-ASCII"
.
nl_langinfo(CRNCYSTR)
returns the
empty string, although the local currency symbol, as returned by
localeconv()->currency_symbol
, is non-empty.
nl_langinfo(ABMON_1)
... nl_langinfo(ABMON_12)
are full month
names, not abbreviated month names.
Next: nrand48, Previous: nl_langinfo, Up: Function Substitutes [Contents][Index]
nl_langinfo_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/nl_langinfo_l.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ntohl, Previous: nl_langinfo_l, Up: Function Substitutes [Contents][Index]
nrand48
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/nrand48.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ntohs, Previous: nrand48, Up: Function Substitutes [Contents][Index]
ntohl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ntohl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: open, Previous: ntohl, Up: Function Substitutes [Contents][Index]
ntohs
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ntohs.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: openat, Previous: ntohs, Up: Function Substitutes [Contents][Index]
open
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/open.html
Gnulib module: open, fchdir
Portability problems fixed by the Gnulib module open:
off_t
is a 32-bit type, open
may not work
correctly with files larger than 2 GB. (Cf. AC_SYS_LARGEFILE
.)
O_NONBLOCK
flag when it is defined
by the gnulib module nonblocking
on some platforms:
mingw, MSVC 9.
Portability problems fixed by the Gnulib module fchdir:
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.
Next: opendir, Previous: open, Up: Function Substitutes [Contents][Index]
openat
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/openat.html
Gnulib module: openat
Portability problems fixed by Gnulib:
off_t
is a 32-bit type, open
may not work
correctly with files larger than 2 GB. (Cf. AC_SYS_LARGEFILE
.)
Portability problems not fixed by Gnulib:
Next: openlog, Previous: openat, Up: Function Substitutes [Contents][Index]
opendir
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/opendir.html
Gnulib module: opendir
Portability problems fixed by Gnulib:
off_t
is a 32-bit type, this function may not
work correctly on huge directories larger than 2 GB. Also, on platforms
where ino_t
is a 32-bit type, this function may report inode numbers
incorrectly. (Cf. AC_SYS_LARGEFILE
.)
Portability problems not fixed by Gnulib:
Next: open_memstream, Previous: opendir, Up: Function Substitutes [Contents][Index]
openlog
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/openlog.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: open_wmemstream, Previous: openlog, Up: Function Substitutes [Contents][Index]
open_memstream
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/open_memstream.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: optarg, Previous: open_memstream, Up: Function Substitutes [Contents][Index]
open_wmemstream
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/open_wmemstream.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.
Next: opterr, Previous: open_wmemstream, Up: Function Substitutes [Contents][Index]
optarg
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/optarg.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: optind, Previous: optarg, Up: Function Substitutes [Contents][Index]
opterr
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/opterr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: optopt, Previous: opterr, Up: Function Substitutes [Contents][Index]
optind
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/optind.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pathconf, Previous: optind, Up: Function Substitutes [Contents][Index]
optopt
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/optopt.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pause, Previous: optopt, Up: Function Substitutes [Contents][Index]
pathconf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pathconf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pclose, Previous: pathconf, Up: Function Substitutes [Contents][Index]
pause
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pause.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: perror, Previous: pause, Up: Function Substitutes [Contents][Index]
pclose
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pclose.html
Gnulib module: pclose
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pipe, Previous: pclose, Up: Function Substitutes [Contents][Index]
perror
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/perror.html
Gnulib module: perror
Portability problems fixed by Gnulib:
errno
of 0 like failure, although POSIX
requires that the message declare it as a success, on some platforms:
FreeBSD 8.2, OpenBSD 4.7, Mac OS X 10.5.
strerror
buffer on some platforms:
Cygwin 1.7.9.
Portability problems not fixed by Gnulib:
ferror
) on write failure, but not all platforms do this:
glibc 2.13, cygwin 1.7.9.
Next: poll, Previous: perror, Up: Function Substitutes [Contents][Index]
pipe
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pipe.html
Gnulib module: pipe-posix
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
EMFILE
if no
resources are left on some platforms:
Cygwin 1.7.9.
Next: popen, Previous: pipe, Up: Function Substitutes [Contents][Index]
poll
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/poll.html
Gnulib module: poll
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
poll
replacement can only be called on descriptors
created by the socket
function, not on regular file descriptors.
poll
replacement might
return 0 even before the timeout has passed. Programs using it with pipes can
thus busy wait.
Next: posix_fadvise, Previous: poll, Up: Function Substitutes [Contents][Index]
popen
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/popen.html
Gnulib module: popen
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
COMSPEC
is not set.
popen
calls into subsequent popen
children:
Cygwin 1.5.x.
Next: posix_fallocate, Previous: popen, Up: Function Substitutes [Contents][Index]
posix_fadvise
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_fadvise.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
off_t
is a 32-bit type, this function may not
work correctly across the entire data range of files larger than 2 GB.
The fix is to use the AC_SYS_LARGEFILE
macro.
Next: posix_madvise, Previous: posix_fadvise, Up: Function Substitutes [Contents][Index]
posix_fallocate
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_fallocate.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
off_t
is a 32-bit type, this function may not
work correctly across the entire data range of files larger than 2 GB.
The fix is to use the AC_SYS_LARGEFILE
macro.
Next: posix_mem_offset, Previous: posix_fallocate, Up: Function Substitutes [Contents][Index]
posix_madvise
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_madvise.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_memalign, Previous: posix_madvise, Up: Function Substitutes [Contents][Index]
posix_mem_offset
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_mem_offset.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_openpt, Previous: posix_mem_offset, Up: Function Substitutes [Contents][Index]
posix_memalign
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_memalign.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
The Gnulib module pagealign_alloc
provides a similar API
that returns memory aligned on a system page boundary.
Next: posix_spawn, Previous: posix_memalign, Up: Function Substitutes [Contents][Index]
posix_openpt
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_openpt.html
Gnulib module: posix_openpt
Portability problems fixed by Gnulib:
ENOSYS
or ENOENT
on
some platforms.
Portability problems not fixed by Gnulib:
Note that when using this function to open the master side of a
pseudo-terminal, you still need platform dependent code to open the
corresponding slave side. The Gnulib module openpty
provides
an easy-to-use API that does both at once.
Next: posix_spawn_file_actions_addclose, Previous: posix_openpt, Up: Function Substitutes [Contents][Index]
posix_spawn
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_spawn.html
Gnulib module: posix_spawn
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_spawn_file_actions_adddup2, Previous: posix_spawn, Up: Function Substitutes [Contents][Index]
posix_spawn_file_actions_addclose
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_spawn_file_actions_addclose.html
Gnulib module: posix_spawn_file_actions_addclose
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_spawn_file_actions_addopen, Previous: posix_spawn_file_actions_addclose, Up: Function Substitutes [Contents][Index]
posix_spawn_file_actions_adddup2
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_spawn_file_actions_adddup2.html
Gnulib module: posix_spawn_file_actions_adddup2
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_spawn_file_actions_destroy, Previous: posix_spawn_file_actions_adddup2, Up: Function Substitutes [Contents][Index]
posix_spawn_file_actions_addopen
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_spawn_file_actions_addopen.html
Gnulib module: posix_spawn_file_actions_addopen
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_spawn_file_actions_init, Previous: posix_spawn_file_actions_addopen, Up: Function Substitutes [Contents][Index]
posix_spawn_file_actions_destroy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_spawn_file_actions_destroy.html
Gnulib module: posix_spawn_file_actions_destroy
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_spawnattr_destroy, Previous: posix_spawn_file_actions_destroy, Up: Function Substitutes [Contents][Index]
posix_spawn_file_actions_init
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_spawn_file_actions_init.html
Gnulib module: posix_spawn_file_actions_init
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_spawnattr_getflags, Previous: posix_spawn_file_actions_init, Up: Function Substitutes [Contents][Index]
posix_spawnattr_destroy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_spawnattr_destroy.html
Gnulib module: posix_spawnattr_destroy
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_spawnattr_getpgroup, Previous: posix_spawnattr_destroy, Up: Function Substitutes [Contents][Index]
posix_spawnattr_getflags
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_spawnattr_getflags.html
Gnulib module: posix_spawnattr_getflags
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_spawnattr_getschedparam, Previous: posix_spawnattr_getflags, Up: Function Substitutes [Contents][Index]
posix_spawnattr_getpgroup
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_spawnattr_getpgroup.html
Gnulib module: posix_spawnattr_getpgroup
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_spawnattr_getschedpolicy, Previous: posix_spawnattr_getpgroup, Up: Function Substitutes [Contents][Index]
posix_spawnattr_getschedparam
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_spawnattr_getschedparam.html
Gnulib module: posix_spawnattr_getschedparam
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_spawnattr_getsigdefault, Previous: posix_spawnattr_getschedparam, Up: Function Substitutes [Contents][Index]
posix_spawnattr_getschedpolicy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_spawnattr_getschedpolicy.html
Gnulib module: posix_spawnattr_getschedpolicy
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_spawnattr_getsigmask, Previous: posix_spawnattr_getschedpolicy, Up: Function Substitutes [Contents][Index]
posix_spawnattr_getsigdefault
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_spawnattr_getsigdefault.html
Gnulib module: posix_spawnattr_getsigdefault
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_spawnattr_init, Previous: posix_spawnattr_getsigdefault, Up: Function Substitutes [Contents][Index]
posix_spawnattr_getsigmask
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_spawnattr_getsigmask.html
Gnulib module: posix_spawnattr_getsigmask
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_spawnattr_setflags, Previous: posix_spawnattr_getsigmask, Up: Function Substitutes [Contents][Index]
posix_spawnattr_init
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_spawnattr_init.html
Gnulib module: posix_spawnattr_init
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_spawnattr_setpgroup, Previous: posix_spawnattr_init, Up: Function Substitutes [Contents][Index]
posix_spawnattr_setflags
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_spawnattr_setflags.html
Gnulib module: posix_spawnattr_setflags
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_spawnattr_setschedparam, Previous: posix_spawnattr_setflags, Up: Function Substitutes [Contents][Index]
posix_spawnattr_setpgroup
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_spawnattr_setpgroup.html
Gnulib module: posix_spawnattr_setpgroup
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_spawnattr_setschedpolicy, Previous: posix_spawnattr_setpgroup, Up: Function Substitutes [Contents][Index]
posix_spawnattr_setschedparam
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_spawnattr_setschedparam.html
Gnulib module: posix_spawnattr_setschedparam
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_spawnattr_setsigdefault, Previous: posix_spawnattr_setschedparam, Up: Function Substitutes [Contents][Index]
posix_spawnattr_setschedpolicy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_spawnattr_setschedpolicy.html
Gnulib module: posix_spawnattr_setschedpolicy
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_spawnattr_setsigmask, Previous: posix_spawnattr_setschedpolicy, Up: Function Substitutes [Contents][Index]
posix_spawnattr_setsigdefault
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_spawnattr_setsigdefault.html
Gnulib module: posix_spawnattr_setsigdefault
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_spawnp, Previous: posix_spawnattr_setsigdefault, Up: Function Substitutes [Contents][Index]
posix_spawnattr_setsigmask
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_spawnattr_setsigmask.html
Gnulib module: posix_spawnattr_setsigmask
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_attr_destroy, Previous: posix_spawnattr_setsigmask, Up: Function Substitutes [Contents][Index]
posix_spawnp
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_spawnp.html
Gnulib module: posix_spawnp
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_attr_getclockres, Previous: posix_spawnp, Up: Function Substitutes [Contents][Index]
posix_trace_attr_destroy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_destroy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_attr_getcreatetime, Previous: posix_trace_attr_destroy, Up: Function Substitutes [Contents][Index]
posix_trace_attr_getclockres
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_getclockres.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_attr_getgenversion, Previous: posix_trace_attr_getclockres, Up: Function Substitutes [Contents][Index]
posix_trace_attr_getcreatetime
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_getcreatetime.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_attr_getinherited, Previous: posix_trace_attr_getcreatetime, Up: Function Substitutes [Contents][Index]
posix_trace_attr_getgenversion
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_getgenversion.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_attr_getlogfullpolicy, Previous: posix_trace_attr_getgenversion, Up: Function Substitutes [Contents][Index]
posix_trace_attr_getinherited
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_getinherited.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_attr_getlogsize, Previous: posix_trace_attr_getinherited, Up: Function Substitutes [Contents][Index]
posix_trace_attr_getlogfullpolicy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_getlogfullpolicy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_attr_getmaxdatasize, Previous: posix_trace_attr_getlogfullpolicy, Up: Function Substitutes [Contents][Index]
posix_trace_attr_getlogsize
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_getlogsize.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_attr_getmaxsystemeventsize, Previous: posix_trace_attr_getlogsize, Up: Function Substitutes [Contents][Index]
posix_trace_attr_getmaxdatasize
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_getmaxdatasize.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_attr_getmaxusereventsize, Previous: posix_trace_attr_getmaxdatasize, Up: Function Substitutes [Contents][Index]
posix_trace_attr_getmaxsystemeventsize
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_getmaxsystemeventsize.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_attr_getname, Previous: posix_trace_attr_getmaxsystemeventsize, Up: Function Substitutes [Contents][Index]
posix_trace_attr_getmaxusereventsize
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_getmaxusereventsize.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_attr_getstreamfullpolicy, Previous: posix_trace_attr_getmaxusereventsize, Up: Function Substitutes [Contents][Index]
posix_trace_attr_getname
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_getname.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_attr_getstreamsize, Previous: posix_trace_attr_getname, Up: Function Substitutes [Contents][Index]
posix_trace_attr_getstreamfullpolicy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_getstreamfullpolicy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_attr_init, Previous: posix_trace_attr_getstreamfullpolicy, Up: Function Substitutes [Contents][Index]
posix_trace_attr_getstreamsize
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_getstreamsize.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_attr_setinherited, Previous: posix_trace_attr_getstreamsize, Up: Function Substitutes [Contents][Index]
posix_trace_attr_init
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_init.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_attr_setlogfullpolicy, Previous: posix_trace_attr_init, Up: Function Substitutes [Contents][Index]
posix_trace_attr_setinherited
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_setinherited.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_attr_setlogsize, Previous: posix_trace_attr_setinherited, Up: Function Substitutes [Contents][Index]
posix_trace_attr_setlogfullpolicy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_setlogfullpolicy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_attr_setmaxdatasize, Previous: posix_trace_attr_setlogfullpolicy, Up: Function Substitutes [Contents][Index]
posix_trace_attr_setlogsize
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_setlogsize.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_attr_setname, Previous: posix_trace_attr_setlogsize, Up: Function Substitutes [Contents][Index]
posix_trace_attr_setmaxdatasize
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_setmaxdatasize.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_attr_setstreamfullpolicy, Previous: posix_trace_attr_setmaxdatasize, Up: Function Substitutes [Contents][Index]
posix_trace_attr_setname
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_setname.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_attr_setstreamsize, Previous: posix_trace_attr_setname, Up: Function Substitutes [Contents][Index]
posix_trace_attr_setstreamfullpolicy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_setstreamfullpolicy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_clear, Previous: posix_trace_attr_setstreamfullpolicy, Up: Function Substitutes [Contents][Index]
posix_trace_attr_setstreamsize
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_attr_setstreamsize.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_close, Previous: posix_trace_attr_setstreamsize, Up: Function Substitutes [Contents][Index]
posix_trace_clear
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_clear.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_create, Previous: posix_trace_clear, Up: Function Substitutes [Contents][Index]
posix_trace_close
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_close.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_create_withlog, Previous: posix_trace_close, Up: Function Substitutes [Contents][Index]
posix_trace_create
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_create.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_event, Previous: posix_trace_create, Up: Function Substitutes [Contents][Index]
posix_trace_create_withlog
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_create_withlog.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_eventid_equal, Previous: posix_trace_create_withlog, Up: Function Substitutes [Contents][Index]
posix_trace_event
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_event.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_eventid_get_name, Previous: posix_trace_event, Up: Function Substitutes [Contents][Index]
posix_trace_eventid_equal
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_eventid_equal.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_eventid_open, Previous: posix_trace_eventid_equal, Up: Function Substitutes [Contents][Index]
posix_trace_eventid_get_name
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_eventid_get_name.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_eventset_add, Previous: posix_trace_eventid_get_name, Up: Function Substitutes [Contents][Index]
posix_trace_eventid_open
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_eventid_open.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_eventset_del, Previous: posix_trace_eventid_open, Up: Function Substitutes [Contents][Index]
posix_trace_eventset_add
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_eventset_add.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_eventset_empty, Previous: posix_trace_eventset_add, Up: Function Substitutes [Contents][Index]
posix_trace_eventset_del
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_eventset_del.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_eventset_fill, Previous: posix_trace_eventset_del, Up: Function Substitutes [Contents][Index]
posix_trace_eventset_empty
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_eventset_empty.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_eventset_ismember, Previous: posix_trace_eventset_empty, Up: Function Substitutes [Contents][Index]
posix_trace_eventset_fill
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_eventset_fill.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_eventtypelist_getnext_id, Previous: posix_trace_eventset_fill, Up: Function Substitutes [Contents][Index]
posix_trace_eventset_ismember
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_eventset_ismember.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_eventtypelist_rewind, Previous: posix_trace_eventset_ismember, Up: Function Substitutes [Contents][Index]
posix_trace_eventtypelist_getnext_id
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_eventtypelist_getnext_id.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_flush, Previous: posix_trace_eventtypelist_getnext_id, Up: Function Substitutes [Contents][Index]
posix_trace_eventtypelist_rewind
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_eventtypelist_rewind.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_get_attr, Previous: posix_trace_eventtypelist_rewind, Up: Function Substitutes [Contents][Index]
posix_trace_flush
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_flush.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_get_filter, Previous: posix_trace_flush, Up: Function Substitutes [Contents][Index]
posix_trace_get_attr
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_get_attr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_get_status, Previous: posix_trace_get_attr, Up: Function Substitutes [Contents][Index]
posix_trace_get_filter
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_get_filter.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_getnext_event, Previous: posix_trace_get_filter, Up: Function Substitutes [Contents][Index]
posix_trace_get_status
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_get_status.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_open, Previous: posix_trace_get_status, Up: Function Substitutes [Contents][Index]
posix_trace_getnext_event
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_getnext_event.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_rewind, Previous: posix_trace_getnext_event, Up: Function Substitutes [Contents][Index]
posix_trace_open
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_open.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_set_filter, Previous: posix_trace_open, Up: Function Substitutes [Contents][Index]
posix_trace_rewind
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_rewind.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_shutdown, Previous: posix_trace_rewind, Up: Function Substitutes [Contents][Index]
posix_trace_set_filter
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_set_filter.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_start, Previous: posix_trace_set_filter, Up: Function Substitutes [Contents][Index]
posix_trace_shutdown
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_shutdown.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_stop, Previous: posix_trace_shutdown, Up: Function Substitutes [Contents][Index]
posix_trace_start
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_start.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_timedgetnext_event, Previous: posix_trace_start, Up: Function Substitutes [Contents][Index]
posix_trace_stop
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_stop.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_trid_eventid_open, Previous: posix_trace_stop, Up: Function Substitutes [Contents][Index]
posix_trace_timedgetnext_event
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_timedgetnext_event.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_trace_trygetnext_event, Previous: posix_trace_timedgetnext_event, Up: Function Substitutes [Contents][Index]
posix_trace_trid_eventid_open
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_trid_eventid_open.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_typed_mem_get_info, Previous: posix_trace_trid_eventid_open, Up: Function Substitutes [Contents][Index]
posix_trace_trygetnext_event
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_trace_trygetnext_event.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: posix_typed_mem_open, Previous: posix_trace_trygetnext_event, Up: Function Substitutes [Contents][Index]
posix_typed_mem_get_info
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_typed_mem_get_info.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pow, Previous: posix_typed_mem_get_info, Up: Function Substitutes [Contents][Index]
posix_typed_mem_open
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/posix_typed_mem_open.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: powf, Previous: posix_typed_mem_open, Up: Function Substitutes [Contents][Index]
pow
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pow.html
Gnulib module: pow
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: powl, Previous: pow, Up: Function Substitutes [Contents][Index]
powf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/powf.html
Gnulib module: powf
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pread, Previous: powf, Up: Function Substitutes [Contents][Index]
powl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/powl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: printf, Previous: powl, Up: Function Substitutes [Contents][Index]
pread
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pread.html
Gnulib module: pread
Portability problems fixed by Gnulib:
off_t
is a 32-bit type, this function may not
work correctly on files larger than 2 GB. (Cf. AC_SYS_LARGEFILE
.)
Portability problems not fixed by Gnulib:
Next: pselect, Previous: pread, Up: Function Substitutes [Contents][Index]
printf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/printf.html
Gnulib module: printf-posix or stdio, nonblocking, sigpipe
Portability problems fixed by Gnulib module printf-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 1.5.24, mingw, MSVC 9, BeOS.
"%f"
, "%e"
, "%g"
of Infinity and NaN yields an
incorrect result on some platforms:
AIX 5.2, OSF/1 5.1, Solaris 11 2011-11, mingw, MSVC 9.
"%2$s"
, on some platforms:
NetBSD 3.0, mingw, MSVC 9, BeOS.
'
flag on some platforms:
NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9.
"%010f"
of NaN and Infinity yields an incorrect result (padded
with zeroes) on some platforms:
Mac OS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 11 2011-11, Cygwin 1.5.x, mingw, MSVC 9.
Portability problems fixed by Gnulib module stdio
or printf-posix
, together with module nonblocking
:
errno
being set to ENOSPC
instead of EAGAIN
on some
platforms:
mingw, MSVC 9.
Portability problems fixed by Gnulib module stdio
or printf-posix
, together with module sigpipe
:
SIGPIPE
handler, on some platforms:
mingw, MSVC 9.
Portability problems not fixed by Gnulib:
EOF
but
does not set the error flag for ferror
on some platforms:
glibc 2.13, cygwin 1.7.9.
Next: psiginfo, Previous: printf, Up: Function Substitutes [Contents][Index]
pselect
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pselect.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: psignal, Previous: pselect, Up: Function Substitutes [Contents][Index]
psiginfo
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/psiginfo.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_atfork, Previous: psiginfo, Up: Function Substitutes [Contents][Index]
psignal
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/psignal.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_attr_destroy, Previous: psignal, Up: Function Substitutes [Contents][Index]
pthread_atfork
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_atfork.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_attr_getdetachstate, Previous: pthread_atfork, Up: Function Substitutes [Contents][Index]
pthread_attr_destroy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_attr_destroy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_attr_getguardsize, Previous: pthread_attr_destroy, Up: Function Substitutes [Contents][Index]
pthread_attr_getdetachstate
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_attr_getdetachstate.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_attr_getinheritsched, Previous: pthread_attr_getdetachstate, Up: Function Substitutes [Contents][Index]
pthread_attr_getguardsize
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_attr_getguardsize.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_attr_getschedparam, Previous: pthread_attr_getguardsize, Up: Function Substitutes [Contents][Index]
pthread_attr_getinheritsched
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_attr_getinheritsched.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_attr_getschedpolicy, Previous: pthread_attr_getinheritsched, Up: Function Substitutes [Contents][Index]
pthread_attr_getschedparam
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_attr_getschedparam.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_attr_getscope, Previous: pthread_attr_getschedparam, Up: Function Substitutes [Contents][Index]
pthread_attr_getschedpolicy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_attr_getschedpolicy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_attr_getstack, Previous: pthread_attr_getschedpolicy, Up: Function Substitutes [Contents][Index]
pthread_attr_getscope
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_attr_getscope.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_attr_getstacksize, Previous: pthread_attr_getscope, Up: Function Substitutes [Contents][Index]
pthread_attr_getstack
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_attr_getstack.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_attr_init, Previous: pthread_attr_getstack, Up: Function Substitutes [Contents][Index]
pthread_attr_getstacksize
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_attr_getstacksize.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_attr_setdetachstate, Previous: pthread_attr_getstacksize, Up: Function Substitutes [Contents][Index]
pthread_attr_init
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_attr_init.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_attr_setguardsize, Previous: pthread_attr_init, Up: Function Substitutes [Contents][Index]
pthread_attr_setdetachstate
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_attr_setdetachstate.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_attr_setinheritsched, Previous: pthread_attr_setdetachstate, Up: Function Substitutes [Contents][Index]
pthread_attr_setguardsize
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_attr_setguardsize.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_attr_setschedparam, Previous: pthread_attr_setguardsize, Up: Function Substitutes [Contents][Index]
pthread_attr_setinheritsched
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_attr_setinheritsched.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_attr_setschedpolicy, Previous: pthread_attr_setinheritsched, Up: Function Substitutes [Contents][Index]
pthread_attr_setschedparam
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_attr_setschedparam.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_attr_setscope, Previous: pthread_attr_setschedparam, Up: Function Substitutes [Contents][Index]
pthread_attr_setschedpolicy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_attr_setschedpolicy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_attr_setstack, Previous: pthread_attr_setschedpolicy, Up: Function Substitutes [Contents][Index]
pthread_attr_setscope
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_attr_setscope.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_attr_setstacksize, Previous: pthread_attr_setscope, Up: Function Substitutes [Contents][Index]
pthread_attr_setstack
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_attr_setstack.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_barrier_destroy, Previous: pthread_attr_setstack, Up: Function Substitutes [Contents][Index]
pthread_attr_setstacksize
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_attr_setstacksize.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_barrier_init, Previous: pthread_attr_setstacksize, Up: Function Substitutes [Contents][Index]
pthread_barrier_destroy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_barrier_destroy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_barrier_wait, Previous: pthread_barrier_destroy, Up: Function Substitutes [Contents][Index]
pthread_barrier_init
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_barrier_init.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_barrierattr_destroy, Previous: pthread_barrier_init, Up: Function Substitutes [Contents][Index]
pthread_barrier_wait
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_barrier_wait.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_barrierattr_getpshared, Previous: pthread_barrier_wait, Up: Function Substitutes [Contents][Index]
pthread_barrierattr_destroy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_barrierattr_destroy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_barrierattr_init, Previous: pthread_barrierattr_destroy, Up: Function Substitutes [Contents][Index]
pthread_barrierattr_getpshared
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_barrierattr_getpshared.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_barrierattr_setpshared, Previous: pthread_barrierattr_getpshared, Up: Function Substitutes [Contents][Index]
pthread_barrierattr_init
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_barrierattr_init.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_cancel, Previous: pthread_barrierattr_init, Up: Function Substitutes [Contents][Index]
pthread_barrierattr_setpshared
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_barrierattr_setpshared.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_cleanup_pop, Previous: pthread_barrierattr_setpshared, Up: Function Substitutes [Contents][Index]
pthread_cancel
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_cancel.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_cleanup_push, Previous: pthread_cancel, Up: Function Substitutes [Contents][Index]
pthread_cleanup_pop
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_cleanup_pop.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_cond_broadcast, Previous: pthread_cleanup_pop, Up: Function Substitutes [Contents][Index]
pthread_cleanup_push
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_cleanup_push.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_cond_destroy, Previous: pthread_cleanup_push, Up: Function Substitutes [Contents][Index]
pthread_cond_broadcast
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_cond_broadcast.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_cond_init, Previous: pthread_cond_broadcast, Up: Function Substitutes [Contents][Index]
pthread_cond_destroy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_cond_destroy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_cond_signal, Previous: pthread_cond_destroy, Up: Function Substitutes [Contents][Index]
pthread_cond_init
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_cond_init.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_cond_timedwait, Previous: pthread_cond_init, Up: Function Substitutes [Contents][Index]
pthread_cond_signal
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_cond_signal.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_cond_wait, Previous: pthread_cond_signal, Up: Function Substitutes [Contents][Index]
pthread_cond_timedwait
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_cond_timedwait.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_condattr_destroy, Previous: pthread_cond_timedwait, Up: Function Substitutes [Contents][Index]
pthread_cond_wait
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_cond_wait.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_condattr_getclock, Previous: pthread_cond_wait, Up: Function Substitutes [Contents][Index]
pthread_condattr_destroy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_condattr_destroy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_condattr_getpshared, Previous: pthread_condattr_destroy, Up: Function Substitutes [Contents][Index]
pthread_condattr_getclock
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_condattr_getclock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_condattr_init, Previous: pthread_condattr_getclock, Up: Function Substitutes [Contents][Index]
pthread_condattr_getpshared
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_condattr_getpshared.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_condattr_setclock, Previous: pthread_condattr_getpshared, Up: Function Substitutes [Contents][Index]
pthread_condattr_init
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_condattr_init.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_condattr_setpshared, Previous: pthread_condattr_init, Up: Function Substitutes [Contents][Index]
pthread_condattr_setclock
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_condattr_setclock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_create, Previous: pthread_condattr_setclock, Up: Function Substitutes [Contents][Index]
pthread_condattr_setpshared
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_condattr_setpshared.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_detach, Previous: pthread_condattr_setpshared, Up: Function Substitutes [Contents][Index]
pthread_create
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_create.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_equal, Previous: pthread_create, Up: Function Substitutes [Contents][Index]
pthread_detach
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_detach.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_exit, Previous: pthread_detach, Up: Function Substitutes [Contents][Index]
pthread_equal
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_equal.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_getconcurrency, Previous: pthread_equal, Up: Function Substitutes [Contents][Index]
pthread_exit
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_exit.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_getcpuclockid, Previous: pthread_exit, Up: Function Substitutes [Contents][Index]
pthread_getconcurrency
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_getconcurrency.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_getschedparam, Previous: pthread_getconcurrency, Up: Function Substitutes [Contents][Index]
pthread_getcpuclockid
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_getcpuclockid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_getspecific, Previous: pthread_getcpuclockid, Up: Function Substitutes [Contents][Index]
pthread_getschedparam
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_getschedparam.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_join, Previous: pthread_getschedparam, Up: Function Substitutes [Contents][Index]
pthread_getspecific
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_getspecific.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_key_create, Previous: pthread_getspecific, Up: Function Substitutes [Contents][Index]
pthread_join
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_join.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_key_delete, Previous: pthread_join, Up: Function Substitutes [Contents][Index]
pthread_key_create
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_key_create.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_kill, Previous: pthread_key_create, Up: Function Substitutes [Contents][Index]
pthread_key_delete
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_key_delete.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_mutex_consistent, Previous: pthread_key_delete, Up: Function Substitutes [Contents][Index]
pthread_kill
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_kill.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_mutex_destroy, Previous: pthread_kill, Up: Function Substitutes [Contents][Index]
pthread_mutex_consistent
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_mutex_consistent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_mutex_getprioceiling, Previous: pthread_mutex_consistent, Up: Function Substitutes [Contents][Index]
pthread_mutex_destroy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_mutex_destroy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_mutex_init, Previous: pthread_mutex_destroy, Up: Function Substitutes [Contents][Index]
pthread_mutex_getprioceiling
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_mutex_getprioceiling.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_mutex_lock, Previous: pthread_mutex_getprioceiling, Up: Function Substitutes [Contents][Index]
pthread_mutex_init
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_mutex_init.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_mutex_setprioceiling, Previous: pthread_mutex_init, Up: Function Substitutes [Contents][Index]
pthread_mutex_lock
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_mutex_lock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_mutex_timedlock, Previous: pthread_mutex_lock, Up: Function Substitutes [Contents][Index]
pthread_mutex_setprioceiling
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_mutex_setprioceiling.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_mutex_trylock, Previous: pthread_mutex_setprioceiling, Up: Function Substitutes [Contents][Index]
pthread_mutex_timedlock
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_mutex_timedlock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_mutex_unlock, Previous: pthread_mutex_timedlock, Up: Function Substitutes [Contents][Index]
pthread_mutex_trylock
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_mutex_trylock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_mutexattr_destroy, Previous: pthread_mutex_trylock, Up: Function Substitutes [Contents][Index]
pthread_mutex_unlock
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_mutex_unlock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_mutexattr_getprioceiling, Previous: pthread_mutex_unlock, Up: Function Substitutes [Contents][Index]
pthread_mutexattr_destroy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_mutexattr_destroy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_mutexattr_getprotocol, Previous: pthread_mutexattr_destroy, Up: Function Substitutes [Contents][Index]
pthread_mutexattr_getprioceiling
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_mutexattr_getprioceiling.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_mutexattr_getpshared, Previous: pthread_mutexattr_getprioceiling, Up: Function Substitutes [Contents][Index]
pthread_mutexattr_getprotocol
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_mutexattr_getprotocol.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_mutexattr_getrobust, Previous: pthread_mutexattr_getprotocol, Up: Function Substitutes [Contents][Index]
pthread_mutexattr_getpshared
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_mutexattr_getpshared.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_mutexattr_gettype, Previous: pthread_mutexattr_getpshared, Up: Function Substitutes [Contents][Index]
pthread_mutexattr_getrobust
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_mutexattr_getrobust.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_mutexattr_init, Previous: pthread_mutexattr_getrobust, Up: Function Substitutes [Contents][Index]
pthread_mutexattr_gettype
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_mutexattr_gettype.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_mutexattr_setprioceiling, Previous: pthread_mutexattr_gettype, Up: Function Substitutes [Contents][Index]
pthread_mutexattr_init
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_mutexattr_init.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_mutexattr_setprotocol, Previous: pthread_mutexattr_init, Up: Function Substitutes [Contents][Index]
pthread_mutexattr_setprioceiling
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_mutexattr_setprioceiling.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_mutexattr_setpshared, Previous: pthread_mutexattr_setprioceiling, Up: Function Substitutes [Contents][Index]
pthread_mutexattr_setprotocol
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_mutexattr_setprotocol.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_mutexattr_setrobust, Previous: pthread_mutexattr_setprotocol, Up: Function Substitutes [Contents][Index]
pthread_mutexattr_setpshared
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_mutexattr_setpshared.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_mutexattr_settype, Previous: pthread_mutexattr_setpshared, Up: Function Substitutes [Contents][Index]
pthread_mutexattr_setrobust
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_mutexattr_setrobust.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_once, Previous: pthread_mutexattr_setrobust, Up: Function Substitutes [Contents][Index]
pthread_mutexattr_settype
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_mutexattr_settype.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_rwlock_destroy, Previous: pthread_mutexattr_settype, Up: Function Substitutes [Contents][Index]
pthread_once
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_once.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_rwlock_init, Previous: pthread_once, Up: Function Substitutes [Contents][Index]
pthread_rwlock_destroy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_rwlock_destroy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_rwlock_rdlock, Previous: pthread_rwlock_destroy, Up: Function Substitutes [Contents][Index]
pthread_rwlock_init
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_rwlock_init.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_rwlock_timedrdlock, Previous: pthread_rwlock_init, Up: Function Substitutes [Contents][Index]
pthread_rwlock_rdlock
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_rwlock_rdlock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_rwlock_timedwrlock, Previous: pthread_rwlock_rdlock, Up: Function Substitutes [Contents][Index]
pthread_rwlock_timedrdlock
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_rwlock_timedrdlock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_rwlock_tryrdlock, Previous: pthread_rwlock_timedrdlock, Up: Function Substitutes [Contents][Index]
pthread_rwlock_timedwrlock
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_rwlock_timedwrlock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_rwlock_trywrlock, Previous: pthread_rwlock_timedwrlock, Up: Function Substitutes [Contents][Index]
pthread_rwlock_tryrdlock
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_rwlock_tryrdlock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_rwlock_unlock, Previous: pthread_rwlock_tryrdlock, Up: Function Substitutes [Contents][Index]
pthread_rwlock_trywrlock
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_rwlock_trywrlock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_rwlock_wrlock, Previous: pthread_rwlock_trywrlock, Up: Function Substitutes [Contents][Index]
pthread_rwlock_unlock
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_rwlock_unlock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_rwlockattr_destroy, Previous: pthread_rwlock_unlock, Up: Function Substitutes [Contents][Index]
pthread_rwlock_wrlock
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_rwlock_wrlock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_rwlockattr_getpshared, Previous: pthread_rwlock_wrlock, Up: Function Substitutes [Contents][Index]
pthread_rwlockattr_destroy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_rwlockattr_destroy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_rwlockattr_init, Previous: pthread_rwlockattr_destroy, Up: Function Substitutes [Contents][Index]
pthread_rwlockattr_getpshared
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_rwlockattr_getpshared.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_rwlockattr_setpshared, Previous: pthread_rwlockattr_getpshared, Up: Function Substitutes [Contents][Index]
pthread_rwlockattr_init
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_rwlockattr_init.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_self, Previous: pthread_rwlockattr_init, Up: Function Substitutes [Contents][Index]
pthread_rwlockattr_setpshared
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_rwlockattr_setpshared.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_setcancelstate, Previous: pthread_rwlockattr_setpshared, Up: Function Substitutes [Contents][Index]
pthread_self
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_self.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_setcanceltype, Previous: pthread_self, Up: Function Substitutes [Contents][Index]
pthread_setcancelstate
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_setcancelstate.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_setconcurrency, Previous: pthread_setcancelstate, Up: Function Substitutes [Contents][Index]
pthread_setcanceltype
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_setcanceltype.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_setschedparam, Previous: pthread_setcanceltype, Up: Function Substitutes [Contents][Index]
pthread_setconcurrency
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_setconcurrency.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_setschedprio, Previous: pthread_setconcurrency, Up: Function Substitutes [Contents][Index]
pthread_setschedparam
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_setschedparam.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_setspecific, Previous: pthread_setschedparam, Up: Function Substitutes [Contents][Index]
pthread_setschedprio
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_setschedprio.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_sigmask, Previous: pthread_setschedprio, Up: Function Substitutes [Contents][Index]
pthread_setspecific
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_setspecific.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_spin_destroy, Previous: pthread_setspecific, Up: Function Substitutes [Contents][Index]
pthread_sigmask
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_sigmask.html
Gnulib module: pthread_sigmask
Portability problems fixed by Gnulib:
<pthread.h>
instead of <signal.h>
on some platforms:
Mac OS X 10.3, FreeBSD 6.4, OpenBSD 3.8, OSF/1 4.0, Solaris 2.6.
-lpthread
on some platforms:
FreeBSD 6.4, HP-UX 11.31, Solaris 9.
Portability problems not fixed by Gnulib:
Next: pthread_spin_init, Previous: pthread_sigmask, Up: Function Substitutes [Contents][Index]
pthread_spin_destroy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_spin_destroy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_spin_lock, Previous: pthread_spin_destroy, Up: Function Substitutes [Contents][Index]
pthread_spin_init
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_spin_init.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_spin_trylock, Previous: pthread_spin_init, Up: Function Substitutes [Contents][Index]
pthread_spin_lock
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_spin_lock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_spin_unlock, Previous: pthread_spin_lock, Up: Function Substitutes [Contents][Index]
pthread_spin_trylock
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_spin_trylock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_testcancel, Previous: pthread_spin_trylock, Up: Function Substitutes [Contents][Index]
pthread_spin_unlock
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_spin_unlock.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ptsname, Previous: pthread_spin_unlock, Up: Function Substitutes [Contents][Index]
pthread_testcancel
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pthread_testcancel.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: putc, Previous: pthread_testcancel, Up: Function Substitutes [Contents][Index]
ptsname
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ptsname.html
Gnulib module: ptsname
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Note that the Gnulib module ptsname_r
is a version of this
function that is more likely to be thread-safe.
Next: putc_unlocked, Previous: ptsname, Up: Function Substitutes [Contents][Index]
putc
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/putc.html
Gnulib module: stdio, nonblocking, sigpipe
Portability problems fixed by Gnulib module stdio
, together with module nonblocking
:
errno
being set to ENOSPC
instead of EAGAIN
on some
platforms:
mingw, MSVC 9.
Portability problems fixed by Gnulib module stdio
, together with module sigpipe
:
SIGPIPE
handler, on some platforms:
mingw, MSVC 9.
Portability problems not fixed by Gnulib:
errno
upon failure.
errno
or the
stream error indicator on attempts to write to a read-only stream:
Cygwin 1.7.9.
Next: putchar, Previous: putc, Up: Function Substitutes [Contents][Index]
putc_unlocked
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/putc_unlocked.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
or the
stream error indicator on attempts to write to a read-only stream:
Cygwin 1.7.9.
Next: putchar_unlocked, Previous: putc_unlocked, Up: Function Substitutes [Contents][Index]
putchar
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/putchar.html
Gnulib module: stdio, nonblocking, sigpipe
Portability problems fixed by Gnulib module stdio
, together with module nonblocking
:
errno
being set to ENOSPC
instead of EAGAIN
on some
platforms:
mingw, MSVC 9.
Portability problems fixed by Gnulib module stdio
, together with module sigpipe
:
SIGPIPE
handler, on some platforms:
mingw, MSVC 9.
Portability problems not fixed by Gnulib:
errno
upon failure.
errno
or the
stream error indicator on attempts to write to a read-only stream:
Cygwin 1.7.9.
Next: putenv, Previous: putchar, Up: Function Substitutes [Contents][Index]
putchar_unlocked
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/putchar_unlocked.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
or the
stream error indicator on attempts to write to a read-only stream:
Cygwin 1.7.9.
Next: putmsg, Previous: putchar_unlocked, Up: Function Substitutes [Contents][Index]
putenv
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/putenv.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Extension: Gnulib provides a module ‘putenv’ that substitutes a
putenv
implementation that can also be used to remove environment
variables.
Next: putpmsg, Previous: putenv, Up: Function Substitutes [Contents][Index]
putmsg
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/putmsg.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: puts, Previous: putmsg, Up: Function Substitutes [Contents][Index]
putpmsg
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/putpmsg.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pututxline, Previous: putpmsg, Up: Function Substitutes [Contents][Index]
puts
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/puts.html
Gnulib module: stdio, nonblocking, sigpipe
Portability problems fixed by Gnulib module stdio
, together with module nonblocking
:
errno
being set to ENOSPC
instead of EAGAIN
on some
platforms:
mingw, MSVC 9.
Portability problems fixed by Gnulib module stdio
, together with module sigpipe
:
SIGPIPE
handler, on some platforms:
mingw, MSVC 9.
Portability problems not fixed by Gnulib:
errno
upon failure.
errno
or the
stream error indicator on attempts to write to a read-only stream:
Cygwin 1.7.9.
Next: putwc, Previous: puts, Up: Function Substitutes [Contents][Index]
pututxline
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pututxline.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: putwchar, Previous: pututxline, Up: Function Substitutes [Contents][Index]
putwc
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
errno
or the
stream error indicator on attempts to write to a read-only stream:
Cygwin 1.7.9.
Next: pwrite, Previous: putwc, Up: Function Substitutes [Contents][Index]
putwchar
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
errno
or the
stream error indicator on attempts to write to a read-only stream:
Cygwin 1.7.9.
Next: qsort, Previous: putwchar, Up: Function Substitutes [Contents][Index]
pwrite
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/pwrite.html
Gnulib module: pwrite
Portability problems fixed by Gnulib:
off_t
is a 32-bit type, this function may not
work correctly on files larger than 2 GB. (Cf. AC_SYS_LARGEFILE
.)
off_t
argument
when large file support is enabled on some platforms:
HP-UX 11.11.
Portability problems not fixed by Gnulib:
Next: quick_exit, Previous: pwrite, Up: Function Substitutes [Contents][Index]
qsort
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/qsort.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: raise, Previous: qsort, Up: Function Substitutes [Contents][Index]
quick_exit
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: rand, Previous: quick_exit, Up: Function Substitutes [Contents][Index]
raise
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/raise.html
Gnulib module: raise
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: rand_r, Previous: raise, Up: Function Substitutes [Contents][Index]
rand
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/rand.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: random, Previous: rand, Up: Function Substitutes [Contents][Index]
rand_r
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/rand_r.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: read, Previous: rand_r, Up: Function Substitutes [Contents][Index]
random
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/random.html
Gnulib module: random
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: readdir, Previous: random, Up: Function Substitutes [Contents][Index]
read
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/read.html
Gnulib module: stdio, nonblocking
Portability problems fixed by Gnulib module stdio
, together with module nonblocking
:
errno
being set to EINVAL
instead of EAGAIN
on
some platforms:
mingw, MSVC 9.
Portability problems not fixed by Gnulib:
EINTR
, even in programs that don’t
install any signal handlers, on some platforms:
Mac OS X 10.5.
For handling EINTR
, Gnulib provides a module ‘safe-read’ with a
function safe_read
.
Next: readdir_r, Previous: read, Up: Function Substitutes [Contents][Index]
readdir
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/readdir.html
Gnulib module: readdir
Portability problems fixed by Gnulib:
off_t
is a 32-bit type, this function may not
work correctly on huge directories larger than 2 GB. Also, on platforms
where ino_t
is a 32-bit type, this function may report inode numbers
incorrectly. (Cf. AC_SYS_LARGEFILE
.)
Portability problems not fixed by Gnulib:
Next: readlink, Previous: readdir, Up: Function Substitutes [Contents][Index]
readdir_r
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/readdir_r.html
Gnulib module: extensions
Portability problems fixed by Gnulib:
_POSIX_PTHREAD_SEMANTICS
is not defined).
Portability problems not fixed by Gnulib:
off_t
is a 32-bit type, this function may not
work correctly on huge directories larger than 2 GB. Also, on platforms
where ino_t
is a 32-bit type, this function may report inode numbers
incorrectly. The fix is to use the AC_SYS_LARGEFILE
macro.
Next: readlinkat, Previous: readdir_r, Up: Function Substitutes [Contents][Index]
readlink
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/readlink.html
Gnulib module: readlink
Portability problems fixed by Gnulib:
readlink("link/",buf,len)
:
FreeBSD 7.2, Solaris 9.
readlink
returns int
instead of
ssize_t
:
glibc 2.4, FreeBSD 6.0, OpenBSD 3.8, Cygwin 1.5.x.
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
.
errno
to ERANGE
rather than returning truncated
contents, and Linux sets errno
to EINVAL
if the
requested length is zero. Use the gnulib module areadlink for
improved ability to read symlink contents.
Next: readv, Previous: readlink, Up: Function Substitutes [Contents][Index]
readlinkat
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/readlinkat.html
Gnulib module: readlinkat
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
.
errno
to ERANGE
rather than returning truncated
contents, and Linux sets errno
to EINVAL
if the
requested length is zero. Use the gnulib module areadlink for
improved ability to read symlink contents.
Next: realloc, Previous: readlinkat, Up: Function Substitutes [Contents][Index]
readv
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/readv.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: realpath, Previous: readv, Up: Function Substitutes [Contents][Index]
realloc
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/realloc.html
Gnulib module: realloc-posix
Portability problems fixed by Gnulib:
errno
to ENOMEM
on
some platforms:
mingw, MSVC 9.
Portability problems not fixed by Gnulib:
realloc
with a size of 0. With a
NULL pointer argument, this is the same ambiguity as malloc (0)
on whether a unique zero-size object is created. With a non-NULL
pointer argument, C99 requires that if realloc (p, 0)
returns
NULL
then p
is still valid. Among implementations that
obey C99, behavior varies on whether realloc (p, 0)
always
fails and leaves p
valid, or usually succeeds and returns a
unique zero-size object; either way, a program not suspecting these
semantics will leak memory (either the still-valid p
, or the
non-NULL return value). Meanwhile, several implementations violate
C99, by always calling free (p)
but returning NULL:
glibc, Cygwin
Extension: Gnulib provides a module ‘realloc-gnu’ that substitutes a
realloc
implementation that behaves more like the glibc implementation.
Next: recv, Previous: realloc, Up: Function Substitutes [Contents][Index]
realpath
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/realpath.html
Gnulib module: canonicalize-lgpl
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: recvfrom, Previous: realpath, Up: Function Substitutes [Contents][Index]
recv
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/recv.html
Gnulib module: recv
Portability problems fixed by Gnulib:
int
instead of ssize_t
on some platforms:
OSF/1 5.1.
recv
are not placed in errno
, and WSAGetLastError
must be
used instead.
Portability problems not fixed by Gnulib:
Next: recvmsg, Previous: recv, Up: Function Substitutes [Contents][Index]
recvfrom
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/recvfrom.html
Gnulib module: recvfrom
Portability problems fixed by Gnulib:
int
instead of ssize_t
on some platforms:
OSF/1 5.1.
recvfrom
are not placed in errno
, and
WSAGetLastError
must be used instead.
Portability problems not fixed by Gnulib:
socklen_t
type; in this case this function’s
sixth argument type is ‘int *’.
Next: regcomp, Previous: recvfrom, Up: Function Substitutes [Contents][Index]
recvmsg
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/recvmsg.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: regerror, Previous: recvmsg, Up: Function Substitutes [Contents][Index]
regcomp
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/regcomp.html
Gnulib module: regex
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: regexec, Previous: regcomp, Up: Function Substitutes [Contents][Index]
regerror
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/regerror.html
Gnulib module: regex
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: regfree, Previous: regerror, Up: Function Substitutes [Contents][Index]
regexec
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/regexec.html
Gnulib module: regex
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: remainder, Previous: regexec, Up: Function Substitutes [Contents][Index]
regfree
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/regfree.html
Gnulib module: regex
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: remainderf, Previous: regfree, Up: Function Substitutes [Contents][Index]
remainder
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/remainder.html
Gnulib module: remainder or remainder-ieee
Portability problems fixed by either Gnulib module remainder
or remainder-ieee
:
Portability problems fixed by Gnulib module remainder-ieee
:
Portability problems not fixed by Gnulib:
Next: remainderl, Previous: remainder, Up: Function Substitutes [Contents][Index]
remainderf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/remainderf.html
Gnulib module: remainderf or remainderf-ieee
Portability problems fixed by either Gnulib module remainderf
or remainderf-ieee
:
Portability problems fixed by Gnulib module remainderf-ieee
:
Portability problems not fixed by Gnulib:
Next: remove, Previous: remainderf, Up: Function Substitutes [Contents][Index]
remainderl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/remainderl.html
Gnulib module: remainderl or remainderl-ieee
Portability problems fixed by either Gnulib module remainderl
or remainderl-ieee
:
Portability problems fixed by Gnulib module remainderl-ieee
:
Portability problems not fixed by Gnulib:
Next: remque, Previous: remainderl, Up: Function Substitutes [Contents][Index]
remove
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/remove.html
Gnulib module: remove
Portability problems fixed by Gnulib:
remove("dir/./")
on some platforms:
Cygwin 1.5.x.
Portability problems not fixed by Gnulib:
Next: remquo, Previous: remove, Up: Function Substitutes [Contents][Index]
remque
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/remque.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: remquof, Previous: remque, Up: Function Substitutes [Contents][Index]
remquo
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/remquo.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: remquol, Previous: remquo, Up: Function Substitutes [Contents][Index]
remquof
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/remquof.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: rename, Previous: remquof, Up: Function Substitutes [Contents][Index]
remquol
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/remquol.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: renameat, Previous: remquol, Up: Function Substitutes [Contents][Index]
rename
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/rename.html
Gnulib module: rename
Portability problems fixed by Gnulib:
rename("dir","new/")
:
NetBSD 1.6.
rename("file","new/")
:
AIX 7.1, Solaris 11 2011-11, Cygwin 1.5.x, mingw, MSVC 9.
rename("link-to-file/","f")
:
FreeBSD 7.2.
rename("link/","new")
corrupts link:
Solaris 9.
Portability problems not fixed by Gnulib:
rename("symlink-to-dir/","dir2")
rename
dir and leave symlink-to-dir dangling; likewise, it
requires that rename("dir","dangling/")
rename dir so
that dangling is no longer a dangling symlink. This behavior
is counter-intuitive, so on some systems, rename
fails with
ENOTDIR
if either argument is a symlink with a trailing slash:
glibc, OpenBSD, Cygwin 1.7.
stat
function
for 30 seconds after the rename, on NFS file systems, on some platforms:
Linux 2.6.18.
Next: rewind, Previous: rename, Up: Function Substitutes [Contents][Index]
renameat
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/renameat.html
Gnulib module: renameat
Portability problems fixed by Gnulib:
renameat(fd,"file",fd,"new/")
:
Solaris 11 2011-11.
renameat(fd,"link/",fd,"new")
corrupts link:
Solaris 9.
<unistd.h>
instead of <stdio.h>
on some platforms:
Solaris 11 2011-11.
Portability problems not fixed by Gnulib:
renameat(fd,"symlink-to-dir/",fd,"dir2")
rename
dir and leave symlink-to-dir dangling; likewise, it
requires that renameat(fd,"dir",fd,"dangling/")
rename dir so
that dangling is no longer a dangling symlink. This behavior
is counter-intuitive, so on some systems, renameat
fails with
ENOTDIR
if either argument is a symlink with a trailing slash:
glibc, OpenBSD, Cygwin 1.7.
stat
function
for 30 seconds after the rename, on NFS file systems, on some platforms:
Linux 2.6.18.
Next: rewinddir, Previous: renameat, Up: Function Substitutes [Contents][Index]
rewind
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/rewind.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
upon failure.
Next: rint, Previous: rewind, Up: Function Substitutes [Contents][Index]
rewinddir
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/rewinddir.html
Gnulib module: rewinddir
Portability problems fixed by Gnulib:
long int
is a 32-bit type, this function may
not work correctly on huge directories larger than 2 GB.
(Cf. AC_SYS_LARGEFILE
.)
Portability problems not fixed by Gnulib:
Next: rintf, Previous: rewinddir, Up: Function Substitutes [Contents][Index]
rint
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/rint.html
Gnulib module: rint
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: rintl, Previous: rint, Up: Function Substitutes [Contents][Index]
rintf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/rintf.html
Gnulib module: rintf
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: rmdir, Previous: rintf, Up: Function Substitutes [Contents][Index]
rintl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/rintl.html
Gnulib module: rintl
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: round, Previous: rintl, Up: Function Substitutes [Contents][Index]
rmdir
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/rmdir.html
Gnulib module: rmdir
Portability problems fixed by Gnulib:
<io.h>
or
<direct.h>
) on some platforms:
mingw, MSVC 9.
rmdir("dir/./")
on some platforms:
Cygwin 1.5.x.
EINVAL
instead of the expected
ENOTDIR
for rmdir("file/")
on some platforms:
mingw, MSVC 9.
Portability problems not fixed by Gnulib:
rmdir
fails because the specified directory is not empty, the
errno
value is system dependent.
rmdir("link-to-empty/")
remove empty
and leave link-to-empty as a dangling symlink. This is
counter-intuitive, so some systems fail with ENOTDIR
instead:
glibc
Next: roundf, Previous: rmdir, Up: Function Substitutes [Contents][Index]
round
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/round.html
Gnulib module: round or round-ieee
Portability problems fixed by either Gnulib module round
or round-ieee
:
Portability problems fixed by Gnulib module round-ieee
:
Portability problems not fixed by Gnulib:
Next: roundl, Previous: round, Up: Function Substitutes [Contents][Index]
roundf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/roundf.html
Gnulib module: roundf or roundf-ieee
Portability problems fixed by either Gnulib module roundf
or roundf-ieee
:
Portability problems fixed by Gnulib module roundf-ieee
:
Portability problems not fixed by Gnulib:
Next: scalbln, Previous: roundf, Up: Function Substitutes [Contents][Index]
roundl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/roundl.html
Gnulib module: roundl or roundl-ieee
Portability problems fixed by either Gnulib module roundl
or roundl-ieee
:
Portability problems fixed by Gnulib module roundl-ieee
:
Portability problems not fixed by Gnulib:
Next: scalblnf, Previous: roundl, Up: Function Substitutes [Contents][Index]
scalbln
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/scalbln.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: scalblnl, Previous: scalbln, Up: Function Substitutes [Contents][Index]
scalblnf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/scalblnf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: scalbn, Previous: scalblnf, Up: Function Substitutes [Contents][Index]
scalblnl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/scalblnl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: scalbnf, Previous: scalblnl, Up: Function Substitutes [Contents][Index]
scalbn
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/scalbn.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: scalbnl, Previous: scalbn, Up: Function Substitutes [Contents][Index]
scalbnf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/scalbnf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: scandir, Previous: scalbnf, Up: Function Substitutes [Contents][Index]
scalbnl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/scalbnl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: scanf, Previous: scalbnl, Up: Function Substitutes [Contents][Index]
scandir
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/scandir.html
Gnulib module: scandir
Portability problems fixed by Gnulib:
off_t
is a 32-bit type, this function may not
work correctly on huge directories larger than 2 GB. Also, on platforms
where ino_t
is a 32-bit type, this function may report inode numbers
incorrectly. (Cf. AC_SYS_LARGEFILE
.)
Portability problems not fixed by Gnulib:
int (*) (const void *, const void *)
on some platforms:
glibc 2.3.6, Mac OS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Interix 3.5.
int (*) (void *, void *)
on some platforms:
AIX 5.1.
Next: sched_get_priority_max, Previous: scandir, Up: Function Substitutes [Contents][Index]
scanf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/scanf.html
Gnulib module: stdio, nonblocking
Portability problems fixed by Gnulib module stdio
, together with module nonblocking
:
errno
being set to EINVAL
instead of EAGAIN
on
some platforms:
mingw, MSVC 9.
Portability problems not fixed by Gnulib:
feof
would return nonzero. However, on some systems this
function attempts to read from the underlying file descriptor even if
the stream’s end-of-file indicator is set. These systems include
glibc and default Solaris.
errno
upon failure.
hh
, ll
, j
,
t
, z
size specifiers.
Next: sched_get_priority_min, Previous: scanf, Up: Function Substitutes [Contents][Index]
sched_get_priority_max
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sched_get_priority_max.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sched_getparam, Previous: sched_get_priority_max, Up: Function Substitutes [Contents][Index]
sched_get_priority_min
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sched_get_priority_min.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sched_getscheduler, Previous: sched_get_priority_min, Up: Function Substitutes [Contents][Index]
sched_getparam
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sched_getparam.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sched_rr_get_interval, Previous: sched_getparam, Up: Function Substitutes [Contents][Index]
sched_getscheduler
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sched_getscheduler.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sched_setparam, Previous: sched_getscheduler, Up: Function Substitutes [Contents][Index]
sched_rr_get_interval
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sched_rr_get_interval.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sched_setscheduler, Previous: sched_rr_get_interval, Up: Function Substitutes [Contents][Index]
sched_setparam
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sched_setparam.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sched_yield, Previous: sched_setparam, Up: Function Substitutes [Contents][Index]
sched_setscheduler
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sched_setscheduler.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: seed48, Previous: sched_setscheduler, Up: Function Substitutes [Contents][Index]
sched_yield
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sched_yield.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: seekdir, Previous: sched_yield, Up: Function Substitutes [Contents][Index]
seed48
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/seed48.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: select, Previous: seed48, Up: Function Substitutes [Contents][Index]
seekdir
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/seekdir.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
long int
is a 32-bit type, this function may not
work correctly on huge directories larger than 2 GB. The fix is to use
the AC_SYS_LARGEFILE
macro (only on Mac OS X systems).
Next: sem_close, Previous: seekdir, Up: Function Substitutes [Contents][Index]
select
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/select.html
Gnulib module: select
Portability problems fixed by Gnulib:
select
can only be
called on descriptors created by the socket
function, not on regular
file descriptors.
accept
are not
placed in errno
, and WSAGetLastError
must be used instead.
nfds
argument is 0 on some platforms:
Interix 3.5.
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
replacement might
return 0 even before the timeout has passed. Programs using it with pipes can
thus busy wait.
select
applied to a file descriptor opened
for reading and associated with /dev/null
hangs, waiting for input,
when instead it should return immediately.
select
may fail, setting errno
to EBADF
.
<unistd.h>
, not <sys/select.h>
,
on some platforms:
IRIX 5.3.
Next: sem_destroy, Previous: select, Up: Function Substitutes [Contents][Index]
sem_close
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sem_close.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sem_getvalue, Previous: sem_close, Up: Function Substitutes [Contents][Index]
sem_destroy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sem_destroy.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sem_init, Previous: sem_destroy, Up: Function Substitutes [Contents][Index]
sem_getvalue
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sem_getvalue.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sem_open, Previous: sem_getvalue, Up: Function Substitutes [Contents][Index]
sem_init
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sem_init.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sem_post, Previous: sem_init, Up: Function Substitutes [Contents][Index]
sem_open
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sem_open.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sem_timedwait, Previous: sem_open, Up: Function Substitutes [Contents][Index]
sem_post
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sem_post.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sem_trywait, Previous: sem_post, Up: Function Substitutes [Contents][Index]
sem_timedwait
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sem_timedwait.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sem_unlink, Previous: sem_timedwait, Up: Function Substitutes [Contents][Index]
sem_trywait
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sem_trywait.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sem_wait, Previous: sem_trywait, Up: Function Substitutes [Contents][Index]
sem_unlink
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sem_unlink.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: semctl, Previous: sem_unlink, Up: Function Substitutes [Contents][Index]
sem_wait
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sem_wait.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: semget, Previous: sem_wait, Up: Function Substitutes [Contents][Index]
semctl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/semctl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: semop, Previous: semctl, Up: Function Substitutes [Contents][Index]
semget
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/semget.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: send, Previous: semget, Up: Function Substitutes [Contents][Index]
semop
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/semop.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sendmsg, Previous: semop, Up: Function Substitutes [Contents][Index]
send
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/send.html
Gnulib module: send
Portability problems fixed by Gnulib:
int
instead of ssize_t
on some platforms:
OSF/1 5.1.
send
are not placed in errno
, and WSAGetLastError
must be
used instead.
Portability problems not fixed by Gnulib:
Next: sendto, Previous: send, Up: Function Substitutes [Contents][Index]
sendmsg
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sendmsg.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setbuf, Previous: sendmsg, Up: Function Substitutes [Contents][Index]
sendto
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sendto.html
Gnulib module: sendto
Portability problems fixed by Gnulib:
int
instead of ssize_t
on some platforms:
OSF/1 5.1.
sendto
are not placed in errno
, and WSAGetLastError
must be
used instead.
Portability problems not fixed by Gnulib:
Next: setegid, Previous: sendto, Up: Function Substitutes [Contents][Index]
setbuf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/setbuf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setenv, Previous: setbuf, Up: Function Substitutes [Contents][Index]
setegid
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/setegid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: seteuid, Previous: setegid, Up: Function Substitutes [Contents][Index]
setenv
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/setenv.html
Gnulib module: setenv
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
setenv(NULL,"",0)
gracefully
fail with EINVAL
, but not all implementations guarantee this,
and the requirement was removed.
Next: setgid, Previous: setenv, Up: Function Substitutes [Contents][Index]
seteuid
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/seteuid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setgrent, Previous: seteuid, Up: Function Substitutes [Contents][Index]
setgid
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/setgid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sethostent, Previous: setgid, Up: Function Substitutes [Contents][Index]
setgrent
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/setgrent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setitimer, Previous: setgrent, Up: Function Substitutes [Contents][Index]
sethostent
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sethostent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setjmp, Previous: sethostent, Up: Function Substitutes [Contents][Index]
setitimer
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/setitimer.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setkey, Previous: setitimer, Up: Function Substitutes [Contents][Index]
setjmp
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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(.,1)
, and functions _setjmp
and _longjmp
are
available that don’t save or restore the signal mask. On System V platforms
(excluding HP-UX), and on glibc platforms by default, setjmp
doesn’t
save the signal mask.
Next: setlocale, Previous: setjmp, Up: Function Substitutes [Contents][Index]
setkey
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/setkey.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
<stdlib.h>
(without -D_GNU_SOURCE
) on some platforms:
glibc (at least 2.11–2.13).
Next: setlogmask, Previous: setkey, Up: Function Substitutes [Contents][Index]
setlocale
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/setlocale.html
Gnulib module: setlocale
Portability problems fixed by Gnulib:
setlocale(category,NULL)
ignores the environment variables LC_ALL
, category
, and
LANG
.
setlocale(LC_ALL,name)
succeeds and sets the LC_CTYPE category to
‘C’ when it does not support the encoding, instead of failing.
setlocale
understands different
locale names, that are not based on ISO 639 language names and ISO 3166 country
names.
Portability problems not fixed by Gnulib:
setlocale(LC_ALL,NULL)
always returns "C"
.
Next: setnetent, Previous: setlocale, Up: Function Substitutes [Contents][Index]
setlogmask
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/setlogmask.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setpgid, Previous: setlogmask, Up: Function Substitutes [Contents][Index]
setnetent
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/setnetent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setpgrp, Previous: setnetent, Up: Function Substitutes [Contents][Index]
setpgid
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/setpgid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setpriority, Previous: setpgid, Up: Function Substitutes [Contents][Index]
setpgrp
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/setpgrp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setprotoent, Previous: setpgrp, Up: Function Substitutes [Contents][Index]
setpriority
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/setpriority.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setpwent, Previous: setpriority, Up: Function Substitutes [Contents][Index]
setprotoent
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/setprotoent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setregid, Previous: setprotoent, Up: Function Substitutes [Contents][Index]
setpwent
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/setpwent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setreuid, Previous: setpwent, Up: Function Substitutes [Contents][Index]
setregid
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/setregid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setrlimit, Previous: setregid, Up: Function Substitutes [Contents][Index]
setreuid
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/setreuid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setservent, Previous: setreuid, Up: Function Substitutes [Contents][Index]
setrlimit
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/setrlimit.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
rlim_t
is a 32-bit type, this function does not
allow to set limits larger than 4 GB, such as for RLIMIT_FSIZE. The fix is
to use the AC_SYS_LARGEFILE
macro.
Next: setsid, Previous: setrlimit, Up: Function Substitutes [Contents][Index]
setservent
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/setservent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setsockopt, Previous: setservent, Up: Function Substitutes [Contents][Index]
setsid
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/setsid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setstate, Previous: setsid, Up: Function Substitutes [Contents][Index]
setsockopt
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/setsockopt.html
Gnulib module: setsockopt
Portability problems fixed by Gnulib:
setsockopt
are not placed in errno
, and
WSAGetLastError
must be used instead.
Portability problems not fixed by Gnulib:
Next: setuid, Previous: setsockopt, Up: Function Substitutes [Contents][Index]
setstate
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/setstate.html
Gnulib module: random
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setutxent, Previous: setstate, Up: Function Substitutes [Contents][Index]
setuid
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/setuid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setvbuf, Previous: setuid, Up: Function Substitutes [Contents][Index]
setutxent
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/setutxent.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: shm_open, Previous: setutxent, Up: Function Substitutes [Contents][Index]
setvbuf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/setvbuf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
upon failure.
Next: shm_unlink, Previous: setvbuf, Up: Function Substitutes [Contents][Index]
shm_open
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/shm_open.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: shmat, Previous: shm_open, Up: Function Substitutes [Contents][Index]
shm_unlink
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/shm_unlink.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: shmctl, Previous: shm_unlink, Up: Function Substitutes [Contents][Index]
shmat
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: shmdt, Previous: shmat, Up: Function Substitutes [Contents][Index]
shmctl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/shmctl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: shmget, Previous: shmctl, Up: Function Substitutes [Contents][Index]
shmdt
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/shmdt.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: shutdown, Previous: shmdt, Up: Function Substitutes [Contents][Index]
shmget
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/shmget.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
shmget
requires superuser privileges.
Next: sigaction, Previous: shmget, Up: Function Substitutes [Contents][Index]
shutdown
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/shutdown.html
Gnulib module: shutdown
Portability problems fixed by Gnulib:
shutdown
are not placed in errno
, and
WSAGetLastError
must be used instead.
Portability problems not fixed by Gnulib:
Next: sigaddset, Previous: shutdown, Up: Function Substitutes [Contents][Index]
sigaction
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sigaction.html
Gnulib module: sigaction
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.
Next: sigaltstack, Previous: sigaction, Up: Function Substitutes [Contents][Index]
sigaddset
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sigaddset.html
Gnulib module: sigprocmask
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sigdelset, Previous: sigaddset, Up: Function Substitutes [Contents][Index]
sigaltstack
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
ss_sp
member of stack_t
as
the upper bound instead of the lower bound of the alternate stack on
some platforms:
Irix 6.5
Next: sigemptyset, Previous: sigaltstack, Up: Function Substitutes [Contents][Index]
sigdelset
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sigdelset.html
Gnulib module: sigprocmask
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sigfillset, Previous: sigdelset, Up: Function Substitutes [Contents][Index]
sigemptyset
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sigemptyset.html
Gnulib module: sigprocmask
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sighold, Previous: sigemptyset, Up: Function Substitutes [Contents][Index]
sigfillset
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sigfillset.html
Gnulib module: sigprocmask
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sigignore, Previous: sigfillset, Up: Function Substitutes [Contents][Index]
sighold
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sighold.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: siginterrupt, Previous: sighold, Up: Function Substitutes [Contents][Index]
sigignore
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sigignore.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sigismember, Previous: sigignore, Up: Function Substitutes [Contents][Index]
siginterrupt
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/siginterrupt.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Note: POSIX recommends using sigaction
with SA_RESTART instead of
siginterrupt (sig, 0)
.
Next: siglongjmp, Previous: siginterrupt, Up: Function Substitutes [Contents][Index]
sigismember
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sigismember.html
Gnulib module: sigprocmask
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: signal, Previous: sigismember, Up: Function Substitutes [Contents][Index]
siglongjmp
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/siglongjmp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: signbit, Previous: siglongjmp, Up: Function Substitutes [Contents][Index]
signal
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/signal.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sigaction
instead of
signal
.
Next: signgam, Previous: signal, Up: Function Substitutes [Contents][Index]
signbit
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/signbit.html
Gnulib module: signbit
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sigpause, Previous: signbit, Up: Function Substitutes [Contents][Index]
signgam
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/signgam.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sigpending, Previous: signgam, Up: Function Substitutes [Contents][Index]
sigpause
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sigpause.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sigprocmask, Previous: sigpause, Up: Function Substitutes [Contents][Index]
sigpending
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sigpending.html
Gnulib module: sigprocmask
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sigqueue, Previous: sigpending, Up: Function Substitutes [Contents][Index]
sigprocmask
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sigprocmask.html
Gnulib module: sigprocmask
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sigrelse, Previous: sigprocmask, Up: Function Substitutes [Contents][Index]
sigqueue
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sigqueue.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sigset, Previous: sigqueue, Up: Function Substitutes [Contents][Index]
sigrelse
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sigrelse.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sigsetjmp, Previous: sigrelse, Up: Function Substitutes [Contents][Index]
sigset
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sigset.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sigsuspend, Previous: sigset, Up: Function Substitutes [Contents][Index]
sigsetjmp
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sigsetjmp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sigtimedwait, Previous: sigsetjmp, Up: Function Substitutes [Contents][Index]
sigsuspend
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sigsuspend.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sigwait, Previous: sigsuspend, Up: Function Substitutes [Contents][Index]
sigtimedwait
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sigtimedwait.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
sigwaitinfo
does; other platforms may not do the same.
Next: sigwaitinfo, Previous: sigtimedwait, Up: Function Substitutes [Contents][Index]
sigwait
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sigwait.html
Gnulib module: extensions
Portability problems fixed by Gnulib:
_POSIX_PTHREAD_SEMANTICS
is not defined).
Portability problems not fixed by Gnulib:
Next: sin, Previous: sigwait, Up: Function Substitutes [Contents][Index]
sigwaitinfo
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sigwaitinfo.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sinf, Previous: sigwaitinfo, Up: Function Substitutes [Contents][Index]
sin
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sin.html
Gnulib module: sin
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sinh, Previous: sin, Up: Function Substitutes [Contents][Index]
sinf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sinf.html
Gnulib module: sinf
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sinhf, Previous: sinf, Up: Function Substitutes [Contents][Index]
sinh
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sinh.html
Gnulib module: sinh
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sinhl, Previous: sinh, Up: Function Substitutes [Contents][Index]
sinhf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sinhf.html
Gnulib module: sinhf
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sinl, Previous: sinhf, Up: Function Substitutes [Contents][Index]
sinhl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sinhl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sleep, Previous: sinhl, Up: Function Substitutes [Contents][Index]
sinl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sinl.html
Gnulib module: sinl
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: snprintf, Previous: sinl, Up: Function Substitutes [Contents][Index]
sleep
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sleep.html
Gnulib module: sleep
Portability problems fixed by Gnulib:
void
on some
platforms:
mingw (2005 and older).
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.
Next: sockatmark, Previous: sleep, Up: Function Substitutes [Contents][Index]
snprintf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/snprintf.html
Gnulib module: snprintf or snprintf-posix
Portability problems fixed by either Gnulib module snprintf
or snprintf-posix
:
"%2$s"
, on some platforms:
NetBSD 3.0, mingw, BeOS.
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 1.5.24, mingw, MSVC 9, BeOS.
"%f"
, "%e"
, "%g"
of Infinity and NaN yields an
incorrect result on some platforms:
AIX 5.2, OSF/1 5.1, Solaris 11 2011-11, mingw, MSVC 9.
'
flag on some platforms:
NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9.
"%010f"
of NaN and Infinity yields an incorrect result (padded
with zeroes) on some platforms:
Mac OS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 11 2011-11, Cygwin 1.5.x, mingw, MSVC 9.
Portability problems not fixed by Gnulib:
Next: socket, Previous: snprintf, Up: Function Substitutes [Contents][Index]
sockatmark
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sockatmark.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: socketpair, Previous: sockatmark, Up: Function Substitutes [Contents][Index]
socket
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/socket.html
Gnulib module: socket
Portability problems fixed by Gnulib:
socket
function cannot be used in calls to read
,
write
, and close
; you have to use recv
, send
,
closesocket
in these cases instead.
socket
are not placed in errno
, and WSAGetLastError
must be
used instead.
Portability problems not fixed by Gnulib:
socket
function cannot be used
in calls to read
, write
, and close
; you have to use
recv
, send
, closesocket
in these cases instead.
Next: sprintf, Previous: socket, Up: Function Substitutes [Contents][Index]
socketpair
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/socketpair.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sqrt, Previous: socketpair, Up: Function Substitutes [Contents][Index]
sprintf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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 1.5.24, mingw, MSVC 9, BeOS.
"%f"
, "%e"
, "%g"
of Infinity and NaN yields an
incorrect result on some platforms:
AIX 5.2, OSF/1 5.1, Solaris 11 2011-11, mingw, MSVC 9.
"%2$s"
, on some platforms:
NetBSD 3.0, mingw, MSVC 9, BeOS.
'
flag on some platforms:
NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9.
"%010f"
of NaN and Infinity yields an incorrect result (padded
with zeroes) on some platforms:
Mac OS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 11 2011-11, Cygwin 1.5.x, mingw, MSVC 9.
Portability problems not fixed by Gnulib:
Next: sqrtf, Previous: sprintf, Up: Function Substitutes [Contents][Index]
sqrt
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sqrt.html
Gnulib module: sqrt
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sqrtl, Previous: sqrt, Up: Function Substitutes [Contents][Index]
sqrtf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sqrtf.html
Gnulib module: sqrtf
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: srand, Previous: sqrtf, Up: Function Substitutes [Contents][Index]
sqrtl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sqrtl.html
Gnulib module: sqrtl
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: srand48, Previous: sqrtl, Up: Function Substitutes [Contents][Index]
srand
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/srand.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: srandom, Previous: srand, Up: Function Substitutes [Contents][Index]
srand48
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/srand48.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sscanf, Previous: srand48, Up: Function Substitutes [Contents][Index]
srandom
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/srandom.html
Gnulib module: random
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: stat, Previous: srandom, Up: Function Substitutes [Contents][Index]
sscanf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: statvfs, Previous: sscanf, Up: Function Substitutes [Contents][Index]
stat
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/stat.html
Gnulib module: stat
Portability problems 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.
(Cf. AC_SYS_LARGEFILE
.)
stat("link-to-file/",buf)
succeeds instead
of failing with ENOTDIR
.
FreeBSD 7.2, AIX 7.1, Solaris 9, mingw64.
stat(".",buf)
and stat("./",buf)
give
different results:
mingw, MSVC 9.
Portability problems not fixed by Gnulib:
struct stat
.
stat
function sometimes sets errno
to EACCES
when
ENOENT
would be more appropriate.
struct stat
, it is not possible to
portably replace stat
via an object-like macro. Therefore,
expressions such as (islnk ? lstat : stat) (name, buf)
are not
portable, and should instead be written islnk ? lstat (name,
buf) : stat (name, buf)
.
Next: stderr, Previous: stat, Up: Function Substitutes [Contents][Index]
statvfs
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/statvfs.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
f_blocks
in ‘struct statvfs’ is a 32-bit
value, this function may not work correctly on files systems larger than
4 TiB. The fix is to use the AC_SYS_LARGEFILE
macro. This affects
glibc/Hurd, HP-UX 11, Solaris.
Gnulib provides a module fsusage
that provides similar information
as statvfs
.
Next: stdin, Previous: statvfs, Up: Function Substitutes [Contents][Index]
stderr
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/stderr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
stderr
can affect an unrelated file that happened to be assigned to fd 2.
The gnulib *-safer modules may be used to guarantee that fd 2 stays
reserved for stderr
.
Next: stdout, Previous: stderr, Up: Function Substitutes [Contents][Index]
stdin
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/stdin.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
stdin
can affect an unrelated file that happened to be assigned to fd 0.
The gnulib *-safer modules may be used to guarantee that fd 0 stays
reserved for stdin
.
Next: stpcpy, Previous: stdin, Up: Function Substitutes [Contents][Index]
stdout
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/stdout.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
stdout
can affect an unrelated file that happened to be assigned to fd 1.
The gnulib *-safer modules may be used to guarantee that fd 1 stays
reserved for stdout
.
Next: stpncpy, Previous: stdout, Up: Function Substitutes [Contents][Index]
stpcpy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/stpcpy.html
Gnulib module: stpcpy
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strcasecmp, Previous: stpcpy, Up: Function Substitutes [Contents][Index]
stpncpy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/stpncpy.html
Gnulib module: stpncpy
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strcasecmp_l, Previous: stpncpy, Up: Function Substitutes [Contents][Index]
strcasecmp
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strcasecmp.html
Gnulib module: strcase
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.
Next: strcat, Previous: strcasecmp, Up: Function Substitutes [Contents][Index]
strcasecmp_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strcasecmp_l.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strchr, Previous: strcasecmp_l, Up: Function Substitutes [Contents][Index]
strcat
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strcat.html
Gnulib module: string
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strcmp, Previous: strcat, Up: Function Substitutes [Contents][Index]
strchr
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strchr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mbschr
that works on
character strings in all locales.
Next: strcoll, Previous: strchr, Up: Function Substitutes [Contents][Index]
strcmp
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strcmp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strcoll_l, Previous: strcmp, Up: Function Substitutes [Contents][Index]
strcoll
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strcoll.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
to EILSEQ
, on Solaris 10, in
UTF-8 locales, when at least one of the strings contains a Unicode character
in a block that was not assigned in Unicode 4.0.
Next: strcpy, Previous: strcoll, Up: Function Substitutes [Contents][Index]
strcoll_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strcoll_l.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strcspn, Previous: strcoll_l, Up: Function Substitutes [Contents][Index]
strcpy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strcpy.html
Gnulib module: string
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strdup, Previous: strcpy, Up: Function Substitutes [Contents][Index]
strcspn
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: strerror, Previous: strcspn, Up: Function Substitutes [Contents][Index]
strdup
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strdup.html
Gnulib module: strdup or strdup-posix
Portability problems fixed by either Gnulib module strdup
or strdup-posix
:
<string.h>
on some old platforms.
Portability problems fixed by Gnulib module strdup-posix
:
errno
to ENOMEM
on
some platforms:
mingw, MSVC 9.
Portability problems not fixed by Gnulib:
Next: strerror_l, Previous: strdup, Up: Function Substitutes [Contents][Index]
strerror
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strerror.html
Gnulib module: strerror
Portability problems fixed by Gnulib:
strerror(0)
(by setting
errno
or using a string similar to out-of-range values),
although POSIX requires this to leave errno
unchanged and
report success, on some platforms:
FreeBSD 8.2, OpenBSD 4.7, Mac OS X 10.5.
strerror
without setting and testing
errno
.)
Portability problems not fixed by Gnulib:
Next: strerror_r, Previous: strerror, Up: Function Substitutes [Contents][Index]
strerror_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strerror_l.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strfmon, Previous: strerror_l, Up: Function Substitutes [Contents][Index]
strerror_r
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strerror_r.html
Gnulib module: strerror_r-posix
Portability problems 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);
strerror
buffer on some platforms:
Cygwin 1.7.9.
<string.h>
on some platforms:
glibc 2.8, OSF/1 5.1.
int
instead of size_t
on some
platforms:
AIX 5.1, OSF/1 5.1.
errno
, instead of
returning the error number, on some platforms:
glibc 2.12 with -D_POSIX_C_SOURCE=200112L
, AIX 6.1, OSF/1 5.1.
errno
, on some platforms:
Solaris 10.
strerror_r(0, buf, len)
,
although POSIX requires this to succeed, on some platforms:
FreeBSD 8.2.
0
than
strerror
on some platforms:
Mac OS X 10.5.
Portability problems not fixed by Gnulib:
Next: strfmon_l, Previous: strerror_r, Up: Function Substitutes [Contents][Index]
strfmon
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strfmon.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strftime, Previous: strfmon, Up: Function Substitutes [Contents][Index]
strfmon_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strfmon_l.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strftime_l, Previous: strfmon_l, Up: Function Substitutes [Contents][Index]
strftime
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strftime.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Extension: Gnulib offers a module ‘strftime’ that provides an
nstrftime
function with various GNU extensions.
Next: strlen, Previous: strftime, Up: Function Substitutes [Contents][Index]
strftime_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strftime_l.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strncasecmp, Previous: strftime_l, Up: Function Substitutes [Contents][Index]
strlen
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strlen.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strncasecmp_l, Previous: strlen, Up: Function Substitutes [Contents][Index]
strncasecmp
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strncasecmp.html
Gnulib module: strcase
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.
Next: strncat, Previous: strncasecmp, Up: Function Substitutes [Contents][Index]
strncasecmp_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strncasecmp_l.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strncmp, Previous: strncasecmp_l, Up: Function Substitutes [Contents][Index]
strncat
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strncat.html
Gnulib module: strncat
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strncpy, Previous: strncat, Up: Function Substitutes [Contents][Index]
strncmp
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strncmp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strndup, Previous: strncmp, Up: Function Substitutes [Contents][Index]
strncpy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strncpy.html
Gnulib module: string
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strnlen, Previous: strncpy, Up: Function Substitutes [Contents][Index]
strndup
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strndup.html
Gnulib module: strndup
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strpbrk, Previous: strndup, Up: Function Substitutes [Contents][Index]
strnlen
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strnlen.html
Gnulib module: strnlen
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strptime, Previous: strnlen, Up: Function Substitutes [Contents][Index]
strpbrk
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: strrchr, Previous: strpbrk, Up: Function Substitutes [Contents][Index]
strptime
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strptime.html
Gnulib module: strptime
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strsignal, Previous: strptime, Up: Function Substitutes [Contents][Index]
strrchr
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strrchr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mbsrchr
that works
on character strings in all locales.
Next: strspn, Previous: strrchr, Up: Function Substitutes [Contents][Index]
strsignal
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strsignal.html
Gnulib module: strsignal
Portability problems fixed by Gnulib:
unistd.h
instead of
string.h
on some platforms:
NetBSD 5.0.
Portability problems not fixed by Gnulib:
const char *
instead of char *
on
some platforms:
cygwin 1.5.25.
Next: strstr, Previous: strsignal, Up: Function Substitutes [Contents][Index]
strspn
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strspn.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mbsspn
that works on character
strings in all locales.
Next: strtod, Previous: strspn, Up: Function Substitutes [Contents][Index]
strstr
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strstr.html
Gnulib module: strstr or strstr-simple
Portability problems fixed by either Gnulib module strstr-simple
or strstr
:
Portability problems fixed by Gnulib strstr
:
Portability problems not fixed by Gnulib:
mbsstr
that works
on character strings in all locales.
Next: strtof, Previous: strstr, Up: Function Substitutes [Contents][Index]
strtod
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strtod.html
Gnulib module: strtod or strtod-obsolete
Portability problems fixed by either Gnulib module strtod
or strtod-obsolete
:
Portability problems fixed by Gnulib module strtod-obsolete
:
Portability problems not fixed by Gnulib:
Next: strtoimax, Previous: strtod, Up: Function Substitutes [Contents][Index]
strtof
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strtof.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strtok, Previous: strtof, Up: Function Substitutes [Contents][Index]
strtoimax
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strtoimax.html
Gnulib module: strtoimax
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strtok_r, Previous: strtoimax, Up: Function Substitutes [Contents][Index]
strtok
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strtok.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strtol, Previous: strtok, Up: Function Substitutes [Contents][Index]
strtok_r
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: strtold, Previous: strtok_r, Up: Function Substitutes [Contents][Index]
strtol
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strtol.html
Gnulib module: strtol
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strtoll, Previous: strtol, Up: Function Substitutes [Contents][Index]
strtold
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strtold.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strtoul, Previous: strtold, Up: Function Substitutes [Contents][Index]
strtoll
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strtoll.html
Gnulib module: strtoll
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strtoull, Previous: strtoll, Up: Function Substitutes [Contents][Index]
strtoul
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strtoul.html
Gnulib module: strtoul
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strtoumax, Previous: strtoul, Up: Function Substitutes [Contents][Index]
strtoull
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strtoull.html
Gnulib module: strtoull
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strxfrm, Previous: strtoull, Up: Function Substitutes [Contents][Index]
strtoumax
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strtoumax.html
Gnulib module: strtoumax
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strxfrm_l, Previous: strtoumax, Up: Function Substitutes [Contents][Index]
strxfrm
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strxfrm.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: swab, Previous: strxfrm, Up: Function Substitutes [Contents][Index]
strxfrm_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/strxfrm_l.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: swprintf, Previous: strxfrm_l, Up: Function Substitutes [Contents][Index]
swab
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/swab.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: swscanf, Previous: swab, Up: Function Substitutes [Contents][Index]
swprintf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: symlink, Previous: swprintf, Up: Function Substitutes [Contents][Index]
swscanf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/swscanf.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.
Next: symlinkat, Previous: swscanf, Up: Function Substitutes [Contents][Index]
symlink
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/symlink.html
Gnulib module: symlink
Portability problems fixed by Gnulib:
symlink(value,"name/")
mistakenly creates a
symlink:
FreeBSD 7.2, AIX 7.1, Solaris 9.
EPERM
:
mingw, MSVC 9.
Portability problems not fixed by Gnulib:
Next: sync, Previous: symlink, Up: Function Substitutes [Contents][Index]
symlinkat
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/symlinkat.html
Gnulib module: symlinkat
Portability problems fixed by Gnulib:
stdio.h
instead of
unistd.h
:
Cygwin 1.7.1.
Portability problems not fixed by Gnulib:
Next: sysconf, Previous: symlinkat, Up: Function Substitutes [Contents][Index]
sync
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sync.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: syslog, Previous: sync, Up: Function Substitutes [Contents][Index]
sysconf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/sysconf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: system, Previous: sysconf, Up: Function Substitutes [Contents][Index]
syslog
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/syslog.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: tan, Previous: syslog, Up: Function Substitutes [Contents][Index]
system
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/system.html
Gnulib module: system-posix
Portability problems fixed by Gnulib:
WIFSIGNALED
, WIFEXITED
, WIFSTOPPED
,
WTERMSIG
, WEXITSTATUS
, WNOHANG
, WUNTRACED
,
WSTOPSIG
are not defined in <stdlib.h>
(only in
<sys/wait.h>
) on some platforms:
MirBSD 10.
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.
Next: tanf, Previous: system, Up: Function Substitutes [Contents][Index]
tan
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/tan.html
Gnulib module: tan
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: tanh, Previous: tan, Up: Function Substitutes [Contents][Index]
tanf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/tanf.html
Gnulib module: tanf
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: tanhf, Previous: tanf, Up: Function Substitutes [Contents][Index]
tanh
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/tanh.html
Gnulib module: tanh
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: tanhl, Previous: tanh, Up: Function Substitutes [Contents][Index]
tanhf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/tanhf.html
Gnulib module: tanhf
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: tanl, Previous: tanhf, Up: Function Substitutes [Contents][Index]
tanhl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/tanhl.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: tcdrain, Previous: tanhl, Up: Function Substitutes [Contents][Index]
tanl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/tanl.html
Gnulib module: tanl
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: tcflow, Previous: tanl, Up: Function Substitutes [Contents][Index]
tcdrain
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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 Mac OS X, also EOPNOTSUPP
or ENODEV
, rather
than ENOTTY
.
Next: tcflush, Previous: tcdrain, Up: Function Substitutes [Contents][Index]
tcflow
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/tcflow.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: tcgetattr, Previous: tcflow, Up: Function Substitutes [Contents][Index]
tcflush
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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 Mac OS X,
also EOPNOTSUPP
or ENODEV
, rather than ENOTTY
.
Next: tcgetpgrp, Previous: tcflush, Up: Function Substitutes [Contents][Index]
tcgetattr
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/tcgetattr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: tcgetsid, Previous: tcgetattr, Up: Function Substitutes [Contents][Index]
tcgetpgrp
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/tcgetpgrp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: tcsendbreak, Previous: tcgetpgrp, Up: Function Substitutes [Contents][Index]
tcgetsid
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/tcgetsid.html
Gnulib module: tcgetsid
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: tcsetattr, Previous: tcgetsid, Up: Function Substitutes [Contents][Index]
tcsendbreak
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/tcsendbreak.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: tcsetpgrp, Previous: tcsendbreak, Up: Function Substitutes [Contents][Index]
tcsetattr
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/tcsetattr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: tdelete, Previous: tcsetattr, Up: Function Substitutes [Contents][Index]
tcsetpgrp
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/tcsetpgrp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: telldir, Previous: tcsetpgrp, Up: Function Substitutes [Contents][Index]
tdelete
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/tdelete.html
Gnulib module: tsearch
Portability problems fixed by Gnulib:
tdelete
returns NULL
when removing the last element of a tree
on some platforms:
OpenBSD 4.0.
Portability problems not fixed by Gnulib:
Next: tempnam, Previous: tdelete, Up: Function Substitutes [Contents][Index]
telldir
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/telldir.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
long int
is a 32-bit type, this function may not
work correctly on huge directories larger than 2 GB. The fix is to use
the AC_SYS_LARGEFILE
macro (only on Mac OS X systems).
Next: tfind, Previous: telldir, Up: Function Substitutes [Contents][Index]
tempnam
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/tempnam.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mkstemp
instead.
Next: tgamma, Previous: tempnam, Up: Function Substitutes [Contents][Index]
tfind
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/tfind.html
Gnulib module: tsearch
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: tgammaf, Previous: tfind, Up: Function Substitutes [Contents][Index]
tgamma
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/tgamma.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: tgammal, Previous: tgamma, Up: Function Substitutes [Contents][Index]
tgammaf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/tgammaf.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: time, Previous: tgammaf, Up: Function Substitutes [Contents][Index]
tgammal
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/tgammal.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: timer_create, Previous: tgammal, Up: Function Substitutes [Contents][Index]
time
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/time.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: timer_delete, Previous: time, Up: Function Substitutes [Contents][Index]
timer_create
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/timer_create.html
Gnulib module: timer-time
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ENOSYS
on some platforms:
OpenBSD 4.9.
Next: timer_getoverrun, Previous: timer_create, Up: Function Substitutes [Contents][Index]
timer_delete
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/timer_delete.html
Gnulib module: timer-time
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ENOSYS
on some platforms:
OpenBSD 4.9.
Next: timer_gettime, Previous: timer_delete, Up: Function Substitutes [Contents][Index]
timer_getoverrun
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/timer_getoverrun.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: timer_settime, Previous: timer_getoverrun, Up: Function Substitutes [Contents][Index]
timer_gettime
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/timer_gettime.html
Gnulib module: timer-time
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ENOSYS
on some platforms:
OpenBSD 4.9.
Next: times, Previous: timer_gettime, Up: Function Substitutes [Contents][Index]
timer_settime
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/timer_settime.html
Gnulib module: timer-time
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
ENOSYS
on some platforms:
OpenBSD 4.9.
Next: timezone, Previous: timer_settime, Up: Function Substitutes [Contents][Index]
times
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/times.html
Gnulib module: times
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
tms_cutime
and tms_cstime
will always be
0 when the module is used.
Next: tmpfile, Previous: times, Up: Function Substitutes [Contents][Index]
timezone
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/timezone.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: tmpnam, Previous: timezone, Up: Function Substitutes [Contents][Index]
tmpfile
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/tmpfile.html
Gnulib module: tmpfile
Portability problems fixed by Gnulib:
off_t
is a 32-bit type, tmpfile
may not work
correctly to create files larger than 2 GB. (Cf. AC_SYS_LARGEFILE
.)
Portability problems not fixed by Gnulib:
Next: toascii, Previous: tmpfile, Up: Function Substitutes [Contents][Index]
tmpnam
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/tmpnam.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
mkstemp
instead.
Next: tolower, Previous: tmpnam, Up: Function Substitutes [Contents][Index]
toascii
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/toascii.html
Gnulib module: ctype
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: tolower_l, Previous: toascii, Up: Function Substitutes [Contents][Index]
tolower
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/tolower.html
Gnulib module: ctype
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.
Next: toupper, Previous: tolower, Up: Function Substitutes [Contents][Index]
tolower_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/tolower_l.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: toupper_l, Previous: tolower_l, Up: Function Substitutes [Contents][Index]
toupper
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/toupper.html
Gnulib module: ctype
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.
Next: towctrans, Previous: toupper, Up: Function Substitutes [Contents][Index]
toupper_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/toupper_l.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: towctrans_l, Previous: toupper_l, Up: Function Substitutes [Contents][Index]
towctrans
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/towctrans.html
Gnulib module: towctrans
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.
Next: towlower, Previous: towctrans, Up: Function Substitutes [Contents][Index]
towctrans_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/towctrans_l.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.
Next: towlower_l, Previous: towctrans_l, Up: Function Substitutes [Contents][Index]
towlower
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/towlower.html
Gnulib module: wctype-h
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.
Next: towupper, Previous: towlower, Up: Function Substitutes [Contents][Index]
towlower_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/towlower_l.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.
Next: towupper_l, Previous: towlower_l, Up: Function Substitutes [Contents][Index]
towupper
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/towupper.html
Gnulib module: wctype-h
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.
Next: trunc, Previous: towupper, Up: Function Substitutes [Contents][Index]
towupper_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/towupper_l.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.
Next: truncate, Previous: towupper_l, Up: Function Substitutes [Contents][Index]
trunc
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/trunc.html
Gnulib module: trunc or trunc-ieee
Portability problems fixed by either Gnulib module trunc
or trunc-ieee
:
-D_GNU_SOURCE
) on some platforms:
glibc 2.8.
Portability problems fixed by Gnulib module trunc-ieee
:
Portability problems not fixed by Gnulib:
Next: truncf, Previous: trunc, Up: Function Substitutes [Contents][Index]
truncate
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/truncate.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
off_t
is a 32-bit type, this function is not
applicable to arbitrary lengths for files larger than 2 GB. The fix is to
use the AC_SYS_LARGEFILE
macro.
Next: truncl, Previous: truncate, Up: Function Substitutes [Contents][Index]
truncf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/truncf.html
Gnulib module: truncf or truncf-ieee
Portability problems fixed by either Gnulib module truncf
or truncf-ieee
:
-D_GNU_SOURCE
) on some platforms:
glibc 2.8.
Portability problems fixed by Gnulib module truncf-ieee
:
Portability problems not fixed by Gnulib:
Next: tsearch, Previous: truncf, Up: Function Substitutes [Contents][Index]
truncl
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/truncl.html
Gnulib module: truncl or truncl-ieee
Portability problems fixed by either Gnulib module truncl
or truncl-ieee
:
-D_GNU_SOURCE
) on some platforms:
glibc 2.8.
Portability problems fixed by Gnulib module truncl-ieee
:
Portability problems not fixed by Gnulib:
Next: ttyname, Previous: truncl, Up: Function Substitutes [Contents][Index]
tsearch
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/tsearch.html
Gnulib module: tsearch
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ttyname_r, Previous: tsearch, Up: Function Substitutes [Contents][Index]
ttyname
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ttyname.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: twalk, Previous: ttyname, Up: Function Substitutes [Contents][Index]
ttyname_r
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ttyname_r.html
Gnulib module: ttyname_r
Portability problems fixed by Gnulib:
_REENTRANT
is defined,
on some platforms:
HP-UX 11.
_POSIX_PTHREAD_SEMANTICS
is not defined).
Portability problems not fixed by Gnulib:
Next: tzname, Previous: ttyname_r, Up: Function Substitutes [Contents][Index]
twalk
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/twalk.html
Gnulib module: tsearch
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: tzset, Previous: twalk, Up: Function Substitutes [Contents][Index]
tzname
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/tzname.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ulimit, Previous: tzname, Up: Function Substitutes [Contents][Index]
tzset
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/tzset.html
Gnulib module: tzset
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: umask, Previous: tzset, Up: Function Substitutes [Contents][Index]
ulimit
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ulimit.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: uname, Previous: ulimit, Up: Function Substitutes [Contents][Index]
umask
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/umask.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ungetc, Previous: umask, Up: Function Substitutes [Contents][Index]
uname
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/uname.html
Gnulib module: uname
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ungetwc, Previous: uname, Up: Function Substitutes [Contents][Index]
ungetc
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/ungetc.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
upon failure.
Next: unlink, Previous: ungetc, Up: Function Substitutes [Contents][Index]
ungetwc
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: unlinkat, Previous: ungetwc, Up: Function Substitutes [Contents][Index]
unlink
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/unlink.html
Gnulib module: unlink
Portability problems fixed by Gnulib:
unlink("link-to-file/")
:
GNU/Hurd, FreeBSD 7.2, AIX 7.1, Solaris 9.
unlink("..")
succeeds
without doing anything.
Portability problems not fixed by Gnulib:
EPERM
. Meanwhile, if a process
has the ability to unlink directories, POSIX requires that
unlink("symlink-to-dir/")
remove dir and leave
symlink-to-dir dangling; this behavior is counter-intuitive.
The gnulib module unlinkdir can help determine whether code must be
cautious of unlinking directories.
Next: unlockpt, Previous: unlink, Up: Function Substitutes [Contents][Index]
unlinkat
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/unlinkat.html
Gnulib module: unlinkat
Portability problems fixed by Gnulib:
unlinkat(fd,"file/",flag)
:
GNU/Hurd, Solaris 9.
fcntl.h
instead of
unistd.h
:
Cygwin 1.7.1.
Portability problems not fixed by Gnulib:
unlinkat(fd,name,AT_REMOVEDIR)
fails because the specified
directory is not empty, the errno
value is system dependent.
unlinkdir(fd,"link-to-empty/",AT_REMOVEDIR)
remove empty and leave link-to-empty as a dangling
symlink. This is counter-intuitive, so some systems fail with
ENOTDIR
instead:
glibc
EPERM
. Meanwhile, if a process
has the ability to unlink directories, POSIX requires that
unlinkat(fd,"symlink-to-dir/",0)
remove dir and leave
symlink-to-dir dangling; this behavior is counter-intuitive.
The gnulib module unlinkdir can help determine whether code must be
cautious of unlinking directories.
Next: unsetenv, Previous: unlinkat, Up: Function Substitutes [Contents][Index]
unlockpt
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/unlockpt.html
Gnulib module: unlockpt
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: uselocale, Previous: unlockpt, Up: Function Substitutes [Contents][Index]
unsetenv
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/unsetenv.html
Gnulib module: unsetenv
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
unsetenv(NULL)
gracefully
fail with EINVAL
, but not all implementations guarantee this,
and the requirement was removed.
Next: utime, Previous: unsetenv, Up: Function Substitutes [Contents][Index]
uselocale
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/uselocale.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: utimensat, Previous: uselocale, Up: Function Substitutes [Contents][Index]
utime
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/utime.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
utime (file, NULL)
fails to set the
file’s timestamp to the current time.
utimensat(AT_FDCWD,file,times,0)
, or the gnulib module utimens,
instead.
utime
omits const
for the second argument. Fortunately, the argument is not modified,
so it is safe to cast away const:
mingw, MSVC 9.
Next: utimes, Previous: utime, Up: Function Substitutes [Contents][Index]
utimensat
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/utimensat.html
Gnulib module: utimensat
Portability problems fixed by Gnulib:
ENOSYS
on some platforms:
Linux kernel 2.6.21.
ENOSYS
if passed the flag
AT_SYMLINK_NOFOLLOW
on a regular file:
Linux kernel 2.6.22.
UTIME_OMIT
or UTIME_NOW
, some systems require
the tv_sec
argument to be 0, and don’t necessarily handle all
file permissions in the manner required by POSIX:
Linux kernel 2.6.25.
UTIME_OMIT
for the modification time, but specifying
an access time, some systems fail to update the change time:
Linux kernel 2.6.32, Solaris 11.1.
tv_nsec
do not lead to a failure on some
platforms:
Linux kernel 2.6.22.19 on hppa.
Portability problems not fixed by Gnulib:
ENOSYS
if passed the flag
AT_SYMLINK_NOFOLLOW
on a symlink.
lstat
modifies the access time of
symlinks on some platforms, so utimensat
with
AT_SYMLINK_NOFOLLOW
can only effectively change modification time:
Cygwin.
stat
modifies the access time of
directories on some platforms, so utimensat
can only
effectively change directory modification time:
Cygwin 1.5.x.
The gnulib module fdutimensat provides a similar interface.
Next: va_arg, Previous: utimensat, Up: Function Substitutes [Contents][Index]
utimes
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/utimes.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
const
in the second argument
on some platforms:
OSF/1 5.1.
utimensat(AT_FDCWD,file,times,0)
, or the gnulib module utimens,
instead.
utimes (file, NULL)
fails to set the
file’s timestamp to the current time:
glibc 2.3.3.
utimes
failed on read-only files when
utime
worked fine.
glibc 2.2.5.
Extension: Gnulib provides a module ‘utimens’ that works around these problems and allows to set the time with nanosecond resolution (as far as supported by the file system).
Next: va_copy, Previous: utimes, Up: Function Substitutes [Contents][Index]
va_arg
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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:
Use ‘double’ instead.
Use ‘int’ instead.
Use ‘int’ or ‘unsigned int’ instead.
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));
Next: va_end, Previous: va_arg, Up: Function Substitutes [Contents][Index]
va_copy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/va_copy.html
Gnulib module: stdarg
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: va_start, Previous: va_copy, Up: Function Substitutes [Contents][Index]
va_end
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/va_end.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: vdprintf, Previous: va_end, Up: Function Substitutes [Contents][Index]
va_start
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/va_start.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: vfprintf, Previous: va_start, Up: Function Substitutes [Contents][Index]
vdprintf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/vdprintf.html
Gnulib module: vdprintf or vdprintf-posix
Portability problems fixed by either Gnulib module vdprintf
or vdprintf-posix
:
Portability problems fixed by Gnulib module vdprintf-posix
:
hh
, ll
,
j
, t
, z
) on some platforms:
BeOS.
"%2$s"
, on some platforms:
BeOS.
Portability problems not fixed by Gnulib:
errno
or the
stream error indicator on attempts to write to a read-only stream:
Cygwin 1.7.9.
Next: vfscanf, Previous: vdprintf, Up: Function Substitutes [Contents][Index]
vfprintf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/vfprintf.html
Gnulib module: vfprintf-posix or stdio, nonblocking, sigpipe
Portability problems fixed by Gnulib module vfprintf-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 1.5.24, mingw, MSVC 9, BeOS.
"%f"
, "%e"
, "%g"
of Infinity and NaN yields an
incorrect result on some platforms:
AIX 5.2, OSF/1 5.1, Solaris 11 2011-11, mingw, MSVC 9.
"%2$s"
, on some platforms:
NetBSD 3.0, mingw, MSVC 9, BeOS.
'
flag on some platforms:
NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9.
"%010f"
of NaN and Infinity yields an incorrect result (padded
with zeroes) on some platforms:
Mac OS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 11 2011-11, Cygwin 1.5.x, mingw, MSVC 9.
Portability problems fixed by Gnulib module stdio
or vfprintf-posix
, together with module nonblocking
:
errno
being set to ENOSPC
instead of EAGAIN
on some
platforms:
mingw, MSVC 9.
Portability problems fixed by Gnulib module stdio
or vfprintf-posix
, together with module sigpipe
:
SIGPIPE
handler, on some platforms:
mingw, MSVC 9.
Portability problems not fixed by Gnulib:
EOF
but
does not set the error flag for ferror
on some platforms:
glibc 2.13, cygwin 1.7.9.
Next: vfwprintf, Previous: vfprintf, Up: Function Substitutes [Contents][Index]
vfscanf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/vfscanf.html
Gnulib module: vfscanf, nonblocking
Portability problems fixed by Gnulib module vfscanf
, together with module nonblocking
:
errno
being set to EINVAL
instead of EAGAIN
on
some platforms:
mingw, MSVC 9.
Portability problems not fixed by Gnulib:
errno
upon failure.
hh
, ll
, j
,
t
, z
size specifiers.
Next: vfwscanf, Previous: vfscanf, Up: Function Substitutes [Contents][Index]
vfwprintf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/vfwprintf.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.
errno
or the
stream error indicator on attempts to write to a read-only stream:
Cygwin 1.7.9.
Next: vprintf, Previous: vfwprintf, Up: Function Substitutes [Contents][Index]
vfwscanf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/vfwscanf.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.
Next: vscanf, Previous: vfwscanf, Up: Function Substitutes [Contents][Index]
vprintf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/vprintf.html
Gnulib module: vprintf-posix or stdio, nonblocking, sigpipe
Portability problems fixed by Gnulib module vprintf-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 1.5.24, mingw, MSVC 9, BeOS.
"%f"
, "%e"
, "%g"
of Infinity and NaN yields an
incorrect result on some platforms:
AIX 5.2, OSF/1 5.1, Solaris 11 2011-11, mingw, MSVC 9.
"%2$s"
, on some platforms:
NetBSD 3.0, mingw, MSVC 9, BeOS.
'
flag on some platforms:
NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9.
"%010f"
of NaN and Infinity yields an incorrect result (padded
with zeroes) on some platforms:
Mac OS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 11 2011-11, Cygwin 1.5.x, mingw, MSVC 9.
Portability problems fixed by Gnulib module stdio
or vprintf-posix
, together with module nonblocking
:
errno
being set to ENOSPC
instead of EAGAIN
on some
platforms:
mingw, MSVC 9.
Portability problems fixed by Gnulib module stdio
or vprintf-posix
, together with module sigpipe
:
SIGPIPE
handler, on some platforms:
mingw, MSVC 9.
Portability problems not fixed by Gnulib:
EOF
but
does not set the error flag for ferror
on some platforms:
glibc 2.13, cygwin 1.7.9.
Next: vsnprintf, Previous: vprintf, Up: Function Substitutes [Contents][Index]
vscanf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/vscanf.html
Gnulib module: vscanf, nonblocking
Portability problems fixed by Gnulib module vscanf
, together with module nonblocking
:
errno
being set to EINVAL
instead of EAGAIN
on
some platforms:
mingw, MSVC 9.
Portability problems not fixed by Gnulib:
errno
upon failure.
hh
, ll
, j
,
t
, z
size specifiers.
Next: vsprintf, Previous: vscanf, Up: Function Substitutes [Contents][Index]
vsnprintf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/vsnprintf.html
Gnulib module: vsnprintf or vsnprintf-posix
Portability problems fixed by either Gnulib module vsnprintf
or vsnprintf-posix
:
"%2$s"
, on some platforms:
NetBSD 3.0, mingw, MSVC 9, BeOS.
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 1.5.24, mingw, MSVC 9, BeOS.
"%f"
, "%e"
, "%g"
of Infinity and NaN yields an
incorrect result on some platforms:
AIX 5.2, OSF/1 5.1, Solaris 11 2011-11, mingw, MSVC 9.
'
flag on some platforms:
NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9.
"%010f"
of NaN and Infinity yields an incorrect result (padded
with zeroes) on some platforms:
Mac OS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 11 2011-11, Cygwin 1.5.x, mingw, MSVC 9.
Portability problems not fixed by Gnulib:
Next: vsscanf, Previous: vsnprintf, Up: Function Substitutes [Contents][Index]
vsprintf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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 1.5.24, mingw, MSVC 9, BeOS.
"%f"
, "%e"
, "%g"
of Infinity and NaN yields an
incorrect result on some platforms:
AIX 5.2, OSF/1 5.1, Solaris 11 2011-11, mingw, MSVC 9.
"%2$s"
, on some platforms:
NetBSD 3.0, mingw, MSVC 9, BeOS.
'
flag on some platforms:
NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9.
"%010f"
of NaN and Infinity yields an incorrect result (padded
with zeroes) on some platforms:
Mac OS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 11 2011-11, Cygwin 1.5.x, mingw, MSVC 9.
Portability problems not fixed by Gnulib:
Next: vswprintf, Previous: vsprintf, Up: Function Substitutes [Contents][Index]
vsscanf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: vswscanf, Previous: vsscanf, Up: Function Substitutes [Contents][Index]
vswprintf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: vwprintf, Previous: vswprintf, Up: Function Substitutes [Contents][Index]
vswscanf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/vswscanf.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.
Next: vwscanf, Previous: vswscanf, Up: Function Substitutes [Contents][Index]
vwprintf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/vwprintf.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.
errno
or the
stream error indicator on attempts to write to a read-only stream:
Cygwin 1.7.9.
Next: wait, Previous: vwprintf, Up: Function Substitutes [Contents][Index]
vwscanf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/vwscanf.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.
Next: waitid, Previous: vwscanf, Up: Function Substitutes [Contents][Index]
wait
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wait.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: waitpid, Previous: wait, Up: Function Substitutes [Contents][Index]
waitid
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/waitid.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
waitid
with flag WNOWAIT
works correctly.
Next: wcpcpy, Previous: waitid, Up: Function Substitutes [Contents][Index]
waitpid
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/waitpid.html
Gnulib module: waitpid
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: wcpncpy, Previous: waitpid, Up: Function Substitutes [Contents][Index]
wcpcpy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wcpcpy.html
Gnulib module: wcpcpy
Portability problems fixed by Gnulib:
-D_GNU_SOURCE
) on some platforms:
glibc 2.13.
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
Next: wcrtomb, Previous: wcpcpy, Up: Function Substitutes [Contents][Index]
wcpncpy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wcpncpy.html
Gnulib module: wcpncpy
Portability problems fixed by Gnulib:
-D_GNU_SOURCE
) on some platforms:
glibc 2.13.
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
Next: wcscasecmp, Previous: wcpncpy, Up: Function Substitutes [Contents][Index]
wcrtomb
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wcrtomb.html
Gnulib module: wcrtomb
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.
Next: wcscasecmp_l, Previous: wcrtomb, Up: Function Substitutes [Contents][Index]
wcscasecmp
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wcscasecmp.html
Gnulib module: wcscasecmp
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.
Next: wcscat, Previous: wcscasecmp, Up: Function Substitutes [Contents][Index]
wcscasecmp_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wcscasecmp_l.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.
Next: wcschr, Previous: wcscasecmp_l, Up: Function Substitutes [Contents][Index]
wcscat
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wcscat.html
Gnulib module: wcscat
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.
Next: wcscmp, Previous: wcscat, Up: Function Substitutes [Contents][Index]
wcschr
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wcschr.html
Gnulib module: wcschr
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.
Next: wcscoll, Previous: wcschr, Up: Function Substitutes [Contents][Index]
wcscmp
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wcscmp.html
Gnulib module: wcscmp
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.
Next: wcscoll_l, Previous: wcscmp, Up: Function Substitutes [Contents][Index]
wcscoll
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wcscoll.html
Gnulib module: wcscoll
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.
Next: wcscpy, Previous: wcscoll, Up: Function Substitutes [Contents][Index]
wcscoll_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wcscoll_l.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.
Next: wcscspn, Previous: wcscoll_l, Up: Function Substitutes [Contents][Index]
wcscpy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wcscpy.html
Gnulib module: wcscpy
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.
Next: wcsdup, Previous: wcscpy, Up: Function Substitutes [Contents][Index]
wcscspn
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wcscspn.html
Gnulib module: wcscspn
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.
Next: wcsftime, Previous: wcscspn, Up: Function Substitutes [Contents][Index]
wcsdup
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wcsdup.html
Gnulib module: wcsdup
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.
Next: wcslen, Previous: wcsdup, Up: Function Substitutes [Contents][Index]
wcsftime
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: wcsncasecmp, Previous: wcsftime, Up: Function Substitutes [Contents][Index]
wcslen
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wcslen.html
Gnulib module: wcslen
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.
Next: wcsncasecmp_l, Previous: wcslen, Up: Function Substitutes [Contents][Index]
wcsncasecmp
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wcsncasecmp.html
Gnulib module: wcsncasecmp
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.
Next: wcsncat, Previous: wcsncasecmp, Up: Function Substitutes [Contents][Index]
wcsncasecmp_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wcsncasecmp_l.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.
Next: wcsncmp, Previous: wcsncasecmp_l, Up: Function Substitutes [Contents][Index]
wcsncat
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wcsncat.html
Gnulib module: wcsncat
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.
Next: wcsncpy, Previous: wcsncat, Up: Function Substitutes [Contents][Index]
wcsncmp
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wcsncmp.html
Gnulib module: wcsncmp
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.
Next: wcsnlen, Previous: wcsncmp, Up: Function Substitutes [Contents][Index]
wcsncpy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wcsncpy.html
Gnulib module: wcsncpy
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.
Next: wcsnrtombs, Previous: wcsncpy, Up: Function Substitutes [Contents][Index]
wcsnlen
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wcsnlen.html
Gnulib module: wcsnlen
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.
Next: wcspbrk, Previous: wcsnlen, Up: Function Substitutes [Contents][Index]
wcsnrtombs
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wcsnrtombs.html
Gnulib module: wcsnrtombs
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.
Next: wcsrchr, Previous: wcsnrtombs, Up: Function Substitutes [Contents][Index]
wcspbrk
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wcspbrk.html
Gnulib module: wcspbrk
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.
Next: wcsrtombs, Previous: wcspbrk, Up: Function Substitutes [Contents][Index]
wcsrchr
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wcsrchr.html
Gnulib module: wcsrchr
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.
Next: wcsspn, Previous: wcsrchr, Up: Function Substitutes [Contents][Index]
wcsrtombs
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wcsrtombs.html
Gnulib module: wcsrtombs
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.
Next: wcsstr, Previous: wcsrtombs, Up: Function Substitutes [Contents][Index]
wcsspn
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wcsspn.html
Gnulib module: wcsspn
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.
Next: wcstod, Previous: wcsspn, Up: Function Substitutes [Contents][Index]
wcsstr
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wcsstr.html
Gnulib module: wcsstr
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.
Next: wcstof, Previous: wcsstr, Up: Function Substitutes [Contents][Index]
wcstod
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: wcstoimax, Previous: wcstod, Up: Function Substitutes [Contents][Index]
wcstof
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: wcstok, Previous: wcstof, Up: Function Substitutes [Contents][Index]
wcstoimax
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: wcstol, Previous: wcstoimax, Up: Function Substitutes [Contents][Index]
wcstok
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wcstok.html
Gnulib module: wcstok
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.
Next: wcstold, Previous: wcstok, Up: Function Substitutes [Contents][Index]
wcstol
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: wcstoll, Previous: wcstol, Up: Function Substitutes [Contents][Index]
wcstold
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: wcstombs, Previous: wcstold, Up: Function Substitutes [Contents][Index]
wcstoll
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: wcstoul, Previous: wcstoll, Up: Function Substitutes [Contents][Index]
wcstombs
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: wcstoull, Previous: wcstombs, Up: Function Substitutes [Contents][Index]
wcstoul
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: wcstoumax, Previous: wcstoul, Up: Function Substitutes [Contents][Index]
wcstoull
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: wcswidth, Previous: wcstoull, Up: Function Substitutes [Contents][Index]
wcstoumax
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: wcsxfrm, Previous: wcstoumax, Up: Function Substitutes [Contents][Index]
wcswidth
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wcswidth.html
Gnulib module: wcswidth
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.
Next: wcsxfrm_l, Previous: wcswidth, Up: Function Substitutes [Contents][Index]
wcsxfrm
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wcsxfrm.html
Gnulib module: wcsxfrm
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.
Next: wctob, Previous: wcsxfrm, Up: Function Substitutes [Contents][Index]
wcsxfrm_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wcsxfrm_l.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.
Next: wctomb, Previous: wcsxfrm_l, Up: Function Substitutes [Contents][Index]
wctob
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wctob.html
Gnulib module: wctob
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.
Next: wctrans, Previous: wctob, Up: Function Substitutes [Contents][Index]
wctomb
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wctomb.html
Gnulib module: wctomb
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.
Next: wctrans_l, Previous: wctomb, Up: Function Substitutes [Contents][Index]
wctrans
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wctrans.html
Gnulib module: wctrans
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.
Next: wctype, Previous: wctrans, Up: Function Substitutes [Contents][Index]
wctrans_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wctrans_l.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.
Next: wctype_l, Previous: wctrans_l, Up: Function Substitutes [Contents][Index]
wctype
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wctype.html
Gnulib module: wctype
Portability problems fixed by Gnulib:
<wchar.h>
, not in <wctype.h>
, on
some platforms:
HP-UX 11.00.
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
Next: wcwidth, Previous: wctype, Up: Function Substitutes [Contents][Index]
wctype_l
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wctype_l.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.
Next: wmemchr, Previous: wctype_l, Up: Function Substitutes [Contents][Index]
wcwidth
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wcwidth.html
Gnulib module: wcwidth
Portability problems fixed by Gnulib:
-D_GNU_SOURCE
) on some platforms:
glibc 2.8.
Portability problems not fixed by Gnulib:
wchar_t
is a 16-bit type and therefore cannot
accommodate all Unicode characters.
Next: wmemcmp, Previous: wcwidth, Up: Function Substitutes [Contents][Index]
wmemchr
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wmemchr.html
Gnulib module: wmemchr
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.
Next: wmemcpy, Previous: wmemchr, Up: Function Substitutes [Contents][Index]
wmemcmp
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wmemcmp.html
Gnulib module: wmemcmp
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.
Next: wmemmove, Previous: wmemcmp, Up: Function Substitutes [Contents][Index]
wmemcpy
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wmemcpy.html
Gnulib module: wmemcpy
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.
Next: wmemset, Previous: wmemcpy, Up: Function Substitutes [Contents][Index]
wmemmove
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wmemmove.html
Gnulib module: wmemmove
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.
Next: wordexp, Previous: wmemmove, Up: Function Substitutes [Contents][Index]
wmemset
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wmemset.html
Gnulib module: wmemset
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.
Next: wordfree, Previous: wmemset, Up: Function Substitutes [Contents][Index]
wordexp
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wordexp.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
errno
or the
stream error indicator on attempts to write to a read-only stream:
Cygwin 1.7.9.
Next: wprintf, Previous: wordexp, Up: Function Substitutes [Contents][Index]
wordfree
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/wordfree.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: write, Previous: wordfree, Up: Function Substitutes [Contents][Index]
wprintf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
errno
or the
stream error indicator on attempts to write to a read-only stream:
Cygwin 1.7.9.
Next: writev, Previous: wprintf, Up: Function Substitutes [Contents][Index]
write
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/write.html
Gnulib module: write, nonblocking, sigpipe
Portability problems fixed by Gnulib module stdio
, together with module nonblocking
:
errno
being set to ENOSPC
instead of EAGAIN
on some
platforms:
mingw, MSVC 9.
Portability problems fixed by Gnulib module stdio
, together with module sigpipe
:
EINVAL
, instead of obeying the current SIGPIPE
handler, on
some platforms:
mingw, MSVC 9.
Portability problems not fixed by Gnulib:
EINTR
, even in programs that don’t
install any signal handlers, on some platforms:
Mac OS X 10.5.
For handling EINTR
, Gnulib provides a module ‘safe-write’ with a
function safe_write
.
Next: wscanf, Previous: write, Up: Function Substitutes [Contents][Index]
writev
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/writev.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: y0, Previous: writev, Up: Function Substitutes [Contents][Index]
wscanf
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/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.
Next: y1, Previous: wscanf, Up: Function Substitutes [Contents][Index]
y0
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/y0.html
Gnulib module: y0
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: yn, Previous: y0, Up: Function Substitutes [Contents][Index]
y1
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/y1.html
Gnulib module: y1
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: y1, Up: Function Substitutes [Contents][Index]
yn
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/yn.html
Gnulib module: yn
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc Header File Substitutes, Previous: Function Substitutes, Up: Top [Contents][Index]
This chapter describes which functions and function-like macros specified by older versions of POSIX are substituted by Gnulib, which portability pitfalls are fixed by Gnulib, and which (known) portability problems are not worked around by Gnulib.
The notation “Gnulib module: —” means that Gnulib does not provide a
module providing a substitute for the function. When the list
“Portability problems not fixed by Gnulib” is empty, such a module is
not needed: No portability problems are known. Otherwise, it indicates
that such a module would be useful but is not available: No one so far
found this function important enough to contribute a substitute for it.
If you need this particular function, you may write to
<bug-gnulib at gnu dot org>
.
• bcmp: | ||
• bcopy: | ||
• bsd_signal: | ||
• bzero: | ||
• ecvt: | ||
• fcvt: | ||
• ftime: | ||
• gcvt: | ||
• getcontext: | ||
• gethostbyaddr: | ||
• gethostbyname: | ||
• getwd: | ||
• h_errno: | ||
• index: | ||
• makecontext: | ||
• mktemp: | ||
• pthread_attr_getstackaddr: | ||
• pthread_attr_setstackaddr: | ||
• rindex: | ||
• scalb: | ||
• setcontext: | ||
• swapcontext: | ||
• ualarm: | ||
• usleep: | ||
• vfork: | ||
• wcswcs: |
Next: bcopy, Up: Legacy Function Substitutes [Contents][Index]
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.
Next: bsd_signal, Previous: bcmp, Up: Legacy Function Substitutes [Contents][Index]
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.
Next: bzero, Previous: bcopy, Up: Legacy Function Substitutes [Contents][Index]
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:
Next: ecvt, Previous: bsd_signal, Up: Legacy Function Substitutes [Contents][Index]
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.
Next: fcvt, Previous: bzero, Up: Legacy Function Substitutes [Contents][Index]
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.
Next: ftime, Previous: ecvt, Up: Legacy Function Substitutes [Contents][Index]
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.
Next: gcvt, Previous: fcvt, Up: Legacy Function Substitutes [Contents][Index]
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.
Next: getcontext, Previous: ftime, Up: Legacy Function Substitutes [Contents][Index]
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.
Next: gethostbyaddr, Previous: gcvt, Up: Legacy Function Substitutes [Contents][Index]
getcontext
POSIX specification: http://www.opengroup.org/susv3xsh/getcontext.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: gethostbyname, Previous: getcontext, Up: Legacy Function Substitutes [Contents][Index]
gethostbyaddr
POSIX specification: http://www.opengroup.org/susv3xsh/gethostbyaddr.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getwd, Previous: gethostbyaddr, Up: Legacy Function Substitutes [Contents][Index]
gethostbyname
POSIX specification: http://www.opengroup.org/susv3xsh/gethostbyname.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: h_errno, Previous: gethostbyname, Up: Legacy Function Substitutes [Contents][Index]
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.
Next: index, Previous: getwd, Up: Legacy Function Substitutes [Contents][Index]
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:
Next: makecontext, Previous: h_errno, Up: Legacy Function Substitutes [Contents][Index]
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.
Next: mktemp, Previous: index, Up: Legacy Function Substitutes [Contents][Index]
makecontext
POSIX specification: http://www.opengroup.org/susv3xsh/makecontext.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_attr_getstackaddr, Previous: makecontext, Up: Legacy Function Substitutes [Contents][Index]
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.
Next: pthread_attr_setstackaddr, Previous: mktemp, Up: Legacy Function Substitutes [Contents][Index]
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:
Next: rindex, Previous: pthread_attr_getstackaddr, Up: Legacy Function Substitutes [Contents][Index]
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:
Next: scalb, Previous: pthread_attr_setstackaddr, Up: Legacy Function Substitutes [Contents][Index]
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.
Next: setcontext, Previous: rindex, Up: Legacy Function Substitutes [Contents][Index]
scalb
POSIX specification: http://www.opengroup.org/susv3xsh/scalb.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: swapcontext, Previous: scalb, Up: Legacy Function Substitutes [Contents][Index]
setcontext
POSIX specification: http://www.opengroup.org/susv3xsh/setcontext.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ualarm, Previous: setcontext, Up: Legacy Function Substitutes [Contents][Index]
swapcontext
POSIX specification: http://www.opengroup.org/susv3xsh/swapcontext.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: usleep, Previous: swapcontext, Up: Legacy Function Substitutes [Contents][Index]
ualarm
POSIX specification: http://www.opengroup.org/susv3xsh/ualarm.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: vfork, Previous: ualarm, Up: Legacy Function Substitutes [Contents][Index]
usleep
POSIX specification: http://www.opengroup.org/susv3xsh/usleep.html
Gnulib module: usleep
Portability problems fixed by Gnulib:
usleep
rejects attempts to sleep longer than 1
second, as allowed by POSIX:
mingw.
select
or nanosleep
if better resolution is needed:
IRIX 5.3, Solaris 2.4, older mingw, MSVC 9, BeOS.
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.
Next: wcswcs, Previous: usleep, Up: Legacy Function Substitutes [Contents][Index]
vfork
POSIX specification: http://www.opengroup.org/susv3xsh/vfork.html
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: vfork, Up: Legacy Function Substitutes [Contents][Index]
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.
Next: Glibc Function Substitutes, Previous: Legacy Function Substitutes, Up: Top [Contents][Index]
This chapter describes which header files contained in GNU libc but not specified by ISO C or POSIX are substituted by Gnulib, which portability pitfalls are fixed by Gnulib, and which (known) portability problems are not worked around by Gnulib.
The notation “Gnulib module: —” means that Gnulib does not provide a
module providing a substitute for the header file. When the list
“Portability problems not fixed by Gnulib” is empty, such a module is
not needed: No portability problems are known. Otherwise, it indicates
that such a module would be useful but is not available: No one so far
found this header file important enough to contribute a substitute for it.
If you need this particular header file, you may write to
<bug-gnulib at gnu dot org>
.
• a.out.h: | ||
• aliases.h: | ||
• alloca.h: | ||
• ar.h: | ||
• argp.h: | ||
• argz.h: | ||
• byteswap.h: | ||
• crypt.h: | ||
• endian.h: | ||
• envz.h: | ||
• err.h: | ||
• error.h: | ||
• execinfo.h: | ||
• fpu_control.h: | ||
• fstab.h: | ||
• fts.h: | ||
• getopt.h: | ||
• gshadow.h: | ||
• ieee754.h: | ||
• ifaddrs.h: | ||
• libintl.h: | ||
• mcheck.h: | ||
• mntent.h: | ||
• obstack.h: | ||
• paths.h: | ||
• printf.h: | ||
• pty.h: | ||
• resolv.h: | ||
• shadow.h: | ||
• sys/ioctl.h: | ||
• sysexits.h: | ||
• ttyent.h: |
Next: aliases.h, Up: Glibc Header File Substitutes [Contents][Index]
Describes the structure of executables (and object files?) in the old
a.out
format.
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: alloca.h, Previous: a.out.h, Up: Glibc Header File Substitutes [Contents][Index]
Defines the type struct aliasent
and declares the functions
setaliasent
, endaliasent
,
getaliasent
, getaliasent_r
,
getaliasbyname
, getaliasbyname_r
.
Documentation:
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ar.h, Previous: aliases.h, Up: Glibc Header File Substitutes [Contents][Index]
Declares the alloca
function of function-like macro.
Documentation:
Gnulib module: alloca
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: argp.h, Previous: alloca.h, Up: Glibc Header File Substitutes [Contents][Index]
Describes the structure of files produced by the ‘ar’ program.
Defines the type struct ar_hdr
and the macros ARMAG
,
SARMAG
, ARFMAG
.
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: argz.h, Previous: ar.h, Up: Glibc Header File Substitutes [Contents][Index]
Documentation:
Gnulib module: argp
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: byteswap.h, Previous: argp.h, Up: Glibc Header File Substitutes [Contents][Index]
Documentation:
Gnulib module: argz
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: crypt.h, Previous: argz.h, Up: Glibc Header File Substitutes [Contents][Index]
Defines the functions or function-like macros bswap_16
, bswap_32
,
bswap_64
.
Gnulib module: byteswap
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: endian.h, Previous: byteswap.h, Up: Glibc Header File Substitutes [Contents][Index]
Defines the type struct crypt_data
and declares the functions
crypt
, crypt_r
,
setkey
, setkey_r
,
encrypt
, encrypt_r
.
Documentation:
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
crypt
, setkey
, encrypt
are missing on some
platforms:
HP-UX 11, OSF/1 5.1.
struct crypt_data
and the functions crypt_r
,
setkey_r
, encrypt_r
are missing on some platforms:
IRIX 6.5, Solaris 11 2011-11, Cygwin.
Next: envz.h, Previous: crypt.h, Up: Glibc Header File Substitutes [Contents][Index]
Describe’s the platform’s endianness (byte ordering of words stored in memory).
Defines the macros BYTE_ORDER
, LITTLE_ENDIAN
, BIG_ENDIAN
,
PDP_ENDIAN
.
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: err.h, Previous: endian.h, Up: Glibc Header File Substitutes [Contents][Index]
Documentation:
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: error.h, Previous: envz.h, Up: Glibc Header File Substitutes [Contents][Index]
Declares the functions
warn
, vwarn
, warnx
, vwarnx
,
err
, verr
, errx
, verrx
.
Documentation:
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: execinfo.h, Previous: err.h, Up: Glibc Header File Substitutes [Contents][Index]
Declares the functions error
, error_at_line
and the variables
error_print_progname
, error_message_count
,
error_one_per_line
.
Documentation:
Gnulib module: error
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fpu_control.h, Previous: error.h, Up: Glibc Header File Substitutes [Contents][Index]
Declares the functions backtrace
, backtrace_symbols
,
backtrace_symbols_fd
.
Documentation:
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fstab.h, Previous: execinfo.h, Up: Glibc Header File Substitutes [Contents][Index]
Handling of the FPU control word. Defines the fpu_control_t
type,
declares the __fpu_control
variable, and defines the _FPU_GETCW
,
_FPU_SETCW
macros.
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fts.h, Previous: fpu_control.h, Up: Glibc Header File Substitutes [Contents][Index]
Defines the type struct fstab
, the macros FSTAB_*
,
_PATH_FSTAB
, and declares the functions
setfsent
, endfsent
,
getfsent
, getfsspec
, getfsfile
.
Documentation:
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
_PATH_FSTAB
is missing on some platforms:
AIX 5.1, HP-UX 11.
Next: getopt.h, Previous: fstab.h, Up: Glibc Header File Substitutes [Contents][Index]
Defines the types FTS
, FTSENT
and the macros FTS_*
,
and declares the functions fts_open
, fts_read
,
fts_children
, fts_set
, fts_close
.
Documentation:
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: gshadow.h, Previous: fts.h, Up: Glibc Header File Substitutes [Contents][Index]
Defines the type struct option
and declares the variables
optarg
, optind
, opterr
, optopt
and the functions getopt
, getopt_long
, getopt_long_only
.
Documentation:
Gnulib module: getopt-gnu
Portability problems fixed by Gnulib:
getopt_long
is missing on some platforms:
IRIX 6.5, OSF/1 5.1, Solaris 9.
getopt_long_only
is missing on some platforms:
Mac OS X 10.3, FreeBSD 5.2.1, NetBSD 5.0, IRIX 6.5, OSF/1 5.1, Solaris 9, mingw.
getopt
does not handle a leading ‘+’ character in
the options string on some platforms:
Solaris 11 2010-11.
Portability problems not fixed by Gnulib:
Next: ieee754.h, Previous: getopt.h, Up: Glibc Header File Substitutes [Contents][Index]
Defines the type struct sgrp
and declares the functions
setsgent
, endsgent
, getsgent
, getsgnam
,
sgetsgent
, fgetsgent
, putsgent
,
getsgent_r
, getsgnam_r
, sgetsgent_r
, fgetsgent_r
.
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ifaddrs.h, Previous: gshadow.h, Up: Glibc Header File Substitutes [Contents][Index]
Defines the types union ieee754_float
, union ieee754_double
,
union ieee854_long_double
.
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: libintl.h, Previous: ieee754.h, Up: Glibc Header File Substitutes [Contents][Index]
Defines the type struct ifaddrs
and declares the functions
getifaddrs
, freeifaddrs
.
Documentation:
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: mcheck.h, Previous: ifaddrs.h, Up: Glibc Header File Substitutes [Contents][Index]
Defines the macros __USE_GNU_GETTEXT
,
__GNU_GETTEXT_SUPPORTED_REVISION
, and declares the functions
gettext
, dgettext
, dcgettext
,
ngettext
, dngettext
, dcngettext
,
textdomain
, bindtextdomain
, bind_textdomain_codeset
.
Documentation:
Gnulib module: gettext
Portability problems fixed by Gnulib, if GNU gettext is installed:
Portability problems not fixed by Gnulib:
Next: mntent.h, Previous: libintl.h, Up: Glibc Header File Substitutes [Contents][Index]
Defines the type enum mcheck_status
and declares the functions
mcheck
, mcheck_pedantic
, mcheck_check_all
, mprobe
,
mtrace
, muntrace
.
Documentation:
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: obstack.h, Previous: mcheck.h, Up: Glibc Header File Substitutes [Contents][Index]
Defines the type struct mntent
and the macros MNTTAB
,
MOUNTED
, MNTTYPE_*
, MNTOPT_*
, and declares the functions
setmntent
, getmntent
, getmntent_r
, addmntent
,
endmntent
, hasmntopt
.
Documentation:
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getmntent_r
is missing on all non-glibc platforms:
AIX 5.1, HP-UX 11, IRIX 6.5, Cygwin.
Gnulib module mountlist
provides a higher-level abstraction.
Next: paths.h, Previous: mntent.h, Up: Glibc Header File Substitutes [Contents][Index]
Documentation:
Gnulib module: obstack
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: printf.h, Previous: obstack.h, Up: Glibc Header File Substitutes [Contents][Index]
Defines the macros _PATH_*
.
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
_PATH_*
macros is platform dependent.
Next: pty.h, Previous: paths.h, Up: Glibc Header File Substitutes [Contents][Index]
Defines the type struct printf_info
and the macros and enum values
PA_*
, and declares the functions
printf_function
, printf_arginfo_function
,
register_printf_function
, parse_printf_format
,
printf_size
, printf_size_info
.
Documentation:
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: resolv.h, Previous: printf.h, Up: Glibc Header File Substitutes [Contents][Index]
Declares the functions openpty
and forkpty
.
Documentation:
Gnulib module: pty
Portability problems fixed by Gnulib:
forkpty
and openpty
functions in util.h
or
libutil.h
instead: Mac OS X 10.5, FreeBSD 6.0, NetBSD 5.0,
OpenBSD 3.8.
Portability problems not fixed by Gnulib:
Next: shadow.h, Previous: pty.h, Up: Glibc Header File Substitutes [Contents][Index]
Defines the types res_sendhookact
, res_send_qhook
,
res_send_rhook
, res_state
, struct res_sym
and the
macros _PATH_RESCONF
, RES_*
, and declares the functions
fp_nquery
, fp_query
,
hostalias
,
p_query
,
res_close
, res_init
, res_isourserver
,
res_mkquery
, res_query
, res_querydomain
,
res_search
, res_send
.
Documentation:
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sys/ioctl.h, Previous: resolv.h, Up: Glibc Header File Substitutes [Contents][Index]
Defines the type struct spwd
and declares the functions
setspent
, endspent
,
getspent
, getspent_r
,
getspnam
, getspnam_r
,
sgetspent
, sgetspent_r
,
fgetspent
, fgetspent_r
,
putspent
,
lckpwdf
, ulckpwdf
.
Documentation:
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
getspent_r
, getspnam_r
, sgetspent_r
,
fgetspent
, fgetspent_r
, putspent
are missing on some
platforms:
HP-UX 11.
sgetspent
, sgetspent_r
are missing on some
platforms:
HP-UX 11, IRIX 6.5, Solaris 11 2011-11.
Next: sysexits.h, Previous: shadow.h, Up: Glibc Header File Substitutes [Contents][Index]
Declares the function ioctl
.
Documentation:
Gnulib module: sys_ioctl
Portability problems fixed by Gnulib:
ioctl
function on some platforms:
AIX 5.1, Solaris 11 2011-11.
Portability problems not fixed by Gnulib:
Next: ttyent.h, Previous: sys/ioctl.h, Up: Glibc Header File Substitutes [Contents][Index]
Defines the EX_*
macros, including EX_OK
.
Gnulib module: sysexits
Portability problems fixed by Gnulib:
EX_CONFIG
is missing on some platforms:
HP-UX 11.
Portability problems not fixed by Gnulib:
Previous: sysexits.h, Up: Glibc Header File Substitutes [Contents][Index]
Defines the type struct ttyent
and declares the functions
setttyent
, endttyent
, getttyent
, getttynam
.
Documentation:
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Particular Modules, Previous: Glibc Header File Substitutes, Up: Top [Contents][Index]
This chapter describes which functions and function-like macros provided as extensions by at least GNU libc are also supported by Gnulib, which portability pitfalls are fixed by Gnulib, and which (known) portability problems are not worked around by Gnulib.
The notation “Gnulib module: —” means that Gnulib does not provide a
module providing a substitute for the function. When the list
“Portability problems not fixed by Gnulib” is empty, such a module is
not needed: No portability problems are known. Otherwise, it indicates
that such a module would be useful but is not available: No one so far
found this function important enough to contribute a substitute for it.
If you need this particular function, you may write to
<bug-gnulib at gnu dot org>
.
This list of functions is sorted according to the header that declares them.
Next: Glibc aliases.h, Up: Glibc Function Substitutes [Contents][Index]
<aio.h>
• aio_init: |
Up: Glibc aio.h [Contents][Index]
aio_init
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc argp.h, Previous: Glibc aio.h, Up: Glibc Function Substitutes [Contents][Index]
<aliases.h>
• endaliasent: | ||
• getaliasbyname: | ||
• getaliasbyname_r: | ||
• getaliasent: | ||
• getaliasent_r: | ||
• setaliasent: |
Next: getaliasbyname, Up: Glibc aliases.h [Contents][Index]
endaliasent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getaliasbyname_r, Previous: endaliasent, Up: Glibc aliases.h [Contents][Index]
getaliasbyname
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getaliasent, Previous: getaliasbyname, Up: Glibc aliases.h [Contents][Index]
getaliasbyname_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getaliasent_r, Previous: getaliasbyname_r, Up: Glibc aliases.h [Contents][Index]
getaliasent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setaliasent, Previous: getaliasent, Up: Glibc aliases.h [Contents][Index]
getaliasent_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: getaliasent_r, Up: Glibc aliases.h [Contents][Index]
setaliasent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc argz.h, Previous: Glibc aliases.h, Up: Glibc Function Substitutes [Contents][Index]
<argp.h>
• argp_err_exit_status: | ||
• argp_error: | ||
• argp_failure: | ||
• argp_help: | ||
• argp_parse: | ||
• argp_program_bug_address: | ||
• argp_program_version: | ||
• argp_program_version_hook: | ||
• argp_state_help: | ||
• argp_usage: |
Next: argp_error, Up: Glibc argp.h [Contents][Index]
argp_err_exit_status
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: argp_failure, Previous: argp_err_exit_status, Up: Glibc argp.h [Contents][Index]
argp_error
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: argp_help, Previous: argp_error, Up: Glibc argp.h [Contents][Index]
argp_failure
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: argp_parse, Previous: argp_failure, Up: Glibc argp.h [Contents][Index]
argp_help
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: argp_program_bug_address, Previous: argp_help, Up: Glibc argp.h [Contents][Index]
argp_parse
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: argp_program_version, Previous: argp_parse, Up: Glibc argp.h [Contents][Index]
argp_program_bug_address
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: argp_program_version_hook, Previous: argp_program_bug_address, Up: Glibc argp.h [Contents][Index]
argp_program_version
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: argp_state_help, Previous: argp_program_version, Up: Glibc argp.h [Contents][Index]
argp_program_version_hook
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: argp_usage, Previous: argp_program_version_hook, Up: Glibc argp.h [Contents][Index]
argp_state_help
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: argp_state_help, Up: Glibc argp.h [Contents][Index]
argp_usage
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc arpa/inet.h, Previous: Glibc argp.h, Up: Glibc Function Substitutes [Contents][Index]
<argz.h>
• argz_add: | ||
• argz_add_sep: | ||
• argz_append: | ||
• argz_count: | ||
• argz_create: | ||
• argz_create_sep: | ||
• argz_delete: | ||
• argz_extract: | ||
• argz_insert: | ||
• argz_next: | ||
• argz_replace: | ||
• argz_stringify: |
Next: argz_add_sep, Up: Glibc argz.h [Contents][Index]
argz_add
Gnulib module: argz
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: argz_append, Previous: argz_add, Up: Glibc argz.h [Contents][Index]
argz_add_sep
Gnulib module: argz
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: argz_count, Previous: argz_add_sep, Up: Glibc argz.h [Contents][Index]
argz_append
Gnulib module: argz
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: argz_create, Previous: argz_append, Up: Glibc argz.h [Contents][Index]
argz_count
Gnulib module: argz
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: argz_create_sep, Previous: argz_count, Up: Glibc argz.h [Contents][Index]
argz_create
Gnulib module: argz
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: argz_delete, Previous: argz_create, Up: Glibc argz.h [Contents][Index]
argz_create_sep
Gnulib module: argz
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: argz_extract, Previous: argz_create_sep, Up: Glibc argz.h [Contents][Index]
argz_delete
Gnulib module: argz
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: argz_insert, Previous: argz_delete, Up: Glibc argz.h [Contents][Index]
argz_extract
Gnulib module: argz
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: argz_next, Previous: argz_extract, Up: Glibc argz.h [Contents][Index]
argz_insert
Gnulib module: argz
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: argz_replace, Previous: argz_insert, Up: Glibc argz.h [Contents][Index]
argz_next
Gnulib module: argz
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: argz_stringify, Previous: argz_next, Up: Glibc argz.h [Contents][Index]
argz_replace
Gnulib module: argz
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: argz_replace, Up: Glibc argz.h [Contents][Index]
argz_stringify
Gnulib module: argz
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc byteswap.h, Previous: Glibc argz.h, Up: Glibc Function Substitutes [Contents][Index]
<arpa/inet.h>
• inet_aton: | ||
• inet_lnaof: | ||
• inet_makeaddr: | ||
• inet_net_ntop: | ||
• inet_net_pton: | ||
• inet_neta: | ||
• inet_netof: | ||
• inet_network: | ||
• inet_nsap_addr: | ||
• inet_nsap_ntoa: |
Next: inet_lnaof, Up: Glibc arpa/inet.h [Contents][Index]
inet_aton
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: inet_makeaddr, Previous: inet_aton, Up: Glibc arpa/inet.h [Contents][Index]
inet_lnaof
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: inet_net_ntop, Previous: inet_lnaof, Up: Glibc arpa/inet.h [Contents][Index]
inet_makeaddr
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: inet_net_pton, Previous: inet_makeaddr, Up: Glibc arpa/inet.h [Contents][Index]
inet_net_ntop
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: inet_neta, Previous: inet_net_ntop, Up: Glibc arpa/inet.h [Contents][Index]
inet_net_pton
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: inet_netof, Previous: inet_net_pton, Up: Glibc arpa/inet.h [Contents][Index]
inet_neta
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: inet_network, Previous: inet_neta, Up: Glibc arpa/inet.h [Contents][Index]
inet_netof
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: inet_nsap_addr, Previous: inet_netof, Up: Glibc arpa/inet.h [Contents][Index]
inet_network
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: inet_nsap_ntoa, Previous: inet_network, Up: Glibc arpa/inet.h [Contents][Index]
inet_nsap_addr
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: inet_nsap_addr, Up: Glibc arpa/inet.h [Contents][Index]
inet_nsap_ntoa
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc complex.h, Previous: Glibc arpa/inet.h, Up: Glibc Function Substitutes [Contents][Index]
<byteswap.h>
• bswap_16: | ||
• bswap_32: | ||
• bswap_64: |
Next: bswap_32, Up: Glibc byteswap.h [Contents][Index]
bswap_16
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: bswap_64, Previous: bswap_16, Up: Glibc byteswap.h [Contents][Index]
bswap_32
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: bswap_32, Up: Glibc byteswap.h [Contents][Index]
bswap_64
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc crypt.h, Previous: Glibc byteswap.h, Up: Glibc Function Substitutes [Contents][Index]
<complex.h>
• clog10: | ||
• clog10f: | ||
• clog10l: |
Next: clog10f, Up: Glibc complex.h [Contents][Index]
clog10
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: clog10l, Previous: clog10, Up: Glibc complex.h [Contents][Index]
clog10f
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: clog10f, Up: Glibc complex.h [Contents][Index]
clog10l
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc ctype.h, Previous: Glibc complex.h, Up: Glibc Function Substitutes [Contents][Index]
<crypt.h>
• crypt_r: | ||
• encrypt_r: | ||
• setkey_r: |
Next: encrypt_r, Up: Glibc crypt.h [Contents][Index]
crypt_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setkey_r, Previous: crypt_r, Up: Glibc crypt.h [Contents][Index]
encrypt_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: encrypt_r, Up: Glibc crypt.h [Contents][Index]
setkey_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc dirent.h, Previous: Glibc crypt.h, Up: Glibc Function Substitutes [Contents][Index]
<ctype.h>
• isctype: |
Up: Glibc ctype.h [Contents][Index]
isctype
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc dlfcn.h, Previous: Glibc ctype.h, Up: Glibc Function Substitutes [Contents][Index]
<dirent.h>
• getdirentries: | ||
• scandirat: | ||
• versionsort: |
Next: scandirat, Up: Glibc dirent.h [Contents][Index]
getdirentries
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
off_t
is a 32-bit type, this function may not
work correctly on huge directories larger than 2 GB. The fix is to use
the AC_SYS_LARGEFILE
macro.
Next: versionsort, Previous: getdirentries, Up: Glibc dirent.h [Contents][Index]
scandirat
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: scandirat, Up: Glibc dirent.h [Contents][Index]
versionsort
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc envz.h, Previous: Glibc dirent.h, Up: Glibc Function Substitutes [Contents][Index]
<dlfcn.h>
• dladdr: | ||
• dladdr1: | ||
• dlinfo: | ||
• dlmopen: | ||
• dlvsym: |
Next: dladdr1, Up: Glibc dlfcn.h [Contents][Index]
dladdr
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: dlinfo, Previous: dladdr, Up: Glibc dlfcn.h [Contents][Index]
dladdr1
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: dlmopen, Previous: dladdr1, Up: Glibc dlfcn.h [Contents][Index]
dlinfo
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: dlvsym, Previous: dlinfo, Up: Glibc dlfcn.h [Contents][Index]
dlmopen
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: dlmopen, Up: Glibc dlfcn.h [Contents][Index]
dlvsym
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc err.h, Previous: Glibc dlfcn.h, Up: Glibc Function Substitutes [Contents][Index]
<envz.h>
• envz_add: | ||
• envz_entry: | ||
• envz_get: | ||
• envz_merge: | ||
• envz_remove: | ||
• envz_strip: |
Next: envz_entry, Up: Glibc envz.h [Contents][Index]
envz_add
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: envz_get, Previous: envz_add, Up: Glibc envz.h [Contents][Index]
envz_entry
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: envz_merge, Previous: envz_entry, Up: Glibc envz.h [Contents][Index]
envz_get
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: envz_remove, Previous: envz_get, Up: Glibc envz.h [Contents][Index]
envz_merge
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: envz_strip, Previous: envz_merge, Up: Glibc envz.h [Contents][Index]
envz_remove
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: envz_remove, Up: Glibc envz.h [Contents][Index]
envz_strip
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc errno.h, Previous: Glibc envz.h, Up: Glibc Function Substitutes [Contents][Index]
<err.h>
• err: | ||
• errx: | ||
• verr: | ||
• verrx: | ||
• vwarn: | ||
• vwarnx: | ||
• warn: | ||
• warnx: |
Next: errx, Up: Glibc err.h [Contents][Index]
err
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: verr, Previous: err, Up: Glibc err.h [Contents][Index]
errx
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: verrx, Previous: errx, Up: Glibc err.h [Contents][Index]
verr
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: vwarn, Previous: verr, Up: Glibc err.h [Contents][Index]
verrx
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: vwarnx, Previous: verrx, Up: Glibc err.h [Contents][Index]
vwarn
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: warn, Previous: vwarn, Up: Glibc err.h [Contents][Index]
vwarnx
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: warnx, Previous: vwarnx, Up: Glibc err.h [Contents][Index]
warn
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: warn, Up: Glibc err.h [Contents][Index]
warnx
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc error.h, Previous: Glibc err.h, Up: Glibc Function Substitutes [Contents][Index]
<errno.h>
• program_invocation_name: | ||
• program_invocation_short_name: |
Next: program_invocation_short_name, Up: Glibc errno.h [Contents][Index]
program_invocation_name
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: program_invocation_name, Up: Glibc errno.h [Contents][Index]
program_invocation_short_name
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc execinfo.h, Previous: Glibc errno.h, Up: Glibc Function Substitutes [Contents][Index]
<error.h>
• error: | ||
• error_at_line: | ||
• error_message_count: | ||
• error_one_per_line: | ||
• error_print_progname: |
Next: error_at_line, Up: Glibc error.h [Contents][Index]
error
Gnulib module: error
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: error_message_count, Previous: error, Up: Glibc error.h [Contents][Index]
error_at_line
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: error_one_per_line, Previous: error_at_line, Up: Glibc error.h [Contents][Index]
error_message_count
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: error_print_progname, Previous: error_message_count, Up: Glibc error.h [Contents][Index]
error_one_per_line
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: error_one_per_line, Up: Glibc error.h [Contents][Index]
error_print_progname
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc fcntl.h, Previous: Glibc error.h, Up: Glibc Function Substitutes [Contents][Index]
<execinfo.h>
• backtrace: | ||
• backtrace_symbols: | ||
• backtrace_symbols_fd: |
Next: backtrace_symbols, Up: Glibc execinfo.h [Contents][Index]
backtrace
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: backtrace_symbols_fd, Previous: backtrace, Up: Glibc execinfo.h [Contents][Index]
backtrace_symbols
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: backtrace_symbols, Up: Glibc execinfo.h [Contents][Index]
backtrace_symbols_fd
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc fenv.h, Previous: Glibc execinfo.h, Up: Glibc Function Substitutes [Contents][Index]
<fcntl.h>
• fallocate: | ||
• name_to_handle_at: | ||
• readahead: | ||
• open_by_handle_at: |
Next: name_to_handle_at, Up: Glibc fcntl.h [Contents][Index]
fallocate
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
off_t
is a 32-bit type, this function may not
work correctly across the entire data range of files larger than 2 GB.
The fix is to use the AC_SYS_LARGEFILE
macro.
Next: readahead, Previous: fallocate, Up: Glibc fcntl.h [Contents][Index]
name_to_handle_at
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: open_by_handle_at, Previous: name_to_handle_at, Up: Glibc fcntl.h [Contents][Index]
readahead
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: readahead, Up: Glibc fcntl.h [Contents][Index]
open_by_handle_at
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc fmtmsg.h, Previous: Glibc fcntl.h, Up: Glibc Function Substitutes [Contents][Index]
<fenv.h>
• fedisableexcept: | ||
• feenableexcept: | ||
• fegetexcept: |
Next: feenableexcept, Up: Glibc fenv.h [Contents][Index]
fedisableexcept
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fegetexcept, Previous: fedisableexcept, Up: Glibc fenv.h [Contents][Index]
feenableexcept
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: feenableexcept, Up: Glibc fenv.h [Contents][Index]
fegetexcept
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc fstab.h, Previous: Glibc fenv.h, Up: Glibc Function Substitutes [Contents][Index]
<fmtmsg.h>
• addseverity: |
Up: Glibc fmtmsg.h [Contents][Index]
addseverity
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc fts.h, Previous: Glibc fmtmsg.h, Up: Glibc Function Substitutes [Contents][Index]
<fstab.h>
• endfsent: | ||
• getfsent: | ||
• getfsfile: | ||
• getfsspec: | ||
• setfsent: |
Next: getfsent, Up: Glibc fstab.h [Contents][Index]
endfsent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getfsfile, Previous: endfsent, Up: Glibc fstab.h [Contents][Index]
getfsent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getfsspec, Previous: getfsent, Up: Glibc fstab.h [Contents][Index]
getfsfile
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setfsent, Previous: getfsfile, Up: Glibc fstab.h [Contents][Index]
getfsspec
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: getfsspec, Up: Glibc fstab.h [Contents][Index]
setfsent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc getopt.h, Previous: Glibc fstab.h, Up: Glibc Function Substitutes [Contents][Index]
<fts.h>
• fts_children: | ||
• fts_close: | ||
• fts_open: | ||
• fts_read: | ||
• fts_set: |
Next: fts_close, Up: Glibc fts.h [Contents][Index]
fts_children
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
off_t
is a 32-bit type, this function may not
correctly report the size of files or block devices larger than 2 GB and
may not work correctly on huge directories larger than 2 GB. Also, on
platforms where ino_t
is a 32-bit type, this function may report
inode numbers incorrectly. The fix is to use the AC_SYS_LARGEFILE
macro (only on Mac OS X systems).
Next: fts_open, Previous: fts_children, Up: Glibc fts.h [Contents][Index]
fts_close
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fts_read, Previous: fts_close, Up: Glibc fts.h [Contents][Index]
fts_open
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fts_set, Previous: fts_open, Up: Glibc fts.h [Contents][Index]
fts_read
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
off_t
is a 32-bit type, this function may not
correctly report the size of files or block devices larger than 2 GB and
may not work correctly on huge directories larger than 2 GB. Also, on
platforms where ino_t
is a 32-bit type, this function may report
inode numbers incorrectly. The fix is to use the AC_SYS_LARGEFILE
macro (only on Mac OS X systems).
Previous: fts_read, Up: Glibc fts.h [Contents][Index]
fts_set
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc glob.h, Previous: Glibc fts.h, Up: Glibc Function Substitutes [Contents][Index]
<getopt.h>
• getopt_long: | ||
• getopt_long_only: |
Next: getopt_long_only, Up: Glibc getopt.h [Contents][Index]
getopt_long
Gnulib module: getopt-gnu
Portability problems fixed by Gnulib:
getopt_long
does not obey the combination of
‘+’ and ‘:’ flags in the options string on some platforms:
glibc 2.11.
-W foo
to behave synonymously with --foo
:
glibc 2.11.
getopt_long
does not support the ‘+’ flag in
the options string on some platforms:
Mac OS X 10.5, AIX 5.2, OSF/1 5.1, Solaris 10.
optind
after a missing required argument is wrong
on some platforms:
Mac OS X 10.5.
getopt_long
does not obey the ‘-’ flag in the
options string when POSIXLY_CORRECT
is set on some platforms:
Cygwin 1.7.0.
POSIXLY_CORRECT
, when optind
is set to ‘0’:
NetBSD, Cygwin 1.7.0.
getopt_long
does not support options with optional
arguments on some platforms:
Mac OS X 10.5, OpenBSD 4.0, AIX 5.2, IRIX 6.5, Solaris 11 2010-11, Cygwin 1.5.x.
W;
but
there are no long options, on some platforms:
glibc 2.14.
Portability problems not fixed by Gnulib:
Previous: getopt_long, Up: Glibc getopt.h [Contents][Index]
getopt_long_only
Gnulib module: getopt-gnu
Portability problems fixed by Gnulib:
getopt_long_only
does not obey the combination of
‘+’ and ‘:’ flags in the options string on some platforms:
glibc 2.11.
-W foo
to behave synonymously with --foo
:
glibc 2.11.
getopt_long_only
does not support the ‘+’
flag in the options string on some platforms:
Mac OS X 10.5, AIX 5.2, OSF/1 5.1, Solaris 10.
optind
after a missing required argument is wrong
on some platforms:
Mac OS X 10.5.
getopt_long_only
does not obey the ‘-’ flag
in the options string when POSIXLY_CORRECT
is set on some platforms:
Cygwin 1.7.0.
POSIXLY_CORRECT
, when optind
is set to ‘0’:
NetBSD, Cygwin 1.7.0.
getopt_long_only
does not support options with
optional arguments on some platforms:
Mac OS X 10.5, OpenBSD 4.0, AIX 5.2, Solaris 11 2010-11, Cygwin 1.5.x.
W;
but
there are no long options, on some platforms:
glibc 2.14.
Portability problems not fixed by Gnulib:
getopt_long_only
in new programs.
Next: Glibc gnu/libc-version.h, Previous: Glibc getopt.h, Up: Glibc Function Substitutes [Contents][Index]
<glob.h>
• glob_pattern_p: |
Up: Glibc glob.h [Contents][Index]
glob_pattern_p
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc grp.h, Previous: Glibc glob.h, Up: Glibc Function Substitutes [Contents][Index]
<gnu/libc-version.h>
• gnu_get_libc_release: | ||
• gnu_get_libc_version: |
Next: gnu_get_libc_version, Up: Glibc gnu/libc-version.h [Contents][Index]
gnu_get_libc_release
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: gnu_get_libc_release, Up: Glibc gnu/libc-version.h [Contents][Index]
gnu_get_libc_version
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc gshadow.h, Previous: Glibc gnu/libc-version.h, Up: Glibc Function Substitutes [Contents][Index]
<grp.h>
• fgetgrent: | ||
• fgetgrent_r: | ||
• getgrent_r: | ||
• getgrouplist: | ||
• initgroups: | ||
• putgrent: | ||
• setgroups: |
Next: fgetgrent_r, Up: Glibc grp.h [Contents][Index]
fgetgrent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getgrent_r, Previous: fgetgrent, Up: Glibc grp.h [Contents][Index]
fgetgrent_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getgrouplist, Previous: fgetgrent_r, Up: Glibc grp.h [Contents][Index]
getgrent_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: initgroups, Previous: getgrent_r, Up: Glibc grp.h [Contents][Index]
getgrouplist
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
The Gnulib module getugroups
provides a similar API.
Next: putgrent, Previous: getgrouplist, Up: Glibc grp.h [Contents][Index]
initgroups
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
fork
and exec
if
the parent process is multi-threaded. Instead, use getgroups
or
getgrouplist
(or use the gnulib module mgetgroups
)
before forking, and setgroups
in the child.
Next: setgroups, Previous: initgroups, Up: Glibc grp.h [Contents][Index]
putgrent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: putgrent, Up: Glibc grp.h [Contents][Index]
setgroups
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
GETGROUPS_T
to
the appropriate size (since getgroups
and setgroups
share the same bug).
Next: Glibc ifaddrs.h, Previous: Glibc grp.h, Up: Glibc Function Substitutes [Contents][Index]
<gshadow.h>
• endsgent: | ||
• fgetsgent: | ||
• fgetsgent_r: | ||
• getsgent: | ||
• getsgent_r: | ||
• getsgnam: | ||
• getsgnam_r: | ||
• putsgent: | ||
• setsgent: | ||
• sgetsgent: | ||
• sgetsgent_r: |
Next: fgetsgent, Up: Glibc gshadow.h [Contents][Index]
endsgent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fgetsgent_r, Previous: endsgent, Up: Glibc gshadow.h [Contents][Index]
fgetsgent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getsgent, Previous: fgetsgent, Up: Glibc gshadow.h [Contents][Index]
fgetsgent_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getsgent_r, Previous: fgetsgent_r, Up: Glibc gshadow.h [Contents][Index]
getsgent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getsgnam, Previous: getsgent, Up: Glibc gshadow.h [Contents][Index]
getsgent_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getsgnam_r, Previous: getsgent_r, Up: Glibc gshadow.h [Contents][Index]
getsgnam
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: putsgent, Previous: getsgnam, Up: Glibc gshadow.h [Contents][Index]
getsgnam_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setsgent, Previous: getsgnam_r, Up: Glibc gshadow.h [Contents][Index]
putsgent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sgetsgent, Previous: putsgent, Up: Glibc gshadow.h [Contents][Index]
setsgent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sgetsgent_r, Previous: setsgent, Up: Glibc gshadow.h [Contents][Index]
sgetsgent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: sgetsgent, Up: Glibc gshadow.h [Contents][Index]
sgetsgent_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc libintl.h, Previous: Glibc gshadow.h, Up: Glibc Function Substitutes [Contents][Index]
<ifaddrs.h>
• getifaddrs: | ||
• freeifaddrs: |
Next: freeifaddrs, Up: Glibc ifaddrs.h [Contents][Index]
getifaddrs
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: getifaddrs, Up: Glibc ifaddrs.h [Contents][Index]
freeifaddrs
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc link.h, Previous: Glibc ifaddrs.h, Up: Glibc Function Substitutes [Contents][Index]
<libintl.h>
• bind_textdomain_codeset: | ||
• bindtextdomain: | ||
• dcgettext: | ||
• dcngettext: | ||
• dgettext: | ||
• dngettext: | ||
• gettext: | ||
• ngettext: | ||
• textdomain: |
Next: bindtextdomain, Up: Glibc libintl.h [Contents][Index]
bind_textdomain_codeset
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: dcgettext, Previous: bind_textdomain_codeset, Up: Glibc libintl.h [Contents][Index]
bindtextdomain
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: dcngettext, Previous: bindtextdomain, Up: Glibc libintl.h [Contents][Index]
dcgettext
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: dgettext, Previous: dcgettext, Up: Glibc libintl.h [Contents][Index]
dcngettext
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: dngettext, Previous: dcngettext, Up: Glibc libintl.h [Contents][Index]
dgettext
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: gettext, Previous: dgettext, Up: Glibc libintl.h [Contents][Index]
dngettext
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ngettext, Previous: dngettext, Up: Glibc libintl.h [Contents][Index]
gettext
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: textdomain, Previous: gettext, Up: Glibc libintl.h [Contents][Index]
ngettext
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: ngettext, Up: Glibc libintl.h [Contents][Index]
textdomain
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc malloc.h, Previous: Glibc libintl.h, Up: Glibc Function Substitutes [Contents][Index]
<link.h>
• dl_iterate_phdr: |
Up: Glibc link.h [Contents][Index]
dl_iterate_phdr
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc math.h, Previous: Glibc link.h, Up: Glibc Function Substitutes [Contents][Index]
<malloc.h>
• mallinfo: | ||
• malloc_get_state: | ||
• malloc_set_state: | ||
• malloc_info: | ||
• malloc_stats: | ||
• malloc_trim: | ||
• malloc_usable_size: | ||
• mallopt: | ||
• memalign: | ||
• pvalloc: |
Next: malloc_get_state, Up: Glibc malloc.h [Contents][Index]
mallinfo
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: malloc_set_state, Previous: mallinfo, Up: Glibc malloc.h [Contents][Index]
malloc_get_state
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: malloc_info, Previous: malloc_get_state, Up: Glibc malloc.h [Contents][Index]
malloc_set_state
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: malloc_stats, Previous: malloc_set_state, Up: Glibc malloc.h [Contents][Index]
malloc_info
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: malloc_trim, Previous: malloc_info, Up: Glibc malloc.h [Contents][Index]
malloc_stats
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: malloc_usable_size, Previous: malloc_stats, Up: Glibc malloc.h [Contents][Index]
malloc_trim
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: mallopt, Previous: malloc_trim, Up: Glibc malloc.h [Contents][Index]
malloc_usable_size
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: memalign, Previous: malloc_usable_size, Up: Glibc malloc.h [Contents][Index]
mallopt
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pvalloc, Previous: mallopt, Up: Glibc malloc.h [Contents][Index]
memalign
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: memalign, Up: Glibc malloc.h [Contents][Index]
pvalloc
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc mcheck.h, Previous: Glibc malloc.h, Up: Glibc Function Substitutes [Contents][Index]
<math.h>
• drem: | ||
• dremf: | ||
• dreml: | ||
• exp10: | ||
• exp10f: | ||
• exp10l: | ||
• finite: | ||
• finitef: | ||
• finitel: | ||
• gamma: | ||
• gammaf: | ||
• gammal: | ||
• isinff: | ||
• isinfl: | ||
• isnanf: | ||
• isnanl: | ||
• j0f: | ||
• j0l: | ||
• j1f: | ||
• j1l: | ||
• jnf: | ||
• jnl: | ||
• lgamma_r: | ||
• lgammaf_r: | ||
• lgammal_r: | ||
• matherr: | ||
• pow10: | ||
• pow10f: | ||
• pow10l: | ||
• scalbf: | ||
• scalbl: | ||
• significand: | ||
• significandf: | ||
• significandl: | ||
• sincos: | ||
• sincosf: | ||
• sincosl: | ||
• y0f: | ||
• y0l: | ||
• y1f: | ||
• y1l: | ||
• ynf: | ||
• ynl: |
Next: dremf, Up: Glibc math.h [Contents][Index]
drem
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: dreml, Previous: drem, Up: Glibc math.h [Contents][Index]
dremf
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: exp10, Previous: dremf, Up: Glibc math.h [Contents][Index]
dreml
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: exp10f, Previous: dreml, Up: Glibc math.h [Contents][Index]
exp10
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: exp10l, Previous: exp10, Up: Glibc math.h [Contents][Index]
exp10f
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: finite, Previous: exp10f, Up: Glibc math.h [Contents][Index]
exp10l
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: finitef, Previous: exp10l, Up: Glibc math.h [Contents][Index]
finite
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: finitel, Previous: finite, Up: Glibc math.h [Contents][Index]
finitef
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: gamma, Previous: finitef, Up: Glibc math.h [Contents][Index]
finitel
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: gammaf, Previous: finitel, Up: Glibc math.h [Contents][Index]
gamma
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: gammal, Previous: gamma, Up: Glibc math.h [Contents][Index]
gammaf
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: isinff, Previous: gammaf, Up: Glibc math.h [Contents][Index]
gammal
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: isinfl, Previous: gammal, Up: Glibc math.h [Contents][Index]
isinff
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: isnanf, Previous: isinff, Up: Glibc math.h [Contents][Index]
isinfl
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: isnanl, Previous: isinfl, Up: Glibc math.h [Contents][Index]
isnanf
Gnulib module: isnanf
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: j0f, Previous: isnanf, Up: Glibc math.h [Contents][Index]
isnanl
Gnulib module: isnanl
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: j0l, Previous: isnanl, Up: Glibc math.h [Contents][Index]
j0f
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: j1f, Previous: j0f, Up: Glibc math.h [Contents][Index]
j0l
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: j1l, Previous: j0l, Up: Glibc math.h [Contents][Index]
j1f
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: jnf, Previous: j1f, Up: Glibc math.h [Contents][Index]
j1l
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: jnl, Previous: j1l, Up: Glibc math.h [Contents][Index]
jnf
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: lgamma_r, Previous: jnf, Up: Glibc math.h [Contents][Index]
jnl
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: lgammaf_r, Previous: jnl, Up: Glibc math.h [Contents][Index]
lgamma_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: lgammal_r, Previous: lgamma_r, Up: Glibc math.h [Contents][Index]
lgammaf_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: matherr, Previous: lgammaf_r, Up: Glibc math.h [Contents][Index]
lgammal_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pow10, Previous: lgammal_r, Up: Glibc math.h [Contents][Index]
matherr
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pow10f, Previous: matherr, Up: Glibc math.h [Contents][Index]
pow10
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pow10l, Previous: pow10, Up: Glibc math.h [Contents][Index]
pow10f
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: scalbf, Previous: pow10f, Up: Glibc math.h [Contents][Index]
pow10l
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: scalbl, Previous: pow10l, Up: Glibc math.h [Contents][Index]
scalbf
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: significand, Previous: scalbf, Up: Glibc math.h [Contents][Index]
scalbl
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: significandf, Previous: scalbl, Up: Glibc math.h [Contents][Index]
significand
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: significandl, Previous: significand, Up: Glibc math.h [Contents][Index]
significandf
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sincos, Previous: significandf, Up: Glibc math.h [Contents][Index]
significandl
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sincosf, Previous: significandl, Up: Glibc math.h [Contents][Index]
sincos
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sincosl, Previous: sincos, Up: Glibc math.h [Contents][Index]
sincosf
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: y0f, Previous: sincosf, Up: Glibc math.h [Contents][Index]
sincosl
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: y0l, Previous: sincosl, Up: Glibc math.h [Contents][Index]
y0f
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: y1f, Previous: y0f, Up: Glibc math.h [Contents][Index]
y0l
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: y1l, Previous: y0l, Up: Glibc math.h [Contents][Index]
y1f
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ynf, Previous: y1f, Up: Glibc math.h [Contents][Index]
y1l
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ynl, Previous: y1l, Up: Glibc math.h [Contents][Index]
ynf
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: ynf, Up: Glibc math.h [Contents][Index]
ynl
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc mntent.h, Previous: Glibc math.h, Up: Glibc Function Substitutes [Contents][Index]
<mcheck.h>
• mcheck: | ||
• mcheck_check_all: | ||
• mcheck_pedantic: | ||
• mprobe: | ||
• mtrace: | ||
• muntrace: |
Next: mcheck_check_all, Up: Glibc mcheck.h [Contents][Index]
mcheck
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: mcheck_pedantic, Previous: mcheck, Up: Glibc mcheck.h [Contents][Index]
mcheck_check_all
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: mprobe, Previous: mcheck_check_all, Up: Glibc mcheck.h [Contents][Index]
mcheck_pedantic
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: mtrace, Previous: mcheck_pedantic, Up: Glibc mcheck.h [Contents][Index]
mprobe
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: muntrace, Previous: mprobe, Up: Glibc mcheck.h [Contents][Index]
mtrace
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: mtrace, Up: Glibc mcheck.h [Contents][Index]
muntrace
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc netdb.h, Previous: Glibc mcheck.h, Up: Glibc Function Substitutes [Contents][Index]
<mntent.h>
• addmntent: | ||
• endmntent: | ||
• getmntent: | ||
• getmntent_r: | ||
• hasmntopt: | ||
• setmntent: |
Next: endmntent, Up: Glibc mntent.h [Contents][Index]
addmntent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getmntent, Previous: addmntent, Up: Glibc mntent.h [Contents][Index]
endmntent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getmntent_r, Previous: endmntent, Up: Glibc mntent.h [Contents][Index]
getmntent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: hasmntopt, Previous: getmntent, Up: Glibc mntent.h [Contents][Index]
getmntent_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setmntent, Previous: getmntent_r, Up: Glibc mntent.h [Contents][Index]
hasmntopt
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: hasmntopt, Up: Glibc mntent.h [Contents][Index]
setmntent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc netinet/ether.h, Previous: Glibc mntent.h, Up: Glibc Function Substitutes [Contents][Index]
<netdb.h>
• endnetgrent: | ||
• gethostbyaddr_r: | ||
• gethostbyname2: | ||
• gethostbyname2_r: | ||
• gethostbyname_r: | ||
• gethostent_r: | ||
• getnetbyaddr_r: | ||
• getnetbyname_r: | ||
• getnetent_r: | ||
• getnetgrent: | ||
• getnetgrent_r: | ||
• getprotobyname_r: | ||
• getprotobynumber_r: | ||
• getprotoent_r: | ||
• getservbyname_r: | ||
• getservbyport_r: | ||
• getservent_r: | ||
• herror: | ||
• hstrerror: | ||
• innetgr: | ||
• rcmd: | ||
• rcmd_af: | ||
• rexec: | ||
• rexec_af: | ||
• rresvport: | ||
• rresvport_af: | ||
• ruserok: | ||
• ruserok_af: | ||
• setnetgrent: |
Next: gethostbyaddr_r, Up: Glibc netdb.h [Contents][Index]
endnetgrent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: gethostbyname2, Previous: endnetgrent, Up: Glibc netdb.h [Contents][Index]
gethostbyaddr_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: gethostbyname2_r, Previous: gethostbyaddr_r, Up: Glibc netdb.h [Contents][Index]
gethostbyname2
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: gethostbyname_r, Previous: gethostbyname2, Up: Glibc netdb.h [Contents][Index]
gethostbyname2_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: gethostent_r, Previous: gethostbyname2_r, Up: Glibc netdb.h [Contents][Index]
gethostbyname_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getnetbyaddr_r, Previous: gethostbyname_r, Up: Glibc netdb.h [Contents][Index]
gethostent_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getnetbyname_r, Previous: gethostent_r, Up: Glibc netdb.h [Contents][Index]
getnetbyaddr_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getnetent_r, Previous: getnetbyaddr_r, Up: Glibc netdb.h [Contents][Index]
getnetbyname_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getnetgrent, Previous: getnetbyname_r, Up: Glibc netdb.h [Contents][Index]
getnetent_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getnetgrent_r, Previous: getnetent_r, Up: Glibc netdb.h [Contents][Index]
getnetgrent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getprotobyname_r, Previous: getnetgrent, Up: Glibc netdb.h [Contents][Index]
getnetgrent_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getprotobynumber_r, Previous: getnetgrent_r, Up: Glibc netdb.h [Contents][Index]
getprotobyname_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getprotoent_r, Previous: getprotobyname_r, Up: Glibc netdb.h [Contents][Index]
getprotobynumber_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getservbyname_r, Previous: getprotobynumber_r, Up: Glibc netdb.h [Contents][Index]
getprotoent_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getservbyport_r, Previous: getprotoent_r, Up: Glibc netdb.h [Contents][Index]
getservbyname_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getservent_r, Previous: getservbyname_r, Up: Glibc netdb.h [Contents][Index]
getservbyport_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: herror, Previous: getservbyport_r, Up: Glibc netdb.h [Contents][Index]
getservent_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: hstrerror, Previous: getservent_r, Up: Glibc netdb.h [Contents][Index]
herror
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: innetgr, Previous: herror, Up: Glibc netdb.h [Contents][Index]
hstrerror
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: rcmd, Previous: hstrerror, Up: Glibc netdb.h [Contents][Index]
innetgr
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: rcmd_af, Previous: innetgr, Up: Glibc netdb.h [Contents][Index]
rcmd
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: rexec, Previous: rcmd, Up: Glibc netdb.h [Contents][Index]
rcmd_af
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: rexec_af, Previous: rcmd_af, Up: Glibc netdb.h [Contents][Index]
rexec
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: rresvport, Previous: rexec, Up: Glibc netdb.h [Contents][Index]
rexec_af
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: rresvport_af, Previous: rexec_af, Up: Glibc netdb.h [Contents][Index]
rresvport
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ruserok, Previous: rresvport, Up: Glibc netdb.h [Contents][Index]
rresvport_af
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ruserok_af, Previous: rresvport_af, Up: Glibc netdb.h [Contents][Index]
ruserok
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setnetgrent, Previous: ruserok, Up: Glibc netdb.h [Contents][Index]
ruserok_af
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: ruserok_af, Up: Glibc netdb.h [Contents][Index]
setnetgrent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc netinet/in.h, Previous: Glibc netdb.h, Up: Glibc Function Substitutes [Contents][Index]
<netinet/ether.h>
• ether_aton: | ||
• ether_aton_r: | ||
• ether_hostton: | ||
• ether_line: | ||
• ether_ntoa: | ||
• ether_ntoa_r: | ||
• ether_ntohost: |
Next: ether_aton_r, Up: Glibc netinet/ether.h [Contents][Index]
ether_aton
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ether_hostton, Previous: ether_aton, Up: Glibc netinet/ether.h [Contents][Index]
ether_aton_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ether_line, Previous: ether_aton_r, Up: Glibc netinet/ether.h [Contents][Index]
ether_hostton
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ether_ntoa, Previous: ether_hostton, Up: Glibc netinet/ether.h [Contents][Index]
ether_line
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ether_ntoa_r, Previous: ether_line, Up: Glibc netinet/ether.h [Contents][Index]
ether_ntoa
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ether_ntohost, Previous: ether_ntoa, Up: Glibc netinet/ether.h [Contents][Index]
ether_ntoa_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: ether_ntoa_r, Up: Glibc netinet/ether.h [Contents][Index]
ether_ntohost
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc obstack.h, Previous: Glibc netinet/ether.h, Up: Glibc Function Substitutes [Contents][Index]
<netinet/in.h>
Next: getipv4sourcefilter, Up: Glibc netinet/in.h [Contents][Index]
bindresvport
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getsourcefilter, Previous: bindresvport, Up: Glibc netinet/in.h [Contents][Index]
getipv4sourcefilter
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: in6addr_any, Previous: getipv4sourcefilter, Up: Glibc netinet/in.h [Contents][Index]
getsourcefilter
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: in6addr_loopback, Previous: getsourcefilter, Up: Glibc netinet/in.h [Contents][Index]
in6addr_any
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: inet6_option_alloc, Previous: in6addr_any, Up: Glibc netinet/in.h [Contents][Index]
in6addr_loopback
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: inet6_option_append, Previous: in6addr_loopback, Up: Glibc netinet/in.h [Contents][Index]
inet6_option_alloc
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: inet6_option_find, Previous: inet6_option_alloc, Up: Glibc netinet/in.h [Contents][Index]
inet6_option_append
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: inet6_option_init, Previous: inet6_option_append, Up: Glibc netinet/in.h [Contents][Index]
inet6_option_find
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: inet6_option_next, Previous: inet6_option_find, Up: Glibc netinet/in.h [Contents][Index]
inet6_option_init
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: inet6_option_space, Previous: inet6_option_init, Up: Glibc netinet/in.h [Contents][Index]
inet6_option_next
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: inet6_opt_append, Previous: inet6_option_next, Up: Glibc netinet/in.h [Contents][Index]
inet6_option_space
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: inet6_opt_find, Previous: inet6_option_space, Up: Glibc netinet/in.h [Contents][Index]
inet6_opt_append
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: inet6_opt_finish, Previous: inet6_opt_append, Up: Glibc netinet/in.h [Contents][Index]
inet6_opt_find
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: inet6_opt_get_val, Previous: inet6_opt_find, Up: Glibc netinet/in.h [Contents][Index]
inet6_opt_finish
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: inet6_opt_init, Previous: inet6_opt_finish, Up: Glibc netinet/in.h [Contents][Index]
inet6_opt_get_val
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: inet6_opt_next, Previous: inet6_opt_get_val, Up: Glibc netinet/in.h [Contents][Index]
inet6_opt_init
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: inet6_opt_set_val, Previous: inet6_opt_init, Up: Glibc netinet/in.h [Contents][Index]
inet6_opt_next
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: inet6_rth_add, Previous: inet6_opt_next, Up: Glibc netinet/in.h [Contents][Index]
inet6_opt_set_val
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: inet6_rth_getaddr, Previous: inet6_opt_set_val, Up: Glibc netinet/in.h [Contents][Index]
inet6_rth_add
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: inet6_rth_init, Previous: inet6_rth_add, Up: Glibc netinet/in.h [Contents][Index]
inet6_rth_getaddr
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: inet6_rth_reverse, Previous: inet6_rth_getaddr, Up: Glibc netinet/in.h [Contents][Index]
inet6_rth_init
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: inet6_rth_segments, Previous: inet6_rth_init, Up: Glibc netinet/in.h [Contents][Index]
inet6_rth_reverse
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: inet6_rth_space, Previous: inet6_rth_reverse, Up: Glibc netinet/in.h [Contents][Index]
inet6_rth_segments
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setipv4sourcefilter, Previous: inet6_rth_segments, Up: Glibc netinet/in.h [Contents][Index]
inet6_rth_space
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setsourcefilter, Previous: inet6_rth_space, Up: Glibc netinet/in.h [Contents][Index]
setipv4sourcefilter
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: setipv4sourcefilter, Up: Glibc netinet/in.h [Contents][Index]
setsourcefilter
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc printf.h, Previous: Glibc netinet/in.h, Up: Glibc Function Substitutes [Contents][Index]
<obstack.h>
• obstack_alloc_failed_handler: | ||
• obstack_exit_failure: | ||
• obstack_free: | ||
• obstack_printf: | ||
• obstack_vprintf: |
Next: obstack_exit_failure, Up: Glibc obstack.h [Contents][Index]
obstack_alloc_failed_handler
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: obstack_free, Previous: obstack_alloc_failed_handler, Up: Glibc obstack.h [Contents][Index]
obstack_exit_failure
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: obstack_printf, Previous: obstack_exit_failure, Up: Glibc obstack.h [Contents][Index]
obstack_free
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: obstack_vprintf, Previous: obstack_free, Up: Glibc obstack.h [Contents][Index]
obstack_printf
Gnulib module: obstack-printf or obstack-printf-posix
Portability problems fixed by either Gnulib module
obstack-printf
or obstack-printf-posix
:
Portability problems fixed by Gnulib module ostack-printf-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 1.5.24, mingw, MSVC 9, BeOS.
"%f"
, "%e"
, "%g"
of Infinity and NaN yields an
incorrect result on some platforms:
AIX 5.2, OSF/1 5.1, Solaris 11 2011-11, mingw, MSVC 9.
"%2$s"
, on some platforms:
NetBSD 3.0, mingw, MSVC 9, BeOS.
'
flag on some platforms:
NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9.
"%010f"
of NaN and Infinity yields an incorrect result (padded
with zeroes) on some platforms:
Mac OS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 11 2011-11, Cygwin 1.5.x, mingw, MSVC 9.
Portability problems not fixed by Gnulib:
Previous: obstack_printf, Up: Glibc obstack.h [Contents][Index]
obstack_vprintf
Gnulib module: obstack-printf or obstack-printf-posix
Portability problems fixed by either Gnulib module
obstack-printf
or obstack-printf-posix
:
Portability problems fixed by Gnulib module ostack-printf-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 1.5.24, mingw, MSVC 9, BeOS.
"%f"
, "%e"
, "%g"
of Infinity and NaN yields an
incorrect result on some platforms:
AIX 5.2, OSF/1 5.1, Solaris 11 2011-11, mingw, MSVC 9.
"%2$s"
, on some platforms:
NetBSD 3.0, mingw, MSVC 9, BeOS.
'
flag on some platforms:
NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9.
"%010f"
of NaN and Infinity yields an incorrect result (padded
with zeroes) on some platforms:
Mac OS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 11 2011-11, Cygwin 1.5.x, mingw, MSVC 9.
Portability problems not fixed by Gnulib:
Next: Glibc pthread.h, Previous: Glibc obstack.h, Up: Glibc Function Substitutes [Contents][Index]
<printf.h>
• parse_printf_format: | ||
• printf_size: | ||
• printf_size_info: | ||
• register_printf_function: | ||
• register_printf_modifier: | ||
• register_printf_specifier: | ||
• register_printf_type: |
Next: printf_size, Up: Glibc printf.h [Contents][Index]
parse_printf_format
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: printf_size_info, Previous: parse_printf_format, Up: Glibc printf.h [Contents][Index]
printf_size
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: register_printf_function, Previous: printf_size, Up: Glibc printf.h [Contents][Index]
printf_size_info
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: register_printf_modifier, Previous: printf_size_info, Up: Glibc printf.h [Contents][Index]
register_printf_function
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: register_printf_specifier, Previous: register_printf_function, Up: Glibc printf.h [Contents][Index]
register_printf_modifier
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: register_printf_type, Previous: register_printf_modifier, Up: Glibc printf.h [Contents][Index]
register_printf_specifier
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: register_printf_specifier, Up: Glibc printf.h [Contents][Index]
register_printf_type
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc pty.h, Previous: Glibc printf.h, Up: Glibc Function Substitutes [Contents][Index]
<pthread.h>
Next: pthread_attr_setaffinity_np, Up: Glibc pthread.h [Contents][Index]
pthread_attr_getaffinity_np
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_getaffinity_np, Previous: pthread_attr_getaffinity_np, Up: Glibc pthread.h [Contents][Index]
pthread_attr_setaffinity_np
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_getattr_np, Previous: pthread_attr_setaffinity_np, Up: Glibc pthread.h [Contents][Index]
pthread_getaffinity_np
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_getname_np, Previous: pthread_getaffinity_np, Up: Glibc pthread.h [Contents][Index]
pthread_getattr_np
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_kill_other_threads_np, Previous: pthread_getattr_np, Up: Glibc pthread.h [Contents][Index]
pthread_getname_np
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_mutex_consistent_np, Previous: pthread_getname_np, Up: Glibc pthread.h [Contents][Index]
pthread_kill_other_threads_np
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_mutexattr_getrobust_np, Previous: pthread_kill_other_threads_np, Up: Glibc pthread.h [Contents][Index]
pthread_mutex_consistent_np
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_mutexattr_setrobust_np, Previous: pthread_mutex_consistent_np, Up: Glibc pthread.h [Contents][Index]
pthread_mutexattr_getrobust_np
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
This function has now been standardized by POSIX under the name
pthread_mutexattr_getrobust
.
Next: pthread_rwlockattr_getkind_np, Previous: pthread_mutexattr_getrobust_np, Up: Glibc pthread.h [Contents][Index]
pthread_mutexattr_setrobust_np
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
This function has now been standardized by POSIX under the name
pthread_mutexattr_setrobust
.
Next: pthread_rwlockattr_setkind_np, Previous: pthread_mutexattr_setrobust_np, Up: Glibc pthread.h [Contents][Index]
pthread_rwlockattr_getkind_np
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_setaffinity_np, Previous: pthread_rwlockattr_getkind_np, Up: Glibc pthread.h [Contents][Index]
pthread_rwlockattr_setkind_np
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_setname_np, Previous: pthread_rwlockattr_setkind_np, Up: Glibc pthread.h [Contents][Index]
pthread_setaffinity_np
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_sigqueue, Previous: pthread_setaffinity_np, Up: Glibc pthread.h [Contents][Index]
pthread_setname_np
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
NULL
.
On NetBSD the second argument is interpreted as a printf
format string,
with the third argument as parameter.
Next: pthread_timedjoin_np, Previous: pthread_setname_np, Up: Glibc pthread.h [Contents][Index]
pthread_sigqueue
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pthread_tryjoin_np, Previous: pthread_sigqueue, Up: Glibc pthread.h [Contents][Index]
pthread_timedjoin_np
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
libthr
but not in
libpthread
, and it also is missing a declaration.
Next: pthread_yield, Previous: pthread_timedjoin_np, Up: Glibc pthread.h [Contents][Index]
pthread_tryjoin_np
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: pthread_tryjoin_np, Up: Glibc pthread.h [Contents][Index]
pthread_yield
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc pwd.h, Previous: Glibc pthread.h, Up: Glibc Function Substitutes [Contents][Index]
<pty.h>
• forkpty: | ||
• openpty: |
Next: openpty, Up: Glibc pty.h [Contents][Index]
forkpty
Gnulib module: forkpty
Portability problems fixed by Gnulib:
-lutil
is not required.
-lutil
is
required.
const
.
FreeBSD, Cygwin 1.7.1.
Portability problems not fixed by Gnulib:
Previous: forkpty, Up: Glibc pty.h [Contents][Index]
openpty
Gnulib module: openpty
Portability problems fixed by Gnulib:
-lutil
is not required.
-lutil
is
required.
const
.
FreeBSD, Cygwin 1.7.1.
Portability problems not fixed by Gnulib:
openpty
, the application needs to close
the master’s file descriptor before closing the slave’s file descriptor,
otherwise the process may hang in a state where it cannot be killed, on
some platforms: Mac OS X 10.4.11.
Next: Glibc regex.h, Previous: Glibc pty.h, Up: Glibc Function Substitutes [Contents][Index]
<pwd.h>
• fgetpwent: | ||
• fgetpwent_r: | ||
• getpw: | ||
• getpwent_r: | ||
• putpwent: |
Next: fgetpwent_r, Up: Glibc pwd.h [Contents][Index]
fgetpwent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getpw, Previous: fgetpwent, Up: Glibc pwd.h [Contents][Index]
fgetpwent_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getpwent_r, Previous: fgetpwent_r, Up: Glibc pwd.h [Contents][Index]
getpw
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: putpwent, Previous: getpw, Up: Glibc pwd.h [Contents][Index]
getpwent_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: getpwent_r, Up: Glibc pwd.h [Contents][Index]
putpwent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc regexp.h, Previous: Glibc pwd.h, Up: Glibc Function Substitutes [Contents][Index]
<regex.h>
• re_comp: | ||
• re_compile_fastmap: | ||
• re_compile_pattern: | ||
• re_exec: | ||
• re_match: | ||
• re_match_2: | ||
• re_search: | ||
• re_search_2: | ||
• re_set_registers: | ||
• re_set_syntax: | ||
• re_syntax_options: |
Next: re_compile_fastmap, Up: Glibc regex.h [Contents][Index]
re_comp
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: re_compile_pattern, Previous: re_comp, Up: Glibc regex.h [Contents][Index]
re_compile_fastmap
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: re_exec, Previous: re_compile_fastmap, Up: Glibc regex.h [Contents][Index]
re_compile_pattern
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: re_match, Previous: re_compile_pattern, Up: Glibc regex.h [Contents][Index]
re_exec
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: re_match_2, Previous: re_exec, Up: Glibc regex.h [Contents][Index]
re_match
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: re_search, Previous: re_match, Up: Glibc regex.h [Contents][Index]
re_match_2
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: re_search_2, Previous: re_match_2, Up: Glibc regex.h [Contents][Index]
re_search
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: re_set_registers, Previous: re_search, Up: Glibc regex.h [Contents][Index]
re_search_2
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: re_set_syntax, Previous: re_search_2, Up: Glibc regex.h [Contents][Index]
re_set_registers
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: re_syntax_options, Previous: re_set_registers, Up: Glibc regex.h [Contents][Index]
re_set_syntax
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: re_set_syntax, Up: Glibc regex.h [Contents][Index]
re_syntax_options
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc resolv.h, Previous: Glibc regex.h, Up: Glibc Function Substitutes [Contents][Index]
<regexp.h>
• advance: | ||
• loc1: | ||
• loc2: | ||
• locs: | ||
• step: |
Next: loc1, Up: Glibc regexp.h [Contents][Index]
advance
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: loc2, Previous: advance, Up: Glibc regexp.h [Contents][Index]
loc1
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: locs, Previous: loc1, Up: Glibc regexp.h [Contents][Index]
loc2
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: step, Previous: loc2, Up: Glibc regexp.h [Contents][Index]
locs
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: locs, Up: Glibc regexp.h [Contents][Index]
step
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc rpc/auth.h, Previous: Glibc regexp.h, Up: Glibc Function Substitutes [Contents][Index]
<resolv.h>
• dn_expand: | ||
• res_init: | ||
• res_mkquery: | ||
• res_query: | ||
• res_querydomain: | ||
• res_search: |
Next: res_init, Up: Glibc resolv.h [Contents][Index]
dn_expand
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: res_mkquery, Previous: dn_expand, Up: Glibc resolv.h [Contents][Index]
res_init
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: res_query, Previous: res_init, Up: Glibc resolv.h [Contents][Index]
res_mkquery
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: res_querydomain, Previous: res_mkquery, Up: Glibc resolv.h [Contents][Index]
res_query
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: res_search, Previous: res_query, Up: Glibc resolv.h [Contents][Index]
res_querydomain
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: res_querydomain, Up: Glibc resolv.h [Contents][Index]
res_search
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc rpc/auth_des.h, Previous: Glibc resolv.h, Up: Glibc Function Substitutes [Contents][Index]
<rpc/auth.h>
• authdes_create: | ||
• authdes_pk_create: | ||
• authnone_create: | ||
• authunix_create: | ||
• authunix_create_default: | ||
• getnetname: | ||
• host2netname: | ||
• key_decryptsession: | ||
• key_decryptsession_pk: | ||
• key_encryptsession: | ||
• key_encryptsession_pk: | ||
• key_gendes: | ||
• key_get_conv: | ||
• key_secretkey_is_set: | ||
• key_setsecret: | ||
• netname2host: | ||
• netname2user: | ||
• user2netname: | ||
• xdr_des_block: | ||
• xdr_opaque_auth: |
Next: authdes_pk_create, Up: Glibc rpc/auth.h [Contents][Index]
authdes_create
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: authnone_create, Previous: authdes_create, Up: Glibc rpc/auth.h [Contents][Index]
authdes_pk_create
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: authunix_create, Previous: authdes_pk_create, Up: Glibc rpc/auth.h [Contents][Index]
authnone_create
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: authunix_create_default, Previous: authnone_create, Up: Glibc rpc/auth.h [Contents][Index]
authunix_create
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getnetname, Previous: authunix_create, Up: Glibc rpc/auth.h [Contents][Index]
authunix_create_default
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: host2netname, Previous: authunix_create_default, Up: Glibc rpc/auth.h [Contents][Index]
getnetname
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: key_decryptsession, Previous: getnetname, Up: Glibc rpc/auth.h [Contents][Index]
host2netname
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: key_decryptsession_pk, Previous: host2netname, Up: Glibc rpc/auth.h [Contents][Index]
key_decryptsession
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: key_encryptsession, Previous: key_decryptsession, Up: Glibc rpc/auth.h [Contents][Index]
key_decryptsession_pk
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: key_encryptsession_pk, Previous: key_decryptsession_pk, Up: Glibc rpc/auth.h [Contents][Index]
key_encryptsession
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: key_gendes, Previous: key_encryptsession, Up: Glibc rpc/auth.h [Contents][Index]
key_encryptsession_pk
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: key_get_conv, Previous: key_encryptsession_pk, Up: Glibc rpc/auth.h [Contents][Index]
key_gendes
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: key_secretkey_is_set, Previous: key_gendes, Up: Glibc rpc/auth.h [Contents][Index]
key_get_conv
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: key_setsecret, Previous: key_get_conv, Up: Glibc rpc/auth.h [Contents][Index]
key_secretkey_is_set
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: netname2host, Previous: key_secretkey_is_set, Up: Glibc rpc/auth.h [Contents][Index]
key_setsecret
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: netname2user, Previous: key_setsecret, Up: Glibc rpc/auth.h [Contents][Index]
netname2host
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: user2netname, Previous: netname2host, Up: Glibc rpc/auth.h [Contents][Index]
netname2user
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_des_block, Previous: netname2user, Up: Glibc rpc/auth.h [Contents][Index]
user2netname
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_opaque_auth, Previous: user2netname, Up: Glibc rpc/auth.h [Contents][Index]
xdr_des_block
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: xdr_des_block, Up: Glibc rpc/auth.h [Contents][Index]
xdr_opaque_auth
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc rpc/auth_unix.h, Previous: Glibc rpc/auth.h, Up: Glibc Function Substitutes [Contents][Index]
<rpc/auth_des.h>
• authdes_getucred: | ||
• getpublickey: | ||
• getsecretkey: | ||
• rtime: |
Next: getpublickey, Up: Glibc rpc/auth_des.h [Contents][Index]
authdes_getucred
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getsecretkey, Previous: authdes_getucred, Up: Glibc rpc/auth_des.h [Contents][Index]
getpublickey
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: rtime, Previous: getpublickey, Up: Glibc rpc/auth_des.h [Contents][Index]
getsecretkey
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: getsecretkey, Up: Glibc rpc/auth_des.h [Contents][Index]
rtime
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc rpc/clnt.h, Previous: Glibc rpc/auth_des.h, Up: Glibc Function Substitutes [Contents][Index]
<rpc/auth_unix.h>
• xdr_authunix_parms: |
Up: Glibc rpc/auth_unix.h [Contents][Index]
xdr_authunix_parms
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc rpc/des_crypt.h, Previous: Glibc rpc/auth_unix.h, Up: Glibc Function Substitutes [Contents][Index]
<rpc/clnt.h>
• callrpc: | ||
• clnt_create: | ||
• clnt_pcreateerror: | ||
• clnt_perrno: | ||
• clnt_perror: | ||
• clnt_spcreateerror: | ||
• clnt_sperrno: | ||
• clnt_sperror: | ||
• clntraw_create: | ||
• clnttcp_create: | ||
• clntudp_bufcreate: | ||
• clntudp_create: | ||
• clntunix_create: | ||
• get_myaddress: | ||
• getrpcport: | ||
• rpc_createerr: |
Next: clnt_create, Up: Glibc rpc/clnt.h [Contents][Index]
callrpc
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: clnt_pcreateerror, Previous: callrpc, Up: Glibc rpc/clnt.h [Contents][Index]
clnt_create
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: clnt_perrno, Previous: clnt_create, Up: Glibc rpc/clnt.h [Contents][Index]
clnt_pcreateerror
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: clnt_perror, Previous: clnt_pcreateerror, Up: Glibc rpc/clnt.h [Contents][Index]
clnt_perrno
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: clnt_spcreateerror, Previous: clnt_perrno, Up: Glibc rpc/clnt.h [Contents][Index]
clnt_perror
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: clnt_sperrno, Previous: clnt_perror, Up: Glibc rpc/clnt.h [Contents][Index]
clnt_spcreateerror
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: clnt_sperror, Previous: clnt_spcreateerror, Up: Glibc rpc/clnt.h [Contents][Index]
clnt_sperrno
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: clntraw_create, Previous: clnt_sperrno, Up: Glibc rpc/clnt.h [Contents][Index]
clnt_sperror
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: clnttcp_create, Previous: clnt_sperror, Up: Glibc rpc/clnt.h [Contents][Index]
clntraw_create
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: clntudp_bufcreate, Previous: clntraw_create, Up: Glibc rpc/clnt.h [Contents][Index]
clnttcp_create
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: clntudp_create, Previous: clnttcp_create, Up: Glibc rpc/clnt.h [Contents][Index]
clntudp_bufcreate
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: clntunix_create, Previous: clntudp_bufcreate, Up: Glibc rpc/clnt.h [Contents][Index]
clntudp_create
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: get_myaddress, Previous: clntudp_create, Up: Glibc rpc/clnt.h [Contents][Index]
clntunix_create
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getrpcport, Previous: clntunix_create, Up: Glibc rpc/clnt.h [Contents][Index]
get_myaddress
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: rpc_createerr, Previous: get_myaddress, Up: Glibc rpc/clnt.h [Contents][Index]
getrpcport
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: getrpcport, Up: Glibc rpc/clnt.h [Contents][Index]
rpc_createerr
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc rpc/key_prot.h, Previous: Glibc rpc/clnt.h, Up: Glibc Function Substitutes [Contents][Index]
<rpc/des_crypt.h>
• cbc_crypt: | ||
• des_setparity: | ||
• ecb_crypt: |
Next: des_setparity, Up: Glibc rpc/des_crypt.h [Contents][Index]
cbc_crypt
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ecb_crypt, Previous: cbc_crypt, Up: Glibc rpc/des_crypt.h [Contents][Index]
des_setparity
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: des_setparity, Up: Glibc rpc/des_crypt.h [Contents][Index]
ecb_crypt
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc rpc/netdb.h, Previous: Glibc rpc/des_crypt.h, Up: Glibc Function Substitutes [Contents][Index]
<rpc/key_prot.h>
• xdr_cryptkeyarg: | ||
• xdr_cryptkeyarg2: | ||
• xdr_cryptkeyres: | ||
• xdr_getcredres: | ||
• xdr_key_netstarg: | ||
• xdr_key_netstres: | ||
• xdr_keybuf: | ||
• xdr_keystatus: | ||
• xdr_netnamestr: | ||
• xdr_unixcred: |
Next: xdr_cryptkeyarg2, Up: Glibc rpc/key_prot.h [Contents][Index]
xdr_cryptkeyarg
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_cryptkeyres, Previous: xdr_cryptkeyarg, Up: Glibc rpc/key_prot.h [Contents][Index]
xdr_cryptkeyarg2
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_getcredres, Previous: xdr_cryptkeyarg2, Up: Glibc rpc/key_prot.h [Contents][Index]
xdr_cryptkeyres
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_key_netstarg, Previous: xdr_cryptkeyres, Up: Glibc rpc/key_prot.h [Contents][Index]
xdr_getcredres
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_key_netstres, Previous: xdr_getcredres, Up: Glibc rpc/key_prot.h [Contents][Index]
xdr_key_netstarg
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_keybuf, Previous: xdr_key_netstarg, Up: Glibc rpc/key_prot.h [Contents][Index]
xdr_key_netstres
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_keystatus, Previous: xdr_key_netstres, Up: Glibc rpc/key_prot.h [Contents][Index]
xdr_keybuf
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_netnamestr, Previous: xdr_keybuf, Up: Glibc rpc/key_prot.h [Contents][Index]
xdr_keystatus
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_unixcred, Previous: xdr_keystatus, Up: Glibc rpc/key_prot.h [Contents][Index]
xdr_netnamestr
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: xdr_netnamestr, Up: Glibc rpc/key_prot.h [Contents][Index]
xdr_unixcred
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc rpc/pmap_clnt.h, Previous: Glibc rpc/key_prot.h, Up: Glibc Function Substitutes [Contents][Index]
<rpc/netdb.h>
• endrpcent: | ||
• getrpcbyname: | ||
• getrpcbyname_r: | ||
• getrpcbynumber: | ||
• getrpcbynumber_r: | ||
• getrpcent: | ||
• getrpcent_r: | ||
• setrpcent: |
Next: getrpcbyname, Up: Glibc rpc/netdb.h [Contents][Index]
endrpcent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getrpcbyname_r, Previous: endrpcent, Up: Glibc rpc/netdb.h [Contents][Index]
getrpcbyname
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getrpcbynumber, Previous: getrpcbyname, Up: Glibc rpc/netdb.h [Contents][Index]
getrpcbyname_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getrpcbynumber_r, Previous: getrpcbyname_r, Up: Glibc rpc/netdb.h [Contents][Index]
getrpcbynumber
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getrpcent, Previous: getrpcbynumber, Up: Glibc rpc/netdb.h [Contents][Index]
getrpcbynumber_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getrpcent_r, Previous: getrpcbynumber_r, Up: Glibc rpc/netdb.h [Contents][Index]
getrpcent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setrpcent, Previous: getrpcent, Up: Glibc rpc/netdb.h [Contents][Index]
getrpcent_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: getrpcent_r, Up: Glibc rpc/netdb.h [Contents][Index]
setrpcent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc rpc/pmap_prot.h, Previous: Glibc rpc/netdb.h, Up: Glibc Function Substitutes [Contents][Index]
<rpc/pmap_clnt.h>
• clnt_broadcast: | ||
• pmap_getmaps: | ||
• pmap_getport: | ||
• pmap_rmtcall: | ||
• pmap_set: | ||
• pmap_unset: |
Next: pmap_getmaps, Up: Glibc rpc/pmap_clnt.h [Contents][Index]
clnt_broadcast
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pmap_getport, Previous: clnt_broadcast, Up: Glibc rpc/pmap_clnt.h [Contents][Index]
pmap_getmaps
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pmap_rmtcall, Previous: pmap_getmaps, Up: Glibc rpc/pmap_clnt.h [Contents][Index]
pmap_getport
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pmap_set, Previous: pmap_getport, Up: Glibc rpc/pmap_clnt.h [Contents][Index]
pmap_rmtcall
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pmap_unset, Previous: pmap_rmtcall, Up: Glibc rpc/pmap_clnt.h [Contents][Index]
pmap_set
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: pmap_set, Up: Glibc rpc/pmap_clnt.h [Contents][Index]
pmap_unset
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc rpc/pmap_rmt.h, Previous: Glibc rpc/pmap_clnt.h, Up: Glibc Function Substitutes [Contents][Index]
<rpc/pmap_prot.h>
• xdr_pmap: | ||
• xdr_pmaplist: |
Next: xdr_pmaplist, Up: Glibc rpc/pmap_prot.h [Contents][Index]
xdr_pmap
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: xdr_pmap, Up: Glibc rpc/pmap_prot.h [Contents][Index]
xdr_pmaplist
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc rpc/rpc_msg.h, Previous: Glibc rpc/pmap_prot.h, Up: Glibc Function Substitutes [Contents][Index]
<rpc/pmap_rmt.h>
• xdr_rmtcall_args: | ||
• xdr_rmtcallres: |
Next: xdr_rmtcallres, Up: Glibc rpc/pmap_rmt.h [Contents][Index]
xdr_rmtcall_args
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: xdr_rmtcall_args, Up: Glibc rpc/pmap_rmt.h [Contents][Index]
xdr_rmtcallres
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc rpc/svc.h, Previous: Glibc rpc/pmap_rmt.h, Up: Glibc Function Substitutes [Contents][Index]
<rpc/rpc_msg.h>
• xdr_callhdr: | ||
• xdr_callmsg: | ||
• xdr_replymsg: |
Next: xdr_callmsg, Up: Glibc rpc/rpc_msg.h [Contents][Index]
xdr_callhdr
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_replymsg, Previous: xdr_callhdr, Up: Glibc rpc/rpc_msg.h [Contents][Index]
xdr_callmsg
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: xdr_callmsg, Up: Glibc rpc/rpc_msg.h [Contents][Index]
xdr_replymsg
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc rpc/xdr.h, Previous: Glibc rpc/rpc_msg.h, Up: Glibc Function Substitutes [Contents][Index]
<rpc/svc.h>
• svc_exit: | ||
• svc_fdset: | ||
• svc_getreq: | ||
• svc_getreq_common: | ||
• svc_getreq_poll: | ||
• svc_getreqset: | ||
• svc_max_pollfd: | ||
• svc_pollfd: | ||
• svc_register: | ||
• svc_run: | ||
• svc_sendreply: | ||
• svc_unregister: | ||
• svcerr_auth: | ||
• svcerr_decode: | ||
• svcerr_noproc: | ||
• svcerr_noprog: | ||
• svcerr_progvers: | ||
• svcerr_systemerr: | ||
• svcerr_weakauth: | ||
• svcraw_create: | ||
• svctcp_create: | ||
• svcudp_bufcreate: | ||
• svcudp_create: | ||
• svcunix_create: | ||
• xprt_register: | ||
• xprt_unregister: |
Next: svc_fdset, Up: Glibc rpc/svc.h [Contents][Index]
svc_exit
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: svc_getreq, Previous: svc_exit, Up: Glibc rpc/svc.h [Contents][Index]
svc_fdset
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: svc_getreq_common, Previous: svc_fdset, Up: Glibc rpc/svc.h [Contents][Index]
svc_getreq
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: svc_getreq_poll, Previous: svc_getreq, Up: Glibc rpc/svc.h [Contents][Index]
svc_getreq_common
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: svc_getreqset, Previous: svc_getreq_common, Up: Glibc rpc/svc.h [Contents][Index]
svc_getreq_poll
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: svc_max_pollfd, Previous: svc_getreq_poll, Up: Glibc rpc/svc.h [Contents][Index]
svc_getreqset
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: svc_pollfd, Previous: svc_getreqset, Up: Glibc rpc/svc.h [Contents][Index]
svc_max_pollfd
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: svc_register, Previous: svc_max_pollfd, Up: Glibc rpc/svc.h [Contents][Index]
svc_pollfd
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: svc_run, Previous: svc_pollfd, Up: Glibc rpc/svc.h [Contents][Index]
svc_register
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: svc_sendreply, Previous: svc_register, Up: Glibc rpc/svc.h [Contents][Index]
svc_run
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: svc_unregister, Previous: svc_run, Up: Glibc rpc/svc.h [Contents][Index]
svc_sendreply
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: svcerr_auth, Previous: svc_sendreply, Up: Glibc rpc/svc.h [Contents][Index]
svc_unregister
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: svcerr_decode, Previous: svc_unregister, Up: Glibc rpc/svc.h [Contents][Index]
svcerr_auth
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: svcerr_noproc, Previous: svcerr_auth, Up: Glibc rpc/svc.h [Contents][Index]
svcerr_decode
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: svcerr_noprog, Previous: svcerr_decode, Up: Glibc rpc/svc.h [Contents][Index]
svcerr_noproc
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: svcerr_progvers, Previous: svcerr_noproc, Up: Glibc rpc/svc.h [Contents][Index]
svcerr_noprog
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: svcerr_systemerr, Previous: svcerr_noprog, Up: Glibc rpc/svc.h [Contents][Index]
svcerr_progvers
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: svcerr_weakauth, Previous: svcerr_progvers, Up: Glibc rpc/svc.h [Contents][Index]
svcerr_systemerr
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: svcraw_create, Previous: svcerr_systemerr, Up: Glibc rpc/svc.h [Contents][Index]
svcerr_weakauth
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: svctcp_create, Previous: svcerr_weakauth, Up: Glibc rpc/svc.h [Contents][Index]
svcraw_create
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: svcudp_bufcreate, Previous: svcraw_create, Up: Glibc rpc/svc.h [Contents][Index]
svctcp_create
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: svcudp_create, Previous: svctcp_create, Up: Glibc rpc/svc.h [Contents][Index]
svcudp_bufcreate
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: svcunix_create, Previous: svcudp_bufcreate, Up: Glibc rpc/svc.h [Contents][Index]
svcudp_create
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xprt_register, Previous: svcudp_create, Up: Glibc rpc/svc.h [Contents][Index]
svcunix_create
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xprt_unregister, Previous: svcunix_create, Up: Glibc rpc/svc.h [Contents][Index]
xprt_register
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: xprt_register, Up: Glibc rpc/svc.h [Contents][Index]
xprt_unregister
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc rpcsvc/nislib.h, Previous: Glibc rpc/svc.h, Up: Glibc Function Substitutes [Contents][Index]
<rpc/xdr.h>
• xdr_array: | ||
• xdr_bool: | ||
• xdr_bytes: | ||
• xdr_char: | ||
• xdr_double: | ||
• xdr_enum: | ||
• xdr_float: | ||
• xdr_free: | ||
• xdr_hyper: | ||
• xdr_int: | ||
• xdr_int16_t: | ||
• xdr_int32_t: | ||
• xdr_int64_t: | ||
• xdr_int8_t: | ||
• xdr_long: | ||
• xdr_longlong_t: | ||
• xdr_netobj: | ||
• xdr_opaque: | ||
• xdr_pointer: | ||
• xdr_quad_t: | ||
• xdr_reference: | ||
• xdr_short: | ||
• xdr_sizeof: | ||
• xdr_string: | ||
• xdr_u_char: | ||
• xdr_u_hyper: | ||
• xdr_u_int: | ||
• xdr_u_long: | ||
• xdr_u_longlong_t: | ||
• xdr_u_quad_t: | ||
• xdr_u_short: | ||
• xdr_uint16_t: | ||
• xdr_uint32_t: | ||
• xdr_uint64_t: | ||
• xdr_uint8_t: | ||
• xdr_union: | ||
• xdr_vector: | ||
• xdr_void: | ||
• xdr_wrapstring: | ||
• xdrmem_create: | ||
• xdrrec_create: | ||
• xdrrec_endofrecord: | ||
• xdrrec_eof: | ||
• xdrrec_skiprecord: | ||
• xdrstdio_create: |
Next: xdr_bool, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_array
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_bytes, Previous: xdr_array, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_bool
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_char, Previous: xdr_bool, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_bytes
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_double, Previous: xdr_bytes, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_char
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_enum, Previous: xdr_char, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_double
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_float, Previous: xdr_double, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_enum
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_free, Previous: xdr_enum, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_float
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_hyper, Previous: xdr_float, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_free
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_int, Previous: xdr_free, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_hyper
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_int16_t, Previous: xdr_hyper, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_int
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_int32_t, Previous: xdr_int, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_int16_t
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_int64_t, Previous: xdr_int16_t, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_int32_t
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_int8_t, Previous: xdr_int32_t, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_int64_t
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_long, Previous: xdr_int64_t, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_int8_t
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_longlong_t, Previous: xdr_int8_t, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_long
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_netobj, Previous: xdr_long, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_longlong_t
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_opaque, Previous: xdr_longlong_t, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_netobj
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_pointer, Previous: xdr_netobj, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_opaque
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_quad_t, Previous: xdr_opaque, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_pointer
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_reference, Previous: xdr_pointer, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_quad_t
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_short, Previous: xdr_quad_t, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_reference
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_sizeof, Previous: xdr_reference, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_short
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_string, Previous: xdr_short, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_sizeof
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_u_char, Previous: xdr_sizeof, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_string
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_u_hyper, Previous: xdr_string, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_u_char
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_u_int, Previous: xdr_u_char, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_u_hyper
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_u_long, Previous: xdr_u_hyper, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_u_int
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_u_longlong_t, Previous: xdr_u_int, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_u_long
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_u_quad_t, Previous: xdr_u_long, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_u_longlong_t
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_u_short, Previous: xdr_u_longlong_t, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_u_quad_t
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_uint16_t, Previous: xdr_u_quad_t, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_u_short
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_uint32_t, Previous: xdr_u_short, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_uint16_t
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_uint64_t, Previous: xdr_uint16_t, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_uint32_t
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_uint8_t, Previous: xdr_uint32_t, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_uint64_t
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_union, Previous: xdr_uint64_t, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_uint8_t
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_vector, Previous: xdr_uint8_t, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_union
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_void, Previous: xdr_union, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_vector
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_wrapstring, Previous: xdr_vector, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_void
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdrmem_create, Previous: xdr_void, Up: Glibc rpc/xdr.h [Contents][Index]
xdr_wrapstring
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdrrec_create, Previous: xdr_wrapstring, Up: Glibc rpc/xdr.h [Contents][Index]
xdrmem_create
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdrrec_endofrecord, Previous: xdrmem_create, Up: Glibc rpc/xdr.h [Contents][Index]
xdrrec_create
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdrrec_eof, Previous: xdrrec_create, Up: Glibc rpc/xdr.h [Contents][Index]
xdrrec_endofrecord
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdrrec_skiprecord, Previous: xdrrec_endofrecord, Up: Glibc rpc/xdr.h [Contents][Index]
xdrrec_eof
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdrstdio_create, Previous: xdrrec_eof, Up: Glibc rpc/xdr.h [Contents][Index]
xdrrec_skiprecord
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: xdrrec_skiprecord, Up: Glibc rpc/xdr.h [Contents][Index]
xdrstdio_create
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc rpcsvc/nis_callback.h, Previous: Glibc rpc/xdr.h, Up: Glibc Function Substitutes [Contents][Index]
<rpcsvc/nislib.h>
• nis_add: | ||
• nis_add_entry: | ||
• nis_addmember: | ||
• nis_checkpoint: | ||
• nis_clone_object: | ||
• nis_creategroup: | ||
• nis_destroy_object: | ||
• nis_destroygroup: | ||
• nis_dir_cmp: | ||
• nis_domain_of: | ||
• nis_domain_of_r: | ||
• nis_first_entry: | ||
• nis_freenames: | ||
• nis_freeresult: | ||
• nis_freeservlist: | ||
• nis_freetags: | ||
• nis_getnames: | ||
• nis_getservlist: | ||
• nis_ismember: | ||
• nis_leaf_of: | ||
• nis_leaf_of_r: | ||
• nis_lerror: | ||
• nis_list: | ||
• nis_local_directory: | ||
• nis_local_group: | ||
• nis_local_host: | ||
• nis_local_principal: | ||
• nis_lookup: | ||
• nis_mkdir: | ||
• nis_modify: | ||
• nis_modify_entry: | ||
• nis_name_of: | ||
• nis_name_of_r: | ||
• nis_next_entry: | ||
• nis_perror: | ||
• nis_ping: | ||
• nis_print_directory: | ||
• nis_print_entry: | ||
• nis_print_group: | ||
• nis_print_group_entry: | ||
• nis_print_link: | ||
• nis_print_object: | ||
• nis_print_result: | ||
• nis_print_rights: | ||
• nis_print_table: | ||
• nis_remove: | ||
• nis_remove_entry: | ||
• nis_removemember: | ||
• nis_rmdir: | ||
• nis_servstate: | ||
• nis_sperrno: | ||
• nis_sperror: | ||
• nis_sperror_r: | ||
• nis_stats: | ||
• nis_verifygroup: |
Next: nis_add_entry, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_add
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_addmember, Previous: nis_add, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_add_entry
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_checkpoint, Previous: nis_add_entry, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_addmember
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_clone_object, Previous: nis_addmember, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_checkpoint
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_creategroup, Previous: nis_checkpoint, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_clone_object
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_destroy_object, Previous: nis_clone_object, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_creategroup
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_destroygroup, Previous: nis_creategroup, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_destroy_object
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_dir_cmp, Previous: nis_destroy_object, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_destroygroup
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_domain_of, Previous: nis_destroygroup, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_dir_cmp
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_domain_of_r, Previous: nis_dir_cmp, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_domain_of
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_first_entry, Previous: nis_domain_of, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_domain_of_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_freenames, Previous: nis_domain_of_r, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_first_entry
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_freeresult, Previous: nis_first_entry, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_freenames
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_freeservlist, Previous: nis_freenames, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_freeresult
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_freetags, Previous: nis_freeresult, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_freeservlist
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_getnames, Previous: nis_freeservlist, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_freetags
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_getservlist, Previous: nis_freetags, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_getnames
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_ismember, Previous: nis_getnames, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_getservlist
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_leaf_of, Previous: nis_getservlist, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_ismember
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_leaf_of_r, Previous: nis_ismember, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_leaf_of
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_lerror, Previous: nis_leaf_of, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_leaf_of_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_list, Previous: nis_leaf_of_r, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_lerror
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_local_directory, Previous: nis_lerror, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_list
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_local_group, Previous: nis_list, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_local_directory
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_local_host, Previous: nis_local_directory, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_local_group
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_local_principal, Previous: nis_local_group, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_local_host
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_lookup, Previous: nis_local_host, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_local_principal
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_mkdir, Previous: nis_local_principal, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_lookup
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_modify, Previous: nis_lookup, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_mkdir
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_modify_entry, Previous: nis_mkdir, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_modify
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_name_of, Previous: nis_modify, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_modify_entry
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_name_of_r, Previous: nis_modify_entry, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_name_of
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_next_entry, Previous: nis_name_of, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_name_of_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_perror, Previous: nis_name_of_r, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_next_entry
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_ping, Previous: nis_next_entry, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_perror
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_print_directory, Previous: nis_perror, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_ping
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_print_entry, Previous: nis_ping, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_print_directory
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_print_group, Previous: nis_print_directory, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_print_entry
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_print_group_entry, Previous: nis_print_entry, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_print_group
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_print_link, Previous: nis_print_group, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_print_group_entry
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_print_object, Previous: nis_print_group_entry, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_print_link
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_print_result, Previous: nis_print_link, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_print_object
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_print_rights, Previous: nis_print_object, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_print_result
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_print_table, Previous: nis_print_result, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_print_rights
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_remove, Previous: nis_print_rights, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_print_table
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_remove_entry, Previous: nis_print_table, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_remove
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_removemember, Previous: nis_remove, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_remove_entry
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_rmdir, Previous: nis_remove_entry, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_removemember
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_servstate, Previous: nis_removemember, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_rmdir
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_sperrno, Previous: nis_rmdir, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_servstate
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_sperror, Previous: nis_servstate, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_sperrno
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_sperror_r, Previous: nis_sperrno, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_sperror
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_stats, Previous: nis_sperror, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_sperror_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nis_verifygroup, Previous: nis_sperror_r, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_stats
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: nis_stats, Up: Glibc rpcsvc/nislib.h [Contents][Index]
nis_verifygroup
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc rpcsvc/yp.h, Previous: Glibc rpcsvc/nislib.h, Up: Glibc Function Substitutes [Contents][Index]
<rpcsvc/nis_callback.h>
• xdr_cback_data: | ||
• xdr_obj_p: |
Next: xdr_obj_p, Up: Glibc rpcsvc/nis_callback.h [Contents][Index]
xdr_cback_data
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: xdr_cback_data, Up: Glibc rpcsvc/nis_callback.h [Contents][Index]
xdr_obj_p
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc rpcsvc/yp_prot.h, Previous: Glibc rpcsvc/nis_callback.h, Up: Glibc Function Substitutes [Contents][Index]
<rpcsvc/yp.h>
• xdr_domainname: | ||
• xdr_keydat: | ||
• xdr_mapname: | ||
• xdr_peername: | ||
• xdr_valdat: | ||
• xdr_ypbind_binding: | ||
• xdr_ypbind_resp: | ||
• xdr_ypbind_resptype: | ||
• xdr_ypbind_setdom: | ||
• xdr_ypmap_parms: | ||
• xdr_ypmaplist: | ||
• xdr_yppush_status: | ||
• xdr_yppushresp_xfr: | ||
• xdr_ypreq_key: | ||
• xdr_ypreq_nokey: | ||
• xdr_ypreq_xfr: | ||
• xdr_ypresp_all: | ||
• xdr_ypresp_key_val: | ||
• xdr_ypresp_maplist: | ||
• xdr_ypresp_master: | ||
• xdr_ypresp_order: | ||
• xdr_ypresp_val: | ||
• xdr_ypresp_xfr: | ||
• xdr_ypstat: | ||
• xdr_ypxfrstat: |
Next: xdr_keydat, Up: Glibc rpcsvc/yp.h [Contents][Index]
xdr_domainname
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_mapname, Previous: xdr_domainname, Up: Glibc rpcsvc/yp.h [Contents][Index]
xdr_keydat
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_peername, Previous: xdr_keydat, Up: Glibc rpcsvc/yp.h [Contents][Index]
xdr_mapname
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_valdat, Previous: xdr_mapname, Up: Glibc rpcsvc/yp.h [Contents][Index]
xdr_peername
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_ypbind_binding, Previous: xdr_peername, Up: Glibc rpcsvc/yp.h [Contents][Index]
xdr_valdat
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_ypbind_resp, Previous: xdr_valdat, Up: Glibc rpcsvc/yp.h [Contents][Index]
xdr_ypbind_binding
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_ypbind_resptype, Previous: xdr_ypbind_binding, Up: Glibc rpcsvc/yp.h [Contents][Index]
xdr_ypbind_resp
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_ypbind_setdom, Previous: xdr_ypbind_resp, Up: Glibc rpcsvc/yp.h [Contents][Index]
xdr_ypbind_resptype
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_ypmap_parms, Previous: xdr_ypbind_resptype, Up: Glibc rpcsvc/yp.h [Contents][Index]
xdr_ypbind_setdom
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_ypmaplist, Previous: xdr_ypbind_setdom, Up: Glibc rpcsvc/yp.h [Contents][Index]
xdr_ypmap_parms
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_yppush_status, Previous: xdr_ypmap_parms, Up: Glibc rpcsvc/yp.h [Contents][Index]
xdr_ypmaplist
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_yppushresp_xfr, Previous: xdr_ypmaplist, Up: Glibc rpcsvc/yp.h [Contents][Index]
xdr_yppush_status
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_ypreq_key, Previous: xdr_yppush_status, Up: Glibc rpcsvc/yp.h [Contents][Index]
xdr_yppushresp_xfr
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_ypreq_nokey, Previous: xdr_yppushresp_xfr, Up: Glibc rpcsvc/yp.h [Contents][Index]
xdr_ypreq_key
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_ypreq_xfr, Previous: xdr_ypreq_key, Up: Glibc rpcsvc/yp.h [Contents][Index]
xdr_ypreq_nokey
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_ypresp_all, Previous: xdr_ypreq_nokey, Up: Glibc rpcsvc/yp.h [Contents][Index]
xdr_ypreq_xfr
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_ypresp_key_val, Previous: xdr_ypreq_xfr, Up: Glibc rpcsvc/yp.h [Contents][Index]
xdr_ypresp_all
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_ypresp_maplist, Previous: xdr_ypresp_all, Up: Glibc rpcsvc/yp.h [Contents][Index]
xdr_ypresp_key_val
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_ypresp_master, Previous: xdr_ypresp_key_val, Up: Glibc rpcsvc/yp.h [Contents][Index]
xdr_ypresp_maplist
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_ypresp_order, Previous: xdr_ypresp_maplist, Up: Glibc rpcsvc/yp.h [Contents][Index]
xdr_ypresp_master
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_ypresp_val, Previous: xdr_ypresp_master, Up: Glibc rpcsvc/yp.h [Contents][Index]
xdr_ypresp_order
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_ypresp_xfr, Previous: xdr_ypresp_order, Up: Glibc rpcsvc/yp.h [Contents][Index]
xdr_ypresp_val
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_ypstat, Previous: xdr_ypresp_val, Up: Glibc rpcsvc/yp.h [Contents][Index]
xdr_ypresp_xfr
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_ypxfrstat, Previous: xdr_ypresp_xfr, Up: Glibc rpcsvc/yp.h [Contents][Index]
xdr_ypstat
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: xdr_ypstat, Up: Glibc rpcsvc/yp.h [Contents][Index]
xdr_ypxfrstat
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc rpcsvc/ypclnt.h, Previous: Glibc rpcsvc/yp.h, Up: Glibc Function Substitutes [Contents][Index]
<rpcsvc/yp_prot.h>
• xdr_ypall: |
Up: Glibc rpcsvc/yp_prot.h [Contents][Index]
xdr_ypall
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc rpcsvc/ypupd.h, Previous: Glibc rpcsvc/yp_prot.h, Up: Glibc Function Substitutes [Contents][Index]
<rpcsvc/ypclnt.h>
• yp_all: | ||
• yp_bind: | ||
• yp_first: | ||
• yp_get_default_domain: | ||
• yp_master: | ||
• yp_match: | ||
• yp_next: | ||
• yp_order: | ||
• yp_unbind: | ||
• yp_update: | ||
• ypbinderr_string: | ||
• yperr_string: | ||
• ypprot_err: |
Next: yp_bind, Up: Glibc rpcsvc/ypclnt.h [Contents][Index]
yp_all
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: yp_first, Previous: yp_all, Up: Glibc rpcsvc/ypclnt.h [Contents][Index]
yp_bind
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: yp_get_default_domain, Previous: yp_bind, Up: Glibc rpcsvc/ypclnt.h [Contents][Index]
yp_first
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: yp_master, Previous: yp_first, Up: Glibc rpcsvc/ypclnt.h [Contents][Index]
yp_get_default_domain
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: yp_match, Previous: yp_get_default_domain, Up: Glibc rpcsvc/ypclnt.h [Contents][Index]
yp_master
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: yp_next, Previous: yp_master, Up: Glibc rpcsvc/ypclnt.h [Contents][Index]
yp_match
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: yp_order, Previous: yp_match, Up: Glibc rpcsvc/ypclnt.h [Contents][Index]
yp_next
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: yp_unbind, Previous: yp_next, Up: Glibc rpcsvc/ypclnt.h [Contents][Index]
yp_order
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: yp_update, Previous: yp_order, Up: Glibc rpcsvc/ypclnt.h [Contents][Index]
yp_unbind
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ypbinderr_string, Previous: yp_unbind, Up: Glibc rpcsvc/ypclnt.h [Contents][Index]
yp_update
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: yperr_string, Previous: yp_update, Up: Glibc rpcsvc/ypclnt.h [Contents][Index]
ypbinderr_string
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ypprot_err, Previous: ypbinderr_string, Up: Glibc rpcsvc/ypclnt.h [Contents][Index]
yperr_string
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: yperr_string, Up: Glibc rpcsvc/ypclnt.h [Contents][Index]
ypprot_err
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sched.h, Previous: Glibc rpcsvc/ypclnt.h, Up: Glibc Function Substitutes [Contents][Index]
<rpcsvc/ypupd.h>
• xdr_yp_buf: | ||
• xdr_ypdelete_args: | ||
• xdr_ypupdate_args: |
Next: xdr_ypdelete_args, Up: Glibc rpcsvc/ypupd.h [Contents][Index]
xdr_yp_buf
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: xdr_ypupdate_args, Previous: xdr_yp_buf, Up: Glibc rpcsvc/ypupd.h [Contents][Index]
xdr_ypdelete_args
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: xdr_ypdelete_args, Up: Glibc rpcsvc/ypupd.h [Contents][Index]
xdr_ypupdate_args
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc search.h, Previous: Glibc rpcsvc/ypupd.h, Up: Glibc Function Substitutes [Contents][Index]
<sched.h>
• clone: | ||
• sched_getaffinity: | ||
• sched_setaffinity: | ||
• setns: |
Next: sched_getaffinity, Up: Glibc sched.h [Contents][Index]
clone
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sched_setaffinity, Previous: clone, Up: Glibc sched.h [Contents][Index]
sched_getaffinity
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setns, Previous: sched_getaffinity, Up: Glibc sched.h [Contents][Index]
sched_setaffinity
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: sched_setaffinity, Up: Glibc sched.h [Contents][Index]
setns
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc selinux/selinux.h, Previous: Glibc sched.h, Up: Glibc Function Substitutes [Contents][Index]
<search.h>
• hcreate_r: | ||
• hdestroy_r: | ||
• hsearch_r: | ||
• tdestroy: |
Next: hdestroy_r, Up: Glibc search.h [Contents][Index]
hcreate_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: hsearch_r, Previous: hcreate_r, Up: Glibc search.h [Contents][Index]
hdestroy_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: tdestroy, Previous: hdestroy_r, Up: Glibc search.h [Contents][Index]
hsearch_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: hsearch_r, Up: Glibc search.h [Contents][Index]
tdestroy
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc shadow.h, Previous: Glibc search.h, Up: Glibc Function Substitutes [Contents][Index]
<selinux/selinux.h>
• fgetfilecon: | ||
• getfilecon: | ||
• lgetfilecon: |
Next: getfilecon, Up: Glibc selinux/selinux.h [Contents][Index]
fgetfilecon
Gnulib module: selinux-h
Portability problems fixed by Gnulib:
errno
to ENOTSUP
and returns ‘-1’.
fgetfilecon
function that insulates the caller from API-nonconforming behavior.
Without this wrapper, fgetfilecon
can return ‘0’ and set
the context
pointer to NULL, and in another scenario can return
‘10’ and set the context
pointer to ‘unlabeled’.
This wrapper returns ‘-1’ in each case and sets errno
to
ENOTSUP
and ENODATA
respectively.
While the conditions that can provoke such behavior are rare, the
average caller does not handle them because the possibility of such
behavior is not documented.
Portability problems not fixed by Gnulib:
Next: lgetfilecon, Previous: fgetfilecon, Up: Glibc selinux/selinux.h [Contents][Index]
getfilecon
Gnulib module: selinux-h
Portability problems fixed by Gnulib:
errno
to ENOTSUP
and returns ‘-1’.
getfilecon
function that insulates the caller from API-nonconforming behavior.
Without this wrapper, getfilecon
can return ‘0’ and set
the context
pointer to NULL, and in another scenario can return
‘10’ and set the context
pointer to ‘unlabeled’.
This wrapper returns ‘-1’ in each case and sets errno
to
ENOTSUP
and ENODATA
respectively.
While the conditions that can provoke such behavior are rare, the
average caller does not handle them because the possibility of such
behavior is not documented.
Portability problems not fixed by Gnulib:
Previous: getfilecon, Up: Glibc selinux/selinux.h [Contents][Index]
lgetfilecon
Gnulib module: selinux-h
Portability problems fixed by Gnulib:
errno
to ENOTSUP
and returns ‘-1’.
lgetfilecon
function that insulates the caller from API-nonconforming behavior.
Without this wrapper, lgetfilecon
can return ‘0’ and set
the context
pointer to NULL, and in another scenario can return
‘10’ and set the context
pointer to ‘unlabeled’.
This wrapper returns ‘-1’ in each case and sets errno
to
ENOTSUP
and ENODATA
respectively.
While the conditions that can provoke such behavior are rare, the
average caller does not handle them because the possibility of such
behavior is not documented.
Portability problems not fixed by Gnulib:
Next: Glibc signal.h, Previous: Glibc selinux/selinux.h, Up: Glibc Function Substitutes [Contents][Index]
<shadow.h>
• endspent: | ||
• fgetspent: | ||
• fgetspent_r: | ||
• getspent: | ||
• getspent_r: | ||
• getspnam: | ||
• getspnam_r: | ||
• lckpwdf: | ||
• putspent: | ||
• setspent: | ||
• sgetspent: | ||
• sgetspent_r: | ||
• ulckpwdf: |
Next: fgetspent, Up: Glibc shadow.h [Contents][Index]
endspent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fgetspent_r, Previous: endspent, Up: Glibc shadow.h [Contents][Index]
fgetspent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getspent, Previous: fgetspent, Up: Glibc shadow.h [Contents][Index]
fgetspent_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getspent_r, Previous: fgetspent_r, Up: Glibc shadow.h [Contents][Index]
getspent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getspnam, Previous: getspent, Up: Glibc shadow.h [Contents][Index]
getspent_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getspnam_r, Previous: getspent_r, Up: Glibc shadow.h [Contents][Index]
getspnam
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: lckpwdf, Previous: getspnam, Up: Glibc shadow.h [Contents][Index]
getspnam_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: putspent, Previous: getspnam_r, Up: Glibc shadow.h [Contents][Index]
lckpwdf
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setspent, Previous: lckpwdf, Up: Glibc shadow.h [Contents][Index]
putspent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sgetspent, Previous: putspent, Up: Glibc shadow.h [Contents][Index]
setspent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sgetspent_r, Previous: setspent, Up: Glibc shadow.h [Contents][Index]
sgetspent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ulckpwdf, Previous: sgetspent, Up: Glibc shadow.h [Contents][Index]
sgetspent_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: sgetspent_r, Up: Glibc shadow.h [Contents][Index]
ulckpwdf
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc stdio.h, Previous: Glibc shadow.h, Up: Glibc Function Substitutes [Contents][Index]
<signal.h>
• gsignal: | ||
• sigandset: | ||
• sigblock: | ||
• siggetmask: | ||
• sigisemptyset: | ||
• sigorset: | ||
• sigreturn: | ||
• sigsetmask: | ||
• sigstack: | ||
• sigvec: | ||
• ssignal: | ||
• sys_siglist: | ||
• sysv_signal: |
Next: sigandset, Up: Glibc signal.h [Contents][Index]
gsignal
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sigblock, Previous: gsignal, Up: Glibc signal.h [Contents][Index]
sigandset
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: siggetmask, Previous: sigandset, Up: Glibc signal.h [Contents][Index]
sigblock
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sigisemptyset, Previous: sigblock, Up: Glibc signal.h [Contents][Index]
siggetmask
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sigorset, Previous: siggetmask, Up: Glibc signal.h [Contents][Index]
sigisemptyset
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sigreturn, Previous: sigisemptyset, Up: Glibc signal.h [Contents][Index]
sigorset
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sigsetmask, Previous: sigorset, Up: Glibc signal.h [Contents][Index]
sigreturn
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sigstack, Previous: sigreturn, Up: Glibc signal.h [Contents][Index]
sigsetmask
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sigvec, Previous: sigsetmask, Up: Glibc signal.h [Contents][Index]
sigstack
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ssignal, Previous: sigstack, Up: Glibc signal.h [Contents][Index]
sigvec
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sys_siglist, Previous: sigvec, Up: Glibc signal.h [Contents][Index]
ssignal
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sysv_signal, Previous: ssignal, Up: Glibc signal.h [Contents][Index]
sys_siglist
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: sys_siglist, Up: Glibc signal.h [Contents][Index]
sysv_signal
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc stdlib.h, Previous: Glibc signal.h, Up: Glibc Function Substitutes [Contents][Index]
<stdio.h>
• asprintf: | ||
• cuserid: | ||
• clearerr_unlocked: | ||
• fcloseall: | ||
• feof_unlocked: | ||
• ferror_unlocked: | ||
• fflush_unlocked: | ||
• fgetc_unlocked: | ||
• fgets_unlocked: | ||
• fileno_unlocked: | ||
• fopencookie: | ||
• fputc_unlocked: | ||
• fputs_unlocked: | ||
• fread_unlocked: | ||
• fwrite_unlocked: | ||
• getw: | ||
• putw: | ||
• setbuffer: | ||
• setlinebuf: | ||
• sys_errlist: | ||
• sys_nerr: | ||
• tmpnam_r: | ||
• vasprintf: |
Next: cuserid, Up: Glibc stdio.h [Contents][Index]
asprintf
Gnulib module: vasprintf or vasprintf-posix
Portability problems fixed by either Gnulib module vasprintf
or vasprintf-posix
:
Portability problems fixed by Gnulib module vasprintf-posix
:
hh
, ll
,
j
, t
, z
) on some platforms:
Cygwin 1.5.24, BeOS.
"%f"
, "%e"
, "%g"
of Infinity and NaN yields an
incorrect result on some platforms:
Solaris 11 2011-11.
"%2$s"
, on some platforms:
NetBSD 3.0, BeOS.
'
flag on some platforms:
NetBSD 3.0, Cygwin 1.5.24.
"%010f"
of NaN and Infinity yields an incorrect result (padded
with zeroes) on some platforms:
Mac OS X 10.5, FreeBSD 6.0, NetBSD 5.0, Solaris 11 2011-11, Cygwin 1.5.x.
Portability problems not fixed by Gnulib:
Next: clearerr_unlocked, Previous: asprintf, Up: Glibc stdio.h [Contents][Index]
cuserid
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fcloseall, Previous: cuserid, Up: Glibc stdio.h [Contents][Index]
clearerr_unlocked
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: feof_unlocked, Previous: clearerr_unlocked, Up: Glibc stdio.h [Contents][Index]
fcloseall
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ferror_unlocked, Previous: fcloseall, Up: Glibc stdio.h [Contents][Index]
feof_unlocked
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fflush_unlocked, Previous: feof_unlocked, Up: Glibc stdio.h [Contents][Index]
ferror_unlocked
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fgetc_unlocked, Previous: ferror_unlocked, Up: Glibc stdio.h [Contents][Index]
fflush_unlocked
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fgets_unlocked, Previous: fflush_unlocked, Up: Glibc stdio.h [Contents][Index]
fgetc_unlocked
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fileno_unlocked, Previous: fgetc_unlocked, Up: Glibc stdio.h [Contents][Index]
fgets_unlocked
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fopencookie, Previous: fgets_unlocked, Up: Glibc stdio.h [Contents][Index]
fileno_unlocked
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fputc_unlocked, Previous: fileno_unlocked, Up: Glibc stdio.h [Contents][Index]
fopencookie
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fputs_unlocked, Previous: fopencookie, Up: Glibc stdio.h [Contents][Index]
fputc_unlocked
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fread_unlocked, Previous: fputc_unlocked, Up: Glibc stdio.h [Contents][Index]
fputs_unlocked
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fwrite_unlocked, Previous: fputs_unlocked, Up: Glibc stdio.h [Contents][Index]
fread_unlocked
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getw, Previous: fread_unlocked, Up: Glibc stdio.h [Contents][Index]
fwrite_unlocked
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: putw, Previous: fwrite_unlocked, Up: Glibc stdio.h [Contents][Index]
getw
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setbuffer, Previous: getw, Up: Glibc stdio.h [Contents][Index]
putw
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setlinebuf, Previous: putw, Up: Glibc stdio.h [Contents][Index]
setbuffer
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sys_errlist, Previous: setbuffer, Up: Glibc stdio.h [Contents][Index]
setlinebuf
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sys_nerr, Previous: setlinebuf, Up: Glibc stdio.h [Contents][Index]
sys_errlist
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: tmpnam_r, Previous: sys_errlist, Up: Glibc stdio.h [Contents][Index]
sys_nerr
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: vasprintf, Previous: sys_nerr, Up: Glibc stdio.h [Contents][Index]
tmpnam_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: tmpnam_r, Up: Glibc stdio.h [Contents][Index]
vasprintf
Gnulib module: vasprintf or vasprintf-posix
Portability problems fixed by either Gnulib module vasprintf
or vasprintf-posix
:
Portability problems fixed by Gnulib module vasprintf-posix
:
hh
, ll
,
j
, t
, z
) on some platforms:
Cygwin 1.5.24, BeOS.
"%f"
, "%e"
, "%g"
of Infinity and NaN yields an
incorrect result on some platforms:
Solaris 11 2011-11.
"%2$s"
, on some platforms:
NetBSD 3.0, BeOS.
'
flag on some platforms:
NetBSD 3.0, Cygwin 1.5.24.
"%010f"
of NaN and Infinity yields an incorrect result (padded
with zeroes) on some platforms:
Mac OS X 10.5, FreeBSD 6.0, NetBSD 5.0, Solaris 11 2011-11, Cygwin 1.5.x.
Portability problems not fixed by Gnulib:
Next: Glibc string.h, Previous: Glibc stdio.h, Up: Glibc Function Substitutes [Contents][Index]
<stdlib.h>
• canonicalize_file_name: | ||
• cfree: | ||
• clearenv: | ||
• drand48_r: | ||
• ecvt_r: | ||
• erand48_r: | ||
• fcvt_r: | ||
• getloadavg: | ||
• getpt: | ||
• initstate_r: | ||
• jrand48_r: | ||
• lcong48_r: | ||
• lrand48_r: | ||
• mkostemp: | ||
• mkostemps: | ||
• mrand48_r: | ||
• mkstemps: | ||
• nrand48_r: | ||
• on_exit: | ||
• ptsname_r: | ||
• qecvt: | ||
• qecvt_r: | ||
• qfcvt: | ||
• qfcvt_r: | ||
• qgcvt: | ||
• qsort_r: | ||
• random_r: | ||
• rpmatch: | ||
• secure_getenv: | ||
• seed48_r: | ||
• setstate_r: | ||
• srand48_r: | ||
• srandom_r: | ||
• strtod_l: | ||
• strtof_l: | ||
• strtol_l: | ||
• strtold_l: | ||
• strtoll_l: | ||
• strtoq: | ||
• strtoul_l: | ||
• strtoull_l: | ||
• strtouq: | ||
• valloc: |
Next: cfree, Up: Glibc stdlib.h [Contents][Index]
canonicalize_file_name
Gnulib module: canonicalize-lgpl
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: clearenv, Previous: canonicalize_file_name, Up: Glibc stdlib.h [Contents][Index]
cfree
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: drand48_r, Previous: cfree, Up: Glibc stdlib.h [Contents][Index]
clearenv
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ecvt_r, Previous: clearenv, Up: Glibc stdlib.h [Contents][Index]
drand48_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: erand48_r, Previous: drand48_r, Up: Glibc stdlib.h [Contents][Index]
ecvt_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fcvt_r, Previous: ecvt_r, Up: Glibc stdlib.h [Contents][Index]
erand48_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getloadavg, Previous: erand48_r, Up: Glibc stdlib.h [Contents][Index]
fcvt_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getpt, Previous: fcvt_r, Up: Glibc stdlib.h [Contents][Index]
getloadavg
Gnulib module: getloadavg
Portability problems fixed by Gnulib:
<sys/loadavg.h>
, not <stdlib.h>
,
on some platforms:
Solaris 11 2011-11.
Portability problems not fixed by Gnulib:
Next: initstate_r, Previous: getloadavg, Up: Glibc stdlib.h [Contents][Index]
getpt
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: jrand48_r, Previous: getpt, Up: Glibc stdlib.h [Contents][Index]
initstate_r
Gnulib module: random_r
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: lcong48_r, Previous: initstate_r, Up: Glibc stdlib.h [Contents][Index]
jrand48_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: lrand48_r, Previous: jrand48_r, Up: Glibc stdlib.h [Contents][Index]
lcong48_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: mkostemp, Previous: lcong48_r, Up: Glibc stdlib.h [Contents][Index]
lrand48_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: mkostemps, Previous: lrand48_r, Up: Glibc stdlib.h [Contents][Index]
mkostemp
Gnulib module: mkostemp
Portability problems fixed by Gnulib:
off_t
is a 32-bit type, mkostemp
may not work
correctly to create files larger than 2 GB. (Cf. AC_SYS_LARGEFILE
.)
Portability problems not fixed by Gnulib:
The gnulib module clean-temp
can create temporary files that will not
be left behind after signals such as SIGINT.
Next: mrand48_r, Previous: mkostemp, Up: Glibc stdlib.h [Contents][Index]
mkostemps
Gnulib module: mkostemps
Portability problems fixed by Gnulib:
off_t
is a 32-bit type, mkostemps
may not work
correctly to create files larger than 2 GB. (Cf. AC_SYS_LARGEFILE
.)
Portability problems not fixed by Gnulib:
The gnulib module clean-temp
can create temporary files that will not
be left behind after signals such as SIGINT.
Next: mkstemps, Previous: mkostemps, Up: Glibc stdlib.h [Contents][Index]
mrand48_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: nrand48_r, Previous: mrand48_r, Up: Glibc stdlib.h [Contents][Index]
mkstemps
Gnulib module: mkstemps
Portability problems fixed by Gnulib:
<unistd.h>
instead of <stdlib.h>
on some platforms:
Mac OS X 10.5.
off_t
is a 32-bit type, mkstemps
may not work
correctly to create files larger than 2 GB. (Cf. AC_SYS_LARGEFILE
.)
Portability problems not fixed by Gnulib:
The gnulib module clean-temp
can create temporary files that will not
be left behind after signals such as SIGINT.
Next: on_exit, Previous: mkstemps, Up: Glibc stdlib.h [Contents][Index]
nrand48_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ptsname_r, Previous: nrand48_r, Up: Glibc stdlib.h [Contents][Index]
on_exit
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: qecvt, Previous: on_exit, Up: Glibc stdlib.h [Contents][Index]
ptsname_r
Gnulib module: ptsname_r
Portability problems fixed by Gnulib:
_REENTRANT
is defined,
on some platforms:
OSF/1 5.1.
Portability problems not fixed by Gnulib:
Next: qecvt_r, Previous: ptsname_r, Up: Glibc stdlib.h [Contents][Index]
qecvt
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: qfcvt, Previous: qecvt, Up: Glibc stdlib.h [Contents][Index]
qecvt_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: qfcvt_r, Previous: qecvt_r, Up: Glibc stdlib.h [Contents][Index]
qfcvt
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: qgcvt, Previous: qfcvt, Up: Glibc stdlib.h [Contents][Index]
qfcvt_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: qsort_r, Previous: qfcvt_r, Up: Glibc stdlib.h [Contents][Index]
qgcvt
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: random_r, Previous: qgcvt, Up: Glibc stdlib.h [Contents][Index]
qsort_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: rpmatch, Previous: qsort_r, Up: Glibc stdlib.h [Contents][Index]
random_r
Gnulib module: random_r
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: secure_getenv, Previous: random_r, Up: Glibc stdlib.h [Contents][Index]
rpmatch
Gnulib module: rpmatch
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: seed48_r, Previous: rpmatch, Up: Glibc stdlib.h [Contents][Index]
secure_getenv
Gnulib module: secure_getenv
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setstate_r, Previous: secure_getenv, Up: Glibc stdlib.h [Contents][Index]
seed48_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: srand48_r, Previous: seed48_r, Up: Glibc stdlib.h [Contents][Index]
setstate_r
Gnulib module: random_r
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: srandom_r, Previous: setstate_r, Up: Glibc stdlib.h [Contents][Index]
srand48_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strtod_l, Previous: srand48_r, Up: Glibc stdlib.h [Contents][Index]
srandom_r
Gnulib module: random_r
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strtof_l, Previous: srandom_r, Up: Glibc stdlib.h [Contents][Index]
strtod_l
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strtol_l, Previous: strtod_l, Up: Glibc stdlib.h [Contents][Index]
strtof_l
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strtold_l, Previous: strtof_l, Up: Glibc stdlib.h [Contents][Index]
strtol_l
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strtoll_l, Previous: strtol_l, Up: Glibc stdlib.h [Contents][Index]
strtold_l
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strtoq, Previous: strtold_l, Up: Glibc stdlib.h [Contents][Index]
strtoll_l
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strtoul_l, Previous: strtoll_l, Up: Glibc stdlib.h [Contents][Index]
strtoq
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strtoull_l, Previous: strtoq, Up: Glibc stdlib.h [Contents][Index]
strtoul_l
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strtouq, Previous: strtoul_l, Up: Glibc stdlib.h [Contents][Index]
strtoull_l
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: valloc, Previous: strtoull_l, Up: Glibc stdlib.h [Contents][Index]
strtouq
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: strtouq, Up: Glibc stdlib.h [Contents][Index]
valloc
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/capability.h, Previous: Glibc stdlib.h, Up: Glibc Function Substitutes [Contents][Index]
<string.h>
• ffsl: | ||
• ffsll: | ||
• memfrob: | ||
• memmem: | ||
• mempcpy: | ||
• memrchr: | ||
• rawmemchr: | ||
• strcasestr: | ||
• strchrnul: | ||
• strfry: | ||
• strsep: | ||
• strverscmp: |
Next: ffsll, Up: Glibc string.h [Contents][Index]
ffsl
Gnulib module: ffsl
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: memfrob, Previous: ffsl, Up: Glibc string.h [Contents][Index]
ffsll
Gnulib module: ffsll
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: memmem, Previous: ffsll, Up: Glibc string.h [Contents][Index]
memfrob
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: mempcpy, Previous: memfrob, Up: Glibc string.h [Contents][Index]
memmem
Gnulib module: memmem or memmem-simple
Both modules implement the same replacement for the memmem
function
with the memmem module providing a replacement on more platforms where
the existing memmem
function has a quadratic worst-case complexity.
Portability problems fixed by either Gnulib module memmem-simple
or memmem
:
Performance problems fixed by Gnulib module memmem
:
Portability problems not fixed by Gnulib:
Next: memrchr, Previous: memmem, Up: Glibc string.h [Contents][Index]
mempcpy
Gnulib module: mempcpy
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: rawmemchr, Previous: mempcpy, Up: Glibc string.h [Contents][Index]
memrchr
Gnulib module: memrchr
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strcasestr, Previous: memrchr, Up: Glibc string.h [Contents][Index]
rawmemchr
Gnulib module: rawmemchr
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strchrnul, Previous: rawmemchr, Up: Glibc string.h [Contents][Index]
strcasestr
Gnulib module: strcasestr or strcasestr-simple
Portability problems fixed by either Gnulib module strcasestr-simple
or strcasestr
:
Portability problems fixed by Gnulib module strcasestr
:
Portability problems not fixed by Gnulib:
Next: strfry, Previous: strcasestr, Up: Glibc string.h [Contents][Index]
strchrnul
Gnulib module: strchrnul
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strsep, Previous: strchrnul, Up: Glibc string.h [Contents][Index]
strfry
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strverscmp, Previous: strfry, Up: Glibc string.h [Contents][Index]
strsep
Gnulib module: strsep
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: strsep, Up: Glibc string.h [Contents][Index]
strverscmp
Gnulib module: strverscmp
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/epoll.h, Previous: Glibc string.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/capability.h>
• capget: | ||
• capset: |
Next: capset, Up: Glibc sys/capability.h [Contents][Index]
capget
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: capget, Up: Glibc sys/capability.h [Contents][Index]
capset
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/fanotify.h, Previous: Glibc sys/capability.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/epoll.h>
• epoll_create: | ||
• epoll_ctl: | ||
• epoll_wait: |
Next: epoll_ctl, Up: Glibc sys/epoll.h [Contents][Index]
epoll_create
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: epoll_wait, Previous: epoll_create, Up: Glibc sys/epoll.h [Contents][Index]
epoll_ctl
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: epoll_ctl, Up: Glibc sys/epoll.h [Contents][Index]
epoll_wait
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/file.h, Previous: Glibc sys/epoll.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/fanotify.h>
• fanotify_init: | ||
• fanotify_mark: |
Next: fanotify_mark, Up: Glibc sys/fanotify.h [Contents][Index]
fanotify_init
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: fanotify_init, Up: Glibc sys/fanotify.h [Contents][Index]
fanotify_mark
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/fsuid.h, Previous: Glibc sys/fanotify.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/file.h>
• flock: |
Up: Glibc sys/file.h [Contents][Index]
flock
Gnulib module: flock
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/gmon.h, Previous: Glibc sys/file.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/fsuid.h>
• setfsgid: | ||
• setfsuid: |
Next: setfsuid, Up: Glibc sys/fsuid.h [Contents][Index]
setfsgid
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: setfsgid, Up: Glibc sys/fsuid.h [Contents][Index]
setfsuid
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/io.h and sys/perm.h, Previous: Glibc sys/fsuid.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/gmon.h>
• monstartup: |
Up: Glibc sys/gmon.h [Contents][Index]
monstartup
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/kdaemon.h, Previous: Glibc sys/gmon.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/io.h>
, <sys/perm.h>
• ioperm: | ||
• iopl: |
Next: iopl, Up: Glibc sys/io.h and sys/perm.h [Contents][Index]
ioperm
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: ioperm, Up: Glibc sys/io.h and sys/perm.h [Contents][Index]
iopl
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/klog.h, Previous: Glibc sys/io.h and sys/perm.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/kdaemon.h>
• bdflush: |
Up: Glibc sys/kdaemon.h [Contents][Index]
bdflush
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/mman.h, Previous: Glibc sys/kdaemon.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/klog.h>
• klogctl: |
Up: Glibc sys/klog.h [Contents][Index]
klogctl
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/mount.h, Previous: Glibc sys/klog.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/mman.h>
• madvise: | ||
• mincore: | ||
• mremap: | ||
• remap_file_pages: |
Next: mincore, Up: Glibc sys/mman.h [Contents][Index]
madvise
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: mremap, Previous: madvise, Up: Glibc sys/mman.h [Contents][Index]
mincore
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: remap_file_pages, Previous: mincore, Up: Glibc sys/mman.h [Contents][Index]
mremap
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: mremap, Up: Glibc sys/mman.h [Contents][Index]
remap_file_pages
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/personality.h, Previous: Glibc sys/mman.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/mount.h>
• mount: | ||
• umount: | ||
• umount2: |
Next: umount, Up: Glibc sys/mount.h [Contents][Index]
mount
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: umount2, Previous: mount, Up: Glibc sys/mount.h [Contents][Index]
umount
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: umount, Up: Glibc sys/mount.h [Contents][Index]
umount2
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/prctl.h, Previous: Glibc sys/mount.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/personality.h>
• personality: |
Up: Glibc sys/personality.h [Contents][Index]
personality
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/profil.h, Previous: Glibc sys/personality.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/prctl.h>
• prctl: |
Up: Glibc sys/prctl.h [Contents][Index]
prctl
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/ptrace.h, Previous: Glibc sys/prctl.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/profil.h>
• sprofil: |
Up: Glibc sys/profil.h [Contents][Index]
sprofil
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/quota.h, Previous: Glibc sys/profil.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/ptrace.h>
• ptrace: |
Up: Glibc sys/ptrace.h [Contents][Index]
ptrace
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/reboot.h, Previous: Glibc sys/ptrace.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/quota.h>
• quotactl: |
Up: Glibc sys/quota.h [Contents][Index]
quotactl
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/resource.h, Previous: Glibc sys/quota.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/reboot.h>
• reboot: |
Up: Glibc sys/reboot.h [Contents][Index]
reboot
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/sem.h, Previous: Glibc sys/reboot.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/resource.h>
• prlimit: |
Up: Glibc sys/resource.h [Contents][Index]
prlimit
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/sendfile.h, Previous: Glibc sys/resource.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/sem.h>
• semtimedop: |
Up: Glibc sys/sem.h [Contents][Index]
semtimedop
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/socket.h, Previous: Glibc sys/sem.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/sendfile.h>
• sendfile: |
Up: Glibc sys/sendfile.h [Contents][Index]
sendfile
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
off_t
is a 32-bit type, this function may not
work correctly on files larger than 2 GB. The fix is to use the
AC_SYS_LARGEFILE
macro.
Next: Glibc sys/stat.h, Previous: Glibc sys/sendfile.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/socket.h>
• accept4: | ||
• isfdtype: | ||
• recvmmsg: | ||
• sendmmsg: |
Next: isfdtype, Up: Glibc sys/socket.h [Contents][Index]
accept4
Gnulib module: accept4
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: recvmmsg, Previous: accept4, Up: Glibc sys/socket.h [Contents][Index]
isfdtype
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sendmmsg, Previous: isfdtype, Up: Glibc sys/socket.h [Contents][Index]
recvmmsg
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: recvmmsg, Up: Glibc sys/socket.h [Contents][Index]
sendmmsg
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/statfs.h, Previous: Glibc sys/socket.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/stat.h>
• lchmod: |
Up: Glibc sys/stat.h [Contents][Index]
lchmod
Gnulib module: lchmod
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/swap.h, Previous: Glibc sys/stat.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/statfs.h>
• fstatfs: | ||
• statfs: |
Next: statfs, Up: Glibc sys/statfs.h [Contents][Index]
fstatfs
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
f_blocks
in ‘struct statfs’ is a 32-bit
value, this function may not work correctly on files systems larger than
4 TiB. The fix is to use the AC_SYS_LARGEFILE
macro. This affects
Mac OS X.
Previous: fstatfs, Up: Glibc sys/statfs.h [Contents][Index]
statfs
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
f_blocks
in ‘struct statfs’ is a 32-bit
value, this function may not work correctly on files systems larger than
4 TiB. The fix is to use the AC_SYS_LARGEFILE
macro. This affects
Mac OS X.
Next: Glibc sys/sysctl.h, Previous: Glibc sys/statfs.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/swap.h>
• swapoff: | ||
• swapon: |
Next: swapon, Up: Glibc sys/swap.h [Contents][Index]
swapoff
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: swapoff, Up: Glibc sys/swap.h [Contents][Index]
swapon
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/sysinfo.h, Previous: Glibc sys/swap.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/sysctl.h>
• sysctl: |
Up: Glibc sys/sysctl.h [Contents][Index]
sysctl
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/syslog.h, Previous: Glibc sys/sysctl.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/sysinfo.h>
• get_avphys_pages: | ||
• get_nprocs: | ||
• get_nprocs_conf: | ||
• get_phys_pages: | ||
• sysinfo: |
Next: get_nprocs, Up: Glibc sys/sysinfo.h [Contents][Index]
get_avphys_pages
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: get_nprocs_conf, Previous: get_avphys_pages, Up: Glibc sys/sysinfo.h [Contents][Index]
get_nprocs
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Gnulib provides the module nproc
that performs a similar
function but is portable to more systems.
Next: get_phys_pages, Previous: get_nprocs, Up: Glibc sys/sysinfo.h [Contents][Index]
get_nprocs_conf
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sysinfo, Previous: get_nprocs_conf, Up: Glibc sys/sysinfo.h [Contents][Index]
get_phys_pages
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: get_phys_pages, Up: Glibc sys/sysinfo.h [Contents][Index]
sysinfo
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/sysmacros.h, Previous: Glibc sys/sysinfo.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/syslog.h>
• vsyslog: |
Up: Glibc sys/syslog.h [Contents][Index]
vsyslog
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/time.h, Previous: Glibc sys/syslog.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/sysmacros.h>
• gnu_dev_major: | ||
• gnu_dev_makedev: | ||
• gnu_dev_minor: |
Next: gnu_dev_makedev, Up: Glibc sys/sysmacros.h [Contents][Index]
gnu_dev_major
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: gnu_dev_minor, Previous: gnu_dev_major, Up: Glibc sys/sysmacros.h [Contents][Index]
gnu_dev_makedev
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: gnu_dev_makedev, Up: Glibc sys/sysmacros.h [Contents][Index]
gnu_dev_minor
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/timex.h, Previous: Glibc sys/sysmacros.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/time.h>
• adjtime: | ||
• futimes: | ||
• futimesat: | ||
• lutimes: | ||
• settimeofday: |
Next: futimes, Up: Glibc sys/time.h [Contents][Index]
adjtime
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: futimesat, Previous: adjtime, Up: Glibc sys/time.h [Contents][Index]
futimes
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
futimens(fd,times)
instead.
Next: lutimes, Previous: futimes, Up: Glibc sys/time.h [Contents][Index]
futimesat
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
file ? utimensat(fd,file,times,0) : futimens(fd,times)
, or the
gnulib module fdutimensat, instead.
Next: settimeofday, Previous: futimesat, Up: Glibc sys/time.h [Contents][Index]
lutimes
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
utimensat(AT_FDCWD,file,times,AT_SYMLINK_NOFOLLOW)
, or the
gnulib module utimens, instead.
lstat
modifies the access time of
symlinks on some platforms, so lutimes
can only effectively
change modification time:
Cygwin.
Previous: lutimes, Up: Glibc sys/time.h [Contents][Index]
settimeofday
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/uio.h, Previous: Glibc sys/time.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/timex.h>
• adjtimex: | ||
• ntp_adjtime: | ||
• ntp_gettime: | ||
• ntp_gettimex: |
Next: ntp_adjtime, Up: Glibc sys/timex.h [Contents][Index]
adjtimex
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ntp_gettime, Previous: adjtimex, Up: Glibc sys/timex.h [Contents][Index]
ntp_adjtime
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ntp_gettimex, Previous: ntp_adjtime, Up: Glibc sys/timex.h [Contents][Index]
ntp_gettime
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: ntp_gettime, Up: Glibc sys/timex.h [Contents][Index]
ntp_gettimex
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/ustat.h, Previous: Glibc sys/timex.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/uio.h>
• preadv: | ||
• process_vm_readv: | ||
• process_vm_writev: | ||
• pwritev: |
Next: process_vm_readv, Up: Glibc sys/uio.h [Contents][Index]
preadv
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
off_t
is a 32-bit type, this function may not
work correctly on files larger than 2 GB. The fix is to use the
AC_SYS_LARGEFILE
macro.
Next: process_vm_writev, Previous: preadv, Up: Glibc sys/uio.h [Contents][Index]
process_vm_readv
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pwritev, Previous: process_vm_readv, Up: Glibc sys/uio.h [Contents][Index]
process_vm_writev
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: process_vm_writev, Up: Glibc sys/uio.h [Contents][Index]
pwritev
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
off_t
is a 32-bit type, this function may not
work correctly on files larger than 2 GB. The fix is to use the
AC_SYS_LARGEFILE
macro.
Next: Glibc sys/vlimit.h, Previous: Glibc sys/uio.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/ustat.h>
• ustat: |
Up: Glibc sys/ustat.h [Contents][Index]
ustat
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/vm86.h, Previous: Glibc sys/ustat.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/vlimit.h>
• vlimit: |
Up: Glibc sys/vlimit.h [Contents][Index]
vlimit
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/vtimes.h, Previous: Glibc sys/vlimit.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/vm86.h>
• vm86: |
Up: Glibc sys/vm86.h [Contents][Index]
vm86
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/wait.h, Previous: Glibc sys/vm86.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/vtimes.h>
• vtimes: |
Up: Glibc sys/vtimes.h [Contents][Index]
vtimes
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc sys/xattr.h, Previous: Glibc sys/vtimes.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/wait.h>
• wait3: | ||
• wait4: |
Next: wait4, Up: Glibc sys/wait.h [Contents][Index]
wait3
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: wait3, Up: Glibc sys/wait.h [Contents][Index]
wait4
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc termios.h, Previous: Glibc sys/wait.h, Up: Glibc Function Substitutes [Contents][Index]
<sys/xattr.h>
• fgetxattr: | ||
• flistxattr: | ||
• fremovexattr: | ||
• fsetxattr: | ||
• getxattr: | ||
• lgetxattr: | ||
• listxattr: | ||
• llistxattr: | ||
• lremovexattr: | ||
• lsetxattr: | ||
• removexattr: | ||
• setxattr: |
Next: flistxattr, Up: Glibc sys/xattr.h [Contents][Index]
fgetxattr
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fremovexattr, Previous: fgetxattr, Up: Glibc sys/xattr.h [Contents][Index]
flistxattr
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: fsetxattr, Previous: flistxattr, Up: Glibc sys/xattr.h [Contents][Index]
fremovexattr
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getxattr, Previous: fremovexattr, Up: Glibc sys/xattr.h [Contents][Index]
fsetxattr
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: lgetxattr, Previous: fsetxattr, Up: Glibc sys/xattr.h [Contents][Index]
getxattr
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: listxattr, Previous: getxattr, Up: Glibc sys/xattr.h [Contents][Index]
lgetxattr
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: llistxattr, Previous: lgetxattr, Up: Glibc sys/xattr.h [Contents][Index]
listxattr
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: lremovexattr, Previous: listxattr, Up: Glibc sys/xattr.h [Contents][Index]
llistxattr
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: lsetxattr, Previous: llistxattr, Up: Glibc sys/xattr.h [Contents][Index]
lremovexattr
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: removexattr, Previous: lremovexattr, Up: Glibc sys/xattr.h [Contents][Index]
lsetxattr
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setxattr, Previous: lsetxattr, Up: Glibc sys/xattr.h [Contents][Index]
removexattr
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: removexattr, Up: Glibc sys/xattr.h [Contents][Index]
setxattr
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc time.h, Previous: Glibc sys/xattr.h, Up: Glibc Function Substitutes [Contents][Index]
<termios.h>
• cfmakeraw: | ||
• cfsetspeed: |
Next: cfsetspeed, Up: Glibc termios.h [Contents][Index]
cfmakeraw
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: cfmakeraw, Up: Glibc termios.h [Contents][Index]
cfsetspeed
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc ttyent.h, Previous: Glibc termios.h, Up: Glibc Function Substitutes [Contents][Index]
<time.h>
• clock_adjtime: | ||
• dysize: | ||
• getdate_r: | ||
• stime: | ||
• strptime_l: | ||
• timegm: | ||
• timelocal: | ||
• timespec_get: |
Next: dysize, Up: Glibc time.h [Contents][Index]
clock_adjtime
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getdate_r, Previous: clock_adjtime, Up: Glibc time.h [Contents][Index]
dysize
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: stime, Previous: dysize, Up: Glibc time.h [Contents][Index]
getdate_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: strptime_l, Previous: getdate_r, Up: Glibc time.h [Contents][Index]
stime
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: timegm, Previous: stime, Up: Glibc time.h [Contents][Index]
strptime_l
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: timelocal, Previous: strptime_l, Up: Glibc time.h [Contents][Index]
timegm
Gnulib module: timegm
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: timespec_get, Previous: timegm, Up: Glibc time.h [Contents][Index]
timelocal
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: timelocal, Up: Glibc time.h [Contents][Index]
timespec_get
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc unistd.h, Previous: Glibc time.h, Up: Glibc Function Substitutes [Contents][Index]
<ttyent.h>
• endttyent: | ||
• getttyent: | ||
• getttynam: | ||
• setttyent: |
Next: getttyent, Up: Glibc ttyent.h [Contents][Index]
endttyent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getttynam, Previous: endttyent, Up: Glibc ttyent.h [Contents][Index]
getttyent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setttyent, Previous: getttyent, Up: Glibc ttyent.h [Contents][Index]
getttynam
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: getttynam, Up: Glibc ttyent.h [Contents][Index]
setttyent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc utmp.h, Previous: Glibc ttyent.h, Up: Glibc Function Substitutes [Contents][Index]
<unistd.h>
• acct: | ||
• brk: | ||
• chroot: | ||
• daemon: | ||
• dup3: | ||
• endusershell: | ||
• euidaccess: | ||
• execvpe: | ||
• get_current_dir_name: | ||
• getdomainname: | ||
• getdtablesize: | ||
• getpagesize: | ||
• getpass: | ||
• getresgid: | ||
• getresuid: | ||
• getusershell: | ||
• group_member: | ||
• pipe2: | ||
• profil: | ||
• revoke: | ||
• sbrk: | ||
• setlogin: | ||
• setdomainname: | ||
• sethostid: | ||
• sethostname: | ||
• setresgid: | ||
• setresuid: | ||
• setusershell: | ||
• syncfs: | ||
• syscall: | ||
• ttyslot: | ||
• vhangup: |
Next: brk, Up: Glibc unistd.h [Contents][Index]
acct
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: chroot, Previous: acct, Up: Glibc unistd.h [Contents][Index]
brk
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: daemon, Previous: brk, Up: Glibc unistd.h [Contents][Index]
chroot
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: dup3, Previous: chroot, Up: Glibc unistd.h [Contents][Index]
daemon
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: endusershell, Previous: daemon, Up: Glibc unistd.h [Contents][Index]
dup3
Gnulib module: dup3
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: euidaccess, Previous: dup3, Up: Glibc unistd.h [Contents][Index]
endusershell
Gnulib module: getusershell
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: execvpe, Previous: endusershell, Up: Glibc unistd.h [Contents][Index]
euidaccess
Gnulib module: euidaccess
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Other problems of this function:
stat
versus lstat
). If you need this option, use
the Gnulib module faccessat
with the AT_EACCESS
flag.
Next: get_current_dir_name, Previous: euidaccess, Up: Glibc unistd.h [Contents][Index]
execvpe
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getdomainname, Previous: execvpe, Up: Glibc unistd.h [Contents][Index]
get_current_dir_name
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getdtablesize, Previous: get_current_dir_name, Up: Glibc unistd.h [Contents][Index]
getdomainname
Gnulib module: getdomainname
Portability problems fixed by Gnulib:
netdb.h
, not in unistd.h
, on
some platforms:
AIX 7.1.
netdb.h
and in sys/socket.h
, not
in unistd.h
, on some platforms:
OSF/1 5.1.
int
, not size_t
, on some platforms:
Mac OS X 10.5, FreeBSD 6.4, AIX 7.1, IRIX 6.5.
Portability problems not fixed by Gnulib:
Next: getpagesize, Previous: getdomainname, Up: Glibc unistd.h [Contents][Index]
getdtablesize
Gnulib module: getdtablesize
Portability problems fixed by Gnulib:
RLIMIT_NOFILE
soft
limit on some platforms:
Cygwin 1.7.25.
Portability problems not fixed by Gnulib:
Next: getpass, Previous: getdtablesize, Up: Glibc unistd.h [Contents][Index]
getpagesize
Gnulib module: getpagesize
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getresgid, Previous: getpagesize, Up: Glibc unistd.h [Contents][Index]
getpass
Gnulib module: getpass or getpass-gnu
Portability problems fixed by either Gnulib module getpass
or getpass-gnu
:
Portability problems fixed by Gnulib module getpass-gnu
:
Portability problems not fixed by Gnulib:
Next: getresuid, Previous: getpass, Up: Glibc unistd.h [Contents][Index]
getresgid
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getusershell, Previous: getresgid, Up: Glibc unistd.h [Contents][Index]
getresuid
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: group_member, Previous: getresuid, Up: Glibc unistd.h [Contents][Index]
getusershell
Gnulib module: getusershell
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pipe2, Previous: getusershell, Up: Glibc unistd.h [Contents][Index]
group_member
Gnulib module: group-member
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: profil, Previous: group_member, Up: Glibc unistd.h [Contents][Index]
pipe2
Gnulib module: pipe2
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
EMFILE
if no
resources are left on some platforms:
Cygwin 1.7.9.
Note: This function portably supports the O_NONBLOCK
flag only if the
gnulib module nonblocking
is also used.
Next: revoke, Previous: pipe2, Up: Glibc unistd.h [Contents][Index]
profil
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sbrk, Previous: profil, Up: Glibc unistd.h [Contents][Index]
revoke
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setlogin, Previous: revoke, Up: Glibc unistd.h [Contents][Index]
sbrk
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setdomainname, Previous: sbrk, Up: Glibc unistd.h [Contents][Index]
setlogin
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sethostid, Previous: setlogin, Up: Glibc unistd.h [Contents][Index]
setdomainname
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: sethostname, Previous: setdomainname, Up: Glibc unistd.h [Contents][Index]
sethostid
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setresgid, Previous: sethostid, Up: Glibc unistd.h [Contents][Index]
sethostname
Gnulib module: sethostname
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
char *
instead of
const char *
and the second parameter is int
instead of
size_t
.
Next: setresuid, Previous: sethostname, Up: Glibc unistd.h [Contents][Index]
setresgid
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setusershell, Previous: setresgid, Up: Glibc unistd.h [Contents][Index]
setresuid
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: syncfs, Previous: setresuid, Up: Glibc unistd.h [Contents][Index]
setusershell
Gnulib module: getusershell
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: syscall, Previous: setusershell, Up: Glibc unistd.h [Contents][Index]
syncfs
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: ttyslot, Previous: syncfs, Up: Glibc unistd.h [Contents][Index]
syscall
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: vhangup, Previous: syscall, Up: Glibc unistd.h [Contents][Index]
ttyslot
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: ttyslot, Up: Glibc unistd.h [Contents][Index]
vhangup
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: Glibc utmpx.h, Previous: Glibc unistd.h, Up: Glibc Function Substitutes [Contents][Index]
<utmp.h>
• endutent: | ||
• getutent: | ||
• getutent_r: | ||
• getutid: | ||
• getutid_r: | ||
• getutline: | ||
• getutline_r: | ||
• pututline: | ||
• setutent: | ||
• updwtmp: | ||
• utmpname: | ||
• login: | ||
• login_tty: |
Next: getutent, Up: Glibc utmp.h [Contents][Index]
endutent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getutent_r, Previous: endutent, Up: Glibc utmp.h [Contents][Index]
getutent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getutid, Previous: getutent, Up: Glibc utmp.h [Contents][Index]
getutent_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getutid_r, Previous: getutent_r, Up: Glibc utmp.h [Contents][Index]
getutid
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getutline, Previous: getutid, Up: Glibc utmp.h [Contents][Index]
getutid_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: getutline_r, Previous: getutid_r, Up: Glibc utmp.h [Contents][Index]
getutline
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: pututline, Previous: getutline, Up: Glibc utmp.h [Contents][Index]
getutline_r
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: setutent, Previous: getutline_r, Up: Glibc utmp.h [Contents][Index]
pututline
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: updwtmp, Previous: pututline, Up: Glibc utmp.h [Contents][Index]
setutent
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: utmpname, Previous: setutent, Up: Glibc utmp.h [Contents][Index]
updwtmp
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: login, Previous: updwtmp, Up: Glibc utmp.h [Contents][Index]
utmpname
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: login_tty, Previous: utmpname, Up: Glibc utmp.h [Contents][Index]
login
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: login, Up: Glibc utmp.h [Contents][Index]
login_tty
Gnulib module: login_tty
Portability problems fixed by Gnulib:
-lutil
on some platforms:
glibc 2.3.6, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8.
It is available without link options on other platforms:
Mac OS X 10.5, OSF/1 5.1, Cygwin, Interix 3.5.
Portability problems not fixed by Gnulib:
<utmp.h>
on glibc, Cygwin,
in <util.h>
on Mac OS X 10.5, NetBSD 5.0, OpenBSD 3.8,
in <libutil.h>
on FreeBSD 6.0, Haiku, and not declared at all
on OSF/1 5.1, Interix 3.5. Also note that <sys/types.h>
is
a prerequisite of <utmp.h>
on FreeBSD 8.0, OpenBSD 4.6 and
of <libutil.h>
on FreeBSD 8.0.
Next: Glibc wchar.h, Previous: Glibc utmp.h, Up: Glibc Function Substitutes [Contents][Index]
<utmpx.h>
• getutmp: | ||
• getutmpx: | ||
• updwtmpx: | ||
• utmpxname: |
Next: getutmpx, Up: Glibc utmpx.h [Contents][Index]
getutmp
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: updwtmpx, Previous: getutmp, Up: Glibc utmpx.h [Contents][Index]
getutmpx
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Next: utmpxname, Previous: getutmpx, Up: Glibc utmpx.h [Contents][Index]
updwtmpx
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: updwtmpx, Up: Glibc utmpx.h [Contents][Index]
utmpxname
Gnulib module: —
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
Previous: Glibc utmpx.h, Up: Glibc Function Substitutes [Contents][Index]
<wchar.h>
• fgetwc_unlocked: | ||
• fgetws_unlocked: | ||
• fputwc_unlocked: | ||
• fputws_unlocked: | ||
• getwc_unlocked: | ||
• getwchar_unlocked: | ||
• putwc_unlocked: | ||
• putwchar_unlocked: | ||
• wcschrnul: | ||
• wcsftime_l: | ||
• wcstod_l: | ||
• wcstof_l: | ||
• wcstol_l: | ||
• wcstold_l: | ||
• wcstoll_l: | ||
• wcstoq: | ||
• wcstoul_l: | ||
• wcstoull_l: | ||
• wcstouq: | ||
• wmempcpy: |
Next: fgetws_unlocked, Up: Glibc wchar.h [Contents][Index]
fgetwc_unlocked
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.
Next: fputwc_unlocked, Previous: fgetwc_unlocked, Up: Glibc wchar.h [Contents][Index]
fgetws_unlocked
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.
Next: fputws_unlocked, Previous: fgetws_unlocked, Up: Glibc wchar.h [Contents][Index]
fputwc_unlocked
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.
Next: getwc_unlocked, Previous: fputwc_unlocked, Up: Glibc wchar.h [Contents][Index]
fputws_unlocked
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.
Next: getwchar_unlocked, Previous: fputws_unlocked, Up: Glibc wchar.h [Contents][Index]
getwc_unlocked
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.
Next: putwc_unlocked, Previous: getwc_unlocked, Up: Glibc wchar.h [Contents][Index]
getwchar_unlocked
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.
Next: putwchar_unlocked, Previous: getwchar_unlocked, Up: Glibc wchar.h [Contents][Index]
putwc_unlocked
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.
Next: wcschrnul, Previous: putwc_unlocked, Up: Glibc wchar.h [Contents][Index]
putwchar_unlocked
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.
Next: wcsftime_l, Previous: putwchar_unlocked, Up: Glibc wchar.h [Contents][Index]
wcschrnul
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.
Next: wcstod_l, Previous: wcschrnul, Up: Glibc wchar.h [Contents][Index]
wcsftime_l
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.
Next: wcstof_l, Previous: wcsftime_l, Up: Glibc wchar.h [Contents][Index]
wcstod_l
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.
Next: wcstol_l, Previous: wcstod_l, Up: Glibc wchar.h [Contents][Index]
wcstof_l
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.
Next: wcstold_l, Previous: wcstof_l, Up: Glibc wchar.h [Contents][Index]
wcstol_l
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.
Next: wcstoll_l, Previous: wcstol_l, Up: Glibc wchar.h [Contents][Index]
wcstold_l
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.
Next: wcstoq, Previous: wcstold_l, Up: Glibc wchar.h [Contents][Index]
wcstoll_l
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.
Next: wcstoul_l, Previous: wcstoll_l, Up: Glibc wchar.h [Contents][Index]
wcstoq
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.
Next: wcstoull_l, Previous: wcstoq, Up: Glibc wchar.h [Contents][Index]
wcstoul_l
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.
Next: wcstouq, Previous: wcstoul_l, Up: Glibc wchar.h [Contents][Index]
wcstoull_l
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.
Next: wmempcpy, Previous: wcstoull_l, Up: Glibc wchar.h [Contents][Index]
wcstouq
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.
Previous: wcstouq, Up: Glibc wchar.h [Contents][Index]
wmempcpy
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.
Next: Regular expressions, Previous: Glibc Function Substitutes, Up: Top [Contents][Index]
Next: alloca-opt, Up: Particular Modules [Contents][Index]
The alloca module provides for a function alloca
which allocates
memory on the stack, where the system allows it. A memory block allocated with
alloca
exists only until the function that calls alloca
returns
or exits abruptly.
There are a few systems where this is not possible: HP-UX systems, and some
other platforms when the C++ compiler is used. On these platforms the alloca
module provides a malloc
based emulation. This emulation will not free a
memory block immediately when the calling function returns, but rather will
wait until the next alloca
call from a function with the same or a
shorter stack length. Thus, in some cases, a few memory blocks will be kept
although they are not needed any more.
The user can #include <alloca.h>
and use alloca
on all platforms.
Note that the #include <alloca.h>
must be the first one after the
autoconf-generated config.h, for AIX 3 compatibility. Thanks to IBM for
this nice restriction!
Note that GCC 3.1 and 3.2 can inline functions that call alloca
.
When this happens, the memory blocks allocated with alloca
will not be
freed until the end of the calling function. If this calling function
runs a loop calling the function that uses alloca
, the program easily
gets a stack overflow and crashes. To protect against this compiler behaviour,
you can mark the function that uses alloca
with the following attribute:
#ifdef __GNUC__ __attribute__ ((__noinline__)) #endif
An alternative to this module is the ‘alloca-opt’ module.
Next: Safe Allocation Macros, Previous: alloca, Up: Particular Modules [Contents][Index]
The alloca-opt module provides for a function alloca
which allocates
memory on the stack, where the system allows it. A memory block allocated with
alloca
exists only until the function that calls alloca
returns
or exits abruptly.
There are a few systems where this is not possible: HP-UX systems, and some other platforms when the C++ compiler is used. On these platforms the alloca-opt module provides no replacement, just a preprocessor macro HAVE_ALLOCA.
The user can #include <alloca.h>
on all platforms, and use
alloca
on those platforms where the preprocessor macro HAVE_ALLOCA
evaluates to true. If HAVE_ALLOCA is false, the code should use a heap-based
memory allocation based on malloc
or (in C++) new
. Note that
the #include <alloca.h>
must be the first one after the
autoconf-generated config.h, for AIX 3 compatibility. Thanks to IBM for
this nice restriction!
Note that GCC 3.1 and 3.2 can inline functions that call alloca
.
When this happens, the memory blocks allocated with alloca
will not be
freed until the end of the calling function. If this calling function
runs a loop calling the function that uses alloca
, the program easily
gets a stack overflow and crashes. To protect against this compiler behaviour,
you can mark the function that uses alloca
with the following attribute:
#ifdef __GNUC__ __attribute__ ((__noinline__)) #endif
Next: Compile-time Assertions, Previous: alloca-opt, Up: Particular Modules [Contents][Index]
The standard C library malloc/realloc/calloc/free APIs are prone to a
number of common coding errors. The safe-alloc
module provides
macros that make it easier to avoid many of them. It still uses the
standard C allocation functions behind the scenes.
Some of the memory allocation mistakes that are commonly made are
malloc
, especially
when allocating an array,
malloc
and realloc
for
errors,
malloc
,
free
by forgetting to set the pointer
variable to NULL
,
realloc
when that call fails.
The safe-alloc
module addresses these problems in the following way:
__warn_unused_result__
attribute.
calloc
instead of malloc
.
Allocate sizeof(*ptr)
bytes of memory and store the address of
allocated memory in ptr
. Fill the newly allocated memory with
zeros.
Returns -1 on failure, 0 on success.
Allocate an array of count
elements, each sizeof(*ptr)
bytes long, and store the address of allocated memory in
ptr
. Fill the newly allocated memory with zeros.
Returns -1 on failure, 0 on success.
Allocate an array of count
elements, each sizeof(*ptr)
bytes long, and store the address of allocated memory in
ptr
. The allocated memory is not initialized.
Returns -1 on failure, 0 on success.
Reallocate the memory pointed to by ptr
to be big enough to hold
at least count
elements, each sizeof(*ptr)
bytes long,
and store the address of allocated memory in ptr
. If
reallocation fails, the ptr
variable is not modified.
Returns -1 on failure, 0 on success.
Free the memory stored in ptr
and set ptr
to
NULL
.
Next: Integer Properties, Previous: Safe Allocation Macros, Up: Particular Modules [Contents][Index]
This module provides a header file verify.h that defines macros related to compile-time verification.
Two of these macros are verify (V)
and verify_expr
(V, EXPR)
. Both accept an integer constant expression
argument V and verify that it is nonzero. If not, a compile-time error
results.
These two macros implement compile-time tests, as opposed to
the standard assert
macro which supports only runtime tests.
Since the tests occur at compile-time, they are more reliable, and
they require no runtime overhead.
verify (V);
is a declaration; it can occur outside of
functions. In contrast, verify_expr (V, EXPR)
is
an expression that returns the value of EXPR; it can be used in
macros that expand to expressions. If EXPR is an integer
constant expression, then verify_expr (V, EXPR)
is
also an integer constant expression. Although EXPR and
verify_expr (V, EXPR)
are guaranteed to have the
same side effects and value and type (after integer promotion), they
need not have the same type if EXPR’s type is an integer that is
narrower than int
or unsigned int
.
V should be an integer constant expression in the sense
of the C standard. Its leaf operands should be integer, enumeration,
or character constants; or sizeof
expressions that return
constants; or floating constants that are the immediate operands of
casts. Outside a sizeof
subexpression, V should
not contain any assignments, function calls, comma operators, casts to
non-integer types, or subexpressions whose values are outside the
representable ranges for their types. If V is not an
integer constant expression, then a compiler might reject a usage like
‘verify (V);’ even when V is
nonzero.
Although the standard assert
macro is a runtime test, C11
specifies a builtin _Static_assert (V,
STRING-LITERAL)
, its assert.h header has a similar macro
named static_assert
, and C++11 has a similar
static_assert
builtin. These builtins and macros differ
from verify
in two major ways. First, they can also be used
within a struct
or union
specifier, in place of an
ordinary member declaration. Second, they require the programmer to
specify a compile-time diagnostic as a string literal.
The verify.h header defines one more macro, assume
(E)
, which expands to an expression of type void
that causes the compiler to assume that E yields a nonzero
value. E should be a scalar expression, and should not
have side effects; it may or may not be evaluated. The behavior is
undefined if E would yield zero. The main use of assume
is optimization, as the compiler may be able to generate better code
if it assumes E. For best results, E should be simple
enough that a compiler can determine that it has no side effects: if
E calls an external function or accesses volatile storage the
compiler may not be able to optimize E away and assume
(E)
may therefore slow down the program.
Here are some example uses of these macros.
#include <verify.h> #include <limits.h> #include <time.h> /* Verify that time_t is an integer type. */ verify ((time_t) 1.5 == 1); /* Verify that time_t is no smaller than int. */ verify (sizeof (int) <= sizeof (time_t)); /* Verify that time_t is signed. */ verify ((time_t) -1 < 0); /* Verify that time_t uses two's complement representation. */ verify (~ (time_t) -1 == 0); /* Return the maximum value of the integer type T, verifying that T is an unsigned integer type. The cast to (T) is outside the call to verify_expr so that the result is of type T even when T is narrower than unsigned int. */ #define MAX_UNSIGNED_VAL(t) \ ((T) verify_expr (0 < (T) -1, -1)) /* Return T divided by CHAR_MAX + 1, where behavior is undefined if T < 0. In the common case where CHAR_MAX is 127 the compiler can therefore implement the division by shifting T right 7 bits, an optimization that would not be valid if T were negative. */ time_t time_index (time_t t) { assume (0 <= t); return t / (CHAR_MAX + 1); }
Next: extern inline, Previous: Compile-time Assertions, Up: Particular Modules [Contents][Index]
The intprops
module consists of an include file <intprops.h>
that defines several macros useful for testing properties of integer
types.
Integer overflow is a common source of problems in programs written in C and other languages. In some cases, such as signed integer arithmetic in C programs, the resulting behavior is undefined, and practical platforms do not always behave as if integers wrap around reliably. In other cases, such as unsigned integer arithmetic in C, the resulting behavior is well-defined, but programs may still misbehave badly after overflow occurs.
Many techniques have been proposed to attack these problems. These include precondition testing, GCC’s -ftrapv option, GCC’s no-undefined-overflow branch, the as-if infinitely ranged (AIR) model implemented in Clang, saturation semantics where overflow reliably yields an extreme value, the RICH static transformer to an overflow-checking variant, and special testing methods. For more information about these techniques, see: Dannenberg R, Dormann W, Keaton D et al., As-if infinitely ranged integer model, 2nd ed., Software Engineering Institute Technical Note CMU/SEI-2010-TN-008, April 2010.
Gnulib supports the precondition testing technique, as this is easy to support portably. There are two families of precondition tests: the first, for integer ranges, has a simple and straightforward implementation, while the second, for integer types, is easier to use.
• Integer Type Determination: | Whether a type has integer properties. | |
• Integer Bounds: | Bounds on integer values and representations. | |
• Integer Range Overflow: | Integer overflow checking if bounds are known. | |
• Integer Type Overflow: | General integer overflow checking. |
Next: Integer Bounds, Up: Integer Properties [Contents][Index]
TYPE_IS_INTEGER (t)
expands to a constant
expression that is 1 if the arithmetic type t is an integer type.
_Bool
counts as an integer type.
TYPE_SIGNED (t)
expands to a constant expression
that is 1 if the arithmetic type t is a signed integer type or a
floating type. If t is an integer type, TYPE_SIGNED (t)
expands to an integer constant expression.
Example usage:
#include <intprops.h> #include <time.h> enum { time_t_is_signed_integer = TYPE_IS_INTEGER (time_t) && TYPE_SIGNED (time_t) };
Next: Integer Range Overflow, Previous: Integer Type Determination, Up: Integer Properties [Contents][Index]
INT_BUFSIZE_BOUND (t)
expands to an integer constant
expression that is a bound on the size of the string representing an
integer type or expression t in decimal notation, including the
terminating null character and any leading -
character. For
example, if INT_STRLEN_BOUND (int)
is 12, any value of type
int
can be represented in 12 bytes or less, including the
terminating null. The bound is not necessarily tight.
Example usage:
#include <intprops.h> #include <stdio.h> int int_strlen (int i) { char buf[INT_BUFSIZE_BOUND (int)]; return sprintf (buf, "%d", i); }
INT_STRLEN_BOUND (t)
expands to an integer constant
expression that is a bound on the length of the string representing an
integer type or expression t in decimal notation, including any
leading -
character. This is one less than
INT_BUFSIZE_BOUND (t)
.
TYPE_MINIMUM (t)
and TYPE_MAXIMUM (t)
expand
to integer constant expressions equal to the minimum and maximum
values of the integer type t. These expressions are of the type
t (or more precisely, the type t after integer
promotions).
Example usage:
#include <stdint.h> #include <sys/types.h> #include <intprops.h> int in_off_t_range (intmax_t a) { return TYPE_MINIMUM (off_t) <= a && a <= TYPE_MAXIMUM (off_t); }
Next: Integer Type Overflow, Previous: Integer Bounds, Up: Integer Properties [Contents][Index]
These macros yield 1 if the corresponding C operators might not yield numerically correct answers due to arithmetic overflow. They do not rely on undefined or implementation-defined behavior. They expand to integer constant expressions if their arguments are. Their implementations are simple and straightforward, but they are typically harder to use than the integer type overflow macros. See Integer Type Overflow.
Although the implementation of these macros is similar to that suggested in Seacord R, The CERT C Secure Coding Standard (2009, revised 2011), in its two sections “INT30-C. Ensure that unsigned integer operations do not wrap” and “INT32-C. Ensure that operations on signed integers do not result in overflow”, Gnulib’s implementation was derived independently of CERT’s suggestions.
Example usage:
#include <intprops.h> void print_product (long int a, long int b) { if (INT_MULTIPLY_RANGE_OVERFLOW (a, b, LONG_MIN, LONG_MAX)) printf ("multiply would overflow"); else printf ("product is %ld", a * b); }
These macros have the following restrictions:
(unsigned int) 0
.
These macros are tuned for constant min and max. For
commutative operations such as a + b
, they are also
tuned for constant b.
INT_ADD_RANGE_OVERFLOW (a, b, min, max)
Yield 1 if a + b
would overflow in
[min,max] integer arithmetic. See above for restrictions.
INT_SUBTRACT_RANGE_OVERFLOW (a, b, min, max)
Yield 1 if a - b
would overflow in
[min,max] integer arithmetic. See above for restrictions.
INT_NEGATE_RANGE_OVERFLOW (a, min, max)
Yield 1 if -a
would overflow in [min,max]
integer arithmetic. See above for restrictions.
INT_MULTIPLY_RANGE_OVERFLOW (a, b, min, max)
Yield 1 if a * b
would overflow in
[min,max] integer arithmetic. See above for restrictions.
INT_DIVIDE_RANGE_OVERFLOW (a, b, min, max)
Yield 1 if a / b
would overflow in
[min,max] integer arithmetic. See above for restrictions.
Division overflow can happen on two’s complement hosts when dividing
the most negative integer by -1. This macro does not check for
division by zero.
INT_REMAINDER_RANGE_OVERFLOW (a, b, min, max)
Yield 1 if a % b
would overflow in
[min,max] integer arithmetic. See above for restrictions.
Remainder overflow can happen on two’s complement hosts when dividing
the most negative integer by -1; although the mathematical
result is always 0, in practice some implementations trap, so this
counts as an overflow. This macro does not check for division by
zero.
INT_LEFT_SHIFT_RANGE_OVERFLOW (a, b, min, max)
Yield 1 if a << b
would overflow in
[min,max] integer arithmetic. See above for restrictions.
Here, min and max are for a only, and b need
not be of the same type as the other arguments. The C standard says
that behavior is undefined for shifts unless 0≤b<w
where w is a’s word width, and that when a is negative
then a << b
has undefined behavior and
a >> b
has implementation-defined behavior, but
this macro does not check these other restrictions.
Previous: Integer Range Overflow, Up: Integer Properties [Contents][Index]
These macros yield 1 if the corresponding C operators might not yield numerically correct answers due to arithmetic overflow of an integer type. They work correctly on all known practical hosts, and do not rely on undefined behavior due to signed arithmetic overflow. They expand to integer constant expressions if their arguments are. They are easier to use than the integer range overflow macros (see Integer Range Overflow).
Example usage:
#include <intprops.h> void print_product (long int a, long int b) { if (INT_MULTIPLY_OVERFLOW (a, b)) printf ("multiply would overflow"); else printf ("product is %ld", a * b); }
These macros have the following restrictions:
These macros are tuned for their last argument being a constant.
INT_ADD_OVERFLOW (a, b)
Yield 1 if a + b
would overflow. See above for
restrictions.
INT_SUBTRACT_OVERFLOW (a, b)
Yield 1 if a - b
would overflow. See above for
restrictions.
INT_NEGATE_OVERFLOW (a)
Yields 1 if -a
would overflow. See above for restrictions.
INT_MULTIPLY_OVERFLOW (a, b)
Yield 1 if a * b
would overflow. See above for
restrictions.
INT_DIVIDE_OVERFLOW (a, b)
Yields 1 if a / b
would overflow. See above for
restrictions. Division overflow can happen on two’s complement hosts
when dividing the most negative integer by -1. This macro does
not check for division by zero.
INT_REMAINDER_OVERFLOW (a, b)
Yield 1 if a % b
would overflow. See above for
restrictions. Remainder overflow can happen on two’s complement hosts
when dividing the most negative integer by -1; although the
mathematical result is always 0, in practice some implementations
trap, so this counts as an overflow. This macro does not check for
division by zero.
INT_LEFT_SHIFT_OVERFLOW (a, b)
Yield 1 if a << b
would overflow. See above for
restrictions. The C standard says that behavior is undefined for
shifts unless 0≤b<w where w is a’s word
width, and that when a is negative then a <<
b
has undefined behavior and a >> b
has
implementation-defined behavior, but this macro does not check these
other restrictions.
Next: String Functions in C Locale, Previous: Integer Properties, Up: Particular Modules [Contents][Index]
The extern-inline
module supports the use of C99-style
extern inline
functions so that the code still runs on pre-C99
compilers.
C code ordinarily should not use inline
. Typically it is
better to let the compiler figure out whether to inline, as compilers
are pretty good about optimization nowadays. In this sense,
inline
is like register
, another keyword that is
typically no longer needed.
Functions defined (not merely declared) in headers are an exception,
as avoiding inline
would commonly cause problems for these
functions. Suppose aaa.h defines the function aaa_fun
,
and aaa.c, bbb.c and ccc.c all include
aaa.h. If code is intended to portable to pre-C99 compilers,
aaa_fun
cannot be declared with the C99 inline
keyword.
This problem cannot be worked around by making aaa_fun
an
ordinary function, as it would be defined three times with external
linkage and the definitions would clash. Although aaa_fun
could be a static function, with separate compilation if
aaa_fun
is not inlined its code will appear in the executable
three times.
To avoid this code bloat, aaa.h can do this:
/* aaa.h */ /* #include any other headers here */ #ifndef _GL_INLINE_HEADER_BEGIN #error "Please include config.h first." #endif _GL_INLINE_HEADER_BEGIN #ifndef AAA_INLINE # define AAA_INLINE _GL_INLINE #endif ... AAA_INLINE int aaa_fun (int i) { return i + 1; } ... _GL_INLINE_HEADER_END
and aaa.c can do this:
/* aaa.c */ #include <config.h> #define AAA_INLINE _GL_EXTERN_INLINE #include <aaa.h>
whereas bbb.c and ccc.c can include aaa.h in the
usual way. C99 compilers expand AAA_INLINE
to C99-style
inline
usage, where aaa_fun
is declared extern
inline
in aaa.c and plain inline
in other modules.
Pre-C99 compilers that are compatible with GCC use GCC-specific syntax
to accomplish the same ends. Other pre-C99 compilers use static
inline
so they suffer from code bloat, but they are not mainline
platforms and will die out eventually.
_GL_INLINE
is a portable alternative to C99 plain inline
.
_GL_EXTERN_INLINE
is a portable alternative to C99 extern inline
.
Invoke _GL_INLINE_HEADER_BEGIN
before all uses of
_GL_INLINE
in an include file. If an include file includes
other files, it is better to invoke this macro after including the
other files.
Invoke _GL_INLINE_HEADER_END
after all uses of
_GL_INLINE
in an include file.
Next: Quoting, Previous: extern inline, Up: Particular Modules [Contents][Index]
The functions in this section are similar to the generic string functions from the standard C library, except that
• c-ctype: | ||
• c-strcase: | ||
• c-strcaseeq: | ||
• c-strcasestr: | ||
• c-strstr: | ||
• c-strtod: | ||
• c-strtold: |
Next: c-strcase, Up: String Functions in C Locale [Contents][Index]
The c-ctype
module contains functions operating on single-byte
characters, like the functions in <ctype.h>
, that operate as if the
locale encoding was ASCII. (The "C" locale on many systems has the locale
encoding "ASCII".)
The functions are:
extern bool c_isascii (int c); extern bool c_isalnum (int c); extern bool c_isalpha (int c); extern bool c_isblank (int c); extern bool c_iscntrl (int c); extern bool c_isdigit (int c); extern bool c_islower (int c); extern bool c_isgraph (int c); extern bool c_isprint (int c); extern bool c_ispunct (int c); extern bool c_isspace (int c); extern bool c_isupper (int c); extern bool c_isxdigit (int c); extern int c_tolower (int c); extern int c_toupper (int c);
These functions assign properties only to ASCII characters.
The c argument can be a char
or unsigned char
value,
whereas the corresponding functions in <ctype.h>
take an argument
that is actually an unsigned char
value.
The c_is*
functions return ‘bool’, where the corresponding
functions in <ctype.h>
return ‘int’ for historical reasons.
Note: The <ctype.h>
functions support only unibyte locales.
Next: c-strcaseeq, Previous: c-ctype, Up: String Functions in C Locale [Contents][Index]
The c-strcase
module contains case-insensitive string comparison
functions operating on single-byte character strings, like the functions in
<strings.h>
, that operate as if the locale encoding was ASCII.
(The "C" locale on many systems has the locale encoding "ASCII".)
The functions are:
extern int c_strcasecmp (const char *s1, const char *s2); extern int c_strncasecmp (const char *s1, const char *s2, size_t n);
For case conversion here, only ASCII characters are considered to be upper case or lower case.
Note: The functions strcasecmp
, strncasecmp
from
<strings.h>
support only unibyte locales; for multibyte locales,
you need the functions mbscasecmp
, mbsncasecmp
,
mbspcasecmp
.
Next: c-strcasestr, Previous: c-strcase, Up: String Functions in C Locale [Contents][Index]
The c-strcaseeq
module contains an optimized case-insensitive
string comparison function operating on single-byte character strings, that
operate as if the locale encoding was ASCII.
(The "C" locale on many systems has the locale encoding "ASCII".)
The functions is actually implemented as a macro:
extern int STRCASEEQ (const char *s1, const char *s2, int s20, int s21, int s22, int s23, int s24, int s25, int s26, int s27, int s28);
s2 should be a short literal ASCII string, and s20, s21, ... the individual characters of s2.
For case conversion here, only ASCII characters are considered to be upper case or lower case.
Next: c-strstr, Previous: c-strcaseeq, Up: String Functions in C Locale [Contents][Index]
The c-strcasestr
module contains a case-insensitive string search
function operating on single-byte character strings, that operate as if the
locale encoding was ASCII.
(The "C" locale on many systems has the locale encoding "ASCII".)
The function is:
extern char *c_strcasestr (const char *haystack, const char *needle);
For case conversion here, only ASCII characters are considered to be upper case or lower case.
Note: The function strcasestr
from <string.h>
supports only
unibyte locales; for multibyte locales, you need the function
mbscasestr
.
Next: c-strtod, Previous: c-strcasestr, Up: String Functions in C Locale [Contents][Index]
The c-strstr
module contains a substring search function operating
on single-byte character strings, that operate as if the locale encoding
was ASCII.
(The "C" locale on many systems has the locale encoding "ASCII".)
The function is:
extern char *c_strstr (const char *haystack, const char *needle);
Note: The function strstr
from <string.h>
supports only
unibyte locales; for multibyte locales, you need the function
mbsstr
.
Next: c-strtold, Previous: c-strstr, Up: String Functions in C Locale [Contents][Index]
The c-strtod
module contains a string to number (‘double’)
conversion function operating on single-byte character strings, that operates
as if the locale encoding was ASCII.
(The "C" locale on many systems has the locale encoding "ASCII".)
The function is:
extern double c_strtod (const char *string, char **endp);
In particular, only a period ‘.’ is accepted as decimal point, even when the current locale’s notion of decimal point is a comma ‘,’, and no characters outside the basic character set are accepted.
On platforms without strtod_l
, this function is not safe for use in
multi-threaded applications since it calls setlocale
.
Previous: c-strtod, Up: String Functions in C Locale [Contents][Index]
The c-strtold
module contains a string to number (‘long double’)
conversion function operating on single-byte character strings, that operates
as if the locale encoding was ASCII.
(The "C" locale on many systems has the locale encoding "ASCII".)
The function is:
extern long double c_strtold (const char *string, char **endp);
In particular, only a period ‘.’ is accepted as decimal point, even when the current locale’s notion of decimal point is a comma ‘,’.
Next: error and progname, Previous: String Functions in C Locale, Up: Particular Modules [Contents][Index]
Gnulib provides ‘quote’ and ‘quotearg’ modules to help with quoting text, such as file names, in messages to the user. Here’s an example of using ‘quote’:
#include <quote.h> ... error (0, errno, _("cannot change owner of %s"), quote (fname));
This differs from
error (0, errno, _("cannot change owner of '%s'"), fname);
in that quote
escapes unusual characters in
fname
, e.g., ‘'’ and control characters like ‘\n’.
However, a caveat: quote
reuses the storage that it returns.
Hence if you need more than one thing quoted at the same time, you
need to use quote_n
.
Also, the quote module is not suited for multithreaded applications.
In that case, you have to use quotearg_alloc
, defined in the
‘quotearg’ module, which is decidedly less convenient.
Next: gcd, Previous: Quoting, Up: Particular Modules [Contents][Index]
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.
Next: Searching for Libraries, Previous: error and progname, Up: Particular Modules [Contents][Index]
The gcd
function returns the greatest common divisor of two numbers
a > 0
and b > 0
. It is the caller’s responsibility to ensure
that the arguments are non-zero.
If you need a gcd function for an integer type larger than ‘unsigned long’, you can include the gcd.c implementation file with parametrization. The parameters are:
The created function has the prototype
WORD_T GCD (WORD_T a, WORD_T b);
If you need the least common multiple of two numbers, it can be computed
like this: lcm(a,b) = (a / gcd(a,b)) * b
or
lcm(a,b) = a * (b / gcd(a,b))
.
Avoid the formula lcm(a,b) = (a * b) / gcd(a,b)
because—although
mathematically correct—it can yield a wrong result, due to integer overflow.
In some applications it is useful to have a function taking the gcd of two signed numbers. In this case, the gcd function result is usually normalized to be non-negative (so that two gcd results can be compared in magnitude or compared against 1, etc.). Note that in this case the prototype of the function has to be
unsigned long gcd (long a, long b);
and not
long gcd (long a, long b);
because gcd(LONG_MIN,LONG_MIN) = -LONG_MIN = LONG_MAX + 1
does not
fit into a signed ‘long’.
Next: Exported Symbols of Shared Libraries, Previous: gcd, Up: Particular Modules [Contents][Index]
The following macros check for the presence or location of certain C, C++, or Fortran library archive files.
The macros AC_CHECK_LIB
, AC_SEARCH_LIBS
from GNU Autoconf check
for the presence of certain C, C++, or Fortran library archive files.
The libraries are looked up in the default linker path—a system dependent
list of directories, that usually contains the /usr/lib directory—and
those directories given by -L
options in the LDFLAGS
variable.
The following macros, defined in the Gnulib module havelib
, search for
the location of certain C, C++, or Fortran library archive files and make the
found location available to the compilation process and to further Autoconf
tests.
AC_LIB_LINKFLAGS(name, [dependencies])
Searches for lib<name>
and the libraries corresponding to
explicit and implicit dependencies. Sets and AC_SUBSTs the
LIB<NAME>
and LTLIB<NAME>
variables (with
<NAME>
in upper case) and augments the CPPFLAGS
variable
by -I
options.
This macro should be used when lib<name>
is expected to be found.
AC_LIB_HAVE_LINKFLAGS(name, [dependencies], [includes], [testcode], [missing-message])
Searches for lib<name>
and the libraries corresponding to
explicit and implicit dependencies, together with the specified include files
and the ability to compile and link the specified testcode. The
missing-message defaults to no
and may contain additional hints
for the user. If found, it sets and AC_SUBSTs HAVE_LIB<NAME>=yes
and the LIB<NAME>
and LTLIB<NAME>
variables (with
<NAME>
in upper case) and augments the CPPFLAGS
variable
by -I
options, and #defines HAVE_LIB<NAME>
to 1.
Otherwise, it sets and AC_SUBSTs HAVE_LIB<NAME>=no
and
LIB<NAME>
and LTLIB<NAME>
to empty.
These macros assume that when a library is installed in
some_directory/lib
, its include files are installed in
some_directory/include
.
The complexities that AC_LIB_LINKFLAGS
and AC_LIB_HAVE_LINKFLAGS
deal with are the following:
CPPFLAGS
for
the include file search path, LDFLAGS
for the library search path).
The macro provides a ‘--with-lib<name>’ option. The user of the
‘configure’ script can use this option to indicate the location of the
library and its include files. If not provided, the --prefix
directory
is searched as well.
LD_LIBRARY_PATH
, the macro adds the appropriate run time search path
options to the LIB<NAME>
variable. This works on most systems.
It can also be inhibited: The user of ‘configure’ can use the
--disable-rpath
option to force an installation that doesn’t contain
hardcoded library search paths but instead may require the use of an
environment variable like LD_LIBRARY_PATH
.
The macros also set a variable LTLIB<NAME>
, that should be used
when linking with libtool. Both LTLIB<NAME>
and
LIB<NAME>
contain essentially the same option, but where
LIB<NAME>
contains platform dependent flags like
‘-Wl,-rpath’, LTLIB<NAME>
contains platform independent
flags like ‘-R’.
AC_LIB_LINKFLAGS
Suppose you want to use libz
, the compression library.
AC_CONFIG_AUX_DIR([build-aux]) AC_LIB_LINKFLAGS([z])
Note that since the AC_LIB_LINKFLAGS
invocation modifies the CPPFLAGS,
it should precede all tests that check for header files, declarations,
structures or types.
havelib
module.
(gnulib-tool
will usually do this for you automatically.)
Makefile.in
you add @LIBZ@
to the link command line of
your program. Or, if you are using Automake, you add $(LIBZ)
to the
LDADD
variable that corresponds to your program.
The dependencies list is a space separated list of library names that
libname
is known to depend upon. Example: If libfooy
depends on libfoox
, and libfooz
depends on libfoox
and
libfooy
, you can write:
AC_LIB_LINKFLAGS([foox]) AC_LIB_LINKFLAGS([fooy], [foox]) AC_LIB_LINKFLAGS([fooz], [foox fooy])
Explicit dependencies are necessary if you cannot assume that a .la
file, created by libtool, is installed. If you can assume that
libfooy.la
is installed by libtool (and has not been omitted by the
package distributor!), you can omit the explicit dependency and just write
AC_LIB_LINKFLAGS([fooy])
This way, you don’t need to know in advance which libraries the needed library depends upon.
The macros find the libraries regardless whether they are installed as shared or static libraries.
CPPFLAGS
vs. LDFLAGS
The macros determine the directories that should be added to the compiler
preprocessor’s search path and to the linker’s search path. For the
compiler preprocessor, -I
options with the necessary directories are
added to the CPPFLAGS
variable, for use by the whole package. For
the linker, appropriate options are added to the LIB<NAME>
and
LTLIB<NAME>
variables, for use during linking by those programs
and libraries that need the dependency on lib<name>
. You need
to use the value of LIB<NAME>
or LTLIB<NAME>
in the
Makefiles. LTLIB<NAME>
is for use with libtool, whereas
LIB<NAME>
is for when libtool is not involved in linking.
The macros do not check whether the include files and the library found match. If you want to verify this at configure time, one technique is to have a version number in the include files and a version number in the library, like this:
#define LIBNAME_VERSION 10203 extern int libname_version; /* initialized to LIBNAME_VERSION */
and use a test like
AC_TRY_RUN([int main () { return libname_version != LIBNAME_VERSION; }])
A bi-arch system is one where
On several types of such systems, for historical reasons, the 32-bit libraries are installed in prefix/lib, whereas the 64-bit libraries are installed in
On such systems, in 64-bit mode, configure
will search for the
libraries in prefix/lib64 or prefix/lib/64,
respectively, not in prefix/lib. A user can adhere to these
system-wide conventions by using the ‘--libdir’ option when installing
packages. When a user has already installed packages in 64-bit mode using
the GNU default ‘--libdir=prefix/lib’, he can make this directory
adhere to the system-wide convention by placing a symbolic link:
ln -s lib prefix/lib64
ln -s . prefix/lib/64
Next: LD Version Scripts, Previous: Searching for Libraries, Up: Particular Modules [Contents][Index]
The lib-symbol-visibility
module allows precise control of the
symbols exported by a shared library. This is useful because
LD_PRELOAD
.) Whereas a call to a function for which the compiler
can assume that it is in the same shared library is just a direct “call”
instructions. Similarly for variables: A reference to a global variable
fetches a pointer in the so-called GOT (global offset table); this is a
pointer to the variable’s memory. So the code to access it is two memory
load instructions. Whereas for a variable which is known to reside in the
same shared library, it is just a direct memory access: one memory load
instruction.
There are traditionally three ways to specify the exported symbols of a shared library.
The upside of this approach is flexibility: it allows the same code to be used in different libraries with different export lists. The downsides are: 1. it’s a lot of maintenance overhead when the symbol list is platform dependent, 2. it doesn’t work well with C++, due to name mangling.
The drawbacks of this approach are: Symbols are still exported from the library by default. It’s a lot of maintenance work to mark every non- exported variable and function. But usually the exported API is quite small, compared to the internal API of the library. And it’s the wrong paradigm: It doesn’t force thinking when introducing new exported API.
This is perfect: It burdens the maintainer only for exported API, not for library-internal API. And it keeps the annotations in the source code.
GNU libtool’s -export-symbols option implements the first approach.
This gnulib module implements the third approach. For this it relies on GNU GCC 4.0 or newer, namely on its ‘-fvisibility=hidden’ command-line option and the “visibility” attribute. (The “visibility” attribute was already supported in GCC 3.4, but without the command line option, introduced in GCC 4.0, the third approach could not be used.)
More explanations on this subject can be found in http://gcc.gnu.org/wiki/Visibility, which contains more details on the GCC features and additional advice for C++ libraries, and in Ulrich Drepper’s paper http://people.redhat.com/drepper/dsohowto.pdf, which also explains other tricks for reducing the startup time impact of shared libraries.
The gnulib autoconf macro gl_VISIBILITY
tests for GCC 4.0 or newer.
It defines a Makefile variable @CFLAG_VISIBILITY@
containing
‘-fvisibility=hidden’ or nothing. It also defines as a C macro and
as a substituted variable: @HAVE_VISIBILITY@. Its value is 1 when symbol
visibility control is supported, and 0 otherwise.
To use this module in a library, say libfoo, you will do these steps:
@CFLAG_VISIBILITY@
or (in a Makefile.am)
$(CFLAG_VISIBILITY)
to the CFLAGS for the compilation of the sources
that make up the library.
#if BUILDING_LIBFOO && HAVE_VISIBILITY #define LIBFOO_DLL_EXPORTED __attribute__((__visibility__("default"))) #else #define LIBFOO_DLL_EXPORTED #endif
This macro should be enabled in all public header files of your library.
Note that the precise control of the exported symbols will not work with other compilers than GCC >= 4.0, and will not work on systems where the assembler or linker lack the support of “hidden” visibility. Therefore, it’s good if, in order to reduce the risk of collisions with symbols in other libraries, you continue to use a prefix specific to your library for all non-static variables and functions and for all C++ classes in your library.
Note about other compilers: MSVC support can be added easily, by extending the definition of the macro mentioned above, to something like this:
#if BUILDING_LIBFOO && HAVE_VISIBILITY #define LIBFOO_DLL_EXPORTED __attribute__((__visibility__("default"))) #elif BUILDING_LIBFOO && defined _MSC_VER #define LIBFOO_DLL_EXPORTED __declspec(dllexport) #elif defined _MSC_VER #define LIBFOO_DLL_EXPORTED __declspec(dllimport) #else #define LIBFOO_DLL_EXPORTED #endif
Next: Visual Studio Compatibility, Previous: Exported Symbols of Shared Libraries, Up: Particular Modules [Contents][Index]
The lib-symbol-versions
module can be used to add shared
library versioning support. Currently, only GNU LD and the Solaris
linker supports this.
Version scripts provides information that can be used by GNU/Linux
distribution packaging tools. For example, Debian has a tool
dpkg-shlibdeps
that can determine the minimal required version
of each dependency (by looking at the symbol list) and stuff the
information into the Debian specific packaging files.
For more information and other uses of version scripts, see Ulrich Drepper’s paper http://people.redhat.com/drepper/dsohowto.pdf
You use the module by importing it to your library, and then add the
following lines to the Makefile.am
that builds the library:
if HAVE_LD_VERSION_SCRIPT libfoo_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libfoo.map endif
The version script file format is documented in the GNU LD manual, but a small example would be:
LIBFOO_1.0 { global: libfoo_init; libfoo_doit; libfoo_done; local: *; };
If you target platforms that do not support linker scripts (i.e., all
platforms that doesn’t use GNU LD) you may want to consider a more
portable but less powerful alternative: libtool
-export-symbols
. It will hide internal symbols from your
library, but will not add ELF versioning symbols. Your usage would
then be something like:
if HAVE_LD_VERSION_SCRIPT libfoo_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libfoo.map else libfoo_la_LDFLAGS += -export-symbols $(srcdir)/libfoo.sym endif
See the Libtool manual for the file syntax, but a small example would be:
libfoo_init libfoo_doit libfoo_done
To avoid the need for a *.sym
file if your symbols are easily
expressed using a regular expression, you may use
-export-symbols-regex
:
if HAVE_LD_VERSION_SCRIPT libfoo_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libfoo.map else libfoo_la_LDFLAGS += -export-symbols-regex '^libfoo_.*' endif
For more discussions about symbol visibility, rather than shared
library versioning, see the visibility
module
(see Exported Symbols of Shared Libraries).
Next: Supporting Relocation, Previous: LD Version Scripts, Up: Particular Modules [Contents][Index]
The lib-msvc-compat
module detects whether the linker supports
--output-def
when building a library. That parameter is used
to generate a DEF file for a shared library (DLL). DEF files are
useful for developers that use Visual Studio to develop programs that
links to your library. See the GNU LD manual for more information.
There are other ways to create a DEF file, but we believe they are all
sub-optimal to using --output-def
during the build process.
The variants we have considered include:
$ { echo EXPORTS; \ dumpbin /EXPORTS libfoo-0.dll | tail -n+20 | awk '{ print $4 }'; \ } > libfoo-0.def $ lib /def:libfoo-0.def
If you are using libtool to build your shared library, here is how to
use this module. Import lib-msvc-compat
to your project, and
then add the following lines to the Makefile.am
that builds the
library:
if HAVE_LD_OUTPUT_DEF libfoo_la_LDFLAGS += -Wl,--output-def,libfoo-$(DLL_VERSION).def defexecdir = $(bindir) defexec_DATA = libfoo-$(DLL_VERSION).def DISTCLEANFILES += $(defexec_DATA) endif
The DLL_VERSION
variable needs to be defined. It should be the
shared library version number used in the DLL filename. For Windows
targets you compute this value from the values you pass to Libtool’s
-version-info
. Assuming you have variables LT_CURRENT
and LT_AGE
defined for the CURRENT
and AGE
libtool version integers, you compute DLL_VERSION
as follows:
DLL_VERSION=`expr ${LT_CURRENT} - ${LT_AGE}` AC_SUBST(DLL_VERSION)
Next: func, Previous: Visual Studio Compatibility, Up: Particular Modules [Contents][Index]
It has been a pain for many users of GNU packages for a long time that
packages are not relocatable. It means a user cannot copy a program,
installed by another user on the same machine, to his home directory,
and have it work correctly (including i18n). So many users need to go
through configure; make; make install
with all its
dependencies, options, and hurdles.
Red Hat, Debian, and other binary distributions solve the “ease of installation” problem, but they hardwire path names, usually to /usr or /usr/local. This means that users need root privileges to install a binary package, and prevents installing two different versions of the same binary package.
A relocatable program can be moved or copied to a different location on the file system. It is possible to make symlinks to the installed and moved programs, and invoke them through the symlink. It is possible to do the same thing with a hard link only if the hard link file is in the same directory as the real program.
The relocatable-prog
module aims to ease the process of making a
GNU program relocatable. It helps overcome two obstacles. First, it aids
with relocating the hard-coded references to absolute file names that
GNU programs often contain. These references must be fixed up at
runtime if a program is to be successfully relocated. The
relocatable-prog
module provides a function relocate
that
does this job.
Second, the loader must be able to find shared libraries linked to
relocatable executables or referenced by other shared libraries linked
to relocatable executables. The relocatable-prog
module helps out
here in a platform-specific way:
LD_LIBRARY_PATH
) and then invokes the real executable.
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.
set_program_name
function can also configure some
additional libraries to relocate files that they access, by defining
corresponding C preprocessor symbols to 1. The libraries for which
this is supported and the corresponding preprocessor symbols are:
DEPENDS_ON_LIBCHARSET
DEPENDS_ON_LIBICONV
DEPENDS_ON_LIBINTL
Defining the symbol for a library makes every program in the package depend on that library, whether the program really uses the library or not, so this feature should be used with some caution.
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 () { echo "$1/" \ | sed -e "s%^${orig_installprefix}/%${curr_installprefix}/%" \ | sed -e 's,/$,,' } else relocate () { echo "$1" } fi # Get some relocated directory names. sysconfdir=`relocate "@sysconfdir@"` some_datadir=`relocate "@datadir@/something"`
You must adapt the definition of orig_installdir
, depending on
where the script gets installed. Also, at the end, instead of
sysconfdir
and some_datadir
, transform those variables
that you need.
foo
that gets
installed in, say, $(bindir), you add:
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'
Next: configmake, Previous: Supporting Relocation, Up: Particular Modules [Contents][Index]
The func
module makes sure that you can use the predefined
identifier __func__
as defined by C99 in your code.
A small example is:
#include <config.h> #include <stdio.h> /* for printf */ int main (void) { printf ("%s: hello world\n", __func__); }
Note that sizeof
cannot be applied to __func__
: On SunPRO C
compiler, sizeof __func__
evaluates to 0.
Next: warnings, Previous: func, Up: Particular Modules [Contents][Index]
The configmake
module builds a C include file named
configmake.h containing the usual installation directory
values; for example, those specified by --prefix
or
--libdir
to configure. Each variable is given a #define
with an all-uppercase macro name, such as PREFIX
and
LIBDIR
. (Automake cannot create this file directly because the
user might override directory values at make
time.)
Specifically, the module retrieves values of the variables through
configure
followed by make
, not directly through
configure
, so that a user who sets some of these variables
consistently on the make
command line gets correct results.
One advantage of this approach, compared to the classical approach of
adding -DLIBDIR=\"$(libdir)\"
etc. to AM_CPPFLAGS
, is
that it protects against the use of undefined variables. That is, if,
say, $(libdir)
is not set in the Makefile, LIBDIR
is not
defined by this module, and code using LIBDIR
gives a
compilation error.
Another advantage is that make
output is shorter.
For the complete list of variables which are #define
d this way,
see the file gnulib/modules/configmake, or inspect your
resulting gnulib Makefile.
Next: manywarnings, Previous: configmake, Up: Particular Modules [Contents][Index]
The warnings
module allows to regularly build a package with more
GCC warnings than the default warnings emitted by GCC.
It provides the following functionality:
CFLAGS
variable at configuration time.
CFLAGS
does not work in general, because it may
break autoconfiguration.)
configure
with an option such as
--enable-gcc-warnings.
To use this module, you need the following:
gl_WARN_ADD([-Wall], [WARN_CFLAGS]) gl_WARN_ADD([-Wpointer-arith], [WARN_CFLAGS])
WARN_CFLAGS
, use it in the
definition of AM_CFLAGS
, like this:
AM_CFLAGS = $(WARN_CFLAGS)
Note that the AM_CFLAGS
is used in combination with CFLAGS
and before CFLAGS
in build rules emitted by Automake. This allows
the user to provide CFLAGS
that override the WARN_CFLAGS
.
‘gl_WARN_ADD([-Werror])’ is intended for developers, and should be avoided in contexts where it would affect ordinary installation builds. The warnings emitted by GCC depend, to some extent, on the contents of the system header files, on the size and signedness of built-in types, etc. Use of ‘-Werror’ would cause frustration to all users on platforms that the maintainer has not tested before the release. It is better if ‘-Werror’ is off by default, and is enabled only by developers. For example, ‘-Werror’ could affect ‘make distcheck’ or ‘configure --enable-gcc-warnings’ as mentioned above.
Next: Running self-tests under valgrind, Previous: warnings, Up: Particular Modules [Contents][Index]
The manywarnings
module allows you to enable as many GCC warnings as
possible for your package. The purpose is to protect against introducing new
code that triggers warnings that weren’t already triggered by the existing code
base.
An example use of the module is as follows:
gl_MANYWARN_ALL_GCC([warnings]) # Set up the list of the pointless, undesired warnings. nw= nw="$nw -Wsystem-headers" # Don't let system headers trigger warnings nw="$nw -Wundef" # All compiler preprocessors support #if UNDEF nw="$nw -Wtraditional" # All compilers nowadays support ANSI C nw="$nw -Wconversion" # These warnings usually don't point to mistakes. nw="$nw -Wsign-conversion" # Likewise. # Enable all GCC warnings not in this list. gl_MANYWARN_COMPLEMENT([warnings], [$warnings], [$nw]) for w in $warnings; do gl_WARN_ADD([$w]) done
This module is meant to be used by developers who are not very experienced
regarding the various GCC warning options. In the beginning you will set the
list of undesired warnings (‘nw’ in the example above) to empty, and
compile the package with all possible warnings enabled. The GCC option
-fdiagnostics-show-option
, available in GCC 4.1 or newer, helps
understanding which warnings originated from which option. Then you will
go through the list of warnings. You will likely deactivate warnings that
occur often and don’t point to mistakes in the code, by adding them to the
‘nw’ variable, then reconfiguring and recompiling. When warnings point
to real mistakes and bugs in the code, you will of course not disable
them.
There are also many GCC warning options which usually don’t point to mistakes in the code; these warnings enforce a certain programming style. It is a project management decision whether you want your code to follow any of these styles. Note that some of these programming styles are conflicting. You cannot have them all; you have to choose among them.
When a new version of GCC is released, you can add the new warning options
that it introduces into the gl_MANYWARN_ALL_GCC
macro (and submit your
modification to the Gnulib maintainers :-)), and enjoy the benefits of the
new warnings, while adding the undesired ones to the ‘nw’ variable.
Next: stat-size, Previous: manywarnings, Up: Particular Modules [Contents][Index]
For projects written in C or similar languages, running the self-tests
under Valgrind can reveal hard to find memory issues. The
valgrind-tests
module searches for Valgrind and declares the
VALGRIND
automake variable for use with automake’s
TESTS_ENVIRONMENT
.
After importing the valgrind-tests
module to your project, you
use it by adding the following to the Makefile.am
that runs the
self-tests:
TESTS_ENVIRONMENT = $(VALGRIND)
This will run all self-checks under valgrind. This can be wasteful if you have many shell scripts or other non-binaries. Using the Automake parallel-tests feature, this can be avoided by using the following instead:
AUTOMAKE_OPTIONS = parallel-tests TEST_EXTENSIONS = .pl .sh LOG_COMPILER = $(VALGRIND)
Then valgrind will only be used for the non-.sh and non-.pl tests. However, this means that binaries invoked through scripts will not be invoked under valgrind, which could be solved by adding the following:
TESTS_ENVIRONMENT = VALGRIND='$(VALGRIND)'
And then modify the shell scripts to invoke the binary prefixed with
$VALGRIND
.
Previous: Running self-tests under valgrind, Up: Particular Modules [Contents][Index]
The stat-size
module provides a small number of macros
intended for interpreting the file size information in an instance of
struct stat
.
On POSIX systems, the st_blocks
member of struct stat
contains the number of disk blocks occupied by a file. The
ST_NBLOCKS
macro is used to estimate this quantity on systems
which don’t actually have st_blocks
. Each of these blocks
contains ST_NBLOCKSIZE
bytes.
The value of ST_NBLOCKSIZE
is often quite small, small enough
that performing I/O in chunks that size would be inefficient.
ST_BLKSIZE
is the I/O block size recommended for I/O to this
file. This is not guaranteed to give optimum performance, but it
should be reasonably efficient.
Next: GNU Free Documentation License, Previous: Particular Modules, Up: Top [Contents][Index]
• Overview: | ||
• Regular Expression Syntax: | ||
• Common Operators: | ||
• GNU Operators: | ||
• GNU Emacs Operators: | ||
• What Gets Matched?: | ||
• Programming with Regex: | ||
• Regular expression syntaxes: |
Next: Regular Expression Syntax, Up: Regular expressions [Contents][Index]
A regular expression (or regexp, or pattern) is a text string that describes some (mathematical) set of strings. A regexp r matches a string s if s is in the set of strings described by r.
Using the Regex library, you can:
Some regular expressions match only one string, i.e., the set they describe has only one member. For example, the regular expression ‘foo’ matches the string ‘foo’ and no others. Other regular expressions match more than one string, i.e., the set they describe has more than one member. For example, the regular expression ‘f*’ matches the set of strings made up of any number (including zero) of ‘f’s. As you can see, some characters in regular expressions match themselves (such as ‘f’) and some don’t (such as ‘*’); the ones that don’t match themselves instead let you specify patterns that describe many different strings.
To either match or search for a regular expression with the Regex library functions, you must first compile it with a Regex pattern compiling function. A compiled pattern is a regular expression converted to the internal format used by the library functions. Once you’ve compiled a pattern, you can use it for matching or searching any number of times.
The Regex library is used by including regex.h. Regex provides three groups of functions with which you can operate on regular expressions. One group—the GNU group—is more powerful but not completely compatible with the other two, namely the POSIX and Berkeley Unix groups; its interface was designed specifically for GNU.
We wrote this chapter with programmers in mind, not users of programs—such as Emacs—that use Regex. We describe the Regex library in its entirety, not how to write regular expressions that a particular program understands.
Next: Common Operators, Previous: Overview, Up: Regular expressions [Contents][Index]
Characters are things you can type. Operators are things in a regular expression that match one or more characters. You compose regular expressions from operators, which in turn you specify using one or more characters.
Most characters represent what we call the match-self operator, i.e., they match themselves; we call these characters ordinary. Other characters represent either all or parts of fancier operators; e.g., ‘.’ represents what we call the match-any-character operator (which, no surprise, matches (almost) any character); we call these characters special. Two different things determine what characters represent what operators:
In the following sections, we describe these things in more detail.
• Syntax Bits: | ||
• Predefined Syntaxes: | ||
• Collating Elements vs. Characters: | ||
• The Backslash Character: |
Next: Predefined Syntaxes, Up: Regular Expression Syntax [Contents][Index]
In any particular syntax for regular expressions, some characters are
always special, others are sometimes special, and others are never
special. The particular syntax that Regex recognizes for a given
regular expression depends on the current syntax (as set by
re_set_syntax
) when the pattern buffer of that regular expression
was compiled.
You get a pattern buffer by compiling a regular expression. See GNU Pattern Buffers, for more information on pattern buffers. See GNU Regular Expression Compiling, and BSD Regular Expression Compiling, for more information on compiling.
Regex considers the current syntax to be a collection of bits; we refer to these bits as syntax bits. In most cases, they affect what characters represent what operators. We describe the meanings of the operators to which we refer in Common Operators, GNU Operators, and GNU Emacs Operators.
For reference, here is the complete list of syntax bits, in alphabetical order:
RE_BACKSLASH_ESCAPE_IN_LISTS
If this bit is set, then ‘\’ inside a list (see List Operators quotes (makes ordinary, if it’s special) the following character; if this bit isn’t set, then ‘\’ is an ordinary character inside lists. (See The Backslash Character, for what ‘\’ does outside of lists.)
RE_BK_PLUS_QM
If this bit is set, then ‘\+’ represents the match-one-or-more
operator and ‘\?’ represents the match-zero-or-more operator; if
this bit isn’t set, then ‘+’ represents the match-one-or-more
operator and ‘?’ represents the match-zero-or-one operator. This
bit is irrelevant if RE_LIMITED_OPS
is set.
RE_CHAR_CLASSES
If this bit is set, then you can use character classes in lists; if this bit isn’t set, then you can’t.
RE_CONTEXT_INDEP_ANCHORS
If this bit is set, then ‘^’ and ‘$’ are special anywhere outside a list; if this bit isn’t set, then these characters are special only in certain contexts. See Match-beginning-of-line Operator, and Match-end-of-line Operator.
RE_CONTEXT_INDEP_OPS
If this bit is set, then certain characters are special anywhere outside
a list; if this bit isn’t set, then those characters are special only in
some contexts and are ordinary elsewhere. Specifically, if this bit
isn’t set then ‘*’, and (if the syntax bit RE_LIMITED_OPS
isn’t set) ‘+’ and ‘?’ (or ‘\+’ and ‘\?’, depending
on the syntax bit RE_BK_PLUS_QM
) represent repetition operators
only if they’re not first in a regular expression or just after an
open-group or alternation operator. The same holds for ‘{’ (or
‘\{’, depending on the syntax bit RE_NO_BK_BRACES
) if
it is the beginning of a valid interval and the syntax bit
RE_INTERVALS
is set.
RE_CONTEXT_INVALID_DUP
If this bit is set, then an open-interval operator cannot occur at the start of a regular expression, or immediately after an alternation, open-group or close-interval operator.
RE_CONTEXT_INVALID_OPS
If this bit is set, then repetition and alternation operators can’t be in certain positions within a regular expression. Specifically, the regular expression is invalid if it has:
If this bit isn’t set, then you can put the characters representing the repetition and alternation characters anywhere in a regular expression. Whether or not they will in fact be operators in certain positions depends on other syntax bits.
RE_DEBUG
If this bit is set, and the regex library was compiled with
-DDEBUG
, then internal debugging is turned on; if unset, then
it is turned off.
RE_DOT_NEWLINE
If this bit is set, then the match-any-character operator matches a newline; if this bit isn’t set, then it doesn’t.
RE_DOT_NOT_NULL
If this bit is set, then the match-any-character operator doesn’t match a null character; if this bit isn’t set, then it does.
RE_HAT_LISTS_NOT_NEWLINE
If this bit is set, nonmatching lists ‘[^...]’ do not match newline; if not set, they do.
RE_ICASE
If this bit is set, then ignore case when matching; otherwise, case is significant.
RE_INTERVALS
If this bit is set, then Regex recognizes interval operators; if this bit isn’t set, then it doesn’t.
RE_INVALID_INTERVAL_ORD
If this bit is set, a syntactically invalid interval is treated as a string of ordinary characters. For example, the extended regular expression ‘a{1’ is treated as ‘a\{1’.
RE_LIMITED_OPS
If this bit is set, then Regex doesn’t recognize the match-one-or-more, match-zero-or-one or alternation operators; if this bit isn’t set, then it does.
RE_NEWLINE_ALT
If this bit is set, then newline represents the alternation operator; if this bit isn’t set, then newline is ordinary.
RE_NO_BK_BRACES
If this bit is set, then ‘{’ represents the open-interval operator
and ‘}’ represents the close-interval operator; if this bit isn’t
set, then ‘\{’ represents the open-interval operator and
‘\}’ represents the close-interval operator. This bit is relevant
only if RE_INTERVALS
is set.
RE_NO_BK_PARENS
If this bit is set, then ‘(’ represents the open-group operator and ‘)’ represents the close-group operator; if this bit isn’t set, then ‘\(’ represents the open-group operator and ‘\)’ represents the close-group operator.
RE_NO_BK_REFS
If this bit is set, then Regex doesn’t recognize ‘\’digit as the back reference operator; if this bit isn’t set, then it does.
RE_NO_BK_VBAR
If this bit is set, then ‘|’ represents the alternation operator;
if this bit isn’t set, then ‘\|’ represents the alternation
operator. This bit is irrelevant if RE_LIMITED_OPS
is set.
RE_NO_EMPTY_RANGES
If this bit is set, then a regular expression with a range whose ending point collates lower than its starting point is invalid; if this bit isn’t set, then Regex considers such a range to be empty.
RE_NO_GNU_OPS
If this bit is set, GNU regex operators are not recognized; otherwise, they are.
RE_NO_POSIX_BACKTRACKING
If this bit is set, succeed as soon as we match the whole pattern, without further backtracking. This means that a match may not be the leftmost longest; see What Gets Matched? for what this means.
RE_NO_SUB
If this bit is set, then no_sub
will be set to one during
re_compile_pattern
. This causes matching and searching routines
not to record substring match information.
RE_UNMATCHED_RIGHT_PAREN_ORD
If this bit is set and the regular expression has no matching open-group
operator, then Regex considers what would otherwise be a close-group
operator (based on how RE_NO_BK_PARENS
is set) to match ‘)’.
Next: Collating Elements vs. Characters, Previous: Syntax Bits, Up: Regular Expression Syntax [Contents][Index]
If you’re programming with Regex, you can set a pattern buffer’s (see GNU Pattern Buffers) syntax either to an arbitrary combination of syntax bits (see Syntax Bits) or else to the configurations defined by Regex. These configurations define the syntaxes used by certain programs—GNU Emacs, POSIX Awk, traditional Awk, Grep, Egrep—in addition to syntaxes for POSIX basic and extended regular expressions.
The predefined syntaxes—taken directly from regex.h—are:
#define RE_SYNTAX_EMACS 0 #define RE_SYNTAX_AWK \ (RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DOT_NOT_NULL \ | RE_NO_BK_PARENS | RE_NO_BK_REFS \ | RE_NO_BK_VBAR | RE_NO_EMPTY_RANGES \ | RE_UNMATCHED_RIGHT_PAREN_ORD) #define RE_SYNTAX_POSIX_AWK \ (RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS) #define RE_SYNTAX_GREP \ (RE_BK_PLUS_QM | RE_CHAR_CLASSES \ | RE_HAT_LISTS_NOT_NEWLINE | RE_INTERVALS \ | RE_NEWLINE_ALT) #define RE_SYNTAX_EGREP \ (RE_CHAR_CLASSES | RE_CONTEXT_INDEP_ANCHORS \ | RE_CONTEXT_INDEP_OPS | RE_HAT_LISTS_NOT_NEWLINE \ | RE_NEWLINE_ALT | RE_NO_BK_PARENS \ | RE_NO_BK_VBAR) #define RE_SYNTAX_POSIX_EGREP \ (RE_SYNTAX_EGREP | RE_INTERVALS | RE_NO_BK_BRACES) /* P1003.2/D11.2, section 4.20.7.1, lines 5078ff. */ #define RE_SYNTAX_ED RE_SYNTAX_POSIX_BASIC #define RE_SYNTAX_SED RE_SYNTAX_POSIX_BASIC /* Syntax bits common to both basic and extended POSIX regex syntax. */ #define _RE_SYNTAX_POSIX_COMMON \ (RE_CHAR_CLASSES | RE_DOT_NEWLINE | RE_DOT_NOT_NULL \ | RE_INTERVALS | RE_NO_EMPTY_RANGES) #define RE_SYNTAX_POSIX_BASIC \ (_RE_SYNTAX_POSIX_COMMON | RE_BK_PLUS_QM) /* Differs from ..._POSIX_BASIC only in that RE_BK_PLUS_QM becomes RE_LIMITED_OPS, i.e., \? \+ \| are not recognized. Actually, this isn't minimal, since other operators, such as \`, aren't disabled. */ #define RE_SYNTAX_POSIX_MINIMAL_BASIC \ (_RE_SYNTAX_POSIX_COMMON | RE_LIMITED_OPS) #define RE_SYNTAX_POSIX_EXTENDED \ (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \ | RE_CONTEXT_INDEP_OPS | RE_NO_BK_BRACES \ | RE_NO_BK_PARENS | RE_NO_BK_VBAR \ | RE_UNMATCHED_RIGHT_PAREN_ORD) /* Differs from ..._POSIX_EXTENDED in that RE_CONTEXT_INVALID_OPS replaces RE_CONTEXT_INDEP_OPS and RE_NO_BK_REFS is added. */ #define RE_SYNTAX_POSIX_MINIMAL_EXTENDED \ (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \ | RE_CONTEXT_INVALID_OPS | RE_NO_BK_BRACES \ | RE_NO_BK_PARENS | RE_NO_BK_REFS \ | RE_NO_BK_VBAR | RE_UNMATCHED_RIGHT_PAREN_ORD)
Next: The Backslash Character, Previous: Predefined Syntaxes, Up: Regular Expression Syntax [Contents][Index]
POSIX generalizes the notion of a character to that of a collating element. It defines a collating element to be “a sequence of one or more bytes defined in the current collating sequence as a unit of collation.”
This generalizes the notion of a character in two ways. First, a single character can map into two or more collating elements. For example, the German collates as the collating element ‘s’ followed by another collating element ‘s’. Second, two or more characters can map into one collating element. For example, the Spanish ‘ll’ collates after ‘l’ and before ‘m’.
Since POSIX’s “collating element” preserves the essential idea of a “character,” we use the latter, more familiar, term in this document.
Previous: Collating Elements vs. Characters, Up: Regular Expression Syntax [Contents][Index]
The ‘\’ character has one of four different meanings, depending on the context in which you use it and what syntax bits are set (see Syntax Bits). It can: 1) stand for itself, 2) quote the next character, 3) introduce an operator, or 4) do nothing.
RE_BACKSLASH_ESCAPE_IN_LISTS
is not set. For example, ‘[\]’
would match ‘\’.
RE_BACKSLASH_ESCAPE_IN_LISTS
is set.
RE_BK_PLUS_QM
, RE_NO_BK_BRACES
, RE_NO_BK_VAR
,
RE_NO_BK_PARENS
, RE_NO_BK_REF
in Syntax Bits. Also:
emacs
defined, then ‘\sclass’ represents the match-syntactic-class
operator and ‘\Sclass’ represents the
match-not-syntactic-class operator (see Syntactic Class Operators).
Next: GNU Operators, Previous: Regular Expression Syntax, Up: Regular expressions [Contents][Index]
You compose regular expressions from operators. In the following sections, we describe the regular expression operators specified by POSIX; GNU also uses these. Most operators have more than one representation as characters. See Regular Expression Syntax, for what characters represent what operators under what circumstances.
For most operators that can be represented in two ways, one
representation is a single character and the other is that character
preceded by ‘\’. For example, either ‘(’ or ‘\(’
represents the open-group operator. Which one does depends on the
setting of a syntax bit, in this case RE_NO_BK_PARENS
. Why is
this so? Historical reasons dictate some of the varying
representations, while POSIX dictates others.
Finally, almost all characters lose any special meaning inside a list (see List Operators).
• Match-self Operator: | Ordinary characters. | |
• Match-any-character Operator: | . | |
• Concatenation Operator: | Juxtaposition. | |
• Repetition Operators: | * + ? {} | |
• Alternation Operator: | | | |
• List Operators: | [...] [^...] | |
• Grouping Operators: | (...) | |
• Back-reference Operator: | \digit | |
• Anchoring Operators: | ^ $ |
Next: Match-any-character Operator, Up: Common Operators [Contents][Index]
This operator matches the character itself. All ordinary characters (see Regular Expression Syntax) represent this operator. For example, ‘f’ is always an ordinary character, so the regular expression ‘f’ matches only the string ‘f’. In particular, it does not match the string ‘ff’.
Next: Concatenation Operator, Previous: Match-self Operator, Up: Common Operators [Contents][Index]
.
)This operator matches any single printing or nonprinting character except it won’t match a:
if the syntax bit RE_DOT_NEWLINE
isn’t set.
if the syntax bit RE_DOT_NOT_NULL
is set.
The ‘.’ (period) character represents this operator. For example, ‘a.b’ matches any three-character string beginning with ‘a’ and ending with ‘b’.
Next: Repetition Operators, Previous: Match-any-character Operator, Up: Common Operators [Contents][Index]
This operator concatenates two regular expressions a and b. No character represents this operator; you simply put b after a. The result is a regular expression that will match a string if a matches its first part and b matches the rest. For example, ‘xy’ (two match-self operators) matches ‘xy’.
Next: Alternation Operator, Previous: Concatenation Operator, Up: Common Operators [Contents][Index]
Repetition operators repeat the preceding regular expression a specified number of times.
• Match-zero-or-more Operator: | * | |
• Match-one-or-more Operator: | + | |
• Match-zero-or-one Operator: | ? | |
• Interval Operators: | {} |
Next: Match-one-or-more Operator, Up: Repetition Operators [Contents][Index]
*
)This operator repeats the smallest possible preceding regular expression as many times as necessary (including zero) to match the pattern. ‘*’ represents this operator. For example, ‘o*’ matches any string made up of zero or more ‘o’s. Since this operator operates on the smallest preceding regular expression, ‘fo*’ has a repeating ‘o’, not a repeating ‘fo’. So, ‘fo*’ matches ‘f’, ‘fo’, ‘foo’, and so on.
Since the match-zero-or-more operator is a suffix operator, it may be useless as such when no regular expression precedes it. This is the case when it:
Three different things can happen in these cases:
RE_CONTEXT_INVALID_OPS
is set, then the
regular expression is invalid.
RE_CONTEXT_INVALID_OPS
isn’t set, but
RE_CONTEXT_INDEP_OPS
is, then ‘*’ represents the
match-zero-or-more operator (which then operates on the empty string).
The matcher processes a match-zero-or-more operator by first matching as many repetitions of the smallest preceding regular expression as it can. Then it continues to match the rest of the pattern.
If it can’t match the rest of the pattern, it backtracks (as many times as necessary), each time discarding one of the matches until it can either match the entire pattern or be certain that it cannot get a match. For example, when matching ‘ca*ar’ against ‘caaar’, the matcher first matches all three ‘a’s of the string with the ‘a*’ of the regular expression. However, it cannot then match the final ‘ar’ of the regular expression against the final ‘r’ of the string. So it backtracks, discarding the match of the last ‘a’ in the string. It can then match the remaining ‘ar’.
Next: Match-zero-or-one Operator, Previous: Match-zero-or-more Operator, Up: Repetition Operators [Contents][Index]
+
or \+
)If the syntax bit RE_LIMITED_OPS
is set, then Regex doesn’t recognize
this operator. Otherwise, if the syntax bit RE_BK_PLUS_QM
isn’t
set, then ‘+’ represents this operator; if it is, then ‘\+’
does.
This operator is similar to the match-zero-or-more operator except that it repeats the preceding regular expression at least once; see Match-zero-or-more Operator, for what it operates on, how some syntax bits affect it, and how Regex backtracks to match it.
For example, supposing that ‘+’ represents the match-one-or-more operator; then ‘ca+r’ matches, e.g., ‘car’ and ‘caaaar’, but not ‘cr’.
Next: Interval Operators, Previous: Match-one-or-more Operator, Up: Repetition Operators [Contents][Index]
?
or \?
)If the syntax bit RE_LIMITED_OPS
is set, then Regex doesn’t
recognize this operator. Otherwise, if the syntax bit
RE_BK_PLUS_QM
isn’t set, then ‘?’ represents this operator;
if it is, then ‘\?’ does.
This operator is similar to the match-zero-or-more operator except that it repeats the preceding regular expression once or not at all; see Match-zero-or-more Operator, to see what it operates on, how some syntax bits affect it, and how Regex backtracks to match it.
For example, supposing that ‘?’ represents the match-zero-or-one operator; then ‘ca?r’ matches both ‘car’ and ‘cr’, but nothing else.
Previous: Match-zero-or-one Operator, Up: Repetition Operators [Contents][Index]
{
… }
or \{
… \}
)If the syntax bit RE_INTERVALS
is set, then Regex recognizes
interval expressions. They repeat the smallest possible preceding
regular expression a specified number of times.
If the syntax bit RE_NO_BK_BRACES
is set, ‘{’ represents
the open-interval operator and ‘}’ represents the
close-interval operator ; otherwise, ‘\{’ and ‘\}’ do.
Specifically, supposing that ‘{’ and ‘}’ represent the open-interval and close-interval operators; then:
{count}
matches exactly count occurrences of the preceding regular expression.
{min,}
matches min or more occurrences of the preceding regular expression.
{min, max}
matches at least min but no more than max occurrences of the preceding regular expression.
The interval expression (but not necessarily the regular expression that contains it) is invalid if:
RE_DUP_MAX
(which symbol regex.h
defines).
If the interval expression is invalid and the syntax bit
RE_NO_BK_BRACES
is set, then Regex considers all the
characters in the would-be interval to be ordinary. If that bit
isn’t set, then the regular expression is invalid.
If the interval expression is valid but there is no preceding regular
expression on which to operate, then if the syntax bit
RE_CONTEXT_INVALID_OPS
is set, the regular expression is invalid.
If that bit isn’t set, then Regex considers all the characters—other
than backslashes, which it ignores—in the would-be interval to be
ordinary.
Next: List Operators, Previous: Repetition Operators, Up: Common Operators [Contents][Index]
|
or \|
)If the syntax bit RE_LIMITED_OPS
is set, then Regex doesn’t
recognize this operator. Otherwise, if the syntax bit
RE_NO_BK_VBAR
is set, then ‘|’ represents this operator;
otherwise, ‘\|’ does.
Alternatives match one of a choice of regular expressions: if you put the character(s) representing the alternation operator between any two regular expressions a and b, the result matches the union of the strings that a and b match. For example, supposing that ‘|’ is the alternation operator, then ‘foo|bar|quux’ would match any of ‘foo’, ‘bar’ or ‘quux’.
The alternation operator operates on the largest possible surrounding regular expressions. (Put another way, it has the lowest precedence of any regular expression operator.) Thus, the only way you can delimit its arguments is to use grouping. For example, if ‘(’ and ‘)’ are the open and close-group operators, then ‘fo(o|b)ar’ would match either ‘fooar’ or ‘fobar’. (‘foo|bar’ would match ‘foo’ or ‘bar’.)
The matcher usually tries all combinations of alternatives so as to match the longest possible string. For example, when matching ‘(fooq|foo)*(qbarquux|bar)’ against ‘fooqbarquux’, it cannot take, say, the first (“depth-first”) combination it could match, since then it would be content to match just ‘fooqbar’.
Note that since the default behavior is to return the leftmost longest match, when more than one of a series of alternatives matches the actual match will be the longest matching alternative, not necessarily the first in the list.
Next: Grouping Operators, Previous: Alternation Operator, Up: Common Operators [Contents][Index]
[
… ]
and [^
… ]
)Lists, also called bracket expressions, are a set of one or more items. An item is a character, a collating symbol, an equivalence class expression, a character class expression, or a range expression. The syntax bits affect which kinds of items you can put in a list. We explain the last four items in subsections below. Empty lists are invalid.
A matching list matches a single character represented by one of the list items. You form a matching list by enclosing one or more items within an open-matching-list operator (represented by ‘[’) and a close-list operator (represented by ‘]’).
For example, ‘[ab]’ matches either ‘a’ or ‘b’. ‘[ad]*’ matches the empty string and any string composed of just ‘a’s and ‘d’s in any order. Regex considers invalid a regular expression with a ‘[’ but no matching ‘]’.
Nonmatching lists are similar to matching lists except that they match a single character not represented by one of the list items. You use an open-nonmatching-list operator (represented by ‘[^’2) instead of an open-matching-list operator to start a nonmatching list.
For example, ‘[^ab]’ matches any character except ‘a’ or ‘b’.
If the syntax bit RE_HAT_LISTS_NOT_NEWLINE
is set, then
nonmatching lists do not match a newline.
Most characters lose any special meaning inside a list. The special characters inside a list follow.
ends the list if it’s not the first list item. So, if you want to make the ‘]’ character a list item, you must put it first.
quotes the next character if the syntax bit RE_BACKSLASH_ESCAPE_IN_LISTS
is
set.
represents the open-collating-symbol operator (see Collating Symbol Operators).
represents the close-collating-symbol operator.
represents the open-equivalence-class operator (see Equivalence Class Operators).
represents the close-equivalence-class operator.
represents the open-character-class operator (see Character Class Operators) if the syntax bit RE_CHAR_CLASSES
is set and what
follows is a valid character class expression.
represents the close-character-class operator if the syntax bit
RE_CHAR_CLASSES
is set and what precedes it is an
open-character-class operator followed by a valid character class name.
represents the range operator (see Range Operator) if it’s not first or last in a list or the ending point of a range.
All other characters are ordinary. For example, ‘[.*]’ matches ‘.’ and ‘*’.
• Collating Symbol Operators: | [.elem.] | |
• Equivalence Class Operators: | [=class=] | |
• Character Class Operators: | [:class:] | |
• Range Operator: | start-end |
Next: Equivalence Class Operators, Up: List Operators [Contents][Index]
[.
… .]
)Collating symbols can be represented inside lists. You form a collating symbol by putting a collating element between an open-collating-symbol operator and a close-collating-symbol operator. ‘[.’ represents the open-collating-symbol operator and ‘.]’ represents the close-collating-symbol operator. For example, if ‘ll’ is a collating element, then ‘[[.ll.]]’ would match ‘ll’.
Next: Character Class Operators, Previous: Collating Symbol Operators, Up: List Operators [Contents][Index]
[=
… =]
)Regex recognizes equivalence class expressions inside lists. A equivalence class expression is a set of collating elements which all belong to the same equivalence class. You form an equivalence class expression by putting a collating element between an open-equivalence-class operator and a close-equivalence-class operator. ‘[=’ represents the open-equivalence-class operator and ‘=]’ represents the close-equivalence-class operator. For example, if ‘a’ and ‘A’ were an equivalence class, then both ‘[[=a=]]’ and ‘[[=A=]]’ would match both ‘a’ and ‘A’. If the collating element in an equivalence class expression isn’t part of an equivalence class, then the matcher considers the equivalence class expression to be a collating symbol.
Next: Range Operator, Previous: Equivalence Class Operators, Up: List Operators [Contents][Index]
[:
… :]
)If the syntax bit RE_CHAR_CLASSES
is set, then Regex recognizes
character class expressions inside lists. A character class
expression matches one character from a given class. You form a
character class expression by putting a character class name between
an open-character-class operator (represented by ‘[:’) and
a close-character-class operator (represented by ‘:]’).
The character class names and their meanings are:
alnum
letters and digits
alpha
letters
blank
system-dependent; for GNU, a space or tab
cntrl
control characters (in the ASCII encoding, code 0177 and codes less than 040)
digit
digits
graph
same as print
except omits space
lower
lowercase letters
print
printable characters (in the ASCII encoding, space tilde—codes 040 through 0176)
punct
neither control nor alphanumeric characters
space
space, carriage return, newline, vertical tab, and form feed
upper
uppercase letters
xdigit
hexadecimal digits: 0
–9
, a
–f
, A
–F
These correspond to the definitions in the C library’s <ctype.h>
facility. For example, ‘[:alpha:]’ corresponds to the standard
facility isalpha
. Regex recognizes character class expressions
only inside of lists; so ‘[[:alpha:]]’ matches any letter, but
‘[:alpha:]’ outside of a bracket expression and not followed by a
repetition operator matches just itself.
Previous: Character Class Operators, Up: List Operators [Contents][Index]
-
)Regex recognizes range expressions inside a list. They represent those characters that fall between two elements in the current collating sequence. You form a range expression by putting a range operator between two of any of the following: characters, collating elements, collating symbols, and equivalence class expressions. The starting point of the range and the ending point of the range don’t have to be the same kind of item, e.g., the starting point could be a collating element and the ending point could be an equivalence class expression. If a range’s ending point is an equivalence class, then all the collating elements in that class will be in the range.3 ‘-’ represents the range operator. For example, ‘a-f’ within a list represents all the characters from ‘a’ through ‘f’ inclusively.
If the syntax bit RE_NO_EMPTY_RANGES
is set, then if the range’s
ending point collates less than its starting point, the range (and the
regular expression containing it) is invalid. For example, the regular
expression ‘[z-a]’ would be invalid. If this bit isn’t set, then
Regex considers such a range to be empty.
Since ‘-’ represents the range operator, if you want to make a ‘-’ character itself a list item, you must do one of the following:
For example, ‘[-a-z]’ matches a lowercase letter or a hyphen (in English, in ASCII).
Next: Back-reference Operator, Previous: List Operators, Up: Common Operators [Contents][Index]
(
… )
or \(
… \)
)A group, also known as a subexpression, consists of an open-group operator, any number of other operators, and a close-group operator. Regex treats this sequence as a unit, just as mathematics and programming languages treat a parenthesized expression as a unit.
Therefore, using groups, you can:
If the syntax bit RE_NO_BK_PARENS
is set, then ‘(’ represents
the open-group operator and ‘)’ represents the
close-group operator; otherwise, ‘\(’ and ‘\)’ do.
If the syntax bit RE_UNMATCHED_RIGHT_PAREN_ORD
is set and a
close-group operator has no matching open-group operator, then Regex
considers it to match ‘)’.
Next: Anchoring Operators, Previous: Grouping Operators, Up: Common Operators [Contents][Index]
If the syntax bit RE_NO_BK_REF
isn’t set, then Regex recognizes
back references. A back reference matches a specified preceding group.
The back reference operator is represented by ‘\digit’
anywhere after the end of a regular expression’s digit-th
group (see Grouping Operators).
digit must be between ‘1’ and ‘9’. The matcher assigns numbers 1 through 9 to the first nine groups it encounters. By using one of ‘\1’ through ‘\9’ after the corresponding group’s close-group operator, you can match a substring identical to the one that the group does.
Back references match according to the following (in all examples below, ‘(’ represents the open-group, ‘)’ the close-group, ‘{’ the open-interval and ‘}’ the close-interval operator):
RE_DOT_NEWLINE
isn’t set) string that is composed of two
identical halves; the ‘(.*)’ matches the first half and the
‘\1’ matches the second half.
You can use a back reference as an argument to a repetition operator. For example, ‘(a(b))\2*’ matches ‘a’ followed by two or more ‘b’s. Similarly, ‘(a(b))\2{3}’ matches ‘abbbb’.
If there is no preceding digit-th subexpression, the regular expression is invalid.
Previous: Back-reference Operator, Up: Common Operators [Contents][Index]
These operators can constrain a pattern to match only at the beginning or end of the entire string or at the beginning or end of a line.
• Match-beginning-of-line Operator: | ^ | |
• Match-end-of-line Operator: | $ |
Next: Match-end-of-line Operator, Up: Anchoring Operators [Contents][Index]
^
)This operator can match the empty string either at the beginning of the string or after a newline character. Thus, it is said to anchor the pattern to the beginning of a line.
In the cases following, ‘^’ represents this operator. (Otherwise, ‘^’ is ordinary.)
RE_CONTEXT_INDEP_ANCHORS
is set, and it is outside
a bracket expression.
These rules imply that some valid patterns containing ‘^’ cannot be
matched; for example, ‘foo^bar’ if RE_CONTEXT_INDEP_ANCHORS
is set.
If the not_bol
field is set in the pattern buffer (see GNU Pattern Buffers), then ‘^’ fails to match at the beginning of the
string. This lets you match against pieces of a line, as you would need to if,
say, searching for repeated instances of a given pattern in a line; it
would work correctly for patterns both with and without
match-beginning-of-line operators.
Previous: Match-beginning-of-line Operator, Up: Anchoring Operators [Contents][Index]
$
)This operator can match the empty string either at the end of the string or before a newline character in the string. Thus, it is said to anchor the pattern to the end of a line.
It is always represented by ‘$’. For example, ‘foo$’ usually matches, e.g., ‘foo’ and, e.g., the first three characters of ‘foo\nbar’.
Its interaction with the syntax bits and pattern buffer fields is
exactly the dual of ‘^’’s; see the previous section. (That is,
“‘^’” becomes “‘$’”, “beginning” becomes “end”,
“next” becomes “previous”, “after” becomes “before”, and
“not_bol
” becomes “not_eol
”.)
Next: GNU Emacs Operators, Previous: Common Operators, Up: Regular expressions [Contents][Index]
Following are operators that GNU defines (and POSIX doesn’t).
• Word Operators: | ||
• Buffer Operators: |
Next: Buffer Operators, Up: GNU Operators [Contents][Index]
The operators in this section require Regex to recognize parts of words. Regex uses a syntax table to determine whether or not a character is part of a word, i.e., whether or not it is word-constituent.
Next: Match-word-boundary Operator, Up: Word Operators [Contents][Index]
A syntax table is an array indexed by the characters in your
character set. In the ASCII encoding, therefore, a syntax table
has 256 elements. Regex always uses a char *
variable
re_syntax_table
as its syntax table. In some cases, it
initializes this variable and in others it expects you to initialize it.
emacs
and
SYNTAX_TABLE
both undefined, then Regex allocates
re_syntax_table
and initializes an element i either to
Sword
(which it defines) if i is a letter, number, or
‘_’, or to zero if it’s not.
emacs
undefined but SYNTAX_TABLE
defined, then Regex expects you to define a char *
variable
re_syntax_table
to be a valid syntax table.
emacs
defined.
Next: Match-within-word Operator, Previous: Non-Emacs Syntax Tables, Up: Word Operators [Contents][Index]
\b
)This operator (represented by ‘\b’) matches the empty string at either the beginning or the end of a word. For example, ‘\brat\b’ matches the separate word ‘rat’.
Next: Match-beginning-of-word Operator, Previous: Match-word-boundary Operator, Up: Word Operators [Contents][Index]
\B
)This operator (represented by ‘\B’) matches the empty string within a word. For example, ‘c\Brat\Be’ matches ‘crate’, but ‘dirty \Brat’ doesn’t match ‘dirty rat’.
Next: Match-end-of-word Operator, Previous: Match-within-word Operator, Up: Word Operators [Contents][Index]
\<
)This operator (represented by ‘\<’) matches the empty string at the beginning of a word.
Next: Match-word-constituent Operator, Previous: Match-beginning-of-word Operator, Up: Word Operators [Contents][Index]
\>
)This operator (represented by ‘\>’) matches the empty string at the end of a word.
Next: Match-non-word-constituent Operator, Previous: Match-end-of-word Operator, Up: Word Operators [Contents][Index]
\w
)This operator (represented by ‘\w’) matches any word-constituent character.
Previous: Match-word-constituent Operator, Up: Word Operators [Contents][Index]
\W
)This operator (represented by ‘\W’) matches any character that is not word-constituent.
Previous: Word Operators, Up: GNU Operators [Contents][Index]
Following are operators which work on buffers. In Emacs, a buffer is, naturally, an Emacs buffer. For other programs, Regex considers the entire string to be matched as the buffer.
• Match-beginning-of-buffer Operator: | \‘ | |
• Match-end-of-buffer Operator: | \’ |
Next: Match-end-of-buffer Operator, Up: Buffer Operators [Contents][Index]
\`
)This operator (represented by ‘\`’) matches the empty string at the beginning of the buffer.
Previous: Match-beginning-of-buffer Operator, Up: Buffer Operators [Contents][Index]
\'
)This operator (represented by ‘\'’) matches the empty string at the end of the buffer.
Next: What Gets Matched?, Previous: GNU Operators, Up: Regular expressions [Contents][Index]
Following are operators that GNU defines (and POSIX doesn’t)
that you can use only when Regex is compiled with the preprocessor
symbol emacs
defined.
• Syntactic Class Operators: |
Up: GNU Emacs Operators [Contents][Index]
The operators in this section require Regex to recognize the syntactic classes of characters. Regex uses a syntax table to determine this.
• Emacs Syntax Tables: | ||
• Match-syntactic-class Operator: | \sCLASS | |
• Match-not-syntactic-class Operator: | \SCLASS |
Next: Match-syntactic-class Operator, Up: Syntactic Class Operators [Contents][Index]
A syntax table is an array indexed by the characters in your character set. In the ASCII encoding, therefore, a syntax table has 256 elements.
If Regex is compiled with the preprocessor symbol emacs
defined,
then Regex expects you to define and initialize the variable
re_syntax_table
to be an Emacs syntax table. Emacs’ syntax
tables are more complicated than Regex’s own (see Non-Emacs Syntax Tables). See Syntax in The GNU Emacs User’s Manual,
for a description of Emacs’ syntax tables.
Next: Match-not-syntactic-class Operator, Previous: Emacs Syntax Tables, Up: Syntactic Class Operators [Contents][Index]
\s
class)This operator matches any character whose syntactic class is represented by a specified character. ‘\sclass’ represents this operator where class is the character representing the syntactic class you want. For example, ‘w’ represents the syntactic class of word-constituent characters, so ‘\sw’ matches any word-constituent character.
Previous: Match-syntactic-class Operator, Up: Syntactic Class Operators [Contents][Index]
\S
class)This operator is similar to the match-syntactic-class operator except that it matches any character whose syntactic class is not represented by the specified character. ‘\Sclass’ represents this operator. For example, ‘w’ represents the syntactic class of word-constituent characters, so ‘\Sw’ matches any character that is not word-constituent.
Next: Programming with Regex, Previous: GNU Emacs Operators, Up: Regular expressions [Contents][Index]
Regex usually matches strings according to the “leftmost longest” rule; that is, it chooses the longest of the leftmost matches. This does not mean that for a regular expression containing subexpressions that it simply chooses the longest match for each subexpression, left to right; the overall match must also be the longest possible one.
For example, ‘(ac*)(c*d[ac]*)\1’ matches ‘acdacaaa’, not ‘acdac’, as it would if it were to choose the longest match for the first subexpression.
Next: Regular expression syntaxes, Previous: What Gets Matched?, Up: Regular expressions [Contents][Index]
Here we describe how you use the Regex data structures and functions in C programs. Regex has three interfaces: one designed for GNU, one compatible with POSIX (as specified by POSIX, draft 1003.2/D11.2), and one compatible with Berkeley Unix. The POSIX interface is not documented here; see the documentation of GNU libc, or the POSIX man pages. The Berkeley Unix interface is documented here for convenience, since its documentation is not otherwise readily available on GNU systems.
• GNU Regex Functions: | ||
• BSD Regex Functions: |
Next: BSD Regex Functions, Up: Programming with Regex [Contents][Index]
If you’re writing code that doesn’t need to be compatible with either POSIX or Berkeley Unix, you can use these functions. They provide more options than the other interfaces.
• GNU Pattern Buffers: | The re_pattern_buffer type. | |
• GNU Regular Expression Compiling: | re_compile_pattern () | |
• GNU Matching: | re_match () | |
• GNU Searching: | re_search () | |
• Matching/Searching with Split Data: | re_match_2 (), re_search_2 () | |
• Searching with Fastmaps: | re_compile_fastmap () | |
• GNU Translate Tables: | The translate field.
| |
• Using Registers: | The re_registers type and related fns. | |
• Freeing GNU Pattern Buffers: | regfree () |
Next: GNU Regular Expression Compiling, Up: GNU Regex Functions [Contents][Index]
To compile, match, or search for a given regular expression, you must supply a pattern buffer. A pattern buffer holds one compiled regular expression.4
You can have several different pattern buffers simultaneously, each holding a compiled pattern for a different regular expression.
regex.h defines the pattern buffer struct
with the
following public fields:
unsigned char *buffer; unsigned long allocated; char *fastmap; char *translate; size_t re_nsub; unsigned no_sub : 1; unsigned not_bol : 1; unsigned not_eol : 1;
Next: GNU Matching, Previous: GNU Pattern Buffers, Up: GNU Regex Functions [Contents][Index]
In GNU, you can both match and search for a given regular expression. To do either, you must first compile it in a pattern buffer (see GNU Pattern Buffers).
Regular expressions match according to the syntax with which they were
compiled; with GNU, you indicate what syntax you want by setting
the variable re_syntax_options
(declared in regex.h)
before calling the compiling function, re_compile_pattern
(see
below). See Syntax Bits, and Predefined Syntaxes.
You can change the value of re_syntax_options
at any time.
Usually, however, you set its value once and then never change it.
re_compile_pattern
takes a pattern buffer as an argument. You
must initialize the following fields:
translate initialization
translate
Initialize this to point to a translate table if you want one, or to zero if you don’t. We explain translate tables in GNU Translate Tables.
fastmap
Initialize this to nonzero if you want a fastmap, or to zero if you don’t.
buffer
allocated
If you want re_compile_pattern
to allocate memory for the
compiled pattern, set both of these to zero. If you have an existing
block of memory (allocated with malloc
) you want Regex to use,
set buffer
to its address and allocated
to its size (in
bytes).
re_compile_pattern
uses realloc
to extend the space for
the compiled pattern as necessary.
To compile a pattern buffer, use:
char * re_compile_pattern (const char *regex, const int regex_size, struct re_pattern_buffer *pattern_buffer)
regex is the regular expression’s address, regex_size is its length, and pattern_buffer is the pattern buffer’s address.
If re_compile_pattern
successfully compiles the regular
expression, it returns zero and sets *pattern_buffer
to the
compiled pattern. It sets the pattern buffer’s fields as follows:
buffer
to the compiled pattern.
syntax
to the current value of re_syntax_options
.
re_nsub
to the number of subexpressions in regex.
If re_compile_pattern
can’t compile regex, it returns an
error string corresponding to a POSIX error code.
Next: GNU Searching, Previous: GNU Regular Expression Compiling, Up: GNU Regex Functions [Contents][Index]
Matching the GNU way means trying to match as much of a string as possible starting at a position within it you specify. Once you’ve compiled a pattern into a pattern buffer (see GNU Regular Expression Compiling), you can ask the matcher to match that pattern against a string using:
int re_match (struct re_pattern_buffer *pattern_buffer, const char *string, const int size, const int start, struct re_registers *regs)
pattern_buffer is the address of a pattern buffer containing a compiled pattern. string is the string you want to match; it can contain newline and null characters. size is the length of that string. start is the string index at which you want to begin matching; the first character of string is at index zero. See Using Registers, for an explanation of regs; you can safely pass zero.
re_match
matches the regular expression in pattern_buffer
against the string string according to the syntax of
pattern_buffer. (See GNU Regular Expression Compiling, for how
to set it.) The function returns -1 if the compiled pattern does
not match any part of string and -2 if an internal error
happens; otherwise, it returns how many (possibly zero) characters of
string the pattern matched.
An example: suppose pattern_buffer points to a pattern buffer
containing the compiled pattern for ‘a*’, and string points
to ‘aaaaab’ (whereupon size should be 6). Then if start
is 2, re_match
returns 3, i.e., ‘a*’ would have matched the
last three ‘a’s in string. If start is 0,
re_match
returns 5, i.e., ‘a*’ would have matched all the
‘a’s in string. If start is either 5 or 6, it returns
zero.
If start is not between zero and size, then
re_match
returns -1.
Next: Matching/Searching with Split Data, Previous: GNU Matching, Up: GNU Regex Functions [Contents][Index]
Searching means trying to match starting at successive positions
within a string. The function re_search
does this.
Before calling re_search
, you must compile your regular
expression. See GNU Regular Expression Compiling.
Here is the function declaration:
int re_search (struct re_pattern_buffer *pattern_buffer, const char *string, const int size, const int start, const int range, struct re_registers *regs)
whose arguments are the same as those to re_match
(see GNU Matching) except that the two arguments start and range
replace re_match
’s argument start.
If range is positive, then re_search
attempts a match
starting first at index start, then at start + 1 if
that fails, and so on, up to start + range; if
range is negative, then it attempts a match starting first at
index start, then at start -1 if that fails, and so
on.
If start is not between zero and size, then re_search
returns -1. When range is positive, re_search
adjusts range so that start + range - 1 is
between zero and size, if necessary; that way it won’t search
outside of string. Similarly, when range is negative,
re_search
adjusts range so that start +
range + 1 is between zero and size, if necessary.
If the fastmap
field of pattern_buffer is zero,
re_search
matches starting at consecutive positions; otherwise,
it uses fastmap
to make the search more efficient.
See Searching with Fastmaps.
If no match is found, re_search
returns -1. If
a match is found, it returns the index where the match began. If an
internal error happens, it returns -2.
Next: Searching with Fastmaps, Previous: GNU Searching, Up: GNU Regex Functions [Contents][Index]
Using the functions re_match_2
and re_search_2
, you can
match or search in data that is divided into two strings.
The function:
int re_match_2 (struct re_pattern_buffer *buffer, const char *string1, const int size1, const char *string2, const int size2, const int start, struct re_registers *regs, const int stop)
is similar to re_match
(see GNU Matching) except that you
pass two data strings and sizes, and an index stop beyond
which you don’t want the matcher to try matching. As with
re_match
, if it succeeds, re_match_2
returns how many
characters of string it matched. Regard string1 and
string2 as concatenated when you set the arguments start and
stop and use the contents of regs; re_match_2
never
returns a value larger than size1 + size2.
The function:
int re_search_2 (struct re_pattern_buffer *buffer, const char *string1, const int size1, const char *string2, const int size2, const int start, const int range, struct re_registers *regs, const int stop)
is similarly related to re_search
.
Next: GNU Translate Tables, Previous: Matching/Searching with Split Data, Up: GNU Regex Functions [Contents][Index]
If you’re searching through a long string, you should use a fastmap. Without one, the searcher tries to match at consecutive positions in the string. Generally, most of the characters in the string could not start a match. It takes much longer to try matching at a given position in the string than it does to check in a table whether or not the character at that position could start a match. A fastmap is such a table.
More specifically, a fastmap is an array indexed by the characters in
your character set. Under the ASCII encoding, therefore, a fastmap
has 256 elements. If you want the searcher to use a fastmap with a
given pattern buffer, you must allocate the array and assign the array’s
address to the pattern buffer’s fastmap
field. You either can
compile the fastmap yourself or have re_search
do it for you;
when fastmap
is nonzero, it automatically compiles a fastmap the
first time you search using a particular compiled pattern.
By setting the buffer’s fastmap
field before calling
re_compile_pattern
, you can reuse a buffer data structure across
multiple searches with different patterns, and allocate the fastmap only
once. Nonetheless, the fastmap must be recompiled each time the buffer
has a new pattern compiled into it.
To compile a fastmap yourself, use:
int re_compile_fastmap (struct re_pattern_buffer *pattern_buffer)
pattern_buffer is the address of a pattern buffer. If the
character c could start a match for the pattern,
re_compile_fastmap
makes
pattern_buffer->fastmap[c]
nonzero. It returns
0 if it can compile a fastmap and -2 if there is an
internal error. For example, if ‘|’ is the alternation operator
and pattern_buffer holds the compiled pattern for ‘a|b’, then
re_compile_fastmap
sets fastmap['a']
and
fastmap['b']
(and no others).
re_search
uses a fastmap as it moves along in the string: it
checks the string’s characters until it finds one that’s in the fastmap.
Then it tries matching at that character. If the match fails, it
repeats the process. So, by using a fastmap, re_search
doesn’t
waste time trying to match at positions in the string that couldn’t
start a match.
If you don’t want re_search
to use a fastmap,
store zero in the fastmap
field of the pattern buffer before
calling re_search
.
Once you’ve initialized a pattern buffer’s fastmap
field, you
need never do so again—even if you compile a new pattern in
it—provided the way the field is set still reflects whether or not you
want a fastmap. re_search
will still either do nothing if
fastmap
is null or, if it isn’t, compile a new fastmap for the
new pattern.
Next: Using Registers, Previous: Searching with Fastmaps, Up: GNU Regex Functions [Contents][Index]
If you set the translate
field of a pattern buffer to a translate
table, then the GNU Regex functions to which you’ve passed that
pattern buffer use it to apply a simple transformation
to all the regular expression and string characters at which they look.
A translate table is an array indexed by the characters in your
character set. Under the ASCII encoding, therefore, a translate
table has 256 elements. The array’s elements are also characters in
your character set. When the Regex functions see a character c,
they use translate[c]
in its place, with one exception: the
character after a ‘\’ is not translated. (This ensures that, the
operators, e.g., ‘\B’ and ‘\b’, are always distinguishable.)
For example, a table that maps all lowercase letters to the
corresponding uppercase ones would cause the matcher to ignore
differences in case.5 Such a table would map all characters except lowercase letters
to themselves, and lowercase letters to the corresponding uppercase
ones. Under the ASCII encoding, here’s how you could initialize
such a table (we’ll call it case_fold
):
for (i = 0; i < 256; i++) case_fold[i] = i; for (i = 'a'; i <= 'z'; i++) case_fold[i] = i - ('a' - 'A');
You tell Regex to use a translate table on a given pattern buffer by
assigning that table’s address to the translate
field of that
buffer. If you don’t want Regex to do any translation, put zero into
this field. You’ll get weird results if you change the table’s contents
anytime between compiling the pattern buffer, compiling its fastmap, and
matching or searching with the pattern buffer.
Next: Freeing GNU Pattern Buffers, Previous: GNU Translate Tables, Up: GNU Regex Functions [Contents][Index]
A group in a regular expression can match a (possibly empty) substring of the string that regular expression as a whole matched. The matcher remembers the beginning and end of the substring matched by each group.
To find out what they matched, pass a nonzero regs argument to a GNU matching or searching function (see GNU Matching and GNU Searching), i.e., the address of a structure of this type, as defined in regex.h:
Except for (possibly) the num_regs’th element (see below), the
ith element of the start
and end
arrays records
information about the ith group in the pattern. (They’re declared
as C pointers, but this is only because not all C compilers accept
zero-length arrays; conceptually, it is simplest to think of them as
arrays.)
The start
and end
arrays are allocated in one of two ways.
The simplest and perhaps most useful is to let the matcher (re)allocate
enough space to record information for all the groups in the regular
expression. If re_set_registers
is not called before searching
or matching, then the matcher allocates two arrays each of 1 +
re_nsub elements (re_nsub is another field in the pattern
buffer; see GNU Pattern Buffers). The extra element is set to
-1. Then on subsequent calls with the same pattern buffer and
regs arguments, the matcher reallocates more space if necessary.
The function:
void re_set_registers (struct re_pattern_buffer *buffer, struct re_registers *regs, size_t num_regs, regoff_t *starts, regoff_t *ends)
sets regs to hold num_regs registers, storing
them in starts and ends. Subsequent matches using
buffer and regs will use this memory for recording
register information. starts and ends must be allocated
with malloc, and must each be at least num_regs *
sizeof (regoff_t)
bytes long.
If num_regs is zero, then subsequent matches should allocate their own register data.
Unless this function is called, the first search or match using buffer will allocate its own register data, without freeing the old data.
The following examples illustrate the information recorded in the
re_registers
structure. (In all of them, ‘(’ represents the
open-group and ‘)’ the close-group operator. The first character
in the string string is at index 0.)
regs->start[i]
to the index in string where
the substring matched by the i-th group begins, and
regs->end[i]
to the index just beyond that
substring’s end. The function sets regs->start[0]
and
regs->end[0]
to analogous information about the entire
pattern.
For example, when you match ‘((a)(b))’ against ‘ab’, you get:
regs->start[0]
and 2 in regs->end[0]
regs->start[1]
and 2 in regs->end[1]
regs->start[2]
and 1 in regs->end[2]
regs->start[3]
and 2 in regs->end[3]
For example, when you match the pattern ‘(a)*’ against the string ‘aa’, you get:
regs->start[0]
and 2 in regs->end[0]
regs->start[1]
and 2 in regs->end[1]
regs->start[i]
and
regs->end[i]
to -1.
For example, when you match the pattern ‘(a)*b’ against the string ‘b’, you get:
regs->start[0]
and 1 in regs->end[0]
regs->start[1]
and -1 in regs->end[1]
regs->start[i]
and
regs->end[i]
to the index just beyond that
zero-length string.
For example, when you match the pattern ‘(a*)b’ against the string ‘b’, you get:
regs->start[0]
and 1 in regs->end[0]
regs->start[1]
and 0 in regs->end[1]
regs->start[j]
and
regs->end[j]
the last match (if it matched) of
the j-th group.
For example, when you match the pattern ‘((a*)b)*’ against the string ‘abb’, group 2 last matches the empty string, so you get what it previously matched:
regs->start[0]
and 3 in regs->end[0]
regs->start[1]
and 3 in regs->end[1]
regs->start[2]
and 2 in regs->end[2]
When you match the pattern ‘((a)*b)*’ against the string ‘abb’, group 2 doesn’t participate in the last match, so you get:
regs->start[0]
and 3 in regs->end[0]
regs->start[1]
and 3 in regs->end[1]
regs->start[2]
and 1 in regs->end[2]
regs->start[i]
and
regs->end[i]
to -1, then it also sets
regs->start[j]
and
regs->end[j]
to -1.
For example, when you match the pattern ‘((a)*b)*c’ against the string ‘c’, you get:
regs->start[0]
and 1 in regs->end[0]
regs->start[1]
and -1 in regs->end[1]
regs->start[2]
and -1 in regs->end[2]
Previous: Using Registers, Up: GNU Regex Functions [Contents][Index]
To free any allocated fields of a pattern buffer, use the POSIX
function regfree
:
void regfree (regex_t *preg)
preg is the pattern buffer whose allocated fields you want freed;
this works because since the type regex_t
—the type for
POSIX pattern buffers—is equivalent to the type
re_pattern_buffer
.
regfree
also sets preg’s allocated
field to zero.
After a buffer has been freed, it must have a regular expression
compiled in it before passing it to a matching or searching function.
Previous: GNU Regex Functions, Up: Programming with Regex [Contents][Index]
If you’re writing code that has to be Berkeley Unix compatible, you’ll need to use these functions whose interfaces are the same as those in Berkeley Unix.
• BSD Regular Expression Compiling: | re_comp () | |
• BSD Searching: | re_exec () |
Next: BSD Searching, Up: BSD Regex Functions [Contents][Index]
With Berkeley Unix, you can only search for a given regular
expression; you can’t match one. To search for it, you must first
compile it. Before you compile it, you must indicate the regular
expression syntax you want it compiled according to by setting the
variable re_syntax_options
(declared in regex.h to some
syntax (see Regular Expression Syntax).
To compile a regular expression use:
char * re_comp (char *regex)
regex is the address of a null-terminated regular expression.
re_comp
uses an internal pattern buffer, so you can use only the
most recently compiled pattern buffer. This means that if you want to
use a given regular expression that you’ve already compiled—but it
isn’t the latest one you’ve compiled—you’ll have to recompile it. If
you call re_comp
with the null string (not the empty
string) as the argument, it doesn’t change the contents of the pattern
buffer.
If re_comp
successfully compiles the regular expression, it
returns zero. If it can’t compile the regular expression, it returns
an error string. re_comp
’s error messages are identical to those
of re_compile_pattern
(see GNU Regular Expression Compiling).
Previous: BSD Regular Expression Compiling, Up: BSD Regex Functions [Contents][Index]
Searching the Berkeley Unix way means searching in a string
starting at its first character and trying successive positions within
it to find a match. Once you’ve compiled a pattern using re_comp
(see BSD Regular Expression Compiling), you can ask Regex
to search for that pattern in a string using:
int re_exec (char *string)
string is the address of the null-terminated string in which you want to search.
re_exec
returns either 1 for success or 0 for failure. It
automatically uses a GNU fastmap (see Searching with Fastmaps).
Previous: Programming with Regex, Up: Regular expressions [Contents][Index]
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.
indicates that the regular expression should match one or more occurrences of the previous atom or regexp.
indicates that the regular expression should match zero or one occurrence of the previous atom or regexp.
matches a ‘+’
matches a ‘?’.
Bracket expressions are used to match ranges of characters. Bracket expressions where the range is backward, for example ‘[z-a]’, are invalid. Within square brackets, ‘\’ can be used to quote the following character. Character classes are 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.
Next: ed regular expression syntax, Previous: awk regular expression syntax, Up: Regular expression syntaxes [Contents][Index]
The character ‘.’ matches any single character except newline.
indicates that the regular expression should match one or more occurrences of the previous atom or regexp.
indicates that the regular expression should match zero or one occurrence of the previous atom or regexp.
matches a ‘+’
matches a ‘?’.
Bracket expressions are used to match ranges of characters. Bracket expressions where the range is backward, for example ‘[z-a]’, are ignored. Within square brackets, ‘\’ is taken literally. Character classes are supported; for example ‘[[:digit:]]’ will match a single decimal digit. 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.
Next: emacs regular expression syntax, Previous: egrep regular expression syntax, Up: Regular expression syntaxes [Contents][Index]
The character ‘.’ matches any single character except the null character.
indicates that the regular expression should match one or more occurrences of the previous atom or regexp.
indicates that the regular expression should match zero or one occurrence of the previous atom or regexp.
match themselves.
Bracket expressions are used to match ranges of characters. Bracket expressions where the range is backward, for example ‘[z-a]’, are invalid. Within square brackets, ‘\’ is taken literally. Character classes are supported; for example ‘[[:digit:]]’ will match a single decimal digit.
GNU extensions are supported:
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.
Next: gnu-awk regular expression syntax, Previous: ed regular expression syntax, Up: Regular expression syntaxes [Contents][Index]
The character ‘.’ matches any single character except newline.
indicates that the regular expression should match one or more occurrences of the previous atom or regexp.
indicates that the regular expression should match zero or one occurrence of the previous atom or regexp.
matches a ‘+’
matches a ‘?’.
Bracket expressions are used to match ranges of characters. Bracket expressions where the range is backward, for example ‘[z-a]’, are ignored. Within square brackets, ‘\’ is taken literally. Character classes are 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.
Next: grep regular expression syntax, Previous: emacs regular expression syntax, Up: Regular expression syntaxes [Contents][Index]
The character ‘.’ matches any single character.
indicates that the regular expression should match one or more occurrences of the previous atom or regexp.
indicates that the regular expression should match zero or one occurrence of the previous atom or regexp.
matches a ‘+’
matches a ‘?’.
Bracket expressions are used to match ranges of characters. Bracket expressions where the range is backward, for example ‘[z-a]’, are invalid. Within square brackets, ‘\’ can be used to quote the following character. Character classes are supported; for example ‘[[:digit:]]’ will match a single decimal digit.
GNU extensions are supported:
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.
Next: posix-awk regular expression syntax, Previous: gnu-awk regular expression syntax, Up: Regular expression syntaxes [Contents][Index]
The character ‘.’ matches any single character except newline.
indicates that the regular expression should match one or more occurrences of the previous atom or regexp.
indicates that the regular expression should match zero or one occurrence of the previous atom or regexp.
match themselves.
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.
Next: posix-basic regular expression syntax, Previous: grep regular expression syntax, Up: Regular expression syntaxes [Contents][Index]
The character ‘.’ matches any single character except the null character.
indicates that the regular expression should match one or more occurrences of the previous atom or regexp.
indicates that the regular expression should match zero or one occurrence of the previous atom or regexp.
matches a ‘+’
matches a ‘?’.
Bracket expressions are used to match ranges of characters. Bracket expressions where the range is backward, for example ‘[z-a]’, are invalid. Within square brackets, ‘\’ can be used to quote the following character. Character classes are supported; for example ‘[[:digit:]]’ will match a single decimal digit.
GNU extensions are not supported and so ‘\w’, ‘\W’, ‘\<’, ‘\>’, ‘\b’, ‘\B’, ‘\`’, and ‘\'’ match ‘w’, ‘W’, ‘<’, ‘>’, ‘b’, ‘B’, ‘`’, and ‘'’ respectively.
Grouping is performed with parentheses ‘()’. An unmatched ‘)’ matches just itself. A backslash followed by a digit acts as a back-reference and matches the same thing as the previous grouped expression indicated by that number. For example ‘\2’ matches the second group expression. The order of group expressions is determined by the position of their opening parenthesis ‘(’.
The alternation operator is ‘|’.
The characters ‘^’ and ‘$’ always represent the beginning and end of a string respectively, except within square brackets. Within brackets, ‘^’ can be used to invert the membership of the character class being specified.
‘*’, ‘+’ and ‘?’ are special at any point in a regular expression except the following places, where they are not allowed:
Intervals are specified by ‘{’ and ‘}’. Invalid intervals such as ‘a{1z’ are not accepted.
The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups.
Next: posix-egrep regular expression syntax, Previous: posix-awk regular expression syntax, Up: Regular expression syntaxes [Contents][Index]
This is a synonym for ed.
Next: posix-extended regular expression syntax, Previous: posix-basic regular expression syntax, Up: Regular expression syntaxes [Contents][Index]
The character ‘.’ matches any single character except newline.
indicates that the regular expression should match one or more occurrences of the previous atom or regexp.
indicates that the regular expression should match zero or one occurrence of the previous atom or regexp.
matches a ‘+’
matches a ‘?’.
Bracket expressions are used to match ranges of characters. Bracket expressions where the range is backward, for example ‘[z-a]’, are ignored. Within square brackets, ‘\’ is taken literally. Character classes are supported; for example ‘[[:digit:]]’ will match a single decimal digit. 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.
Next: posix-minimal-basic regular expression syntax, Previous: posix-egrep regular expression syntax, Up: Regular expression syntaxes [Contents][Index]
The character ‘.’ matches any single character except the null character.
indicates that the regular expression should match one or more occurrences of the previous atom or regexp.
indicates that the regular expression should match zero or one occurrence of the previous atom or regexp.
matches a ‘+’
matches a ‘?’.
Bracket expressions are used to match ranges of characters. Bracket expressions where the range is backward, for example ‘[z-a]’, are invalid. Within square brackets, ‘\’ is taken literally. Character classes are supported; for example ‘[[:digit:]]’ will match a single decimal digit.
GNU extensions are supported:
Grouping is performed with parentheses ‘()’. An unmatched ‘)’ matches just itself. A backslash followed by a digit acts as a back-reference and matches the same thing as the previous grouped expression indicated by that number. For example ‘\2’ matches the second group expression. The order of group expressions is determined by the position of their opening parenthesis ‘(’.
The alternation operator is ‘|’.
The characters ‘^’ and ‘$’ always represent the beginning and end of a string respectively, except within square brackets. Within brackets, ‘^’ can be used to invert the membership of the character class being specified.
‘*’, ‘+’ and ‘?’ are special at any point in a regular expression except the following places, where they are not allowed:
Intervals are specified by ‘{’ and ‘}’. Invalid intervals such as ‘a{1z’ are not accepted.
The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups.
Next: sed regular expression syntax, Previous: posix-extended regular expression syntax, Up: Regular expression syntaxes [Contents][Index]
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.
Previous: posix-minimal-basic regular expression syntax, Up: Regular expression syntaxes [Contents][Index]
This is a synonym for ed.
Next: Index, Previous: Regular expressions, Up: Top [Contents][Index]
Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. http://fsf.org/ 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.
The “publisher” means any person or entity that distributes copies of the Document to the public.
A section “Entitled XYZ” means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as “Acknowledgements”, “Dedications”, “Endorsements”, or “History”.) To “Preserve the Title” of such a section when you modify the Document means that it remains a section “Entitled XYZ” according to this definition.
The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.
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 under this License. Any attempt otherwise to copy, modify, sublicense, or distribute it is void, and will automatically terminate your rights under this License.
However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, receipt of a copy of some or all of the same material does not give you any rights to use it.
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. If the Document specifies that a proxy can decide which future versions of this License can be used, that proxy’s public statement of acceptance of a version permanently authorizes you to choose that version for the Document.
“Massive Multiauthor Collaboration Site” (or “MMC Site”) means any World Wide Web server that publishes copyrightable works and also provides prominent facilities for anybody to edit those works. A public wiki that anybody can edit is an example of such a server. A “Massive Multiauthor Collaboration” (or “MMC”) contained in the site means any set of copyrightable works thus published on the MMC site.
“CC-BY-SA” means the Creative Commons Attribution-Share Alike 3.0 license published by Creative Commons Corporation, a not-for-profit corporation with a principal place of business in San Francisco, California, as well as future copyleft versions of that license published by that same organization.
“Incorporate” means to publish or republish a Document, in whole or in part, as part of another Document.
An MMC is “eligible for relicensing” if it is licensed under this License, and if all works that were first published under this License somewhere other than this MMC, and subsequently incorporated in whole or in part into the MMC, (1) had no cover texts or invariant sections, and (2) were thus incorporated prior to November 1, 2008.
The operator of an MMC Site may republish an MMC contained in the site under CC-BY-SA on the same site at any time before August 1, 2009, provided the MMC is eligible for relicensing.
To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
Copyright (C) year your name. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled ``GNU Free Documentation License''.
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the “with…Texts.” line with this:
with the Invariant Sections being list their titles, with the Front-Cover Texts being list, and with the Back-Cover Texts being list.
If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation.
If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
Previous: GNU Free Documentation License, Up: Top [Contents][Index]
Jump to: | $
(
)
*
+
-
.
=
?
[
\
]
^
_
{
|
}
A B C D E F G H I J K L M N O P Q R S T U V W X Y |
---|
Jump to: | $
(
)
*
+
-
.
=
?
[
\
]
^
_
{
|
}
A B C D E F G H I J K L M N O P Q R S T U V W X Y |
---|
Sometimes
you don’t have to explicitly quote special characters to make
them ordinary. For instance, most characters lose any special meaning
inside a list (see List Operators). In addition, if the syntax bits
RE_CONTEXT_INVALID_OPS
and RE_CONTEXT_INDEP_OPS
aren’t set, then (for historical reasons) the matcher considers special
characters ordinary if they are in contexts where the operations they
represent make no sense; for example, then the match-zero-or-more
operator (represented by ‘*’) matches itself in the regular
expression ‘*foo’ because there is no preceding expression on which
it can operate. It is poor practice, however, to depend on this
behavior; if you want a special character to be ordinary outside a list,
it’s better to always quote it, regardless.
Regex therefore doesn’t consider the ‘^’ to be the first character in the list. If you put a ‘^’ character first in (what you think is) a matching list, you’ll turn it into a nonmatching list.
You can’t use a character class for the starting or ending point of a range, since a character class is not a single character.
Regular expressions are also referred to as “patterns,” hence the name “pattern buffer.”
A table that maps all uppercase letters to the corresponding lowercase ones would work just as well for this purpose.