[EXT2]
[reactos.git] / reactos / drivers / filesystems / ext2 / inc / linux / types.h
1 #ifndef _LINUX_TYPES_H
2 #define _LINUX_TYPES_H
3
4 #if _NT_TARGET_VERSION <= 0x500
5 #define _WIN2K_COMPAT_SLIST_USAGE
6 #endif
7
8 #include <linux/config.h>
9 #include <ntifs.h>
10 #include <ntdddisk.h>
11 #include <windef.h>
12 #include <stdio.h>
13 #include <stdlib.h>
14 #include <stdarg.h>
15 #include <wchar.h>
16
17 typedef unsigned __int8 __u8;
18 typedef signed __int8 __s8;
19
20 typedef signed __int16 __s16;
21 typedef unsigned __int16 __u16;
22
23 typedef signed __int32 __s32;
24 typedef unsigned __int32 __u32;
25
26 typedef signed __int64 __s64;
27 typedef unsigned __int64 __u64;
28
29
30 typedef __s8 s8;
31 typedef __u8 u8;
32 typedef __s16 s16;
33 typedef __u16 u16;
34 typedef __s32 s32;
35 typedef __u32 u32;
36 typedef __s64 s64;
37 typedef __u64 u64;
38
39 #define __le16 u16
40 #define __le32 u32
41 #define __le64 u64
42
43 #define bool BOOLEAN
44
45 //
46 // gcc special keyworks
47 //
48 #if defined(_MSC_VER) || !defined(__REACTOS__)
49 /* FIXME: Inspect why this is needed */
50 #define __attribute__(x)
51 #endif
52 #define __bitwise
53 #define __releases(x)
54
55 #ifdef _MSC_VER
56 #define inline __inline
57 #endif
58
59 #ifndef noinline
60 #define noinline
61 #endif
62
63 typedef __u32 __bitwise __be32;
64 typedef __u16 __bitwise __be16;
65
66 #define uid_t u16
67 #define gid_t u16
68 typedef int pid_t;
69 typedef unsigned __bitwise gfp_t;
70
71 typedef unsigned short umode_t; /* inode mode */
72
73 /*
74 * The type used for indexing onto a disc or disc partition.
75 * If required, asm/types.h can override it and define
76 * HAVE_SECTOR_T
77 */
78 typedef unsigned __int64 sector_t;
79 typedef unsigned __int64 blkcnt_t;
80 typedef unsigned __int64 loff_t;
81
82 #define BITS_PER_LONG (32)
83 #define ORDER_PER_LONG (05)
84
85 #if defined(_WIN64)
86 typedef __int64 long_ptr_t;
87 typedef unsigned __int64 ulong_ptr_t;
88 # define CFS_BITS_PER_LONG (64)
89 # define CFS_ORDER_PER_LONG (06)
90 #else
91 typedef long long_ptr_t;
92 typedef unsigned long ulong_ptr_t;
93 # define CFS_BITS_PER_LONG (32)
94 # define CFS_ORDER_PER_LONG (05)
95 #endif
96
97 //
98 // bit spin lock
99 //
100
101 #define __acquire(x)
102 #define __release(x)
103
104 #define preempt_enable()
105 #define preempt_disable()
106
107 //
108 // __FUNCTION__ issue
109 //
110
111 #if _MSC_VER <= 1300
112 #define __FUNCTION__ ("jbd")
113 #endif
114
115 #define BUG() do {DbgBreakPoint();} while(0)
116
117 #endif /* LINUX_TYPES_H */