linux/arch/m32r/include/asm/posix_types.h
<<
>>
Prefs
   1#ifndef _ASM_M32R_POSIX_TYPES_H
   2#define _ASM_M32R_POSIX_TYPES_H
   3
   4/*
   5 * This file is generally used by user-level software, so you need to
   6 * be a little careful about namespace pollution etc.  Also, we cannot
   7 * assume GCC is being used.
   8 */
   9
  10typedef unsigned long   __kernel_ino_t;
  11typedef unsigned short  __kernel_mode_t;
  12typedef unsigned short  __kernel_nlink_t;
  13typedef long            __kernel_off_t;
  14typedef int             __kernel_pid_t;
  15typedef unsigned short  __kernel_ipc_pid_t;
  16typedef unsigned short  __kernel_uid_t;
  17typedef unsigned short  __kernel_gid_t;
  18typedef unsigned int    __kernel_size_t;
  19typedef int             __kernel_ssize_t;
  20typedef int             __kernel_ptrdiff_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;
  30typedef unsigned int    __kernel_uid32_t;
  31typedef unsigned int    __kernel_gid32_t;
  32
  33typedef unsigned short  __kernel_old_uid_t;
  34typedef unsigned short  __kernel_old_gid_t;
  35typedef unsigned short  __kernel_old_dev_t;
  36
  37#ifdef __GNUC__
  38typedef long long       __kernel_loff_t;
  39#endif
  40
  41typedef struct {
  42        int     val[2];
  43} __kernel_fsid_t;
  44
  45#if defined(__KERNEL__)
  46
  47#undef  __FD_SET
  48static __inline__ void __FD_SET(unsigned long __fd, __kernel_fd_set *__fdsetp)
  49{
  50        unsigned long __tmp = __fd / __NFDBITS;
  51        unsigned long __rem = __fd % __NFDBITS;
  52        __fdsetp->fds_bits[__tmp] |= (1UL<<__rem);
  53}
  54
  55#undef  __FD_CLR
  56static __inline__ void __FD_CLR(unsigned long __fd, __kernel_fd_set *__fdsetp)
  57{
  58        unsigned long __tmp = __fd / __NFDBITS;
  59        unsigned long __rem = __fd % __NFDBITS;
  60        __fdsetp->fds_bits[__tmp] &= ~(1UL<<__rem);
  61}
  62
  63
  64#undef  __FD_ISSET
  65static __inline__ int __FD_ISSET(unsigned long __fd, const __kernel_fd_set *__p)
  66{
  67        unsigned long __tmp = __fd / __NFDBITS;
  68        unsigned long __rem = __fd % __NFDBITS;
  69        return (__p->fds_bits[__tmp] & (1UL<<__rem)) != 0;
  70}
  71
  72/*
  73 * This will unroll the loop for the normal constant case (8 ints,
  74 * for a 256-bit fd_set)
  75 */
  76#undef  __FD_ZERO
  77static __inline__ void __FD_ZERO(__kernel_fd_set *__p)
  78{
  79        unsigned long *__tmp = __p->fds_bits;
  80        int __i;
  81
  82        if (__builtin_constant_p(__FDSET_LONGS)) {
  83                switch (__FDSET_LONGS) {
  84                case 16:
  85                        __tmp[ 0] = 0; __tmp[ 1] = 0;
  86                        __tmp[ 2] = 0; __tmp[ 3] = 0;
  87                        __tmp[ 4] = 0; __tmp[ 5] = 0;
  88                        __tmp[ 6] = 0; __tmp[ 7] = 0;
  89                        __tmp[ 8] = 0; __tmp[ 9] = 0;
  90                        __tmp[10] = 0; __tmp[11] = 0;
  91                        __tmp[12] = 0; __tmp[13] = 0;
  92                        __tmp[14] = 0; __tmp[15] = 0;
  93                        return;
  94
  95                case 8:
  96                        __tmp[ 0] = 0; __tmp[ 1] = 0;
  97                        __tmp[ 2] = 0; __tmp[ 3] = 0;
  98                        __tmp[ 4] = 0; __tmp[ 5] = 0;
  99                        __tmp[ 6] = 0; __tmp[ 7] = 0;
 100                        return;
 101
 102                case 4:
 103                        __tmp[ 0] = 0; __tmp[ 1] = 0;
 104                        __tmp[ 2] = 0; __tmp[ 3] = 0;
 105                        return;
 106                }
 107        }
 108        __i = __FDSET_LONGS;
 109        while (__i) {
 110                __i--;
 111                *__tmp = 0;
 112                __tmp++;
 113        }
 114}
 115
 116#endif /* defined(__KERNEL__) */
 117
 118#endif  /* _ASM_M32R_POSIX_TYPES_H */
 119