|
Packit |
6c4009 |
/* bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
|
|
Packit |
6c4009 |
Copyright (C) 2012-2018 Free Software Foundation, Inc.
|
|
Packit |
6c4009 |
This file is part of the GNU C Library.
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
The GNU C Library is free software; you can redistribute it and/or
|
|
Packit |
6c4009 |
modify it under the terms of the GNU Lesser General Public
|
|
Packit |
6c4009 |
License as published by the Free Software Foundation; either
|
|
Packit |
6c4009 |
version 2.1 of the License, or (at your option) any later version.
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
The GNU C Library is distributed in the hope that it will be useful,
|
|
Packit |
6c4009 |
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
6c4009 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit |
6c4009 |
Lesser General Public License for more details.
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
You should have received a copy of the GNU Lesser General Public
|
|
Packit |
6c4009 |
License along with the GNU C Library; if not, see
|
|
Packit |
6c4009 |
<http://www.gnu.org/licenses/>. */
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
#ifndef _BITS_TYPES_H
|
|
Packit |
6c4009 |
# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
|
|
Packit |
6c4009 |
#endif
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
#ifndef _BITS_TYPESIZES_H
|
|
Packit |
6c4009 |
#define _BITS_TYPESIZES_H 1
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
/* See <bits/types.h> for the meaning of these macros. This file exists so
|
|
Packit |
6c4009 |
that <bits/types.h> need not vary across different GNU platforms. */
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
/* X32 kernel interface is 64-bit. */
|
|
Packit |
6c4009 |
#if defined __x86_64__ && defined __ILP32__
|
|
Packit |
6c4009 |
# define __SYSCALL_SLONG_TYPE __SQUAD_TYPE
|
|
Packit |
6c4009 |
# define __SYSCALL_ULONG_TYPE __UQUAD_TYPE
|
|
Packit |
6c4009 |
#else
|
|
Packit |
6c4009 |
# define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
|
|
Packit |
6c4009 |
# define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
|
|
Packit |
6c4009 |
#endif
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
#define __DEV_T_TYPE __UQUAD_TYPE
|
|
Packit |
6c4009 |
#define __UID_T_TYPE __U32_TYPE
|
|
Packit |
6c4009 |
#define __GID_T_TYPE __U32_TYPE
|
|
Packit |
6c4009 |
#define __INO_T_TYPE __SYSCALL_ULONG_TYPE
|
|
Packit |
6c4009 |
#define __INO64_T_TYPE __UQUAD_TYPE
|
|
Packit |
6c4009 |
#define __MODE_T_TYPE __U32_TYPE
|
|
Packit |
6c4009 |
#ifdef __x86_64__
|
|
Packit |
6c4009 |
# define __NLINK_T_TYPE __SYSCALL_ULONG_TYPE
|
|
Packit |
6c4009 |
# define __FSWORD_T_TYPE __SYSCALL_SLONG_TYPE
|
|
Packit |
6c4009 |
#else
|
|
Packit |
6c4009 |
# define __NLINK_T_TYPE __UWORD_TYPE
|
|
Packit |
6c4009 |
# define __FSWORD_T_TYPE __SWORD_TYPE
|
|
Packit |
6c4009 |
#endif
|
|
Packit |
6c4009 |
#define __OFF_T_TYPE __SYSCALL_SLONG_TYPE
|
|
Packit |
6c4009 |
#define __OFF64_T_TYPE __SQUAD_TYPE
|
|
Packit |
6c4009 |
#define __PID_T_TYPE __S32_TYPE
|
|
Packit |
6c4009 |
#define __RLIM_T_TYPE __SYSCALL_ULONG_TYPE
|
|
Packit |
6c4009 |
#define __RLIM64_T_TYPE __UQUAD_TYPE
|
|
Packit |
6c4009 |
#define __BLKCNT_T_TYPE __SYSCALL_SLONG_TYPE
|
|
Packit |
6c4009 |
#define __BLKCNT64_T_TYPE __SQUAD_TYPE
|
|
Packit |
6c4009 |
#define __FSBLKCNT_T_TYPE __SYSCALL_ULONG_TYPE
|
|
Packit |
6c4009 |
#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
|
|
Packit |
6c4009 |
#define __FSFILCNT_T_TYPE __SYSCALL_ULONG_TYPE
|
|
Packit |
6c4009 |
#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
|
|
Packit |
6c4009 |
#define __ID_T_TYPE __U32_TYPE
|
|
Packit |
6c4009 |
#define __CLOCK_T_TYPE __SYSCALL_SLONG_TYPE
|
|
Packit |
6c4009 |
#define __TIME_T_TYPE __SYSCALL_SLONG_TYPE
|
|
Packit |
6c4009 |
#define __USECONDS_T_TYPE __U32_TYPE
|
|
Packit |
6c4009 |
#define __SUSECONDS_T_TYPE __SYSCALL_SLONG_TYPE
|
|
Packit |
6c4009 |
#define __DADDR_T_TYPE __S32_TYPE
|
|
Packit |
6c4009 |
#define __KEY_T_TYPE __S32_TYPE
|
|
Packit |
6c4009 |
#define __CLOCKID_T_TYPE __S32_TYPE
|
|
Packit |
6c4009 |
#define __TIMER_T_TYPE void *
|
|
Packit |
6c4009 |
#define __BLKSIZE_T_TYPE __SYSCALL_SLONG_TYPE
|
|
Packit |
6c4009 |
#define __FSID_T_TYPE struct { int __val[2]; }
|
|
Packit |
6c4009 |
#define __SSIZE_T_TYPE __SWORD_TYPE
|
|
Packit |
6c4009 |
#define __CPU_MASK_TYPE __SYSCALL_ULONG_TYPE
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
#ifdef __x86_64__
|
|
Packit |
6c4009 |
/* Tell the libc code that off_t and off64_t are actually the same type
|
|
Packit |
6c4009 |
for all ABI purposes, even if possibly expressed as different base types
|
|
Packit |
6c4009 |
for C type-checking purposes. */
|
|
Packit |
6c4009 |
# define __OFF_T_MATCHES_OFF64_T 1
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
/* Same for ino_t and ino64_t. */
|
|
Packit |
6c4009 |
# define __INO_T_MATCHES_INO64_T 1
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
/* And for __rlim_t and __rlim64_t. */
|
|
Packit |
6c4009 |
# define __RLIM_T_MATCHES_RLIM64_T 1
|
|
Packit |
6c4009 |
#else
|
|
Packit |
6c4009 |
# define __RLIM_T_MATCHES_RLIM64_T 0
|
|
Packit |
6c4009 |
#endif
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
/* Number of descriptors that can fit in an `fd_set'. */
|
|
Packit |
6c4009 |
#define __FD_SETSIZE 1024
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
#endif /* bits/typesizes.h */
|