1775 lines
36 KiB
XML
1775 lines
36 KiB
XML
<?xml version="1.0" encoding='UTF-8'?>
|
|
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook V4.5//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
|
|
|
|
<chapter id="compatibility" xmlns:xi="http://www.w3.org/2001/XInclude">
|
|
<title>Compatibility</title>
|
|
|
|
<sect1 id="std-susv4"><title>System interfaces compatible with the Single Unix Specification, Version 7:</title>
|
|
|
|
<para>Note that the core of the Single Unix Specification, Version 7 is
|
|
also IEEE Std 1003.1-2017 (POSIX.1-2017).</para>
|
|
|
|
<screen>
|
|
FD_CLR
|
|
FD_ISSET
|
|
FD_SET
|
|
FD_ZERO
|
|
_Exit
|
|
_exit
|
|
_longjmp
|
|
_setjmp
|
|
_tolower
|
|
_toupper
|
|
a64l
|
|
abort
|
|
abs
|
|
accept
|
|
access
|
|
acos
|
|
acosf
|
|
acosh
|
|
acoshf
|
|
acoshl
|
|
acosl
|
|
aio_cancel
|
|
aio_error
|
|
aio_fsync
|
|
aio_read
|
|
aio_return
|
|
aio_suspend
|
|
aio_write
|
|
alarm
|
|
alphasort
|
|
asctime
|
|
asctime_r
|
|
asin
|
|
asinf
|
|
asinh
|
|
asinhf
|
|
asinhl
|
|
asinl
|
|
atan
|
|
atan2
|
|
atan2f
|
|
atan2l
|
|
atanf
|
|
atanh
|
|
atanhf
|
|
atanhl
|
|
atanl
|
|
atexit
|
|
atof
|
|
atoff
|
|
atoi
|
|
atol
|
|
atoll
|
|
basename (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
bind
|
|
bsearch
|
|
btowc
|
|
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 (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
clock_settime (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
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 (available in external "crypt" library)
|
|
csin
|
|
csinf
|
|
csinh
|
|
csinhf
|
|
csinhl
|
|
csinl
|
|
csqrt
|
|
csqrtf
|
|
csqrtl
|
|
ctan
|
|
ctanf
|
|
ctanh
|
|
ctanhf
|
|
ctanhl
|
|
ctanl
|
|
ctermid
|
|
ctime
|
|
ctime_r
|
|
daylight
|
|
dbm_clearerr (available in external "libgdbm" library)
|
|
dbm_close (available in external "libgdbm" library)
|
|
dbm_delete (available in external "libgdbm" library)
|
|
dbm_error (available in external "libgdbm" library)
|
|
dbm_fetch (available in external "libgdbm" library)
|
|
dbm_firstkey (available in external "libgdbm" library)
|
|
dbm_nextkey (available in external "libgdbm" library)
|
|
dbm_open (available in external "libgdbm" library)
|
|
dbm_store (available in external "libgdbm" library)
|
|
difftime
|
|
dirfd
|
|
dirname
|
|
div
|
|
dlclose
|
|
dlerror
|
|
dlopen
|
|
dlsym
|
|
dprintf
|
|
drand48
|
|
dup
|
|
dup2
|
|
duplocale
|
|
encrypt (available in external "crypt" library)
|
|
endgrent
|
|
endhostent
|
|
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
|
|
fchdir
|
|
fchmod
|
|
fchmodat
|
|
fchown
|
|
fchownat
|
|
fclose
|
|
fcntl (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
fdatasync
|
|
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
|
|
fnmatch
|
|
fopen
|
|
fork
|
|
fpathconf
|
|
fpclassify (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
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
|
|
getdelim
|
|
getdomainname
|
|
getegid
|
|
getenv
|
|
geteuid
|
|
getgid
|
|
getgrent
|
|
getgrgid
|
|
getgrgid_r
|
|
getgrnam
|
|
getgrnam_r
|
|
getgroups
|
|
gethostid
|
|
gethostname
|
|
getitimer (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
getline
|
|
getlogin
|
|
getlogin_r
|
|
getnameinfo
|
|
getopt
|
|
getpeername
|
|
getpgid
|
|
getpgrp
|
|
getpid
|
|
getppid
|
|
getpriority
|
|
getprotobyname
|
|
getprotobynumber
|
|
getprotoent
|
|
getpwent
|
|
getpwnam
|
|
getpwnam_r
|
|
getpwuid
|
|
getpwuid_r
|
|
getrlimit (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
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 (available in external "libiconv" library)
|
|
iconv_close (available in external "libiconv" library)
|
|
iconv_open (available in external "libiconv" library)
|
|
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
|
|
isatty
|
|
isblank
|
|
isblank_l
|
|
iscntrl
|
|
iscntrl_l
|
|
isdigit
|
|
isdigit_l
|
|
isfinite (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
isgraph
|
|
isgraph_l
|
|
isgreater (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
isgreaterequal (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
isinf (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
isless
|
|
islessequal (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
islessgreater (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
islower
|
|
islower_l
|
|
isnan (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
isnormal (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
isprint
|
|
isprint_l
|
|
ispunct
|
|
ispunct_l
|
|
isspace
|
|
isspace_l
|
|
isunordered (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
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 (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
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
|
|
mbrtowc
|
|
mbsinit
|
|
mbsnrtowcs
|
|
mbsrtowcs
|
|
mbstowcs
|
|
mbtowc
|
|
memccpy
|
|
memchr
|
|
memcmp
|
|
memcpy
|
|
memmove
|
|
memset
|
|
mkdir
|
|
mkdirat
|
|
mkdtemp
|
|
mkfifo
|
|
mkfifoat
|
|
mknod
|
|
mknodat
|
|
mkstemp
|
|
mktime
|
|
mlock
|
|
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 (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
msgget (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
msgrcv (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
msgsnd (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
msync
|
|
munlock
|
|
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
|
|
open_memstream
|
|
open_wmemstream
|
|
openat
|
|
opendir
|
|
openlog
|
|
optarg
|
|
opterr
|
|
optind
|
|
optopt
|
|
pathconf
|
|
pause
|
|
pclose
|
|
perror
|
|
pipe
|
|
poll
|
|
popen
|
|
posix_fadvise
|
|
posix_fallocate
|
|
posix_madvise
|
|
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
|
|
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_cond_broadcast
|
|
pthread_cond_destroy
|
|
pthread_cond_init
|
|
pthread_cond_signal
|
|
pthread_cond_timedwait
|
|
pthread_cond_wait
|
|
pthread_condattr_destroy
|
|
pthread_condattr_getclock
|
|
pthread_condattr_getpshared
|
|
pthread_condattr_init
|
|
pthread_condattr_setclock
|
|
pthread_condattr_setpshared
|
|
pthread_create
|
|
pthread_detach
|
|
pthread_equal
|
|
pthread_exit
|
|
pthread_getconcurrency
|
|
pthread_getcpuclockid
|
|
pthread_getschedparam
|
|
pthread_getspecific
|
|
pthread_join
|
|
pthread_key_create
|
|
pthread_key_delete
|
|
pthread_kill
|
|
pthread_mutex_destroy
|
|
pthread_mutex_getprioceiling
|
|
pthread_mutex_init
|
|
pthread_mutex_lock
|
|
pthread_mutex_setprioceiling
|
|
pthread_mutex_timedlock
|
|
pthread_mutex_trylock
|
|
pthread_mutex_unlock
|
|
pthread_mutexattr_destroy
|
|
pthread_mutexattr_getprioceiling
|
|
pthread_mutexattr_getprotocol
|
|
pthread_mutexattr_getpshared
|
|
pthread_mutexattr_gettype
|
|
pthread_mutexattr_init
|
|
pthread_mutexattr_setprioceiling
|
|
pthread_mutexattr_setprotocol
|
|
pthread_mutexattr_setpshared
|
|
pthread_mutexattr_settype
|
|
pthread_once
|
|
pthread_rwlock_destroy
|
|
pthread_rwlock_init
|
|
pthread_rwlock_rdlock
|
|
pthread_rwlock_timedrdlock
|
|
pthread_rwlock_timedwrlock
|
|
pthread_rwlock_tryrdlock
|
|
pthread_rwlock_trywrlock
|
|
pthread_rwlock_unlock
|
|
pthread_rwlock_wrlock
|
|
pthread_rwlockattr_destroy
|
|
pthread_rwlockattr_getpshared
|
|
pthread_rwlockattr_init
|
|
pthread_rwlockattr_setpshared
|
|
pthread_self
|
|
pthread_setcancelstate
|
|
pthread_setcanceltype
|
|
pthread_setconcurrency
|
|
pthread_setschedparam
|
|
pthread_setschedprio
|
|
pthread_setspecific
|
|
pthread_sigmask
|
|
pthread_spin_destroy
|
|
pthread_spin_init
|
|
pthread_spin_lock
|
|
pthread_spin_trylock
|
|
pthread_spin_unlock
|
|
pthread_testcancel
|
|
ptsname
|
|
putc
|
|
putc_unlocked
|
|
putchar
|
|
putchar_unlocked
|
|
putenv
|
|
puts
|
|
pututxline
|
|
putwc
|
|
putwchar
|
|
pwrite
|
|
qsort
|
|
raise
|
|
rand
|
|
rand_r
|
|
random
|
|
read
|
|
readdir
|
|
readdir_r
|
|
readlink
|
|
readlinkat
|
|
readv
|
|
realloc
|
|
realpath
|
|
recv
|
|
recvfrom
|
|
recvmsg
|
|
regcomp
|
|
regerror
|
|
regexec
|
|
regfree
|
|
remainder
|
|
remainderf
|
|
reminderl
|
|
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 (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
semget (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
semop (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
send
|
|
sendmsg
|
|
sendto
|
|
setbuf
|
|
setegid
|
|
setenv
|
|
seteuid
|
|
setgid
|
|
setgrent
|
|
sethostent
|
|
setitimer (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
setjmp
|
|
setkey (available in external "crypt" library)
|
|
setlocale
|
|
setlogmask
|
|
setpgid
|
|
setpgrp
|
|
setpriority
|
|
setprotoent
|
|
setpwent
|
|
setregid
|
|
setreuid
|
|
setrlimit (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
setservent
|
|
setsid
|
|
setsockopt
|
|
setstate
|
|
setuid
|
|
setutxent
|
|
setvbuf
|
|
shm_open
|
|
shm_unlink
|
|
shmat (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
shmctl (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
shmdt (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
shmget (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
shutdown
|
|
sigaction
|
|
sigaddset
|
|
sigaltstack
|
|
sigdelset
|
|
sigemptyset
|
|
sigfillset
|
|
sighold
|
|
sigignore
|
|
siginterrupt
|
|
sigismember
|
|
siglongjmp
|
|
signal
|
|
signbit (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
signgam
|
|
sigpause (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
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 (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
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 (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
timer_delete
|
|
timer_getoverrun
|
|
timer_gettime
|
|
timer_settime
|
|
times
|
|
timezone
|
|
tmpfile
|
|
tmpnam
|
|
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
|
|
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
|
|
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
|
|
</screen>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="std-bsd"><title>System interfaces compatible with BSD functions:</title>
|
|
|
|
<screen>
|
|
__b64_ntop
|
|
__b64_pton
|
|
arc4random
|
|
arc4random_addrandom
|
|
arc4random_buf
|
|
arc4random_stir
|
|
arc4random_uniform
|
|
bindresvport
|
|
bindresvport_sa
|
|
cfmakeraw
|
|
cfsetspeed
|
|
clearerr_unlocked
|
|
close_range
|
|
daemon
|
|
dn_comp
|
|
dn_expand
|
|
dn_skipname
|
|
drem
|
|
eaccess
|
|
endusershell
|
|
err
|
|
errx
|
|
explicit_bzero
|
|
feof_unlocked
|
|
ferror_unlocked
|
|
fflush_unlocked
|
|
fileno_unlocked
|
|
fgetc_unlocked
|
|
finite
|
|
finitef
|
|
finitel
|
|
fiprintf
|
|
flock (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
fls
|
|
flsl
|
|
flsll
|
|
forkpty
|
|
fpurge
|
|
fputc_unlocked
|
|
fread_unlocked
|
|
freeifaddrs
|
|
fstatfs
|
|
fts_children
|
|
fts_close
|
|
fts_get_clientptr
|
|
fts_get_stream
|
|
fts_open
|
|
fts_read
|
|
fts_set
|
|
fts_set_clientptr
|
|
funopen
|
|
futimes
|
|
fwrite_unlocked
|
|
gamma
|
|
gamma_r
|
|
gammaf
|
|
gammaf_r
|
|
getdtablesize
|
|
getgrouplist
|
|
getifaddrs
|
|
getloadavg
|
|
getpagesize
|
|
getpeereid
|
|
getprogname
|
|
getusershell
|
|
herror
|
|
hstrerror
|
|
inet_aton
|
|
inet_makeaddr
|
|
inet_netof
|
|
inet_network
|
|
initgroups
|
|
iruserok
|
|
iruserok_sa
|
|
issetugid
|
|
login
|
|
login_tty
|
|
logout
|
|
logwtmp
|
|
madvise
|
|
mkstemps
|
|
openpty
|
|
qsort_r (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
rcmd
|
|
rcmd_af
|
|
reallocarray
|
|
reallocf
|
|
res_close
|
|
res_init
|
|
res_mkquery
|
|
res_nclose
|
|
res_ninit
|
|
res_nmkquery
|
|
res_nquery
|
|
res_nquerydomain
|
|
res_nsearch
|
|
res_nsend
|
|
res_query
|
|
res_querydomain
|
|
res_search
|
|
res_send
|
|
revoke
|
|
rexec
|
|
rpmatch
|
|
rresvport
|
|
rresvport_af
|
|
ruserok
|
|
sbrk
|
|
setbuffer
|
|
setgroups
|
|
sethostname
|
|
setlinebuf
|
|
setpassent
|
|
setprogname
|
|
settimeofday
|
|
setusershell
|
|
statfs
|
|
strcasestr
|
|
strlcat
|
|
strlcpy
|
|
strsep
|
|
timingsafe_bcmp
|
|
timingsafe_memcmp
|
|
updwtmp
|
|
valloc
|
|
verr
|
|
verrx
|
|
vhangup (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
vsyslog
|
|
vwarn
|
|
vwarnx
|
|
wait3
|
|
wait4
|
|
warn
|
|
warnx
|
|
wcslcat
|
|
wcslcpy
|
|
</screen>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="std-gnu"><title>System interfaces compatible with GNU or Linux extensions:</title>
|
|
|
|
<screen>
|
|
__mempcpy
|
|
accept4
|
|
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
|
|
asnprintf
|
|
asprintf
|
|
asprintf_r
|
|
basename (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
canonicalize_file_name
|
|
clearenv
|
|
clog10
|
|
clog10f
|
|
clog10l
|
|
close_range (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
crypt_r (available in external "crypt" library)
|
|
dladdr (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
dremf
|
|
dup3
|
|
envz_add
|
|
envz_entry
|
|
envz_get
|
|
envz_merge
|
|
envz_remove
|
|
envz_strip
|
|
error
|
|
error_at_line
|
|
euidaccess
|
|
execvpe
|
|
exp10
|
|
exp10f
|
|
exp10l
|
|
fallocate (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
fcloseall
|
|
fcloseall_r
|
|
fedisableexcept
|
|
feenableexcept
|
|
fegetexcept
|
|
ffsl
|
|
ffsll
|
|
fgets_unlocked
|
|
fgetwc_unlocked
|
|
fgetws_unlocked
|
|
fgetxattr
|
|
flistxattr
|
|
fopencookie
|
|
fputs_unlocked
|
|
fputwc_unlocked
|
|
fputws_unlocked
|
|
fremovexattr
|
|
fsetxattr
|
|
get_avphys_pages
|
|
get_current_dir_name
|
|
get_nprocs
|
|
get_nprocs_conf
|
|
get_phys_pages
|
|
getmntent_r
|
|
getopt_long
|
|
getopt_long_only
|
|
getpt
|
|
getwc_unlocked
|
|
getwchar_unlocked
|
|
getxattr
|
|
lgetxattr
|
|
listxattr
|
|
llistxattr
|
|
lremovexattr
|
|
lsetxattr
|
|
memmem
|
|
mempcpy
|
|
memrchr
|
|
mkostemp
|
|
mkostemps
|
|
pipe2
|
|
posix_spawn_file_actions_addchdir_np
|
|
posix_spawn_file_actions_addfchdir_np
|
|
pow10
|
|
pow10f
|
|
pow10l
|
|
ppoll
|
|
pthread_cond_clockwait
|
|
pthread_getaffinity_np
|
|
pthread_getattr_np
|
|
pthread_getname_np
|
|
pthread_mutex_clocklock
|
|
pthread_rwlock_clockrdlock
|
|
pthread_rwlock_clockwrlock
|
|
pthread_setaffinity_np
|
|
pthread_setname_np
|
|
pthread_sigqueue
|
|
pthread_timedjoin_np
|
|
pthread_tryjoin_np
|
|
ptsname_r
|
|
putwc_unlocked
|
|
putwchar_unlocked
|
|
renameat2 (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
qsort_r (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
quotactl
|
|
rawmemchr
|
|
removexattr
|
|
scandirat
|
|
sched_getaffinity
|
|
sched_getcpu
|
|
sched_setaffinity
|
|
secure_getenv
|
|
sem_clockwait
|
|
setxattr
|
|
signalfd
|
|
sincos
|
|
sincosf
|
|
sincosl
|
|
strchrnul
|
|
strptime_l
|
|
strtod_l
|
|
strtof_l
|
|
strtol_l
|
|
strtold_l
|
|
strtoll_l
|
|
strtoul_l
|
|
strtoull_l
|
|
strverscmp
|
|
sysinfo
|
|
tdestroy
|
|
timerfd_create
|
|
timerfd_gettime
|
|
timerfd_settime
|
|
timegm
|
|
timelocal
|
|
toascii_l
|
|
updwtmpx
|
|
utmpxname
|
|
vasnprintf
|
|
vasprintf
|
|
vasprintf_r
|
|
versionsort
|
|
wcsftime_l
|
|
wcstod_l
|
|
wcstof_l
|
|
wcstol_l
|
|
wcstold_l
|
|
wcstoll_l
|
|
wcstoul_l
|
|
wcstoull_l
|
|
wmempcpy
|
|
</screen>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="std-solaris"><title>System interfaces compatible with Solaris or SunOS functions:</title>
|
|
|
|
<screen>
|
|
__fbufsize
|
|
__flbf
|
|
__fpending
|
|
__fpurge
|
|
__freadable
|
|
__freading
|
|
__fsetlocking
|
|
__fwritable
|
|
__fwriting
|
|
acl
|
|
aclcheck
|
|
aclfrommode
|
|
aclfrompbits
|
|
aclfromtext
|
|
aclsort
|
|
acltomode
|
|
acltopbits
|
|
acltotext
|
|
endmntent
|
|
facl
|
|
fegetprec
|
|
fesetprec
|
|
futimesat
|
|
getmntent
|
|
memalign
|
|
setmntent
|
|
sig2str
|
|
str2sig
|
|
xdr_array (available in external "libtirpc" library)
|
|
xdr_bool (available in external "libtirpc" library)
|
|
xdr_bytes (available in external "libtirpc" library)
|
|
xdr_char (available in external "libtirpc" library)
|
|
xdr_double (available in external "libtirpc" library)
|
|
xdr_enum (available in external "libtirpc" library)
|
|
xdr_float (available in external "libtirpc" library)
|
|
xdr_free (available in external "libtirpc" library)
|
|
xdr_hyper (available in external "libtirpc" library)
|
|
xdr_int (available in external "libtirpc" library)
|
|
xdr_int16_t (available in external "libtirpc" library)
|
|
xdr_int32_t (available in external "libtirpc" library)
|
|
xdr_int64_t (available in external "libtirpc" library)
|
|
xdr_int8_t (available in external "libtirpc" library)
|
|
xdr_long (available in external "libtirpc" library)
|
|
xdr_longlong_t (available in external "libtirpc" library)
|
|
xdr_netobj (available in external "libtirpc" library)
|
|
xdr_opaque (available in external "libtirpc" library)
|
|
xdr_pointer (available in external "libtirpc" library)
|
|
xdr_reference (available in external "libtirpc" library)
|
|
xdr_short (available in external "libtirpc" library)
|
|
xdr_sizeof (available in external "libtirpc" library)
|
|
xdr_string (available in external "libtirpc" library)
|
|
xdr_u_char (available in external "libtirpc" library)
|
|
xdr_u_hyper (available in external "libtirpc" library)
|
|
xdr_u_int (available in external "libtirpc" library)
|
|
xdr_u_int16_t (available in external "libtirpc" library)
|
|
xdr_u_int32_t (available in external "libtirpc" library)
|
|
xdr_u_int64_t (available in external "libtirpc" library)
|
|
xdr_u_int8_t (available in external "libtirpc" library)
|
|
xdr_u_long (available in external "libtirpc" library)
|
|
xdr_u_longlong_t (available in external "libtirpc" library)
|
|
xdr_u_short (available in external "libtirpc" library)
|
|
xdr_uint16_t (available in external "libtirpc" library)
|
|
xdr_uint32_t (available in external "libtirpc" library)
|
|
xdr_uint64_t (available in external "libtirpc" library)
|
|
xdr_uint8_t (available in external "libtirpc" library)
|
|
xdr_union (available in external "libtirpc" library)
|
|
xdr_vector (available in external "libtirpc" library)
|
|
xdr_void (available in external "libtirpc" library)
|
|
xdr_wrapstring (available in external "libtirpc" library)
|
|
xdrmem_create (available in external "libtirpc" library)
|
|
xdrrec_create (available in external "libtirpc" library)
|
|
xdrrec_endofrecord (available in external "libtirpc" library)
|
|
xdrrec_eof (available in external "libtirpc" library)
|
|
xdrrec_skiprecord (available in external "libtirpc" library)
|
|
__xdrrec_getrec (available in external "libtirpc" library)
|
|
__xdrrec_setnonblock (available in external "libtirpc" library)
|
|
xdrstdio_create (available in external "libtirpc" library)
|
|
</screen>
|
|
|
|
<sect1 id="std-iso"><title>System interfaces not in POSIX but compatible with ISO C requirements:</title>
|
|
|
|
<screen>
|
|
aligned_alloc (ISO C11)
|
|
at_quick_exit (ISO C11)
|
|
c16rtomb (ISO C11)
|
|
c32rtomb (ISO C11)
|
|
c8rtomb (ISO C23)
|
|
call_once (ISO C11)
|
|
cnd_broadcast (ISO C11)
|
|
cnd_destroy (ISO C11)
|
|
cnd_init (ISO C11)
|
|
cnd_signal (ISO C11)
|
|
cnd_timedwait (ISO C11)
|
|
cnd_wait (ISO C11)
|
|
mbrtoc16 (ISO C11)
|
|
mbrtoc32 (ISO C11)
|
|
mbrtoc8 (ISO C23)
|
|
mtx_destroy (ISO C11)
|
|
mtx_init (ISO C11)
|
|
mtx_lock (ISO C11)
|
|
mtx_timedlock (ISO C11)
|
|
mtx_trylock (ISO C11)
|
|
mtx_unlock (ISO C11)
|
|
quick_exit (ISO C11)
|
|
thrd_create (ISO C11)
|
|
thrd_current (ISO C11)
|
|
thrd_detach (ISO C11)
|
|
thrd_equal (ISO C11)
|
|
thrd_exit (ISO C11)
|
|
thrd_join (ISO C11)
|
|
thrd_sleep (ISO C11)
|
|
thrd_yield (ISO C11)
|
|
tss_create (ISO C11)
|
|
tss_delete (ISO C11)
|
|
tss_get (ISO C11)
|
|
tss_set (ISO C11)
|
|
</screen>
|
|
|
|
</sect1>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="std-deprec"><title>Other UNIX system interfaces, not in POSIX.1-2008 or deprecated:</title>
|
|
|
|
<screen>
|
|
bcmp (POSIX.1-2001, SUSv3)
|
|
bcopy (SUSv3)
|
|
bzero (SUSv3)
|
|
chroot (SUSv2) (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
clock_setres (QNX, VxWorks) (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
cuserid (POSIX.1-1988, SUSv2)
|
|
ecvt (SUSv3)
|
|
endutent (XPG2)
|
|
fcvt (SUSv3)
|
|
ftime (SUSv3)
|
|
gcvt (SUSv3)
|
|
getcontext (SUSv3)
|
|
gethostbyaddr (SUSv3)
|
|
gethostbyname (SUSv3)
|
|
gethostbyname2 (first defined in BIND 4.9.4)
|
|
getpass (SUSv2)
|
|
getutent (XPG2)
|
|
getutid (XPG2)
|
|
getutline (XPG2)
|
|
getw (SVID)
|
|
getwd (SUSv3)
|
|
h_errno (SUSv3)
|
|
index (SUSv3)
|
|
makecontext (SUSv3)
|
|
mallinfo (SVID)
|
|
mallopt (SVID)
|
|
mktemp (SUSv3)
|
|
on_exit (SunOS)
|
|
pthread_attr_getstackaddr (SUSv3)
|
|
pthread_attr_setstackaddr (SUSv3)
|
|
pthread_continue (XPG2)
|
|
pthread_getsequence_np (Tru64)
|
|
pthread_suspend (XPG2)
|
|
pthread_yield (POSIX.1c drafts)
|
|
pututline (XPG2)
|
|
putw (SVID)
|
|
rindex (SUSv3)
|
|
scalb (SUSv3)
|
|
setcontext (SUSv3)
|
|
setutent (XPG2)
|
|
stime (SVID)
|
|
swapcontext (SUSv3)
|
|
sys_errlist (BSD)
|
|
sys_nerr (BSD)
|
|
sys_siglist (BSD)
|
|
toascii (SUSv3)
|
|
ttyslot (SUSv2)
|
|
ualarm (SUSv3)
|
|
usleep (SUSv3)
|
|
utmpname (XPG2)
|
|
vfork (SUSv3) (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
|
|
</screen>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="std-notimpl"><title>NOT implemented system interfaces from the Single Unix Specification, Volume 7:</title>
|
|
|
|
<screen>
|
|
endnetent
|
|
fattach
|
|
fmtmsg
|
|
getdate
|
|
getdate_err
|
|
gethostent
|
|
getmsg
|
|
getnetbyaddr
|
|
getnetbyname
|
|
getnetent
|
|
getpmsg
|
|
isastream
|
|
mlockall
|
|
munlockall
|
|
posix_mem_offset
|
|
posix_trace[...]
|
|
posix_typed_[...]
|
|
pthread_mutexattr_getrobust
|
|
pthread_mutexattr_setrobust
|
|
pthread_mutex_consistent
|
|
putmsg
|
|
setnetent
|
|
ulimit
|
|
waitid
|
|
</screen>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="std-notes"><title>Implementation Notes</title>
|
|
|
|
<para><function>chroot</function> only emulates a chroot function call
|
|
by keeping track of the current root and accomodating this in the file
|
|
related function calls. A real chroot functionality is not supported by
|
|
Windows however.</para>
|
|
|
|
<para><function>clock_nanosleep</function> currently supports only
|
|
CLOCK_REALTIME and CLOCK_MONOTONIC. <function>clock_setres</function>,
|
|
<function>clock_settime</function>, and <function>timer_create</function>
|
|
currently support only CLOCK_REALTIME.</para>
|
|
|
|
<para><function>close_range</function> does not support the Linux-specific
|
|
flag CLOSE_RANGE_UNSHARE.</para>
|
|
|
|
<para>POSIX file locks via <function>fcntl</function> or
|
|
<function>lockf</function>, as well as BSD <function>flock</function> locks
|
|
are advisory locks. They don't interact with Windows mandatory locks, nor
|
|
do POSIX fcntl locks interfere with BSD flock locks or vice versa.</para>
|
|
|
|
<para>BSD file locks created via <function>flock</function> are only
|
|
propagated to the direct parent process, not to grand parents or sibling
|
|
processes. The locks are only valid in the creating process, its parent
|
|
process, and subsequently started child processes sharing the same file
|
|
descriptor.</para>
|
|
|
|
<para>In very rare circumstances an application would want to use Windows
|
|
mandatory locks to interact with non-Cygwin Windows processes accessing the
|
|
same file (databases, etc). For these purposes, the entire locking mechanism
|
|
(fcntl/flock/lockf) can be switched to Windows mandatory locks on a
|
|
per-descriptor/per-process basis. For this purpose, use the call
|
|
|
|
<screen>
|
|
fcntl (fd, F_LCK_MANDATORY, 1);
|
|
</screen>
|
|
|
|
After that, all file locks on this descriptor will follow Windows mandatory
|
|
record locking semantics: Locks are per-descriptor/per-process; locks are not
|
|
propagated to child processes, not even via <function>execve</function>;
|
|
no atomic replacement of read locks with write locks and vice versa on the
|
|
same descriptor; locks have to be unlocked exactly as they have been locked.
|
|
</para>
|
|
|
|
<para><function>fpclassify</function>, <function>isfinite</function>,
|
|
<function>isgreater</function>, <function>isgreaterequal</function>,
|
|
<function>isinf</function>, <function>isless</function>,
|
|
<function>islessequal</function>, <function>islessgreater</function>,
|
|
<function>isnan</function>, <function>isnormal</function>,
|
|
<function>isunordered</function>, and <function>signbit</function>
|
|
only support float and double arguments, not long double arguments.</para>
|
|
|
|
<para><function>getitimer</function> and <function>setitimer</function>
|
|
only support ITIMER_REAL for now.</para>
|
|
|
|
<para><function>link</function> will fail on FAT, FAT32, and other filesystems
|
|
not supporting hardlinks, just as on Linux.</para>
|
|
|
|
<para><function>lseek</function> only works properly on files opened in
|
|
binary mode. On files opened in textmode (via mount mode or explicit
|
|
open flag) its positioning is potentially unreliable.</para>
|
|
|
|
<para><function>setuid</function> is only safe against reverting the user
|
|
switch after a call to one of the exec(2) functions took place. Windows
|
|
doesn't support a non-revertable user switch within the context of Win32
|
|
processes.</para>
|
|
|
|
<para><function>vfork</function> just calls <function>fork</function>.</para>
|
|
|
|
<para><function>vhangup</function> and <function>revoke</function> always
|
|
return -1 and set errno to ENOSYS. <function>grantpt</function> and
|
|
<function>unlockpt</function> always just return 0.</para>
|
|
|
|
<para>The XSI IPC functions <function>semctl</function>,
|
|
<function>semget</function>, <function>semop</function>,
|
|
<function>shmat</function>, <function>shmctl</function>,
|
|
<function>shmdt</function>, <function>shmget</function>,
|
|
<function>msgctl</function>, <function>msgget</function>,
|
|
<function>msgrcv</function> and <function>msgsnd</function> are only
|
|
available when cygserver is running.</para>
|
|
|
|
<para>The Linux-specific function <function>quotactl</function> only implements
|
|
what works on Windows: Windows only supports user block quotas on NTFS, no
|
|
group quotas, no inode quotas, no time constraints.</para>
|
|
|
|
<para><function>qsort_r</function> is available in both BSD and GNU flavors,
|
|
depending on whether _BSD_SOURCE or _GNU_SOURCE is defined when compiling.</para>
|
|
|
|
<para>The Linux-specific function <function>renameat2</function> only
|
|
supports the RENAME_NOREPLACE flag.</para>
|
|
|
|
<para><function>basename</function> is available in both POSIX and GNU flavors,
|
|
depending on whether libgen.h is included or not.</para>
|
|
|
|
<para><function>sigpause</function> is available in both BSD and SysV/XSI
|
|
flavors, depending on whether _XOPEN_SOURCE is defined when compiling.</para>
|
|
|
|
<para><function>strerror_r</function> is available in both POSIX and GNU
|
|
flavors, depending on whether _GNU_SOURCE is defined when compiling.</para>
|
|
|
|
<para><function>dladdr</function> always sets the Dl_info members dli_sname and
|
|
dli_saddr to NULL, indicating no symbol matching addr could be found.</para>
|
|
|
|
<para><function>getrlimit</function> resources RLIMIT_AS, RLIMIT_CPU,
|
|
RLIMIT_FSIZE, RLIMIT_DATA always return rlim_cur and rlim_max as RLIM_INFINITY,
|
|
so <function>setrlimit</function> returns -1 and sets EINVAL if they are
|
|
lowered, or returns 0 if unchanged.
|
|
<function>getrlimit</function> resource RLIMIT_NOFILE always returns rlim_cur
|
|
and rlim_max as OPEN_MAX; <function>setrlimit</function> returns 0 sets EINVAL
|
|
if rlim_cur > rlim_max, does not change the value if it is RLIM_INFINITY,
|
|
otherwise returns the result from <function>setdtablesize</function>.
|
|
<function>getrlimit</function>/<function>setrlimit</function> resources
|
|
RLIMIT_CORE and RLIMIT_STACK return the current values and set the requested
|
|
values.
|
|
All other resource arguments return -1 and set EINVAL.</para>
|
|
|
|
<para><function>fallocate</function> has a few Windows quirks: The
|
|
FALLOC_FL_ZERO_RANGE operation is NOT atomic. With flags set to 0 and
|
|
FALLOC_FL_KEEP_SIZE, sparse blocks in the given range are re-allocated
|
|
as per the POSIX requirements. This re-allocation operation isn't
|
|
atomic either. Over-allocation with FALLOC_FL_KEEP_SIZE is only
|
|
temporary on Windows until the last handle to the file is closed.
|
|
Over-allocation on sparse files is entirely ignored on Windows.</para>
|
|
|
|
</sect1>
|
|
|
|
</chapter>
|