1
1
#ifndef _LINUX_TYPES_H
2
2
#define _LINUX_TYPES_H
5
8
#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;
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;
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 __u64 __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.
112
* blkcnt_t is the type of the inode's block count.
115
typedef u64 sector_t;
116
typedef u64 blkcnt_t;
118
typedef unsigned long sector_t;
119
typedef unsigned long blkcnt_t;
123
* The type of an index into the pagecache. Use a #define so asm/types.h
127
#define pgoff_t unsigned long
130
#endif /* __KERNEL_STRICT_NAMES */
133
12
* Below are truly Linux-specific types that should never collide with