nvml_wrapper/enum_wrappers/
unit.rs

1use crate::error::NvmlError;
2use crate::ffi::bindings::*;
3#[cfg(feature = "serde")]
4use serde_derive::{Deserialize, Serialize};
5use wrapcenum_derive::EnumWrapper;
6
7/// Unit fan state.
8// Checked against local
9#[derive(EnumWrapper, Debug, Clone, Copy, Eq, PartialEq, Hash)]
10#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
11#[wrap(c_enum = "nvmlFanState_enum")]
12pub enum FanState {
13    /// Working properly
14    #[wrap(c_variant = "NVML_FAN_NORMAL")]
15    Normal,
16    #[wrap(c_variant = "NVML_FAN_FAILED")]
17    Failed,
18}
19
20// Checked against local
21#[derive(EnumWrapper, Debug, Clone, Copy, Eq, PartialEq, Hash)]
22#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
23#[wrap(c_enum = "nvmlLedColor_enum")]
24pub enum LedColor {
25    /// Used to indicate good health.
26    #[wrap(c_variant = "NVML_LED_COLOR_GREEN")]
27    Green,
28    /// Used to indicate a problem.
29    #[wrap(c_variant = "NVML_LED_COLOR_AMBER")]
30    Amber,
31}