Blame lib/sys_types.in.h

Packit 33f14e
/* Provide a more complete sys/types.h.
Packit 33f14e
Packit 33f14e
   Copyright (C) 2011-2017 Free Software Foundation, Inc.
Packit 33f14e
Packit 33f14e
   This program is free software; you can redistribute it and/or modify
Packit 33f14e
   it under the terms of the GNU General Public License as published by
Packit 33f14e
   the Free Software Foundation; either version 3, or (at your option)
Packit 33f14e
   any later version.
Packit 33f14e
Packit 33f14e
   This program is distributed in the hope that it will be useful,
Packit 33f14e
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 33f14e
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit 33f14e
   GNU General Public License for more details.
Packit 33f14e
Packit 33f14e
   You should have received a copy of the GNU General Public License
Packit 33f14e
   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
Packit 33f14e
Packit 33f14e
#if __GNUC__ >= 3
Packit 33f14e
@PRAGMA_SYSTEM_HEADER@
Packit 33f14e
#endif
Packit 33f14e
@PRAGMA_COLUMNS@
Packit 33f14e
Packit 33f14e
#ifndef _@GUARD_PREFIX@_SYS_TYPES_H
Packit 33f14e
Packit 33f14e
/* The include_next requires a split double-inclusion guard.  */
Packit 33f14e
# define _GL_INCLUDING_SYS_TYPES_H
Packit 33f14e
#@INCLUDE_NEXT@ @NEXT_SYS_TYPES_H@
Packit 33f14e
# undef _GL_INCLUDING_SYS_TYPES_H
Packit 33f14e
Packit 33f14e
#ifndef _@GUARD_PREFIX@_SYS_TYPES_H
Packit 33f14e
#define _@GUARD_PREFIX@_SYS_TYPES_H
Packit 33f14e
Packit 33f14e
/* Override off_t if Large File Support is requested on native Windows.  */
Packit 33f14e
#if @WINDOWS_64_BIT_OFF_T@
Packit 33f14e
/* Same as int64_t in <stdint.h>.  */
Packit 33f14e
# if defined _MSC_VER
Packit 33f14e
#  define off_t __int64
Packit 33f14e
# else
Packit 33f14e
#  define off_t long long int
Packit 33f14e
# endif
Packit 33f14e
/* Indicator, for gnulib internal purposes.  */
Packit 33f14e
# define _GL_WINDOWS_64_BIT_OFF_T 1
Packit 33f14e
#endif
Packit 33f14e
Packit 33f14e
/* Override dev_t and ino_t if distinguishable inodes support is requested
Packit 33f14e
   on native Windows.  */
Packit 33f14e
#if @WINDOWS_STAT_INODES@
Packit 33f14e
Packit 33f14e
# if @WINDOWS_STAT_INODES@ == 2
Packit 33f14e
/* Experimental, not useful in Windows 10.  */
Packit 33f14e
Packit 33f14e
/* Define dev_t to a 64-bit type.  */
Packit 33f14e
#  if !defined GNULIB_defined_dev_t
Packit 33f14e
typedef unsigned long long int rpl_dev_t;
Packit 33f14e
#   undef dev_t
Packit 33f14e
#   define dev_t rpl_dev_t
Packit 33f14e
#   define GNULIB_defined_dev_t 1
Packit 33f14e
#  endif
Packit 33f14e
Packit 33f14e
/* Define ino_t to a 128-bit type.  */
Packit 33f14e
#  if !defined GNULIB_defined_ino_t
Packit 33f14e
/* MSVC does not have a 128-bit integer type.
Packit 33f14e
   GCC has a 128-bit integer type __int128, but only on 64-bit targets.  */
Packit 33f14e
typedef struct { unsigned long long int _gl_ino[2]; } rpl_ino_t;
Packit 33f14e
#   undef ino_t
Packit 33f14e
#   define ino_t rpl_ino_t
Packit 33f14e
#   define GNULIB_defined_ino_t 1
Packit 33f14e
#  endif
Packit 33f14e
Packit 33f14e
# else /* @WINDOWS_STAT_INODES@ == 1 */
Packit 33f14e
Packit 33f14e
/* Define ino_t to a 64-bit type.  */
Packit 33f14e
#  if !defined GNULIB_defined_ino_t
Packit 33f14e
typedef unsigned long long int rpl_ino_t;
Packit 33f14e
#   undef ino_t
Packit 33f14e
#   define ino_t rpl_ino_t
Packit 33f14e
#   define GNULIB_defined_ino_t 1
Packit 33f14e
#  endif
Packit 33f14e
Packit 33f14e
# endif
Packit 33f14e
Packit 33f14e
/* Indicator, for gnulib internal purposes.  */
Packit 33f14e
# define _GL_WINDOWS_STAT_INODES @WINDOWS_STAT_INODES@
Packit 33f14e
Packit 33f14e
#endif
Packit 33f14e
Packit 33f14e
/* MSVC 9 defines size_t in <stddef.h>, not in <sys/types.h>.  */
Packit 33f14e
/* But avoid namespace pollution on glibc systems.  */
Packit 33f14e
#if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) \
Packit 33f14e
    && ! defined __GLIBC__
Packit 33f14e
# include <stddef.h>
Packit 33f14e
#endif
Packit 33f14e
Packit 33f14e
#endif /* _@GUARD_PREFIX@_SYS_TYPES_H */
Packit 33f14e
#endif /* _@GUARD_PREFIX@_SYS_TYPES_H */