Rev 5056 | Rev 6082 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5056 | Rev 5270 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | #ifndef _LINUX_TYPES_H |
1 | #ifndef _LINUX_TYPES_H |
2 | #define _LINUX_TYPES_H |
2 | #define _LINUX_TYPES_H |
Line -... | Line 3... | ||
- | 3 | ||
3 | 4 | #define __EXPORTED_HEADERS__ |
|
Line 4... | Line 5... | ||
4 | #include |
5 | #include |
5 | - | ||
Line 6... | Line 6... | ||
6 | #ifndef __ASSEMBLY__ |
6 | |
7 | #ifdef __KERNEL__ |
7 | #ifndef __ASSEMBLY__ |
8 | - | ||
9 | #define DECLARE_BITMAP(name,bits) \ |
- | |
10 | unsigned long name[BITS_TO_LONGS(bits)] |
- | |
11 | #else |
- | |
12 | #ifndef __EXPORTED_HEADERS__ |
- | |
13 | #warning "Attempt to use kernel headers from user space, see http://kernelnewbies.org/KernelHeaders" |
- | |
14 | #endif /* __EXPORTED_HEADERS__ */ |
- | |
15 | #endif |
- | |
16 | - | ||
Line 17... | Line 8... | ||
17 | #include |
8 | |
Line 18... | Line 9... | ||
18 | 9 | #define DECLARE_BITMAP(name,bits) \ |
|
19 | #ifdef __KERNEL__ |
10 | unsigned long name[BITS_TO_LONGS(bits)] |
Line 156... | Line 147... | ||
156 | typedef u64 dma_addr_t; |
147 | typedef u64 dma_addr_t; |
157 | #else |
148 | #else |
158 | typedef u32 dma_addr_t; |
149 | typedef u32 dma_addr_t; |
159 | #endif /* dma_addr_t */ |
150 | #endif /* dma_addr_t */ |
Line 160... | Line -... | ||
160 | - | ||
161 | #endif /* __KERNEL__ */ |
- | |
162 | - | ||
163 | /* |
- | |
164 | * Below are truly Linux-specific types that should never collide with |
- | |
165 | * any application/library that wants linux/types.h. |
- | |
166 | */ |
- | |
167 | 151 | ||
168 | #ifdef __CHECKER__ |
- | |
169 | #define __bitwise__ __attribute__((bitwise)) |
152 | #ifdef __CHECKER__ |
170 | #else |
- | |
171 | #define __bitwise__ |
153 | #else |
172 | #endif |
154 | #endif |
173 | #ifdef __CHECK_ENDIAN__ |
- | |
174 | #define __bitwise __bitwise__ |
155 | #ifdef __CHECK_ENDIAN__ |
175 | #else |
- | |
176 | #define __bitwise |
156 | #else |
177 | #endif |
- | |
178 | - | ||
179 | typedef __u16 __bitwise __le16; |
- | |
180 | typedef __u16 __bitwise __be16; |
- | |
181 | typedef __u32 __bitwise __le32; |
- | |
182 | typedef __u32 __bitwise __be32; |
- | |
183 | typedef __u64 __bitwise __le64; |
- | |
184 | typedef __u64 __bitwise __be64; |
- | |
185 | - | ||
186 | typedef __u16 __bitwise __sum16; |
- | |
187 | typedef __u32 __bitwise __wsum; |
- | |
188 | - | ||
189 | /* |
- | |
190 | * aligned_u64 should be used in defining kernel<->userspace ABIs to avoid |
- | |
191 | * common 32/64-bit compat problems. |
- | |
192 | * 64-bit values align to 4-byte boundaries on x86_32 (and possibly other |
- | |
193 | * architectures) and to 8-byte boundaries on 64-bit architetures. The new |
- | |
194 | * aligned_64 type enforces 8-byte alignment so that structs containing |
- | |
195 | * aligned_64 values have the same alignment on 32-bit and 64-bit architectures. |
- | |
196 | * No conversions are necessary between 32-bit user-space and a 64-bit kernel. |
- | |
197 | */ |
- | |
198 | #define __aligned_u64 __u64 __attribute__((aligned(8))) |
- | |
199 | #define __aligned_be64 __be64 __attribute__((aligned(8))) |
- | |
200 | #define __aligned_le64 __le64 __attribute__((aligned(8))) |
- | |
201 | - | ||
202 | #ifdef __KERNEL__ |
157 | #endif |
203 | typedef unsigned __bitwise__ gfp_t; |
158 | typedef unsigned __bitwise__ gfp_t; |
204 | typedef unsigned __bitwise__ fmode_t; |
159 | typedef unsigned __bitwise__ fmode_t; |
Line 205... | Line 160... | ||
205 | typedef unsigned __bitwise__ oom_flags_t; |
160 | typedef unsigned __bitwise__ oom_flags_t; |
Line 245... | Line 200... | ||
245 | __kernel_ino_t f_tinode; |
200 | __kernel_ino_t f_tinode; |
246 | char f_fname[6]; |
201 | char f_fname[6]; |
247 | char f_fpack[6]; |
202 | char f_fpack[6]; |
248 | }; |
203 | }; |
Line 249... | Line -... | ||
249 | - | ||
250 | #endif /* __KERNEL__ */ |
- | |
251 | #endif /* __ASSEMBLY__ */ |
- | |
252 | - | ||
253 | - | ||
254 | - | ||
255 | - | ||
256 | typedef unsigned char u8_t; |
- | |
257 | typedef unsigned short u16_t; |
- | |
258 | typedef unsigned long u32_t; |
- | |
259 | typedef unsigned long long u64_t; |
- | |
260 | - | ||
261 | typedef unsigned int addr_t; |
- | |
262 | typedef unsigned int count_t; |
- | |
263 | - | ||
264 | - | ||
265 | #define false 0 |
- | |
266 | #define true 1 |
- | |
267 | - | ||
268 | - | ||
269 | #define likely(x) __builtin_expect(!!(x), 1) |
- | |
270 | #define unlikely(x) __builtin_expect(!!(x), 0) |
- | |
271 | - | ||
272 | #define BITS_PER_LONG 32 |
- | |
273 | - | ||
274 | #define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d)) |
- | |
275 | - | ||
276 | - | ||
277 | #define BUILD_BUG_ON_ZERO(e) (sizeof(char[1 - 2 * !!(e)]) - 1) |
- | |
278 | - | ||
279 | - | ||
280 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr)) |
- | |
281 | - | ||
282 | - | ||
283 | #define MTRR_TYPE_UNCACHABLE 0 |
- | |
284 | #define MTRR_TYPE_WRCOMB 1 |
- | |
285 | #define MTRR_TYPE_WRTHROUGH 4 |
- | |
286 | #define MTRR_TYPE_WRPROT 5 |
- | |
287 | #define MTRR_TYPE_WRBACK 6 |
- | |
288 | #define MTRR_NUM_TYPES 7 |
- | |
289 | - | ||
290 | int dbgprintf(const char* format, ...); |
- | |
291 | - | ||
292 | #define GFP_KERNEL 0 |
- | |
293 | #define GFP_ATOMIC 0 |
- | |
294 | - | ||
295 | //#include |
- | |
296 | - | ||
297 | int snprintf(char *str, size_t size, const char *format, ...); |
- | |
298 | - | ||
299 | - | ||
300 | //#include |
- | |
301 | - | ||
302 | void* memcpy(void *s1, const void *s2, size_t n); |
- | |
303 | void* memset(void *s, int c, size_t n); |
- | |
304 | size_t strlen(const char *s); |
- | |
305 | char *strcpy(char *s1, const char *s2); |
- | |
306 | char *strncpy (char *dst, const char *src, size_t len); |
- | |
307 | - | ||
308 | void *malloc(size_t size); |
- | |
309 | void* realloc(void* oldmem, size_t bytes); |
- | |
310 | - | ||
311 | #define kfree free |
- | |
312 | - | ||
313 | static inline void *krealloc(void *p, size_t new_size, gfp_t flags) |
- | |
314 | { |
- | |
315 | return realloc(p, new_size); |
- | |
316 | } |
- | |
317 | - | ||
318 | static inline void *kzalloc(size_t size, uint32_t flags) |
- | |
319 | { |
- | |
320 | void *ret = malloc(size); |
- | |
321 | memset(ret, 0, size); |
- | |
322 | return ret; |
- | |
323 | } |
- | |
324 | - | ||
325 | #define kmalloc(s,f) kzalloc((s), (f)) |
- | |
326 | - | ||
327 | - | ||
328 | - | ||
329 | - | ||
330 | struct drm_file; |
- | |
331 | - | ||
332 | - | ||
333 | #define PAGE_SHIFT 12 |
- | |
334 | #define PAGE_SIZE (1UL << PAGE_SHIFT) |
- | |
335 | #define PAGE_MASK (~(PAGE_SIZE-1)) |
- | |
336 | - | ||
337 | - | ||
338 | - | ||
339 | #define ENTER() dbgprintf("enter %s\n",__FUNCTION__) |
- | |
340 | #define LEAVE() dbgprintf("leave %s\n",__FUNCTION__) |
- | |
341 | - | ||
342 | struct timeval |
- | |
343 | { |
- | |
344 | __kernel_time_t tv_sec; /* seconds */ |
- | |
345 | __kernel_suseconds_t tv_usec; /* microseconds */ |
- | |
346 | }; |
- | |
347 | - | ||
348 | - | ||
349 | #define PCI_DEVICE_ID_ATI_RADEON_QY 0x5159 |
- | |
350 | - | ||
351 | #ifndef __read_mostly |
- | |
352 | #define __read_mostly |
- | |
353 | #endif |
- | |
354 | 204 | ||
355 | /** |
205 | /** |
356 | * struct callback_head - callback structure for use with RCU and task_work |
206 | * struct callback_head - callback structure for use with RCU and task_work |
357 | * @next: next update requests in a list |
207 | * @next: next update requests in a list |
358 | * @func: actual update function to call after the grace period. |
208 | * @func: actual update function to call after the grace period. |
Line 361... | Line 211... | ||
361 | struct callback_head *next; |
211 | struct callback_head *next; |
362 | void (*func)(struct callback_head *head); |
212 | void (*func)(struct callback_head *head); |
363 | }; |
213 | }; |
364 | #define rcu_head callback_head |
214 | #define rcu_head callback_head |
Line -... | Line 215... | ||
- | 215 | ||
365 | 216 | #endif /* __ASSEMBLY__ */ |