POSIX.1 API Support

MacOS X, Linux, MS Visual C++ RTL, Cygwin, MinGW, and NSPR 4.3

12/16/2003

Syd Logan (slogan@cts.com)

Overview


This table indicates which of the POSIX.1 functions (as listed in the Open Group Single Unix Specification) are supported on MacOS X (gcc 3.3), Linux (gcc 3.2.2),  Microsoft Windows Runtime Library (MS Visual C++ 7.0 .NET), Cygwin, MingGW, and NSPR 4.3.  For MacOS X, Cygwin, MinGW and Linux, the list was generated by searching header files for the functions that are defined in the specification. To get the list of Microsoft Windows Runtime Library functions, the Runtime Library documentation posted on MSDN was consulted. The Cygwin online documentation was also used to complete the Cygwin list.

The Single Unix Specification groups together some of the functions, for example execl, execvp, etc. are described under the heading "exec", and so the list of functions in the specification is actually larger than what is presented in this table. Still, there are over 800 entries in the table, and is complete in the sense that all of the functionality of the Single Unix Specification is represented here.

The NSPR 4.3 column attempts to identify the functions in NSPR that provide a similar capability to the POSIX.1 interface, although using a different syntax that defined by POSIX.1. Where support for a given interface is not provided on MacOS X, MS Windows, and Linux, then the NSPR function, if one is supported, may provide an acceptable solution. The NSPR functions not in green may also be applicable for ports outside of the three platforms this table focuses itself upon.

Functions that exist on all three platforms are identified with green background in the Function column. Interfaces that are not available everywhere but have a solution in NSPR are identified with a green background color in the NSPR 4.3 column.

In some cases, Microsoft C++ Runtime library defines a function that has the same name as the POSIX function, prefixed with one or more underscore ('_') characters. For example, _open(), _read(), _write(), and _close(), corresponding to the POSIX.1 functions open(), read(), write(), and close() respectively. Since the names are not portable due to the prefixed underscores, not to mention they may accept different arguments and may have different semantics than defined by the POSIX standard, I have opted to not flag the corresponding functions with a green background in the Function column. In the case where there exists an NSPR equivalent (or C++ functionality, say iostreams, or perhaps functionality from some other library, such as Boost), use of the equivalent is preferred since 1) the API is the same across platforms 2) the semantics are the same across platforms. If not portable alternative exists, wrapping the function on all platforms and calling the wrapper function is perhaps the best alternative, as long as care is taken to ensure that the wrapper only exposes (and promises) functionality present across all platforms.

Related Links

Unix98 API tables
Unix03 (Single Unix Specification) API tables



MacOS X Darwin 6.8 gcc 3.3
RedHat 9.0 Linux gcc 3.2.2
MS Visual C++ 7.0 .NET Runtime Library
MinGW
Cygwin
NSPR 4.3
FD_CLR
X
X X
X
X

_Exit
X
X X
X
X

_longjmp

X



_tolower

X X
X
X

_toupper

X X
X
X

a64l
X
X



abort X
X X
X
X
prinit.h: PR_Abort
abs
X
X X
X
X

accept X
X X
X
X
prio.h: PR_Accept
access
X X _access
X
X
prio.h: PR_Access
acos X
X X
X
X

acosh
X
X

X

acosl



X


aio_cancel

X



aio_error






aio_fsync






aio_read

X




aio_return






aio_suspend

X



aio_write






alarm
X
X

X

asctime
X
X X X
X

asin
X
X X
X
X

asinh
X
X

X

asinl



X


assert X
X X
X
X
prlog.h: PR_Assert
atan
X
X X
X
X

atan2
X
X X
X
X

atanf


X
X
X

atanh
X X

X

atanl



X


atexit
X
X X
X
X

atof
X

X
X
X

atoi
X

X
X
X

atol
X

X
X
X

basename
X
X



bcmp
X
X

X

bcopy
X



X

bind X
X X
X
X
prio.h: PR_Bind 
bsd_signal
X



bsearch
X
X X
X
X

btowc

X
X
X

bzero
X
X

X

cabs
X X
_cabs
X
X

cacos

X




cacosh

X




cacosl






calloc X
X X
X
X
prmem.h: PR_Calloc
carg

X



