1 #ifndef XENDEVICEMODEL_PRIVATE_H
2 #define XENDEVICEMODEL_PRIVATE_H
3 
4 #include <xentoollog.h>
5 #include <xendevicemodel.h>
6 #include <xencall.h>
7 
8 #include <xentoolcore_internal.h>
9 
10 struct xendevicemodel_handle {
11     xentoollog_logger *logger, *logger_tofree;
12     unsigned int flags;
13     xencall_handle *xcall;
14     int fd;
15     Xentoolcore__Active_Handle tc_ah;
16 };
17 
18 struct xendevicemodel_buf {
19     void *ptr;
20     size_t size;
21 };
22 
23 int xendevicemodel_xcall(xendevicemodel_handle *dmod,
24                          domid_t domid, unsigned int nr_bufs,
25                          struct xendevicemodel_buf bufs[]);
26 
27 int osdep_xendevicemodel_open(xendevicemodel_handle *dmod);
28 int osdep_xendevicemodel_close(xendevicemodel_handle *dmod);
29 int osdep_xendevicemodel_op(xendevicemodel_handle *dmod,
30                             domid_t domid, unsigned int nr_bufs,
31                             struct xendevicemodel_buf bufs[]);
32 
33 int osdep_xendevicemodel_restrict(
34     xendevicemodel_handle *dmod, domid_t domid);
35 
36 #define PERROR(_f...) \
37     xtl_log(dmod->logger, XTL_ERROR, errno, "xendevicemodel", _f)
38 
39 #endif
40 
41 /*
42  * Local variables:
43  * mode: C
44  * c-file-style: "BSD"
45  * c-basic-offset: 4
46  * tab-width: 4
47  * indent-tabs-mode: nil
48  * End:
49  */
50