Skip to main content

gio/auto/
ip_tos_message.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from gir-files (https://github.com/gtk-rs/gir-files)
3// DO NOT EDIT
4
5use crate::{EcnCodePoint, SocketControlMessage, ffi};
6use glib::{prelude::*, translate::*};
7
8glib::wrapper! {
9    #[doc(alias = "GIPTosMessage")]
10    pub struct IPTosMessage(Object<ffi::GIPTosMessage, ffi::GIPTosMessageClass>) @extends SocketControlMessage;
11
12    match fn {
13        type_ => || ffi::g_ip_tos_message_get_type(),
14    }
15}
16
17impl IPTosMessage {
18    #[doc(alias = "g_ip_tos_message_new")]
19    pub fn new(dscp: u8, ecn: EcnCodePoint) -> IPTosMessage {
20        unsafe {
21            SocketControlMessage::from_glib_full(ffi::g_ip_tos_message_new(dscp, ecn.into_glib()))
22                .unsafe_cast()
23        }
24    }
25
26    #[doc(alias = "g_ip_tos_message_get_dscp")]
27    #[doc(alias = "get_dscp")]
28    pub fn dscp(&self) -> u8 {
29        unsafe { ffi::g_ip_tos_message_get_dscp(self.to_glib_none().0) }
30    }
31
32    #[doc(alias = "g_ip_tos_message_get_ecn")]
33    #[doc(alias = "get_ecn")]
34    pub fn ecn(&self) -> EcnCodePoint {
35        unsafe { from_glib(ffi::g_ip_tos_message_get_ecn(self.to_glib_none().0)) }
36    }
37}