casin

X




casinh

X




casinl






catan

X




catanh

X




catanl






catclose

X



catgets

X



catopen

X



cbrt
X
X
X
X

ccos

X




ccosh

X




ccosl






ceil
X
X X
X
X

cexp

X




cfgetispeed
X
X

X

cfgetospeed X
X

X

cfsetispeed
X
X

X

cfsetospeed
X
X

X

chdir X
X
X
X

chmod
X
X _chmod
X
X

chown
X
X

X

cimag

X



clearerr
X
X X
X
X

clock X
X X
X
X
prinrval.h: PR_IntervalNow
clock_getcpuclockid

X

X

clock_getres

X

X

clock_nanosleep

X



clock_settime

X

X

clog

X




close
X
X _close
X
X
prio.h: PR_Close
closedir
X
X
X
X
prio.h: PR_CloseDir()
closelog
X
X

X
prlog.h: close is implicit.
confstr
X
X



conj
X
X



connect X
X
X
X
X
prio.h:  PR_Connect
copysign
X
X
X
X

cos
X
X X
X
X

cosh
X
X X
X
X

cosl



X


cpow

X




cproj

X



creal

X



creat
X
X _creat
X
X
prio.h: PR_Open
crypt
X
X

X

csin

X




csinh

X




csinl






csqrt

X




ctan

X




ctanh

X




ctanl






ctermid X
X

X

ctime
X X X X
X

dbm_clearerr

X

X

difftime
X
X X
X
X

dirname
X
X



div
X X X
X
X

dlclose

X

X
prlink.h: PR_UnloadLibrary
dlerror

X

X

dlopen

X

X
prlink.h: PR_LoadLibrary
dlsym

X

X
prlink.h: PR_FindSymbol
drand48
X
X

X

dup X
X _dup
X
X

ecvt

X _ecvt
X
X

encrypt X
X

X

endgrent
X
X

X

endhostent
X
X

X

endnetent
X
X

X

endprotoent
X
X

X

endpwent
X
X

X

endservent
X
X

X

endutxent

X



erand48
X X

X

erf
X
X
X
X

erfc
X
X
X
X

erff



X
X

errno
X X
X
X
prerror.h: PR_GetError
exec
X
X _exec
X
X
prproces.h:  PR_CreateProcess
exit
X
X X
X
X
prinit.h: PR_ProcessExit
exp X

X
X
X

exp2
X
X
X
X

expm1
X
X

X

fabs
X
X X X
X

fattach

X



fchdir
X
X



fchmod
X
X

X

fchown
X
X



fclose
X
X X
X
X

fcntl X X

X

fcvt

X _fcvt
X
X

fdatasync

X



fdetach

X



fdim X
X
X
X

fdopen X
X _fdopen
X
X

feclearexcept
X
X
X


fegetenv
X
X
X


fegetexceptflag
X
X
X


fegetround
X
X
X


feholdexcept
X
X
X


feof
X
X X
X
X
prio.h: PR_Available
feraiseexcept
X
X
X


ferror
X
X X
X
X

fesetenv
X
X
X


fesetexceptflag
X
X
X


fesetround
X
X
X


fetestexcept
X
X
X


feupdateenv
X
X
X


fflush
X
X X X
X

ffs
X
X
X
X

fgetc
X
X X
X
X

fgetpos
X
X X
X
X

fgets
X
X X
X
X

fgetwc

X X
X


fgetws

X X
X


fileno X
X _fileno
X
X

flockfile

X
X
X

floor X
X X
X
X

fma
X
X
X
X

fmax
X
X
X
X

fmin
X
X
X
X

fmod
X
X X
X
X

fmtmsg

X



fnmatch X
X

X

fopen
X

X
X
X

fork X
X

X
prproces.h: PR_CreateProcess
fpathconf
X
X

X

fpclassify X
X
X
X

fprintf
X
X
X
X
X
prprf.h: PR_fprintf
fputc
X
X X
X
X

fputs
X
X X
X
X

fputwc

X X
X


fputws

X X
X


fread
X
X X
X
X

free
X
X X
X
X
prmem.h: PR_Free
freeaddrinfo
X
X X
X


freopen
X

X
X
X

frexp
X
X X
X
X

