intprops: new macro INT_PROMOTE
[gnulib.git] / doc / posix-headers / sys_types.texi
blobed301c4b2c4c488dfb9789fd266ceafa7758c1c9
1 @node sys/types.h
2 @section @file{sys/types.h}
4 POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/sys_types.h.html}
6 Gnulib module: sys_types-h
7 @mindex sys_types-h
9 Portability problems fixed by Gnulib:
10 @itemize
11 @item
12 The type @code{pid_t} is not defined on some platforms:
13 MSVC 14.
14 @item
15 The type @code{size_t} is not defined in this file on some platforms:
16 MSVC 14.
17 @item
18 The type @code{ssize_t} is not defined on some platforms:
19 MSVC 14.
20 @item
21 The type @code{mode_t} is not defined on some platforms:
22 MSVC 14.
23 @item
24 The type @code{off64_t} is not defined on some platforms:
25 macOS 14, FreeBSD 10.4, NetBSD 10.0, OpenBSD 7.5, MSVC 14, Cygwin, Haiku, Minix 3.3.
26 @item
27 The type @code{blksize_t} is not defined on some platforms:
28 FreeBSD 5.5, OpenBSD 5.6, HP-UX 11.23, IRIX 6.5, mingw, MSVC 14.
29 @item
30 The type @code{blkcnt_t} is not defined on some platforms:
31 FreeBSD 5.5, OpenBSD 5.6, mingw, MSVC 14.
32 @item
33 Some systems leak definitions of @code{major}, @code{minor}, and
34 @code{makedev} through this header; however, when
35 @file{sys/sysmacros.h} exists, that file should also be included to
36 avoid deprecation warnings from the versions in this header:
37 glibc 2.25.
38 @end itemize
40 @xref{Avoiding the year 2038 problem}, for portability issues with
41 @code{time_t}.
43 Portability problems not fixed by Gnulib:
44 @itemize
45 @item
46 On some platforms the types @code{blksize_t} and @code{blkcnt_t} are unsigned:
47 Android.
48 @item
49 On some platforms the types @code{blksize_t} and @code{suseconds_t}
50 are signed integer types that are wider than @code{long}:
51 glibc x32
52 @end itemize
54 @mindex largefile
55 This module, together with the module @code{largefile}, also defines the type
56 @code{off_t} to a 64-bit integer type on some platforms:
57 mingw, MSVC 14.