Subversion Repositories Kolibri OS

Rev

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__ */