fscanf X
X X
X
X

fseek X
X X
X
X

fsetpos
X
X X
X
X

fstat
X
X _fstat

X

fstatvfs

X



fsync X
X

X
prio.h: PR_Fsync
ftell
X
X X
X
X

ftime
X
X _ftime

X
prtime.h: PR_Now
ftok
X
X


prshm.h: PR_OpenSharedMemory
ftruncate
X
X

X
prio.h: PR_OpenFile
ftrylockfile

X

X

ftw

X



funlockfile

X

X

fwide

X
X


fwprintf

X X
X


fwrite
X
X X
X
X

fwscanf

X X
X
X

gai_strerror
X
X X
X


gcvt

X _gcvt
X
X

getaddrinfo X
X X
X


getc X

X
X
X

getc_unlocked

X

X

getchar
X
X X
X
X

getchar_unlocked

X

X

getcontext

X



getcwd
X
X _getcwd
X
X

getdate




X
prtime.h: PR_ExplodeTime
getegid
X
X

X

getenv
X

X
X
X
prenv.h:  PR_GetEnv()
geteuid
X
X

X

getgid
X
X

X

getgrent
X
X

X

getgrgid
X
X

X

getgrnam
X
X

X

getgroups
X
X

X

gethostbyaddr X
X X
X
X
prnetdb.h: PR_GetHostByAddr
gethostent
X
X

X
prnetdb.h: PR_EnumerateHostEnt
gethostid
X
X



gethostname
X
X X
X
X

getitimer
X
X

X
prinrval.h: PR_IntervalNow
getlogin
X
X

X

getmsg

X

X

getnameinfo X
X X
X


getnetbyaddr
X
X

X

getopt
X
X
X
X
plgetopt.h: PL_CreateOptState
getpeername X
X X
X
X
prio.h: PR_GetPeerName
getpgid
X
X

X

getpgrp
X
X

X

getpid
X
X _getpid
X
X

getpmsg

X



getppid
X



X

getpriority
X
X



getprotobyname
X
X X
X
X

getpwent
X
X

X

getpwnam
X
X

X

getpwuid
X
X

X

getrlimit
X
X

X

getrusage
X





gets X
X X X
X

getservbyname
X
X X
X
X

getsid
X
X



getsockname
X
X X
X
X
prio.h: PR_GetSockName
getsockopt X
X X
X
X
prio.h: PR_GetSocketOption
getsubopt X
X



gettimeofday X
X

X
prtime.h: PR_Now
getuid X
X

X

getutxent

X



getwc

X X
X


getwchar

X X
X


getwd
X
X



glob X
X

X

gmtime
X
X X
X
X
prtime.h: PR_ExplodeTime
grantpt

X

X

h_errno
X
X
X
X
PR_GetError
hcreate

X

X
plhash.h: PL_NewHashTable
htonl
X
X X
X
X
pnetdb: PR_htonl
hypot
X
X
X
X

iconv

X

X

iconv_close

X

X

iconv_open

X

X

if_freenameindex
X
X




if_indextoname
X
X



if_nameindex
X
X




if_nametoindex
X
X




ilogb X
X
X
X

imaxabs
X
X
X
X

imaxdiv
X
X
X
X

index X
X
X
X

inet_addr X X
X
X
X
prnetdb.h: PR_StringToNetAddr
inet_ntop
X
X




initstate
X





insque X
X



ioctl X
X

X
 
isalnum
X
X X

X

isalpha
X
X X

X

isascii
X
X __isascii
X
X

isastream

X



isatty
X
X _isatty
X
X

isblank
X
X

X

iscntrl
X
X X
X
X

isdigit
X
X X
X
X

isfinite
X
X
X
X

isgraph
X
X X
X
X

isgreater
X
X
X
X

isgreaterequal
X
X
X
X

isinf
X
X
X
X

isless
X
X
X
X

islessequal
X
X
X
X

islessgreater
X
X
X
X

islower
X
X X
X
X

isnan X
X _isnan
X
X

isnormal
X
X
X
X

isprint
X
X X
X
X

ispunct
X
X X
X
X

isspace
X
X
X
X
X

isunordered
X
X
X
X

isupper
X
X X
X
X

iswalnum

X X
X
X

iswalpha

