LCOV - code coverage report
Current view: top level - lkbce/arch/x86/include/asm - posix_types_64.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 16 16 100.0 %
Date: 2017-01-25 Functions: 0 0 -

          Line data    Source code
       1             : #ifndef _ASM_X86_POSIX_TYPES_64_H
       2             : #define _ASM_X86_POSIX_TYPES_64_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             : 
      10           1 : typedef unsigned long   __kernel_ino_t;
      11           1 : typedef unsigned int    __kernel_mode_t;
      12             : typedef unsigned long   __kernel_nlink_t;
      13           1 : typedef long            __kernel_off_t;
      14           1 : typedef int             __kernel_pid_t;
      15             : typedef int             __kernel_ipc_pid_t;
      16           1 : typedef unsigned int    __kernel_uid_t;
      17           1 : typedef unsigned int    __kernel_gid_t;
      18           1 : typedef unsigned long   __kernel_size_t;
      19           1 : typedef long            __kernel_ssize_t;
      20             : typedef long            __kernel_ptrdiff_t;
      21           1 : typedef long            __kernel_time_t;
      22             : typedef long            __kernel_suseconds_t;
      23           1 : typedef long            __kernel_clock_t;
      24           1 : typedef int             __kernel_timer_t;
      25           1 : typedef int             __kernel_clockid_t;
      26             : typedef int             __kernel_daddr_t;
      27             : typedef char *          __kernel_caddr_t;
      28             : typedef unsigned short  __kernel_uid16_t;
      29             : typedef unsigned short  __kernel_gid16_t;
      30             : 
      31             : #ifdef __GNUC__
      32           1 : typedef long long       __kernel_loff_t;
      33             : #endif
      34             : 
      35             : typedef struct {
      36             :         int     val[2];
      37           2 : } __kernel_fsid_t;
      38             : 
      39             : typedef unsigned short __kernel_old_uid_t;
      40             : typedef unsigned short __kernel_old_gid_t;
      41           1 : typedef __kernel_uid_t __kernel_uid32_t;
      42           1 : typedef __kernel_gid_t __kernel_gid32_t;
      43             : 
      44             : typedef unsigned long   __kernel_old_dev_t;
      45             : 
      46             : #ifdef __KERNEL__
      47             : 
      48             : #undef __FD_SET
      49             : static inline void __FD_SET(unsigned long fd, __kernel_fd_set *fdsetp)
      50             : {
      51             :         unsigned long _tmp = fd / __NFDBITS;
      52             :         unsigned long _rem = fd % __NFDBITS;
      53             :         fdsetp->fds_bits[_tmp] |= (1UL<<_rem);
      54             : }
      55             : 
      56             : #undef __FD_CLR
      57             : static inline void __FD_CLR(unsigned long fd, __kernel_fd_set *fdsetp)
      58             : {
      59             :         unsigned long _tmp = fd / __NFDBITS;
      60             :         unsigned long _rem = fd % __NFDBITS;
      61             :         fdsetp->fds_bits[_tmp] &= ~(1UL<<_rem);
      62             : }
      63             : 
      64             : #undef __FD_ISSET
      65             : static 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 cases (8 or 32 longs,
      74             :  * for 256 and 1024-bit fd_sets respectively)
      75             :  */
      76             : #undef __FD_ZERO
      77             : static 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 32:
      85             :                         tmp[ 0] = 0; tmp[ 1] = 0; tmp[ 2] = 0; tmp[ 3] = 0;
      86             :                         tmp[ 4] = 0; tmp[ 5] = 0; tmp[ 6] = 0; tmp[ 7] = 0;
      87             :                         tmp[ 8] = 0; tmp[ 9] = 0; tmp[10] = 0; tmp[11] = 0;
      88             :                         tmp[12] = 0; tmp[13] = 0; tmp[14] = 0; tmp[15] = 0;
      89             :                         tmp[16] = 0; tmp[17] = 0; tmp[18] = 0; tmp[19] = 0;
      90             :                         tmp[20] = 0; tmp[21] = 0; tmp[22] = 0; tmp[23] = 0;
      91             :                         tmp[24] = 0; tmp[25] = 0; tmp[26] = 0; tmp[27] = 0;
      92             :                         tmp[28] = 0; tmp[29] = 0; tmp[30] = 0; tmp[31] = 0;
      93             :                         return;
      94             :                 case 16:
      95             :                         tmp[ 0] = 0; tmp[ 1] = 0; tmp[ 2] = 0; tmp[ 3] = 0;
      96             :                         tmp[ 4] = 0; tmp[ 5] = 0; tmp[ 6] = 0; tmp[ 7] = 0;
      97             :                         tmp[ 8] = 0; tmp[ 9] = 0; tmp[10] = 0; tmp[11] = 0;
      98             :                         tmp[12] = 0; tmp[13] = 0; tmp[14] = 0; tmp[15] = 0;
      99             :                         return;
     100             :                 case 8:
     101             :                         tmp[ 0] = 0; tmp[ 1] = 0; tmp[ 2] = 0; tmp[ 3] = 0;
     102             :                         tmp[ 4] = 0; tmp[ 5] = 0; tmp[ 6] = 0; tmp[ 7] = 0;
     103             :                         return;
     104             :                 case 4:
     105             :                         tmp[ 0] = 0; tmp[ 1] = 0; tmp[ 2] = 0; tmp[ 3] = 0;
     106             :                         return;
     107             :                 }
     108             :         }
     109             :         i = __FDSET_LONGS;
     110             :         while (i) {
     111             :                 i--;
     112             :                 *tmp = 0;
     113             :                 tmp++;
     114             :         }
     115             : }
     116             : 
     117             : #endif /* defined(__KERNEL__) */
     118             : 
     119             : #endif /* _ASM_X86_POSIX_TYPES_64_H */

Generated by: LCOV version 1.10