summary refs log tree commit diff
path: root/devices/src/virtio/virtio_device.rs
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2020-03-25 09:20:05 +0000
committerAlyssa Ross <hi@alyssa.is>2020-06-15 09:37:15 +0000
commit616c8e59099101ec20eaf8633be929164a68dee4 (patch)
tree4fe8bbca411c0d81fbe37af295ce32620d4cf73f /devices/src/virtio/virtio_device.rs
parentb6549a605935e29ab0ae4291737f8b0158bca1fb (diff)
downloadcrosvm-616c8e59099101ec20eaf8633be929164a68dee4.tar
crosvm-616c8e59099101ec20eaf8633be929164a68dee4.tar.gz
crosvm-616c8e59099101ec20eaf8633be929164a68dee4.tar.bz2
crosvm-616c8e59099101ec20eaf8633be929164a68dee4.tar.lz
crosvm-616c8e59099101ec20eaf8633be929164a68dee4.tar.xz
crosvm-616c8e59099101ec20eaf8633be929164a68dee4.tar.zst
crosvm-616c8e59099101ec20eaf8633be929164a68dee4.zip
devices: VirtioDeviceNew
Diffstat (limited to 'devices/src/virtio/virtio_device.rs')
-rw-r--r--devices/src/virtio/virtio_device.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/devices/src/virtio/virtio_device.rs b/devices/src/virtio/virtio_device.rs
index 58b6886..1d6e4bc 100644
--- a/devices/src/virtio/virtio_device.rs
+++ b/devices/src/virtio/virtio_device.rs
@@ -4,11 +4,19 @@
 
 use std::os::unix::io::RawFd;
 
+use msg_socket2::SerializeWithFds;
 use sys_util::{EventFd, GuestMemory};
 
 use super::*;
 use crate::pci::{MsixStatus, PciAddress, PciBarConfiguration, PciCapability};
 
+pub trait VirtioDeviceNew: Sized {
+    type Params: SerializeWithFds;
+    type Error;
+
+    fn new(params: Self::Params) -> Result<Self, Self::Error>;
+}
+
 /// Trait for virtio devices to be driven by a virtio transport.
 ///
 /// The lifecycle of a virtio device is to be moved to a virtio transport, which will then query the