X X
X
X

iswblank

X

X

iswcntrl

X
X
X
X

iswctype

X X
X
X

iswdigit

X X
X
X

iswgraph


X
X
X

iswlower

X X
X
X

iswprint

X X
X
X

iswpunct


X
X
X

iswspace

X X
X
X

iswupper


X
X
X

iswxdigit

X X
X
X

isxdigit
X
X X
X
X

j0
X
X
_j0
X
X

jrand48
X
X

X

kill
X
X

X
prproces.h: PR_KillProcess
killpg
X
X

X

l64a
X
X

X

labs
X
X X
X
X

lchown

X



lcong48
X
X

X

ldexp
X
X X
X
X

ldiv
X
X X
X
X

lfind

X
X


lgamma
X
X
X
X

link X
X

X

lio_listio

X



listen X
X X
X
X
prio.h: PR_Listen
llabs

X
X


lldiv

X
X


llrint
X
X
X


llround
X
X
X


localeconv
X
X X
X
X

localtime
X
X
X
X
X
prtime.h: PR_ExplodeTime
lockf
X X




log X
X X X
X

log10 X
X X
X
X

log1p
X
X
X
X

log2 X
X
X
X

logb
X
X
X


logf


X
X
X

longjmp
X
X X
X
X

lrand48
X
X

X

lrint
X
X
X
X

lround
X
X
X
X

lsearch

X
X


lseek
X
X
X
X

lstat X
X

X

makecontext

X



malloc X
X X
X
X
prmem.h: PR_Malloc
mblen
X
X X
X
X

mbrlen

X
X
X

mbrtowc

X
X
X

mbsinit

X X
X
X

mbsrtowcs

X
X
X

mbstowcs
X
X X
X
X

mbtowc
X
X X
X
X

memccpy
X
X _memccpy
X
X

memchr
X
X X
X
X

memcmp X
X X
X
X

memcpy
X
X X
X
X

memmove
X
X X
X
X

memset
X
X X
X
X

mkdir
X
X _mkdir
X
X
prio.h: PR_MkDir
mkfifo
X
X



mknod
X
X

X

mkstemp
X
X

X

mktemp
X
X _mktemp
X
X

mktime
X
X X
X
X
prtime.h: PR_ImplodeTime
mlock
X
X



mlockall
X
X



mmap X



X

modf
X
X
X
X
X

mprotect
X
X

X

mq_close






mq_getattr






mq_notify






mq_open






mq_receive






mq_send






mq_setattr






mq_timedreceive






mq_timedsend






mq_unlink






mrand48
X
X

X

msgctl

X



msgget

X



msgrcv

X



msgsnd

X



msync X
X

X

munlock
X
X



munlockall
X
X



munmap
X
X

X

nan X
X
X
X

nanosleep
X
X


X
prthread.h: PR_Sleep
nearbyint
X
X
X
X

nextafter
X
X _nextafter
X
X

nftw






nice
X
X

X

nl_langinfo




X

nrand48
X
X

X

ntohl
X
X
X
X
X
prnetdb.h: PR_ntohl
open
X
X _open
X
X
prio.h: PR_Open
opendir
X
X
X
X
prio.h: PR_OpenDir
openlog X
X

X
prlog.h: PR_NewLogModule
optarg
X
X
X
X
plgetopt.h: PL_GetNextOpt
pathconf
X
X

X

pause
X
X

X

pclose
X
X
X
X
prio.h: PR_Close
perror X
X X
X
X
prerror.h: PR_GetErrorText
pipe X

_pipe

X
prio.h: PR_CreatePipe
poll
X
X


prio.h: PR_Poll
popen
X
X _popen
X
X

posix_fadvise

X



posix_fallocate






posix_madvise
X
X



posix_mem_offset






posix_memalign

X



posix_openpt

X



posix_spawn

X



posix_spawn_file_actions_addclose

X



posix_spawn_file_actions_adddup2

X



posix_spawn_file_actions_addopen

X



posix_spawn_file_actions_destroy

X



posix_spawnattr_destroy

X



posix_spawnattr_getflags

X



posix_spawnattr_getpgroup

X



posix_spawnattr_getschedparam

X



posix_spawnattr_getschedpolicy

X



