summary refs log tree commit diff stats
path: root/rust/qemu-api/src/chardev.rs
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2025-02-03 11:04:07 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2025-02-13 12:19:34 +0100
commita22bd55ffd889f3027c3158d0014c76f204c69dd (patch)
treef986d064e137d1577f3cc25ef659b9b1d2bcf8e8 /rust/qemu-api/src/chardev.rs
parent61faf6ac7b25b9a743817f0c5fc935a6cdfa7dfb (diff)
downloadfocaccia-qemu-a22bd55ffd889f3027c3158d0014c76f204c69dd.tar.gz
focaccia-qemu-a22bd55ffd889f3027c3158d0014c76f204c69dd.zip
rust: chardev, qdev: add bindings to qdev_prop_set_chr
Because the argument to the function is an Owned<Chardev>, this also
adds an ObjectType implementation to Chardev.

Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'rust/qemu-api/src/chardev.rs')
-rw-r--r--rust/qemu-api/src/chardev.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/rust/qemu-api/src/chardev.rs b/rust/qemu-api/src/chardev.rs
new file mode 100644
index 0000000000..74cfb634e5
--- /dev/null
+++ b/rust/qemu-api/src/chardev.rs
@@ -0,0 +1,19 @@
+// Copyright 2024 Red Hat, Inc.
+// Author(s): Paolo Bonzini <pbonzini@redhat.com>
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+//! Bindings for character devices
+
+use std::ffi::CStr;
+
+use crate::{bindings, prelude::*};
+
+pub type Chardev = bindings::Chardev;
+pub type ChardevClass = bindings::ChardevClass;
+
+unsafe impl ObjectType for Chardev {
+    type Class = ChardevClass;
+    const TYPE_NAME: &'static CStr =
+        unsafe { CStr::from_bytes_with_nul_unchecked(bindings::TYPE_CHARDEV) };
+}
+qom_isa!(Chardev: Object);