Implementation Notes

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.

clock_getres, clock_gettime and clock_setres only support CLOCK_REALTIME for now.

fpclassify, isfinite, isgreater, isgreaterequal, isinf, isless, islessequal, islessgreater, isnan, isnormal, isunordered, and signbit only support float and double arguments, not long double arguments.

getitimer and setitimer only support ITIMER_REAL for now.

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.