From 32a2c31a8325fb38e2f0cb7ce59c16114bad75c8 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Tue, 5 Jun 2007 10:10:16 +0000 Subject: [PATCH] * ansi.sgml: Delete. * misc-std.sgml: Delete. * posix.sgml: Rework entirely. --- winsup/cygwin/ChangeLog | 6 + winsup/cygwin/ansi.sgml | 59 -- winsup/cygwin/misc-std.sgml | 74 -- winsup/cygwin/posix.sgml | 1335 +++++++++++++++++++++++++++++++++-- 4 files changed, 1272 insertions(+), 202 deletions(-) delete mode 100644 winsup/cygwin/ansi.sgml delete mode 100644 winsup/cygwin/misc-std.sgml diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 3907da467..6dd0e0249 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,9 @@ +2007-06-05 Corinna Vinschen + + * ansi.sgml: Delete. + * misc-std.sgml: Delete. + * posix.sgml: Rework entirely. + 2007-05-29 Corinna Vinschen * dtable.cc (dtable::set_file_pointers_for_exec): Call SetFilePointer diff --git a/winsup/cygwin/ansi.sgml b/winsup/cygwin/ansi.sgml deleted file mode 100644 index 4bce1d360..000000000 --- a/winsup/cygwin/ansi.sgml +++ /dev/null @@ -1,59 +0,0 @@ - -Compatibility with ANSI - -The following functions are compatible with ANSI: - -stdio - -clearerr, fclose, feof, ferror, fflush, fgetc, fgetpos, fgets, fopen, -fprintf, fputc, fputs, fread, freopen, fscanf, fseek, fsetpos, ftell, -fwrite, getc, getchar, gets, perror, printf, putc, putchar, puts, -remove, rename, rewind, scanf, setbuf, setvbuf, sprintf, sscanf, -tmpfile, tmpnam, vfprintf, ungetc, vprintf, vsprintf, - - -string - -memchr, memcmp, memcpy, memmove, memset, strcat, strchr, strcmp, -strcoll, strcpy, strcspn, strerror, strlen, strncat, strncmp, strncpy, -strpbrk, strrchr, strspn, strstr, strtok, strxfrm - - -stdlib - -abort, abs, assert, atexit, atof, atoi, atol, bsearch, calloc, div, -exit, free, getenv, labs, ldiv, longjmp, malloc, mblen, mbstowcs, -mbtowc, qsort, rand, realloc, setjmp, srand, strtod, strtol, strtoul, -system, wcstombs, wctomb - - -time - -asctime, gmtime, localtime, time, clock, ctime, difftime, mktime, -strftime - - -signals - -raise, signal - - -ctype - -isalnum, isalpha, iscntrl, isdigit, isgraph, islower, isprint, -ispunct, isspace, isupper, isxdigit, tolower, toupper - - -math - -acos, asin, atan, atan2, ceil, cos, cosh, exp, fabs, floor, fmod, -frexp, ldexp, log, log10, modf, pow, sin, sinh, sqrt, tan, tanh - - -misc - -localeconv, setlocale, va_arg, va_end, va_start - - - - diff --git a/winsup/cygwin/misc-std.sgml b/winsup/cygwin/misc-std.sgml deleted file mode 100644 index 01ac231cd..000000000 --- a/winsup/cygwin/misc-std.sgml +++ /dev/null @@ -1,74 +0,0 @@ - -Compatibility with Miscellaneous Other Standards - -The following functions are compatible with miscellaneous other -standards: - - -Networking - -(Standardized by POSIX 1.g, which is probably still in draft?) - -accept, bind, connect, getdomainname, gethostbyaddr, -gethostbyname, getpeername, getprotobyname, getprotobynumber, -getservbyname, getservbyport, getsockname, getsockopt, herror, htonl, -htons, inet_addr, inet_makeaddr, inet_netof, inet_ntoa, listen, ntohl, -ntohs, rcmd, recv, recvfrom, rexec, rresvport, send, sendto, -setsockopt, shutdown, socket, socketpair - -Of these networking calls, rexec, rcmd and rresvport are -implemented in MS IP stack but may not be implemented in other -vendors' stacks. - - - -Other - -chroot, closelog, cwait, dlclose, dlerror, dlfork, dlopen, dlsym, -endgrent, ffs, fstatfs, ftime, get_osfhandle, getdtablesize, getgrent, -gethostname, getitimer, getmntent, getpagesize, getpgid, getpwent, -gettimeofday, grantpt, initgroups, ioctl, killpg, login, logout, -lstat, mknod, memccpy, nice, openlog, pclose, popen, ptsname, putenv, -random, readv, realpath, regfree, rexec, select, setegid setenv, -seterrno, seteuid, setitimer, setmntent, setmode, setpassent, setpgrp, -setpwent, settimeofday, sexecl, sexecle, sexeclp, sexeclpe, sexeclpe, -sexecp, sexecv, sexecve, sexecvpe, sigpause, spawnl, spawnle, spawnlp, -spawnlpe, spawnv, spawnve, spawnvp, spawnvpe, srandom, statfs, -strsignal, strtosigno, swab, syslog, timezone, truncate, ttyslot, -unlockpt, unsetenv, usleep, utimes, vfork, vhangup, wait3, wait4, -wcscmp, wcslen, wprintf, writev - - -Implementation Notes - - initgroups does nothing - - chroot, mknod, -settimeofday, and vhangup -always return -1 and sets errno to ENOSYS. - - nice allows Cygwin programs to alter their -current runtime priority through the use of its incr argument. Cygwin -processes can be set to IDLE_PRIORITY_CLASS, NORMAL_PRIORITY_CLASS, -HIGH_PRIORITY_CLASS, or REALTIME_PRIORITY_CLASS with the -nice call. NORMAL_PRIORITY_CLASS is the -default. If you pass a positive number to nice(), then the priority -level will decrease by one (within the above list of priorities). A -negative number would make it increase by one. It is not possible to -change it by more than one at a time without making repeated calls. -An increment above REALTIME_PRIORITY_CLASS results in the process -staying at that priority. Likewise, a decrement to -IDLE_PRIORITY_CLASS has it stay at that priority. Note that in the -Win32 API, there are 32 priorities. So currently we only give access -to four of these through nice. - - seteuid and setegid -always return 0 and set errno to -ENOSYS. - -vfork just calls -fork - - - - diff --git a/winsup/cygwin/posix.sgml b/winsup/cygwin/posix.sgml index 80e9c6e97..5e9a60bbc 100644 --- a/winsup/cygwin/posix.sgml +++ b/winsup/cygwin/posix.sgml @@ -1,98 +1,1295 @@ - -Compatibility with POSIX.1 +System interfaces compatible with the Single Unix Specification, Version 3: -The following functions are compatible with POSIX.1: +Note that the core of the Single Unix Specification, Version 3 is +also ISO/IEC 9945:2003 and IEEE Std 1003.1-2001 (POSIX.1-2001). -Process Primitives (Section 3) + + FD_CLR + FD_ISSET + FD_SET + FD_ZERO + _Exit + _exit + _longjmp + _setjmp + _tolower + _toupper + a64l + abort + abs + accept + access + acos + acosf + acosh + acoshf + alarm + asctime + asctime_r + asin + asinf + asinh + asinhf + atan + atan2 + atan2f + atanf + atanh + atanhf + atexit + atof + atoff + atoi + atol + atoll + basename + bcmp + bcopy + bind + bsearch + btowc + bzero + cabs + cabsf + calloc + catclose (available in external "catgets" library) + catgets (available in external "catgets" library) + catopen (available in external "catgets" library) + cbrt + cbrtf + ceil + ceilf + cfgetispeed + cfgetospeed + cfsetispeed + cfsetospeed + chdir + chmod + chown + chroot (see chapter "Implementation Notes") + clearerr + clock + clock_getres (see chapter "Implementation Notes") + clock_gettime (see chapter "Implementation Notes") + clock_setres (see chapter "Implementation Notes") + close + closedir + closelog + connect + copysign + copysignf + cos + cosf + cosh + coshf + creat + crypt (available in external "crypt" library) + 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 + dirname + div + dlclose + dlerror + dlopen + dlsym + drand48 + dup + dup2 + ecvt + encrypt (available in external "crypt" library) + endgrent + endhostent + endprotoent + endpwent + endservent + endutxent + environ + erand48 + erf + erfc + erfcf + erff + errno + execl + execle + execlp + execv + execve + execvp + exit + exp + exp2 + exp2f + expf + expm1 + expm1f + fabs + fabsf + fchdir + fchmod + fchown + fclose + fcntl + fcvt + fdatasync + fdim + fdimf + fdopen + feof + ferror + fflush + ffs + fgetc + fgetpos + fgets + fileno + flockfile + floor + floorf + fma + fmaf + fmax + fmaxf + fmin + fminf + fmod + fmodf + fnmatch + fopen + fork + fpathconf + fprintf + fputc + fputs + fread + free + freeaddrinfo + freopen + frexp + frexpf + fscanf + fseek + fseeko + fsetpos + fstat + fstatvfs + fsync + ftell + ftello + ftime + ftok + ftruncate + ftrylockfile + ftw + funlockfile + futimes + fwrite + gai_strerror + gcvt + getaddrinfo + getc + getc_unlocked + getchar + getchar_unlocked + getcwd + getdelim + getdomainname + getegid + getenv + geteuid + getgid + getgrent + getgrgid + getgrgid_r + getgrnam + getgrnam_r + getgroups + gethostbyaddr + gethostbyname + gethostid + gethostname + getitimer (see chapter "Implementation Notes") + getlogin + getlogin_r + getnameinfo + getopt + getpeername + getpgid + getpgrp + getpid + 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 + getwd + glob + globfree + gmtime + gmtime_r + grantpt + h_errno + hcreate + hdestroy + hsearch + hstrerror + htonl + htons + hypot + hypotf + 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 + imaxabs + imaxdiv + index + inet_addr + inet_ntoa + inet_ntop + inet_pton + initstate + ioctl + isalnum + isalpha + isascii + isatty + isblank + iscntrl + isdigit + isfinite + isgraph + isgreater + isgreaterequal + isinf + isless + islessequal + islessgreater + islower + isnan + isnormal + isprint + ispunct + isspace + isunordered + isupper + iswalnum + iswalpha + iswblank + iswcntrl + iswctype + iswdigit + iswgraph + iswlower + iswprint + iswpunct + iswspace + iswupper + iswxdigit + isxdigit + j0 + j1 + jn + jrand48 + kill + killpg + l64a + labs + lchown + lcong48 + ldexp + ldexpf + ldiv + lfind + lgamma + lgammaf + link + listen + llabs + lldiv + localeconv + localtime + localtime_r + log + log10 + log10f + log1p + log1pf + logb + logbf + logf + longjmp + lrand48 + lrint + lrintf + lround + lroundf + lsearch + lseek + lstat + malloc + mblen + mbrlen + mbrtowc + mbsinit + mbsrtowcs + mbstowcs + mbtowc + memccpy + memchr + memcmp + memcpy + memmove + memset + mkdir + mkfifo + mknod + mkstemp + mktemp + mktime + mlock + mmap + modf + modff + mprotect + mq_close + mq_getattr + mq_notify + mq_open + mq_receive + mq_send + mq_setattr + mq_timedreceive + mq_timedsend + mq_unlink + mrand48 + msgctl (see chapter "Implementation Notes") + msgget (see chapter "Implementation Notes") + msgrcv (see chapter "Implementation Notes") + msgsnd (see chapter "Implementation Notes") + msync + munlock + munmap + nan + nanf + nanosleep + nearbyint + nearbyintf + nextafter + nextafterf + nftw + nice + nl_langinfo + nrand48 + ntohl + ntohs + open + opendir + openlog + optarg + opterr + optind + optopt + pathconf + pause + pclose + perror + pipe + poll + popen + posix_fadvise + posix_fallocate + posix_madvise + posix_memalign + posix_openpt + pow + powf + pread + printf + pselect + pthread_atfork + pthread_attr_destroy + pthread_attr_getdetachstate + pthread_attr_getinheritsched + pthread_attr_getschedparam + pthread_attr_getschedpolicy + pthread_attr_getscope + pthread_attr_getstacksize + pthread_attr_init + pthread_attr_setdetachstate + pthread_attr_setinheritsched + pthread_attr_setschedparam + pthread_attr_setschedpolicy + pthread_attr_setscope + pthread_attr_setstacksize + 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_getpshared + pthread_condattr_init + pthread_condattr_setpshared + pthread_create + pthread_detach + pthread_equal + pthread_exit + pthread_getconcurrency + 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_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_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_setspecific + pthread_sigmask + pthread_testcancel + ptsname + putc + putc_unlocked + putchar + putchar_unlocked + putenv + puts + pututxline + pwrite + qsort + raise + rand + rand_r + random + read + readdir + readdir_r + readlink + readv + realloc + realpath + recv + recvfrom + recvmsg + regcomp + regerror + regexec + regfree + remainder + remainderf + remove + remque (see chapter "Implementation Notes") + remquo + remquof + rename + rewind + rewinddir + rindex + rint + rintf + rmdir + round + roundf + scalb + scalbln + scalblnf + scalbn + scalbnf + 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 chapter "Implementation Notes") + semget (see chapter "Implementation Notes") + semop (see chapter "Implementation Notes") + send + sendmsg + sendto + setegid + setenv + seteuid + setgid + setgrent + sethostent + setitimer (see chapter "Implementation Notes") + setjmp + setkey (available in external "crypt" library) + setlocale + setlogmask + setpgid + setpgrp + setpriority + setprotoent + setpwent + setregid + setreuid + setrlimit + setservent + setsid + setsockopt + setstate + setuid + setutxent + setvbuf + shm_open + shm_unlink + shmat (see chapter "Implementation Notes") + shmctl (see chapter "Implementation Notes") + shmdt (see chapter "Implementation Notes") + shmget (see chapter "Implementation Notes") + shutdown + sigaction + sigaddset + sigdelset + sigemptyset + sigfillset + sighold + sigignore + siginterrupt + sigismember + siglongjmp + signal + signbit + signgam + sigpause + sigpending + sigprocmask + sigqueue + sigrelse + sigset + sigsetjmp + sigsuspend + sigwait + sigwaitinfo + sin + sinf + sinh + sinhf + sleep + snprintf + socket + socketpair + sprintf + sqrt + sqrtf + srand + srand48 + srandom + sscanf + stat + statvfs + stderr + stdin + stdout + strcasecmp + strcat + strchr + strcmp + strcoll + strcpy + strcspn + strdup + strerror + strerror_r + strftime + strlen + strncasecmp + strncat + strncmp + strncpy + strpbrk + strptime + strrchr + strspn + strstr + strtod + strtof + strtoimax + strtok + strtok_r + strtol + strtoll + strtoul + strtoull + strtoumax + strxfrm + swab + symlink + sync + sysconf + syslog + system + tan + tanf + tanh + tanhf + tcdrain + tcflow + tcflush + tcgetattr + tcgetpgrp + tcsendbreak + tcsetattr + tcsetpgrp + tdelete + telldir + tempnam + tfind + tgamma + tgammaf + time + timer_create + timer_delete + timer_gettime + timer_settime + times + timezone + tmpfile + tmpnam + toascii + tolower + toupper + towctrans + towlower + towupper + trunc + truncate + truncf + tsearch + ttyname + ttyname_r + twalk + tzname + tzset + ualarm + umask + uname + ungetc + unlink + unlockpt + unsetenv + usleep + utime + utimes + va_arg + va_end + va_start + vfork (see chapter "Implementation Notes") + vfprintf + vfscanf + vprintf + vscanf + vsnprintf + vsprintf + vsscanf + wait + waitpid + wcrtomb + wcscat + wcschr + wcscmp + wcscoll + wcscpy + wcscspn + wcslen + wcsncat + wcsncmp + wcsncpy + wcspbrk + wcsrchr + wcsrtombs + wcsspn + wcsstr + wcstombs + wcswidth + wctob + wctomb + wctrans + wctype + wcwidth + wmemchr + wmemcmp + wmemcpy + wmemmove + wmemset + wprintf + write + writev + y0 + y1 + yn + -fork, execl, execle, execlp, execv, execve, execvp, wait, waitpid, -_exit, kill, sigemptyset, sigfillset, sigaddset, sigdelset, -sigismember, sigaction, pthread_sigmask, sigprocmask, sigpending, -sigsuspend, alarm, pause, sleep, pthread_kill, pthread_sigmask + - -Process Environment (Section 4) +System interfaces compatible with BSD functions: -getpid, getppid, getuid, geteuid, getgid, getegid, setuid, setgid, -getgroups, getlogin, getpgrp, setsid, setpgid, uname, time, times, -getenv, ctermid, ttyname, isatty, sysconf + + alphasort + bindresvport + bindresvport_sa + daemon + dn_comp + dn_expand + dn_skipname + drem + endusershell + err + errx + finite + finitef + fiprintf + flock + forkpty + fstatfs + fts_children + fts_close + fts_get_clientptr + fts_get_stream + fts_open + fts_read + fts_set + fts_set_clientptr + gamma + gamma_r + gammaf + gammaf_r + getdtablesize + getpagesize + getpeereid + getprogname + getusershell + herror + inet_aton + inet_makeaddr + inet_netof + inet_network + initgroups + iruserok + iruserok_sa + login + login_tty + logout + logwtmp + mkdtemp + openpty + rcmd + rcmd_af + 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 + rresvport + rresvport_af + ruserok + sbrk + setbuffer + setgroups + setlinebuf + setpassent + setprogname + settimeofday + setusershell + statfs + strlcat + strlcpy + strsep + strsignal + updwtmp + valloc + verr + verrx + vhangup (see chapter "Implementation Notes") + vsyslog + vwarn + vwarnx + wait3 + wait4 + warn + warnx + wcslcat + wcslcpy + - -Files and Directories (Section 5) + -opendir, readdir, rewinddir, closedir, chdir, getcwd, open, creat, -umask, link, mkdir, unlink, rmdir, rename, stat, fstat, access, chmod, -fchmod, chown, utime, ftruncate, pathconf, fpathconf +System interfaces compatible with GNU extensions: - -Input and Output Primitives (Section 6) + + 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 + dprintf + dremf + envz_add + envz_entry + envz_get + envz_merge + envz_remove + envz_strip + fcloseall + fcloseall_r + getline + getopt_long + getopt_long_only + memmem + mempcpy + strndup + strnlen + tdestroy + timegm + timelocal + updwtmpx + utmpxname + vasnprintf + vasprintf + vasprintf_r + vdprintf + -pipe, dup, dup2, close, read, write, fcntl, lseek, fsync + - -Device- and Class-Specific Functions (Section 7) +System interfaces compatible with Solaris or SunOS functions: -cfgetispeed, cfgetospeed, cfsetispeed, cfsetospeed, tcdrain, tcflow, -tcflush, tcgetattr, tcgetpgrp, tcsendbreak, tcsetattr, tcsetpgrp + + acl + aclcheck + aclfrommode + aclfrompbits + aclfromtext + aclsort + acltomode + acltopbits + acltotext + endmntent + facl + getmntent + memalign + setmntent + - -Language-Specific Services for the C Programming Language (Section 8) + -abort, exit, fclose, fdopen, fflush, fgetc, fgets, fileno, fopen, -fprintf, fputc, fputs, fread, freopen, fscanf, fseek, ftell, fwrite, -getc, getchar, gets, perror, printf, putc, putchar, puts, remove, -rewind, scanf, setlocale, siglongjmp, sigsetjmp, tmpfile, tmpnam, -tzset +Other UNIX system interfaces, deprecated or not in POSIX.1-2001: - -System Databases (Section 9) + + cuserid (POSIX.1-1988, SUSv2) + endutent (XPG2) + getpass (SUSv2) + getutent (XPG2) + getutid (XPG2) + getutline (XPG2) + getw (SVID) + mallinfo (SVID) + mallopt (SVID) + on_exit (SunOS) + pthread_continue (XPG2) + pthread_getsequence_np (Tru64) + pthread_suspend (XPG2) + pututline (XPG2) + putw (SVID) + setbuf (C89, C99) + setutent (XPG2) + sys_errlist (BSD) + sys_nerr (BSD) + ttyslot (SUSv2) + utmpname (XPG2) + -getgrgid, getgrnam, getpwnam, getpwuid + - -Synchronization (Section 11) +NOT implemented system interfaces from the Single Unix Specification, Volume 3: -sem_init, sem_destroy, sem_wait, sem_trywait, sem_post, -pthread_mutex_init, pthread_mutex_destroy, pthread_mutex_lock, -pthread_mutex_trylock, pthread_mutex_unlock + + acoshl + acosl + aio_cancel + aio_error + aio_fsync + aio_read + aio_return + aio_suspend + aio_write + asinhl + asinl + atan2l + atanhl + atanl + bsd_signal + cabsl + cacos + cacosf + cacosh + cacoshf + cacoshl + cacosl + carg + cargf + cargl + casin + casinf + casinh + casinhf + casinhl + casinl + catan + catanf + catanh + catanhf + catanhl + catanl + cbrtl + ccos + ccosf + ccosh + ccoshf + ccoshl + ccosl + ceill + cexp + cexpf + cexpl + cimag + cimagf + cimagl + clock_getcpuclockid + clog + clogf + clogl + confstr + conj + conjf + conjl + copysignl + coshl + cosl + cpow + cpowf + cpowl + cproj + cprojf + cprojl + creal + crealf + creall + csin + csinf + csinh + csinhf + csinhl + csinl + csqrt + csqrtf + csqrtl + ctan + ctanf + ctanh + ctanhf + ctanhl + ctanl + endnetent + erfcl + erfl + exp2l + expl + expm1l + fabsl + fattach + fdiml + feclearexcept + fegetenv + fegetexceptflag + fegetround + feholdexcept + feraiseexcept + fesetenv + fesetexceptflag + fesetround + fetestexcept + feupdateenv + fgetwc + fgetws + floorl + fmal + fmaxl + fminl + fmodl + fmtmsg + fputwc + fputws + frexpl + fwide + fwprintf + fwscanf + getcontext + getdate + getdate_err + gethostent + getmsg + getnetbyaddr + getnetbyname + getnetent + getpmsg + getwc + getwchar + hypotl + ilogbl + initstate + insque + isastream + ldexpl + lgammal + lio_listio + llrint + llrintf + llrintl + llround + llroundf + llroundl + lockf + log10l + log1pl + log2l + logbl + logl + lrintl + lroundl + makecontext + mlockall + modfl + munlockall + nanl + nearbyintl + nextafterl + nexttowardl + posix_mem_offset + posix_spawn[...] + posix_trace[...] + posix_typed_[...] + powl + pthread_attr_getguardsize + pthread_attr_getstack + pthread_attr_getstackaddr + pthread_attr_setguardsize + pthread_attr_setstack + pthread_attr_setstackaddr + pthread_barrier[...] + pthread_condattr_getclock + pthread_condattr_setclock + pthread_getcpuclockid + pthread_mutex_timedlock + pthread_rwlock_timedrdlock + pthread_rwlock_timedwrlock + pthread_setschedprio + pthread_spin_[...] + putmsg + reminderl + remquol + rintl + roundl + scalblnl + scalbnl + setcontext + setnetent + sigaltstack + sigtimedwait + sinhl + sinl + sockatmark + sqrtl + strfmon + strtold + swabcontext + swprintf + swscanf + tanhl + tanl + tcgetsid + tgammal + timer_getoverrun + truncl + ulimit + va_copy + vfwprintf + vfwscanf + vswprintf + vswscanf + vwprintf + vwscanf + waitid + wcsftime + wcstod + wcstof + wcstoimax + wcstok + wcstol + wcstold + wcstoll + wcstoul + wcstoull + wcstoumax + wcswcs + wcsxfrm + wordexp + wordfree + wscanf + - -Memory Management (Section 12) + -mmap, mprotect, msync, munmap +Implementation Notes - -Thread Management (Section 16) +chroot 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. -pthread_attr_init, pthread_attr_destroy, pthread_attr_setstacksize, -pthread_attr_getstacksize, pthread_create, pthread_exit, pthread_self, -pthread_equal +clock_getres, clock_gettime +and clock_setres only support CLOCK_REALTIME for +now. - -Thread-Specific Data Functions (Section 17) +getitimer and setitimer +only support ITIMER_REAL for now. -pthread_key_create, pthread_setspecific, pthread_getspecific, -pthread_key_delete - - - -Implementation Details - -setuid and setgid -always return ENOSYS. - -link will copy the file if it can't -implement a true symbolic link. Currently, symbolic links work, if at -all, only under Windows NT. - -chown always returns zero. - -fcntl doesn't support F_GETLK - it returns --1 and sets errno to ENOSYS. +link will copy the file if it can't implement +a true hardlink. This is true at least for FAT and FAT32 filesystems. +NTFS supports hardlinks. lseek only works properly on binary files. - +setuid 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. + +vfork just calls fork. + +vhangup always returns -1 and sets errno to +ENOSYS. + +The XSI IPC functions semctl, +semget, semop, +shmat, shmctl, +shmdt, shmget, +msgctl, msgget, +msgrcv and msgsnd are only +available when cygserver is running and the CYGWIN +environment variable is set so that it contains the string +server.