1use crate::bitmasks::device::PowerMizerModes;
2#[cfg(target_os = "windows")]
3use crate::enum_wrappers::device::DriverModel;
4use crate::enum_wrappers::device::OperationMode;
5use crate::enums::device::PowerMizerMode;
6#[cfg(feature = "serde")]
7use serde_derive::{Deserialize, Serialize};
8
9#[derive(Debug, Clone, Eq, PartialEq, Hash)]
11#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
12pub struct ConfidentialComputeCapabilities {
13 pub cpu_caps: ConfidentialComputeCpuCapabilities,
15 pub gpus_caps: ConfidentialComputeGpuCapabilities,
17}
18
19#[derive(Debug, Clone, Eq, PartialEq, Hash)]
21#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
22pub enum ConfidentialComputeCpuCapabilities {
23 None,
25 AmdSev,
27 IntelTdx,
29}
30
31#[derive(Debug, Clone, Eq, PartialEq, Hash)]
33#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
34pub enum ConfidentialComputeGpuCapabilities {
35 Capable,
37 NotCapable,
39}
40
41#[derive(Debug, Clone, Eq, PartialEq, Hash)]
43#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
44pub struct ConfidentialComputeGpuAttestationReport {
45 pub attestation_report_size: u32,
47 pub attestation_report: Vec<u8>,
50 pub is_cec_attestation_report_present: bool,
52 pub cec_attestation_report_size: u32,
54 pub cec_attestation_report: Vec<u8>,
57}
58
59#[derive(Debug, Clone, Eq, PartialEq, Hash)]
61#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
62pub struct ConfidentialComputeGpuCertificate {
63 pub cert_chain_size: u32,
65 pub attestation_cert_chain_size: u32,
67 pub cert_chain: Vec<u8>,
70 pub attestation_cert_chain: Vec<u8>,
73}
74
75#[derive(Debug, Clone, Eq, PartialEq, Hash)]
77#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
78pub struct AutoBoostClocksEnabledInfo {
79 pub is_enabled: bool,
81 pub is_enabled_default: bool,
86}
87
88#[derive(Debug, Clone, Eq, PartialEq, Hash)]
91#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
92pub struct UtilizationInfo {
93 pub utilization: u32,
94 pub sampling_period: u32,
96}
97
98#[derive(Debug)]
100#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
101#[cfg(target_os = "windows")]
102pub struct DriverModelState {
103 pub current: DriverModel,
104 pub pending: DriverModel,
105}
106
107#[derive(Debug, Clone, Eq, PartialEq, Hash)]
109#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
110pub struct EccModeState {
111 pub currently_enabled: bool,
112 pub pending_enabled: bool,
113}
114
115#[derive(Debug)]
117#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
118pub struct OperationModeState {
119 pub current: OperationMode,
120 pub pending: OperationMode,
121}
122
123#[derive(Debug, Clone, Eq, PartialEq, Hash)]
127#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
128pub struct PowerManagementConstraints {
129 pub min_limit: u32,
130 pub max_limit: u32,
131}
132
133#[derive(Debug, Clone, Eq, PartialEq, Hash)]
135#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
136pub struct PowerMizerModeInfo {
137 pub current: PowerMizerMode,
138 pub supported: PowerMizerModes,
139}
140
141#[derive(Debug, Clone, Eq, PartialEq, Hash)]
143#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
144pub struct EncoderStats {
145 pub session_count: u32,
147 pub average_fps: u32,
149 pub average_latency: u32,
151}
152
153#[derive(Debug, Clone, Eq, PartialEq, Hash)]
155#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
156pub struct CudaComputeCapability {
157 pub major: i32,
158 pub minor: i32,
159}
160
161#[derive(Debug, Clone, Eq, PartialEq, Hash)]
163#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
164pub struct RetiredPage {
165 pub address: u64,
170 pub timestamp: u64,
172}
173
174#[derive(Debug, Clone, Eq, PartialEq, Hash)]
178#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
179pub struct FieldId(pub u32);
180
181#[derive(Debug, Clone, Eq, PartialEq, Hash)]
183#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
184pub struct MigMode {
185 pub current: u32,
187 pub pending: u32,
189}
190
191#[derive(Debug, Clone, Eq, PartialEq, Hash)]
193#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
194pub struct GspFirmwareMode {
195 pub enabled: bool,
196 pub default: bool,
197}