Subversion Repositories Kolibri OS

Rev

Rev 2967 | Rev 3120 | 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
2967 Serge 16
#define MANUAL_DESTROY      0x80000000
1616 serge 17
 
18
#define ENTER()   dbgprintf("enter %s\n",__FUNCTION__)
19
 
1627 serge 20
21
typedef struct
22
 
1616 serge 23
    u32_t  code;
24
    u32_t  data[5];
25
}kevent_t;
26
27
typedef union
28
 
29
    struct
30
    {
31
        u32_t handle;
32
        u32_t euid;
33
    };
34
    u64_t raw;
35
}evhandle_t;
36
37
typedef struct
38
 
39
  u32_t      handle;
40
  u32_t      io_code;
41
  void       *input;
42
  int        inp_size;
43
  void       *output;
44
  int        out_size;
45
}ioctl_t;
46
47
typedef int (__stdcall *srv_proc_t)(ioctl_t *);
48
 
49
#define ERR_OK       0
50
 
51
52
53
 
54
 
55
int   ddk_init(struct ddk_params *params);
56
 
57
u32_t drvEntry(int, char *)__asm__("_drvEntry");
58
 
59
60
 
61
 
3031 serge 62
#ifndef WARN_ON
1616 serge 63
 
3031 serge 64
        int __ret_warn_on = !!(condition);                              \
65
        if (unlikely(__ret_warn_on))                                    \
66
                __WARN();                                               \
67
        unlikely(__ret_warn_on);                                        \
68
})
69
#endif
70
71
1616 serge 72
 
73
 
3031 serge 74
//    if (size != 0 && n > SIZE_MAX / size)
75
//        return NULL;
76
    return kmalloc(n * size, flags);
77
}
78
79
80
 
81