aboutsummaryrefslogtreecommitdiffstats
path: root/tools/remus/imqebt/include/linux/types.h
blob: de999aeb6a4a528d1ddf9457079608dad4bc3b70 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
#ifndef _LINUX_TYPES_H
#define _LINUX_TYPES_H

#include <asm/types.h>

#ifndef __ASSEMBLY__
#ifdef __KERNEL__

#define DECLARE_BITMAP(name,bits) \
       unsigned long name[BITS_TO_LONGS(bits)]

#endif

#include <linux/posix_types.h>

#ifdef __KERNEL__

typedef __u32 __kernel_dev_t;

typedef __kernel_fd_set                fd_set;
typedef __kernel_dev_t         dev_t;
typedef __kernel_ino_t         ino_t;
typedef __kernel_mode_t                mode_t;
typedef __kernel_nlink_t       nlink_t;
typedef __kernel_off_t         off_t;
typedef __kernel_pid_t         pid_t;
typedef __kernel_daddr_t       daddr_t;
typedef __kernel_key_t         key_t;
typedef __kernel_suseconds_t   suseconds_t;
typedef __kernel_timer_t       timer_t;
typedef __kernel_clockid_t     clockid_t;
typedef __kernel_mqd_t         mqd_t;

typedef _Bool                  bool;

typedef __kernel_uid32_t       uid_t;
typedef __kernel_gid32_t       gid_t;
typedef __kernel_uid16_t        uid16_t;
typedef __kernel_gid16_t        gid16_t;

typedef unsigned long          uintptr_t;

#ifdef CONFIG_UID16
/* This is defined by include/asm-{arch}/posix_types.h */
typedef __kernel_old_uid_t     old_uid_t;
typedef __kernel_old_gid_t     old_gid_t;
#endif /* CONFIG_UID16 */

#if defined(__GNUC__)
typedef __kernel_loff_t                loff_t;
#endif

/*
 * The following typedefs are also protected by individual ifdefs for
 * historical reasons:
 */
#ifndef _SIZE_T
#define _SIZE_T
typedef __kernel_size_t                size_t;
#endif

#ifndef _SSIZE_T
#define _SSIZE_T
typedef __kernel_ssize_t       ssize_t;
#endif

#ifndef _PTRDIFF_T
#define _PTRDIFF_T
typedef __kernel_ptrdiff_t     ptrdiff_t;
#endif

#ifndef _TIME_T
#define _TIME_T
typedef __kernel_time_t                time_t;
#endif

#ifndef _CLOCK_T
#define _CLOCK_T
typedef __kernel_clock_t       clock_t;
#endif

#ifndef _CADDR_T
#define _CADDR_T
typedef __kernel_caddr_t       caddr_t;
#endif

/* bsd */
typedef unsigned char          u_char;
typedef unsigned short         u_short;
typedef unsigned int           u_int;
typedef unsigned long          u_long;

/* sysv */
typedef unsigned char          unchar;
typedef unsigned short         ushort;
typedef unsigned int           uint;
typedef unsigned long          ulong;

#ifndef __BIT_TYPES_DEFINED__
#define __BIT_TYPES_DEFINED__

typedef                __u8            u_int8_t;
typedef                __s8            int8_t;
typedef                __u16           u_int16_t;
typedef                __s16           int16_t;
typedef                __u32           u_int32_t;
typedef                __s32           int32_t;

#endif /* !(__BIT_TYPES_DEFINED__) */

typedef                __u8            uint8_t;
typedef                __u16           uint16_t;
typedef                __u32           uint32_t;

#if defined(__GNUC__)
typedef                __u64           uint64_t;
typedef                __u64           u_int64_t;
typedef                __s64           int64_t;
#endif

/* this is a special 64bit data type that is 8-byte aligned */
#define aligned_u64 __u64 __attribute__((aligned(8)))
#define aligned_be64 __be64 __attribute__((aligned(8)))
#define aligned_le64 __le64 __attribute__((aligned(8)))

/**
 * The type used for indexing onto a disc or disc partition.
 *
 * Linux always considers sectors to be 512 bytes long independently
 * of the devices real block size.
 *
 * blkcnt_t is the type of the inode's block count.
 */
#ifdef CONFIG_LBD
typedef u64 sector_t;
typedef u64 blkcnt_t;
#else
typedef unsigned long sector_t;
typedef unsigned long blkcnt_t;
#endif

/*
 * The type of an index into the pagecache.  Use a #define so asm/types.h
 * can override it.
 */
#ifndef pgoff_t
#define pgoff_t unsigned long
#endif

#endif /* __KERNEL__ */

/*
 * Below are truly Linux-specific types that should never collide with
 * any application/library that wants linux/types.h.
 */

#ifdef __CHECKER__
#define __bitwise__ __attribute__((bitwise))
#else
#define __bitwise__
#endif
#ifdef __CHECK_ENDIAN__
#define __bitwise __bitwise__
#else
#define __bitwise
#endif

typedef __u16 __bitwise __le16;
typedef __u16 __bitwise __be16;
typedef __u32 __bitwise __le32;
typedef __u32 __bitwise __be32;
typedef __u64 __bitwise __le64;
typedef __u64 __bitwise __be64;

typedef __u16 __bitwise __sum16;
typedef __u32 __bitwise __wsum;

#ifdef __KERNEL__
typedef unsigned __bitwise__ gfp_t;
typedef unsigned __bitwise__ fmode_t;

#ifdef CONFIG_PHYS_ADDR_T_64BIT
typedef u64 phys_addr_t;
#else
typedef u32 phys_addr_t;
#endif

typedef phys_addr_t resource_size_t;

typedef struct {
       volatile int counter;
} atomic_t;

#ifdef CONFIG_64BIT
typedef struct {
       volatile long counter;
} atomic64_t;
#endif

struct ustat {
       __kernel_daddr_t        f_tfree;
       __kernel_ino_t          f_tinode;
       char                    f_fname[6];
       char                    f_fpack[6];
};

#endif /* __KERNEL__ */
#endif /*  __ASSEMBLY__ */
#endif /* _LINUX_TYPES_H */