linux/arch/s390/include/asm/posix_types.h
<<
>>
Prefs
   1/*
   2 *  include/asm-s390/posix_types.h
   3 *
   4 *  S390 version
   5 *
   6 *  Derived from "include/asm-i386/posix_types.h"
   7 */
   8
   9#ifndef __ARCH_S390_POSIX_TYPES_H
  10#define __ARCH_S390_POSIX_TYPES_H
  11
  12/*
  13 * This file is generally used by user-level software, so you need to
  14 * be a little careful about namespace pollution etc.  Also, we cannot
  15 * assume GCC is being used.
  16 */
  17
  18typedef long            __kernel_off_t;
  19typedef int             __kernel_pid_t;
  20typedef unsigned long   __kernel_size_t;
  21typedef long            __kernel_time_t;
  22typedef long            __kernel_suseconds_t;
  23typedef long            __kernel_clock_t;
  24typedef int             __kernel_timer_t;
  25typedef int             __kernel_clockid_t;
  26typedef int             __kernel_daddr_t;
  27typedef char *          __kernel_caddr_t;
  28typedef unsigned short  __kernel_uid16_t;
  29typedef unsigned short  __kernel_gid16_t;
  30
  31#ifdef __GNUC__
  32typedef long long       __kernel_loff_t;
  33#endif
  34
  35#ifndef __s390x__
  36
  37typedef unsigned long   __kernel_ino_t;
  38typedef unsigned short  __kernel_mode_t;
  39typedef unsigned short  __kernel_nlink_t;
  40typedef unsigned short  __kernel_ipc_pid_t;
  41typedef unsigned short  __kernel_uid_t;
  42typedef unsigned short  __kernel_gid_t;
  43typedef int             __kernel_ssize_t;
  44typedef int             __kernel_ptrdiff_t;
  45typedef unsigned int    __kernel_uid32_t;
  46typedef unsigned int    __kernel_gid32_t;
  47typedef unsigned short  __kernel_old_uid_t;
  48typedef unsigned short  __kernel_old_gid_t;
  49typedef unsigned short  __kernel_old_dev_t;
  50
  51#else /* __s390x__ */
  52
  53typedef unsigned int    __kernel_ino_t;
  54typedef unsigned int    __kernel_mode_t;
  55typedef unsigned int    __kernel_nlink_t;
  56typedef int             __kernel_ipc_pid_t;
  57typedef unsigned int    __kernel_uid_t;
  58typedef unsigned int    __kernel_gid_t;
  59typedef long            __kernel_ssize_t;
  60typedef long            __kernel_ptrdiff_t;
  61typedef unsigned long   __kernel_sigset_t;      /* at least 32 bits */
  62typedef __kernel_uid_t __kernel_old_uid_t;
  63typedef __kernel_gid_t __kernel_old_gid_t;
  64typedef __kernel_uid_t __kernel_uid32_t;
  65typedef __kernel_gid_t __kernel_gid32_t;
  66typedef unsigned short __kernel_old_dev_t;
  67
  68#endif /* __s390x__ */
  69
  70typedef struct {
  71        int     val[2];
  72} __kernel_fsid_t;
  73
  74
  75#ifdef __KERNEL__
  76
  77#undef __FD_SET
  78static inline void __FD_SET(unsigned long fd, __kernel_fd_set *fdsetp)
  79{
  80        unsigned long _tmp = fd / __NFDBITS;
  81        unsigned long _rem = fd % __NFDBITS;
  82        fdsetp->fds_bits[_tmp] |= (1UL<<_rem);
  83}
  84
  85#undef __FD_CLR
  86static inline void __FD_CLR(unsigned long fd, __kernel_fd_set *fdsetp)
  87{
  88        unsigned long _tmp = fd / __NFDBITS;
  89        unsigned long _rem = fd % __NFDBITS;
  90        fdsetp->fds_bits[_tmp] &= ~(1UL<<_rem);
  91}
  92
  93#undef __FD_ISSET
  94static inline int __FD_ISSET(unsigned long fd, const __kernel_fd_set *fdsetp)
  95{
  96        unsigned long _tmp = fd / __NFDBITS;
  97        unsigned long _rem = fd % __NFDBITS;
  98        return (fdsetp->fds_bits[_tmp] & (1UL<<_rem)) != 0;
  99}
 100
 101#undef  __FD_ZERO
 102#define __FD_ZERO(fdsetp) \
 103        ((void) memset ((void *) (fdsetp), 0, sizeof (__kernel_fd_set)))
 104
 105#endif     /* __KERNEL__ */
 106
 107#endif
 108