linux/include/uapi/asm-generic/posix_types.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
   2#ifndef __ASM_GENERIC_POSIX_TYPES_H
   3#define __ASM_GENERIC_POSIX_TYPES_H
   4
   5#include <asm/bitsperlong.h>
   6/*
   7 * This file is generally used by user-level software, so you need to
   8 * be a little careful about namespace pollution etc.
   9 *
  10 * First the types that are often defined in different ways across
  11 * architectures, so that you can override them.
  12 */
  13
  14#ifndef __kernel_long_t
  15typedef long            __kernel_long_t;
  16typedef unsigned long   __kernel_ulong_t;
  17#endif
  18
  19#ifndef __kernel_ino_t
  20typedef __kernel_ulong_t __kernel_ino_t;
  21#endif
  22
  23#ifndef __kernel_mode_t
  24typedef unsigned int    __kernel_mode_t;
  25#endif
  26
  27#ifndef __kernel_pid_t
  28typedef int             __kernel_pid_t;
  29#endif
  30
  31#ifndef __kernel_ipc_pid_t
  32typedef int             __kernel_ipc_pid_t;
  33#endif
  34
  35#ifndef __kernel_uid_t
  36typedef unsigned int    __kernel_uid_t;
  37typedef unsigned int    __kernel_gid_t;
  38#endif
  39
  40#ifndef __kernel_suseconds_t
  41typedef __kernel_long_t         __kernel_suseconds_t;
  42#endif
  43
  44#ifndef __kernel_daddr_t
  45typedef int             __kernel_daddr_t;
  46#endif
  47
  48#ifndef __kernel_uid32_t
  49typedef unsigned int    __kernel_uid32_t;
  50typedef unsigned int    __kernel_gid32_t;
  51#endif
  52
  53#ifndef __kernel_old_uid_t
  54typedef __kernel_uid_t  __kernel_old_uid_t;
  55typedef __kernel_gid_t  __kernel_old_gid_t;
  56#endif
  57
  58#ifndef __kernel_old_dev_t
  59typedef unsigned int    __kernel_old_dev_t;
  60#endif
  61
  62/*
  63 * Most 32 bit architectures use "unsigned int" size_t,
  64 * and all 64 bit architectures use "unsigned long" size_t.
  65 */
  66#ifndef __kernel_size_t
  67#if __BITS_PER_LONG != 64
  68typedef unsigned int    __kernel_size_t;
  69typedef int             __kernel_ssize_t;
  70typedef int             __kernel_ptrdiff_t;
  71#else
  72typedef __kernel_ulong_t __kernel_size_t;
  73typedef __kernel_long_t __kernel_ssize_t;
  74typedef __kernel_long_t __kernel_ptrdiff_t;
  75#endif
  76#endif
  77
  78#ifndef __kernel_fsid_t
  79typedef struct {
  80        int     val[2];
  81} __kernel_fsid_t;
  82#endif
  83
  84/*
  85 * anything below here should be completely generic
  86 */
  87typedef __kernel_long_t __kernel_off_t;
  88typedef long long       __kernel_loff_t;
  89typedef __kernel_long_t __kernel_old_time_t;
  90#ifndef __KERNEL__
  91typedef __kernel_long_t __kernel_time_t;
  92#endif
  93typedef long long __kernel_time64_t;
  94typedef __kernel_long_t __kernel_clock_t;
  95typedef int             __kernel_timer_t;
  96typedef int             __kernel_clockid_t;
  97typedef char *          __kernel_caddr_t;
  98typedef unsigned short  __kernel_uid16_t;
  99typedef unsigned short  __kernel_gid16_t;
 100
 101#endif /* __ASM_GENERIC_POSIX_TYPES_H */
 102