Subversion Repositories Kolibri OS

Rev

Rev 1222 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1179 serge 1
 
2
#define __TYPES_H__
3
4
 
5
# define __force
6
# define __user
7
8
 
9
10
 
11
12
 
13
#define true                 1
14
15
 
16
typedef long long            loff_t;
17
18
 
19
typedef unsigned int         count_t;
20
typedef unsigned int         addr_t;
21
22
 
23
typedef unsigned short       u16;
24
typedef unsigned int         u32;
25
typedef unsigned long long   u64;
26
27
 
28
typedef unsigned short       __u16;
29
typedef unsigned int         __u32;
30
typedef unsigned long long   __u64;
31
32
 
33
typedef signed short        __s16;
34
typedef signed int          __s32;
35
typedef signed long long    __s64;
36
37
 
1221 serge 38
1179 serge 39
 
40
typedef unsigned short       uint16_t;
41
typedef unsigned int         uint32_t;
42
typedef unsigned long long   uint64_t;
43
44
 
45
typedef unsigned short       u16_t;
46
typedef unsigned int         u32_t;
47
typedef unsigned long long   u64_t;
48
49
 
50
typedef signed int           int32_t;
51
typedef signed long long     int64_t;
52
53
 
54
55
 
56
typedef uint32_t             resource_size_t;
57
58
 
59
 
60
#define cpu_to_le32(v32) (v32)
61
#define cpu_to_le64(v64) (v64)
62
#define le16_to_cpu(v16) (v16)
63
#define le32_to_cpu(v32) (v32)
64
#define le64_to_cpu(v64) (v64)
65
66
 
67
#define unlikely(x)     __builtin_expect(!!(x), 0)
68
69
 
70
71
 
72
73
 
74
75
 
76
        unsigned long name[BITS_TO_LONGS(bits)]
77
78
 
79
 
80
#define KERN_ALERT      "<1>"   /* action must be taken immediately     */
81
#define KERN_CRIT       "<2>"   /* critical conditions                  */
82
#define KERN_ERR        "<3>"   /* error conditions                     */
83
#define KERN_WARNING    "<4>"   /* warning conditions                   */
84
#define KERN_NOTICE     "<5>"   /* normal but significant condition     */
85
#define KERN_INFO       "<6>"   /* informational                        */
86
#define KERN_DEBUG      "<7>"   /* debug-level messages                 */
87
88
 
89
90
 
91
92
 
93
 
94
95
 
96
97
 
98
    printk(KERN_ERR "[" DRM_NAME ":%s] *ERROR* " fmt , __func__ , ##arg)
99
100
 
101
102
 
103
    BUILD_BUG_ON_ZERO(__builtin_types_compatible_p(typeof(a), typeof(&a[0])))
104
105
 
106
107
 
108
 
109
 
110
 
111
#define BUG() do { \
112
         printk("BUG: failure at %s:%d/%s()!\n", __FILE__, __LINE__, __FUNCTION__); \
113
       /*  panic("BUG!"); */ \
114
 } while (0)
115
#endif
116
117
 
118
#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while(0)
119
#endif
120
121
 
122
 
123
 
124
#define MTRR_TYPE_WRCOMB     1
125
#define MTRR_TYPE_WRTHROUGH  4
126
#define MTRR_TYPE_WRPROT     5
127
#define MTRR_TYPE_WRBACK     6
128
#define MTRR_NUM_TYPES       7
129
130
 
131
132
 
133
134
 
135
136
 
137
138
 
139
 
140
141
 
142
void*   memset(void *s, int c, size_t n);
143
size_t  strlen(const char *s);
144
char *strcpy(char *s1, const char *s2);
145
char *strncpy (char *dst, const char *src, size_t len);
146
147
 
148
#define kfree free
149
150
 
151
{
152
    void *ret = malloc(size);
153
    memset(ret, 0, size);
154
    return ret;
155
}
156
157
 
1246 serge 158
159
 
1179 serge 160
161
 
162
163
 
164
        const typeof( ((type *)0)->member ) *__mptr = (ptr);    \
165
        (type *)( (char *)__mptr - offsetof(type,member) );})
166
167
 
168
 
169
 
170
#define mb() __asm__ __volatile__("lock; addl $0,0(%esp)")
171
172
 
173
 
174
#define PAGE_SIZE       (1UL << PAGE_SHIFT)
175
#define PAGE_MASK       (~(PAGE_SIZE-1))
176
177
 
178
179
 
180
{
181
        if (nbits <= BITS_PER_LONG)
182
                *dst = 0UL;
183
        else {
184
                int len = BITS_TO_LONGS(nbits) * sizeof(unsigned long);
185
                memset(dst, 0, len);
186
        }
187
}
188
189
 
190
191
 
192
        typeof(x) _x = (x);     \
193
        typeof(y) _y = (y);     \
194
        (void) (&_x == &_y);            \
195
        _x < _y ? _x : _y; })
196
197
 
198
        typeof(x) _x = (x);     \
199
        typeof(y) _y = (y);     \
200
        (void) (&_x == &_y);            \
201
        _x > _y ? _x : _y; })
202
203
 
1221 serge 204
({                              \
205
    unsigned long __upper, __low, __high, __mod, __base;    \
206
    __base = (base);                    \
207
    asm("":"=a" (__low), "=d" (__high) : "A" (n));      \
208
    __upper = __high;                   \
209
    if (__high) {                       \
210
        __upper = __high % (__base);            \
211
        __high = __high / (__base);         \
212
    }                           \
213
    asm("divl %2":"=a" (__low), "=d" (__mod)        \
214
        : "rm" (__base), "0" (__low), "1" (__upper));   \
215
    asm("":"=A" (n) : "a" (__low), "d" (__high));       \
216
    __mod;                          \
217
})
218
1179 serge 219
 
220
 
221
222
 
223
#define INT_MIN         (-INT_MAX - 1)
224
#define UINT_MAX        (~0U)
225
#define LONG_MAX        ((long)(~0UL>>1))
226
#define LONG_MIN        (-LONG_MAX - 1)
227
#define ULONG_MAX       (~0UL)
228
#define LLONG_MAX       ((long long)(~0ULL>>1))
229
#define LLONG_MIN       (-LLONG_MAX - 1)
230
#define ULLONG_MAX      (~0ULL)
231
232
 
233
 
234
{
235
        if (n != 0 && size > ULONG_MAX / n)
236
                return NULL;
237
        return kzalloc(n * size, 0);
238
}
239
240
 
241
#define LEAVE()   dbgprintf("leave %s\n",__FUNCTION__)
242
243
 
244
#define __ALIGN_MASK(x,mask)    (((x)+(mask))&~(mask))
245
246
 
247
248
 
249
 
250