<sect1 id="std-misc">
<title>Compatibility with Miscellaneous Other Standards</title>

<para>The following functions are compatible with miscellaneous other
standards:</para>


<sect2><title>Networking</title>

<para>(Standardized by POSIX 1.g, which is probably still in draft?)</para>

<para>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</para>

<para>Of these networking calls, rexec, rcmd and rresvport are
implemented in MS IP stack but may not be implemented in other
vendors' stacks. </para>

</sect2>

<sect2><title>Other</title><para>

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

</para></sect2>
<sect2><title>Implementation Notes</title>

<para> <function>initgroups</function> does nothing</para>

<para> <function>chroot</function>, <function>mknod</function>,
<function>settimeofday</function>, and <function>vhangup</function>
always return -1 and sets errno to ENOSYS.</para>

<para> <function>nice</function> 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
<function>nice</function> 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 <function>nice</function>.</para>

<para> <function>seteuid</function> and <function>setegid</function>
always return 0 and set errno to
ENOSYS.</para>

<para><function>vfork</function> just calls
<function>fork</function></para>

</sect2>

</sect1>
