Subversion Repositories Kolibri OS

Rev

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