nvml_wrapper/enum_wrappers/
mod.rs

1use crate::error::NvmlError;
2use crate::ffi::bindings::*;
3
4pub mod device;
5pub mod nv_link;
6pub mod unit;
7
8pub fn bool_from_state(state: nvmlEnableState_t) -> Result<bool, NvmlError> {
9    match state {
10        nvmlEnableState_enum_NVML_FEATURE_DISABLED => Ok(false),
11        nvmlEnableState_enum_NVML_FEATURE_ENABLED => Ok(true),
12        _ => Err(NvmlError::UnexpectedVariant(state)),
13    }
14}
15
16pub fn state_from_bool(enabled: bool) -> nvmlEnableState_t {
17    if enabled {
18        nvmlEnableState_enum_NVML_FEATURE_ENABLED
19    } else {
20        nvmlEnableState_enum_NVML_FEATURE_DISABLED
21    }
22}