LCOV - code coverage report
Current view: top level - include/linux - types.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 19 19 100.0 %
Date: 2017-01-25 Functions: 0 0 -

          Line data    Source code
       1             : #ifndef _LINUX_TYPES_H
       2             : #define _LINUX_TYPES_H
       3             : 
       4             : #include <asm/types.h>
       5             : 
       6             : #ifndef __ASSEMBLY__
       7             : #ifdef  __KERNEL__
       8             : 
       9             : #define DECLARE_BITMAP(name,bits) \
      10             :         unsigned long name[BITS_TO_LONGS(bits)]
      11             : 
      12             : #endif
      13             : 
      14             : #include <linux/posix_types.h>
      15             : 
      16             : #ifdef __KERNEL__
      17             : 
      18           1 : typedef __u32 __kernel_dev_t;
      19             : 
      20             : typedef __kernel_fd_set         fd_set;
      21           1 : typedef __kernel_dev_t          dev_t;
      22             : typedef __kernel_ino_t          ino_t;
      23           1 : typedef __kernel_mode_t         mode_t;
      24             : typedef __kernel_nlink_t        nlink_t;
      25           1 : typedef __kernel_off_t          off_t;
      26           1 : typedef __kernel_pid_t          pid_t;
      27             : typedef __kernel_daddr_t        daddr_t;
      28             : typedef __kernel_key_t          key_t;
      29             : typedef __kernel_suseconds_t    suseconds_t;
      30             : typedef __kernel_timer_t        timer_t;
      31           1 : typedef __kernel_clockid_t      clockid_t;
      32             : typedef __kernel_mqd_t          mqd_t;
      33             : 
      34           1 : typedef _Bool                   bool;
      35             : 
      36           1 : typedef __kernel_uid32_t        uid_t;
      37           1 : typedef __kernel_gid32_t        gid_t;
      38             : typedef __kernel_uid16_t        uid16_t;
      39             : typedef __kernel_gid16_t        gid16_t;
      40             : 
      41             : typedef unsigned long           uintptr_t;
      42             : 
      43             : #ifdef CONFIG_UID16
      44             : /* This is defined by include/asm-{arch}/posix_types.h */
      45             : typedef __kernel_old_uid_t      old_uid_t;
      46             : typedef __kernel_old_gid_t      old_gid_t;
      47             : #endif /* CONFIG_UID16 */
      48             : 
      49             : #if defined(__GNUC__)
      50           1 : typedef __kernel_loff_t         loff_t;
      51             : #endif
      52             : 
      53             : /*
      54             :  * The following typedefs are also protected by individual ifdefs for
      55             :  * historical reasons:
      56             :  */
      57             : #ifndef _SIZE_T
      58             : #define _SIZE_T
      59           1 : typedef __kernel_size_t         size_t;
      60             : #endif
      61             : 
      62             : #ifndef _SSIZE_T
      63             : #define _SSIZE_T
      64           1 : typedef __kernel_ssize_t        ssize_t;
      65             : #endif
      66             : 
      67             : #ifndef _PTRDIFF_T
      68             : #define _PTRDIFF_T
      69             : typedef __kernel_ptrdiff_t      ptrdiff_t;
      70             : #endif
      71             : 
      72             : #ifndef _TIME_T
      73             : #define _TIME_T
      74           1 : typedef __kernel_time_t         time_t;
      75             : #endif
      76             : 
      77             : #ifndef _CLOCK_T
      78             : #define _CLOCK_T
      79             : typedef __kernel_clock_t        clock_t;
      80             : #endif
      81             : 
      82             : #ifndef _CADDR_T
      83             : #define _CADDR_T
      84             : typedef __kernel_caddr_t        caddr_t;
      85             : #endif
      86             : 
      87             : /* bsd */
      88             : typedef unsigned char           u_char;
      89             : typedef unsigned short          u_short;
      90             : typedef unsigned int            u_int;
      91             : typedef unsigned long           u_long;
      92             : 
      93             : /* sysv */
      94             : typedef unsigned char           unchar;
      95             : typedef unsigned short          ushort;
      96             : typedef unsigned int            uint;
      97             : typedef unsigned long           ulong;
      98             : 
      99             : #ifndef __BIT_TYPES_DEFINED__
     100             : #define __BIT_TYPES_DEFINED__
     101             : 
     102             : typedef         __u8            u_int8_t;
     103             : typedef         __s8            int8_t;
     104             : typedef         __u16           u_int16_t;
     105             : typedef         __s16           int16_t;
     106             : typedef         __u32           u_int32_t;
     107             : typedef         __s32           int32_t;
     108             : 
     109             : #endif /* !(__BIT_TYPES_DEFINED__) */
     110             : 
     111             : typedef         __u8            uint8_t;
     112             : typedef         __u16           uint16_t;
     113             : typedef         __u32           uint32_t;
     114             : 
     115             : #if defined(__GNUC__)
     116             : typedef         __u64           uint64_t;
     117             : typedef         __u64           u_int64_t;
     118             : typedef         __s64           int64_t;
     119             : #endif
     120             : 
     121             : /* this is a special 64bit data type that is 8-byte aligned */
     122             : #define aligned_u64 __u64 __attribute__((aligned(8)))
     123             : #define aligned_be64 __be64 __attribute__((aligned(8)))
     124             : #define aligned_le64 __le64 __attribute__((aligned(8)))
     125             : 
     126             : /**
     127             :  * The type used for indexing onto a disc or disc partition.
     128             :  *
     129             :  * Linux always considers sectors to be 512 bytes long independently
     130             :  * of the devices real block size.
     131             :  *
     132             :  * blkcnt_t is the type of the inode's block count.
     133             :  */
     134             : #ifdef CONFIG_LBDAF
     135             : typedef u64 sector_t;
     136             : typedef u64 blkcnt_t;
     137             : #else
     138           1 : typedef unsigned long sector_t;
     139           1 : typedef unsigned long blkcnt_t;
     140             : #endif
     141             : 
     142             : /*
     143             :  * The type of an index into the pagecache.  Use a #define so asm/types.h
     144             :  * can override it.
     145             :  */
     146             : #ifndef pgoff_t
     147             : #define pgoff_t unsigned long
     148             : #endif
     149             : 
     150             : #endif /* __KERNEL__ */
     151             : 
     152             : /*
     153             :  * Below are truly Linux-specific types that should never collide with
     154             :  * any application/library that wants linux/types.h.
     155             :  */
     156             : 
     157             : #ifdef __CHECKER__
     158             : #define __bitwise__ __attribute__((bitwise))
     159             : #else
     160             : #define __bitwise__
     161             : #endif
     162             : #ifdef __CHECK_ENDIAN__
     163             : #define __bitwise __bitwise__
     164             : #else
     165             : #define __bitwise
     166             : #endif
     167             : 
     168             : typedef __u16 __bitwise __le16;
     169             : typedef __u16 __bitwise __be16;
     170             : typedef __u32 __bitwise __le32;
     171             : typedef __u32 __bitwise __be32;
     172             : typedef __u64 __bitwise __le64;
     173             : typedef __u64 __bitwise __be64;
     174             : 
     175             : typedef __u16 __bitwise __sum16;
     176             : typedef __u32 __bitwise __wsum;
     177             : 
     178             : #ifdef __KERNEL__
     179           1 : typedef unsigned __bitwise__ gfp_t;
     180           1 : typedef unsigned __bitwise__ fmode_t;
     181             : 
     182             : #ifdef CONFIG_PHYS_ADDR_T_64BIT
     183             : typedef u64 phys_addr_t;
     184             : #else
     185             : typedef u32 phys_addr_t;
     186             : #endif
     187             : 
     188             : typedef phys_addr_t resource_size_t;
     189             : 
     190             : typedef struct {
     191             :         volatile int counter;
     192           2 : } atomic_t;
     193             : 
     194             : #ifdef CONFIG_64BIT
     195             : typedef struct {
     196             :         volatile long counter;
     197           2 : } atomic64_t;
     198             : #endif
     199             : 
     200             : struct ustat {
     201             :         __kernel_daddr_t        f_tfree;
     202             :         __kernel_ino_t          f_tinode;
     203             :         char                    f_fname[6];
     204             :         char                    f_fpack[6];
     205             : };
     206             : 
     207             : #endif  /* __KERNEL__ */
     208             : #endif /*  __ASSEMBLY__ */
     209             : #endif /* _LINUX_TYPES_H */

Generated by: LCOV version 1.10