File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / libiconv / srclib / sys_types.in.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Mar 17 13:38:46 2021 UTC (3 years, 3 months ago) by misho
Branches: libiconv, MAIN
CVS tags: v1_16p0, HEAD
libiconv 1.16

    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>