(root)/
glibc-2.38/
bits/
typesizes.h
       1  /* bits/typesizes.h -- underlying types for *_t.  Generic version.
       2     Copyright (C) 2002-2023 Free Software Foundation, Inc.
       3     This file is part of the GNU C Library.
       4  
       5     The GNU C Library is free software; you can redistribute it and/or
       6     modify it under the terms of the GNU Lesser General Public
       7     License as published by the Free Software Foundation; either
       8     version 2.1 of the License, or (at your option) any later version.
       9  
      10     The GNU C Library 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 GNU
      13     Lesser General Public License for more details.
      14  
      15     You should have received a copy of the GNU Lesser General Public
      16     License along with the GNU C Library; if not, see
      17     <https://www.gnu.org/licenses/>.  */
      18  
      19  #ifndef _BITS_TYPES_H
      20  # error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
      21  #endif
      22  
      23  #ifndef	_BITS_TYPESIZES_H
      24  #define	_BITS_TYPESIZES_H	1
      25  
      26  /* See <bits/types.h> for the meaning of these macros.  This file exists so
      27     that <bits/types.h> need not vary across different GNU platforms.  */
      28  
      29  #define __DEV_T_TYPE		__UQUAD_TYPE
      30  #define __UID_T_TYPE		__U32_TYPE
      31  #define __GID_T_TYPE		__U32_TYPE
      32  #define __INO_T_TYPE		__ULONGWORD_TYPE
      33  #define __INO64_T_TYPE		__UQUAD_TYPE
      34  #define __MODE_T_TYPE		__U32_TYPE
      35  #define __NLINK_T_TYPE		__UWORD_TYPE
      36  #define __OFF_T_TYPE		__SLONGWORD_TYPE
      37  #define __OFF64_T_TYPE		__SQUAD_TYPE
      38  #define __PID_T_TYPE		__S32_TYPE
      39  #define __RLIM_T_TYPE		__ULONGWORD_TYPE
      40  #define __RLIM64_T_TYPE		__UQUAD_TYPE
      41  #define	__BLKCNT_T_TYPE		__SLONGWORD_TYPE
      42  #define	__BLKCNT64_T_TYPE	__SQUAD_TYPE
      43  #define	__FSBLKCNT_T_TYPE	__ULONGWORD_TYPE
      44  #define	__FSBLKCNT64_T_TYPE	__UQUAD_TYPE
      45  #define	__FSFILCNT_T_TYPE	__ULONGWORD_TYPE
      46  #define	__FSFILCNT64_T_TYPE	__UQUAD_TYPE
      47  #define	__FSWORD_T_TYPE		__SWORD_TYPE
      48  #define	__ID_T_TYPE		__U32_TYPE
      49  #define __CLOCK_T_TYPE		__SLONGWORD_TYPE
      50  #define __TIME_T_TYPE		__SLONGWORD_TYPE
      51  #define __USECONDS_T_TYPE	__U32_TYPE
      52  #define __SUSECONDS_T_TYPE	__SLONGWORD_TYPE
      53  #define __SUSECONDS64_T_TYPE	__SQUAD_TYPE
      54  #define __DADDR_T_TYPE		__S32_TYPE
      55  #define __KEY_T_TYPE		__S32_TYPE
      56  #define __CLOCKID_T_TYPE	__S32_TYPE
      57  #define __TIMER_T_TYPE		void *
      58  #define __BLKSIZE_T_TYPE	__SLONGWORD_TYPE
      59  #define __FSID_T_TYPE		struct { int __val[2]; }
      60  #define __SSIZE_T_TYPE		__SWORD_TYPE
      61  #define __SYSCALL_SLONG_TYPE	__SLONGWORD_TYPE
      62  #define __SYSCALL_ULONG_TYPE	__ULONGWORD_TYPE
      63  #define __CPU_MASK_TYPE 	__ULONGWORD_TYPE
      64  
      65  #ifdef __LP64__
      66  /* Tell the libc code that off_t and off64_t are actually the same type
      67     for all ABI purposes, even if possibly expressed as different base types
      68     for C type-checking purposes.  */
      69  # define __OFF_T_MATCHES_OFF64_T	1
      70  
      71  /* Same for ino_t and ino64_t.  */
      72  # define __INO_T_MATCHES_INO64_T	1
      73  
      74  /* And for rlim_t and rlim64_t.  */
      75  # define __RLIM_T_MATCHES_RLIM64_T	1
      76  
      77  /* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.  */
      78  # define __STATFS_MATCHES_STATFS64  1
      79  
      80  /* And for getitimer, setitimer and rusage  */
      81  # define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
      82  #else
      83  # define __RLIM_T_MATCHES_RLIM64_T	0
      84  
      85  # define __STATFS_MATCHES_STATFS64  0
      86  
      87  /* And for getitimer, setitimer and rusage  */
      88  # define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
      89  #endif
      90  
      91  /* Number of descriptors that can fit in an `fd_set'.  */
      92  #define	__FD_SETSIZE		1024
      93  
      94  
      95  #endif /* bits/typesizes.h */