posix_spawnattr_getsigdefault

X



posix_spawnattr_getsigmask

X



posix_spawnattr_init

X



posix_spawnattr_setflags

X



posix_spawnattr_setpgroup

X



posix_spawnattr_setschedparam

X



posix_spawnattr_setschedpolicy

X



posix_spawnattr_setsigdefault

X



posix_spawnattr_setsigmask

X



posix_spawnp

X



posix_trace_attr_destroy






posix_trace_attr_getclockres






posix_trace_attr_getinherited






posix_trace_attr_getlogsize






posix_trace_attr_getname






posix_trace_attr_getstreamfullpolicy






posix_trace_attr_getstreamsize






posix_trace_attr_init






posix_trace_attr_setinherited






posix_trace_attr_setlogsize






posix_trace_attr_setname






posix_trace_attr_setstreamfullpolicy






posix_trace_attr_setstreamsize






posix_trace_clear






posix_trace_close






posix_trace_create






posix_trace_event






posix_trace_eventid_equal






posix_trace_eventid_open






posix_trace_eventset_add






posix_trace_eventtypelist_getnext_id






posix_trace_flush






posix_trace_get_attr






posix_trace_get_filter






posix_trace_get_status






posix_trace_getnext_event






posix_trace_open






posix_trace_set_filter






posix_trace_shutdown






posix_trace_start






posix_trace_timedgetnext_event






posix_trace_trid_eventid_open






posix_trace_trygetnext_event






posix_typed_mem_get_info






posix_typed_mem_open






pow
X
X X
X
X

pread
X
X



printf X
X X
X
X

pselect

X



pthread_atfork

X



pthread_attr_destroy
X
X

X

pthread_attr_getdetachstate
X
X

X

pthread_attr_getguardsize

X



pthread_attr_getinheritsched

X

X

pthread_attr_getschedparam
X
X

X

pthread_attr_getschedpolicy
X
X

X

pthread_attr_getscope
X
X

X

pthread_attr_getstack
X
X



pthread_attr_getstackaddr
X
X

X

pthread_attr_getstacksize
X
X

X

pthread_attr_init
X
X

X

pthread_attr_setdetachstate
X
X

X

pthread_attr_setguardsize

X



pthread_attr_setinheritsched

X

X

pthread_attr_setschedparam
X
X

X

pthread_attr_setschedpolicy
X
X

X

pthread_attr_setscope
X
X

X

pthread_attr_setstack
X
X



pthread_attr_setstackaddr
X
X

X

pthread_attr_setstacksize
X
X

X
prthread.h: argument to PR_CreateThread
pthread_barrier_destroy






pthread_barrier_wait

X



pthread_barrierattr_destroy

X



pthread_barrierattr_getpshared

X



pthread_barrierattr_init

X



pthread_barrierattr_setpshared

X



pthread_cancel
X
X

X

pthread_cleanup_pop
X
X

X

pthread_cond_broadcast
X
X

X
prcvar.h: PR_NotifyAllCondVar
pthread_cond_destroy
X
X

X
prcvar.h: PR_DestroyCondVar
pthread_cond_signal
X
X

X
prcvar.h: PR_NotifyCondVar
pthread_cond_timedwait
X
X

X
prcvar.h: PR_WaitCondVar
pthread_condattr_destroy
X
X


X

pthread_condattr_getclock






pthread_condattr_getpshared
X
X

X

pthread_condattr_init
X
X


X
prcvar.h: PR_NewCondVar
pthread_condattr_setclock






pthread_condattr_setpshared
X
X

X

pthread_create
X
X

X
prthread.h: PR_CreateThread
pthread_detach
X
X

X

pthread_equal
X
X

X

pthread_exit
X
X

X

pthread_getconcurrency
X
X

X

pthread_getcpuclockid

X



pthread_getschedparam
X
X

X

pthread_getspecific
X
X

X

pthread_join
X
X


X
prthread.h: PR_JoinThread
pthread_key_create
X
X

X

pthread_key_delete
X
X

X

pthread_kill
X
X


X

pthread_mutex_destroy
X
X

X
prmon.h: PR_DestroyMonitor
pthread_mutex_getprioceiling
X



X

pthread_mutex_init
X
X

