Subversion Repositories Kolibri OS

Rev

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

Rev Author Line No. Line
1616 serge 1
 
1631 serge 2
 
1616 serge 3
4
#include 
5
 
6
#include 
3031 serge 7
#include 
8
#include 
1631 serge 9
3031 serge 10
1616 serge 11
 
1631 serge 12
 
1616 serge 13
#define PG_SW               0x003
14
 
15
#define PG_NOCACHE          0x018
3262 Serge 16
#define PG_SHARED           0x200
17
18
1616 serge 19
 
3262 Serge 20
 
1616 serge 21
#define ENTER()   dbgprintf("enter %s\n",__FUNCTION__)
22
 
1627 serge 23
#define FAIL()    dbgprintf("fail %s\n",__FUNCTION__)
24
3120 serge 25
typedef struct
1627 serge 26
 
1616 serge 27
    u32_t  code;
28
    u32_t  data[5];
29
}kevent_t;
30
31
typedef union
32
 
33
    struct
34
    {
35
        u32_t handle;
36
        u32_t euid;
37
    };
38
    u64_t raw;
39
}evhandle_t;
40
41
typedef struct
42
 
43
  u32_t      handle;
44
  u32_t      io_code;
45
  void       *input;
46
  int        inp_size;
47
  void       *output;
48
  int        out_size;
49
}ioctl_t;
50
51
typedef int (__stdcall *srv_proc_t)(ioctl_t *);
52
 
53
#define ERR_OK       0
54
 
55
56
57
 
58
 
59
int   ddk_init(struct ddk_params *params);
60
 
61
u32_t drvEntry(int, char *)__asm__("_drvEntry");
62
 
63
64
 
65
 
3031 serge 66
#ifndef WARN_ON
1616 serge 67
 
3031 serge 68
        int __ret_warn_on = !!(condition);                              \
69
        if (unlikely(__ret_warn_on))                                    \
70
                __WARN();                                               \
71
        unlikely(__ret_warn_on);                                        \
72
})
73
#endif
74
75
1616 serge 76
 
77
 
3031 serge 78
//    if (size != 0 && n > SIZE_MAX / size)
79
//        return NULL;
80
    return kmalloc(n * size, flags);
81
}
82
83
84
 
85