(root)/
findutils-4.9.0/
gl/
lib/
sys_types.in.h
       1  /* Provide a more complete sys/types.h.
       2  
       3     Copyright (C) 2011-2022 Free Software Foundation, Inc.
       4  
       5     This file is free software: you can redistribute it and/or modify
       6     it under the terms of the GNU Lesser General Public License as
       7     published by the Free Software Foundation; either version 2.1 of the
       8     License, or (at your option) any later version.
       9  
      10     This file 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 Lesser General Public License for more details.
      14  
      15     You should have received a copy of the GNU Lesser 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 */