X
prmon.h: PR_NewMonitor
pthread_mutex_lock
X
X

X
prmon.h: PR_EnterMonitor
PR_ExitMonitor
pthread_mutex_setprioceiling
X



X

pthread_mutex_timedlock

X


prmon.h: PR_Wait
pthread_mutex_trylock
X
X


X
prmon.h: PR_Wait
pthread_mutexattr_destroy
X
X

X

pthread_mutexattr_getprioceiling
X



X

pthread_mutexattr_getprotocol
X



X

pthread_mutexattr_getpshared
X
X

X

pthread_mutexattr_gettype
X
X

X

pthread_mutexattr_init
X
X

X

pthread_mutexattr_setprioceiling
X



X

pthread_mutexattr_setprotocol




X

pthread_mutexattr_setpshared
X
X

X

pthread_mutexattr_settype
X
X

X

pthread_once
X
X

X

pthread_rwlock_destroy
X
X

X

pthread_rwlock_rdlock
X
X

X

pthread_rwlock_timedrdlock

X



pthread_rwlock_timedwrlock

X



pthread_rwlock_tryrdlock
X
X

X

pthread_rwlock_trywrlock
X
X

X

pthread_rwlock_unlock
X
X

X

pthread_rwlock_wrlock
X
X

X

pthread_rwlockattr_destroy
X
X

X

pthread_rwlockattr_getpshared
X
X

X

pthread_rwlockattr_init
X
X

X

pthread_rwlockattr_setpshared

X

X

pthread_self X
X

X
prthread.h: PR_GetCurrentThread
pthread_setcancelstate
X
X

X

pthread_setconcurrency
X
X


X

pthread_setschedparam

X

X

pthread_setschedprio





prthread.h: PR_SetThreadPriority
PR_GetThreadPriority
pthread_setspecific
X
X

X

pthread_sigmask
X
X


X

pthread_spin_destroy

X



pthread_spin_lock

X



pthread_spin_unlock

X



pthread_testcancel
X
X

X

ptsname

X

X

putc X
X X
X
X

putc_unlocked

X

X

putchar
X
X X
X
X

putchar_unlocked

X

X

putenv
X
X _putenv
X
X
prenv.h: PR_SetEnv
putmsg

X



puts X
X X
X
X

pututxline

X



putwc

X X
X


putwchar

X X
X


pwrite
X
X




qsort
X
X
X
X
X

raise
X
X X
X
X

rand
X
X X
X
X

random
X
X


X

read
X
X _read
X
X
prio.h: PR_Read
readdir X
X
X
X
prio.h: PR_ReadDir
readlink
X
X



readv
X
X

X

realloc X
X X
X
X
prmem.h: PR_Realloc
realpath
X
X


X

recv
X
X X
X
X
prio.h: PR_Recv
recvfrom X
X X
X
X
prio.h: PR_RecvFrom
recvmsg X
X



regcomp X
X

X

remainder X
X
X
X

remove X

X
X
X

remque X
X



remquo
X


X
X

rename X

X
X
X
prio.h: PR_Rename
rewind X

X
X
X

rewinddir
X
X
X
X

rindex
X
X

X

rint
X
X
X
X

rmdir
X
X _rmdir
X
X
prio.h: PR_RmDir
round
X
X
X
X

scalb
X
X _scalb
X


scalbln
X
X
X
X

scanf X
X X
X
X

sched_get_priority_max
X
X

X

sched_getparam

X

X

sched_getscheduler

X

X

sched_rr_get_interval

X

X

sched_setparam

X

X

sched_setscheduler

X

X

sched_yield
X
X

X

seed48
X
X

X

seekdir
X
X
X


select
X
X X
X
X
prio.h: PR_Poll
sem_close
X
X


pripcsem.h: PR_CloseSemaphore
sem_destroy X
X


X
pripcsem.h: PR_DeleteSemaphore
sem_getvalue
X
X



sem_init
X
X

X

sem_open
X
X



pripcsem.h: PR_OpenSemaphore
sem_post
X
X

X
pripcsem.h: PR_PostSemaphore
sem_timedwait

X



sem_trywait
X
X

X
pripcsem.h: PR_WaitSemaphore
sem_unlink
X
X



sem_wait
X
X

