Skip to main content

linux_media/
media_intf_devnode.rs

1use std::path::PathBuf;
2
3use linux_media_sys as media;
4use serde::{Deserialize, Serialize};
5
6/// A wrapper type of [`linux_media_sys::media_v2_intf_devnode`]
7#[derive(Debug, Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Serialize, Deserialize)]
8pub struct MediaIntfDevnode {
9    pub major: u32,
10    pub minor: u32,
11}
12
13impl From<media::media_v2_intf_devnode> for MediaIntfDevnode {
14    fn from(devnode: media::media_v2_intf_devnode) -> Self {
15        MediaIntfDevnode {
16            major: devnode.major,
17            minor: devnode.minor,
18        }
19    }
20}
21
22impl From<MediaIntfDevnode> for PathBuf {
23    fn from(devnode: MediaIntfDevnode) -> Self {
24        PathBuf::from(format!("/sys/dev/char/{}:{}", devnode.major, devnode.minor))
25    }
26}