dpdu-wrapper 0.2.0

High-level Rust wrapper for D-PDU implementations.
use crate::api::{ApiResult, PduApi};
use crate::types::pdu_io_ctl::{PduIoCtlCommand, PduIoCtlData, PduIoCtlTarget};
use crate::types::{PduCllHandle, PduModuleHandle};
use dpdu_api_types::{IoEventQueuePropertyData, PduQueueMode};

impl PduApi {
    pub fn vt_io_ctl_set_event_queue_properties(
        &self,
        h_mod: PduModuleHandle,
        h_cll: PduCllHandle,
        size: u32,
        mode: PduQueueMode,
    ) -> ApiResult<()> {
        let _ = self.pdu_io_ctl(
            &PduIoCtlTarget::LogicalLink(h_mod, h_cll),
            &PduIoCtlCommand::from("PDU_IOCTL_SET_EVENT_QUEUE_PROPERTIES"),
            Some(&PduIoCtlData::EventQueueProperty(
                IoEventQueuePropertyData {
                    queue_size: size,
                    queue_mode: mode,
                },
            )),
        )?;
        Ok(())
    }
}