Blame lib/sys_types.in.h

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