xenevtchn/
sys.rs

1use nix::{ioctl_none, ioctl_readwrite_bad};
2use std::ffi::c_uint;
3
4#[repr(C)]
5pub struct BindVirqRequest {
6    pub virq: c_uint,
7}
8
9#[repr(C)]
10pub struct BindInterdomainRequest {
11    pub remote_domain: c_uint,
12    pub remote_port: c_uint,
13}
14
15#[repr(C)]
16pub struct BindUnboundPortRequest {
17    pub remote_domain: c_uint,
18}
19
20#[repr(C)]
21pub struct UnbindPortRequest {
22    pub port: c_uint,
23}
24
25#[repr(C)]
26pub struct NotifyRequest {
27    pub port: c_uint,
28}
29
30ioctl_readwrite_bad!(bind_virq, 0x44500, BindVirqRequest);
31ioctl_readwrite_bad!(bind_interdomain, 0x84501, BindInterdomainRequest);
32ioctl_readwrite_bad!(bind_unbound_port, 0x44503, BindUnboundPortRequest);
33ioctl_readwrite_bad!(unbind, 0x44502, UnbindPortRequest);
34ioctl_readwrite_bad!(notify, 0x44504, NotifyRequest);
35ioctl_none!(reset, 0x4505, 5);