X
pripcsem.h: PR_WaitSemaphore
semctl X
X



semget
X
X



semop X
X



send
X
X X
X
X
prio.h: PR_Send 
sendmsg X
X



sendto X
X X
X
X
prio.h: PR_SendTo
setbuf X
X X
X
X

setcontext

X



setegid
X
X

X

setenv
X
X _putenv

X
prenv.h: PR_SetEnv
seteuid
X
X

X

setgid
X
X

X

setgrent
X
X

X

sethostent
X
X

X

setitimer
X
X

X

setjmp
X
X X
X
X

setkey
X
X

X

setlocale
X
X X
X
X

setlogmask
X
X



setnetent
X
X

X

setpgid
X
X

X

setpgrp
X
X

X

setpriority X
X



setprotoent
X
X

X

setpwent
X
X

X

setregid
X
X



setreuid
X
X



setrlimit
X
X




setservent
X
X

X

setsid
X
X

X

setsockopt X
X X
X
X
prio.h: PR_SetSocketOption
setstate
X
X



setuid
X
X

X

setutxent

X



setvbuf X
X X X
X

shm_open
X
X


prshm.h: PR_OpenSharedMemory
shm_unlink
X
X


prshm.h: PR_DeleteSharedMemory
shmat
X
X


prshm.h: PR_AttachSharedMemory
shmctl X
X



shmdt X
X



prshm.h: PR_DetachSharedMemory
shmget
X
X


prshm.h: PR_OpenSharedMemory
shutdown X
X X
X
X
prio.h: PR_Shutdown
sigaction
X
X

X

sigaddset
X
X

X

sigaltstack X
X



sigdelset
X
X

X

sigemptyset
X
X

X

sigfillset
X
X

X

sighold
X
X



siginterrupt
X
X




sigismember
X
X

X

siglongjmp
X
X

X

signal X
X X
X
X

signbit
X
X
X
X

sigpause X
X

X

sigpending
X
X

X

sigprocmask
X
X


X

sigqueue

X



sigrelse
X
X



sigsetjmp
X
X

X

sigsuspend
X
X

X

sigtimedwait

X



sigwait
X
X



sigwaitinfo

X



sin X
X X
X
X

sinh
X
X X
X
X

sinl



X


sleep X
X
Sleep
X
prthread.h: PR_Sleep
snprintf X
X _snprintf
X
X

sockatmark

X



socket X
X X X
X
prio.h: PR_NewTCPSocket, etc.
socketpair
X
X

X

sprintf
X
X X
X
X
prprf.h: PR_snprintf
sqrt
X
X X
X
X

srand
X
X X
X
X

srand48
X
X

X

srandom
X
X

X

sscanf
X
X X X
X
prprf.h: PR_sscanf
stat
X
X _stat

X

statvfs

X



stdin
X
X X
X
X

strcasecmp
X
X
X
X
plstr.h: PL_strcasecmp
strcat
X
X X
X
X
plstr.h: PL_strcat
strchr
X
X X
X
X
plstr.h: PL_strchr
strcmp
X
X X
X
X
plstr.h: PL_strcmp
strcoll
X
X X
X
X

strcpy
X
X X
X
X
plstr.h: PL_strcpy
strcspn
X
X X
X
X

strdup
X
X _strdup
X
X
plstr.h: PL_strdup
strerror
X
X X
X
X
prerror.h: PR_GetErrorText
strfmon

X




strftime
X
X X
X
X

strlen X
X X
X
X
plstr.h: PL_strlen
strncasecmp
X
X
X
X
plstr.h: PL_strncasecmp
strncat
X
X X
X
X
plstr.h: PL_strncat
strncmp
X
X X
X
X
plstr.h: PL_strncmp
strncpy
X

X
X
X
plstr.h: PL_strncpy
strpbrk
X
X X
X
X
plstr.h: PL_strpbrk
strptime
X
X

X

strrchr
X

X
X
X
plstr.h: PL_strrchr
strspn
X
X X
X
X

strstr
X
X X
X
X
plstr.h: PL_strstr
strtod
X
X X
X
X
prdtoa.h: PR_strtod
strtoimax
X
X
X
X

strtok
X
X X
X
X
plstr.h: PL_strtok_r
strtol
X
X X
X
X

