@node unistd.h
@section @file{unistd.h}

POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/unistd.h.html}

Gnulib module: unistd-h
@mindex unistd-h

Portability problems fixed by Gnulib:
@itemize
@item
This header file is missing on some platforms:
MSVC 14.
@item
The type @code{off64_t} is not defined on some platforms:
macOS 14, FreeBSD 10.4, NetBSD 10.0, OpenBSD 7.9, MSVC 14, Cygwin, Haiku, Minix 3.3.
@item
The SEEK_* macros are not defined in this file on some platforms:
mingw.
@item
The *_FILENO macros are not defined in this file on some platforms:
OS/2 EMX, mingw.
@item
The @code{_exit} function is not declared in this file on some platforms:
mingw.
@item
This header file does not define @code{O_CLOEXEC} on some platforms:
glibc 2.42, macOS 12, FreeBSD 14.0, NetBSD 10.0, OpenBSD 7.9, AIX 7.3, Solaris 11.4, Cygwin 3.5, mingw.

@item
Some platforms provide a @code{NULL} macro that cannot be used in arbitrary
expressions:
NetBSD 5.0
@end itemize

Portability problems not fixed by Gnulib:
@itemize
@item
POSIX.1-2024 allows, but does not require, this file to make visible
all symbols from the headers @code{<fcntl.h>}, @code{<stddef.h>},
@code{<stdint.h>}, and @code{<stdio.h>}.
Programs should not assume that these other symbols are visible merely
because this file is included, or that they are invisible because only
this file is included.
@end itemize
