~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/linux/types.h

Version: ~ [ linux-6.3-rc3 ] ~ [ linux-6.2.7 ] ~ [ linux-6.1.20 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.103 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.175 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.237 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.278 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.310 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.8.17 ] ~ [ linux-4.7.10 ] ~ [ linux-4.6.7 ] ~ [ linux-4.5.7 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 #ifndef _LINUX_TYPES_H
  2 #define _LINUX_TYPES_H
  3 
  4 #ifdef  __KERNEL__
  5 #include <linux/config.h>
  6 
  7 #define BITS_TO_LONGS(bits) \
  8         (((bits)+BITS_PER_LONG-1)/BITS_PER_LONG)
  9 #define DECLARE_BITMAP(name,bits) \
 10         unsigned long name[BITS_TO_LONGS(bits)]
 11 #define CLEAR_BITMAP(name,bits) \
 12         memset(name, 0, BITS_TO_LONGS(bits)*sizeof(unsigned long))
 13 #endif
 14 
 15 #include <linux/posix_types.h>
 16 #include <asm/types.h>
 17 
 18 #ifndef __KERNEL_STRICT_NAMES
 19 
 20 typedef __u32 __kernel_dev_t;
 21 
 22 typedef __kernel_fd_set         fd_set;
 23 typedef __kernel_dev_t          dev_t;
 24 typedef __kernel_ino_t          ino_t;
 25 typedef __kernel_mode_t         mode_t;
 26 typedef __kernel_nlink_t        nlink_t;
 27 typedef __kernel_off_t          off_t;
 28 typedef __kernel_pid_t          pid_t;
 29 typedef __kernel_daddr_t        daddr_t;
 30 typedef __kernel_key_t          key_t;
 31 typedef __kernel_suseconds_t    suseconds_t;
 32 typedef __kernel_timer_t        timer_t;
 33 typedef __kernel_clockid_t      clockid_t;
 34 
 35 #ifdef __KERNEL__
 36 typedef __kernel_uid32_t        uid_t;
 37 typedef __kernel_gid32_t        gid_t;
 38 typedef __kernel_uid16_t        uid16_t;
 39 typedef __kernel_gid16_t        gid16_t;
 40 
 41 #ifdef CONFIG_UID16
 42 /* This is defined by include/asm-{arch}/posix_types.h */
 43 typedef __kernel_old_uid_t      old_uid_t;
 44 typedef __kernel_old_gid_t      old_gid_t;
 45 #endif /* CONFIG_UID16 */
 46 
 47 /* libc5 includes this file to define uid_t, thus uid_t can never change
 48  * when it is included by non-kernel code
 49  */
 50 #else
 51 typedef __kernel_uid_t          uid_t;
 52 typedef __kernel_gid_t          gid_t;
 53 #endif /* __KERNEL__ */
 54 
 55 #if defined(__GNUC__) && !defined(__STRICT_ANSI__)
 56 typedef __kernel_loff_t         loff_t;
 57 #endif
 58 
 59 /*
 60  * The following typedefs are also protected by individual ifdefs for
 61  * historical reasons:
 62  */
 63 #ifndef _SIZE_T
 64 #define _SIZE_T
 65 typedef __kernel_size_t         size_t;
 66 #endif
 67 
 68 #ifndef _SSIZE_T
 69 #define _SSIZE_T
 70 typedef __kernel_ssize_t        ssize_t;
 71 #endif
 72 
 73 #ifndef _PTRDIFF_T
 74 #define _PTRDIFF_T
 75 typedef __kernel_ptrdiff_t      ptrdiff_t;
 76 #endif
 77 
 78 #ifndef _TIME_T
 79 #define _TIME_T
 80 typedef __kernel_time_t         time_t;
 81 #endif
 82 
 83 #ifndef _CLOCK_T
 84 #define _CLOCK_T
 85 typedef __kernel_clock_t        clock_t;
 86 #endif
 87 
 88 #ifndef _CADDR_T
 89 #define _CADDR_T
 90 typedef __kernel_caddr_t        caddr_t;
 91 #endif
 92 
 93 /* bsd */
 94 typedef unsigned char           u_char;
 95 typedef unsigned short          u_short;
 96 typedef unsigned int            u_int;
 97 typedef unsigned long           u_long;
 98 
 99 /* sysv */
100 typedef unsigned char           unchar;
101 typedef unsigned short          ushort;
102 typedef unsigned int            uint;
103 typedef unsigned long           ulong;
104 
105 #ifndef __BIT_TYPES_DEFINED__
106 #define __BIT_TYPES_DEFINED__
107 
108 typedef         __u8            u_int8_t;
109 typedef         __s8            int8_t;
110 typedef         __u16           u_int16_t;
111 typedef         __s16           int16_t;
112 typedef         __u32           u_int32_t;
113 typedef         __s32           int32_t;
114 
115 #endif /* !(__BIT_TYPES_DEFINED__) */
116 
117 typedef         __u8            uint8_t;
118 typedef         __u16           uint16_t;
119 typedef         __u32           uint32_t;
120 
121 #if defined(__GNUC__) && !defined(__STRICT_ANSI__)
122 typedef         __u64           uint64_t;
123 typedef         __u64           u_int64_t;
124 typedef         __s64           int64_t;
125 #endif
126 
127 /*
128  * The type used for indexing onto a disc or disc partition.
129  * If required, asm/types.h can override it and define
130  * HAVE_SECTOR_T
131  */
132 #ifndef HAVE_SECTOR_T
133 typedef unsigned long sector_t;
134 #endif
135 
136 /*
137  * The type of an index into the pagecache.  Use a #define so asm/types.h
138  * can override it.
139  */
140 #ifndef pgoff_t
141 #define pgoff_t unsigned long
142 #endif
143 
144 #endif /* __KERNEL_STRICT_NAMES */
145 
146 /*
147  * Below are truly Linux-specific types that should never collide with
148  * any application/library that wants linux/types.h.
149  */
150 
151 struct ustat {
152         __kernel_daddr_t        f_tfree;
153         __kernel_ino_t          f_tinode;
154         char                    f_fname[6];
155         char                    f_fpack[6];
156 };
157 
158 #endif /* _LINUX_TYPES_H */
159 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | Wiki (Japanese) | Wiki (English) | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

osdn.jp