summaryrefslogtreecommitdiff
path: root/doc/posix-headers/sys_types.texi
blob: 8739cc2625d6062414bb4c65937594db537ee7c3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
@node sys/types.h
@section @file{sys/types.h}

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

Gnulib module: sys_types

Portability problems fixed by Gnulib:
@itemize
@item
The type @code{pid_t} is not defined on some platforms:
MSVC 14.
@item
The type @code{size_t} is not defined in this file on some platforms:
MSVC 14.
@item
The type @code{ssize_t} is not defined on some platforms:
MSVC 14.
@item
The type @code{mode_t} is not defined on some platforms:
MSVC 14.
@item
Some systems leak definitions of @code{major}, @code{minor}, and
@code{makedev} through this header; however, when
@file{sys/sysmacros.h} exists, that file should also be included to
avoid deprecation warnings from the versions in this header:
glibc 2.25.
@end itemize

@xref{Avoiding the year 2038 problem}, for portability issues with
@code{time_t}.

Portability problems not fixed by Gnulib:
@itemize
@item
On some platforms the types @code{blksize_t} and @code{suseconds_t}
are signed integer types that are wider than @code{long}:
glibc x32
@end itemize

This module, together with the module @code{largefile}, also defines the type
@code{off_t} to a 64-bit integer type on some platforms:
mingw, MSVC 14.