5
#include <linux/posix_types.h>
8
#ifndef __KERNEL_STRICT_NAMES
10
typedef __u32 __kernel_dev_t;
12
typedef __kernel_fd_set fd_set;
13
typedef __kernel_dev_t dev_t;
14
typedef __kernel_ino_t ino_t;
15
typedef __kernel_mode_t mode_t;
16
typedef __kernel_nlink_t nlink_t;
17
typedef __kernel_off_t off_t;
18
typedef __kernel_pid_t pid_t;
19
typedef __kernel_daddr_t daddr_t;
20
typedef __kernel_key_t key_t;
21
typedef __kernel_suseconds_t suseconds_t;
22
typedef __kernel_timer_t timer_t;
23
typedef __kernel_clockid_t clockid_t;
24
typedef __kernel_mqd_t mqd_t;
26
typedef __kernel_uid_t uid_t;
27
typedef __kernel_gid_t gid_t;
29
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
30
typedef __kernel_loff_t loff_t;
34
* The following typedefs are also protected by individual ifdefs for
39
typedef __kernel_size_t size_t;
44
typedef __kernel_ssize_t ssize_t;
49
typedef __kernel_ptrdiff_t ptrdiff_t;
54
typedef __kernel_time_t time_t;
59
typedef __kernel_clock_t clock_t;
64
typedef __kernel_caddr_t caddr_t;
68
typedef unsigned char u_char;
69
typedef unsigned short u_short;
70
typedef unsigned int u_int;
71
typedef unsigned long u_long;
74
typedef unsigned char unchar;
75
typedef unsigned short ushort;
76
typedef unsigned int uint;
77
typedef unsigned long ulong;
79
#ifndef __BIT_TYPES_DEFINED__
80
#define __BIT_TYPES_DEFINED__
82
typedef __u8 u_int8_t;
84
typedef __u16 u_int16_t;
85
typedef __s16 int16_t;
86
typedef __u32 u_int32_t;
87
typedef __s32 int32_t;
89
#endif /* !(__BIT_TYPES_DEFINED__) */
92
typedef __u16 uint16_t;
93
typedef __u32 uint32_t;
95
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
96
typedef __u64 uint64_t;
97
typedef __u64 u_int64_t;
98
typedef __s64 int64_t;
101
/* this is a special 64bit data type that is 8-byte aligned */
102
#define aligned_u64 unsigned long long __attribute__((aligned(8)))
103
#define aligned_be64 __be64 __attribute__((aligned(8)))
104
#define aligned_le64 __le64 __attribute__((aligned(8)))
107
* The type used for indexing onto a disc or disc partition.
109
* Linux always considers sectors to be 512 bytes long independently
110
* of the devices real block size.
113
typedef u64 sector_t;
115
typedef unsigned long sector_t;
119
* The type of the inode's block count.
122
typedef u64 blkcnt_t;
124
typedef unsigned long blkcnt_t;
128
* The type of an index into the pagecache. Use a #define so asm/types.h
132
#define pgoff_t unsigned long
135
#endif /* __KERNEL_STRICT_NAMES */
138
* Below are truly Linux-specific types that should never collide with
139
* any application/library that wants linux/types.h.
143
#define __bitwise__ __attribute__((bitwise))
147
#ifdef __CHECK_ENDIAN__
148
#define __bitwise __bitwise__
153
typedef __u16 __bitwise __le16;
154
typedef __u16 __bitwise __be16;
155
typedef __u32 __bitwise __le32;
156
typedef __u32 __bitwise __be32;
157
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
158
typedef __u64 __bitwise __le64;
159
typedef __u64 __bitwise __be64;
161
typedef __u16 __bitwise __sum16;
162
typedef __u32 __bitwise __wsum;
166
__kernel_daddr_t f_tfree;
167
__kernel_ino_t f_tinode;
172
#endif /* _LINUX_TYPES_H */