strtold

X
X


strtoll
X
X
X
X

strtoul
X

X
X
X

strtoumax
X
X

X
X

strxfrm
X
X X
X
X

swab
X
X _swab
X
X

swapcontext

X



swprintf

X X
X


swscanf

X X
X


symlink X
X



sync X
X


prio.h: PR_Sync
sysconf
X
X

X

syslog X
X

X
prlog.h: PR_LogPrint
system
X

X
X
X
prproces.h: PR_CreateProcess
tan
X
X X
X
X

tanh
X
X X
X
X

tanl



X


tcdrain
X
X

X

tcflow
X
X

X

tcflush X
X

X

tcgetattr X
X

X

tcgetpgrp
X
X

X

tcgetsid

X



tcsendbreak
X
X

X

tcsetattr X
X

X

tcsetpgrp
X
X

X

tdelete

X

X

telldir
X
X
X


tempnam
X
X _tempnam
X
X

tfind

X

X

tgamma
X
X
X
X

time X X
X
X
prtime.h: PR_Now
timer_create

X

X

timer_delete

X

X

timer_getoverrun

X

X

times X
X

X

timezone X
X
X
X

tmpfile
X
X X
X
X

tmpnam
X
X X
X
X

toascii
X
X __toascii
X
X

tolower
X
X X
X
X

toupper
X
X X
X
X

towctrans

X X
X
X

towlower

X X
X
X

towupper

X X
X
X

trunc
X
X
X
X

truncate
X
X

X

truncf
X


X
X

tsearch

X

X

ttyname
X
X

X

twalk

X

X

tzset
X
X

X
X

ualarm
X
X



ulimit
X
X



umask
X

_umask
X
X

uname
X
X

X

ungetc X
X X
X
X

ungetwc

X X
X


unlink
X
X _unlink
X
X

unlockpt

X

X

unsetenv
X
X

X
prenv.h: PR_SetEnv
usleep
X
X

X
prthread.h: PR_Sleep
utime X
X

X

utimes
X
X

X

va_arg
X
X X
X
X

vfork
X
X

X

vfprintf
X
X X
X
X

vfscanf
X
X
X
X

vfwprintf

X X
X


vfwscanf

X
X


vprintf
X
X X
X
X

vscanf
X
X
X
X

vsnprintf
X
X _vsnprintf
X
X
prprf.h: PR_vsnprintf
vsscanf X
X
X
X

vswprintf

X X
X


vswscanf

X
X


vwprintf

X X
X


vwscanf

X
X


wait X
X

X
prproces.h: PR_Wait
waitid

X



waitpid X
X

X

wcrtomb

X
X
X

wcscat

X X
X
X

wcschr

X X
X
X

wcscmp

X X
X
X

wcscoll

X X
X
X

wcscpy

X X
X
X

wcscspn

X X
X
X

wcsftime

X X
X


wcslen

X X
X
X

wcsncat

X X
X
X

wcsncmp

X X
X
X

wcsncpy

X X
X
X

wcspbrk

X X
X
X

wcsrchr

X X
X
X

wcsrtombs

X
X
X

wcsspn

X X
X
X

wcsstr

X X
X
X

wcstod

X X
X


wcstoimax
X
X
X
X

wcstok


X
X


wcstol

X X
X


wcstold

X
X


wcstoll

X
X


wcstombs
X
X X
X
X

wcstoul

X X
X


wcstoumax
X
X
X
X

wcswcs

X



wcswidth

X

X

wcsxfrm

X X
X


wctob

X
X
X

wctomb
X

X
X
X

wctrans

X X
X
X

wctype

X
X
X
X

wcwidth

X

X

wmemchr

X X
X
X

wmemcmp

X X
X
X
wmemcpy

X X
X
X
wmemmove

X X
X
X

wmemset

X X
X
X

wordexp

X



wprintf

X X
X
X

write
X
X _write
X
X
prio.h: PR_Write
writev
X
X

X
prio.h: PR_Writev
wscanf

X X
X


y0
X
X
_y0
X
X


Modification History

12/23/2003 -- Added Cygwin column
12/25/2003 -- Added MinGW column, and updated Cygwin column
12/30/2003 -- Added links to Unix98 and Unix03 tables