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