Blame gl/sys_types.in.h

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