gsasl  1.10.0
About: GNU SASL is an implementation of the Simple Authentication and Security Layer (SASL). Development version.
  Fossies Dox: gsasl-1.10.0.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

sys_types.in.h
Go to the documentation of this file.
1 /* Provide a more complete sys/types.h.
2 
3  Copyright (C) 2011-2021 Free Software Foundation, Inc.
4 
5  This program is free software; you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation; either version 3, or (at your option)
8  any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with this program; if not, see <https://www.gnu.org/licenses/>. */
17 
18 #if __GNUC__ >= 3
19 @PRAGMA_SYSTEM_HEADER@
20 #endif
21 @PRAGMA_COLUMNS@
22 
23 #if defined _WIN32 && !defined __CYGWIN__ \
24  && (defined __need_off_t || defined __need___off64_t \
25  || defined __need_ssize_t || defined __need_time_t)
26 
27 /* Special invocation convention inside mingw header files. */
28 
29 #@INCLUDE_NEXT@ @NEXT_SYS_TYPES_H@
30 
31 #else
32 /* Normal invocation convention. */
33 
34 #ifndef _@GUARD_PREFIX@_SYS_TYPES_H
35 
36 /* The include_next requires a split double-inclusion guard. */
37 # define _GL_INCLUDING_SYS_TYPES_H
38 #@INCLUDE_NEXT@ @NEXT_SYS_TYPES_H@
39 # undef _GL_INCLUDING_SYS_TYPES_H
40 
41 #ifndef _@GUARD_PREFIX@_SYS_TYPES_H
42 #define _@GUARD_PREFIX@_SYS_TYPES_H
43 
44 /* Override off_t if Large File Support is requested on native Windows. */
45 #if @WINDOWS_64_BIT_OFF_T@
46 /* Same as int64_t in <stdint.h>. */
47 # if defined _MSC_VER
48 # define off_t __int64
49 # else
50 # define off_t long long int
51 # endif
52 /* Indicator, for gnulib internal purposes. */
53 # define _GL_WINDOWS_64_BIT_OFF_T 1
54 #endif
55 
56 /* Override dev_t and ino_t if distinguishable inodes support is requested
57  on native Windows. */
58 #if @WINDOWS_STAT_INODES@
59 
60 # if @WINDOWS_STAT_INODES@ == 2
61 /* Experimental, not useful in Windows 10. */
62 
63 /* Define dev_t to a 64-bit type. */
64 # if !defined GNULIB_defined_dev_t
65 typedef unsigned long long int rpl_dev_t;
66 # undef dev_t
67 # define dev_t rpl_dev_t
68 # define GNULIB_defined_dev_t 1
69 # endif
70 
71 /* Define ino_t to a 128-bit type. */
72 # if !defined GNULIB_defined_ino_t
73 /* MSVC does not have a 128-bit integer type.
74  GCC has a 128-bit integer type __int128, but only on 64-bit targets. */
75 typedef struct { unsigned long long int _gl_ino[2]; } rpl_ino_t;
76 # undef ino_t
77 # define ino_t rpl_ino_t
78 # define GNULIB_defined_ino_t 1
79 # endif
80 
81 # else /* @WINDOWS_STAT_INODES@ == 1 */
82 
83 /* Define ino_t to a 64-bit type. */
84 # if !defined GNULIB_defined_ino_t
85 typedef unsigned long long int rpl_ino_t;
86 # undef ino_t
87 # define ino_t rpl_ino_t
88 # define GNULIB_defined_ino_t 1
89 # endif
90 
91 # endif
92 
93 /* Indicator, for gnulib internal purposes. */
94 # define _GL_WINDOWS_STAT_INODES @WINDOWS_STAT_INODES@
95 
96 #endif
97 
98 /* MSVC 9 defines size_t in <stddef.h>, not in <sys/types.h>. */
99 /* But avoid namespace pollution on glibc systems. */
100 #if (defined _WIN32 && ! defined __CYGWIN__) && ! defined __GLIBC__
101 # include <stddef.h>
102 #endif
103 
104 #endif /* _@GUARD_PREFIX@_SYS_TYPES_H */
105 #endif /* _@GUARD_PREFIX@_SYS_TYPES_H */
106 #endif /* __need_XXX */