Blame gl/sys_types.in.h

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