Subversion Repositories Kolibri OS

Rev

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