Annotation of embedaddon/libiconv/srclib/sys_types.in.h, revision 1.1.1.1

1.1       misho       1: /* Provide a more complete sys/types.h.
                      2: 
                      3:    Copyright (C) 2011-2019 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 */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>