Skip to main content

nvml_wrapper_sys/
bindings.rs

1/* automatically generated by rust-bindgen 0.72.1 */
2
3#![allow(non_upper_case_globals)]
4#![allow(non_camel_case_types)]
5#![allow(non_snake_case)]
6#![allow(dead_code)]
7use std::os::raw;
8
9pub const NVML_API_VERSION: u32 = 13;
10pub const NVML_API_VERSION_STR: &[u8; 3] = b"13\0";
11pub const NVML_VALUE_NOT_AVAILABLE: i32 = -1;
12pub const NVML_DEVICE_PCI_BUS_ID_BUFFER_SIZE: u32 = 32;
13pub const NVML_DEVICE_PCI_BUS_ID_BUFFER_V2_SIZE: u32 = 16;
14pub const NVML_DEVICE_PCI_BUS_ID_LEGACY_FMT: &[u8; 17] = b"%04X:%02X:%02X.0\0";
15pub const NVML_DEVICE_PCI_BUS_ID_FMT: &[u8; 17] = b"%08X:%02X:%02X.0\0";
16pub const NVML_NVLINK_MAX_LINKS: u32 = 18;
17pub const NVML_MAX_PHYSICAL_BRIDGE: u32 = 128;
18pub const NVML_MAX_THERMAL_SENSORS_PER_GPU: u32 = 3;
19pub const NVML_DEVICE_UUID_ASCII_LEN: u32 = 41;
20pub const NVML_DEVICE_UUID_BINARY_LEN: u32 = 16;
21pub const nvmlFlagDefault: u32 = 0;
22pub const nvmlFlagForce: u32 = 1;
23pub const MAX_CLK_DOMAINS: u32 = 32;
24pub const NVML_MAX_GPU_PERF_PSTATES: u32 = 16;
25pub const NVML_PERF_MODES_BUFFER_SIZE: u32 = 2048;
26pub const NVML_POWER_MIZER_MODE_ADAPTIVE: u32 = 0;
27pub const NVML_POWER_MIZER_MODE_PREFER_MAXIMUM_PERFORMANCE: u32 = 1;
28pub const NVML_POWER_MIZER_MODE_AUTO: u32 = 2;
29pub const NVML_POWER_MIZER_MODE_PREFER_CONSISTENT_PERFORMANCE: u32 = 3;
30pub const NVML_GSP_FIRMWARE_VERSION_BUF_SIZE: u32 = 64;
31pub const NVML_DEVICE_ARCH_KEPLER: u32 = 2;
32pub const NVML_DEVICE_ARCH_MAXWELL: u32 = 3;
33pub const NVML_DEVICE_ARCH_PASCAL: u32 = 4;
34pub const NVML_DEVICE_ARCH_VOLTA: u32 = 5;
35pub const NVML_DEVICE_ARCH_TURING: u32 = 6;
36pub const NVML_DEVICE_ARCH_AMPERE: u32 = 7;
37pub const NVML_DEVICE_ARCH_ADA: u32 = 8;
38pub const NVML_DEVICE_ARCH_HOPPER: u32 = 9;
39pub const NVML_DEVICE_ARCH_BLACKWELL: u32 = 10;
40pub const NVML_DEVICE_ARCH_UNKNOWN: u32 = 4294967295;
41pub const NVML_BUS_TYPE_UNKNOWN: u32 = 0;
42pub const NVML_BUS_TYPE_PCI: u32 = 1;
43pub const NVML_BUS_TYPE_PCIE: u32 = 2;
44pub const NVML_BUS_TYPE_FPCI: u32 = 3;
45pub const NVML_BUS_TYPE_AGP: u32 = 4;
46pub const NVML_FAN_POLICY_TEMPERATURE_CONTINOUS_SW: u32 = 0;
47pub const NVML_FAN_POLICY_MANUAL: u32 = 1;
48pub const NVML_POWER_SOURCE_AC: u32 = 0;
49pub const NVML_POWER_SOURCE_BATTERY: u32 = 1;
50pub const NVML_POWER_SOURCE_UNDERSIZED: u32 = 2;
51pub const NVML_PCIE_LINK_MAX_SPEED_INVALID: u32 = 0;
52pub const NVML_PCIE_LINK_MAX_SPEED_2500MBPS: u32 = 1;
53pub const NVML_PCIE_LINK_MAX_SPEED_5000MBPS: u32 = 2;
54pub const NVML_PCIE_LINK_MAX_SPEED_8000MBPS: u32 = 3;
55pub const NVML_PCIE_LINK_MAX_SPEED_16000MBPS: u32 = 4;
56pub const NVML_PCIE_LINK_MAX_SPEED_32000MBPS: u32 = 5;
57pub const NVML_PCIE_LINK_MAX_SPEED_64000MBPS: u32 = 6;
58pub const NVML_ADAPTIVE_CLOCKING_INFO_STATUS_DISABLED: u32 = 0;
59pub const NVML_ADAPTIVE_CLOCKING_INFO_STATUS_ENABLED: u32 = 1;
60pub const NVML_MAX_GPU_UTILIZATIONS: u32 = 8;
61pub const NVML_PCIE_ATOMICS_CAP_FETCHADD32: u32 = 1;
62pub const NVML_PCIE_ATOMICS_CAP_FETCHADD64: u32 = 2;
63pub const NVML_PCIE_ATOMICS_CAP_SWAP32: u32 = 4;
64pub const NVML_PCIE_ATOMICS_CAP_SWAP64: u32 = 8;
65pub const NVML_PCIE_ATOMICS_CAP_CAS32: u32 = 16;
66pub const NVML_PCIE_ATOMICS_CAP_CAS64: u32 = 32;
67pub const NVML_PCIE_ATOMICS_CAP_CAS128: u32 = 64;
68pub const NVML_PCIE_ATOMICS_OPS_MAX: u32 = 7;
69pub const NVML_POWER_SCOPE_GPU: u32 = 0;
70pub const NVML_POWER_SCOPE_MODULE: u32 = 1;
71pub const NVML_POWER_SCOPE_MEMORY: u32 = 2;
72pub const NVML_GRID_LICENSE_EXPIRY_NOT_AVAILABLE: u32 = 0;
73pub const NVML_GRID_LICENSE_EXPIRY_INVALID: u32 = 1;
74pub const NVML_GRID_LICENSE_EXPIRY_VALID: u32 = 2;
75pub const NVML_GRID_LICENSE_EXPIRY_NOT_APPLICABLE: u32 = 3;
76pub const NVML_GRID_LICENSE_EXPIRY_PERMANENT: u32 = 4;
77pub const NVML_GRID_LICENSE_BUFFER_SIZE: u32 = 128;
78pub const NVML_VGPU_NAME_BUFFER_SIZE: u32 = 64;
79pub const NVML_GRID_LICENSE_FEATURE_MAX_COUNT: u32 = 3;
80pub const INVALID_GPU_INSTANCE_PROFILE_ID: u32 = 4294967295;
81pub const INVALID_GPU_INSTANCE_ID: u32 = 4294967295;
82pub const NVML_INVALID_VGPU_PLACEMENT_ID: u32 = 65535;
83pub const NVML_VGPU_VIRTUALIZATION_CAP_MIGRATION_NO: u32 = 0;
84pub const NVML_VGPU_VIRTUALIZATION_CAP_MIGRATION_YES: u32 = 1;
85pub const NVML_VGPU_PGPU_VIRTUALIZATION_CAP_MIGRATION_NO: u32 = 0;
86pub const NVML_VGPU_PGPU_VIRTUALIZATION_CAP_MIGRATION_YES: u32 = 1;
87pub const NVML_VGPU_PGPU_HETEROGENEOUS_MODE: u32 = 0;
88pub const NVML_VGPU_PGPU_HOMOGENEOUS_MODE: u32 = 1;
89pub const NVML_VGPU_SCHEDULER_POLICY_UNKNOWN: u32 = 0;
90pub const NVML_VGPU_SCHEDULER_POLICY_BEST_EFFORT: u32 = 1;
91pub const NVML_VGPU_SCHEDULER_POLICY_EQUAL_SHARE: u32 = 2;
92pub const NVML_VGPU_SCHEDULER_POLICY_FIXED_SHARE: u32 = 3;
93pub const NVML_SUPPORTED_VGPU_SCHEDULER_POLICY_COUNT: u32 = 3;
94pub const NVML_SCHEDULER_SW_MAX_LOG_ENTRIES: u32 = 200;
95pub const NVML_VGPU_SCHEDULER_ARR_DEFAULT: u32 = 0;
96pub const NVML_VGPU_SCHEDULER_ARR_DISABLE: u32 = 1;
97pub const NVML_VGPU_SCHEDULER_ARR_ENABLE: u32 = 2;
98pub const NVML_VGPU_SCHEDULER_ENGINE_TYPE_GRAPHICS: u32 = 1;
99pub const NVML_GRID_LICENSE_STATE_UNKNOWN: u32 = 0;
100pub const NVML_GRID_LICENSE_STATE_UNINITIALIZED: u32 = 1;
101pub const NVML_GRID_LICENSE_STATE_UNLICENSED_UNRESTRICTED: u32 = 2;
102pub const NVML_GRID_LICENSE_STATE_UNLICENSED_RESTRICTED: u32 = 3;
103pub const NVML_GRID_LICENSE_STATE_UNLICENSED: u32 = 4;
104pub const NVML_GRID_LICENSE_STATE_LICENSED: u32 = 5;
105pub mod field_id {
106    pub const NVML_FI_DEV_ECC_CURRENT: u32 = 1;
107    pub const NVML_FI_DEV_ECC_PENDING: u32 = 2;
108    pub const NVML_FI_DEV_ECC_SBE_VOL_TOTAL: u32 = 3;
109    pub const NVML_FI_DEV_ECC_DBE_VOL_TOTAL: u32 = 4;
110    pub const NVML_FI_DEV_ECC_SBE_AGG_TOTAL: u32 = 5;
111    pub const NVML_FI_DEV_ECC_DBE_AGG_TOTAL: u32 = 6;
112    pub const NVML_FI_DEV_ECC_SBE_VOL_L1: u32 = 7;
113    pub const NVML_FI_DEV_ECC_DBE_VOL_L1: u32 = 8;
114    pub const NVML_FI_DEV_ECC_SBE_VOL_L2: u32 = 9;
115    pub const NVML_FI_DEV_ECC_DBE_VOL_L2: u32 = 10;
116    pub const NVML_FI_DEV_ECC_SBE_VOL_DEV: u32 = 11;
117    pub const NVML_FI_DEV_ECC_DBE_VOL_DEV: u32 = 12;
118    pub const NVML_FI_DEV_ECC_SBE_VOL_REG: u32 = 13;
119    pub const NVML_FI_DEV_ECC_DBE_VOL_REG: u32 = 14;
120    pub const NVML_FI_DEV_ECC_SBE_VOL_TEX: u32 = 15;
121    pub const NVML_FI_DEV_ECC_DBE_VOL_TEX: u32 = 16;
122    pub const NVML_FI_DEV_ECC_DBE_VOL_CBU: u32 = 17;
123    pub const NVML_FI_DEV_ECC_SBE_AGG_L1: u32 = 18;
124    pub const NVML_FI_DEV_ECC_DBE_AGG_L1: u32 = 19;
125    pub const NVML_FI_DEV_ECC_SBE_AGG_L2: u32 = 20;
126    pub const NVML_FI_DEV_ECC_DBE_AGG_L2: u32 = 21;
127    pub const NVML_FI_DEV_ECC_SBE_AGG_DEV: u32 = 22;
128    pub const NVML_FI_DEV_ECC_DBE_AGG_DEV: u32 = 23;
129    pub const NVML_FI_DEV_ECC_SBE_AGG_REG: u32 = 24;
130    pub const NVML_FI_DEV_ECC_DBE_AGG_REG: u32 = 25;
131    pub const NVML_FI_DEV_ECC_SBE_AGG_TEX: u32 = 26;
132    pub const NVML_FI_DEV_ECC_DBE_AGG_TEX: u32 = 27;
133    pub const NVML_FI_DEV_ECC_DBE_AGG_CBU: u32 = 28;
134    pub const NVML_FI_DEV_RETIRED_SBE: u32 = 29;
135    pub const NVML_FI_DEV_RETIRED_DBE: u32 = 30;
136    pub const NVML_FI_DEV_RETIRED_PENDING: u32 = 31;
137    pub const NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L0: u32 = 32;
138    pub const NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L1: u32 = 33;
139    pub const NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L2: u32 = 34;
140    pub const NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L3: u32 = 35;
141    pub const NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L4: u32 = 36;
142    pub const NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L5: u32 = 37;
143    pub const NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_TOTAL: u32 = 38;
144    pub const NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L0: u32 = 39;
145    pub const NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L1: u32 = 40;
146    pub const NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L2: u32 = 41;
147    pub const NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L3: u32 = 42;
148    pub const NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L4: u32 = 43;
149    pub const NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L5: u32 = 44;
150    pub const NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_TOTAL: u32 = 45;
151    pub const NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L0: u32 = 46;
152    pub const NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L1: u32 = 47;
153    pub const NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L2: u32 = 48;
154    pub const NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L3: u32 = 49;
155    pub const NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L4: u32 = 50;
156    pub const NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L5: u32 = 51;
157    pub const NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_TOTAL: u32 = 52;
158    pub const NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L0: u32 = 53;
159    pub const NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L1: u32 = 54;
160    pub const NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L2: u32 = 55;
161    pub const NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L3: u32 = 56;
162    pub const NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L4: u32 = 57;
163    pub const NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L5: u32 = 58;
164    pub const NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_TOTAL: u32 = 59;
165    pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L0: u32 = 60;
166    pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L1: u32 = 61;
167    pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L2: u32 = 62;
168    pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L3: u32 = 63;
169    pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L4: u32 = 64;
170    pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L5: u32 = 65;
171    pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C0_TOTAL: u32 = 66;
172    pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L0: u32 = 67;
173    pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L1: u32 = 68;
174    pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L2: u32 = 69;
175    pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L3: u32 = 70;
176    pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L4: u32 = 71;
177    pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L5: u32 = 72;
178    pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C1_TOTAL: u32 = 73;
179    pub const NVML_FI_DEV_PERF_POLICY_POWER: u32 = 74;
180    pub const NVML_FI_DEV_PERF_POLICY_THERMAL: u32 = 75;
181    pub const NVML_FI_DEV_PERF_POLICY_SYNC_BOOST: u32 = 76;
182    pub const NVML_FI_DEV_PERF_POLICY_BOARD_LIMIT: u32 = 77;
183    pub const NVML_FI_DEV_PERF_POLICY_LOW_UTILIZATION: u32 = 78;
184    pub const NVML_FI_DEV_PERF_POLICY_RELIABILITY: u32 = 79;
185    pub const NVML_FI_DEV_PERF_POLICY_TOTAL_APP_CLOCKS: u32 = 80;
186    pub const NVML_FI_DEV_PERF_POLICY_TOTAL_BASE_CLOCKS: u32 = 81;
187    pub const NVML_FI_DEV_MEMORY_TEMP: u32 = 82;
188    pub const NVML_FI_DEV_TOTAL_ENERGY_CONSUMPTION: u32 = 83;
189    pub const NVML_FI_DEV_NVLINK_SPEED_MBPS_L0: u32 = 84;
190    pub const NVML_FI_DEV_NVLINK_SPEED_MBPS_L1: u32 = 85;
191    pub const NVML_FI_DEV_NVLINK_SPEED_MBPS_L2: u32 = 86;
192    pub const NVML_FI_DEV_NVLINK_SPEED_MBPS_L3: u32 = 87;
193    pub const NVML_FI_DEV_NVLINK_SPEED_MBPS_L4: u32 = 88;
194    pub const NVML_FI_DEV_NVLINK_SPEED_MBPS_L5: u32 = 89;
195    pub const NVML_FI_DEV_NVLINK_SPEED_MBPS_COMMON: u32 = 90;
196    pub const NVML_FI_DEV_NVLINK_LINK_COUNT: u32 = 91;
197    pub const NVML_FI_DEV_RETIRED_PENDING_SBE: u32 = 92;
198    pub const NVML_FI_DEV_RETIRED_PENDING_DBE: u32 = 93;
199    pub const NVML_FI_DEV_PCIE_REPLAY_COUNTER: u32 = 94;
200    pub const NVML_FI_DEV_PCIE_REPLAY_ROLLOVER_COUNTER: u32 = 95;
201    pub const NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L6: u32 = 96;
202    pub const NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L7: u32 = 97;
203    pub const NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L8: u32 = 98;
204    pub const NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L9: u32 = 99;
205    pub const NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L10: u32 = 100;
206    pub const NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L11: u32 = 101;
207    pub const NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L6: u32 = 102;
208    pub const NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L7: u32 = 103;
209    pub const NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L8: u32 = 104;
210    pub const NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L9: u32 = 105;
211    pub const NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L10: u32 = 106;
212    pub const NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L11: u32 = 107;
213    pub const NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L6: u32 = 108;
214    pub const NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L7: u32 = 109;
215    pub const NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L8: u32 = 110;
216    pub const NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L9: u32 = 111;
217    pub const NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L10: u32 = 112;
218    pub const NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L11: u32 = 113;
219    pub const NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L6: u32 = 114;
220    pub const NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L7: u32 = 115;
221    pub const NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L8: u32 = 116;
222    pub const NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L9: u32 = 117;
223    pub const NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L10: u32 = 118;
224    pub const NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L11: u32 = 119;
225    pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L6: u32 = 120;
226    pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L7: u32 = 121;
227    pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L8: u32 = 122;
228    pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L9: u32 = 123;
229    pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L10: u32 = 124;
230    pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L11: u32 = 125;
231    pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L6: u32 = 126;
232    pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L7: u32 = 127;
233    pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L8: u32 = 128;
234    pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L9: u32 = 129;
235    pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L10: u32 = 130;
236    pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L11: u32 = 131;
237    pub const NVML_FI_DEV_NVLINK_SPEED_MBPS_L6: u32 = 132;
238    pub const NVML_FI_DEV_NVLINK_SPEED_MBPS_L7: u32 = 133;
239    pub const NVML_FI_DEV_NVLINK_SPEED_MBPS_L8: u32 = 134;
240    pub const NVML_FI_DEV_NVLINK_SPEED_MBPS_L9: u32 = 135;
241    pub const NVML_FI_DEV_NVLINK_SPEED_MBPS_L10: u32 = 136;
242    pub const NVML_FI_DEV_NVLINK_SPEED_MBPS_L11: u32 = 137;
243    pub const NVML_FI_DEV_NVLINK_THROUGHPUT_DATA_TX: u32 = 138;
244    pub const NVML_FI_DEV_NVLINK_THROUGHPUT_DATA_RX: u32 = 139;
245    pub const NVML_FI_DEV_NVLINK_THROUGHPUT_RAW_TX: u32 = 140;
246    pub const NVML_FI_DEV_NVLINK_THROUGHPUT_RAW_RX: u32 = 141;
247    pub const NVML_FI_DEV_REMAPPED_COR: u32 = 142;
248    pub const NVML_FI_DEV_REMAPPED_UNC: u32 = 143;
249    pub const NVML_FI_DEV_REMAPPED_PENDING: u32 = 144;
250    pub const NVML_FI_DEV_REMAPPED_FAILURE: u32 = 145;
251    pub const NVML_FI_DEV_NVLINK_REMOTE_NVLINK_ID: u32 = 146;
252    pub const NVML_FI_DEV_NVSWITCH_CONNECTED_LINK_COUNT: u32 = 147;
253    pub const NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L0: u32 = 148;
254    pub const NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L1: u32 = 149;
255    pub const NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L2: u32 = 150;
256    pub const NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L3: u32 = 151;
257    pub const NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L4: u32 = 152;
258    pub const NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L5: u32 = 153;
259    pub const NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L6: u32 = 154;
260    pub const NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L7: u32 = 155;
261    pub const NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L8: u32 = 156;
262    pub const NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L9: u32 = 157;
263    pub const NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L10: u32 = 158;
264    pub const NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L11: u32 = 159;
265    pub const NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_TOTAL: u32 = 160;
266    pub const NVML_FI_DEV_NVLINK_ERROR_DL_REPLAY: u32 = 161;
267    pub const NVML_FI_DEV_NVLINK_ERROR_DL_RECOVERY: u32 = 162;
268    pub const NVML_FI_DEV_NVLINK_ERROR_DL_CRC: u32 = 163;
269    pub const NVML_FI_DEV_NVLINK_GET_SPEED: u32 = 164;
270    pub const NVML_FI_DEV_NVLINK_GET_STATE: u32 = 165;
271    pub const NVML_FI_DEV_NVLINK_GET_VERSION: u32 = 166;
272    pub const NVML_FI_DEV_NVLINK_GET_POWER_STATE: u32 = 167;
273    pub const NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD: u32 = 168;
274    pub const NVML_FI_DEV_PCIE_L0_TO_RECOVERY_COUNTER: u32 = 169;
275    pub const NVML_FI_DEV_C2C_LINK_COUNT: u32 = 170;
276    pub const NVML_FI_DEV_C2C_LINK_GET_STATUS: u32 = 171;
277    pub const NVML_FI_DEV_C2C_LINK_GET_MAX_BW: u32 = 172;
278    pub const NVML_FI_DEV_PCIE_COUNT_CORRECTABLE_ERRORS: u32 = 173;
279    pub const NVML_FI_DEV_PCIE_COUNT_NAKS_RECEIVED: u32 = 174;
280    pub const NVML_FI_DEV_PCIE_COUNT_RECEIVER_ERROR: u32 = 175;
281    pub const NVML_FI_DEV_PCIE_COUNT_BAD_TLP: u32 = 176;
282    pub const NVML_FI_DEV_PCIE_COUNT_NAKS_SENT: u32 = 177;
283    pub const NVML_FI_DEV_PCIE_COUNT_BAD_DLLP: u32 = 178;
284    pub const NVML_FI_DEV_PCIE_COUNT_NON_FATAL_ERROR: u32 = 179;
285    pub const NVML_FI_DEV_PCIE_COUNT_FATAL_ERROR: u32 = 180;
286    pub const NVML_FI_DEV_PCIE_COUNT_UNSUPPORTED_REQ: u32 = 181;
287    pub const NVML_FI_DEV_PCIE_COUNT_LCRC_ERROR: u32 = 182;
288    pub const NVML_FI_DEV_PCIE_COUNT_LANE_ERROR: u32 = 183;
289    pub const NVML_FI_DEV_IS_RESETLESS_MIG_SUPPORTED: u32 = 184;
290    pub const NVML_FI_DEV_POWER_AVERAGE: u32 = 185;
291    pub const NVML_FI_DEV_POWER_INSTANT: u32 = 186;
292    pub const NVML_FI_DEV_POWER_MIN_LIMIT: u32 = 187;
293    pub const NVML_FI_DEV_POWER_MAX_LIMIT: u32 = 188;
294    pub const NVML_FI_DEV_POWER_DEFAULT_LIMIT: u32 = 189;
295    pub const NVML_FI_DEV_POWER_CURRENT_LIMIT: u32 = 190;
296    pub const NVML_FI_DEV_ENERGY: u32 = 191;
297    pub const NVML_FI_DEV_POWER_REQUESTED_LIMIT: u32 = 192;
298    pub const NVML_FI_DEV_TEMPERATURE_SHUTDOWN_TLIMIT: u32 = 193;
299    pub const NVML_FI_DEV_TEMPERATURE_SLOWDOWN_TLIMIT: u32 = 194;
300    pub const NVML_FI_DEV_TEMPERATURE_MEM_MAX_TLIMIT: u32 = 195;
301    pub const NVML_FI_DEV_TEMPERATURE_GPU_MAX_TLIMIT: u32 = 196;
302    pub const NVML_FI_DEV_PCIE_COUNT_TX_BYTES: u32 = 197;
303    pub const NVML_FI_DEV_PCIE_COUNT_RX_BYTES: u32 = 198;
304    pub const NVML_FI_DEV_IS_MIG_MODE_INDEPENDENT_MIG_QUERY_CAPABLE: u32 = 199;
305    pub const NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_MAX: u32 = 200;
306    pub const NVML_FI_DEV_NVLINK_COUNT_XMIT_PACKETS: u32 = 201;
307    pub const NVML_FI_DEV_NVLINK_COUNT_XMIT_BYTES: u32 = 202;
308    pub const NVML_FI_DEV_NVLINK_COUNT_RCV_PACKETS: u32 = 203;
309    pub const NVML_FI_DEV_NVLINK_COUNT_RCV_BYTES: u32 = 204;
310    pub const NVML_FI_DEV_NVLINK_COUNT_VL15_DROPPED: u32 = 205;
311    pub const NVML_FI_DEV_NVLINK_COUNT_MALFORMED_PACKET_ERRORS: u32 = 206;
312    pub const NVML_FI_DEV_NVLINK_COUNT_BUFFER_OVERRUN_ERRORS: u32 = 207;
313    pub const NVML_FI_DEV_NVLINK_COUNT_RCV_ERRORS: u32 = 208;
314    pub const NVML_FI_DEV_NVLINK_COUNT_RCV_REMOTE_ERRORS: u32 = 209;
315    pub const NVML_FI_DEV_NVLINK_COUNT_RCV_GENERAL_ERRORS: u32 = 210;
316    pub const NVML_FI_DEV_NVLINK_COUNT_LOCAL_LINK_INTEGRITY_ERRORS: u32 = 211;
317    pub const NVML_FI_DEV_NVLINK_COUNT_XMIT_DISCARDS: u32 = 212;
318    pub const NVML_FI_DEV_NVLINK_COUNT_LINK_RECOVERY_SUCCESSFUL_EVENTS: u32 = 213;
319    pub const NVML_FI_DEV_NVLINK_COUNT_LINK_RECOVERY_FAILED_EVENTS: u32 = 214;
320    pub const NVML_FI_DEV_NVLINK_COUNT_LINK_RECOVERY_EVENTS: u32 = 215;
321    pub const NVML_FI_DEV_NVLINK_COUNT_RAW_BER_LANE0: u32 = 216;
322    pub const NVML_FI_DEV_NVLINK_COUNT_RAW_BER_LANE1: u32 = 217;
323    pub const NVML_FI_DEV_NVLINK_COUNT_RAW_BER: u32 = 218;
324    pub const NVML_FI_DEV_NVLINK_COUNT_EFFECTIVE_ERRORS: u32 = 219;
325    pub const NVML_FI_DEV_NVLINK_COUNT_EFFECTIVE_BER: u32 = 220;
326    pub const NVML_FI_DEV_NVLINK_COUNT_SYMBOL_ERRORS: u32 = 221;
327    pub const NVML_FI_DEV_NVLINK_COUNT_SYMBOL_BER: u32 = 222;
328    pub const NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_MIN: u32 = 223;
329    pub const NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_UNITS: u32 = 224;
330    pub const NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_SUPPORTED: u32 = 225;
331    pub const NVML_FI_DEV_RESET_STATUS: u32 = 226;
332    pub const NVML_FI_DEV_DRAIN_AND_RESET_STATUS: u32 = 227;
333    pub const NVML_FI_DEV_PCIE_OUTBOUND_ATOMICS_MASK: u32 = 228;
334    pub const NVML_FI_DEV_PCIE_INBOUND_ATOMICS_MASK: u32 = 229;
335    pub const NVML_FI_DEV_GET_GPU_RECOVERY_ACTION: u32 = 230;
336    pub const NVML_FI_DEV_C2C_LINK_ERROR_INTR: u32 = 231;
337    pub const NVML_FI_DEV_C2C_LINK_ERROR_REPLAY: u32 = 232;
338    pub const NVML_FI_DEV_C2C_LINK_ERROR_REPLAY_B2B: u32 = 233;
339    pub const NVML_FI_DEV_C2C_LINK_POWER_STATE: u32 = 234;
340    pub const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_0: u32 = 235;
341    pub const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_1: u32 = 236;
342    pub const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_2: u32 = 237;
343    pub const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_3: u32 = 238;
344    pub const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_4: u32 = 239;
345    pub const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_5: u32 = 240;
346    pub const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_6: u32 = 241;
347    pub const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_7: u32 = 242;
348    pub const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_8: u32 = 243;
349    pub const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_9: u32 = 244;
350    pub const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_10: u32 = 245;
351    pub const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_11: u32 = 246;
352    pub const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_12: u32 = 247;
353    pub const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_13: u32 = 248;
354    pub const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_14: u32 = 249;
355    pub const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_15: u32 = 250;
356    pub const NVML_FI_DEV_CLOCKS_EVENT_REASON_SW_POWER_CAP: u32 = 74;
357    pub const NVML_FI_DEV_CLOCKS_EVENT_REASON_SYNC_BOOST: u32 = 76;
358    pub const NVML_FI_DEV_CLOCKS_EVENT_REASON_SW_THERM_SLOWDOWN: u32 = 251;
359    pub const NVML_FI_DEV_CLOCKS_EVENT_REASON_HW_THERM_SLOWDOWN: u32 = 252;
360    pub const NVML_FI_DEV_CLOCKS_EVENT_REASON_HW_POWER_BRAKE_SLOWDOWN: u32 = 253;
361    pub const NVML_FI_DEV_POWER_SYNC_BALANCING_FREQ: u32 = 254;
362    pub const NVML_FI_DEV_POWER_SYNC_BALANCING_AF: u32 = 255;
363    pub const NVML_FI_PWR_SMOOTHING_ENABLED: u32 = 256;
364    pub const NVML_FI_PWR_SMOOTHING_PRIV_LVL: u32 = 257;
365    pub const NVML_FI_PWR_SMOOTHING_IMM_RAMP_DOWN_ENABLED: u32 = 258;
366    pub const NVML_FI_PWR_SMOOTHING_APPLIED_TMP_CEIL: u32 = 259;
367    pub const NVML_FI_PWR_SMOOTHING_APPLIED_TMP_FLOOR: u32 = 260;
368    pub const NVML_FI_PWR_SMOOTHING_MAX_PERCENT_TMP_FLOOR_SETTING: u32 = 261;
369    pub const NVML_FI_PWR_SMOOTHING_MIN_PERCENT_TMP_FLOOR_SETTING: u32 = 262;
370    pub const NVML_FI_PWR_SMOOTHING_HW_CIRCUITRY_PERCENT_LIFETIME_REMAINING: u32 = 263;
371    pub const NVML_FI_PWR_SMOOTHING_MAX_NUM_PRESET_PROFILES: u32 = 264;
372    pub const NVML_FI_PWR_SMOOTHING_PROFILE_PERCENT_TMP_FLOOR: u32 = 265;
373    pub const NVML_FI_PWR_SMOOTHING_PROFILE_RAMP_UP_RATE: u32 = 266;
374    pub const NVML_FI_PWR_SMOOTHING_PROFILE_RAMP_DOWN_RATE: u32 = 267;
375    pub const NVML_FI_PWR_SMOOTHING_PROFILE_RAMP_DOWN_HYST_VAL: u32 = 268;
376    pub const NVML_FI_PWR_SMOOTHING_ACTIVE_PRESET_PROFILE: u32 = 269;
377    pub const NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_PERCENT_TMP_FLOOR: u32 = 270;
378    pub const NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_RAMP_UP_RATE: u32 = 271;
379    pub const NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_RAMP_DOWN_RATE: u32 = 272;
380    pub const NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_RAMP_DOWN_HYST_VAL: u32 = 273;
381    pub const NVML_FI_MAX: u32 = 274;
382}
383pub const NVML_NVLINK_LOW_POWER_THRESHOLD_UNIT_100US: u32 = 0;
384pub const NVML_NVLINK_LOW_POWER_THRESHOLD_UNIT_50US: u32 = 1;
385pub const NVML_NVLINK_POWER_STATE_HIGH_SPEED: u32 = 0;
386pub const NVML_NVLINK_POWER_STATE_LOW: u32 = 1;
387pub const NVML_NVLINK_LOW_POWER_THRESHOLD_MIN: u32 = 1;
388pub const NVML_NVLINK_LOW_POWER_THRESHOLD_MAX: u32 = 8191;
389pub const NVML_NVLINK_LOW_POWER_THRESHOLD_RESET: u32 = 4294967295;
390pub const NVML_NVLINK_LOW_POWER_THRESHOLD_DEFAULT: u32 = 4294967295;
391pub const NVML_C2C_POWER_STATE_FULL_POWER: u32 = 0;
392pub const NVML_C2C_POWER_STATE_LOW_POWER: u32 = 1;
393pub const nvmlEventTypeNone: u32 = 0;
394pub const nvmlEventTypeSingleBitEccError: u32 = 1;
395pub const nvmlEventTypeDoubleBitEccError: u32 = 2;
396pub const nvmlEventTypePState: u32 = 4;
397pub const nvmlEventTypeXidCriticalError: u32 = 8;
398pub const nvmlEventTypeClock: u32 = 16;
399pub const nvmlEventTypePowerSourceChange: u32 = 128;
400pub const nvmlEventMigConfigChange: u32 = 256;
401pub const nvmlEventTypeSingleBitEccErrorStorm: u32 = 512;
402pub const nvmlEventTypeDramRetirementEvent: u32 = 1024;
403pub const nvmlEventTypeDramRetirementFailure: u32 = 2048;
404pub const nvmlEventTypeNonFatalPoisonError: u32 = 4096;
405pub const nvmlEventTypeFatalPoisonError: u32 = 8192;
406pub const nvmlEventTypeGpuUnavailableError: u32 = 16384;
407pub const nvmlEventTypeGpuRecoveryAction: u32 = 32768;
408pub const nvmlEventTypeAll: u32 = 65439;
409pub const nvmlSystemEventTypeGpuDriverUnbind: u32 = 1;
410pub const nvmlSystemEventTypeGpuDriverBind: u32 = 2;
411pub const nvmlSystemEventTypeCount: u32 = 2;
412pub const nvmlClocksEventReasonGpuIdle: u32 = 1;
413pub const nvmlClocksEventReasonApplicationsClocksSetting: u32 = 2;
414pub const nvmlClocksThrottleReasonUserDefinedClocks: u32 = 2;
415pub const nvmlClocksEventReasonSwPowerCap: u32 = 4;
416pub const nvmlClocksThrottleReasonHwSlowdown: u32 = 8;
417pub const nvmlClocksEventReasonSyncBoost: u32 = 16;
418pub const nvmlClocksEventReasonSwThermalSlowdown: u32 = 32;
419pub const nvmlClocksThrottleReasonHwThermalSlowdown: u32 = 64;
420pub const nvmlClocksThrottleReasonHwPowerBrakeSlowdown: u32 = 128;
421pub const nvmlClocksEventReasonDisplayClockSetting: u32 = 256;
422pub const nvmlClocksEventReasonNone: u32 = 0;
423pub const nvmlClocksThrottleReasonGpuIdle: u32 = 1;
424pub const nvmlClocksThrottleReasonApplicationsClocksSetting: u32 = 2;
425pub const nvmlClocksThrottleReasonSyncBoost: u32 = 16;
426pub const nvmlClocksThrottleReasonSwPowerCap: u32 = 4;
427pub const nvmlClocksThrottleReasonSwThermalSlowdown: u32 = 32;
428pub const nvmlClocksThrottleReasonDisplayClockSetting: u32 = 256;
429pub const nvmlClocksThrottleReasonNone: u32 = 0;
430pub const NVML_NVFBC_SESSION_FLAG_DIFFMAP_ENABLED: u32 = 1;
431pub const NVML_NVFBC_SESSION_FLAG_CLASSIFICATIONMAP_ENABLED: u32 = 2;
432pub const NVML_NVFBC_SESSION_FLAG_CAPTURE_WITH_WAIT_NO_WAIT: u32 = 4;
433pub const NVML_NVFBC_SESSION_FLAG_CAPTURE_WITH_WAIT_INFINITE: u32 = 8;
434pub const NVML_NVFBC_SESSION_FLAG_CAPTURE_WITH_WAIT_TIMEOUT: u32 = 16;
435pub const NVML_CC_SYSTEM_CPU_CAPS_NONE: u32 = 0;
436pub const NVML_CC_SYSTEM_CPU_CAPS_AMD_SEV: u32 = 1;
437pub const NVML_CC_SYSTEM_CPU_CAPS_INTEL_TDX: u32 = 2;
438pub const NVML_CC_SYSTEM_CPU_CAPS_AMD_SEV_SNP: u32 = 3;
439pub const NVML_CC_SYSTEM_CPU_CAPS_AMD_SNP_VTOM: u32 = 4;
440pub const NVML_CC_SYSTEM_GPUS_CC_NOT_CAPABLE: u32 = 0;
441pub const NVML_CC_SYSTEM_GPUS_CC_CAPABLE: u32 = 1;
442pub const NVML_CC_SYSTEM_DEVTOOLS_MODE_OFF: u32 = 0;
443pub const NVML_CC_SYSTEM_DEVTOOLS_MODE_ON: u32 = 1;
444pub const NVML_CC_SYSTEM_ENVIRONMENT_UNAVAILABLE: u32 = 0;
445pub const NVML_CC_SYSTEM_ENVIRONMENT_SIM: u32 = 1;
446pub const NVML_CC_SYSTEM_ENVIRONMENT_PROD: u32 = 2;
447pub const NVML_CC_SYSTEM_FEATURE_DISABLED: u32 = 0;
448pub const NVML_CC_SYSTEM_FEATURE_ENABLED: u32 = 1;
449pub const NVML_CC_SYSTEM_MULTIGPU_NONE: u32 = 0;
450pub const NVML_CC_SYSTEM_MULTIGPU_PROTECTED_PCIE: u32 = 1;
451pub const NVML_CC_SYSTEM_MULTIGPU_NVLE: u32 = 2;
452pub const NVML_CC_ACCEPTING_CLIENT_REQUESTS_FALSE: u32 = 0;
453pub const NVML_CC_ACCEPTING_CLIENT_REQUESTS_TRUE: u32 = 1;
454pub const NVML_GPU_CERT_CHAIN_SIZE: u32 = 4096;
455pub const NVML_GPU_ATTESTATION_CERT_CHAIN_SIZE: u32 = 5120;
456pub const NVML_CC_GPU_CEC_NONCE_SIZE: u32 = 32;
457pub const NVML_CC_GPU_ATTESTATION_REPORT_SIZE: u32 = 8192;
458pub const NVML_CC_GPU_CEC_ATTESTATION_REPORT_SIZE: u32 = 4096;
459pub const NVML_CC_CEC_ATTESTATION_REPORT_NOT_PRESENT: u32 = 0;
460pub const NVML_CC_CEC_ATTESTATION_REPORT_PRESENT: u32 = 1;
461pub const NVML_CC_KEY_ROTATION_THRESHOLD_ATTACKER_ADVANTAGE_MIN: u32 = 50;
462pub const NVML_CC_KEY_ROTATION_THRESHOLD_ATTACKER_ADVANTAGE_MAX: u32 = 65;
463pub const NVML_GPU_FABRIC_UUID_LEN: u32 = 16;
464pub const NVML_GPU_FABRIC_STATE_NOT_SUPPORTED: u32 = 0;
465pub const NVML_GPU_FABRIC_STATE_NOT_STARTED: u32 = 1;
466pub const NVML_GPU_FABRIC_STATE_IN_PROGRESS: u32 = 2;
467pub const NVML_GPU_FABRIC_STATE_COMPLETED: u32 = 3;
468pub const NVML_GPU_FABRIC_HEALTH_MASK_DEGRADED_BW_NOT_SUPPORTED: u32 = 0;
469pub const NVML_GPU_FABRIC_HEALTH_MASK_DEGRADED_BW_TRUE: u32 = 1;
470pub const NVML_GPU_FABRIC_HEALTH_MASK_DEGRADED_BW_FALSE: u32 = 2;
471pub const NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_DEGRADED_BW: u32 = 0;
472pub const NVML_GPU_FABRIC_HEALTH_MASK_WIDTH_DEGRADED_BW: u32 = 3;
473pub const NVML_GPU_FABRIC_HEALTH_MASK_ROUTE_RECOVERY_NOT_SUPPORTED: u32 = 0;
474pub const NVML_GPU_FABRIC_HEALTH_MASK_ROUTE_RECOVERY_TRUE: u32 = 1;
475pub const NVML_GPU_FABRIC_HEALTH_MASK_ROUTE_RECOVERY_FALSE: u32 = 2;
476pub const NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_ROUTE_RECOVERY: u32 = 2;
477pub const NVML_GPU_FABRIC_HEALTH_MASK_WIDTH_ROUTE_RECOVERY: u32 = 3;
478pub const NVML_GPU_FABRIC_HEALTH_MASK_ROUTE_UNHEALTHY_NOT_SUPPORTED: u32 = 0;
479pub const NVML_GPU_FABRIC_HEALTH_MASK_ROUTE_UNHEALTHY_TRUE: u32 = 1;
480pub const NVML_GPU_FABRIC_HEALTH_MASK_ROUTE_UNHEALTHY_FALSE: u32 = 2;
481pub const NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_ROUTE_UNHEALTHY: u32 = 4;
482pub const NVML_GPU_FABRIC_HEALTH_MASK_WIDTH_ROUTE_UNHEALTHY: u32 = 3;
483pub const NVML_GPU_FABRIC_HEALTH_MASK_ACCESS_TIMEOUT_RECOVERY_NOT_SUPPORTED: u32 = 0;
484pub const NVML_GPU_FABRIC_HEALTH_MASK_ACCESS_TIMEOUT_RECOVERY_TRUE: u32 = 1;
485pub const NVML_GPU_FABRIC_HEALTH_MASK_ACCESS_TIMEOUT_RECOVERY_FALSE: u32 = 2;
486pub const NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_ACCESS_TIMEOUT_RECOVERY: u32 = 6;
487pub const NVML_GPU_FABRIC_HEALTH_MASK_WIDTH_ACCESS_TIMEOUT_RECOVERY: u32 = 3;
488pub const NVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_NOT_SUPPORTED: u32 = 0;
489pub const NVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_NONE: u32 = 1;
490pub const NVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_INCORRECT_SYSGUID: u32 = 2;
491pub const NVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_INCORRECT_CHASSIS_SN: u32 = 3;
492pub const NVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_NO_PARTITION: u32 = 4;
493pub const NVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_INSUFFICIENT_NVLINKS: u32 = 5;
494pub const NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_INCORRECT_CONFIGURATION: u32 = 8;
495pub const NVML_GPU_FABRIC_HEALTH_MASK_WIDTH_INCORRECT_CONFIGURATION: u32 = 15;
496pub const NVML_GPU_FABRIC_HEALTH_SUMMARY_NOT_SUPPORTED: u32 = 0;
497pub const NVML_GPU_FABRIC_HEALTH_SUMMARY_HEALTHY: u32 = 1;
498pub const NVML_GPU_FABRIC_HEALTH_SUMMARY_UNHEALTHY: u32 = 2;
499pub const NVML_GPU_FABRIC_HEALTH_SUMMARY_LIMITED_CAPACITY: u32 = 3;
500pub const NVML_INIT_FLAG_NO_GPUS: u32 = 1;
501pub const NVML_INIT_FLAG_NO_ATTACH: u32 = 2;
502pub const NVML_DEVICE_INFOROM_VERSION_BUFFER_SIZE: u32 = 16;
503pub const NVML_DEVICE_UUID_BUFFER_SIZE: u32 = 80;
504pub const NVML_DEVICE_UUID_V2_BUFFER_SIZE: u32 = 96;
505pub const NVML_DEVICE_PART_NUMBER_BUFFER_SIZE: u32 = 80;
506pub const NVML_SYSTEM_DRIVER_VERSION_BUFFER_SIZE: u32 = 80;
507pub const NVML_SYSTEM_NVML_VERSION_BUFFER_SIZE: u32 = 80;
508pub const NVML_DEVICE_NAME_BUFFER_SIZE: u32 = 64;
509pub const NVML_DEVICE_NAME_V2_BUFFER_SIZE: u32 = 96;
510pub const NVML_DEVICE_SERIAL_BUFFER_SIZE: u32 = 30;
511pub const NVML_DEVICE_VBIOS_VERSION_BUFFER_SIZE: u32 = 32;
512pub const NVML_AFFINITY_SCOPE_NODE: u32 = 0;
513pub const NVML_AFFINITY_SCOPE_SOCKET: u32 = 1;
514pub const NVML_NVLINK_BER_MANTISSA_SHIFT: u32 = 8;
515pub const NVML_NVLINK_BER_MANTISSA_WIDTH: u32 = 15;
516pub const NVML_NVLINK_BER_EXP_SHIFT: u32 = 0;
517pub const NVML_NVLINK_BER_EXP_WIDTH: u32 = 255;
518pub const NVML_NVLINK_STATE_INACTIVE: u32 = 0;
519pub const NVML_NVLINK_STATE_ACTIVE: u32 = 1;
520pub const NVML_NVLINK_STATE_SLEEP: u32 = 2;
521pub const NVML_NVLINK_TOTAL_SUPPORTED_BW_MODES: u32 = 23;
522pub const NVML_NVLINK_FIRMWARE_UCODE_TYPE_MSE: u32 = 1;
523pub const NVML_NVLINK_FIRMWARE_UCODE_TYPE_NETIR: u32 = 2;
524pub const NVML_NVLINK_FIRMWARE_UCODE_TYPE_NETIR_UPHY: u32 = 3;
525pub const NVML_NVLINK_FIRMWARE_UCODE_TYPE_NETIR_CLN: u32 = 4;
526pub const NVML_NVLINK_FIRMWARE_UCODE_TYPE_NETIR_DLN: u32 = 5;
527pub const NVML_NVLINK_FIRMWARE_VERSION_LENGTH: u32 = 100;
528pub const NVML_PRM_DATA_MAX_SIZE: u32 = 496;
529pub const NVML_DEVICE_MIG_DISABLE: u32 = 0;
530pub const NVML_DEVICE_MIG_ENABLE: u32 = 1;
531pub const NVML_GPU_INSTANCE_PROFILE_1_SLICE: u32 = 0;
532pub const NVML_GPU_INSTANCE_PROFILE_2_SLICE: u32 = 1;
533pub const NVML_GPU_INSTANCE_PROFILE_3_SLICE: u32 = 2;
534pub const NVML_GPU_INSTANCE_PROFILE_4_SLICE: u32 = 3;
535pub const NVML_GPU_INSTANCE_PROFILE_7_SLICE: u32 = 4;
536pub const NVML_GPU_INSTANCE_PROFILE_8_SLICE: u32 = 5;
537pub const NVML_GPU_INSTANCE_PROFILE_6_SLICE: u32 = 6;
538pub const NVML_GPU_INSTANCE_PROFILE_1_SLICE_REV1: u32 = 7;
539pub const NVML_GPU_INSTANCE_PROFILE_2_SLICE_REV1: u32 = 8;
540pub const NVML_GPU_INSTANCE_PROFILE_1_SLICE_REV2: u32 = 9;
541pub const NVML_GPU_INSTANCE_PROFILE_1_SLICE_GFX: u32 = 10;
542pub const NVML_GPU_INSTANCE_PROFILE_2_SLICE_GFX: u32 = 11;
543pub const NVML_GPU_INSTANCE_PROFILE_4_SLICE_GFX: u32 = 12;
544pub const NVML_GPU_INSTANCE_PROFILE_1_SLICE_NO_ME: u32 = 13;
545pub const NVML_GPU_INSTANCE_PROFILE_2_SLICE_NO_ME: u32 = 14;
546pub const NVML_GPU_INSTANCE_PROFILE_1_SLICE_ALL_ME: u32 = 15;
547pub const NVML_GPU_INSTANCE_PROFILE_2_SLICE_ALL_ME: u32 = 16;
548pub const NVML_GPU_INSTANCE_PROFILE_COUNT: u32 = 17;
549pub const NVML_GPU_INSTANCE_PROFILE_CAPS_P2P: u32 = 1;
550pub const NVML_GPU_INTSTANCE_PROFILE_CAPS_P2P: u32 = 1;
551pub const NVML_GPU_INSTANCE_PROFILE_CAPS_GFX: u32 = 2;
552pub const NVML_COMPUTE_INSTANCE_PROFILE_CAPS_GFX: u32 = 1;
553pub const NVML_COMPUTE_INSTANCE_PROFILE_1_SLICE: u32 = 0;
554pub const NVML_COMPUTE_INSTANCE_PROFILE_2_SLICE: u32 = 1;
555pub const NVML_COMPUTE_INSTANCE_PROFILE_3_SLICE: u32 = 2;
556pub const NVML_COMPUTE_INSTANCE_PROFILE_4_SLICE: u32 = 3;
557pub const NVML_COMPUTE_INSTANCE_PROFILE_7_SLICE: u32 = 4;
558pub const NVML_COMPUTE_INSTANCE_PROFILE_8_SLICE: u32 = 5;
559pub const NVML_COMPUTE_INSTANCE_PROFILE_6_SLICE: u32 = 6;
560pub const NVML_COMPUTE_INSTANCE_PROFILE_1_SLICE_REV1: u32 = 7;
561pub const NVML_COMPUTE_INSTANCE_PROFILE_COUNT: u32 = 8;
562pub const NVML_COMPUTE_INSTANCE_ENGINE_PROFILE_SHARED: u32 = 0;
563pub const NVML_COMPUTE_INSTANCE_ENGINE_PROFILE_COUNT: u32 = 1;
564pub const NVML_GPM_METRICS_GET_VERSION: u32 = 1;
565pub const NVML_GPM_SUPPORT_VERSION: u32 = 1;
566pub const NVML_DEV_CAP_EGM: u32 = 1;
567pub const NVML_255_MASK_BITS_PER_ELEM: u32 = 32;
568pub const NVML_255_MASK_NUM_ELEMS: u32 = 8;
569pub const NVML_WORKLOAD_POWER_MAX_PROFILES: u32 = 255;
570pub const NVML_POWER_SMOOTHING_MAX_NUM_PROFILES: u32 = 5;
571pub const NVML_POWER_SMOOTHING_NUM_PROFILE_PARAMS: u32 = 4;
572pub const NVML_POWER_SMOOTHING_ADMIN_OVERRIDE_NOT_SET: u32 = 4294967295;
573pub const NVML_POWER_SMOOTHING_PROFILE_PARAM_PERCENT_TMP_FLOOR: u32 = 0;
574pub const NVML_POWER_SMOOTHING_PROFILE_PARAM_RAMP_UP_RATE: u32 = 1;
575pub const NVML_POWER_SMOOTHING_PROFILE_PARAM_RAMP_DOWN_RATE: u32 = 2;
576pub const NVML_POWER_SMOOTHING_PROFILE_PARAM_RAMP_DOWN_HYSTERESIS: u32 = 3;
577#[repr(C)]
578#[derive(Debug, Copy, Clone)]
579pub struct nvmlDevice_st {
580    _unused: [u8; 0],
581}
582pub type nvmlDevice_t = *mut nvmlDevice_st;
583#[repr(C)]
584#[derive(Debug, Copy, Clone)]
585pub struct nvmlGpuInstance_st {
586    _unused: [u8; 0],
587}
588pub type nvmlGpuInstance_t = *mut nvmlGpuInstance_st;
589#[repr(C)]
590#[derive(Debug, Copy, Clone)]
591pub struct nvmlPciInfoExt_v1_t {
592    pub version: raw::c_uint,
593    pub domain: raw::c_uint,
594    pub bus: raw::c_uint,
595    pub device: raw::c_uint,
596    pub pciDeviceId: raw::c_uint,
597    pub pciSubSystemId: raw::c_uint,
598    pub baseClass: raw::c_uint,
599    pub subClass: raw::c_uint,
600    pub busId: [raw::c_char; 32usize],
601}
602pub type nvmlPciInfoExt_t = nvmlPciInfoExt_v1_t;
603#[repr(C)]
604#[derive(Debug, Copy, Clone)]
605pub struct nvmlPciInfo_st {
606    pub busIdLegacy: [raw::c_char; 16usize],
607    pub domain: raw::c_uint,
608    pub bus: raw::c_uint,
609    pub device: raw::c_uint,
610    pub pciDeviceId: raw::c_uint,
611    pub pciSubSystemId: raw::c_uint,
612    pub busId: [raw::c_char; 32usize],
613}
614pub type nvmlPciInfo_t = nvmlPciInfo_st;
615#[repr(C)]
616#[derive(Debug, Copy, Clone)]
617pub struct nvmlEccErrorCounts_st {
618    pub l1Cache: raw::c_ulonglong,
619    pub l2Cache: raw::c_ulonglong,
620    pub deviceMemory: raw::c_ulonglong,
621    pub registerFile: raw::c_ulonglong,
622}
623pub type nvmlEccErrorCounts_t = nvmlEccErrorCounts_st;
624#[repr(C)]
625#[derive(Debug, Copy, Clone)]
626pub struct nvmlUtilization_st {
627    pub gpu: raw::c_uint,
628    pub memory: raw::c_uint,
629}
630pub type nvmlUtilization_t = nvmlUtilization_st;
631#[repr(C)]
632#[derive(Debug, Copy, Clone)]
633pub struct nvmlMemory_st {
634    pub total: raw::c_ulonglong,
635    pub free: raw::c_ulonglong,
636    pub used: raw::c_ulonglong,
637}
638pub type nvmlMemory_t = nvmlMemory_st;
639#[repr(C)]
640#[derive(Debug, Copy, Clone)]
641pub struct nvmlMemory_v2_st {
642    pub version: raw::c_uint,
643    pub total: raw::c_ulonglong,
644    pub reserved: raw::c_ulonglong,
645    pub free: raw::c_ulonglong,
646    pub used: raw::c_ulonglong,
647}
648pub type nvmlMemory_v2_t = nvmlMemory_v2_st;
649#[repr(C)]
650#[derive(Debug, Copy, Clone)]
651pub struct nvmlBAR1Memory_st {
652    pub bar1Total: raw::c_ulonglong,
653    pub bar1Free: raw::c_ulonglong,
654    pub bar1Used: raw::c_ulonglong,
655}
656pub type nvmlBAR1Memory_t = nvmlBAR1Memory_st;
657#[repr(C)]
658#[derive(Debug, Copy, Clone)]
659pub struct nvmlProcessInfo_v1_st {
660    pub pid: raw::c_uint,
661    pub usedGpuMemory: raw::c_ulonglong,
662}
663pub type nvmlProcessInfo_v1_t = nvmlProcessInfo_v1_st;
664#[repr(C)]
665#[derive(Debug, Copy, Clone)]
666pub struct nvmlProcessInfo_v2_st {
667    pub pid: raw::c_uint,
668    pub usedGpuMemory: raw::c_ulonglong,
669    pub gpuInstanceId: raw::c_uint,
670    pub computeInstanceId: raw::c_uint,
671}
672pub type nvmlProcessInfo_v2_t = nvmlProcessInfo_v2_st;
673pub type nvmlProcessInfo_t = nvmlProcessInfo_v2_st;
674#[repr(C)]
675#[derive(Debug, Copy, Clone)]
676pub struct nvmlProcessDetail_v1_t {
677    pub pid: raw::c_uint,
678    pub usedGpuMemory: raw::c_ulonglong,
679    pub gpuInstanceId: raw::c_uint,
680    pub computeInstanceId: raw::c_uint,
681    pub usedGpuCcProtectedMemory: raw::c_ulonglong,
682}
683#[repr(C)]
684#[derive(Debug, Copy, Clone)]
685pub struct nvmlProcessDetailList_v1_t {
686    pub version: raw::c_uint,
687    pub mode: raw::c_uint,
688    pub numProcArrayEntries: raw::c_uint,
689    pub procArray: *mut nvmlProcessDetail_v1_t,
690}
691pub type nvmlProcessDetailList_t = nvmlProcessDetailList_v1_t;
692#[repr(C)]
693#[derive(Debug, Copy, Clone)]
694pub struct nvmlDeviceAttributes_st {
695    pub multiprocessorCount: raw::c_uint,
696    pub sharedCopyEngineCount: raw::c_uint,
697    pub sharedDecoderCount: raw::c_uint,
698    pub sharedEncoderCount: raw::c_uint,
699    pub sharedJpegCount: raw::c_uint,
700    pub sharedOfaCount: raw::c_uint,
701    pub gpuInstanceSliceCount: raw::c_uint,
702    pub computeInstanceSliceCount: raw::c_uint,
703    pub memorySizeMB: raw::c_ulonglong,
704}
705pub type nvmlDeviceAttributes_t = nvmlDeviceAttributes_st;
706#[repr(C)]
707#[derive(Debug, Copy, Clone)]
708pub struct nvmlC2cModeInfo_v1_t {
709    pub isC2cEnabled: raw::c_uint,
710}
711pub const nvmlDeviceAddressingModeType_t_NVML_DEVICE_ADDRESSING_MODE_NONE:
712    nvmlDeviceAddressingModeType_t = 0;
713pub const nvmlDeviceAddressingModeType_t_NVML_DEVICE_ADDRESSING_MODE_HMM:
714    nvmlDeviceAddressingModeType_t = 1;
715pub const nvmlDeviceAddressingModeType_t_NVML_DEVICE_ADDRESSING_MODE_ATS:
716    nvmlDeviceAddressingModeType_t = 2;
717pub type nvmlDeviceAddressingModeType_t = raw::c_uint;
718#[repr(C)]
719#[derive(Debug, Copy, Clone)]
720pub struct nvmlDeviceAddressingMode_v1_t {
721    pub version: raw::c_uint,
722    pub value: raw::c_uint,
723}
724pub type nvmlDeviceAddressingMode_t = nvmlDeviceAddressingMode_v1_t;
725#[repr(C)]
726#[derive(Debug, Copy, Clone)]
727pub struct nvmlRepairStatus_v1_t {
728    pub version: raw::c_uint,
729    pub bChannelRepairPending: raw::c_uint,
730    pub bTpcRepairPending: raw::c_uint,
731}
732pub type nvmlRepairStatus_t = nvmlRepairStatus_v1_t;
733#[repr(C)]
734#[derive(Debug, Copy, Clone)]
735pub struct nvmlRowRemapperHistogramValues_st {
736    pub max: raw::c_uint,
737    pub high: raw::c_uint,
738    pub partial: raw::c_uint,
739    pub low: raw::c_uint,
740    pub none: raw::c_uint,
741}
742pub type nvmlRowRemapperHistogramValues_t = nvmlRowRemapperHistogramValues_st;
743pub const nvmlBridgeChipType_enum_NVML_BRIDGE_CHIP_PLX: nvmlBridgeChipType_enum = 0;
744pub const nvmlBridgeChipType_enum_NVML_BRIDGE_CHIP_BRO4: nvmlBridgeChipType_enum = 1;
745pub type nvmlBridgeChipType_enum = raw::c_uint;
746pub use self::nvmlBridgeChipType_enum as nvmlBridgeChipType_t;
747pub const nvmlNvLinkUtilizationCountUnits_enum_NVML_NVLINK_COUNTER_UNIT_CYCLES:
748    nvmlNvLinkUtilizationCountUnits_enum = 0;
749pub const nvmlNvLinkUtilizationCountUnits_enum_NVML_NVLINK_COUNTER_UNIT_PACKETS:
750    nvmlNvLinkUtilizationCountUnits_enum = 1;
751pub const nvmlNvLinkUtilizationCountUnits_enum_NVML_NVLINK_COUNTER_UNIT_BYTES:
752    nvmlNvLinkUtilizationCountUnits_enum = 2;
753pub const nvmlNvLinkUtilizationCountUnits_enum_NVML_NVLINK_COUNTER_UNIT_RESERVED:
754    nvmlNvLinkUtilizationCountUnits_enum = 3;
755pub const nvmlNvLinkUtilizationCountUnits_enum_NVML_NVLINK_COUNTER_UNIT_COUNT:
756    nvmlNvLinkUtilizationCountUnits_enum = 4;
757pub type nvmlNvLinkUtilizationCountUnits_enum = raw::c_uint;
758pub use self::nvmlNvLinkUtilizationCountUnits_enum as nvmlNvLinkUtilizationCountUnits_t;
759pub const nvmlNvLinkUtilizationCountPktTypes_enum_NVML_NVLINK_COUNTER_PKTFILTER_NOP:
760    nvmlNvLinkUtilizationCountPktTypes_enum = 1;
761pub const nvmlNvLinkUtilizationCountPktTypes_enum_NVML_NVLINK_COUNTER_PKTFILTER_READ:
762    nvmlNvLinkUtilizationCountPktTypes_enum = 2;
763pub const nvmlNvLinkUtilizationCountPktTypes_enum_NVML_NVLINK_COUNTER_PKTFILTER_WRITE:
764    nvmlNvLinkUtilizationCountPktTypes_enum = 4;
765pub const nvmlNvLinkUtilizationCountPktTypes_enum_NVML_NVLINK_COUNTER_PKTFILTER_RATOM:
766    nvmlNvLinkUtilizationCountPktTypes_enum = 8;
767pub const nvmlNvLinkUtilizationCountPktTypes_enum_NVML_NVLINK_COUNTER_PKTFILTER_NRATOM:
768    nvmlNvLinkUtilizationCountPktTypes_enum = 16;
769pub const nvmlNvLinkUtilizationCountPktTypes_enum_NVML_NVLINK_COUNTER_PKTFILTER_FLUSH:
770    nvmlNvLinkUtilizationCountPktTypes_enum = 32;
771pub const nvmlNvLinkUtilizationCountPktTypes_enum_NVML_NVLINK_COUNTER_PKTFILTER_RESPDATA:
772    nvmlNvLinkUtilizationCountPktTypes_enum = 64;
773pub const nvmlNvLinkUtilizationCountPktTypes_enum_NVML_NVLINK_COUNTER_PKTFILTER_RESPNODATA:
774    nvmlNvLinkUtilizationCountPktTypes_enum = 128;
775pub const nvmlNvLinkUtilizationCountPktTypes_enum_NVML_NVLINK_COUNTER_PKTFILTER_ALL:
776    nvmlNvLinkUtilizationCountPktTypes_enum = 255;
777pub type nvmlNvLinkUtilizationCountPktTypes_enum = raw::c_uint;
778pub use self::nvmlNvLinkUtilizationCountPktTypes_enum as nvmlNvLinkUtilizationCountPktTypes_t;
779#[repr(C)]
780#[derive(Debug, Copy, Clone)]
781pub struct nvmlNvLinkUtilizationControl_st {
782    pub units: nvmlNvLinkUtilizationCountUnits_t,
783    pub pktfilter: nvmlNvLinkUtilizationCountPktTypes_t,
784}
785pub type nvmlNvLinkUtilizationControl_t = nvmlNvLinkUtilizationControl_st;
786pub const nvmlNvLinkCapability_enum_NVML_NVLINK_CAP_P2P_SUPPORTED: nvmlNvLinkCapability_enum = 0;
787pub const nvmlNvLinkCapability_enum_NVML_NVLINK_CAP_SYSMEM_ACCESS: nvmlNvLinkCapability_enum = 1;
788pub const nvmlNvLinkCapability_enum_NVML_NVLINK_CAP_P2P_ATOMICS: nvmlNvLinkCapability_enum = 2;
789pub const nvmlNvLinkCapability_enum_NVML_NVLINK_CAP_SYSMEM_ATOMICS: nvmlNvLinkCapability_enum = 3;
790pub const nvmlNvLinkCapability_enum_NVML_NVLINK_CAP_SLI_BRIDGE: nvmlNvLinkCapability_enum = 4;
791pub const nvmlNvLinkCapability_enum_NVML_NVLINK_CAP_VALID: nvmlNvLinkCapability_enum = 5;
792pub const nvmlNvLinkCapability_enum_NVML_NVLINK_CAP_COUNT: nvmlNvLinkCapability_enum = 6;
793pub type nvmlNvLinkCapability_enum = raw::c_uint;
794pub use self::nvmlNvLinkCapability_enum as nvmlNvLinkCapability_t;
795pub const nvmlNvLinkErrorCounter_enum_NVML_NVLINK_ERROR_DL_REPLAY: nvmlNvLinkErrorCounter_enum = 0;
796pub const nvmlNvLinkErrorCounter_enum_NVML_NVLINK_ERROR_DL_RECOVERY: nvmlNvLinkErrorCounter_enum =
797    1;
798pub const nvmlNvLinkErrorCounter_enum_NVML_NVLINK_ERROR_DL_CRC_FLIT: nvmlNvLinkErrorCounter_enum =
799    2;
800pub const nvmlNvLinkErrorCounter_enum_NVML_NVLINK_ERROR_DL_CRC_DATA: nvmlNvLinkErrorCounter_enum =
801    3;
802pub const nvmlNvLinkErrorCounter_enum_NVML_NVLINK_ERROR_DL_ECC_DATA: nvmlNvLinkErrorCounter_enum =
803    4;
804pub const nvmlNvLinkErrorCounter_enum_NVML_NVLINK_ERROR_COUNT: nvmlNvLinkErrorCounter_enum = 5;
805pub type nvmlNvLinkErrorCounter_enum = raw::c_uint;
806pub use self::nvmlNvLinkErrorCounter_enum as nvmlNvLinkErrorCounter_t;
807pub const nvmlIntNvLinkDeviceType_enum_NVML_NVLINK_DEVICE_TYPE_GPU: nvmlIntNvLinkDeviceType_enum =
808    0;
809pub const nvmlIntNvLinkDeviceType_enum_NVML_NVLINK_DEVICE_TYPE_IBMNPU:
810    nvmlIntNvLinkDeviceType_enum = 1;
811pub const nvmlIntNvLinkDeviceType_enum_NVML_NVLINK_DEVICE_TYPE_SWITCH:
812    nvmlIntNvLinkDeviceType_enum = 2;
813pub const nvmlIntNvLinkDeviceType_enum_NVML_NVLINK_DEVICE_TYPE_UNKNOWN:
814    nvmlIntNvLinkDeviceType_enum = 255;
815pub type nvmlIntNvLinkDeviceType_enum = raw::c_uint;
816pub use self::nvmlIntNvLinkDeviceType_enum as nvmlIntNvLinkDeviceType_t;
817pub const nvmlGpuLevel_enum_NVML_TOPOLOGY_INTERNAL: nvmlGpuLevel_enum = 0;
818pub const nvmlGpuLevel_enum_NVML_TOPOLOGY_SINGLE: nvmlGpuLevel_enum = 10;
819pub const nvmlGpuLevel_enum_NVML_TOPOLOGY_MULTIPLE: nvmlGpuLevel_enum = 20;
820pub const nvmlGpuLevel_enum_NVML_TOPOLOGY_HOSTBRIDGE: nvmlGpuLevel_enum = 30;
821pub const nvmlGpuLevel_enum_NVML_TOPOLOGY_NODE: nvmlGpuLevel_enum = 40;
822pub const nvmlGpuLevel_enum_NVML_TOPOLOGY_SYSTEM: nvmlGpuLevel_enum = 50;
823pub type nvmlGpuLevel_enum = raw::c_uint;
824pub use self::nvmlGpuLevel_enum as nvmlGpuTopologyLevel_t;
825pub const nvmlGpuP2PStatus_enum_NVML_P2P_STATUS_OK: nvmlGpuP2PStatus_enum = 0;
826pub const nvmlGpuP2PStatus_enum_NVML_P2P_STATUS_CHIPSET_NOT_SUPPORED: nvmlGpuP2PStatus_enum = 1;
827pub const nvmlGpuP2PStatus_enum_NVML_P2P_STATUS_CHIPSET_NOT_SUPPORTED: nvmlGpuP2PStatus_enum = 1;
828pub const nvmlGpuP2PStatus_enum_NVML_P2P_STATUS_GPU_NOT_SUPPORTED: nvmlGpuP2PStatus_enum = 2;
829pub const nvmlGpuP2PStatus_enum_NVML_P2P_STATUS_IOH_TOPOLOGY_NOT_SUPPORTED: nvmlGpuP2PStatus_enum =
830    3;
831pub const nvmlGpuP2PStatus_enum_NVML_P2P_STATUS_DISABLED_BY_REGKEY: nvmlGpuP2PStatus_enum = 4;
832pub const nvmlGpuP2PStatus_enum_NVML_P2P_STATUS_NOT_SUPPORTED: nvmlGpuP2PStatus_enum = 5;
833pub const nvmlGpuP2PStatus_enum_NVML_P2P_STATUS_UNKNOWN: nvmlGpuP2PStatus_enum = 6;
834pub type nvmlGpuP2PStatus_enum = raw::c_uint;
835pub use self::nvmlGpuP2PStatus_enum as nvmlGpuP2PStatus_t;
836pub const nvmlGpuP2PCapsIndex_enum_NVML_P2P_CAPS_INDEX_READ: nvmlGpuP2PCapsIndex_enum = 0;
837pub const nvmlGpuP2PCapsIndex_enum_NVML_P2P_CAPS_INDEX_WRITE: nvmlGpuP2PCapsIndex_enum = 1;
838pub const nvmlGpuP2PCapsIndex_enum_NVML_P2P_CAPS_INDEX_NVLINK: nvmlGpuP2PCapsIndex_enum = 2;
839pub const nvmlGpuP2PCapsIndex_enum_NVML_P2P_CAPS_INDEX_ATOMICS: nvmlGpuP2PCapsIndex_enum = 3;
840pub const nvmlGpuP2PCapsIndex_enum_NVML_P2P_CAPS_INDEX_PCI: nvmlGpuP2PCapsIndex_enum = 4;
841pub const nvmlGpuP2PCapsIndex_enum_NVML_P2P_CAPS_INDEX_PROP: nvmlGpuP2PCapsIndex_enum = 4;
842pub const nvmlGpuP2PCapsIndex_enum_NVML_P2P_CAPS_INDEX_UNKNOWN: nvmlGpuP2PCapsIndex_enum = 5;
843pub type nvmlGpuP2PCapsIndex_enum = raw::c_uint;
844pub use self::nvmlGpuP2PCapsIndex_enum as nvmlGpuP2PCapsIndex_t;
845#[repr(C)]
846#[derive(Debug, Copy, Clone)]
847pub struct nvmlBridgeChipInfo_st {
848    pub type_: nvmlBridgeChipType_t,
849    pub fwVersion: raw::c_uint,
850}
851pub type nvmlBridgeChipInfo_t = nvmlBridgeChipInfo_st;
852#[repr(C)]
853#[derive(Debug, Copy, Clone)]
854pub struct nvmlBridgeChipHierarchy_st {
855    pub bridgeCount: raw::c_uchar,
856    pub bridgeChipInfo: [nvmlBridgeChipInfo_t; 128usize],
857}
858pub type nvmlBridgeChipHierarchy_t = nvmlBridgeChipHierarchy_st;
859pub const nvmlSamplingType_enum_NVML_TOTAL_POWER_SAMPLES: nvmlSamplingType_enum = 0;
860pub const nvmlSamplingType_enum_NVML_GPU_UTILIZATION_SAMPLES: nvmlSamplingType_enum = 1;
861pub const nvmlSamplingType_enum_NVML_MEMORY_UTILIZATION_SAMPLES: nvmlSamplingType_enum = 2;
862pub const nvmlSamplingType_enum_NVML_ENC_UTILIZATION_SAMPLES: nvmlSamplingType_enum = 3;
863pub const nvmlSamplingType_enum_NVML_DEC_UTILIZATION_SAMPLES: nvmlSamplingType_enum = 4;
864pub const nvmlSamplingType_enum_NVML_PROCESSOR_CLK_SAMPLES: nvmlSamplingType_enum = 5;
865pub const nvmlSamplingType_enum_NVML_MEMORY_CLK_SAMPLES: nvmlSamplingType_enum = 6;
866pub const nvmlSamplingType_enum_NVML_MODULE_POWER_SAMPLES: nvmlSamplingType_enum = 7;
867pub const nvmlSamplingType_enum_NVML_JPG_UTILIZATION_SAMPLES: nvmlSamplingType_enum = 8;
868pub const nvmlSamplingType_enum_NVML_OFA_UTILIZATION_SAMPLES: nvmlSamplingType_enum = 9;
869pub const nvmlSamplingType_enum_NVML_SAMPLINGTYPE_COUNT: nvmlSamplingType_enum = 10;
870pub type nvmlSamplingType_enum = raw::c_uint;
871pub use self::nvmlSamplingType_enum as nvmlSamplingType_t;
872pub const nvmlPcieUtilCounter_enum_NVML_PCIE_UTIL_TX_BYTES: nvmlPcieUtilCounter_enum = 0;
873pub const nvmlPcieUtilCounter_enum_NVML_PCIE_UTIL_RX_BYTES: nvmlPcieUtilCounter_enum = 1;
874pub const nvmlPcieUtilCounter_enum_NVML_PCIE_UTIL_COUNT: nvmlPcieUtilCounter_enum = 2;
875pub type nvmlPcieUtilCounter_enum = raw::c_uint;
876pub use self::nvmlPcieUtilCounter_enum as nvmlPcieUtilCounter_t;
877pub const nvmlValueType_enum_NVML_VALUE_TYPE_DOUBLE: nvmlValueType_enum = 0;
878pub const nvmlValueType_enum_NVML_VALUE_TYPE_UNSIGNED_INT: nvmlValueType_enum = 1;
879pub const nvmlValueType_enum_NVML_VALUE_TYPE_UNSIGNED_LONG: nvmlValueType_enum = 2;
880pub const nvmlValueType_enum_NVML_VALUE_TYPE_UNSIGNED_LONG_LONG: nvmlValueType_enum = 3;
881pub const nvmlValueType_enum_NVML_VALUE_TYPE_SIGNED_LONG_LONG: nvmlValueType_enum = 4;
882pub const nvmlValueType_enum_NVML_VALUE_TYPE_SIGNED_INT: nvmlValueType_enum = 5;
883pub const nvmlValueType_enum_NVML_VALUE_TYPE_UNSIGNED_SHORT: nvmlValueType_enum = 6;
884pub const nvmlValueType_enum_NVML_VALUE_TYPE_COUNT: nvmlValueType_enum = 7;
885pub type nvmlValueType_enum = raw::c_uint;
886pub use self::nvmlValueType_enum as nvmlValueType_t;
887#[repr(C)]
888#[derive(Copy, Clone)]
889pub union nvmlValue_st {
890    pub dVal: f64,
891    pub siVal: raw::c_int,
892    pub uiVal: raw::c_uint,
893    pub ulVal: raw::c_ulong,
894    pub ullVal: raw::c_ulonglong,
895    pub sllVal: raw::c_longlong,
896    pub usVal: raw::c_ushort,
897}
898pub type nvmlValue_t = nvmlValue_st;
899#[repr(C)]
900#[derive(Copy, Clone)]
901pub struct nvmlSample_st {
902    pub timeStamp: raw::c_ulonglong,
903    pub sampleValue: nvmlValue_t,
904}
905pub type nvmlSample_t = nvmlSample_st;
906pub const nvmlPerfPolicyType_enum_NVML_PERF_POLICY_POWER: nvmlPerfPolicyType_enum = 0;
907pub const nvmlPerfPolicyType_enum_NVML_PERF_POLICY_THERMAL: nvmlPerfPolicyType_enum = 1;
908pub const nvmlPerfPolicyType_enum_NVML_PERF_POLICY_SYNC_BOOST: nvmlPerfPolicyType_enum = 2;
909pub const nvmlPerfPolicyType_enum_NVML_PERF_POLICY_BOARD_LIMIT: nvmlPerfPolicyType_enum = 3;
910pub const nvmlPerfPolicyType_enum_NVML_PERF_POLICY_LOW_UTILIZATION: nvmlPerfPolicyType_enum = 4;
911pub const nvmlPerfPolicyType_enum_NVML_PERF_POLICY_RELIABILITY: nvmlPerfPolicyType_enum = 5;
912pub const nvmlPerfPolicyType_enum_NVML_PERF_POLICY_TOTAL_APP_CLOCKS: nvmlPerfPolicyType_enum = 10;
913pub const nvmlPerfPolicyType_enum_NVML_PERF_POLICY_TOTAL_BASE_CLOCKS: nvmlPerfPolicyType_enum = 11;
914pub const nvmlPerfPolicyType_enum_NVML_PERF_POLICY_COUNT: nvmlPerfPolicyType_enum = 12;
915pub type nvmlPerfPolicyType_enum = raw::c_uint;
916pub use self::nvmlPerfPolicyType_enum as nvmlPerfPolicyType_t;
917#[repr(C)]
918#[derive(Debug, Copy, Clone)]
919pub struct nvmlViolationTime_st {
920    pub referenceTime: raw::c_ulonglong,
921    pub violationTime: raw::c_ulonglong,
922}
923pub type nvmlViolationTime_t = nvmlViolationTime_st;
924pub const nvmlThermalTarget_t_NVML_THERMAL_TARGET_NONE: nvmlThermalTarget_t = 0;
925pub const nvmlThermalTarget_t_NVML_THERMAL_TARGET_GPU: nvmlThermalTarget_t = 1;
926pub const nvmlThermalTarget_t_NVML_THERMAL_TARGET_MEMORY: nvmlThermalTarget_t = 2;
927pub const nvmlThermalTarget_t_NVML_THERMAL_TARGET_POWER_SUPPLY: nvmlThermalTarget_t = 4;
928pub const nvmlThermalTarget_t_NVML_THERMAL_TARGET_BOARD: nvmlThermalTarget_t = 8;
929pub const nvmlThermalTarget_t_NVML_THERMAL_TARGET_VCD_BOARD: nvmlThermalTarget_t = 9;
930pub const nvmlThermalTarget_t_NVML_THERMAL_TARGET_VCD_INLET: nvmlThermalTarget_t = 10;
931pub const nvmlThermalTarget_t_NVML_THERMAL_TARGET_VCD_OUTLET: nvmlThermalTarget_t = 11;
932pub const nvmlThermalTarget_t_NVML_THERMAL_TARGET_ALL: nvmlThermalTarget_t = 15;
933pub const nvmlThermalTarget_t_NVML_THERMAL_TARGET_UNKNOWN: nvmlThermalTarget_t = -1;
934pub type nvmlThermalTarget_t = raw::c_int;
935pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_NONE: nvmlThermalController_t = 0;
936pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_GPU_INTERNAL: nvmlThermalController_t = 1;
937pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_ADM1032: nvmlThermalController_t = 2;
938pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_ADT7461: nvmlThermalController_t = 3;
939pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_MAX6649: nvmlThermalController_t = 4;
940pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_MAX1617: nvmlThermalController_t = 5;
941pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_LM99: nvmlThermalController_t = 6;
942pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_LM89: nvmlThermalController_t = 7;
943pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_LM64: nvmlThermalController_t = 8;
944pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_G781: nvmlThermalController_t = 9;
945pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_ADT7473: nvmlThermalController_t = 10;
946pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_SBMAX6649: nvmlThermalController_t = 11;
947pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_VBIOSEVT: nvmlThermalController_t = 12;
948pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_OS: nvmlThermalController_t = 13;
949pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_NVSYSCON_CANOAS: nvmlThermalController_t =
950    14;
951pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_NVSYSCON_E551: nvmlThermalController_t =
952    15;
953pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_MAX6649R: nvmlThermalController_t = 16;
954pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_ADT7473S: nvmlThermalController_t = 17;
955pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_UNKNOWN: nvmlThermalController_t = -1;
956pub type nvmlThermalController_t = raw::c_int;
957#[repr(C)]
958#[derive(Debug, Copy, Clone)]
959pub struct nvmlGpuThermalSettings_t {
960    pub count: raw::c_uint,
961    pub sensor: [nvmlGpuThermalSettings_t__bindgen_ty_1; 3usize],
962}
963#[repr(C)]
964#[derive(Debug, Copy, Clone)]
965pub struct nvmlGpuThermalSettings_t__bindgen_ty_1 {
966    pub controller: nvmlThermalController_t,
967    pub defaultMinTemp: raw::c_int,
968    pub defaultMaxTemp: raw::c_int,
969    pub currentTemp: raw::c_int,
970    pub target: nvmlThermalTarget_t,
971}
972pub const nvmlCoolerControl_enum_NVML_THERMAL_COOLER_SIGNAL_NONE: nvmlCoolerControl_enum = 0;
973pub const nvmlCoolerControl_enum_NVML_THERMAL_COOLER_SIGNAL_TOGGLE: nvmlCoolerControl_enum = 1;
974pub const nvmlCoolerControl_enum_NVML_THERMAL_COOLER_SIGNAL_VARIABLE: nvmlCoolerControl_enum = 2;
975pub const nvmlCoolerControl_enum_NVML_THERMAL_COOLER_SIGNAL_COUNT: nvmlCoolerControl_enum = 3;
976pub type nvmlCoolerControl_enum = raw::c_uint;
977pub use self::nvmlCoolerControl_enum as nvmlCoolerControl_t;
978pub const nvmlCoolerTarget_enum_NVML_THERMAL_COOLER_TARGET_NONE: nvmlCoolerTarget_enum = 1;
979pub const nvmlCoolerTarget_enum_NVML_THERMAL_COOLER_TARGET_GPU: nvmlCoolerTarget_enum = 2;
980pub const nvmlCoolerTarget_enum_NVML_THERMAL_COOLER_TARGET_MEMORY: nvmlCoolerTarget_enum = 4;
981pub const nvmlCoolerTarget_enum_NVML_THERMAL_COOLER_TARGET_POWER_SUPPLY: nvmlCoolerTarget_enum = 8;
982pub const nvmlCoolerTarget_enum_NVML_THERMAL_COOLER_TARGET_GPU_RELATED: nvmlCoolerTarget_enum = 14;
983pub type nvmlCoolerTarget_enum = raw::c_uint;
984pub use self::nvmlCoolerTarget_enum as nvmlCoolerTarget_t;
985#[repr(C)]
986#[derive(Debug, Copy, Clone)]
987pub struct nvmlCoolerInfo_v1_t {
988    pub version: raw::c_uint,
989    pub index: raw::c_uint,
990    pub signalType: nvmlCoolerControl_t,
991    pub target: nvmlCoolerTarget_t,
992}
993pub type nvmlCoolerInfo_t = nvmlCoolerInfo_v1_t;
994pub const nvmlUUIDType_t_NVML_UUID_TYPE_NONE: nvmlUUIDType_t = 0;
995pub const nvmlUUIDType_t_NVML_UUID_TYPE_ASCII: nvmlUUIDType_t = 1;
996pub const nvmlUUIDType_t_NVML_UUID_TYPE_BINARY: nvmlUUIDType_t = 2;
997pub type nvmlUUIDType_t = raw::c_uint;
998#[repr(C)]
999#[derive(Copy, Clone)]
1000pub union nvmlUUIDValue_t {
1001    pub str_: [raw::c_char; 41usize],
1002    pub bytes: [raw::c_uchar; 16usize],
1003}
1004#[repr(C)]
1005#[derive(Copy, Clone)]
1006pub struct nvmlUUID_v1_t {
1007    pub version: raw::c_uint,
1008    pub type_: raw::c_uint,
1009    pub value: nvmlUUIDValue_t,
1010}
1011pub type nvmlUUID_t = nvmlUUID_v1_t;
1012#[repr(C)]
1013#[derive(Debug, Copy, Clone)]
1014pub struct nvmlPdi_v1_t {
1015    pub version: raw::c_uint,
1016    pub value: raw::c_ulonglong,
1017}
1018pub type nvmlPdi_t = nvmlPdi_v1_t;
1019pub const nvmlEnableState_enum_NVML_FEATURE_DISABLED: nvmlEnableState_enum = 0;
1020pub const nvmlEnableState_enum_NVML_FEATURE_ENABLED: nvmlEnableState_enum = 1;
1021pub type nvmlEnableState_enum = raw::c_uint;
1022pub use self::nvmlEnableState_enum as nvmlEnableState_t;
1023#[repr(C)]
1024#[derive(Debug, Copy, Clone)]
1025pub struct nvmlDramEncryptionInfo_v1_t {
1026    pub version: raw::c_uint,
1027    pub encryptionState: nvmlEnableState_t,
1028}
1029pub type nvmlDramEncryptionInfo_t = nvmlDramEncryptionInfo_v1_t;
1030pub const nvmlBrandType_enum_NVML_BRAND_UNKNOWN: nvmlBrandType_enum = 0;
1031pub const nvmlBrandType_enum_NVML_BRAND_QUADRO: nvmlBrandType_enum = 1;
1032pub const nvmlBrandType_enum_NVML_BRAND_TESLA: nvmlBrandType_enum = 2;
1033pub const nvmlBrandType_enum_NVML_BRAND_NVS: nvmlBrandType_enum = 3;
1034pub const nvmlBrandType_enum_NVML_BRAND_GRID: nvmlBrandType_enum = 4;
1035pub const nvmlBrandType_enum_NVML_BRAND_GEFORCE: nvmlBrandType_enum = 5;
1036pub const nvmlBrandType_enum_NVML_BRAND_TITAN: nvmlBrandType_enum = 6;
1037pub const nvmlBrandType_enum_NVML_BRAND_NVIDIA_VAPPS: nvmlBrandType_enum = 7;
1038pub const nvmlBrandType_enum_NVML_BRAND_NVIDIA_VPC: nvmlBrandType_enum = 8;
1039pub const nvmlBrandType_enum_NVML_BRAND_NVIDIA_VCS: nvmlBrandType_enum = 9;
1040pub const nvmlBrandType_enum_NVML_BRAND_NVIDIA_VWS: nvmlBrandType_enum = 10;
1041pub const nvmlBrandType_enum_NVML_BRAND_NVIDIA_CLOUD_GAMING: nvmlBrandType_enum = 11;
1042pub const nvmlBrandType_enum_NVML_BRAND_NVIDIA_VGAMING: nvmlBrandType_enum = 11;
1043pub const nvmlBrandType_enum_NVML_BRAND_QUADRO_RTX: nvmlBrandType_enum = 12;
1044pub const nvmlBrandType_enum_NVML_BRAND_NVIDIA_RTX: nvmlBrandType_enum = 13;
1045pub const nvmlBrandType_enum_NVML_BRAND_NVIDIA: nvmlBrandType_enum = 14;
1046pub const nvmlBrandType_enum_NVML_BRAND_GEFORCE_RTX: nvmlBrandType_enum = 15;
1047pub const nvmlBrandType_enum_NVML_BRAND_TITAN_RTX: nvmlBrandType_enum = 16;
1048pub const nvmlBrandType_enum_NVML_BRAND_COUNT: nvmlBrandType_enum = 18;
1049pub type nvmlBrandType_enum = raw::c_uint;
1050pub use self::nvmlBrandType_enum as nvmlBrandType_t;
1051pub const nvmlTemperatureThresholds_enum_NVML_TEMPERATURE_THRESHOLD_SHUTDOWN:
1052    nvmlTemperatureThresholds_enum = 0;
1053pub const nvmlTemperatureThresholds_enum_NVML_TEMPERATURE_THRESHOLD_SLOWDOWN:
1054    nvmlTemperatureThresholds_enum = 1;
1055pub const nvmlTemperatureThresholds_enum_NVML_TEMPERATURE_THRESHOLD_MEM_MAX:
1056    nvmlTemperatureThresholds_enum = 2;
1057pub const nvmlTemperatureThresholds_enum_NVML_TEMPERATURE_THRESHOLD_GPU_MAX:
1058    nvmlTemperatureThresholds_enum = 3;
1059pub const nvmlTemperatureThresholds_enum_NVML_TEMPERATURE_THRESHOLD_ACOUSTIC_MIN:
1060    nvmlTemperatureThresholds_enum = 4;
1061pub const nvmlTemperatureThresholds_enum_NVML_TEMPERATURE_THRESHOLD_ACOUSTIC_CURR:
1062    nvmlTemperatureThresholds_enum = 5;
1063pub const nvmlTemperatureThresholds_enum_NVML_TEMPERATURE_THRESHOLD_ACOUSTIC_MAX:
1064    nvmlTemperatureThresholds_enum = 6;
1065pub const nvmlTemperatureThresholds_enum_NVML_TEMPERATURE_THRESHOLD_GPS_CURR:
1066    nvmlTemperatureThresholds_enum = 7;
1067pub const nvmlTemperatureThresholds_enum_NVML_TEMPERATURE_THRESHOLD_COUNT:
1068    nvmlTemperatureThresholds_enum = 8;
1069pub type nvmlTemperatureThresholds_enum = raw::c_uint;
1070pub use self::nvmlTemperatureThresholds_enum as nvmlTemperatureThresholds_t;
1071pub const nvmlTemperatureSensors_enum_NVML_TEMPERATURE_GPU: nvmlTemperatureSensors_enum = 0;
1072pub const nvmlTemperatureSensors_enum_NVML_TEMPERATURE_COUNT: nvmlTemperatureSensors_enum = 1;
1073pub type nvmlTemperatureSensors_enum = raw::c_uint;
1074pub use self::nvmlTemperatureSensors_enum as nvmlTemperatureSensors_t;
1075#[repr(C)]
1076#[derive(Debug, Copy, Clone)]
1077pub struct nvmlMarginTemperature_v1_t {
1078    pub version: raw::c_uint,
1079    pub marginTemperature: raw::c_int,
1080}
1081pub type nvmlMarginTemperature_t = nvmlMarginTemperature_v1_t;
1082pub const nvmlComputeMode_enum_NVML_COMPUTEMODE_DEFAULT: nvmlComputeMode_enum = 0;
1083pub const nvmlComputeMode_enum_NVML_COMPUTEMODE_EXCLUSIVE_THREAD: nvmlComputeMode_enum = 1;
1084pub const nvmlComputeMode_enum_NVML_COMPUTEMODE_PROHIBITED: nvmlComputeMode_enum = 2;
1085pub const nvmlComputeMode_enum_NVML_COMPUTEMODE_EXCLUSIVE_PROCESS: nvmlComputeMode_enum = 3;
1086pub const nvmlComputeMode_enum_NVML_COMPUTEMODE_COUNT: nvmlComputeMode_enum = 4;
1087pub type nvmlComputeMode_enum = raw::c_uint;
1088pub use self::nvmlComputeMode_enum as nvmlComputeMode_t;
1089#[repr(C)]
1090#[derive(Debug, Copy, Clone)]
1091pub struct nvmlClkMonFaultInfo_struct {
1092    pub clkApiDomain: raw::c_uint,
1093    pub clkDomainFaultMask: raw::c_uint,
1094}
1095pub type nvmlClkMonFaultInfo_t = nvmlClkMonFaultInfo_struct;
1096#[repr(C)]
1097#[derive(Debug, Copy, Clone)]
1098pub struct nvmlClkMonStatus_status {
1099    pub bGlobalStatus: raw::c_uint,
1100    pub clkMonListSize: raw::c_uint,
1101    pub clkMonList: [nvmlClkMonFaultInfo_t; 32usize],
1102}
1103pub type nvmlClkMonStatus_t = nvmlClkMonStatus_status;
1104pub const nvmlMemoryErrorType_enum_NVML_MEMORY_ERROR_TYPE_CORRECTED: nvmlMemoryErrorType_enum = 0;
1105pub const nvmlMemoryErrorType_enum_NVML_MEMORY_ERROR_TYPE_UNCORRECTED: nvmlMemoryErrorType_enum = 1;
1106pub const nvmlMemoryErrorType_enum_NVML_MEMORY_ERROR_TYPE_COUNT: nvmlMemoryErrorType_enum = 2;
1107pub type nvmlMemoryErrorType_enum = raw::c_uint;
1108pub use self::nvmlMemoryErrorType_enum as nvmlMemoryErrorType_t;
1109pub const nvmlNvlinkVersion_enum_NVML_NVLINK_VERSION_INVALID: nvmlNvlinkVersion_enum = 0;
1110pub const nvmlNvlinkVersion_enum_NVML_NVLINK_VERSION_1_0: nvmlNvlinkVersion_enum = 1;
1111pub const nvmlNvlinkVersion_enum_NVML_NVLINK_VERSION_2_0: nvmlNvlinkVersion_enum = 2;
1112pub const nvmlNvlinkVersion_enum_NVML_NVLINK_VERSION_2_2: nvmlNvlinkVersion_enum = 3;
1113pub const nvmlNvlinkVersion_enum_NVML_NVLINK_VERSION_3_0: nvmlNvlinkVersion_enum = 4;
1114pub const nvmlNvlinkVersion_enum_NVML_NVLINK_VERSION_3_1: nvmlNvlinkVersion_enum = 5;
1115pub const nvmlNvlinkVersion_enum_NVML_NVLINK_VERSION_4_0: nvmlNvlinkVersion_enum = 6;
1116pub const nvmlNvlinkVersion_enum_NVML_NVLINK_VERSION_5_0: nvmlNvlinkVersion_enum = 7;
1117pub type nvmlNvlinkVersion_enum = raw::c_uint;
1118pub use self::nvmlNvlinkVersion_enum as nvmlNvlinkVersion_t;
1119pub const nvmlEccCounterType_enum_NVML_VOLATILE_ECC: nvmlEccCounterType_enum = 0;
1120pub const nvmlEccCounterType_enum_NVML_AGGREGATE_ECC: nvmlEccCounterType_enum = 1;
1121pub const nvmlEccCounterType_enum_NVML_ECC_COUNTER_TYPE_COUNT: nvmlEccCounterType_enum = 2;
1122pub type nvmlEccCounterType_enum = raw::c_uint;
1123pub use self::nvmlEccCounterType_enum as nvmlEccCounterType_t;
1124pub const nvmlClockType_enum_NVML_CLOCK_GRAPHICS: nvmlClockType_enum = 0;
1125pub const nvmlClockType_enum_NVML_CLOCK_SM: nvmlClockType_enum = 1;
1126pub const nvmlClockType_enum_NVML_CLOCK_MEM: nvmlClockType_enum = 2;
1127pub const nvmlClockType_enum_NVML_CLOCK_VIDEO: nvmlClockType_enum = 3;
1128pub const nvmlClockType_enum_NVML_CLOCK_COUNT: nvmlClockType_enum = 4;
1129pub type nvmlClockType_enum = raw::c_uint;
1130pub use self::nvmlClockType_enum as nvmlClockType_t;
1131pub const nvmlClockId_enum_NVML_CLOCK_ID_CURRENT: nvmlClockId_enum = 0;
1132pub const nvmlClockId_enum_NVML_CLOCK_ID_APP_CLOCK_TARGET: nvmlClockId_enum = 1;
1133pub const nvmlClockId_enum_NVML_CLOCK_ID_APP_CLOCK_DEFAULT: nvmlClockId_enum = 2;
1134pub const nvmlClockId_enum_NVML_CLOCK_ID_CUSTOMER_BOOST_MAX: nvmlClockId_enum = 3;
1135pub const nvmlClockId_enum_NVML_CLOCK_ID_COUNT: nvmlClockId_enum = 4;
1136pub type nvmlClockId_enum = raw::c_uint;
1137pub use self::nvmlClockId_enum as nvmlClockId_t;
1138pub const nvmlDriverModel_enum_NVML_DRIVER_WDDM: nvmlDriverModel_enum = 0;
1139pub const nvmlDriverModel_enum_NVML_DRIVER_WDM: nvmlDriverModel_enum = 1;
1140pub const nvmlDriverModel_enum_NVML_DRIVER_MCDM: nvmlDriverModel_enum = 2;
1141pub type nvmlDriverModel_enum = raw::c_uint;
1142pub use self::nvmlDriverModel_enum as nvmlDriverModel_t;
1143pub const nvmlPStates_enum_NVML_PSTATE_0: nvmlPStates_enum = 0;
1144pub const nvmlPStates_enum_NVML_PSTATE_1: nvmlPStates_enum = 1;
1145pub const nvmlPStates_enum_NVML_PSTATE_2: nvmlPStates_enum = 2;
1146pub const nvmlPStates_enum_NVML_PSTATE_3: nvmlPStates_enum = 3;
1147pub const nvmlPStates_enum_NVML_PSTATE_4: nvmlPStates_enum = 4;
1148pub const nvmlPStates_enum_NVML_PSTATE_5: nvmlPStates_enum = 5;
1149pub const nvmlPStates_enum_NVML_PSTATE_6: nvmlPStates_enum = 6;
1150pub const nvmlPStates_enum_NVML_PSTATE_7: nvmlPStates_enum = 7;
1151pub const nvmlPStates_enum_NVML_PSTATE_8: nvmlPStates_enum = 8;
1152pub const nvmlPStates_enum_NVML_PSTATE_9: nvmlPStates_enum = 9;
1153pub const nvmlPStates_enum_NVML_PSTATE_10: nvmlPStates_enum = 10;
1154pub const nvmlPStates_enum_NVML_PSTATE_11: nvmlPStates_enum = 11;
1155pub const nvmlPStates_enum_NVML_PSTATE_12: nvmlPStates_enum = 12;
1156pub const nvmlPStates_enum_NVML_PSTATE_13: nvmlPStates_enum = 13;
1157pub const nvmlPStates_enum_NVML_PSTATE_14: nvmlPStates_enum = 14;
1158pub const nvmlPStates_enum_NVML_PSTATE_15: nvmlPStates_enum = 15;
1159pub const nvmlPStates_enum_NVML_PSTATE_UNKNOWN: nvmlPStates_enum = 32;
1160pub type nvmlPStates_enum = raw::c_uint;
1161pub use self::nvmlPStates_enum as nvmlPstates_t;
1162#[repr(C)]
1163#[derive(Debug, Copy, Clone)]
1164pub struct nvmlClockOffset_v1_t {
1165    pub version: raw::c_uint,
1166    pub type_: nvmlClockType_t,
1167    pub pstate: nvmlPstates_t,
1168    pub clockOffsetMHz: raw::c_int,
1169    pub minClockOffsetMHz: raw::c_int,
1170    pub maxClockOffsetMHz: raw::c_int,
1171}
1172pub type nvmlClockOffset_t = nvmlClockOffset_v1_t;
1173#[repr(C)]
1174#[derive(Debug, Copy, Clone)]
1175pub struct nvmlFanSpeedInfo_v1_t {
1176    pub version: raw::c_uint,
1177    pub fan: raw::c_uint,
1178    pub speed: raw::c_uint,
1179}
1180pub type nvmlFanSpeedInfo_t = nvmlFanSpeedInfo_v1_t;
1181#[repr(C)]
1182#[derive(Debug, Copy, Clone)]
1183pub struct nvmlDevicePerfModes_v1_t {
1184    pub version: raw::c_uint,
1185    pub str_: [raw::c_char; 2048usize],
1186}
1187pub type nvmlDevicePerfModes_t = nvmlDevicePerfModes_v1_t;
1188#[repr(C)]
1189#[derive(Debug, Copy, Clone)]
1190pub struct nvmlDeviceCurrentClockFreqs_v1_t {
1191    pub version: raw::c_uint,
1192    pub str_: [raw::c_char; 2048usize],
1193}
1194pub type nvmlDeviceCurrentClockFreqs_t = nvmlDeviceCurrentClockFreqs_v1_t;
1195#[repr(C)]
1196#[derive(Debug, Copy, Clone)]
1197pub struct nvmlDevicePowerMizerModes_v1_t {
1198    pub currentMode: raw::c_uint,
1199    pub mode: raw::c_uint,
1200    pub supportedPowerMizerModes: raw::c_uint,
1201}
1202pub const nvmlGom_enum_NVML_GOM_ALL_ON: nvmlGom_enum = 0;
1203pub const nvmlGom_enum_NVML_GOM_COMPUTE: nvmlGom_enum = 1;
1204pub const nvmlGom_enum_NVML_GOM_LOW_DP: nvmlGom_enum = 2;
1205pub type nvmlGom_enum = raw::c_uint;
1206pub use self::nvmlGom_enum as nvmlGpuOperationMode_t;
1207pub const nvmlInforomObject_enum_NVML_INFOROM_OEM: nvmlInforomObject_enum = 0;
1208pub const nvmlInforomObject_enum_NVML_INFOROM_ECC: nvmlInforomObject_enum = 1;
1209pub const nvmlInforomObject_enum_NVML_INFOROM_POWER: nvmlInforomObject_enum = 2;
1210pub const nvmlInforomObject_enum_NVML_INFOROM_DEN: nvmlInforomObject_enum = 3;
1211pub const nvmlInforomObject_enum_NVML_INFOROM_COUNT: nvmlInforomObject_enum = 4;
1212pub type nvmlInforomObject_enum = raw::c_uint;
1213pub use self::nvmlInforomObject_enum as nvmlInforomObject_t;
1214pub const nvmlReturn_enum_NVML_SUCCESS: nvmlReturn_enum = 0;
1215pub const nvmlReturn_enum_NVML_ERROR_UNINITIALIZED: nvmlReturn_enum = 1;
1216pub const nvmlReturn_enum_NVML_ERROR_INVALID_ARGUMENT: nvmlReturn_enum = 2;
1217pub const nvmlReturn_enum_NVML_ERROR_NOT_SUPPORTED: nvmlReturn_enum = 3;
1218pub const nvmlReturn_enum_NVML_ERROR_NO_PERMISSION: nvmlReturn_enum = 4;
1219pub const nvmlReturn_enum_NVML_ERROR_ALREADY_INITIALIZED: nvmlReturn_enum = 5;
1220pub const nvmlReturn_enum_NVML_ERROR_NOT_FOUND: nvmlReturn_enum = 6;
1221pub const nvmlReturn_enum_NVML_ERROR_INSUFFICIENT_SIZE: nvmlReturn_enum = 7;
1222pub const nvmlReturn_enum_NVML_ERROR_INSUFFICIENT_POWER: nvmlReturn_enum = 8;
1223pub const nvmlReturn_enum_NVML_ERROR_DRIVER_NOT_LOADED: nvmlReturn_enum = 9;
1224pub const nvmlReturn_enum_NVML_ERROR_TIMEOUT: nvmlReturn_enum = 10;
1225pub const nvmlReturn_enum_NVML_ERROR_IRQ_ISSUE: nvmlReturn_enum = 11;
1226pub const nvmlReturn_enum_NVML_ERROR_LIBRARY_NOT_FOUND: nvmlReturn_enum = 12;
1227pub const nvmlReturn_enum_NVML_ERROR_FUNCTION_NOT_FOUND: nvmlReturn_enum = 13;
1228pub const nvmlReturn_enum_NVML_ERROR_CORRUPTED_INFOROM: nvmlReturn_enum = 14;
1229pub const nvmlReturn_enum_NVML_ERROR_GPU_IS_LOST: nvmlReturn_enum = 15;
1230pub const nvmlReturn_enum_NVML_ERROR_RESET_REQUIRED: nvmlReturn_enum = 16;
1231pub const nvmlReturn_enum_NVML_ERROR_OPERATING_SYSTEM: nvmlReturn_enum = 17;
1232pub const nvmlReturn_enum_NVML_ERROR_LIB_RM_VERSION_MISMATCH: nvmlReturn_enum = 18;
1233pub const nvmlReturn_enum_NVML_ERROR_IN_USE: nvmlReturn_enum = 19;
1234pub const nvmlReturn_enum_NVML_ERROR_MEMORY: nvmlReturn_enum = 20;
1235pub const nvmlReturn_enum_NVML_ERROR_NO_DATA: nvmlReturn_enum = 21;
1236pub const nvmlReturn_enum_NVML_ERROR_VGPU_ECC_NOT_SUPPORTED: nvmlReturn_enum = 22;
1237pub const nvmlReturn_enum_NVML_ERROR_INSUFFICIENT_RESOURCES: nvmlReturn_enum = 23;
1238pub const nvmlReturn_enum_NVML_ERROR_FREQ_NOT_SUPPORTED: nvmlReturn_enum = 24;
1239pub const nvmlReturn_enum_NVML_ERROR_ARGUMENT_VERSION_MISMATCH: nvmlReturn_enum = 25;
1240pub const nvmlReturn_enum_NVML_ERROR_DEPRECATED: nvmlReturn_enum = 26;
1241pub const nvmlReturn_enum_NVML_ERROR_NOT_READY: nvmlReturn_enum = 27;
1242pub const nvmlReturn_enum_NVML_ERROR_GPU_NOT_FOUND: nvmlReturn_enum = 28;
1243pub const nvmlReturn_enum_NVML_ERROR_INVALID_STATE: nvmlReturn_enum = 29;
1244pub const nvmlReturn_enum_NVML_ERROR_RESET_TYPE_NOT_SUPPORTED: nvmlReturn_enum = 30;
1245pub const nvmlReturn_enum_NVML_ERROR_UNKNOWN: nvmlReturn_enum = 999;
1246pub type nvmlReturn_enum = raw::c_uint;
1247pub use self::nvmlReturn_enum as nvmlReturn_t;
1248pub const nvmlMemoryLocation_enum_NVML_MEMORY_LOCATION_L1_CACHE: nvmlMemoryLocation_enum = 0;
1249pub const nvmlMemoryLocation_enum_NVML_MEMORY_LOCATION_L2_CACHE: nvmlMemoryLocation_enum = 1;
1250pub const nvmlMemoryLocation_enum_NVML_MEMORY_LOCATION_DRAM: nvmlMemoryLocation_enum = 2;
1251pub const nvmlMemoryLocation_enum_NVML_MEMORY_LOCATION_DEVICE_MEMORY: nvmlMemoryLocation_enum = 2;
1252pub const nvmlMemoryLocation_enum_NVML_MEMORY_LOCATION_REGISTER_FILE: nvmlMemoryLocation_enum = 3;
1253pub const nvmlMemoryLocation_enum_NVML_MEMORY_LOCATION_TEXTURE_MEMORY: nvmlMemoryLocation_enum = 4;
1254pub const nvmlMemoryLocation_enum_NVML_MEMORY_LOCATION_TEXTURE_SHM: nvmlMemoryLocation_enum = 5;
1255pub const nvmlMemoryLocation_enum_NVML_MEMORY_LOCATION_CBU: nvmlMemoryLocation_enum = 6;
1256pub const nvmlMemoryLocation_enum_NVML_MEMORY_LOCATION_SRAM: nvmlMemoryLocation_enum = 7;
1257pub const nvmlMemoryLocation_enum_NVML_MEMORY_LOCATION_COUNT: nvmlMemoryLocation_enum = 8;
1258pub type nvmlMemoryLocation_enum = raw::c_uint;
1259pub use self::nvmlMemoryLocation_enum as nvmlMemoryLocation_t;
1260pub const nvmlPageRetirementCause_enum_NVML_PAGE_RETIREMENT_CAUSE_MULTIPLE_SINGLE_BIT_ECC_ERRORS:
1261    nvmlPageRetirementCause_enum = 0;
1262pub const nvmlPageRetirementCause_enum_NVML_PAGE_RETIREMENT_CAUSE_DOUBLE_BIT_ECC_ERROR:
1263    nvmlPageRetirementCause_enum = 1;
1264pub const nvmlPageRetirementCause_enum_NVML_PAGE_RETIREMENT_CAUSE_COUNT:
1265    nvmlPageRetirementCause_enum = 2;
1266pub type nvmlPageRetirementCause_enum = raw::c_uint;
1267pub use self::nvmlPageRetirementCause_enum as nvmlPageRetirementCause_t;
1268pub const nvmlRestrictedAPI_enum_NVML_RESTRICTED_API_SET_APPLICATION_CLOCKS:
1269    nvmlRestrictedAPI_enum = 0;
1270pub const nvmlRestrictedAPI_enum_NVML_RESTRICTED_API_SET_AUTO_BOOSTED_CLOCKS:
1271    nvmlRestrictedAPI_enum = 1;
1272pub const nvmlRestrictedAPI_enum_NVML_RESTRICTED_API_COUNT: nvmlRestrictedAPI_enum = 2;
1273pub type nvmlRestrictedAPI_enum = raw::c_uint;
1274pub use self::nvmlRestrictedAPI_enum as nvmlRestrictedAPI_t;
1275#[repr(C)]
1276#[derive(Debug, Copy, Clone)]
1277pub struct nvmlProcessUtilizationSample_st {
1278    pub pid: raw::c_uint,
1279    pub timeStamp: raw::c_ulonglong,
1280    pub smUtil: raw::c_uint,
1281    pub memUtil: raw::c_uint,
1282    pub encUtil: raw::c_uint,
1283    pub decUtil: raw::c_uint,
1284}
1285pub type nvmlProcessUtilizationSample_t = nvmlProcessUtilizationSample_st;
1286#[repr(C)]
1287#[derive(Debug, Copy, Clone)]
1288pub struct nvmlProcessUtilizationInfo_v1_t {
1289    pub timeStamp: raw::c_ulonglong,
1290    pub pid: raw::c_uint,
1291    pub smUtil: raw::c_uint,
1292    pub memUtil: raw::c_uint,
1293    pub encUtil: raw::c_uint,
1294    pub decUtil: raw::c_uint,
1295    pub jpgUtil: raw::c_uint,
1296    pub ofaUtil: raw::c_uint,
1297}
1298#[repr(C)]
1299#[derive(Debug, Copy, Clone)]
1300pub struct nvmlProcessesUtilizationInfo_v1_t {
1301    pub version: raw::c_uint,
1302    pub processSamplesCount: raw::c_uint,
1303    pub lastSeenTimeStamp: raw::c_ulonglong,
1304    pub procUtilArray: *mut nvmlProcessUtilizationInfo_v1_t,
1305}
1306pub type nvmlProcessesUtilizationInfo_t = nvmlProcessesUtilizationInfo_v1_t;
1307#[repr(C)]
1308#[derive(Debug, Copy, Clone)]
1309pub struct nvmlEccSramErrorStatus_v1_t {
1310    pub version: raw::c_uint,
1311    pub aggregateUncParity: raw::c_ulonglong,
1312    pub aggregateUncSecDed: raw::c_ulonglong,
1313    pub aggregateCor: raw::c_ulonglong,
1314    pub volatileUncParity: raw::c_ulonglong,
1315    pub volatileUncSecDed: raw::c_ulonglong,
1316    pub volatileCor: raw::c_ulonglong,
1317    pub aggregateUncBucketL2: raw::c_ulonglong,
1318    pub aggregateUncBucketSm: raw::c_ulonglong,
1319    pub aggregateUncBucketPcie: raw::c_ulonglong,
1320    pub aggregateUncBucketMcu: raw::c_ulonglong,
1321    pub aggregateUncBucketOther: raw::c_ulonglong,
1322    pub bThresholdExceeded: raw::c_uint,
1323}
1324pub type nvmlEccSramErrorStatus_t = nvmlEccSramErrorStatus_v1_t;
1325#[repr(C)]
1326#[derive(Debug, Copy, Clone)]
1327pub struct nvmlPlatformInfo_v1_t {
1328    pub version: raw::c_uint,
1329    pub ibGuid: [raw::c_uchar; 16usize],
1330    pub rackGuid: [raw::c_uchar; 16usize],
1331    pub chassisPhysicalSlotNumber: raw::c_uchar,
1332    pub computeSlotIndex: raw::c_uchar,
1333    pub nodeIndex: raw::c_uchar,
1334    pub peerType: raw::c_uchar,
1335    pub moduleId: raw::c_uchar,
1336}
1337#[repr(C)]
1338#[derive(Debug, Copy, Clone)]
1339pub struct nvmlPlatformInfo_v2_t {
1340    pub version: raw::c_uint,
1341    pub ibGuid: [raw::c_uchar; 16usize],
1342    pub chassisSerialNumber: [raw::c_uchar; 16usize],
1343    pub slotNumber: raw::c_uchar,
1344    pub trayIndex: raw::c_uchar,
1345    pub hostId: raw::c_uchar,
1346    pub peerType: raw::c_uchar,
1347    pub moduleId: raw::c_uchar,
1348}
1349pub type nvmlPlatformInfo_t = nvmlPlatformInfo_v2_t;
1350#[repr(C)]
1351#[derive(Debug, Copy, Clone)]
1352pub struct nvmlEccSramUniqueUncorrectedErrorEntry_v1_t {
1353    pub unit: raw::c_uint,
1354    pub location: raw::c_uint,
1355    pub sublocation: raw::c_uint,
1356    pub extlocation: raw::c_uint,
1357    pub address: raw::c_uint,
1358    pub isParity: raw::c_uint,
1359    pub count: raw::c_uint,
1360}
1361#[repr(C)]
1362#[derive(Debug, Copy, Clone)]
1363pub struct nvmlEccSramUniqueUncorrectedErrorCounts_v1_t {
1364    pub version: raw::c_uint,
1365    pub entryCount: raw::c_uint,
1366    pub entries: *mut nvmlEccSramUniqueUncorrectedErrorEntry_v1_t,
1367}
1368pub type nvmlEccSramUniqueUncorrectedErrorCounts_t = nvmlEccSramUniqueUncorrectedErrorCounts_v1_t;
1369pub type nvmlDeviceArchitecture_t = raw::c_uint;
1370pub type nvmlBusType_t = raw::c_uint;
1371pub type nvmlFanControlPolicy_t = raw::c_uint;
1372pub type nvmlPowerSource_t = raw::c_uint;
1373pub const nvmlGpuUtilizationDomainId_t_NVML_GPU_UTILIZATION_DOMAIN_GPU:
1374    nvmlGpuUtilizationDomainId_t = 0;
1375pub const nvmlGpuUtilizationDomainId_t_NVML_GPU_UTILIZATION_DOMAIN_FB:
1376    nvmlGpuUtilizationDomainId_t = 1;
1377pub const nvmlGpuUtilizationDomainId_t_NVML_GPU_UTILIZATION_DOMAIN_VID:
1378    nvmlGpuUtilizationDomainId_t = 2;
1379pub const nvmlGpuUtilizationDomainId_t_NVML_GPU_UTILIZATION_DOMAIN_BUS:
1380    nvmlGpuUtilizationDomainId_t = 3;
1381pub type nvmlGpuUtilizationDomainId_t = raw::c_uint;
1382#[repr(C)]
1383#[derive(Debug, Copy, Clone)]
1384pub struct nvmlGpuDynamicPstatesInfo_st {
1385    pub flags: raw::c_uint,
1386    pub utilization: [nvmlGpuDynamicPstatesInfo_st__bindgen_ty_1; 8usize],
1387}
1388#[repr(C)]
1389#[derive(Debug, Copy, Clone)]
1390pub struct nvmlGpuDynamicPstatesInfo_st__bindgen_ty_1 {
1391    pub bIsPresent: raw::c_uint,
1392    pub percentage: raw::c_uint,
1393    pub incThreshold: raw::c_uint,
1394    pub decThreshold: raw::c_uint,
1395}
1396pub type nvmlGpuDynamicPstatesInfo_t = nvmlGpuDynamicPstatesInfo_st;
1397pub type nvmlPowerScopeType_t = raw::c_uchar;
1398#[repr(C)]
1399#[derive(Debug, Copy, Clone)]
1400pub struct nvmlPowerValue_v2_t {
1401    pub version: raw::c_uint,
1402    pub powerScope: nvmlPowerScopeType_t,
1403    pub powerValueMw: raw::c_uint,
1404}
1405pub const nvmlGpuVirtualizationMode_NVML_GPU_VIRTUALIZATION_MODE_NONE: nvmlGpuVirtualizationMode =
1406    0;
1407pub const nvmlGpuVirtualizationMode_NVML_GPU_VIRTUALIZATION_MODE_PASSTHROUGH:
1408    nvmlGpuVirtualizationMode = 1;
1409pub const nvmlGpuVirtualizationMode_NVML_GPU_VIRTUALIZATION_MODE_VGPU: nvmlGpuVirtualizationMode =
1410    2;
1411pub const nvmlGpuVirtualizationMode_NVML_GPU_VIRTUALIZATION_MODE_HOST_VGPU:
1412    nvmlGpuVirtualizationMode = 3;
1413pub const nvmlGpuVirtualizationMode_NVML_GPU_VIRTUALIZATION_MODE_HOST_VSGA:
1414    nvmlGpuVirtualizationMode = 4;
1415pub type nvmlGpuVirtualizationMode = raw::c_uint;
1416pub use self::nvmlGpuVirtualizationMode as nvmlGpuVirtualizationMode_t;
1417pub const nvmlHostVgpuMode_enum_NVML_HOST_VGPU_MODE_NON_SRIOV: nvmlHostVgpuMode_enum = 0;
1418pub const nvmlHostVgpuMode_enum_NVML_HOST_VGPU_MODE_SRIOV: nvmlHostVgpuMode_enum = 1;
1419pub type nvmlHostVgpuMode_enum = raw::c_uint;
1420pub use self::nvmlHostVgpuMode_enum as nvmlHostVgpuMode_t;
1421pub const nvmlVgpuVmIdType_NVML_VGPU_VM_ID_DOMAIN_ID: nvmlVgpuVmIdType = 0;
1422pub const nvmlVgpuVmIdType_NVML_VGPU_VM_ID_UUID: nvmlVgpuVmIdType = 1;
1423pub type nvmlVgpuVmIdType = raw::c_uint;
1424pub use self::nvmlVgpuVmIdType as nvmlVgpuVmIdType_t;
1425pub const nvmlVgpuGuestInfoState_enum_NVML_VGPU_INSTANCE_GUEST_INFO_STATE_UNINITIALIZED:
1426    nvmlVgpuGuestInfoState_enum = 0;
1427pub const nvmlVgpuGuestInfoState_enum_NVML_VGPU_INSTANCE_GUEST_INFO_STATE_INITIALIZED:
1428    nvmlVgpuGuestInfoState_enum = 1;
1429pub type nvmlVgpuGuestInfoState_enum = raw::c_uint;
1430pub use self::nvmlVgpuGuestInfoState_enum as nvmlVgpuGuestInfoState_t;
1431pub const nvmlGridLicenseFeatureCode_t_NVML_GRID_LICENSE_FEATURE_CODE_UNKNOWN:
1432    nvmlGridLicenseFeatureCode_t = 0;
1433pub const nvmlGridLicenseFeatureCode_t_NVML_GRID_LICENSE_FEATURE_CODE_VGPU:
1434    nvmlGridLicenseFeatureCode_t = 1;
1435pub const nvmlGridLicenseFeatureCode_t_NVML_GRID_LICENSE_FEATURE_CODE_NVIDIA_RTX:
1436    nvmlGridLicenseFeatureCode_t = 2;
1437pub const nvmlGridLicenseFeatureCode_t_NVML_GRID_LICENSE_FEATURE_CODE_VWORKSTATION:
1438    nvmlGridLicenseFeatureCode_t = 2;
1439pub const nvmlGridLicenseFeatureCode_t_NVML_GRID_LICENSE_FEATURE_CODE_GAMING:
1440    nvmlGridLicenseFeatureCode_t = 3;
1441pub const nvmlGridLicenseFeatureCode_t_NVML_GRID_LICENSE_FEATURE_CODE_COMPUTE:
1442    nvmlGridLicenseFeatureCode_t = 4;
1443pub type nvmlGridLicenseFeatureCode_t = raw::c_uint;
1444pub const nvmlVgpuCapability_enum_NVML_VGPU_CAP_NVLINK_P2P: nvmlVgpuCapability_enum = 0;
1445pub const nvmlVgpuCapability_enum_NVML_VGPU_CAP_GPUDIRECT: nvmlVgpuCapability_enum = 1;
1446pub const nvmlVgpuCapability_enum_NVML_VGPU_CAP_MULTI_VGPU_EXCLUSIVE: nvmlVgpuCapability_enum = 2;
1447pub const nvmlVgpuCapability_enum_NVML_VGPU_CAP_EXCLUSIVE_TYPE: nvmlVgpuCapability_enum = 3;
1448pub const nvmlVgpuCapability_enum_NVML_VGPU_CAP_EXCLUSIVE_SIZE: nvmlVgpuCapability_enum = 4;
1449pub const nvmlVgpuCapability_enum_NVML_VGPU_CAP_COUNT: nvmlVgpuCapability_enum = 5;
1450pub type nvmlVgpuCapability_enum = raw::c_uint;
1451pub use self::nvmlVgpuCapability_enum as nvmlVgpuCapability_t;
1452pub const nvmlVgpuDriverCapability_enum_NVML_VGPU_DRIVER_CAP_HETEROGENEOUS_MULTI_VGPU:
1453    nvmlVgpuDriverCapability_enum = 0;
1454pub const nvmlVgpuDriverCapability_enum_NVML_VGPU_DRIVER_CAP_WARM_UPDATE:
1455    nvmlVgpuDriverCapability_enum = 1;
1456pub const nvmlVgpuDriverCapability_enum_NVML_VGPU_DRIVER_CAP_COUNT: nvmlVgpuDriverCapability_enum =
1457    2;
1458pub type nvmlVgpuDriverCapability_enum = raw::c_uint;
1459pub use self::nvmlVgpuDriverCapability_enum as nvmlVgpuDriverCapability_t;
1460pub const nvmlDeviceVgpuCapability_enum_NVML_DEVICE_VGPU_CAP_FRACTIONAL_MULTI_VGPU:
1461    nvmlDeviceVgpuCapability_enum = 0;
1462pub const nvmlDeviceVgpuCapability_enum_NVML_DEVICE_VGPU_CAP_HETEROGENEOUS_TIMESLICE_PROFILES:
1463    nvmlDeviceVgpuCapability_enum = 1;
1464pub const nvmlDeviceVgpuCapability_enum_NVML_DEVICE_VGPU_CAP_HETEROGENEOUS_TIMESLICE_SIZES:
1465    nvmlDeviceVgpuCapability_enum = 2;
1466pub const nvmlDeviceVgpuCapability_enum_NVML_DEVICE_VGPU_CAP_READ_DEVICE_BUFFER_BW:
1467    nvmlDeviceVgpuCapability_enum = 3;
1468pub const nvmlDeviceVgpuCapability_enum_NVML_DEVICE_VGPU_CAP_WRITE_DEVICE_BUFFER_BW:
1469    nvmlDeviceVgpuCapability_enum = 4;
1470pub const nvmlDeviceVgpuCapability_enum_NVML_DEVICE_VGPU_CAP_DEVICE_STREAMING:
1471    nvmlDeviceVgpuCapability_enum = 5;
1472pub const nvmlDeviceVgpuCapability_enum_NVML_DEVICE_VGPU_CAP_MINI_QUARTER_GPU:
1473    nvmlDeviceVgpuCapability_enum = 6;
1474pub const nvmlDeviceVgpuCapability_enum_NVML_DEVICE_VGPU_CAP_COMPUTE_MEDIA_ENGINE_GPU:
1475    nvmlDeviceVgpuCapability_enum = 7;
1476pub const nvmlDeviceVgpuCapability_enum_NVML_DEVICE_VGPU_CAP_WARM_UPDATE:
1477    nvmlDeviceVgpuCapability_enum = 8;
1478pub const nvmlDeviceVgpuCapability_enum_NVML_DEVICE_VGPU_CAP_HOMOGENEOUS_PLACEMENTS:
1479    nvmlDeviceVgpuCapability_enum = 9;
1480pub const nvmlDeviceVgpuCapability_enum_NVML_DEVICE_VGPU_CAP_MIG_TIMESLICING_SUPPORTED:
1481    nvmlDeviceVgpuCapability_enum = 10;
1482pub const nvmlDeviceVgpuCapability_enum_NVML_DEVICE_VGPU_CAP_MIG_TIMESLICING_ENABLED:
1483    nvmlDeviceVgpuCapability_enum = 11;
1484pub const nvmlDeviceVgpuCapability_enum_NVML_DEVICE_VGPU_CAP_COUNT: nvmlDeviceVgpuCapability_enum =
1485    12;
1486pub type nvmlDeviceVgpuCapability_enum = raw::c_uint;
1487pub use self::nvmlDeviceVgpuCapability_enum as nvmlDeviceVgpuCapability_t;
1488pub type nvmlVgpuTypeId_t = raw::c_uint;
1489pub type nvmlVgpuInstance_t = raw::c_uint;
1490#[repr(C)]
1491#[derive(Debug, Copy, Clone)]
1492pub struct nvmlVgpuHeterogeneousMode_v1_t {
1493    pub version: raw::c_uint,
1494    pub mode: raw::c_uint,
1495}
1496pub type nvmlVgpuHeterogeneousMode_t = nvmlVgpuHeterogeneousMode_v1_t;
1497#[repr(C)]
1498#[derive(Debug, Copy, Clone)]
1499pub struct nvmlVgpuPlacementId_v1_t {
1500    pub version: raw::c_uint,
1501    pub placementId: raw::c_uint,
1502}
1503pub type nvmlVgpuPlacementId_t = nvmlVgpuPlacementId_v1_t;
1504#[repr(C)]
1505#[derive(Debug, Copy, Clone)]
1506pub struct nvmlVgpuPlacementList_v1_t {
1507    pub version: raw::c_uint,
1508    pub placementSize: raw::c_uint,
1509    pub count: raw::c_uint,
1510    pub placementIds: *mut raw::c_uint,
1511}
1512#[repr(C)]
1513#[derive(Debug, Copy, Clone)]
1514pub struct nvmlVgpuPlacementList_v2_t {
1515    pub version: raw::c_uint,
1516    pub placementSize: raw::c_uint,
1517    pub count: raw::c_uint,
1518    pub placementIds: *mut raw::c_uint,
1519    pub mode: raw::c_uint,
1520}
1521pub type nvmlVgpuPlacementList_t = nvmlVgpuPlacementList_v2_t;
1522#[repr(C)]
1523#[derive(Debug, Copy, Clone)]
1524pub struct nvmlVgpuTypeBar1Info_v1_t {
1525    pub version: raw::c_uint,
1526    pub bar1Size: raw::c_ulonglong,
1527}
1528pub type nvmlVgpuTypeBar1Info_t = nvmlVgpuTypeBar1Info_v1_t;
1529#[repr(C)]
1530#[derive(Copy, Clone)]
1531pub struct nvmlVgpuInstanceUtilizationSample_st {
1532    pub vgpuInstance: nvmlVgpuInstance_t,
1533    pub timeStamp: raw::c_ulonglong,
1534    pub smUtil: nvmlValue_t,
1535    pub memUtil: nvmlValue_t,
1536    pub encUtil: nvmlValue_t,
1537    pub decUtil: nvmlValue_t,
1538}
1539pub type nvmlVgpuInstanceUtilizationSample_t = nvmlVgpuInstanceUtilizationSample_st;
1540#[repr(C)]
1541#[derive(Copy, Clone)]
1542pub struct nvmlVgpuInstanceUtilizationInfo_v1_t {
1543    pub timeStamp: raw::c_ulonglong,
1544    pub vgpuInstance: nvmlVgpuInstance_t,
1545    pub smUtil: nvmlValue_t,
1546    pub memUtil: nvmlValue_t,
1547    pub encUtil: nvmlValue_t,
1548    pub decUtil: nvmlValue_t,
1549    pub jpgUtil: nvmlValue_t,
1550    pub ofaUtil: nvmlValue_t,
1551}
1552#[repr(C)]
1553#[derive(Debug, Copy, Clone)]
1554pub struct nvmlVgpuInstancesUtilizationInfo_v1_t {
1555    pub version: raw::c_uint,
1556    pub sampleValType: nvmlValueType_t,
1557    pub vgpuInstanceCount: raw::c_uint,
1558    pub lastSeenTimeStamp: raw::c_ulonglong,
1559    pub vgpuUtilArray: *mut nvmlVgpuInstanceUtilizationInfo_v1_t,
1560}
1561pub type nvmlVgpuInstancesUtilizationInfo_t = nvmlVgpuInstancesUtilizationInfo_v1_t;
1562#[repr(C)]
1563#[derive(Debug, Copy, Clone)]
1564pub struct nvmlVgpuProcessUtilizationSample_st {
1565    pub vgpuInstance: nvmlVgpuInstance_t,
1566    pub pid: raw::c_uint,
1567    pub processName: [raw::c_char; 64usize],
1568    pub timeStamp: raw::c_ulonglong,
1569    pub smUtil: raw::c_uint,
1570    pub memUtil: raw::c_uint,
1571    pub encUtil: raw::c_uint,
1572    pub decUtil: raw::c_uint,
1573}
1574pub type nvmlVgpuProcessUtilizationSample_t = nvmlVgpuProcessUtilizationSample_st;
1575#[repr(C)]
1576#[derive(Debug, Copy, Clone)]
1577pub struct nvmlVgpuProcessUtilizationInfo_v1_t {
1578    pub processName: [raw::c_char; 64usize],
1579    pub timeStamp: raw::c_ulonglong,
1580    pub vgpuInstance: nvmlVgpuInstance_t,
1581    pub pid: raw::c_uint,
1582    pub smUtil: raw::c_uint,
1583    pub memUtil: raw::c_uint,
1584    pub encUtil: raw::c_uint,
1585    pub decUtil: raw::c_uint,
1586    pub jpgUtil: raw::c_uint,
1587    pub ofaUtil: raw::c_uint,
1588}
1589#[repr(C)]
1590#[derive(Debug, Copy, Clone)]
1591pub struct nvmlVgpuProcessesUtilizationInfo_v1_t {
1592    pub version: raw::c_uint,
1593    pub vgpuProcessCount: raw::c_uint,
1594    pub lastSeenTimeStamp: raw::c_ulonglong,
1595    pub vgpuProcUtilArray: *mut nvmlVgpuProcessUtilizationInfo_v1_t,
1596}
1597pub type nvmlVgpuProcessesUtilizationInfo_t = nvmlVgpuProcessesUtilizationInfo_v1_t;
1598#[repr(C)]
1599#[derive(Debug, Copy, Clone)]
1600pub struct nvmlVgpuRuntimeState_v1_t {
1601    pub version: raw::c_uint,
1602    pub size: raw::c_ulonglong,
1603}
1604pub type nvmlVgpuRuntimeState_t = nvmlVgpuRuntimeState_v1_t;
1605#[repr(C)]
1606#[derive(Copy, Clone)]
1607pub union nvmlVgpuSchedulerParams_t {
1608    pub vgpuSchedDataWithARR: nvmlVgpuSchedulerParams_t__bindgen_ty_1,
1609    pub vgpuSchedData: nvmlVgpuSchedulerParams_t__bindgen_ty_2,
1610}
1611#[repr(C)]
1612#[derive(Debug, Copy, Clone)]
1613pub struct nvmlVgpuSchedulerParams_t__bindgen_ty_1 {
1614    pub avgFactor: raw::c_uint,
1615    pub timeslice: raw::c_uint,
1616}
1617#[repr(C)]
1618#[derive(Debug, Copy, Clone)]
1619pub struct nvmlVgpuSchedulerParams_t__bindgen_ty_2 {
1620    pub timeslice: raw::c_uint,
1621}
1622#[repr(C)]
1623#[derive(Debug, Copy, Clone)]
1624pub struct nvmlVgpuSchedulerLogEntries_st {
1625    pub timestamp: raw::c_ulonglong,
1626    pub timeRunTotal: raw::c_ulonglong,
1627    pub timeRun: raw::c_ulonglong,
1628    pub swRunlistId: raw::c_uint,
1629    pub targetTimeSlice: raw::c_ulonglong,
1630    pub cumulativePreemptionTime: raw::c_ulonglong,
1631}
1632pub type nvmlVgpuSchedulerLogEntry_t = nvmlVgpuSchedulerLogEntries_st;
1633#[repr(C)]
1634#[derive(Copy, Clone)]
1635pub struct nvmlVgpuSchedulerLog_st {
1636    pub engineId: raw::c_uint,
1637    pub schedulerPolicy: raw::c_uint,
1638    pub arrMode: raw::c_uint,
1639    pub schedulerParams: nvmlVgpuSchedulerParams_t,
1640    pub entriesCount: raw::c_uint,
1641    pub logEntries: [nvmlVgpuSchedulerLogEntry_t; 200usize],
1642}
1643pub type nvmlVgpuSchedulerLog_t = nvmlVgpuSchedulerLog_st;
1644#[repr(C)]
1645#[derive(Copy, Clone)]
1646pub struct nvmlVgpuSchedulerGetState_st {
1647    pub schedulerPolicy: raw::c_uint,
1648    pub arrMode: raw::c_uint,
1649    pub schedulerParams: nvmlVgpuSchedulerParams_t,
1650}
1651pub type nvmlVgpuSchedulerGetState_t = nvmlVgpuSchedulerGetState_st;
1652#[repr(C)]
1653#[derive(Copy, Clone)]
1654pub union nvmlVgpuSchedulerSetParams_t {
1655    pub vgpuSchedDataWithARR: nvmlVgpuSchedulerSetParams_t__bindgen_ty_1,
1656    pub vgpuSchedData: nvmlVgpuSchedulerSetParams_t__bindgen_ty_2,
1657}
1658#[repr(C)]
1659#[derive(Debug, Copy, Clone)]
1660pub struct nvmlVgpuSchedulerSetParams_t__bindgen_ty_1 {
1661    pub avgFactor: raw::c_uint,
1662    pub frequency: raw::c_uint,
1663}
1664#[repr(C)]
1665#[derive(Debug, Copy, Clone)]
1666pub struct nvmlVgpuSchedulerSetParams_t__bindgen_ty_2 {
1667    pub timeslice: raw::c_uint,
1668}
1669#[repr(C)]
1670#[derive(Copy, Clone)]
1671pub struct nvmlVgpuSchedulerSetState_st {
1672    pub schedulerPolicy: raw::c_uint,
1673    pub enableARRMode: raw::c_uint,
1674    pub schedulerParams: nvmlVgpuSchedulerSetParams_t,
1675}
1676pub type nvmlVgpuSchedulerSetState_t = nvmlVgpuSchedulerSetState_st;
1677#[repr(C)]
1678#[derive(Debug, Copy, Clone)]
1679pub struct nvmlVgpuSchedulerCapabilities_st {
1680    pub supportedSchedulers: [raw::c_uint; 3usize],
1681    pub maxTimeslice: raw::c_uint,
1682    pub minTimeslice: raw::c_uint,
1683    pub isArrModeSupported: raw::c_uint,
1684    pub maxFrequencyForARR: raw::c_uint,
1685    pub minFrequencyForARR: raw::c_uint,
1686    pub maxAvgFactorForARR: raw::c_uint,
1687    pub minAvgFactorForARR: raw::c_uint,
1688}
1689pub type nvmlVgpuSchedulerCapabilities_t = nvmlVgpuSchedulerCapabilities_st;
1690#[repr(C)]
1691#[derive(Debug, Copy, Clone)]
1692pub struct nvmlVgpuLicenseExpiry_st {
1693    pub year: raw::c_uint,
1694    pub month: raw::c_ushort,
1695    pub day: raw::c_ushort,
1696    pub hour: raw::c_ushort,
1697    pub min: raw::c_ushort,
1698    pub sec: raw::c_ushort,
1699    pub status: raw::c_uchar,
1700}
1701pub type nvmlVgpuLicenseExpiry_t = nvmlVgpuLicenseExpiry_st;
1702#[repr(C)]
1703#[derive(Debug, Copy, Clone)]
1704pub struct nvmlVgpuLicenseInfo_st {
1705    pub isLicensed: raw::c_uchar,
1706    pub licenseExpiry: nvmlVgpuLicenseExpiry_t,
1707    pub currentState: raw::c_uint,
1708}
1709pub type nvmlVgpuLicenseInfo_t = nvmlVgpuLicenseInfo_st;
1710#[repr(C)]
1711#[derive(Debug, Copy, Clone)]
1712pub struct nvmlGridLicenseExpiry_st {
1713    pub year: raw::c_uint,
1714    pub month: raw::c_ushort,
1715    pub day: raw::c_ushort,
1716    pub hour: raw::c_ushort,
1717    pub min: raw::c_ushort,
1718    pub sec: raw::c_ushort,
1719    pub status: raw::c_uchar,
1720}
1721pub type nvmlGridLicenseExpiry_t = nvmlGridLicenseExpiry_st;
1722#[repr(C)]
1723#[derive(Debug, Copy, Clone)]
1724pub struct nvmlGridLicensableFeature_st {
1725    pub featureCode: nvmlGridLicenseFeatureCode_t,
1726    pub featureState: raw::c_uint,
1727    pub licenseInfo: [raw::c_char; 128usize],
1728    pub productName: [raw::c_char; 128usize],
1729    pub featureEnabled: raw::c_uint,
1730    pub licenseExpiry: nvmlGridLicenseExpiry_t,
1731}
1732pub type nvmlGridLicensableFeature_t = nvmlGridLicensableFeature_st;
1733#[repr(C)]
1734#[derive(Debug, Copy, Clone)]
1735pub struct nvmlGridLicensableFeatures_st {
1736    pub isGridLicenseSupported: raw::c_int,
1737    pub licensableFeaturesCount: raw::c_uint,
1738    pub gridLicensableFeatures: [nvmlGridLicensableFeature_t; 3usize],
1739}
1740pub type nvmlGridLicensableFeatures_t = nvmlGridLicensableFeatures_st;
1741pub const nvmlDeviceGpuRecoveryAction_s_NVML_GPU_RECOVERY_ACTION_NONE:
1742    nvmlDeviceGpuRecoveryAction_s = 0;
1743pub const nvmlDeviceGpuRecoveryAction_s_NVML_GPU_RECOVERY_ACTION_GPU_RESET:
1744    nvmlDeviceGpuRecoveryAction_s = 1;
1745pub const nvmlDeviceGpuRecoveryAction_s_NVML_GPU_RECOVERY_ACTION_NODE_REBOOT:
1746    nvmlDeviceGpuRecoveryAction_s = 2;
1747pub const nvmlDeviceGpuRecoveryAction_s_NVML_GPU_RECOVERY_ACTION_DRAIN_P2P:
1748    nvmlDeviceGpuRecoveryAction_s = 3;
1749pub const nvmlDeviceGpuRecoveryAction_s_NVML_GPU_RECOVERY_ACTION_DRAIN_AND_RESET:
1750    nvmlDeviceGpuRecoveryAction_s = 4;
1751pub type nvmlDeviceGpuRecoveryAction_s = raw::c_uint;
1752pub use self::nvmlDeviceGpuRecoveryAction_s as nvmlDeviceGpuRecoveryAction_t;
1753#[repr(C)]
1754#[derive(Debug, Copy, Clone)]
1755pub struct nvmlVgpuTypeIdInfo_v1_t {
1756    pub version: raw::c_uint,
1757    pub vgpuCount: raw::c_uint,
1758    pub vgpuTypeIds: *mut nvmlVgpuTypeId_t,
1759}
1760pub type nvmlVgpuTypeIdInfo_t = nvmlVgpuTypeIdInfo_v1_t;
1761#[repr(C)]
1762#[derive(Debug, Copy, Clone)]
1763pub struct nvmlVgpuTypeMaxInstance_v1_t {
1764    pub version: raw::c_uint,
1765    pub vgpuTypeId: nvmlVgpuTypeId_t,
1766    pub maxInstancePerGI: raw::c_uint,
1767}
1768pub type nvmlVgpuTypeMaxInstance_t = nvmlVgpuTypeMaxInstance_v1_t;
1769#[repr(C)]
1770#[derive(Debug, Copy, Clone)]
1771pub struct nvmlActiveVgpuInstanceInfo_v1_t {
1772    pub version: raw::c_uint,
1773    pub vgpuCount: raw::c_uint,
1774    pub vgpuInstances: *mut nvmlVgpuInstance_t,
1775}
1776pub type nvmlActiveVgpuInstanceInfo_t = nvmlActiveVgpuInstanceInfo_v1_t;
1777#[repr(C)]
1778#[derive(Copy, Clone)]
1779pub struct nvmlVgpuSchedulerState_v1_t {
1780    pub version: raw::c_uint,
1781    pub engineId: raw::c_uint,
1782    pub schedulerPolicy: raw::c_uint,
1783    pub enableARRMode: raw::c_uint,
1784    pub schedulerParams: nvmlVgpuSchedulerSetParams_t,
1785}
1786pub type nvmlVgpuSchedulerState_t = nvmlVgpuSchedulerState_v1_t;
1787#[repr(C)]
1788#[derive(Copy, Clone)]
1789pub struct nvmlVgpuSchedulerStateInfo_v1_t {
1790    pub version: raw::c_uint,
1791    pub engineId: raw::c_uint,
1792    pub schedulerPolicy: raw::c_uint,
1793    pub arrMode: raw::c_uint,
1794    pub schedulerParams: nvmlVgpuSchedulerParams_t,
1795}
1796pub type nvmlVgpuSchedulerStateInfo_t = nvmlVgpuSchedulerStateInfo_v1_t;
1797#[repr(C)]
1798#[derive(Copy, Clone)]
1799pub struct nvmlVgpuSchedulerLogInfo_v1_t {
1800    pub version: raw::c_uint,
1801    pub engineId: raw::c_uint,
1802    pub schedulerPolicy: raw::c_uint,
1803    pub arrMode: raw::c_uint,
1804    pub schedulerParams: nvmlVgpuSchedulerParams_t,
1805    pub entriesCount: raw::c_uint,
1806    pub logEntries: [nvmlVgpuSchedulerLogEntry_t; 200usize],
1807}
1808pub type nvmlVgpuSchedulerLogInfo_t = nvmlVgpuSchedulerLogInfo_v1_t;
1809#[repr(C)]
1810#[derive(Debug, Copy, Clone)]
1811pub struct nvmlVgpuCreatablePlacementInfo_v1_t {
1812    pub version: raw::c_uint,
1813    pub vgpuTypeId: nvmlVgpuTypeId_t,
1814    pub count: raw::c_uint,
1815    pub placementIds: *mut raw::c_uint,
1816    pub placementSize: raw::c_uint,
1817}
1818pub type nvmlVgpuCreatablePlacementInfo_t = nvmlVgpuCreatablePlacementInfo_v1_t;
1819#[repr(C)]
1820#[derive(Debug, Copy, Clone)]
1821pub struct nvmlNvLinkPowerThres_st {
1822    pub lowPwrThreshold: raw::c_uint,
1823}
1824pub type nvmlNvLinkPowerThres_t = nvmlNvLinkPowerThres_st;
1825#[repr(C)]
1826#[derive(Copy, Clone)]
1827pub struct nvmlFieldValue_st {
1828    pub fieldId: raw::c_uint,
1829    pub scopeId: raw::c_uint,
1830    pub timestamp: raw::c_longlong,
1831    pub latencyUsec: raw::c_longlong,
1832    pub valueType: nvmlValueType_t,
1833    pub nvmlReturn: nvmlReturn_t,
1834    pub value: nvmlValue_t,
1835}
1836pub type nvmlFieldValue_t = nvmlFieldValue_st;
1837#[repr(C)]
1838#[derive(Debug, Copy, Clone)]
1839pub struct nvmlUnit_st {
1840    _unused: [u8; 0],
1841}
1842pub type nvmlUnit_t = *mut nvmlUnit_st;
1843#[repr(C)]
1844#[derive(Debug, Copy, Clone)]
1845pub struct nvmlHwbcEntry_st {
1846    pub hwbcId: raw::c_uint,
1847    pub firmwareVersion: [raw::c_char; 32usize],
1848}
1849pub type nvmlHwbcEntry_t = nvmlHwbcEntry_st;
1850pub const nvmlFanState_enum_NVML_FAN_NORMAL: nvmlFanState_enum = 0;
1851pub const nvmlFanState_enum_NVML_FAN_FAILED: nvmlFanState_enum = 1;
1852pub type nvmlFanState_enum = raw::c_uint;
1853pub use self::nvmlFanState_enum as nvmlFanState_t;
1854pub const nvmlLedColor_enum_NVML_LED_COLOR_GREEN: nvmlLedColor_enum = 0;
1855pub const nvmlLedColor_enum_NVML_LED_COLOR_AMBER: nvmlLedColor_enum = 1;
1856pub type nvmlLedColor_enum = raw::c_uint;
1857pub use self::nvmlLedColor_enum as nvmlLedColor_t;
1858#[repr(C)]
1859#[derive(Debug, Copy, Clone)]
1860pub struct nvmlLedState_st {
1861    pub cause: [raw::c_char; 256usize],
1862    pub color: nvmlLedColor_t,
1863}
1864pub type nvmlLedState_t = nvmlLedState_st;
1865#[repr(C)]
1866#[derive(Debug, Copy, Clone)]
1867pub struct nvmlUnitInfo_st {
1868    pub name: [raw::c_char; 96usize],
1869    pub id: [raw::c_char; 96usize],
1870    pub serial: [raw::c_char; 96usize],
1871    pub firmwareVersion: [raw::c_char; 96usize],
1872}
1873pub type nvmlUnitInfo_t = nvmlUnitInfo_st;
1874#[repr(C)]
1875#[derive(Debug, Copy, Clone)]
1876pub struct nvmlPSUInfo_st {
1877    pub state: [raw::c_char; 256usize],
1878    pub current: raw::c_uint,
1879    pub voltage: raw::c_uint,
1880    pub power: raw::c_uint,
1881}
1882pub type nvmlPSUInfo_t = nvmlPSUInfo_st;
1883#[repr(C)]
1884#[derive(Debug, Copy, Clone)]
1885pub struct nvmlUnitFanInfo_st {
1886    pub speed: raw::c_uint,
1887    pub state: nvmlFanState_t,
1888}
1889pub type nvmlUnitFanInfo_t = nvmlUnitFanInfo_st;
1890#[repr(C)]
1891#[derive(Debug, Copy, Clone)]
1892pub struct nvmlUnitFanSpeeds_st {
1893    pub fans: [nvmlUnitFanInfo_t; 24usize],
1894    pub count: raw::c_uint,
1895}
1896pub type nvmlUnitFanSpeeds_t = nvmlUnitFanSpeeds_st;
1897#[repr(C)]
1898#[derive(Debug, Copy, Clone)]
1899pub struct nvmlEventSet_st {
1900    _unused: [u8; 0],
1901}
1902pub type nvmlEventSet_t = *mut nvmlEventSet_st;
1903#[repr(C)]
1904#[derive(Debug, Copy, Clone)]
1905pub struct nvmlEventData_st {
1906    pub device: nvmlDevice_t,
1907    pub eventType: raw::c_ulonglong,
1908    pub eventData: raw::c_ulonglong,
1909    pub gpuInstanceId: raw::c_uint,
1910    pub computeInstanceId: raw::c_uint,
1911}
1912pub type nvmlEventData_t = nvmlEventData_st;
1913#[repr(C)]
1914#[derive(Debug, Copy, Clone)]
1915pub struct nvmlSystemEventSet_st {
1916    _unused: [u8; 0],
1917}
1918pub type nvmlSystemEventSet_t = *mut nvmlSystemEventSet_st;
1919#[repr(C)]
1920#[derive(Debug, Copy, Clone)]
1921pub struct nvmlSystemEventSetCreateRequest_v1_t {
1922    pub version: raw::c_uint,
1923    pub set: nvmlSystemEventSet_t,
1924}
1925pub type nvmlSystemEventSetCreateRequest_t = nvmlSystemEventSetCreateRequest_v1_t;
1926#[repr(C)]
1927#[derive(Debug, Copy, Clone)]
1928pub struct nvmlSystemEventSetFreeRequest_v1_t {
1929    pub version: raw::c_uint,
1930    pub set: nvmlSystemEventSet_t,
1931}
1932pub type nvmlSystemEventSetFreeRequest_t = nvmlSystemEventSetFreeRequest_v1_t;
1933#[repr(C)]
1934#[derive(Debug, Copy, Clone)]
1935pub struct nvmlSystemRegisterEventRequest_v1_t {
1936    pub version: raw::c_uint,
1937    pub eventTypes: raw::c_ulonglong,
1938    pub set: nvmlSystemEventSet_t,
1939}
1940pub type nvmlSystemRegisterEventRequest_t = nvmlSystemRegisterEventRequest_v1_t;
1941#[repr(C)]
1942#[derive(Debug, Copy, Clone)]
1943pub struct nvmlSystemEventData_v1_t {
1944    pub eventType: raw::c_ulonglong,
1945    pub gpuId: raw::c_uint,
1946}
1947#[repr(C)]
1948#[derive(Debug, Copy, Clone)]
1949pub struct nvmlSystemEventSetWaitRequest_v1_t {
1950    pub version: raw::c_uint,
1951    pub timeoutms: raw::c_uint,
1952    pub set: nvmlSystemEventSet_t,
1953    pub data: *mut nvmlSystemEventData_v1_t,
1954    pub dataSize: raw::c_uint,
1955    pub numEvent: raw::c_uint,
1956}
1957pub type nvmlSystemEventSetWaitRequest_t = nvmlSystemEventSetWaitRequest_v1_t;
1958#[repr(C)]
1959#[derive(Debug, Copy, Clone)]
1960pub struct nvmlAccountingStats_st {
1961    pub gpuUtilization: raw::c_uint,
1962    pub memoryUtilization: raw::c_uint,
1963    pub maxMemoryUsage: raw::c_ulonglong,
1964    pub time: raw::c_ulonglong,
1965    pub startTime: raw::c_ulonglong,
1966    pub isRunning: raw::c_uint,
1967    pub reserved: [raw::c_uint; 5usize],
1968}
1969pub type nvmlAccountingStats_t = nvmlAccountingStats_st;
1970pub const nvmlEncoderQueryType_enum_NVML_ENCODER_QUERY_H264: nvmlEncoderQueryType_enum = 0;
1971pub const nvmlEncoderQueryType_enum_NVML_ENCODER_QUERY_HEVC: nvmlEncoderQueryType_enum = 1;
1972pub const nvmlEncoderQueryType_enum_NVML_ENCODER_QUERY_AV1: nvmlEncoderQueryType_enum = 2;
1973pub const nvmlEncoderQueryType_enum_NVML_ENCODER_QUERY_UNKNOWN: nvmlEncoderQueryType_enum = 255;
1974pub type nvmlEncoderQueryType_enum = raw::c_uint;
1975pub use self::nvmlEncoderQueryType_enum as nvmlEncoderType_t;
1976#[repr(C)]
1977#[derive(Debug, Copy, Clone)]
1978pub struct nvmlEncoderSessionInfo_st {
1979    pub sessionId: raw::c_uint,
1980    pub pid: raw::c_uint,
1981    pub vgpuInstance: nvmlVgpuInstance_t,
1982    pub codecType: nvmlEncoderType_t,
1983    pub hResolution: raw::c_uint,
1984    pub vResolution: raw::c_uint,
1985    pub averageFps: raw::c_uint,
1986    pub averageLatency: raw::c_uint,
1987}
1988pub type nvmlEncoderSessionInfo_t = nvmlEncoderSessionInfo_st;
1989pub const nvmlFBCSessionType_enum_NVML_FBC_SESSION_TYPE_UNKNOWN: nvmlFBCSessionType_enum = 0;
1990pub const nvmlFBCSessionType_enum_NVML_FBC_SESSION_TYPE_TOSYS: nvmlFBCSessionType_enum = 1;
1991pub const nvmlFBCSessionType_enum_NVML_FBC_SESSION_TYPE_CUDA: nvmlFBCSessionType_enum = 2;
1992pub const nvmlFBCSessionType_enum_NVML_FBC_SESSION_TYPE_VID: nvmlFBCSessionType_enum = 3;
1993pub const nvmlFBCSessionType_enum_NVML_FBC_SESSION_TYPE_HWENC: nvmlFBCSessionType_enum = 4;
1994pub type nvmlFBCSessionType_enum = raw::c_uint;
1995pub use self::nvmlFBCSessionType_enum as nvmlFBCSessionType_t;
1996#[repr(C)]
1997#[derive(Debug, Copy, Clone)]
1998pub struct nvmlFBCStats_st {
1999    pub sessionsCount: raw::c_uint,
2000    pub averageFPS: raw::c_uint,
2001    pub averageLatency: raw::c_uint,
2002}
2003pub type nvmlFBCStats_t = nvmlFBCStats_st;
2004#[repr(C)]
2005#[derive(Debug, Copy, Clone)]
2006pub struct nvmlFBCSessionInfo_st {
2007    pub sessionId: raw::c_uint,
2008    pub pid: raw::c_uint,
2009    pub vgpuInstance: nvmlVgpuInstance_t,
2010    pub displayOrdinal: raw::c_uint,
2011    pub sessionType: nvmlFBCSessionType_t,
2012    pub sessionFlags: raw::c_uint,
2013    pub hMaxResolution: raw::c_uint,
2014    pub vMaxResolution: raw::c_uint,
2015    pub hResolution: raw::c_uint,
2016    pub vResolution: raw::c_uint,
2017    pub averageFPS: raw::c_uint,
2018    pub averageLatency: raw::c_uint,
2019}
2020pub type nvmlFBCSessionInfo_t = nvmlFBCSessionInfo_st;
2021pub const nvmlDetachGpuState_enum_NVML_DETACH_GPU_KEEP: nvmlDetachGpuState_enum = 0;
2022pub const nvmlDetachGpuState_enum_NVML_DETACH_GPU_REMOVE: nvmlDetachGpuState_enum = 1;
2023pub type nvmlDetachGpuState_enum = raw::c_uint;
2024pub use self::nvmlDetachGpuState_enum as nvmlDetachGpuState_t;
2025pub const nvmlPcieLinkState_enum_NVML_PCIE_LINK_KEEP: nvmlPcieLinkState_enum = 0;
2026pub const nvmlPcieLinkState_enum_NVML_PCIE_LINK_SHUT_DOWN: nvmlPcieLinkState_enum = 1;
2027pub type nvmlPcieLinkState_enum = raw::c_uint;
2028pub use self::nvmlPcieLinkState_enum as nvmlPcieLinkState_t;
2029#[repr(C)]
2030#[derive(Debug, Copy, Clone)]
2031pub struct nvmlConfComputeSystemCaps_st {
2032    pub cpuCaps: raw::c_uint,
2033    pub gpusCaps: raw::c_uint,
2034}
2035pub type nvmlConfComputeSystemCaps_t = nvmlConfComputeSystemCaps_st;
2036#[repr(C)]
2037#[derive(Debug, Copy, Clone)]
2038pub struct nvmlConfComputeSystemState_st {
2039    pub environment: raw::c_uint,
2040    pub ccFeature: raw::c_uint,
2041    pub devToolsMode: raw::c_uint,
2042}
2043pub type nvmlConfComputeSystemState_t = nvmlConfComputeSystemState_st;
2044#[repr(C)]
2045#[derive(Debug, Copy, Clone)]
2046pub struct nvmlSystemConfComputeSettings_v1_t {
2047    pub version: raw::c_uint,
2048    pub environment: raw::c_uint,
2049    pub ccFeature: raw::c_uint,
2050    pub devToolsMode: raw::c_uint,
2051    pub multiGpuMode: raw::c_uint,
2052}
2053pub type nvmlSystemConfComputeSettings_t = nvmlSystemConfComputeSettings_v1_t;
2054#[repr(C)]
2055#[derive(Debug, Copy, Clone)]
2056pub struct nvmlConfComputeMemSizeInfo_st {
2057    pub protectedMemSizeKib: raw::c_ulonglong,
2058    pub unprotectedMemSizeKib: raw::c_ulonglong,
2059}
2060pub type nvmlConfComputeMemSizeInfo_t = nvmlConfComputeMemSizeInfo_st;
2061#[repr(C)]
2062#[derive(Debug, Copy, Clone)]
2063pub struct nvmlConfComputeGpuCertificate_st {
2064    pub certChainSize: raw::c_uint,
2065    pub attestationCertChainSize: raw::c_uint,
2066    pub certChain: [raw::c_uchar; 4096usize],
2067    pub attestationCertChain: [raw::c_uchar; 5120usize],
2068}
2069pub type nvmlConfComputeGpuCertificate_t = nvmlConfComputeGpuCertificate_st;
2070#[repr(C)]
2071#[derive(Debug, Copy, Clone)]
2072pub struct nvmlConfComputeGpuAttestationReport_st {
2073    pub isCecAttestationReportPresent: raw::c_uint,
2074    pub attestationReportSize: raw::c_uint,
2075    pub cecAttestationReportSize: raw::c_uint,
2076    pub nonce: [raw::c_uchar; 32usize],
2077    pub attestationReport: [raw::c_uchar; 8192usize],
2078    pub cecAttestationReport: [raw::c_uchar; 4096usize],
2079}
2080pub type nvmlConfComputeGpuAttestationReport_t = nvmlConfComputeGpuAttestationReport_st;
2081#[repr(C)]
2082#[derive(Debug, Copy, Clone)]
2083pub struct nvmlConfComputeSetKeyRotationThresholdInfo_st {
2084    pub version: raw::c_uint,
2085    pub maxAttackerAdvantage: raw::c_ulonglong,
2086}
2087pub type nvmlConfComputeSetKeyRotationThresholdInfo_v1_t =
2088    nvmlConfComputeSetKeyRotationThresholdInfo_st;
2089pub type nvmlConfComputeSetKeyRotationThresholdInfo_t =
2090    nvmlConfComputeSetKeyRotationThresholdInfo_v1_t;
2091#[repr(C)]
2092#[derive(Debug, Copy, Clone)]
2093pub struct nvmlConfComputeGetKeyRotationThresholdInfo_st {
2094    pub version: raw::c_uint,
2095    pub attackerAdvantage: raw::c_ulonglong,
2096}
2097pub type nvmlConfComputeGetKeyRotationThresholdInfo_v1_t =
2098    nvmlConfComputeGetKeyRotationThresholdInfo_st;
2099pub type nvmlConfComputeGetKeyRotationThresholdInfo_t =
2100    nvmlConfComputeGetKeyRotationThresholdInfo_v1_t;
2101pub type nvmlGpuFabricState_t = raw::c_uchar;
2102#[repr(C)]
2103#[derive(Debug, Copy, Clone)]
2104pub struct nvmlGpuFabricInfo_t {
2105    pub clusterUuid: [raw::c_uchar; 16usize],
2106    pub status: nvmlReturn_t,
2107    pub cliqueId: raw::c_uint,
2108    pub state: nvmlGpuFabricState_t,
2109}
2110#[repr(C)]
2111#[derive(Debug, Copy, Clone)]
2112pub struct nvmlGpuFabricInfo_v2_t {
2113    pub version: raw::c_uint,
2114    pub clusterUuid: [raw::c_uchar; 16usize],
2115    pub status: nvmlReturn_t,
2116    pub cliqueId: raw::c_uint,
2117    pub state: nvmlGpuFabricState_t,
2118    pub healthMask: raw::c_uint,
2119}
2120#[repr(C)]
2121#[derive(Debug, Copy, Clone)]
2122pub struct nvmlGpuFabricInfo_v3_t {
2123    pub version: raw::c_uint,
2124    pub clusterUuid: [raw::c_uchar; 16usize],
2125    pub status: nvmlReturn_t,
2126    pub cliqueId: raw::c_uint,
2127    pub state: nvmlGpuFabricState_t,
2128    pub healthMask: raw::c_uint,
2129    pub healthSummary: raw::c_uchar,
2130}
2131pub type nvmlGpuFabricInfoV_t = nvmlGpuFabricInfo_v3_t;
2132#[repr(C)]
2133#[derive(Debug, Copy, Clone)]
2134pub struct nvmlSystemDriverBranchInfo_v1_t {
2135    pub version: raw::c_uint,
2136    pub branch: [raw::c_char; 80usize],
2137}
2138pub type nvmlSystemDriverBranchInfo_t = nvmlSystemDriverBranchInfo_v1_t;
2139pub type nvmlAffinityScope_t = raw::c_uint;
2140#[repr(C)]
2141#[derive(Debug, Copy, Clone)]
2142pub struct nvmlTemperature_v1_t {
2143    pub version: raw::c_uint,
2144    pub sensorType: nvmlTemperatureSensors_t,
2145    pub temperature: raw::c_int,
2146}
2147pub type nvmlTemperature_t = nvmlTemperature_v1_t;
2148pub const nvmlClockLimitId_enum_NVML_CLOCK_LIMIT_ID_RANGE_START: nvmlClockLimitId_enum = 4294967040;
2149pub const nvmlClockLimitId_enum_NVML_CLOCK_LIMIT_ID_TDP: nvmlClockLimitId_enum = 4294967041;
2150pub const nvmlClockLimitId_enum_NVML_CLOCK_LIMIT_ID_UNLIMITED: nvmlClockLimitId_enum = 4294967042;
2151pub type nvmlClockLimitId_enum = raw::c_uint;
2152pub use self::nvmlClockLimitId_enum as nvmlClockLimitId_t;
2153#[repr(C)]
2154#[derive(Debug, Copy, Clone)]
2155pub struct nvmlNvlinkSupportedBwModes_v1_t {
2156    pub version: raw::c_uint,
2157    pub bwModes: [raw::c_uchar; 23usize],
2158    pub totalBwModes: raw::c_uchar,
2159}
2160pub type nvmlNvlinkSupportedBwModes_t = nvmlNvlinkSupportedBwModes_v1_t;
2161#[repr(C)]
2162#[derive(Debug, Copy, Clone)]
2163pub struct nvmlNvlinkGetBwMode_v1_t {
2164    pub version: raw::c_uint,
2165    pub bIsBest: raw::c_uint,
2166    pub bwMode: raw::c_uchar,
2167}
2168pub type nvmlNvlinkGetBwMode_t = nvmlNvlinkGetBwMode_v1_t;
2169#[repr(C)]
2170#[derive(Debug, Copy, Clone)]
2171pub struct nvmlNvlinkSetBwMode_v1_t {
2172    pub version: raw::c_uint,
2173    pub bSetBest: raw::c_uint,
2174    pub bwMode: raw::c_uchar,
2175}
2176pub type nvmlNvlinkSetBwMode_t = nvmlNvlinkSetBwMode_v1_t;
2177#[repr(C)]
2178#[derive(Debug, Copy, Clone)]
2179pub struct nvmlNvLinkInfo_v1_t {
2180    pub version: raw::c_uint,
2181    pub isNvleEnabled: raw::c_uint,
2182}
2183#[repr(C)]
2184#[derive(Debug, Copy, Clone)]
2185pub struct nvmlNvlinkFirmwareVersion_t {
2186    pub ucodeType: raw::c_uchar,
2187    pub major: raw::c_uint,
2188    pub minor: raw::c_uint,
2189    pub subMinor: raw::c_uint,
2190}
2191#[repr(C)]
2192#[derive(Debug, Copy, Clone)]
2193pub struct nvmlNvlinkFirmwareInfo_t {
2194    pub firmwareVersion: [nvmlNvlinkFirmwareVersion_t; 100usize],
2195    pub numValidEntries: raw::c_uint,
2196}
2197#[repr(C)]
2198#[derive(Debug, Copy, Clone)]
2199pub struct nvmlNvLinkInfo_v2_t {
2200    pub version: raw::c_uint,
2201    pub isNvleEnabled: raw::c_uint,
2202    pub firmwareInfo: nvmlNvlinkFirmwareInfo_t,
2203}
2204pub type nvmlNvLinkInfo_t = nvmlNvLinkInfo_v2_t;
2205#[repr(C)]
2206#[derive(Debug, Copy, Clone)]
2207pub struct nvmlVgpuVersion_st {
2208    pub minVersion: raw::c_uint,
2209    pub maxVersion: raw::c_uint,
2210}
2211pub type nvmlVgpuVersion_t = nvmlVgpuVersion_st;
2212#[repr(C)]
2213#[derive(Debug, Copy, Clone)]
2214pub struct nvmlVgpuMetadata_st {
2215    pub version: raw::c_uint,
2216    pub revision: raw::c_uint,
2217    pub guestInfoState: nvmlVgpuGuestInfoState_t,
2218    pub guestDriverVersion: [raw::c_char; 80usize],
2219    pub hostDriverVersion: [raw::c_char; 80usize],
2220    pub reserved: [raw::c_uint; 6usize],
2221    pub vgpuVirtualizationCaps: raw::c_uint,
2222    pub guestVgpuVersion: raw::c_uint,
2223    pub opaqueDataSize: raw::c_uint,
2224    pub opaqueData: [raw::c_char; 4usize],
2225}
2226pub type nvmlVgpuMetadata_t = nvmlVgpuMetadata_st;
2227#[repr(C)]
2228#[derive(Debug, Copy, Clone)]
2229pub struct nvmlVgpuPgpuMetadata_st {
2230    pub version: raw::c_uint,
2231    pub revision: raw::c_uint,
2232    pub hostDriverVersion: [raw::c_char; 80usize],
2233    pub pgpuVirtualizationCaps: raw::c_uint,
2234    pub reserved: [raw::c_uint; 5usize],
2235    pub hostSupportedVgpuRange: nvmlVgpuVersion_t,
2236    pub opaqueDataSize: raw::c_uint,
2237    pub opaqueData: [raw::c_char; 4usize],
2238}
2239pub type nvmlVgpuPgpuMetadata_t = nvmlVgpuPgpuMetadata_st;
2240pub const nvmlVgpuVmCompatibility_enum_NVML_VGPU_VM_COMPATIBILITY_NONE:
2241    nvmlVgpuVmCompatibility_enum = 0;
2242pub const nvmlVgpuVmCompatibility_enum_NVML_VGPU_VM_COMPATIBILITY_COLD:
2243    nvmlVgpuVmCompatibility_enum = 1;
2244pub const nvmlVgpuVmCompatibility_enum_NVML_VGPU_VM_COMPATIBILITY_HIBERNATE:
2245    nvmlVgpuVmCompatibility_enum = 2;
2246pub const nvmlVgpuVmCompatibility_enum_NVML_VGPU_VM_COMPATIBILITY_SLEEP:
2247    nvmlVgpuVmCompatibility_enum = 4;
2248pub const nvmlVgpuVmCompatibility_enum_NVML_VGPU_VM_COMPATIBILITY_LIVE:
2249    nvmlVgpuVmCompatibility_enum = 8;
2250pub type nvmlVgpuVmCompatibility_enum = raw::c_uint;
2251pub use self::nvmlVgpuVmCompatibility_enum as nvmlVgpuVmCompatibility_t;
2252pub const nvmlVgpuPgpuCompatibilityLimitCode_enum_NVML_VGPU_COMPATIBILITY_LIMIT_NONE:
2253    nvmlVgpuPgpuCompatibilityLimitCode_enum = 0;
2254pub const nvmlVgpuPgpuCompatibilityLimitCode_enum_NVML_VGPU_COMPATIBILITY_LIMIT_HOST_DRIVER:
2255    nvmlVgpuPgpuCompatibilityLimitCode_enum = 1;
2256pub const nvmlVgpuPgpuCompatibilityLimitCode_enum_NVML_VGPU_COMPATIBILITY_LIMIT_GUEST_DRIVER:
2257    nvmlVgpuPgpuCompatibilityLimitCode_enum = 2;
2258pub const nvmlVgpuPgpuCompatibilityLimitCode_enum_NVML_VGPU_COMPATIBILITY_LIMIT_GPU:
2259    nvmlVgpuPgpuCompatibilityLimitCode_enum = 4;
2260pub const nvmlVgpuPgpuCompatibilityLimitCode_enum_NVML_VGPU_COMPATIBILITY_LIMIT_OTHER:
2261    nvmlVgpuPgpuCompatibilityLimitCode_enum = 2147483648;
2262pub type nvmlVgpuPgpuCompatibilityLimitCode_enum = raw::c_uint;
2263pub use self::nvmlVgpuPgpuCompatibilityLimitCode_enum as nvmlVgpuPgpuCompatibilityLimitCode_t;
2264#[repr(C)]
2265#[derive(Debug, Copy, Clone)]
2266pub struct nvmlVgpuPgpuCompatibility_st {
2267    pub vgpuVmCompatibility: nvmlVgpuVmCompatibility_t,
2268    pub compatibilityLimitCode: nvmlVgpuPgpuCompatibilityLimitCode_t,
2269}
2270pub type nvmlVgpuPgpuCompatibility_t = nvmlVgpuPgpuCompatibility_st;
2271#[repr(C)]
2272#[derive(Debug, Copy, Clone)]
2273pub struct nvmlExcludedDeviceInfo_st {
2274    pub pciInfo: nvmlPciInfo_t,
2275    pub uuid: [raw::c_char; 80usize],
2276}
2277pub type nvmlExcludedDeviceInfo_t = nvmlExcludedDeviceInfo_st;
2278#[repr(C)]
2279#[derive(Copy, Clone)]
2280pub struct nvmlPRMTLV_v1_t {
2281    pub dataSize: raw::c_uint,
2282    pub status: raw::c_uint,
2283    pub __bindgen_anon_1: nvmlPRMTLV_v1_t__bindgen_ty_1,
2284}
2285#[repr(C)]
2286#[derive(Copy, Clone)]
2287pub union nvmlPRMTLV_v1_t__bindgen_ty_1 {
2288    pub inData: [raw::c_uchar; 496usize],
2289    pub outData: [raw::c_uchar; 496usize],
2290}
2291#[repr(C)]
2292#[derive(Debug, Copy, Clone)]
2293pub struct nvmlGpuInstancePlacement_st {
2294    pub start: raw::c_uint,
2295    pub size: raw::c_uint,
2296}
2297pub type nvmlGpuInstancePlacement_t = nvmlGpuInstancePlacement_st;
2298#[repr(C)]
2299#[derive(Debug, Copy, Clone)]
2300pub struct nvmlGpuInstanceProfileInfo_st {
2301    pub id: raw::c_uint,
2302    pub isP2pSupported: raw::c_uint,
2303    pub sliceCount: raw::c_uint,
2304    pub instanceCount: raw::c_uint,
2305    pub multiprocessorCount: raw::c_uint,
2306    pub copyEngineCount: raw::c_uint,
2307    pub decoderCount: raw::c_uint,
2308    pub encoderCount: raw::c_uint,
2309    pub jpegCount: raw::c_uint,
2310    pub ofaCount: raw::c_uint,
2311    pub memorySizeMB: raw::c_ulonglong,
2312}
2313pub type nvmlGpuInstanceProfileInfo_t = nvmlGpuInstanceProfileInfo_st;
2314#[repr(C)]
2315#[derive(Debug, Copy, Clone)]
2316pub struct nvmlGpuInstanceProfileInfo_v2_st {
2317    pub version: raw::c_uint,
2318    pub id: raw::c_uint,
2319    pub isP2pSupported: raw::c_uint,
2320    pub sliceCount: raw::c_uint,
2321    pub instanceCount: raw::c_uint,
2322    pub multiprocessorCount: raw::c_uint,
2323    pub copyEngineCount: raw::c_uint,
2324    pub decoderCount: raw::c_uint,
2325    pub encoderCount: raw::c_uint,
2326    pub jpegCount: raw::c_uint,
2327    pub ofaCount: raw::c_uint,
2328    pub memorySizeMB: raw::c_ulonglong,
2329    pub name: [raw::c_char; 96usize],
2330}
2331pub type nvmlGpuInstanceProfileInfo_v2_t = nvmlGpuInstanceProfileInfo_v2_st;
2332#[repr(C)]
2333#[derive(Debug, Copy, Clone)]
2334pub struct nvmlGpuInstanceProfileInfo_v3_st {
2335    pub version: raw::c_uint,
2336    pub id: raw::c_uint,
2337    pub sliceCount: raw::c_uint,
2338    pub instanceCount: raw::c_uint,
2339    pub multiprocessorCount: raw::c_uint,
2340    pub copyEngineCount: raw::c_uint,
2341    pub decoderCount: raw::c_uint,
2342    pub encoderCount: raw::c_uint,
2343    pub jpegCount: raw::c_uint,
2344    pub ofaCount: raw::c_uint,
2345    pub memorySizeMB: raw::c_ulonglong,
2346    pub name: [raw::c_char; 96usize],
2347    pub capabilities: raw::c_uint,
2348}
2349pub type nvmlGpuInstanceProfileInfo_v3_t = nvmlGpuInstanceProfileInfo_v3_st;
2350#[repr(C)]
2351#[derive(Debug, Copy, Clone)]
2352pub struct nvmlGpuInstanceInfo_st {
2353    pub device: nvmlDevice_t,
2354    pub id: raw::c_uint,
2355    pub profileId: raw::c_uint,
2356    pub placement: nvmlGpuInstancePlacement_t,
2357}
2358pub type nvmlGpuInstanceInfo_t = nvmlGpuInstanceInfo_st;
2359#[repr(C)]
2360#[derive(Debug, Copy, Clone)]
2361pub struct nvmlComputeInstancePlacement_st {
2362    pub start: raw::c_uint,
2363    pub size: raw::c_uint,
2364}
2365pub type nvmlComputeInstancePlacement_t = nvmlComputeInstancePlacement_st;
2366#[repr(C)]
2367#[derive(Debug, Copy, Clone)]
2368pub struct nvmlComputeInstanceProfileInfo_st {
2369    pub id: raw::c_uint,
2370    pub sliceCount: raw::c_uint,
2371    pub instanceCount: raw::c_uint,
2372    pub multiprocessorCount: raw::c_uint,
2373    pub sharedCopyEngineCount: raw::c_uint,
2374    pub sharedDecoderCount: raw::c_uint,
2375    pub sharedEncoderCount: raw::c_uint,
2376    pub sharedJpegCount: raw::c_uint,
2377    pub sharedOfaCount: raw::c_uint,
2378}
2379pub type nvmlComputeInstanceProfileInfo_t = nvmlComputeInstanceProfileInfo_st;
2380#[repr(C)]
2381#[derive(Debug, Copy, Clone)]
2382pub struct nvmlComputeInstanceProfileInfo_v2_st {
2383    pub version: raw::c_uint,
2384    pub id: raw::c_uint,
2385    pub sliceCount: raw::c_uint,
2386    pub instanceCount: raw::c_uint,
2387    pub multiprocessorCount: raw::c_uint,
2388    pub sharedCopyEngineCount: raw::c_uint,
2389    pub sharedDecoderCount: raw::c_uint,
2390    pub sharedEncoderCount: raw::c_uint,
2391    pub sharedJpegCount: raw::c_uint,
2392    pub sharedOfaCount: raw::c_uint,
2393    pub name: [raw::c_char; 96usize],
2394}
2395pub type nvmlComputeInstanceProfileInfo_v2_t = nvmlComputeInstanceProfileInfo_v2_st;
2396#[repr(C)]
2397#[derive(Debug, Copy, Clone)]
2398pub struct nvmlComputeInstanceProfileInfo_v3_st {
2399    pub version: raw::c_uint,
2400    pub id: raw::c_uint,
2401    pub sliceCount: raw::c_uint,
2402    pub instanceCount: raw::c_uint,
2403    pub multiprocessorCount: raw::c_uint,
2404    pub sharedCopyEngineCount: raw::c_uint,
2405    pub sharedDecoderCount: raw::c_uint,
2406    pub sharedEncoderCount: raw::c_uint,
2407    pub sharedJpegCount: raw::c_uint,
2408    pub sharedOfaCount: raw::c_uint,
2409    pub name: [raw::c_char; 96usize],
2410    pub capabilities: raw::c_uint,
2411}
2412pub type nvmlComputeInstanceProfileInfo_v3_t = nvmlComputeInstanceProfileInfo_v3_st;
2413#[repr(C)]
2414#[derive(Debug, Copy, Clone)]
2415pub struct nvmlComputeInstanceInfo_st {
2416    pub device: nvmlDevice_t,
2417    pub gpuInstance: nvmlGpuInstance_t,
2418    pub id: raw::c_uint,
2419    pub profileId: raw::c_uint,
2420    pub placement: nvmlComputeInstancePlacement_t,
2421}
2422pub type nvmlComputeInstanceInfo_t = nvmlComputeInstanceInfo_st;
2423#[repr(C)]
2424#[derive(Debug, Copy, Clone)]
2425pub struct nvmlComputeInstance_st {
2426    _unused: [u8; 0],
2427}
2428pub type nvmlComputeInstance_t = *mut nvmlComputeInstance_st;
2429pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GRAPHICS_UTIL: nvmlGpmMetricId_t = 1;
2430pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_SM_UTIL: nvmlGpmMetricId_t = 2;
2431pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_SM_OCCUPANCY: nvmlGpmMetricId_t = 3;
2432pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_INTEGER_UTIL: nvmlGpmMetricId_t = 4;
2433pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_ANY_TENSOR_UTIL: nvmlGpmMetricId_t = 5;
2434pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_DFMA_TENSOR_UTIL: nvmlGpmMetricId_t = 6;
2435pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_HMMA_TENSOR_UTIL: nvmlGpmMetricId_t = 7;
2436pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_IMMA_TENSOR_UTIL: nvmlGpmMetricId_t = 9;
2437pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_DRAM_BW_UTIL: nvmlGpmMetricId_t = 10;
2438pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_FP64_UTIL: nvmlGpmMetricId_t = 11;
2439pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_FP32_UTIL: nvmlGpmMetricId_t = 12;
2440pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_FP16_UTIL: nvmlGpmMetricId_t = 13;
2441pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_PCIE_TX_PER_SEC: nvmlGpmMetricId_t = 20;
2442pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_PCIE_RX_PER_SEC: nvmlGpmMetricId_t = 21;
2443pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVDEC_0_UTIL: nvmlGpmMetricId_t = 30;
2444pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVDEC_1_UTIL: nvmlGpmMetricId_t = 31;
2445pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVDEC_2_UTIL: nvmlGpmMetricId_t = 32;
2446pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVDEC_3_UTIL: nvmlGpmMetricId_t = 33;
2447pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVDEC_4_UTIL: nvmlGpmMetricId_t = 34;
2448pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVDEC_5_UTIL: nvmlGpmMetricId_t = 35;
2449pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVDEC_6_UTIL: nvmlGpmMetricId_t = 36;
2450pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVDEC_7_UTIL: nvmlGpmMetricId_t = 37;
2451pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVJPG_0_UTIL: nvmlGpmMetricId_t = 40;
2452pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVJPG_1_UTIL: nvmlGpmMetricId_t = 41;
2453pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVJPG_2_UTIL: nvmlGpmMetricId_t = 42;
2454pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVJPG_3_UTIL: nvmlGpmMetricId_t = 43;
2455pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVJPG_4_UTIL: nvmlGpmMetricId_t = 44;
2456pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVJPG_5_UTIL: nvmlGpmMetricId_t = 45;
2457pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVJPG_6_UTIL: nvmlGpmMetricId_t = 46;
2458pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVJPG_7_UTIL: nvmlGpmMetricId_t = 47;
2459pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVOFA_0_UTIL: nvmlGpmMetricId_t = 50;
2460pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVOFA_1_UTIL: nvmlGpmMetricId_t = 51;
2461pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_TOTAL_RX_PER_SEC: nvmlGpmMetricId_t = 60;
2462pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_TOTAL_TX_PER_SEC: nvmlGpmMetricId_t = 61;
2463pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L0_RX_PER_SEC: nvmlGpmMetricId_t = 62;
2464pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L0_TX_PER_SEC: nvmlGpmMetricId_t = 63;
2465pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L1_RX_PER_SEC: nvmlGpmMetricId_t = 64;
2466pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L1_TX_PER_SEC: nvmlGpmMetricId_t = 65;
2467pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L2_RX_PER_SEC: nvmlGpmMetricId_t = 66;
2468pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L2_TX_PER_SEC: nvmlGpmMetricId_t = 67;
2469pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L3_RX_PER_SEC: nvmlGpmMetricId_t = 68;
2470pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L3_TX_PER_SEC: nvmlGpmMetricId_t = 69;
2471pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L4_RX_PER_SEC: nvmlGpmMetricId_t = 70;
2472pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L4_TX_PER_SEC: nvmlGpmMetricId_t = 71;
2473pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L5_RX_PER_SEC: nvmlGpmMetricId_t = 72;
2474pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L5_TX_PER_SEC: nvmlGpmMetricId_t = 73;
2475pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L6_RX_PER_SEC: nvmlGpmMetricId_t = 74;
2476pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L6_TX_PER_SEC: nvmlGpmMetricId_t = 75;
2477pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L7_RX_PER_SEC: nvmlGpmMetricId_t = 76;
2478pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L7_TX_PER_SEC: nvmlGpmMetricId_t = 77;
2479pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L8_RX_PER_SEC: nvmlGpmMetricId_t = 78;
2480pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L8_TX_PER_SEC: nvmlGpmMetricId_t = 79;
2481pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L9_RX_PER_SEC: nvmlGpmMetricId_t = 80;
2482pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L9_TX_PER_SEC: nvmlGpmMetricId_t = 81;
2483pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L10_RX_PER_SEC: nvmlGpmMetricId_t = 82;
2484pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L10_TX_PER_SEC: nvmlGpmMetricId_t = 83;
2485pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L11_RX_PER_SEC: nvmlGpmMetricId_t = 84;
2486pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L11_TX_PER_SEC: nvmlGpmMetricId_t = 85;
2487pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L12_RX_PER_SEC: nvmlGpmMetricId_t = 86;
2488pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L12_TX_PER_SEC: nvmlGpmMetricId_t = 87;
2489pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L13_RX_PER_SEC: nvmlGpmMetricId_t = 88;
2490pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L13_TX_PER_SEC: nvmlGpmMetricId_t = 89;
2491pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L14_RX_PER_SEC: nvmlGpmMetricId_t = 90;
2492pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L14_TX_PER_SEC: nvmlGpmMetricId_t = 91;
2493pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L15_RX_PER_SEC: nvmlGpmMetricId_t = 92;
2494pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L15_TX_PER_SEC: nvmlGpmMetricId_t = 93;
2495pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L16_RX_PER_SEC: nvmlGpmMetricId_t = 94;
2496pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L16_TX_PER_SEC: nvmlGpmMetricId_t = 95;
2497pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L17_RX_PER_SEC: nvmlGpmMetricId_t = 96;
2498pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L17_TX_PER_SEC: nvmlGpmMetricId_t = 97;
2499pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_TOTAL_TX_PER_SEC: nvmlGpmMetricId_t = 100;
2500pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_TOTAL_RX_PER_SEC: nvmlGpmMetricId_t = 101;
2501pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_DATA_TX_PER_SEC: nvmlGpmMetricId_t = 102;
2502pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_DATA_RX_PER_SEC: nvmlGpmMetricId_t = 103;
2503pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK0_TOTAL_TX_PER_SEC: nvmlGpmMetricId_t = 104;
2504pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK0_TOTAL_RX_PER_SEC: nvmlGpmMetricId_t = 105;
2505pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK0_DATA_TX_PER_SEC: nvmlGpmMetricId_t = 106;
2506pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK0_DATA_RX_PER_SEC: nvmlGpmMetricId_t = 107;
2507pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK1_TOTAL_TX_PER_SEC: nvmlGpmMetricId_t = 108;
2508pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK1_TOTAL_RX_PER_SEC: nvmlGpmMetricId_t = 109;
2509pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK1_DATA_TX_PER_SEC: nvmlGpmMetricId_t = 110;
2510pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK1_DATA_RX_PER_SEC: nvmlGpmMetricId_t = 111;
2511pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK2_TOTAL_TX_PER_SEC: nvmlGpmMetricId_t = 112;
2512pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK2_TOTAL_RX_PER_SEC: nvmlGpmMetricId_t = 113;
2513pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK2_DATA_TX_PER_SEC: nvmlGpmMetricId_t = 114;
2514pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK2_DATA_RX_PER_SEC: nvmlGpmMetricId_t = 115;
2515pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK3_TOTAL_TX_PER_SEC: nvmlGpmMetricId_t = 116;
2516pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK3_TOTAL_RX_PER_SEC: nvmlGpmMetricId_t = 117;
2517pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK3_DATA_TX_PER_SEC: nvmlGpmMetricId_t = 118;
2518pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK3_DATA_RX_PER_SEC: nvmlGpmMetricId_t = 119;
2519pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK4_TOTAL_TX_PER_SEC: nvmlGpmMetricId_t = 120;
2520pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK4_TOTAL_RX_PER_SEC: nvmlGpmMetricId_t = 121;
2521pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK4_DATA_TX_PER_SEC: nvmlGpmMetricId_t = 122;
2522pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK4_DATA_RX_PER_SEC: nvmlGpmMetricId_t = 123;
2523pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK5_TOTAL_TX_PER_SEC: nvmlGpmMetricId_t = 124;
2524pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK5_TOTAL_RX_PER_SEC: nvmlGpmMetricId_t = 125;
2525pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK5_DATA_TX_PER_SEC: nvmlGpmMetricId_t = 126;
2526pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK5_DATA_RX_PER_SEC: nvmlGpmMetricId_t = 127;
2527pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK6_TOTAL_TX_PER_SEC: nvmlGpmMetricId_t = 128;
2528pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK6_TOTAL_RX_PER_SEC: nvmlGpmMetricId_t = 129;
2529pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK6_DATA_TX_PER_SEC: nvmlGpmMetricId_t = 130;
2530pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK6_DATA_RX_PER_SEC: nvmlGpmMetricId_t = 131;
2531pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK7_TOTAL_TX_PER_SEC: nvmlGpmMetricId_t = 132;
2532pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK7_TOTAL_RX_PER_SEC: nvmlGpmMetricId_t = 133;
2533pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK7_DATA_TX_PER_SEC: nvmlGpmMetricId_t = 134;
2534pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK7_DATA_RX_PER_SEC: nvmlGpmMetricId_t = 135;
2535pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK8_TOTAL_TX_PER_SEC: nvmlGpmMetricId_t = 136;
2536pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK8_TOTAL_RX_PER_SEC: nvmlGpmMetricId_t = 137;
2537pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK8_DATA_TX_PER_SEC: nvmlGpmMetricId_t = 138;
2538pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK8_DATA_RX_PER_SEC: nvmlGpmMetricId_t = 139;
2539pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK9_TOTAL_TX_PER_SEC: nvmlGpmMetricId_t = 140;
2540pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK9_TOTAL_RX_PER_SEC: nvmlGpmMetricId_t = 141;
2541pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK9_DATA_TX_PER_SEC: nvmlGpmMetricId_t = 142;
2542pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK9_DATA_RX_PER_SEC: nvmlGpmMetricId_t = 143;
2543pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK10_TOTAL_TX_PER_SEC: nvmlGpmMetricId_t = 144;
2544pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK10_TOTAL_RX_PER_SEC: nvmlGpmMetricId_t = 145;
2545pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK10_DATA_TX_PER_SEC: nvmlGpmMetricId_t = 146;
2546pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK10_DATA_RX_PER_SEC: nvmlGpmMetricId_t = 147;
2547pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK11_TOTAL_TX_PER_SEC: nvmlGpmMetricId_t = 148;
2548pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK11_TOTAL_RX_PER_SEC: nvmlGpmMetricId_t = 149;
2549pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK11_DATA_TX_PER_SEC: nvmlGpmMetricId_t = 150;
2550pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK11_DATA_RX_PER_SEC: nvmlGpmMetricId_t = 151;
2551pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK12_TOTAL_TX_PER_SEC: nvmlGpmMetricId_t = 152;
2552pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK12_TOTAL_RX_PER_SEC: nvmlGpmMetricId_t = 153;
2553pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK12_DATA_TX_PER_SEC: nvmlGpmMetricId_t = 154;
2554pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK12_DATA_RX_PER_SEC: nvmlGpmMetricId_t = 155;
2555pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK13_TOTAL_TX_PER_SEC: nvmlGpmMetricId_t = 156;
2556pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK13_TOTAL_RX_PER_SEC: nvmlGpmMetricId_t = 157;
2557pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK13_DATA_TX_PER_SEC: nvmlGpmMetricId_t = 158;
2558pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK13_DATA_RX_PER_SEC: nvmlGpmMetricId_t = 159;
2559pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_HOSTMEM_CACHE_HIT: nvmlGpmMetricId_t = 160;
2560pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_HOSTMEM_CACHE_MISS: nvmlGpmMetricId_t = 161;
2561pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_PEERMEM_CACHE_HIT: nvmlGpmMetricId_t = 162;
2562pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_PEERMEM_CACHE_MISS: nvmlGpmMetricId_t = 163;
2563pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_DRAM_CACHE_HIT: nvmlGpmMetricId_t = 164;
2564pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_DRAM_CACHE_MISS: nvmlGpmMetricId_t = 165;
2565pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVENC_0_UTIL: nvmlGpmMetricId_t = 166;
2566pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVENC_1_UTIL: nvmlGpmMetricId_t = 167;
2567pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVENC_2_UTIL: nvmlGpmMetricId_t = 168;
2568pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVENC_3_UTIL: nvmlGpmMetricId_t = 169;
2569pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR0_CTXSW_CYCLES_ELAPSED: nvmlGpmMetricId_t = 170;
2570pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR0_CTXSW_CYCLES_ACTIVE: nvmlGpmMetricId_t = 171;
2571pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR0_CTXSW_REQUESTS: nvmlGpmMetricId_t = 172;
2572pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR0_CTXSW_CYCLES_PER_REQ: nvmlGpmMetricId_t = 173;
2573pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR0_CTXSW_ACTIVE_PCT: nvmlGpmMetricId_t = 174;
2574pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR1_CTXSW_CYCLES_ELAPSED: nvmlGpmMetricId_t = 175;
2575pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR1_CTXSW_CYCLES_ACTIVE: nvmlGpmMetricId_t = 176;
2576pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR1_CTXSW_REQUESTS: nvmlGpmMetricId_t = 177;
2577pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR1_CTXSW_CYCLES_PER_REQ: nvmlGpmMetricId_t = 178;
2578pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR1_CTXSW_ACTIVE_PCT: nvmlGpmMetricId_t = 179;
2579pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR2_CTXSW_CYCLES_ELAPSED: nvmlGpmMetricId_t = 180;
2580pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR2_CTXSW_CYCLES_ACTIVE: nvmlGpmMetricId_t = 181;
2581pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR2_CTXSW_REQUESTS: nvmlGpmMetricId_t = 182;
2582pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR2_CTXSW_CYCLES_PER_REQ: nvmlGpmMetricId_t = 183;
2583pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR2_CTXSW_ACTIVE_PCT: nvmlGpmMetricId_t = 184;
2584pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR3_CTXSW_CYCLES_ELAPSED: nvmlGpmMetricId_t = 185;
2585pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR3_CTXSW_CYCLES_ACTIVE: nvmlGpmMetricId_t = 186;
2586pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR3_CTXSW_REQUESTS: nvmlGpmMetricId_t = 187;
2587pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR3_CTXSW_CYCLES_PER_REQ: nvmlGpmMetricId_t = 188;
2588pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR3_CTXSW_ACTIVE_PCT: nvmlGpmMetricId_t = 189;
2589pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR4_CTXSW_CYCLES_ELAPSED: nvmlGpmMetricId_t = 190;
2590pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR4_CTXSW_CYCLES_ACTIVE: nvmlGpmMetricId_t = 191;
2591pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR4_CTXSW_REQUESTS: nvmlGpmMetricId_t = 192;
2592pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR4_CTXSW_CYCLES_PER_REQ: nvmlGpmMetricId_t = 193;
2593pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR4_CTXSW_ACTIVE_PCT: nvmlGpmMetricId_t = 194;
2594pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR5_CTXSW_CYCLES_ELAPSED: nvmlGpmMetricId_t = 195;
2595pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR5_CTXSW_CYCLES_ACTIVE: nvmlGpmMetricId_t = 196;
2596pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR5_CTXSW_REQUESTS: nvmlGpmMetricId_t = 197;
2597pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR5_CTXSW_CYCLES_PER_REQ: nvmlGpmMetricId_t = 198;
2598pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR5_CTXSW_ACTIVE_PCT: nvmlGpmMetricId_t = 199;
2599pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR6_CTXSW_CYCLES_ELAPSED: nvmlGpmMetricId_t = 200;
2600pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR6_CTXSW_CYCLES_ACTIVE: nvmlGpmMetricId_t = 201;
2601pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR6_CTXSW_REQUESTS: nvmlGpmMetricId_t = 202;
2602pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR6_CTXSW_CYCLES_PER_REQ: nvmlGpmMetricId_t = 203;
2603pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR6_CTXSW_ACTIVE_PCT: nvmlGpmMetricId_t = 204;
2604pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR7_CTXSW_CYCLES_ELAPSED: nvmlGpmMetricId_t = 205;
2605pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR7_CTXSW_CYCLES_ACTIVE: nvmlGpmMetricId_t = 206;
2606pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR7_CTXSW_REQUESTS: nvmlGpmMetricId_t = 207;
2607pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR7_CTXSW_CYCLES_PER_REQ: nvmlGpmMetricId_t = 208;
2608pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR7_CTXSW_ACTIVE_PCT: nvmlGpmMetricId_t = 209;
2609pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_MAX: nvmlGpmMetricId_t = 210;
2610pub type nvmlGpmMetricId_t = raw::c_uint;
2611#[repr(C)]
2612#[derive(Debug, Copy, Clone)]
2613pub struct nvmlGpmSample_st {
2614    _unused: [u8; 0],
2615}
2616pub type nvmlGpmSample_t = *mut nvmlGpmSample_st;
2617#[repr(C)]
2618#[derive(Debug, Copy, Clone)]
2619pub struct nvmlGpmMetric_t {
2620    pub metricId: raw::c_uint,
2621    pub nvmlReturn: nvmlReturn_t,
2622    pub value: f64,
2623    pub metricInfo: nvmlGpmMetric_t__bindgen_ty_1,
2624}
2625#[repr(C)]
2626#[derive(Debug, Copy, Clone)]
2627pub struct nvmlGpmMetric_t__bindgen_ty_1 {
2628    pub shortName: *mut raw::c_char,
2629    pub longName: *mut raw::c_char,
2630    pub unit: *mut raw::c_char,
2631}
2632#[repr(C)]
2633#[derive(Debug, Copy, Clone)]
2634pub struct nvmlGpmMetricsGet_t {
2635    pub version: raw::c_uint,
2636    pub numMetrics: raw::c_uint,
2637    pub sample1: nvmlGpmSample_t,
2638    pub sample2: nvmlGpmSample_t,
2639    pub metrics: [nvmlGpmMetric_t; 210usize],
2640}
2641#[repr(C)]
2642#[derive(Debug, Copy, Clone)]
2643pub struct nvmlGpmSupport_t {
2644    pub version: raw::c_uint,
2645    pub isSupportedDevice: raw::c_uint,
2646}
2647#[repr(C)]
2648#[derive(Debug, Copy, Clone)]
2649pub struct nvmlDeviceCapabilities_v1_t {
2650    pub version: raw::c_uint,
2651    pub capMask: raw::c_uint,
2652}
2653pub type nvmlDeviceCapabilities_t = nvmlDeviceCapabilities_v1_t;
2654#[repr(C)]
2655#[derive(Debug, Copy, Clone)]
2656pub struct nvmlMask255_t {
2657    pub mask: [raw::c_uint; 8usize],
2658}
2659pub const nvmlPowerProfileType_t_NVML_POWER_PROFILE_MAX_P: nvmlPowerProfileType_t = 0;
2660pub const nvmlPowerProfileType_t_NVML_POWER_PROFILE_MAX_Q: nvmlPowerProfileType_t = 1;
2661pub const nvmlPowerProfileType_t_NVML_POWER_PROFILE_COMPUTE: nvmlPowerProfileType_t = 2;
2662pub const nvmlPowerProfileType_t_NVML_POWER_PROFILE_MEMORY_BOUND: nvmlPowerProfileType_t = 3;
2663pub const nvmlPowerProfileType_t_NVML_POWER_PROFILE_NETWORK: nvmlPowerProfileType_t = 4;
2664pub const nvmlPowerProfileType_t_NVML_POWER_PROFILE_BALANCED: nvmlPowerProfileType_t = 5;
2665pub const nvmlPowerProfileType_t_NVML_POWER_PROFILE_LLM_INFERENCE: nvmlPowerProfileType_t = 6;
2666pub const nvmlPowerProfileType_t_NVML_POWER_PROFILE_LLM_TRAINING: nvmlPowerProfileType_t = 7;
2667pub const nvmlPowerProfileType_t_NVML_POWER_PROFILE_RBM: nvmlPowerProfileType_t = 8;
2668pub const nvmlPowerProfileType_t_NVML_POWER_PROFILE_DCPCIE: nvmlPowerProfileType_t = 9;
2669pub const nvmlPowerProfileType_t_NVML_POWER_PROFILE_HMMA_SPARSE: nvmlPowerProfileType_t = 10;
2670pub const nvmlPowerProfileType_t_NVML_POWER_PROFILE_HMMA_DENSE: nvmlPowerProfileType_t = 11;
2671pub const nvmlPowerProfileType_t_NVML_POWER_PROFILE_SYNC_BALANCED: nvmlPowerProfileType_t = 12;
2672pub const nvmlPowerProfileType_t_NVML_POWER_PROFILE_HPC: nvmlPowerProfileType_t = 13;
2673pub const nvmlPowerProfileType_t_NVML_POWER_PROFILE_MIG: nvmlPowerProfileType_t = 14;
2674pub const nvmlPowerProfileType_t_NVML_POWER_PROFILE_MAX: nvmlPowerProfileType_t = 15;
2675pub type nvmlPowerProfileType_t = raw::c_uint;
2676#[repr(C)]
2677#[derive(Debug, Copy, Clone)]
2678pub struct nvmlWorkloadPowerProfileInfo_v1_t {
2679    pub version: raw::c_uint,
2680    pub profileId: raw::c_uint,
2681    pub priority: raw::c_uint,
2682    pub conflictingMask: nvmlMask255_t,
2683}
2684pub type nvmlWorkloadPowerProfileInfo_t = nvmlWorkloadPowerProfileInfo_v1_t;
2685#[repr(C)]
2686#[derive(Debug, Copy, Clone)]
2687pub struct nvmlWorkloadPowerProfileProfilesInfo_v1_t {
2688    pub version: raw::c_uint,
2689    pub perfProfilesMask: nvmlMask255_t,
2690    pub perfProfile: [nvmlWorkloadPowerProfileInfo_t; 255usize],
2691}
2692pub type nvmlWorkloadPowerProfileProfilesInfo_t = nvmlWorkloadPowerProfileProfilesInfo_v1_t;
2693#[repr(C)]
2694#[derive(Debug, Copy, Clone)]
2695pub struct nvmlWorkloadPowerProfileCurrentProfiles_v1_t {
2696    pub version: raw::c_uint,
2697    pub perfProfilesMask: nvmlMask255_t,
2698    pub requestedProfilesMask: nvmlMask255_t,
2699    pub enforcedProfilesMask: nvmlMask255_t,
2700}
2701pub type nvmlWorkloadPowerProfileCurrentProfiles_t = nvmlWorkloadPowerProfileCurrentProfiles_v1_t;
2702#[repr(C)]
2703#[derive(Debug, Copy, Clone)]
2704pub struct nvmlWorkloadPowerProfileRequestedProfiles_v1_t {
2705    pub version: raw::c_uint,
2706    pub requestedProfilesMask: nvmlMask255_t,
2707}
2708pub type nvmlWorkloadPowerProfileRequestedProfiles_t =
2709    nvmlWorkloadPowerProfileRequestedProfiles_v1_t;
2710#[repr(C)]
2711#[derive(Debug, Copy, Clone)]
2712pub struct nvmlPowerSmoothingProfile_v1_t {
2713    pub version: raw::c_uint,
2714    pub profileId: raw::c_uint,
2715    pub paramId: raw::c_uint,
2716    pub value: f64,
2717}
2718pub type nvmlPowerSmoothingProfile_t = nvmlPowerSmoothingProfile_v1_t;
2719#[repr(C)]
2720#[derive(Debug, Copy, Clone)]
2721pub struct nvmlPowerSmoothingState_v1_t {
2722    pub version: raw::c_uint,
2723    pub state: nvmlEnableState_t,
2724}
2725pub type nvmlPowerSmoothingState_t = nvmlPowerSmoothingState_v1_t;
2726pub struct NvmlLib {
2727    pub __library: ::libloading::Library,
2728    pub nvmlInit_v2: Result<unsafe extern "C" fn() -> nvmlReturn_t, ::libloading::Error>,
2729    pub nvmlInitWithFlags:
2730        Result<unsafe extern "C" fn(flags: raw::c_uint) -> nvmlReturn_t, ::libloading::Error>,
2731    pub nvmlShutdown: Result<unsafe extern "C" fn() -> nvmlReturn_t, ::libloading::Error>,
2732    pub nvmlErrorString: Result<
2733        unsafe extern "C" fn(result: nvmlReturn_t) -> *const raw::c_char,
2734        ::libloading::Error,
2735    >,
2736    pub nvmlSystemGetDriverVersion: Result<
2737        unsafe extern "C" fn(version: *mut raw::c_char, length: raw::c_uint) -> nvmlReturn_t,
2738        ::libloading::Error,
2739    >,
2740    pub nvmlSystemGetNVMLVersion: Result<
2741        unsafe extern "C" fn(version: *mut raw::c_char, length: raw::c_uint) -> nvmlReturn_t,
2742        ::libloading::Error,
2743    >,
2744    pub nvmlSystemGetCudaDriverVersion: Result<
2745        unsafe extern "C" fn(cudaDriverVersion: *mut raw::c_int) -> nvmlReturn_t,
2746        ::libloading::Error,
2747    >,
2748    pub nvmlSystemGetCudaDriverVersion_v2: Result<
2749        unsafe extern "C" fn(cudaDriverVersion: *mut raw::c_int) -> nvmlReturn_t,
2750        ::libloading::Error,
2751    >,
2752    pub nvmlSystemGetProcessName: Result<
2753        unsafe extern "C" fn(
2754            pid: raw::c_uint,
2755            name: *mut raw::c_char,
2756            length: raw::c_uint,
2757        ) -> nvmlReturn_t,
2758        ::libloading::Error,
2759    >,
2760    pub nvmlSystemGetHicVersion: Result<
2761        unsafe extern "C" fn(
2762            hwbcCount: *mut raw::c_uint,
2763            hwbcEntries: *mut nvmlHwbcEntry_t,
2764        ) -> nvmlReturn_t,
2765        ::libloading::Error,
2766    >,
2767    pub nvmlSystemGetTopologyGpuSet: Result<
2768        unsafe extern "C" fn(
2769            cpuNumber: raw::c_uint,
2770            count: *mut raw::c_uint,
2771            deviceArray: *mut nvmlDevice_t,
2772        ) -> nvmlReturn_t,
2773        ::libloading::Error,
2774    >,
2775    pub nvmlSystemGetDriverBranch: Result<
2776        unsafe extern "C" fn(
2777            branchInfo: *mut nvmlSystemDriverBranchInfo_t,
2778            length: raw::c_uint,
2779        ) -> nvmlReturn_t,
2780        ::libloading::Error,
2781    >,
2782    pub nvmlUnitGetCount: Result<
2783        unsafe extern "C" fn(unitCount: *mut raw::c_uint) -> nvmlReturn_t,
2784        ::libloading::Error,
2785    >,
2786    pub nvmlUnitGetHandleByIndex: Result<
2787        unsafe extern "C" fn(index: raw::c_uint, unit: *mut nvmlUnit_t) -> nvmlReturn_t,
2788        ::libloading::Error,
2789    >,
2790    pub nvmlUnitGetUnitInfo: Result<
2791        unsafe extern "C" fn(unit: nvmlUnit_t, info: *mut nvmlUnitInfo_t) -> nvmlReturn_t,
2792        ::libloading::Error,
2793    >,
2794    pub nvmlUnitGetLedState: Result<
2795        unsafe extern "C" fn(unit: nvmlUnit_t, state: *mut nvmlLedState_t) -> nvmlReturn_t,
2796        ::libloading::Error,
2797    >,
2798    pub nvmlUnitGetPsuInfo: Result<
2799        unsafe extern "C" fn(unit: nvmlUnit_t, psu: *mut nvmlPSUInfo_t) -> nvmlReturn_t,
2800        ::libloading::Error,
2801    >,
2802    pub nvmlUnitGetTemperature: Result<
2803        unsafe extern "C" fn(
2804            unit: nvmlUnit_t,
2805            type_: raw::c_uint,
2806            temp: *mut raw::c_uint,
2807        ) -> nvmlReturn_t,
2808        ::libloading::Error,
2809    >,
2810    pub nvmlUnitGetFanSpeedInfo: Result<
2811        unsafe extern "C" fn(unit: nvmlUnit_t, fanSpeeds: *mut nvmlUnitFanSpeeds_t) -> nvmlReturn_t,
2812        ::libloading::Error,
2813    >,
2814    pub nvmlUnitGetDevices: Result<
2815        unsafe extern "C" fn(
2816            unit: nvmlUnit_t,
2817            deviceCount: *mut raw::c_uint,
2818            devices: *mut nvmlDevice_t,
2819        ) -> nvmlReturn_t,
2820        ::libloading::Error,
2821    >,
2822    pub nvmlDeviceGetCount_v2: Result<
2823        unsafe extern "C" fn(deviceCount: *mut raw::c_uint) -> nvmlReturn_t,
2824        ::libloading::Error,
2825    >,
2826    pub nvmlDeviceGetAttributes_v2: Result<
2827        unsafe extern "C" fn(
2828            device: nvmlDevice_t,
2829            attributes: *mut nvmlDeviceAttributes_t,
2830        ) -> nvmlReturn_t,
2831        ::libloading::Error,
2832    >,
2833    pub nvmlDeviceGetHandleByIndex_v2: Result<
2834        unsafe extern "C" fn(index: raw::c_uint, device: *mut nvmlDevice_t) -> nvmlReturn_t,
2835        ::libloading::Error,
2836    >,
2837    pub nvmlDeviceGetHandleBySerial: Result<
2838        unsafe extern "C" fn(serial: *const raw::c_char, device: *mut nvmlDevice_t) -> nvmlReturn_t,
2839        ::libloading::Error,
2840    >,
2841    pub nvmlDeviceGetHandleByUUID: Result<
2842        unsafe extern "C" fn(uuid: *const raw::c_char, device: *mut nvmlDevice_t) -> nvmlReturn_t,
2843        ::libloading::Error,
2844    >,
2845    pub nvmlDeviceGetHandleByUUIDV: Result<
2846        unsafe extern "C" fn(uuid: *const nvmlUUID_t, device: *mut nvmlDevice_t) -> nvmlReturn_t,
2847        ::libloading::Error,
2848    >,
2849    pub nvmlDeviceGetHandleByPciBusId_v2: Result<
2850        unsafe extern "C" fn(
2851            pciBusId: *const raw::c_char,
2852            device: *mut nvmlDevice_t,
2853        ) -> nvmlReturn_t,
2854        ::libloading::Error,
2855    >,
2856    pub nvmlDeviceGetName: Result<
2857        unsafe extern "C" fn(
2858            device: nvmlDevice_t,
2859            name: *mut raw::c_char,
2860            length: raw::c_uint,
2861        ) -> nvmlReturn_t,
2862        ::libloading::Error,
2863    >,
2864    pub nvmlDeviceGetBrand: Result<
2865        unsafe extern "C" fn(device: nvmlDevice_t, type_: *mut nvmlBrandType_t) -> nvmlReturn_t,
2866        ::libloading::Error,
2867    >,
2868    pub nvmlDeviceGetIndex: Result<
2869        unsafe extern "C" fn(device: nvmlDevice_t, index: *mut raw::c_uint) -> nvmlReturn_t,
2870        ::libloading::Error,
2871    >,
2872    pub nvmlDeviceGetSerial: Result<
2873        unsafe extern "C" fn(
2874            device: nvmlDevice_t,
2875            serial: *mut raw::c_char,
2876            length: raw::c_uint,
2877        ) -> nvmlReturn_t,
2878        ::libloading::Error,
2879    >,
2880    pub nvmlDeviceGetModuleId: Result<
2881        unsafe extern "C" fn(device: nvmlDevice_t, moduleId: *mut raw::c_uint) -> nvmlReturn_t,
2882        ::libloading::Error,
2883    >,
2884    pub nvmlDeviceGetC2cModeInfoV: Result<
2885        unsafe extern "C" fn(
2886            device: nvmlDevice_t,
2887            c2cModeInfo: *mut nvmlC2cModeInfo_v1_t,
2888        ) -> nvmlReturn_t,
2889        ::libloading::Error,
2890    >,
2891    pub nvmlDeviceGetMemoryAffinity: Result<
2892        unsafe extern "C" fn(
2893            device: nvmlDevice_t,
2894            nodeSetSize: raw::c_uint,
2895            nodeSet: *mut raw::c_ulong,
2896            scope: nvmlAffinityScope_t,
2897        ) -> nvmlReturn_t,
2898        ::libloading::Error,
2899    >,
2900    pub nvmlDeviceGetCpuAffinityWithinScope: Result<
2901        unsafe extern "C" fn(
2902            device: nvmlDevice_t,
2903            cpuSetSize: raw::c_uint,
2904            cpuSet: *mut raw::c_ulong,
2905            scope: nvmlAffinityScope_t,
2906        ) -> nvmlReturn_t,
2907        ::libloading::Error,
2908    >,
2909    pub nvmlDeviceGetCpuAffinity: Result<
2910        unsafe extern "C" fn(
2911            device: nvmlDevice_t,
2912            cpuSetSize: raw::c_uint,
2913            cpuSet: *mut raw::c_ulong,
2914        ) -> nvmlReturn_t,
2915        ::libloading::Error,
2916    >,
2917    pub nvmlDeviceSetCpuAffinity:
2918        Result<unsafe extern "C" fn(device: nvmlDevice_t) -> nvmlReturn_t, ::libloading::Error>,
2919    pub nvmlDeviceClearCpuAffinity:
2920        Result<unsafe extern "C" fn(device: nvmlDevice_t) -> nvmlReturn_t, ::libloading::Error>,
2921    pub nvmlDeviceGetNumaNodeId: Result<
2922        unsafe extern "C" fn(device: nvmlDevice_t, node: *mut raw::c_uint) -> nvmlReturn_t,
2923        ::libloading::Error,
2924    >,
2925    pub nvmlDeviceGetAddressingMode: Result<
2926        unsafe extern "C" fn(
2927            device: nvmlDevice_t,
2928            mode: *mut nvmlDeviceAddressingMode_t,
2929        ) -> nvmlReturn_t,
2930        ::libloading::Error,
2931    >,
2932    pub nvmlDeviceGetRepairStatus: Result<
2933        unsafe extern "C" fn(
2934            device: nvmlDevice_t,
2935            repairStatus: *mut nvmlRepairStatus_t,
2936        ) -> nvmlReturn_t,
2937        ::libloading::Error,
2938    >,
2939    pub nvmlDeviceGetTopologyCommonAncestor: Result<
2940        unsafe extern "C" fn(
2941            device1: nvmlDevice_t,
2942            device2: nvmlDevice_t,
2943            pathInfo: *mut nvmlGpuTopologyLevel_t,
2944        ) -> nvmlReturn_t,
2945        ::libloading::Error,
2946    >,
2947    pub nvmlDeviceGetTopologyNearestGpus: Result<
2948        unsafe extern "C" fn(
2949            device: nvmlDevice_t,
2950            level: nvmlGpuTopologyLevel_t,
2951            count: *mut raw::c_uint,
2952            deviceArray: *mut nvmlDevice_t,
2953        ) -> nvmlReturn_t,
2954        ::libloading::Error,
2955    >,
2956    pub nvmlDeviceGetP2PStatus: Result<
2957        unsafe extern "C" fn(
2958            device1: nvmlDevice_t,
2959            device2: nvmlDevice_t,
2960            p2pIndex: nvmlGpuP2PCapsIndex_t,
2961            p2pStatus: *mut nvmlGpuP2PStatus_t,
2962        ) -> nvmlReturn_t,
2963        ::libloading::Error,
2964    >,
2965    pub nvmlDeviceGetUUID: Result<
2966        unsafe extern "C" fn(
2967            device: nvmlDevice_t,
2968            uuid: *mut raw::c_char,
2969            length: raw::c_uint,
2970        ) -> nvmlReturn_t,
2971        ::libloading::Error,
2972    >,
2973    pub nvmlDeviceGetMinorNumber: Result<
2974        unsafe extern "C" fn(device: nvmlDevice_t, minorNumber: *mut raw::c_uint) -> nvmlReturn_t,
2975        ::libloading::Error,
2976    >,
2977    pub nvmlDeviceGetBoardPartNumber: Result<
2978        unsafe extern "C" fn(
2979            device: nvmlDevice_t,
2980            partNumber: *mut raw::c_char,
2981            length: raw::c_uint,
2982        ) -> nvmlReturn_t,
2983        ::libloading::Error,
2984    >,
2985    pub nvmlDeviceGetInforomVersion: Result<
2986        unsafe extern "C" fn(
2987            device: nvmlDevice_t,
2988            object: nvmlInforomObject_t,
2989            version: *mut raw::c_char,
2990            length: raw::c_uint,
2991        ) -> nvmlReturn_t,
2992        ::libloading::Error,
2993    >,
2994    pub nvmlDeviceGetInforomImageVersion: Result<
2995        unsafe extern "C" fn(
2996            device: nvmlDevice_t,
2997            version: *mut raw::c_char,
2998            length: raw::c_uint,
2999        ) -> nvmlReturn_t,
3000        ::libloading::Error,
3001    >,
3002    pub nvmlDeviceGetInforomConfigurationChecksum: Result<
3003        unsafe extern "C" fn(device: nvmlDevice_t, checksum: *mut raw::c_uint) -> nvmlReturn_t,
3004        ::libloading::Error,
3005    >,
3006    pub nvmlDeviceValidateInforom:
3007        Result<unsafe extern "C" fn(device: nvmlDevice_t) -> nvmlReturn_t, ::libloading::Error>,
3008    pub nvmlDeviceGetLastBBXFlushTime: Result<
3009        unsafe extern "C" fn(
3010            device: nvmlDevice_t,
3011            timestamp: *mut raw::c_ulonglong,
3012            durationUs: *mut raw::c_ulong,
3013        ) -> nvmlReturn_t,
3014        ::libloading::Error,
3015    >,
3016    pub nvmlDeviceGetDisplayMode: Result<
3017        unsafe extern "C" fn(device: nvmlDevice_t, display: *mut nvmlEnableState_t) -> nvmlReturn_t,
3018        ::libloading::Error,
3019    >,
3020    pub nvmlDeviceGetDisplayActive: Result<
3021        unsafe extern "C" fn(
3022            device: nvmlDevice_t,
3023            isActive: *mut nvmlEnableState_t,
3024        ) -> nvmlReturn_t,
3025        ::libloading::Error,
3026    >,
3027    pub nvmlDeviceGetPersistenceMode: Result<
3028        unsafe extern "C" fn(device: nvmlDevice_t, mode: *mut nvmlEnableState_t) -> nvmlReturn_t,
3029        ::libloading::Error,
3030    >,
3031    pub nvmlDeviceGetPciInfoExt: Result<
3032        unsafe extern "C" fn(device: nvmlDevice_t, pci: *mut nvmlPciInfoExt_t) -> nvmlReturn_t,
3033        ::libloading::Error,
3034    >,
3035    pub nvmlDeviceGetPciInfo_v3: Result<
3036        unsafe extern "C" fn(device: nvmlDevice_t, pci: *mut nvmlPciInfo_t) -> nvmlReturn_t,
3037        ::libloading::Error,
3038    >,
3039    pub nvmlDeviceGetMaxPcieLinkGeneration: Result<
3040        unsafe extern "C" fn(device: nvmlDevice_t, maxLinkGen: *mut raw::c_uint) -> nvmlReturn_t,
3041        ::libloading::Error,
3042    >,
3043    pub nvmlDeviceGetGpuMaxPcieLinkGeneration: Result<
3044        unsafe extern "C" fn(
3045            device: nvmlDevice_t,
3046            maxLinkGenDevice: *mut raw::c_uint,
3047        ) -> nvmlReturn_t,
3048        ::libloading::Error,
3049    >,
3050    pub nvmlDeviceGetMaxPcieLinkWidth: Result<
3051        unsafe extern "C" fn(device: nvmlDevice_t, maxLinkWidth: *mut raw::c_uint) -> nvmlReturn_t,
3052        ::libloading::Error,
3053    >,
3054    pub nvmlDeviceGetCurrPcieLinkGeneration: Result<
3055        unsafe extern "C" fn(device: nvmlDevice_t, currLinkGen: *mut raw::c_uint) -> nvmlReturn_t,
3056        ::libloading::Error,
3057    >,
3058    pub nvmlDeviceGetCurrPcieLinkWidth: Result<
3059        unsafe extern "C" fn(device: nvmlDevice_t, currLinkWidth: *mut raw::c_uint) -> nvmlReturn_t,
3060        ::libloading::Error,
3061    >,
3062    pub nvmlDeviceGetPcieThroughput: Result<
3063        unsafe extern "C" fn(
3064            device: nvmlDevice_t,
3065            counter: nvmlPcieUtilCounter_t,
3066            value: *mut raw::c_uint,
3067        ) -> nvmlReturn_t,
3068        ::libloading::Error,
3069    >,
3070    pub nvmlDeviceGetPcieReplayCounter: Result<
3071        unsafe extern "C" fn(device: nvmlDevice_t, value: *mut raw::c_uint) -> nvmlReturn_t,
3072        ::libloading::Error,
3073    >,
3074    pub nvmlDeviceGetClockInfo: Result<
3075        unsafe extern "C" fn(
3076            device: nvmlDevice_t,
3077            type_: nvmlClockType_t,
3078            clock: *mut raw::c_uint,
3079        ) -> nvmlReturn_t,
3080        ::libloading::Error,
3081    >,
3082    pub nvmlDeviceGetMaxClockInfo: Result<
3083        unsafe extern "C" fn(
3084            device: nvmlDevice_t,
3085            type_: nvmlClockType_t,
3086            clock: *mut raw::c_uint,
3087        ) -> nvmlReturn_t,
3088        ::libloading::Error,
3089    >,
3090    pub nvmlDeviceGetGpcClkVfOffset: Result<
3091        unsafe extern "C" fn(device: nvmlDevice_t, offset: *mut raw::c_int) -> nvmlReturn_t,
3092        ::libloading::Error,
3093    >,
3094    pub nvmlDeviceGetApplicationsClock: Result<
3095        unsafe extern "C" fn(
3096            device: nvmlDevice_t,
3097            clockType: nvmlClockType_t,
3098            clockMHz: *mut raw::c_uint,
3099        ) -> nvmlReturn_t,
3100        ::libloading::Error,
3101    >,
3102    pub nvmlDeviceGetDefaultApplicationsClock: Result<
3103        unsafe extern "C" fn(
3104            device: nvmlDevice_t,
3105            clockType: nvmlClockType_t,
3106            clockMHz: *mut raw::c_uint,
3107        ) -> nvmlReturn_t,
3108        ::libloading::Error,
3109    >,
3110    pub nvmlDeviceGetClock: Result<
3111        unsafe extern "C" fn(
3112            device: nvmlDevice_t,
3113            clockType: nvmlClockType_t,
3114            clockId: nvmlClockId_t,
3115            clockMHz: *mut raw::c_uint,
3116        ) -> nvmlReturn_t,
3117        ::libloading::Error,
3118    >,
3119    pub nvmlDeviceGetMaxCustomerBoostClock: Result<
3120        unsafe extern "C" fn(
3121            device: nvmlDevice_t,
3122            clockType: nvmlClockType_t,
3123            clockMHz: *mut raw::c_uint,
3124        ) -> nvmlReturn_t,
3125        ::libloading::Error,
3126    >,
3127    pub nvmlDeviceGetSupportedMemoryClocks: Result<
3128        unsafe extern "C" fn(
3129            device: nvmlDevice_t,
3130            count: *mut raw::c_uint,
3131            clocksMHz: *mut raw::c_uint,
3132        ) -> nvmlReturn_t,
3133        ::libloading::Error,
3134    >,
3135    pub nvmlDeviceGetSupportedGraphicsClocks: Result<
3136        unsafe extern "C" fn(
3137            device: nvmlDevice_t,
3138            memoryClockMHz: raw::c_uint,
3139            count: *mut raw::c_uint,
3140            clocksMHz: *mut raw::c_uint,
3141        ) -> nvmlReturn_t,
3142        ::libloading::Error,
3143    >,
3144    pub nvmlDeviceGetAutoBoostedClocksEnabled: Result<
3145        unsafe extern "C" fn(
3146            device: nvmlDevice_t,
3147            isEnabled: *mut nvmlEnableState_t,
3148            defaultIsEnabled: *mut nvmlEnableState_t,
3149        ) -> nvmlReturn_t,
3150        ::libloading::Error,
3151    >,
3152    pub nvmlDeviceGetFanSpeed: Result<
3153        unsafe extern "C" fn(device: nvmlDevice_t, speed: *mut raw::c_uint) -> nvmlReturn_t,
3154        ::libloading::Error,
3155    >,
3156    pub nvmlDeviceGetFanSpeed_v2: Result<
3157        unsafe extern "C" fn(
3158            device: nvmlDevice_t,
3159            fan: raw::c_uint,
3160            speed: *mut raw::c_uint,
3161        ) -> nvmlReturn_t,
3162        ::libloading::Error,
3163    >,
3164    pub nvmlDeviceGetFanSpeedRPM: Result<
3165        unsafe extern "C" fn(
3166            device: nvmlDevice_t,
3167            fanSpeed: *mut nvmlFanSpeedInfo_t,
3168        ) -> nvmlReturn_t,
3169        ::libloading::Error,
3170    >,
3171    pub nvmlDeviceGetTargetFanSpeed: Result<
3172        unsafe extern "C" fn(
3173            device: nvmlDevice_t,
3174            fan: raw::c_uint,
3175            targetSpeed: *mut raw::c_uint,
3176        ) -> nvmlReturn_t,
3177        ::libloading::Error,
3178    >,
3179    pub nvmlDeviceGetMinMaxFanSpeed: Result<
3180        unsafe extern "C" fn(
3181            device: nvmlDevice_t,
3182            minSpeed: *mut raw::c_uint,
3183            maxSpeed: *mut raw::c_uint,
3184        ) -> nvmlReturn_t,
3185        ::libloading::Error,
3186    >,
3187    pub nvmlDeviceGetFanControlPolicy_v2: Result<
3188        unsafe extern "C" fn(
3189            device: nvmlDevice_t,
3190            fan: raw::c_uint,
3191            policy: *mut nvmlFanControlPolicy_t,
3192        ) -> nvmlReturn_t,
3193        ::libloading::Error,
3194    >,
3195    pub nvmlDeviceGetNumFans: Result<
3196        unsafe extern "C" fn(device: nvmlDevice_t, numFans: *mut raw::c_uint) -> nvmlReturn_t,
3197        ::libloading::Error,
3198    >,
3199    pub nvmlDeviceGetTemperature: Result<
3200        unsafe extern "C" fn(
3201            device: nvmlDevice_t,
3202            sensorType: nvmlTemperatureSensors_t,
3203            temp: *mut raw::c_uint,
3204        ) -> nvmlReturn_t,
3205        ::libloading::Error,
3206    >,
3207    pub nvmlDeviceGetCoolerInfo: Result<
3208        unsafe extern "C" fn(
3209            device: nvmlDevice_t,
3210            coolerInfo: *mut nvmlCoolerInfo_t,
3211        ) -> nvmlReturn_t,
3212        ::libloading::Error,
3213    >,
3214    pub nvmlDeviceGetTemperatureV: Result<
3215        unsafe extern "C" fn(
3216            device: nvmlDevice_t,
3217            temperature: *mut nvmlTemperature_t,
3218        ) -> nvmlReturn_t,
3219        ::libloading::Error,
3220    >,
3221    pub nvmlDeviceGetTemperatureThreshold: Result<
3222        unsafe extern "C" fn(
3223            device: nvmlDevice_t,
3224            thresholdType: nvmlTemperatureThresholds_t,
3225            temp: *mut raw::c_uint,
3226        ) -> nvmlReturn_t,
3227        ::libloading::Error,
3228    >,
3229    pub nvmlDeviceGetMarginTemperature: Result<
3230        unsafe extern "C" fn(
3231            device: nvmlDevice_t,
3232            marginTempInfo: *mut nvmlMarginTemperature_t,
3233        ) -> nvmlReturn_t,
3234        ::libloading::Error,
3235    >,
3236    pub nvmlDeviceGetThermalSettings: Result<
3237        unsafe extern "C" fn(
3238            device: nvmlDevice_t,
3239            sensorIndex: raw::c_uint,
3240            pThermalSettings: *mut nvmlGpuThermalSettings_t,
3241        ) -> nvmlReturn_t,
3242        ::libloading::Error,
3243    >,
3244    pub nvmlDeviceGetPerformanceState: Result<
3245        unsafe extern "C" fn(device: nvmlDevice_t, pState: *mut nvmlPstates_t) -> nvmlReturn_t,
3246        ::libloading::Error,
3247    >,
3248    pub nvmlDeviceGetCurrentClocksEventReasons: Result<
3249        unsafe extern "C" fn(
3250            device: nvmlDevice_t,
3251            clocksEventReasons: *mut raw::c_ulonglong,
3252        ) -> nvmlReturn_t,
3253        ::libloading::Error,
3254    >,
3255    pub nvmlDeviceGetCurrentClocksThrottleReasons: Result<
3256        unsafe extern "C" fn(
3257            device: nvmlDevice_t,
3258            clocksThrottleReasons: *mut raw::c_ulonglong,
3259        ) -> nvmlReturn_t,
3260        ::libloading::Error,
3261    >,
3262    pub nvmlDeviceGetSupportedClocksEventReasons: Result<
3263        unsafe extern "C" fn(
3264            device: nvmlDevice_t,
3265            supportedClocksEventReasons: *mut raw::c_ulonglong,
3266        ) -> nvmlReturn_t,
3267        ::libloading::Error,
3268    >,
3269    pub nvmlDeviceGetSupportedClocksThrottleReasons: Result<
3270        unsafe extern "C" fn(
3271            device: nvmlDevice_t,
3272            supportedClocksThrottleReasons: *mut raw::c_ulonglong,
3273        ) -> nvmlReturn_t,
3274        ::libloading::Error,
3275    >,
3276    pub nvmlDeviceGetPowerState: Result<
3277        unsafe extern "C" fn(device: nvmlDevice_t, pState: *mut nvmlPstates_t) -> nvmlReturn_t,
3278        ::libloading::Error,
3279    >,
3280    pub nvmlDeviceGetDynamicPstatesInfo: Result<
3281        unsafe extern "C" fn(
3282            device: nvmlDevice_t,
3283            pDynamicPstatesInfo: *mut nvmlGpuDynamicPstatesInfo_t,
3284        ) -> nvmlReturn_t,
3285        ::libloading::Error,
3286    >,
3287    pub nvmlDeviceGetMemClkVfOffset: Result<
3288        unsafe extern "C" fn(device: nvmlDevice_t, offset: *mut raw::c_int) -> nvmlReturn_t,
3289        ::libloading::Error,
3290    >,
3291    pub nvmlDeviceGetMinMaxClockOfPState: Result<
3292        unsafe extern "C" fn(
3293            device: nvmlDevice_t,
3294            type_: nvmlClockType_t,
3295            pstate: nvmlPstates_t,
3296            minClockMHz: *mut raw::c_uint,
3297            maxClockMHz: *mut raw::c_uint,
3298        ) -> nvmlReturn_t,
3299        ::libloading::Error,
3300    >,
3301    pub nvmlDeviceGetSupportedPerformanceStates: Result<
3302        unsafe extern "C" fn(
3303            device: nvmlDevice_t,
3304            pstates: *mut nvmlPstates_t,
3305            size: raw::c_uint,
3306        ) -> nvmlReturn_t,
3307        ::libloading::Error,
3308    >,
3309    pub nvmlDeviceGetGpcClkMinMaxVfOffset: Result<
3310        unsafe extern "C" fn(
3311            device: nvmlDevice_t,
3312            minOffset: *mut raw::c_int,
3313            maxOffset: *mut raw::c_int,
3314        ) -> nvmlReturn_t,
3315        ::libloading::Error,
3316    >,
3317    pub nvmlDeviceGetMemClkMinMaxVfOffset: Result<
3318        unsafe extern "C" fn(
3319            device: nvmlDevice_t,
3320            minOffset: *mut raw::c_int,
3321            maxOffset: *mut raw::c_int,
3322        ) -> nvmlReturn_t,
3323        ::libloading::Error,
3324    >,
3325    pub nvmlDeviceGetClockOffsets: Result<
3326        unsafe extern "C" fn(device: nvmlDevice_t, info: *mut nvmlClockOffset_t) -> nvmlReturn_t,
3327        ::libloading::Error,
3328    >,
3329    pub nvmlDeviceSetClockOffsets: Result<
3330        unsafe extern "C" fn(device: nvmlDevice_t, info: *mut nvmlClockOffset_t) -> nvmlReturn_t,
3331        ::libloading::Error,
3332    >,
3333    pub nvmlDeviceGetPerformanceModes: Result<
3334        unsafe extern "C" fn(
3335            device: nvmlDevice_t,
3336            perfModes: *mut nvmlDevicePerfModes_t,
3337        ) -> nvmlReturn_t,
3338        ::libloading::Error,
3339    >,
3340    pub nvmlDeviceGetCurrentClockFreqs: Result<
3341        unsafe extern "C" fn(
3342            device: nvmlDevice_t,
3343            currentClockFreqs: *mut nvmlDeviceCurrentClockFreqs_t,
3344        ) -> nvmlReturn_t,
3345        ::libloading::Error,
3346    >,
3347    pub nvmlDeviceGetPowerManagementMode: Result<
3348        unsafe extern "C" fn(device: nvmlDevice_t, mode: *mut nvmlEnableState_t) -> nvmlReturn_t,
3349        ::libloading::Error,
3350    >,
3351    pub nvmlDeviceGetPowerManagementLimit: Result<
3352        unsafe extern "C" fn(device: nvmlDevice_t, limit: *mut raw::c_uint) -> nvmlReturn_t,
3353        ::libloading::Error,
3354    >,
3355    pub nvmlDeviceGetPowerManagementLimitConstraints: Result<
3356        unsafe extern "C" fn(
3357            device: nvmlDevice_t,
3358            minLimit: *mut raw::c_uint,
3359            maxLimit: *mut raw::c_uint,
3360        ) -> nvmlReturn_t,
3361        ::libloading::Error,
3362    >,
3363    pub nvmlDeviceGetPowerManagementDefaultLimit: Result<
3364        unsafe extern "C" fn(device: nvmlDevice_t, defaultLimit: *mut raw::c_uint) -> nvmlReturn_t,
3365        ::libloading::Error,
3366    >,
3367    pub nvmlDeviceGetPowerUsage: Result<
3368        unsafe extern "C" fn(device: nvmlDevice_t, power: *mut raw::c_uint) -> nvmlReturn_t,
3369        ::libloading::Error,
3370    >,
3371    pub nvmlDeviceGetPowerMizerMode_v1: Result<
3372        unsafe extern "C" fn(
3373            device: nvmlDevice_t,
3374            powerMizerMode: *mut nvmlDevicePowerMizerModes_v1_t,
3375        ) -> nvmlReturn_t,
3376        ::libloading::Error,
3377    >,
3378    pub nvmlDeviceSetPowerMizerMode_v1: Result<
3379        unsafe extern "C" fn(
3380            device: nvmlDevice_t,
3381            powerMizerMode: *mut nvmlDevicePowerMizerModes_v1_t,
3382        ) -> nvmlReturn_t,
3383        ::libloading::Error,
3384    >,
3385    pub nvmlDeviceGetTotalEnergyConsumption: Result<
3386        unsafe extern "C" fn(device: nvmlDevice_t, energy: *mut raw::c_ulonglong) -> nvmlReturn_t,
3387        ::libloading::Error,
3388    >,
3389    pub nvmlDeviceGetEnforcedPowerLimit: Result<
3390        unsafe extern "C" fn(device: nvmlDevice_t, limit: *mut raw::c_uint) -> nvmlReturn_t,
3391        ::libloading::Error,
3392    >,
3393    pub nvmlDeviceGetGpuOperationMode: Result<
3394        unsafe extern "C" fn(
3395            device: nvmlDevice_t,
3396            current: *mut nvmlGpuOperationMode_t,
3397            pending: *mut nvmlGpuOperationMode_t,
3398        ) -> nvmlReturn_t,
3399        ::libloading::Error,
3400    >,
3401    pub nvmlDeviceGetMemoryInfo: Result<
3402        unsafe extern "C" fn(device: nvmlDevice_t, memory: *mut nvmlMemory_t) -> nvmlReturn_t,
3403        ::libloading::Error,
3404    >,
3405    pub nvmlDeviceGetMemoryInfo_v2: Result<
3406        unsafe extern "C" fn(device: nvmlDevice_t, memory: *mut nvmlMemory_v2_t) -> nvmlReturn_t,
3407        ::libloading::Error,
3408    >,
3409    pub nvmlDeviceGetComputeMode: Result<
3410        unsafe extern "C" fn(device: nvmlDevice_t, mode: *mut nvmlComputeMode_t) -> nvmlReturn_t,
3411        ::libloading::Error,
3412    >,
3413    pub nvmlDeviceGetCudaComputeCapability: Result<
3414        unsafe extern "C" fn(
3415            device: nvmlDevice_t,
3416            major: *mut raw::c_int,
3417            minor: *mut raw::c_int,
3418        ) -> nvmlReturn_t,
3419        ::libloading::Error,
3420    >,
3421    pub nvmlDeviceGetDramEncryptionMode: Result<
3422        unsafe extern "C" fn(
3423            device: nvmlDevice_t,
3424            current: *mut nvmlDramEncryptionInfo_t,
3425            pending: *mut nvmlDramEncryptionInfo_t,
3426        ) -> nvmlReturn_t,
3427        ::libloading::Error,
3428    >,
3429    pub nvmlDeviceSetDramEncryptionMode: Result<
3430        unsafe extern "C" fn(
3431            device: nvmlDevice_t,
3432            dramEncryption: *const nvmlDramEncryptionInfo_t,
3433        ) -> nvmlReturn_t,
3434        ::libloading::Error,
3435    >,
3436    pub nvmlDeviceGetEccMode: Result<
3437        unsafe extern "C" fn(
3438            device: nvmlDevice_t,
3439            current: *mut nvmlEnableState_t,
3440            pending: *mut nvmlEnableState_t,
3441        ) -> nvmlReturn_t,
3442        ::libloading::Error,
3443    >,
3444    pub nvmlDeviceGetDefaultEccMode: Result<
3445        unsafe extern "C" fn(
3446            device: nvmlDevice_t,
3447            defaultMode: *mut nvmlEnableState_t,
3448        ) -> nvmlReturn_t,
3449        ::libloading::Error,
3450    >,
3451    pub nvmlDeviceGetBoardId: Result<
3452        unsafe extern "C" fn(device: nvmlDevice_t, boardId: *mut raw::c_uint) -> nvmlReturn_t,
3453        ::libloading::Error,
3454    >,
3455    pub nvmlDeviceGetMultiGpuBoard: Result<
3456        unsafe extern "C" fn(device: nvmlDevice_t, multiGpuBool: *mut raw::c_uint) -> nvmlReturn_t,
3457        ::libloading::Error,
3458    >,
3459    pub nvmlDeviceGetTotalEccErrors: Result<
3460        unsafe extern "C" fn(
3461            device: nvmlDevice_t,
3462            errorType: nvmlMemoryErrorType_t,
3463            counterType: nvmlEccCounterType_t,
3464            eccCounts: *mut raw::c_ulonglong,
3465        ) -> nvmlReturn_t,
3466        ::libloading::Error,
3467    >,
3468    pub nvmlDeviceGetDetailedEccErrors: Result<
3469        unsafe extern "C" fn(
3470            device: nvmlDevice_t,
3471            errorType: nvmlMemoryErrorType_t,
3472            counterType: nvmlEccCounterType_t,
3473            eccCounts: *mut nvmlEccErrorCounts_t,
3474        ) -> nvmlReturn_t,
3475        ::libloading::Error,
3476    >,
3477    pub nvmlDeviceGetMemoryErrorCounter: Result<
3478        unsafe extern "C" fn(
3479            device: nvmlDevice_t,
3480            errorType: nvmlMemoryErrorType_t,
3481            counterType: nvmlEccCounterType_t,
3482            locationType: nvmlMemoryLocation_t,
3483            count: *mut raw::c_ulonglong,
3484        ) -> nvmlReturn_t,
3485        ::libloading::Error,
3486    >,
3487    pub nvmlDeviceGetUtilizationRates: Result<
3488        unsafe extern "C" fn(
3489            device: nvmlDevice_t,
3490            utilization: *mut nvmlUtilization_t,
3491        ) -> nvmlReturn_t,
3492        ::libloading::Error,
3493    >,
3494    pub nvmlDeviceGetEncoderUtilization: Result<
3495        unsafe extern "C" fn(
3496            device: nvmlDevice_t,
3497            utilization: *mut raw::c_uint,
3498            samplingPeriodUs: *mut raw::c_uint,
3499        ) -> nvmlReturn_t,
3500        ::libloading::Error,
3501    >,
3502    pub nvmlDeviceGetEncoderCapacity: Result<
3503        unsafe extern "C" fn(
3504            device: nvmlDevice_t,
3505            encoderQueryType: nvmlEncoderType_t,
3506            encoderCapacity: *mut raw::c_uint,
3507        ) -> nvmlReturn_t,
3508        ::libloading::Error,
3509    >,
3510    pub nvmlDeviceGetEncoderStats: Result<
3511        unsafe extern "C" fn(
3512            device: nvmlDevice_t,
3513            sessionCount: *mut raw::c_uint,
3514            averageFps: *mut raw::c_uint,
3515            averageLatency: *mut raw::c_uint,
3516        ) -> nvmlReturn_t,
3517        ::libloading::Error,
3518    >,
3519    pub nvmlDeviceGetEncoderSessions: Result<
3520        unsafe extern "C" fn(
3521            device: nvmlDevice_t,
3522            sessionCount: *mut raw::c_uint,
3523            sessionInfos: *mut nvmlEncoderSessionInfo_t,
3524        ) -> nvmlReturn_t,
3525        ::libloading::Error,
3526    >,
3527    pub nvmlDeviceGetDecoderUtilization: Result<
3528        unsafe extern "C" fn(
3529            device: nvmlDevice_t,
3530            utilization: *mut raw::c_uint,
3531            samplingPeriodUs: *mut raw::c_uint,
3532        ) -> nvmlReturn_t,
3533        ::libloading::Error,
3534    >,
3535    pub nvmlDeviceGetJpgUtilization: Result<
3536        unsafe extern "C" fn(
3537            device: nvmlDevice_t,
3538            utilization: *mut raw::c_uint,
3539            samplingPeriodUs: *mut raw::c_uint,
3540        ) -> nvmlReturn_t,
3541        ::libloading::Error,
3542    >,
3543    pub nvmlDeviceGetOfaUtilization: Result<
3544        unsafe extern "C" fn(
3545            device: nvmlDevice_t,
3546            utilization: *mut raw::c_uint,
3547            samplingPeriodUs: *mut raw::c_uint,
3548        ) -> nvmlReturn_t,
3549        ::libloading::Error,
3550    >,
3551    pub nvmlDeviceGetFBCStats: Result<
3552        unsafe extern "C" fn(device: nvmlDevice_t, fbcStats: *mut nvmlFBCStats_t) -> nvmlReturn_t,
3553        ::libloading::Error,
3554    >,
3555    pub nvmlDeviceGetFBCSessions: Result<
3556        unsafe extern "C" fn(
3557            device: nvmlDevice_t,
3558            sessionCount: *mut raw::c_uint,
3559            sessionInfo: *mut nvmlFBCSessionInfo_t,
3560        ) -> nvmlReturn_t,
3561        ::libloading::Error,
3562    >,
3563    pub nvmlDeviceGetDriverModel_v2: Result<
3564        unsafe extern "C" fn(
3565            device: nvmlDevice_t,
3566            current: *mut nvmlDriverModel_t,
3567            pending: *mut nvmlDriverModel_t,
3568        ) -> nvmlReturn_t,
3569        ::libloading::Error,
3570    >,
3571    pub nvmlDeviceGetVbiosVersion: Result<
3572        unsafe extern "C" fn(
3573            device: nvmlDevice_t,
3574            version: *mut raw::c_char,
3575            length: raw::c_uint,
3576        ) -> nvmlReturn_t,
3577        ::libloading::Error,
3578    >,
3579    pub nvmlDeviceGetBridgeChipInfo: Result<
3580        unsafe extern "C" fn(
3581            device: nvmlDevice_t,
3582            bridgeHierarchy: *mut nvmlBridgeChipHierarchy_t,
3583        ) -> nvmlReturn_t,
3584        ::libloading::Error,
3585    >,
3586    pub nvmlDeviceGetComputeRunningProcesses_v3: Result<
3587        unsafe extern "C" fn(
3588            device: nvmlDevice_t,
3589            infoCount: *mut raw::c_uint,
3590            infos: *mut nvmlProcessInfo_t,
3591        ) -> nvmlReturn_t,
3592        ::libloading::Error,
3593    >,
3594    pub nvmlDeviceGetGraphicsRunningProcesses_v3: Result<
3595        unsafe extern "C" fn(
3596            device: nvmlDevice_t,
3597            infoCount: *mut raw::c_uint,
3598            infos: *mut nvmlProcessInfo_t,
3599        ) -> nvmlReturn_t,
3600        ::libloading::Error,
3601    >,
3602    pub nvmlDeviceGetMPSComputeRunningProcesses_v3: Result<
3603        unsafe extern "C" fn(
3604            device: nvmlDevice_t,
3605            infoCount: *mut raw::c_uint,
3606            infos: *mut nvmlProcessInfo_t,
3607        ) -> nvmlReturn_t,
3608        ::libloading::Error,
3609    >,
3610    pub nvmlDeviceGetRunningProcessDetailList: Result<
3611        unsafe extern "C" fn(
3612            device: nvmlDevice_t,
3613            plist: *mut nvmlProcessDetailList_t,
3614        ) -> nvmlReturn_t,
3615        ::libloading::Error,
3616    >,
3617    pub nvmlDeviceOnSameBoard: Result<
3618        unsafe extern "C" fn(
3619            device1: nvmlDevice_t,
3620            device2: nvmlDevice_t,
3621            onSameBoard: *mut raw::c_int,
3622        ) -> nvmlReturn_t,
3623        ::libloading::Error,
3624    >,
3625    pub nvmlDeviceGetAPIRestriction: Result<
3626        unsafe extern "C" fn(
3627            device: nvmlDevice_t,
3628            apiType: nvmlRestrictedAPI_t,
3629            isRestricted: *mut nvmlEnableState_t,
3630        ) -> nvmlReturn_t,
3631        ::libloading::Error,
3632    >,
3633    pub nvmlDeviceGetSamples: Result<
3634        unsafe extern "C" fn(
3635            device: nvmlDevice_t,
3636            type_: nvmlSamplingType_t,
3637            lastSeenTimeStamp: raw::c_ulonglong,
3638            sampleValType: *mut nvmlValueType_t,
3639            sampleCount: *mut raw::c_uint,
3640            samples: *mut nvmlSample_t,
3641        ) -> nvmlReturn_t,
3642        ::libloading::Error,
3643    >,
3644    pub nvmlDeviceGetBAR1MemoryInfo: Result<
3645        unsafe extern "C" fn(
3646            device: nvmlDevice_t,
3647            bar1Memory: *mut nvmlBAR1Memory_t,
3648        ) -> nvmlReturn_t,
3649        ::libloading::Error,
3650    >,
3651    pub nvmlDeviceGetViolationStatus: Result<
3652        unsafe extern "C" fn(
3653            device: nvmlDevice_t,
3654            perfPolicyType: nvmlPerfPolicyType_t,
3655            violTime: *mut nvmlViolationTime_t,
3656        ) -> nvmlReturn_t,
3657        ::libloading::Error,
3658    >,
3659    pub nvmlDeviceGetIrqNum: Result<
3660        unsafe extern "C" fn(device: nvmlDevice_t, irqNum: *mut raw::c_uint) -> nvmlReturn_t,
3661        ::libloading::Error,
3662    >,
3663    pub nvmlDeviceGetNumGpuCores: Result<
3664        unsafe extern "C" fn(device: nvmlDevice_t, numCores: *mut raw::c_uint) -> nvmlReturn_t,
3665        ::libloading::Error,
3666    >,
3667    pub nvmlDeviceGetPowerSource: Result<
3668        unsafe extern "C" fn(
3669            device: nvmlDevice_t,
3670            powerSource: *mut nvmlPowerSource_t,
3671        ) -> nvmlReturn_t,
3672        ::libloading::Error,
3673    >,
3674    pub nvmlDeviceGetMemoryBusWidth: Result<
3675        unsafe extern "C" fn(device: nvmlDevice_t, busWidth: *mut raw::c_uint) -> nvmlReturn_t,
3676        ::libloading::Error,
3677    >,
3678    pub nvmlDeviceGetPcieLinkMaxSpeed: Result<
3679        unsafe extern "C" fn(device: nvmlDevice_t, maxSpeed: *mut raw::c_uint) -> nvmlReturn_t,
3680        ::libloading::Error,
3681    >,
3682    pub nvmlDeviceGetPcieSpeed: Result<
3683        unsafe extern "C" fn(device: nvmlDevice_t, pcieSpeed: *mut raw::c_uint) -> nvmlReturn_t,
3684        ::libloading::Error,
3685    >,
3686    pub nvmlDeviceGetAdaptiveClockInfoStatus: Result<
3687        unsafe extern "C" fn(
3688            device: nvmlDevice_t,
3689            adaptiveClockStatus: *mut raw::c_uint,
3690        ) -> nvmlReturn_t,
3691        ::libloading::Error,
3692    >,
3693    pub nvmlDeviceGetBusType: Result<
3694        unsafe extern "C" fn(device: nvmlDevice_t, type_: *mut nvmlBusType_t) -> nvmlReturn_t,
3695        ::libloading::Error,
3696    >,
3697    pub nvmlDeviceGetGpuFabricInfo: Result<
3698        unsafe extern "C" fn(
3699            device: nvmlDevice_t,
3700            gpuFabricInfo: *mut nvmlGpuFabricInfo_t,
3701        ) -> nvmlReturn_t,
3702        ::libloading::Error,
3703    >,
3704    pub nvmlDeviceGetGpuFabricInfoV: Result<
3705        unsafe extern "C" fn(
3706            device: nvmlDevice_t,
3707            gpuFabricInfo: *mut nvmlGpuFabricInfoV_t,
3708        ) -> nvmlReturn_t,
3709        ::libloading::Error,
3710    >,
3711    pub nvmlSystemGetConfComputeCapabilities: Result<
3712        unsafe extern "C" fn(capabilities: *mut nvmlConfComputeSystemCaps_t) -> nvmlReturn_t,
3713        ::libloading::Error,
3714    >,
3715    pub nvmlSystemGetConfComputeState: Result<
3716        unsafe extern "C" fn(state: *mut nvmlConfComputeSystemState_t) -> nvmlReturn_t,
3717        ::libloading::Error,
3718    >,
3719    pub nvmlDeviceGetConfComputeMemSizeInfo: Result<
3720        unsafe extern "C" fn(
3721            device: nvmlDevice_t,
3722            memInfo: *mut nvmlConfComputeMemSizeInfo_t,
3723        ) -> nvmlReturn_t,
3724        ::libloading::Error,
3725    >,
3726    pub nvmlSystemGetConfComputeGpusReadyState: Result<
3727        unsafe extern "C" fn(isAcceptingWork: *mut raw::c_uint) -> nvmlReturn_t,
3728        ::libloading::Error,
3729    >,
3730    pub nvmlDeviceGetConfComputeProtectedMemoryUsage: Result<
3731        unsafe extern "C" fn(device: nvmlDevice_t, memory: *mut nvmlMemory_t) -> nvmlReturn_t,
3732        ::libloading::Error,
3733    >,
3734    pub nvmlDeviceGetConfComputeGpuCertificate: Result<
3735        unsafe extern "C" fn(
3736            device: nvmlDevice_t,
3737            gpuCert: *mut nvmlConfComputeGpuCertificate_t,
3738        ) -> nvmlReturn_t,
3739        ::libloading::Error,
3740    >,
3741    pub nvmlDeviceGetConfComputeGpuAttestationReport: Result<
3742        unsafe extern "C" fn(
3743            device: nvmlDevice_t,
3744            gpuAtstReport: *mut nvmlConfComputeGpuAttestationReport_t,
3745        ) -> nvmlReturn_t,
3746        ::libloading::Error,
3747    >,
3748    pub nvmlSystemGetConfComputeKeyRotationThresholdInfo: Result<
3749        unsafe extern "C" fn(
3750            pKeyRotationThrInfo: *mut nvmlConfComputeGetKeyRotationThresholdInfo_t,
3751        ) -> nvmlReturn_t,
3752        ::libloading::Error,
3753    >,
3754    pub nvmlDeviceSetConfComputeUnprotectedMemSize: Result<
3755        unsafe extern "C" fn(device: nvmlDevice_t, sizeKiB: raw::c_ulonglong) -> nvmlReturn_t,
3756        ::libloading::Error,
3757    >,
3758    pub nvmlSystemSetConfComputeGpusReadyState: Result<
3759        unsafe extern "C" fn(isAcceptingWork: raw::c_uint) -> nvmlReturn_t,
3760        ::libloading::Error,
3761    >,
3762    pub nvmlSystemSetConfComputeKeyRotationThresholdInfo: Result<
3763        unsafe extern "C" fn(
3764            pKeyRotationThrInfo: *mut nvmlConfComputeSetKeyRotationThresholdInfo_t,
3765        ) -> nvmlReturn_t,
3766        ::libloading::Error,
3767    >,
3768    pub nvmlSystemGetConfComputeSettings: Result<
3769        unsafe extern "C" fn(settings: *mut nvmlSystemConfComputeSettings_t) -> nvmlReturn_t,
3770        ::libloading::Error,
3771    >,
3772    pub nvmlDeviceGetGspFirmwareVersion: Result<
3773        unsafe extern "C" fn(device: nvmlDevice_t, version: *mut raw::c_char) -> nvmlReturn_t,
3774        ::libloading::Error,
3775    >,
3776    pub nvmlDeviceGetGspFirmwareMode: Result<
3777        unsafe extern "C" fn(
3778            device: nvmlDevice_t,
3779            isEnabled: *mut raw::c_uint,
3780            defaultMode: *mut raw::c_uint,
3781        ) -> nvmlReturn_t,
3782        ::libloading::Error,
3783    >,
3784    pub nvmlDeviceGetSramEccErrorStatus: Result<
3785        unsafe extern "C" fn(
3786            device: nvmlDevice_t,
3787            status: *mut nvmlEccSramErrorStatus_t,
3788        ) -> nvmlReturn_t,
3789        ::libloading::Error,
3790    >,
3791    pub nvmlDeviceSetPowerManagementLimit_v2: Result<
3792        unsafe extern "C" fn(
3793            device: nvmlDevice_t,
3794            powerValue: *mut nvmlPowerValue_v2_t,
3795        ) -> nvmlReturn_t,
3796        ::libloading::Error,
3797    >,
3798    pub nvmlDeviceGetAccountingMode: Result<
3799        unsafe extern "C" fn(device: nvmlDevice_t, mode: *mut nvmlEnableState_t) -> nvmlReturn_t,
3800        ::libloading::Error,
3801    >,
3802    pub nvmlDeviceGetAccountingStats: Result<
3803        unsafe extern "C" fn(
3804            device: nvmlDevice_t,
3805            pid: raw::c_uint,
3806            stats: *mut nvmlAccountingStats_t,
3807        ) -> nvmlReturn_t,
3808        ::libloading::Error,
3809    >,
3810    pub nvmlDeviceGetAccountingPids: Result<
3811        unsafe extern "C" fn(
3812            device: nvmlDevice_t,
3813            count: *mut raw::c_uint,
3814            pids: *mut raw::c_uint,
3815        ) -> nvmlReturn_t,
3816        ::libloading::Error,
3817    >,
3818    pub nvmlDeviceGetAccountingBufferSize: Result<
3819        unsafe extern "C" fn(device: nvmlDevice_t, bufferSize: *mut raw::c_uint) -> nvmlReturn_t,
3820        ::libloading::Error,
3821    >,
3822    pub nvmlDeviceGetRetiredPages: Result<
3823        unsafe extern "C" fn(
3824            device: nvmlDevice_t,
3825            cause: nvmlPageRetirementCause_t,
3826            pageCount: *mut raw::c_uint,
3827            addresses: *mut raw::c_ulonglong,
3828        ) -> nvmlReturn_t,
3829        ::libloading::Error,
3830    >,
3831    pub nvmlDeviceGetRetiredPages_v2: Result<
3832        unsafe extern "C" fn(
3833            device: nvmlDevice_t,
3834            cause: nvmlPageRetirementCause_t,
3835            pageCount: *mut raw::c_uint,
3836            addresses: *mut raw::c_ulonglong,
3837            timestamps: *mut raw::c_ulonglong,
3838        ) -> nvmlReturn_t,
3839        ::libloading::Error,
3840    >,
3841    pub nvmlDeviceGetRetiredPagesPendingStatus: Result<
3842        unsafe extern "C" fn(
3843            device: nvmlDevice_t,
3844            isPending: *mut nvmlEnableState_t,
3845        ) -> nvmlReturn_t,
3846        ::libloading::Error,
3847    >,
3848    pub nvmlDeviceGetRemappedRows: Result<
3849        unsafe extern "C" fn(
3850            device: nvmlDevice_t,
3851            corrRows: *mut raw::c_uint,
3852            uncRows: *mut raw::c_uint,
3853            isPending: *mut raw::c_uint,
3854            failureOccurred: *mut raw::c_uint,
3855        ) -> nvmlReturn_t,
3856        ::libloading::Error,
3857    >,
3858    pub nvmlDeviceGetRowRemapperHistogram: Result<
3859        unsafe extern "C" fn(
3860            device: nvmlDevice_t,
3861            values: *mut nvmlRowRemapperHistogramValues_t,
3862        ) -> nvmlReturn_t,
3863        ::libloading::Error,
3864    >,
3865    pub nvmlDeviceGetArchitecture: Result<
3866        unsafe extern "C" fn(
3867            device: nvmlDevice_t,
3868            arch: *mut nvmlDeviceArchitecture_t,
3869        ) -> nvmlReturn_t,
3870        ::libloading::Error,
3871    >,
3872    pub nvmlDeviceGetClkMonStatus: Result<
3873        unsafe extern "C" fn(device: nvmlDevice_t, status: *mut nvmlClkMonStatus_t) -> nvmlReturn_t,
3874        ::libloading::Error,
3875    >,
3876    pub nvmlDeviceGetProcessUtilization: Result<
3877        unsafe extern "C" fn(
3878            device: nvmlDevice_t,
3879            utilization: *mut nvmlProcessUtilizationSample_t,
3880            processSamplesCount: *mut raw::c_uint,
3881            lastSeenTimeStamp: raw::c_ulonglong,
3882        ) -> nvmlReturn_t,
3883        ::libloading::Error,
3884    >,
3885    pub nvmlDeviceGetProcessesUtilizationInfo: Result<
3886        unsafe extern "C" fn(
3887            device: nvmlDevice_t,
3888            procesesUtilInfo: *mut nvmlProcessesUtilizationInfo_t,
3889        ) -> nvmlReturn_t,
3890        ::libloading::Error,
3891    >,
3892    pub nvmlDeviceGetPlatformInfo: Result<
3893        unsafe extern "C" fn(
3894            device: nvmlDevice_t,
3895            platformInfo: *mut nvmlPlatformInfo_t,
3896        ) -> nvmlReturn_t,
3897        ::libloading::Error,
3898    >,
3899    pub nvmlDeviceGetPdi: Result<
3900        unsafe extern "C" fn(device: nvmlDevice_t, pdi: *mut nvmlPdi_t) -> nvmlReturn_t,
3901        ::libloading::Error,
3902    >,
3903    pub nvmlUnitSetLedState: Result<
3904        unsafe extern "C" fn(unit: nvmlUnit_t, color: nvmlLedColor_t) -> nvmlReturn_t,
3905        ::libloading::Error,
3906    >,
3907    pub nvmlDeviceSetPersistenceMode: Result<
3908        unsafe extern "C" fn(device: nvmlDevice_t, mode: nvmlEnableState_t) -> nvmlReturn_t,
3909        ::libloading::Error,
3910    >,
3911    pub nvmlDeviceSetComputeMode: Result<
3912        unsafe extern "C" fn(device: nvmlDevice_t, mode: nvmlComputeMode_t) -> nvmlReturn_t,
3913        ::libloading::Error,
3914    >,
3915    pub nvmlDeviceSetEccMode: Result<
3916        unsafe extern "C" fn(device: nvmlDevice_t, ecc: nvmlEnableState_t) -> nvmlReturn_t,
3917        ::libloading::Error,
3918    >,
3919    pub nvmlDeviceClearEccErrorCounts: Result<
3920        unsafe extern "C" fn(
3921            device: nvmlDevice_t,
3922            counterType: nvmlEccCounterType_t,
3923        ) -> nvmlReturn_t,
3924        ::libloading::Error,
3925    >,
3926    pub nvmlDeviceSetDriverModel: Result<
3927        unsafe extern "C" fn(
3928            device: nvmlDevice_t,
3929            driverModel: nvmlDriverModel_t,
3930            flags: raw::c_uint,
3931        ) -> nvmlReturn_t,
3932        ::libloading::Error,
3933    >,
3934    pub nvmlDeviceSetGpuLockedClocks: Result<
3935        unsafe extern "C" fn(
3936            device: nvmlDevice_t,
3937            minGpuClockMHz: raw::c_uint,
3938            maxGpuClockMHz: raw::c_uint,
3939        ) -> nvmlReturn_t,
3940        ::libloading::Error,
3941    >,
3942    pub nvmlDeviceResetGpuLockedClocks:
3943        Result<unsafe extern "C" fn(device: nvmlDevice_t) -> nvmlReturn_t, ::libloading::Error>,
3944    pub nvmlDeviceSetMemoryLockedClocks: Result<
3945        unsafe extern "C" fn(
3946            device: nvmlDevice_t,
3947            minMemClockMHz: raw::c_uint,
3948            maxMemClockMHz: raw::c_uint,
3949        ) -> nvmlReturn_t,
3950        ::libloading::Error,
3951    >,
3952    pub nvmlDeviceResetMemoryLockedClocks:
3953        Result<unsafe extern "C" fn(device: nvmlDevice_t) -> nvmlReturn_t, ::libloading::Error>,
3954    pub nvmlDeviceSetApplicationsClocks: Result<
3955        unsafe extern "C" fn(
3956            device: nvmlDevice_t,
3957            memClockMHz: raw::c_uint,
3958            graphicsClockMHz: raw::c_uint,
3959        ) -> nvmlReturn_t,
3960        ::libloading::Error,
3961    >,
3962    pub nvmlDeviceResetApplicationsClocks:
3963        Result<unsafe extern "C" fn(device: nvmlDevice_t) -> nvmlReturn_t, ::libloading::Error>,
3964    pub nvmlDeviceSetAutoBoostedClocksEnabled: Result<
3965        unsafe extern "C" fn(device: nvmlDevice_t, enabled: nvmlEnableState_t) -> nvmlReturn_t,
3966        ::libloading::Error,
3967    >,
3968    pub nvmlDeviceSetDefaultAutoBoostedClocksEnabled: Result<
3969        unsafe extern "C" fn(
3970            device: nvmlDevice_t,
3971            enabled: nvmlEnableState_t,
3972            flags: raw::c_uint,
3973        ) -> nvmlReturn_t,
3974        ::libloading::Error,
3975    >,
3976    pub nvmlDeviceSetDefaultFanSpeed_v2: Result<
3977        unsafe extern "C" fn(device: nvmlDevice_t, fan: raw::c_uint) -> nvmlReturn_t,
3978        ::libloading::Error,
3979    >,
3980    pub nvmlDeviceSetFanControlPolicy: Result<
3981        unsafe extern "C" fn(
3982            device: nvmlDevice_t,
3983            fan: raw::c_uint,
3984            policy: nvmlFanControlPolicy_t,
3985        ) -> nvmlReturn_t,
3986        ::libloading::Error,
3987    >,
3988    pub nvmlDeviceSetTemperatureThreshold: Result<
3989        unsafe extern "C" fn(
3990            device: nvmlDevice_t,
3991            thresholdType: nvmlTemperatureThresholds_t,
3992            temp: *mut raw::c_int,
3993        ) -> nvmlReturn_t,
3994        ::libloading::Error,
3995    >,
3996    pub nvmlDeviceSetPowerManagementLimit: Result<
3997        unsafe extern "C" fn(device: nvmlDevice_t, limit: raw::c_uint) -> nvmlReturn_t,
3998        ::libloading::Error,
3999    >,
4000    pub nvmlDeviceSetGpuOperationMode: Result<
4001        unsafe extern "C" fn(device: nvmlDevice_t, mode: nvmlGpuOperationMode_t) -> nvmlReturn_t,
4002        ::libloading::Error,
4003    >,
4004    pub nvmlDeviceSetAPIRestriction: Result<
4005        unsafe extern "C" fn(
4006            device: nvmlDevice_t,
4007            apiType: nvmlRestrictedAPI_t,
4008            isRestricted: nvmlEnableState_t,
4009        ) -> nvmlReturn_t,
4010        ::libloading::Error,
4011    >,
4012    pub nvmlDeviceSetFanSpeed_v2: Result<
4013        unsafe extern "C" fn(
4014            device: nvmlDevice_t,
4015            fan: raw::c_uint,
4016            speed: raw::c_uint,
4017        ) -> nvmlReturn_t,
4018        ::libloading::Error,
4019    >,
4020    pub nvmlDeviceSetGpcClkVfOffset: Result<
4021        unsafe extern "C" fn(device: nvmlDevice_t, offset: raw::c_int) -> nvmlReturn_t,
4022        ::libloading::Error,
4023    >,
4024    pub nvmlDeviceSetMemClkVfOffset: Result<
4025        unsafe extern "C" fn(device: nvmlDevice_t, offset: raw::c_int) -> nvmlReturn_t,
4026        ::libloading::Error,
4027    >,
4028    pub nvmlDeviceSetAccountingMode: Result<
4029        unsafe extern "C" fn(device: nvmlDevice_t, mode: nvmlEnableState_t) -> nvmlReturn_t,
4030        ::libloading::Error,
4031    >,
4032    pub nvmlDeviceClearAccountingPids:
4033        Result<unsafe extern "C" fn(device: nvmlDevice_t) -> nvmlReturn_t, ::libloading::Error>,
4034    pub nvmlDeviceGetNvLinkState: Result<
4035        unsafe extern "C" fn(
4036            device: nvmlDevice_t,
4037            link: raw::c_uint,
4038            isActive: *mut nvmlEnableState_t,
4039        ) -> nvmlReturn_t,
4040        ::libloading::Error,
4041    >,
4042    pub nvmlDeviceGetNvLinkVersion: Result<
4043        unsafe extern "C" fn(
4044            device: nvmlDevice_t,
4045            link: raw::c_uint,
4046            version: *mut raw::c_uint,
4047        ) -> nvmlReturn_t,
4048        ::libloading::Error,
4049    >,
4050    pub nvmlDeviceGetNvLinkCapability: Result<
4051        unsafe extern "C" fn(
4052            device: nvmlDevice_t,
4053            link: raw::c_uint,
4054            capability: nvmlNvLinkCapability_t,
4055            capResult: *mut raw::c_uint,
4056        ) -> nvmlReturn_t,
4057        ::libloading::Error,
4058    >,
4059    pub nvmlDeviceGetNvLinkRemotePciInfo_v2: Result<
4060        unsafe extern "C" fn(
4061            device: nvmlDevice_t,
4062            link: raw::c_uint,
4063            pci: *mut nvmlPciInfo_t,
4064        ) -> nvmlReturn_t,
4065        ::libloading::Error,
4066    >,
4067    pub nvmlDeviceGetNvLinkErrorCounter: Result<
4068        unsafe extern "C" fn(
4069            device: nvmlDevice_t,
4070            link: raw::c_uint,
4071            counter: nvmlNvLinkErrorCounter_t,
4072            counterValue: *mut raw::c_ulonglong,
4073        ) -> nvmlReturn_t,
4074        ::libloading::Error,
4075    >,
4076    pub nvmlDeviceResetNvLinkErrorCounters: Result<
4077        unsafe extern "C" fn(device: nvmlDevice_t, link: raw::c_uint) -> nvmlReturn_t,
4078        ::libloading::Error,
4079    >,
4080    pub nvmlDeviceSetNvLinkUtilizationControl: Result<
4081        unsafe extern "C" fn(
4082            device: nvmlDevice_t,
4083            link: raw::c_uint,
4084            counter: raw::c_uint,
4085            control: *mut nvmlNvLinkUtilizationControl_t,
4086            reset: raw::c_uint,
4087        ) -> nvmlReturn_t,
4088        ::libloading::Error,
4089    >,
4090    pub nvmlDeviceGetNvLinkUtilizationControl: Result<
4091        unsafe extern "C" fn(
4092            device: nvmlDevice_t,
4093            link: raw::c_uint,
4094            counter: raw::c_uint,
4095            control: *mut nvmlNvLinkUtilizationControl_t,
4096        ) -> nvmlReturn_t,
4097        ::libloading::Error,
4098    >,
4099    pub nvmlDeviceGetNvLinkUtilizationCounter: Result<
4100        unsafe extern "C" fn(
4101            device: nvmlDevice_t,
4102            link: raw::c_uint,
4103            counter: raw::c_uint,
4104            rxcounter: *mut raw::c_ulonglong,
4105            txcounter: *mut raw::c_ulonglong,
4106        ) -> nvmlReturn_t,
4107        ::libloading::Error,
4108    >,
4109    pub nvmlDeviceFreezeNvLinkUtilizationCounter: Result<
4110        unsafe extern "C" fn(
4111            device: nvmlDevice_t,
4112            link: raw::c_uint,
4113            counter: raw::c_uint,
4114            freeze: nvmlEnableState_t,
4115        ) -> nvmlReturn_t,
4116        ::libloading::Error,
4117    >,
4118    pub nvmlDeviceResetNvLinkUtilizationCounter: Result<
4119        unsafe extern "C" fn(
4120            device: nvmlDevice_t,
4121            link: raw::c_uint,
4122            counter: raw::c_uint,
4123        ) -> nvmlReturn_t,
4124        ::libloading::Error,
4125    >,
4126    pub nvmlDeviceGetNvLinkRemoteDeviceType: Result<
4127        unsafe extern "C" fn(
4128            device: nvmlDevice_t,
4129            link: raw::c_uint,
4130            pNvLinkDeviceType: *mut nvmlIntNvLinkDeviceType_t,
4131        ) -> nvmlReturn_t,
4132        ::libloading::Error,
4133    >,
4134    pub nvmlDeviceSetNvLinkDeviceLowPowerThreshold: Result<
4135        unsafe extern "C" fn(
4136            device: nvmlDevice_t,
4137            info: *mut nvmlNvLinkPowerThres_t,
4138        ) -> nvmlReturn_t,
4139        ::libloading::Error,
4140    >,
4141    pub nvmlSystemSetNvlinkBwMode: Result<
4142        unsafe extern "C" fn(nvlinkBwMode: raw::c_uint) -> nvmlReturn_t,
4143        ::libloading::Error,
4144    >,
4145    pub nvmlSystemGetNvlinkBwMode: Result<
4146        unsafe extern "C" fn(nvlinkBwMode: *mut raw::c_uint) -> nvmlReturn_t,
4147        ::libloading::Error,
4148    >,
4149    pub nvmlDeviceGetNvlinkSupportedBwModes: Result<
4150        unsafe extern "C" fn(
4151            device: nvmlDevice_t,
4152            supportedBwMode: *mut nvmlNvlinkSupportedBwModes_t,
4153        ) -> nvmlReturn_t,
4154        ::libloading::Error,
4155    >,
4156    pub nvmlDeviceGetNvlinkBwMode: Result<
4157        unsafe extern "C" fn(
4158            device: nvmlDevice_t,
4159            getBwMode: *mut nvmlNvlinkGetBwMode_t,
4160        ) -> nvmlReturn_t,
4161        ::libloading::Error,
4162    >,
4163    pub nvmlDeviceSetNvlinkBwMode: Result<
4164        unsafe extern "C" fn(
4165            device: nvmlDevice_t,
4166            setBwMode: *mut nvmlNvlinkSetBwMode_t,
4167        ) -> nvmlReturn_t,
4168        ::libloading::Error,
4169    >,
4170    pub nvmlDeviceGetNvLinkInfo: Result<
4171        unsafe extern "C" fn(device: nvmlDevice_t, info: *mut nvmlNvLinkInfo_t) -> nvmlReturn_t,
4172        ::libloading::Error,
4173    >,
4174    pub nvmlEventSetCreate:
4175        Result<unsafe extern "C" fn(set: *mut nvmlEventSet_t) -> nvmlReturn_t, ::libloading::Error>,
4176    pub nvmlDeviceRegisterEvents: Result<
4177        unsafe extern "C" fn(
4178            device: nvmlDevice_t,
4179            eventTypes: raw::c_ulonglong,
4180            set: nvmlEventSet_t,
4181        ) -> nvmlReturn_t,
4182        ::libloading::Error,
4183    >,
4184    pub nvmlDeviceGetSupportedEventTypes: Result<
4185        unsafe extern "C" fn(
4186            device: nvmlDevice_t,
4187            eventTypes: *mut raw::c_ulonglong,
4188        ) -> nvmlReturn_t,
4189        ::libloading::Error,
4190    >,
4191    pub nvmlEventSetWait_v2: Result<
4192        unsafe extern "C" fn(
4193            set: nvmlEventSet_t,
4194            data: *mut nvmlEventData_t,
4195            timeoutms: raw::c_uint,
4196        ) -> nvmlReturn_t,
4197        ::libloading::Error,
4198    >,
4199    pub nvmlEventSetFree:
4200        Result<unsafe extern "C" fn(set: nvmlEventSet_t) -> nvmlReturn_t, ::libloading::Error>,
4201    pub nvmlSystemEventSetCreate: Result<
4202        unsafe extern "C" fn(request: *mut nvmlSystemEventSetCreateRequest_t) -> nvmlReturn_t,
4203        ::libloading::Error,
4204    >,
4205    pub nvmlSystemEventSetFree: Result<
4206        unsafe extern "C" fn(request: *mut nvmlSystemEventSetFreeRequest_t) -> nvmlReturn_t,
4207        ::libloading::Error,
4208    >,
4209    pub nvmlSystemRegisterEvents: Result<
4210        unsafe extern "C" fn(request: *mut nvmlSystemRegisterEventRequest_t) -> nvmlReturn_t,
4211        ::libloading::Error,
4212    >,
4213    pub nvmlSystemEventSetWait: Result<
4214        unsafe extern "C" fn(request: *mut nvmlSystemEventSetWaitRequest_t) -> nvmlReturn_t,
4215        ::libloading::Error,
4216    >,
4217    pub nvmlDeviceModifyDrainState: Result<
4218        unsafe extern "C" fn(
4219            pciInfo: *mut nvmlPciInfo_t,
4220            newState: nvmlEnableState_t,
4221        ) -> nvmlReturn_t,
4222        ::libloading::Error,
4223    >,
4224    pub nvmlDeviceQueryDrainState: Result<
4225        unsafe extern "C" fn(
4226            pciInfo: *mut nvmlPciInfo_t,
4227            currentState: *mut nvmlEnableState_t,
4228        ) -> nvmlReturn_t,
4229        ::libloading::Error,
4230    >,
4231    pub nvmlDeviceRemoveGpu_v2: Result<
4232        unsafe extern "C" fn(
4233            pciInfo: *mut nvmlPciInfo_t,
4234            gpuState: nvmlDetachGpuState_t,
4235            linkState: nvmlPcieLinkState_t,
4236        ) -> nvmlReturn_t,
4237        ::libloading::Error,
4238    >,
4239    pub nvmlDeviceDiscoverGpus: Result<
4240        unsafe extern "C" fn(pciInfo: *mut nvmlPciInfo_t) -> nvmlReturn_t,
4241        ::libloading::Error,
4242    >,
4243    pub nvmlDeviceGetFieldValues: Result<
4244        unsafe extern "C" fn(
4245            device: nvmlDevice_t,
4246            valuesCount: raw::c_int,
4247            values: *mut nvmlFieldValue_t,
4248        ) -> nvmlReturn_t,
4249        ::libloading::Error,
4250    >,
4251    pub nvmlDeviceClearFieldValues: Result<
4252        unsafe extern "C" fn(
4253            device: nvmlDevice_t,
4254            valuesCount: raw::c_int,
4255            values: *mut nvmlFieldValue_t,
4256        ) -> nvmlReturn_t,
4257        ::libloading::Error,
4258    >,
4259    pub nvmlDeviceGetVirtualizationMode: Result<
4260        unsafe extern "C" fn(
4261            device: nvmlDevice_t,
4262            pVirtualMode: *mut nvmlGpuVirtualizationMode_t,
4263        ) -> nvmlReturn_t,
4264        ::libloading::Error,
4265    >,
4266    pub nvmlDeviceGetHostVgpuMode: Result<
4267        unsafe extern "C" fn(
4268            device: nvmlDevice_t,
4269            pHostVgpuMode: *mut nvmlHostVgpuMode_t,
4270        ) -> nvmlReturn_t,
4271        ::libloading::Error,
4272    >,
4273    pub nvmlDeviceSetVirtualizationMode: Result<
4274        unsafe extern "C" fn(
4275            device: nvmlDevice_t,
4276            virtualMode: nvmlGpuVirtualizationMode_t,
4277        ) -> nvmlReturn_t,
4278        ::libloading::Error,
4279    >,
4280    pub nvmlDeviceGetVgpuHeterogeneousMode: Result<
4281        unsafe extern "C" fn(
4282            device: nvmlDevice_t,
4283            pHeterogeneousMode: *mut nvmlVgpuHeterogeneousMode_t,
4284        ) -> nvmlReturn_t,
4285        ::libloading::Error,
4286    >,
4287    pub nvmlDeviceSetVgpuHeterogeneousMode: Result<
4288        unsafe extern "C" fn(
4289            device: nvmlDevice_t,
4290            pHeterogeneousMode: *const nvmlVgpuHeterogeneousMode_t,
4291        ) -> nvmlReturn_t,
4292        ::libloading::Error,
4293    >,
4294    pub nvmlVgpuInstanceGetPlacementId: Result<
4295        unsafe extern "C" fn(
4296            vgpuInstance: nvmlVgpuInstance_t,
4297            pPlacement: *mut nvmlVgpuPlacementId_t,
4298        ) -> nvmlReturn_t,
4299        ::libloading::Error,
4300    >,
4301    pub nvmlDeviceGetVgpuTypeSupportedPlacements: Result<
4302        unsafe extern "C" fn(
4303            device: nvmlDevice_t,
4304            vgpuTypeId: nvmlVgpuTypeId_t,
4305            pPlacementList: *mut nvmlVgpuPlacementList_t,
4306        ) -> nvmlReturn_t,
4307        ::libloading::Error,
4308    >,
4309    pub nvmlDeviceGetVgpuTypeCreatablePlacements: Result<
4310        unsafe extern "C" fn(
4311            device: nvmlDevice_t,
4312            vgpuTypeId: nvmlVgpuTypeId_t,
4313            pPlacementList: *mut nvmlVgpuPlacementList_t,
4314        ) -> nvmlReturn_t,
4315        ::libloading::Error,
4316    >,
4317    pub nvmlVgpuTypeGetGspHeapSize: Result<
4318        unsafe extern "C" fn(
4319            vgpuTypeId: nvmlVgpuTypeId_t,
4320            gspHeapSize: *mut raw::c_ulonglong,
4321        ) -> nvmlReturn_t,
4322        ::libloading::Error,
4323    >,
4324    pub nvmlVgpuTypeGetFbReservation: Result<
4325        unsafe extern "C" fn(
4326            vgpuTypeId: nvmlVgpuTypeId_t,
4327            fbReservation: *mut raw::c_ulonglong,
4328        ) -> nvmlReturn_t,
4329        ::libloading::Error,
4330    >,
4331    pub nvmlVgpuInstanceGetRuntimeStateSize: Result<
4332        unsafe extern "C" fn(
4333            vgpuInstance: nvmlVgpuInstance_t,
4334            pState: *mut nvmlVgpuRuntimeState_t,
4335        ) -> nvmlReturn_t,
4336        ::libloading::Error,
4337    >,
4338    pub nvmlDeviceSetVgpuCapabilities: Result<
4339        unsafe extern "C" fn(
4340            device: nvmlDevice_t,
4341            capability: nvmlDeviceVgpuCapability_t,
4342            state: nvmlEnableState_t,
4343        ) -> nvmlReturn_t,
4344        ::libloading::Error,
4345    >,
4346    pub nvmlDeviceGetGridLicensableFeatures_v4: Result<
4347        unsafe extern "C" fn(
4348            device: nvmlDevice_t,
4349            pGridLicensableFeatures: *mut nvmlGridLicensableFeatures_t,
4350        ) -> nvmlReturn_t,
4351        ::libloading::Error,
4352    >,
4353    pub nvmlGetVgpuDriverCapabilities: Result<
4354        unsafe extern "C" fn(
4355            capability: nvmlVgpuDriverCapability_t,
4356            capResult: *mut raw::c_uint,
4357        ) -> nvmlReturn_t,
4358        ::libloading::Error,
4359    >,
4360    pub nvmlDeviceGetVgpuCapabilities: Result<
4361        unsafe extern "C" fn(
4362            device: nvmlDevice_t,
4363            capability: nvmlDeviceVgpuCapability_t,
4364            capResult: *mut raw::c_uint,
4365        ) -> nvmlReturn_t,
4366        ::libloading::Error,
4367    >,
4368    pub nvmlDeviceGetSupportedVgpus: Result<
4369        unsafe extern "C" fn(
4370            device: nvmlDevice_t,
4371            vgpuCount: *mut raw::c_uint,
4372            vgpuTypeIds: *mut nvmlVgpuTypeId_t,
4373        ) -> nvmlReturn_t,
4374        ::libloading::Error,
4375    >,
4376    pub nvmlDeviceGetCreatableVgpus: Result<
4377        unsafe extern "C" fn(
4378            device: nvmlDevice_t,
4379            vgpuCount: *mut raw::c_uint,
4380            vgpuTypeIds: *mut nvmlVgpuTypeId_t,
4381        ) -> nvmlReturn_t,
4382        ::libloading::Error,
4383    >,
4384    pub nvmlVgpuTypeGetClass: Result<
4385        unsafe extern "C" fn(
4386            vgpuTypeId: nvmlVgpuTypeId_t,
4387            vgpuTypeClass: *mut raw::c_char,
4388            size: *mut raw::c_uint,
4389        ) -> nvmlReturn_t,
4390        ::libloading::Error,
4391    >,
4392    pub nvmlVgpuTypeGetName: Result<
4393        unsafe extern "C" fn(
4394            vgpuTypeId: nvmlVgpuTypeId_t,
4395            vgpuTypeName: *mut raw::c_char,
4396            size: *mut raw::c_uint,
4397        ) -> nvmlReturn_t,
4398        ::libloading::Error,
4399    >,
4400    pub nvmlVgpuTypeGetGpuInstanceProfileId: Result<
4401        unsafe extern "C" fn(
4402            vgpuTypeId: nvmlVgpuTypeId_t,
4403            gpuInstanceProfileId: *mut raw::c_uint,
4404        ) -> nvmlReturn_t,
4405        ::libloading::Error,
4406    >,
4407    pub nvmlVgpuTypeGetDeviceID: Result<
4408        unsafe extern "C" fn(
4409            vgpuTypeId: nvmlVgpuTypeId_t,
4410            deviceID: *mut raw::c_ulonglong,
4411            subsystemID: *mut raw::c_ulonglong,
4412        ) -> nvmlReturn_t,
4413        ::libloading::Error,
4414    >,
4415    pub nvmlVgpuTypeGetFramebufferSize: Result<
4416        unsafe extern "C" fn(
4417            vgpuTypeId: nvmlVgpuTypeId_t,
4418            fbSize: *mut raw::c_ulonglong,
4419        ) -> nvmlReturn_t,
4420        ::libloading::Error,
4421    >,
4422    pub nvmlVgpuTypeGetNumDisplayHeads: Result<
4423        unsafe extern "C" fn(
4424            vgpuTypeId: nvmlVgpuTypeId_t,
4425            numDisplayHeads: *mut raw::c_uint,
4426        ) -> nvmlReturn_t,
4427        ::libloading::Error,
4428    >,
4429    pub nvmlVgpuTypeGetResolution: Result<
4430        unsafe extern "C" fn(
4431            vgpuTypeId: nvmlVgpuTypeId_t,
4432            displayIndex: raw::c_uint,
4433            xdim: *mut raw::c_uint,
4434            ydim: *mut raw::c_uint,
4435        ) -> nvmlReturn_t,
4436        ::libloading::Error,
4437    >,
4438    pub nvmlVgpuTypeGetLicense: Result<
4439        unsafe extern "C" fn(
4440            vgpuTypeId: nvmlVgpuTypeId_t,
4441            vgpuTypeLicenseString: *mut raw::c_char,
4442            size: raw::c_uint,
4443        ) -> nvmlReturn_t,
4444        ::libloading::Error,
4445    >,
4446    pub nvmlVgpuTypeGetFrameRateLimit: Result<
4447        unsafe extern "C" fn(
4448            vgpuTypeId: nvmlVgpuTypeId_t,
4449            frameRateLimit: *mut raw::c_uint,
4450        ) -> nvmlReturn_t,
4451        ::libloading::Error,
4452    >,
4453    pub nvmlVgpuTypeGetMaxInstances: Result<
4454        unsafe extern "C" fn(
4455            device: nvmlDevice_t,
4456            vgpuTypeId: nvmlVgpuTypeId_t,
4457            vgpuInstanceCount: *mut raw::c_uint,
4458        ) -> nvmlReturn_t,
4459        ::libloading::Error,
4460    >,
4461    pub nvmlVgpuTypeGetMaxInstancesPerVm: Result<
4462        unsafe extern "C" fn(
4463            vgpuTypeId: nvmlVgpuTypeId_t,
4464            vgpuInstanceCountPerVm: *mut raw::c_uint,
4465        ) -> nvmlReturn_t,
4466        ::libloading::Error,
4467    >,
4468    pub nvmlVgpuTypeGetBAR1Info: Result<
4469        unsafe extern "C" fn(
4470            vgpuTypeId: nvmlVgpuTypeId_t,
4471            bar1Info: *mut nvmlVgpuTypeBar1Info_t,
4472        ) -> nvmlReturn_t,
4473        ::libloading::Error,
4474    >,
4475    pub nvmlDeviceGetActiveVgpus: Result<
4476        unsafe extern "C" fn(
4477            device: nvmlDevice_t,
4478            vgpuCount: *mut raw::c_uint,
4479            vgpuInstances: *mut nvmlVgpuInstance_t,
4480        ) -> nvmlReturn_t,
4481        ::libloading::Error,
4482    >,
4483    pub nvmlVgpuInstanceGetVmID: Result<
4484        unsafe extern "C" fn(
4485            vgpuInstance: nvmlVgpuInstance_t,
4486            vmId: *mut raw::c_char,
4487            size: raw::c_uint,
4488            vmIdType: *mut nvmlVgpuVmIdType_t,
4489        ) -> nvmlReturn_t,
4490        ::libloading::Error,
4491    >,
4492    pub nvmlVgpuInstanceGetUUID: Result<
4493        unsafe extern "C" fn(
4494            vgpuInstance: nvmlVgpuInstance_t,
4495            uuid: *mut raw::c_char,
4496            size: raw::c_uint,
4497        ) -> nvmlReturn_t,
4498        ::libloading::Error,
4499    >,
4500    pub nvmlVgpuInstanceGetVmDriverVersion: Result<
4501        unsafe extern "C" fn(
4502            vgpuInstance: nvmlVgpuInstance_t,
4503            version: *mut raw::c_char,
4504            length: raw::c_uint,
4505        ) -> nvmlReturn_t,
4506        ::libloading::Error,
4507    >,
4508    pub nvmlVgpuInstanceGetFbUsage: Result<
4509        unsafe extern "C" fn(
4510            vgpuInstance: nvmlVgpuInstance_t,
4511            fbUsage: *mut raw::c_ulonglong,
4512        ) -> nvmlReturn_t,
4513        ::libloading::Error,
4514    >,
4515    pub nvmlVgpuInstanceGetLicenseStatus: Result<
4516        unsafe extern "C" fn(
4517            vgpuInstance: nvmlVgpuInstance_t,
4518            licensed: *mut raw::c_uint,
4519        ) -> nvmlReturn_t,
4520        ::libloading::Error,
4521    >,
4522    pub nvmlVgpuInstanceGetType: Result<
4523        unsafe extern "C" fn(
4524            vgpuInstance: nvmlVgpuInstance_t,
4525            vgpuTypeId: *mut nvmlVgpuTypeId_t,
4526        ) -> nvmlReturn_t,
4527        ::libloading::Error,
4528    >,
4529    pub nvmlVgpuInstanceGetFrameRateLimit: Result<
4530        unsafe extern "C" fn(
4531            vgpuInstance: nvmlVgpuInstance_t,
4532            frameRateLimit: *mut raw::c_uint,
4533        ) -> nvmlReturn_t,
4534        ::libloading::Error,
4535    >,
4536    pub nvmlVgpuInstanceGetEccMode: Result<
4537        unsafe extern "C" fn(
4538            vgpuInstance: nvmlVgpuInstance_t,
4539            eccMode: *mut nvmlEnableState_t,
4540        ) -> nvmlReturn_t,
4541        ::libloading::Error,
4542    >,
4543    pub nvmlVgpuInstanceGetEncoderCapacity: Result<
4544        unsafe extern "C" fn(
4545            vgpuInstance: nvmlVgpuInstance_t,
4546            encoderCapacity: *mut raw::c_uint,
4547        ) -> nvmlReturn_t,
4548        ::libloading::Error,
4549    >,
4550    pub nvmlVgpuInstanceSetEncoderCapacity: Result<
4551        unsafe extern "C" fn(
4552            vgpuInstance: nvmlVgpuInstance_t,
4553            encoderCapacity: raw::c_uint,
4554        ) -> nvmlReturn_t,
4555        ::libloading::Error,
4556    >,
4557    pub nvmlVgpuInstanceGetEncoderStats: Result<
4558        unsafe extern "C" fn(
4559            vgpuInstance: nvmlVgpuInstance_t,
4560            sessionCount: *mut raw::c_uint,
4561            averageFps: *mut raw::c_uint,
4562            averageLatency: *mut raw::c_uint,
4563        ) -> nvmlReturn_t,
4564        ::libloading::Error,
4565    >,
4566    pub nvmlVgpuInstanceGetEncoderSessions: Result<
4567        unsafe extern "C" fn(
4568            vgpuInstance: nvmlVgpuInstance_t,
4569            sessionCount: *mut raw::c_uint,
4570            sessionInfo: *mut nvmlEncoderSessionInfo_t,
4571        ) -> nvmlReturn_t,
4572        ::libloading::Error,
4573    >,
4574    pub nvmlVgpuInstanceGetFBCStats: Result<
4575        unsafe extern "C" fn(
4576            vgpuInstance: nvmlVgpuInstance_t,
4577            fbcStats: *mut nvmlFBCStats_t,
4578        ) -> nvmlReturn_t,
4579        ::libloading::Error,
4580    >,
4581    pub nvmlVgpuInstanceGetFBCSessions: Result<
4582        unsafe extern "C" fn(
4583            vgpuInstance: nvmlVgpuInstance_t,
4584            sessionCount: *mut raw::c_uint,
4585            sessionInfo: *mut nvmlFBCSessionInfo_t,
4586        ) -> nvmlReturn_t,
4587        ::libloading::Error,
4588    >,
4589    pub nvmlVgpuInstanceGetGpuInstanceId: Result<
4590        unsafe extern "C" fn(
4591            vgpuInstance: nvmlVgpuInstance_t,
4592            gpuInstanceId: *mut raw::c_uint,
4593        ) -> nvmlReturn_t,
4594        ::libloading::Error,
4595    >,
4596    pub nvmlVgpuInstanceGetGpuPciId: Result<
4597        unsafe extern "C" fn(
4598            vgpuInstance: nvmlVgpuInstance_t,
4599            vgpuPciId: *mut raw::c_char,
4600            length: *mut raw::c_uint,
4601        ) -> nvmlReturn_t,
4602        ::libloading::Error,
4603    >,
4604    pub nvmlVgpuTypeGetCapabilities: Result<
4605        unsafe extern "C" fn(
4606            vgpuTypeId: nvmlVgpuTypeId_t,
4607            capability: nvmlVgpuCapability_t,
4608            capResult: *mut raw::c_uint,
4609        ) -> nvmlReturn_t,
4610        ::libloading::Error,
4611    >,
4612    pub nvmlVgpuInstanceGetMdevUUID: Result<
4613        unsafe extern "C" fn(
4614            vgpuInstance: nvmlVgpuInstance_t,
4615            mdevUuid: *mut raw::c_char,
4616            size: raw::c_uint,
4617        ) -> nvmlReturn_t,
4618        ::libloading::Error,
4619    >,
4620    pub nvmlGpuInstanceGetCreatableVgpus: Result<
4621        unsafe extern "C" fn(
4622            gpuInstance: nvmlGpuInstance_t,
4623            pVgpus: *mut nvmlVgpuTypeIdInfo_t,
4624        ) -> nvmlReturn_t,
4625        ::libloading::Error,
4626    >,
4627    pub nvmlVgpuTypeGetMaxInstancesPerGpuInstance: Result<
4628        unsafe extern "C" fn(pMaxInstance: *mut nvmlVgpuTypeMaxInstance_t) -> nvmlReturn_t,
4629        ::libloading::Error,
4630    >,
4631    pub nvmlGpuInstanceGetActiveVgpus: Result<
4632        unsafe extern "C" fn(
4633            gpuInstance: nvmlGpuInstance_t,
4634            pVgpuInstanceInfo: *mut nvmlActiveVgpuInstanceInfo_t,
4635        ) -> nvmlReturn_t,
4636        ::libloading::Error,
4637    >,
4638    pub nvmlGpuInstanceSetVgpuSchedulerState: Result<
4639        unsafe extern "C" fn(
4640            gpuInstance: nvmlGpuInstance_t,
4641            pScheduler: *mut nvmlVgpuSchedulerState_t,
4642        ) -> nvmlReturn_t,
4643        ::libloading::Error,
4644    >,
4645    pub nvmlGpuInstanceGetVgpuSchedulerState: Result<
4646        unsafe extern "C" fn(
4647            gpuInstance: nvmlGpuInstance_t,
4648            pSchedulerStateInfo: *mut nvmlVgpuSchedulerStateInfo_t,
4649        ) -> nvmlReturn_t,
4650        ::libloading::Error,
4651    >,
4652    pub nvmlGpuInstanceGetVgpuSchedulerLog: Result<
4653        unsafe extern "C" fn(
4654            gpuInstance: nvmlGpuInstance_t,
4655            pSchedulerLogInfo: *mut nvmlVgpuSchedulerLogInfo_t,
4656        ) -> nvmlReturn_t,
4657        ::libloading::Error,
4658    >,
4659    pub nvmlGpuInstanceGetVgpuTypeCreatablePlacements: Result<
4660        unsafe extern "C" fn(
4661            gpuInstance: nvmlGpuInstance_t,
4662            pCreatablePlacementInfo: *mut nvmlVgpuCreatablePlacementInfo_t,
4663        ) -> nvmlReturn_t,
4664        ::libloading::Error,
4665    >,
4666    pub nvmlGpuInstanceGetVgpuHeterogeneousMode: Result<
4667        unsafe extern "C" fn(
4668            gpuInstance: nvmlGpuInstance_t,
4669            pHeterogeneousMode: *mut nvmlVgpuHeterogeneousMode_t,
4670        ) -> nvmlReturn_t,
4671        ::libloading::Error,
4672    >,
4673    pub nvmlGpuInstanceSetVgpuHeterogeneousMode: Result<
4674        unsafe extern "C" fn(
4675            gpuInstance: nvmlGpuInstance_t,
4676            pHeterogeneousMode: *const nvmlVgpuHeterogeneousMode_t,
4677        ) -> nvmlReturn_t,
4678        ::libloading::Error,
4679    >,
4680    pub nvmlVgpuInstanceGetMetadata: Result<
4681        unsafe extern "C" fn(
4682            vgpuInstance: nvmlVgpuInstance_t,
4683            vgpuMetadata: *mut nvmlVgpuMetadata_t,
4684            bufferSize: *mut raw::c_uint,
4685        ) -> nvmlReturn_t,
4686        ::libloading::Error,
4687    >,
4688    pub nvmlDeviceGetVgpuMetadata: Result<
4689        unsafe extern "C" fn(
4690            device: nvmlDevice_t,
4691            pgpuMetadata: *mut nvmlVgpuPgpuMetadata_t,
4692            bufferSize: *mut raw::c_uint,
4693        ) -> nvmlReturn_t,
4694        ::libloading::Error,
4695    >,
4696    pub nvmlGetVgpuCompatibility: Result<
4697        unsafe extern "C" fn(
4698            vgpuMetadata: *mut nvmlVgpuMetadata_t,
4699            pgpuMetadata: *mut nvmlVgpuPgpuMetadata_t,
4700            compatibilityInfo: *mut nvmlVgpuPgpuCompatibility_t,
4701        ) -> nvmlReturn_t,
4702        ::libloading::Error,
4703    >,
4704    pub nvmlDeviceGetPgpuMetadataString: Result<
4705        unsafe extern "C" fn(
4706            device: nvmlDevice_t,
4707            pgpuMetadata: *mut raw::c_char,
4708            bufferSize: *mut raw::c_uint,
4709        ) -> nvmlReturn_t,
4710        ::libloading::Error,
4711    >,
4712    pub nvmlDeviceGetVgpuSchedulerLog: Result<
4713        unsafe extern "C" fn(
4714            device: nvmlDevice_t,
4715            pSchedulerLog: *mut nvmlVgpuSchedulerLog_t,
4716        ) -> nvmlReturn_t,
4717        ::libloading::Error,
4718    >,
4719    pub nvmlDeviceGetVgpuSchedulerState: Result<
4720        unsafe extern "C" fn(
4721            device: nvmlDevice_t,
4722            pSchedulerState: *mut nvmlVgpuSchedulerGetState_t,
4723        ) -> nvmlReturn_t,
4724        ::libloading::Error,
4725    >,
4726    pub nvmlDeviceGetVgpuSchedulerCapabilities: Result<
4727        unsafe extern "C" fn(
4728            device: nvmlDevice_t,
4729            pCapabilities: *mut nvmlVgpuSchedulerCapabilities_t,
4730        ) -> nvmlReturn_t,
4731        ::libloading::Error,
4732    >,
4733    pub nvmlDeviceSetVgpuSchedulerState: Result<
4734        unsafe extern "C" fn(
4735            device: nvmlDevice_t,
4736            pSchedulerState: *mut nvmlVgpuSchedulerSetState_t,
4737        ) -> nvmlReturn_t,
4738        ::libloading::Error,
4739    >,
4740    pub nvmlGetVgpuVersion: Result<
4741        unsafe extern "C" fn(
4742            supported: *mut nvmlVgpuVersion_t,
4743            current: *mut nvmlVgpuVersion_t,
4744        ) -> nvmlReturn_t,
4745        ::libloading::Error,
4746    >,
4747    pub nvmlSetVgpuVersion: Result<
4748        unsafe extern "C" fn(vgpuVersion: *mut nvmlVgpuVersion_t) -> nvmlReturn_t,
4749        ::libloading::Error,
4750    >,
4751    pub nvmlDeviceGetVgpuUtilization: Result<
4752        unsafe extern "C" fn(
4753            device: nvmlDevice_t,
4754            lastSeenTimeStamp: raw::c_ulonglong,
4755            sampleValType: *mut nvmlValueType_t,
4756            vgpuInstanceSamplesCount: *mut raw::c_uint,
4757            utilizationSamples: *mut nvmlVgpuInstanceUtilizationSample_t,
4758        ) -> nvmlReturn_t,
4759        ::libloading::Error,
4760    >,
4761    pub nvmlDeviceGetVgpuInstancesUtilizationInfo: Result<
4762        unsafe extern "C" fn(
4763            device: nvmlDevice_t,
4764            vgpuUtilInfo: *mut nvmlVgpuInstancesUtilizationInfo_t,
4765        ) -> nvmlReturn_t,
4766        ::libloading::Error,
4767    >,
4768    pub nvmlDeviceGetVgpuProcessUtilization: Result<
4769        unsafe extern "C" fn(
4770            device: nvmlDevice_t,
4771            lastSeenTimeStamp: raw::c_ulonglong,
4772            vgpuProcessSamplesCount: *mut raw::c_uint,
4773            utilizationSamples: *mut nvmlVgpuProcessUtilizationSample_t,
4774        ) -> nvmlReturn_t,
4775        ::libloading::Error,
4776    >,
4777    pub nvmlDeviceGetVgpuProcessesUtilizationInfo: Result<
4778        unsafe extern "C" fn(
4779            device: nvmlDevice_t,
4780            vgpuProcUtilInfo: *mut nvmlVgpuProcessesUtilizationInfo_t,
4781        ) -> nvmlReturn_t,
4782        ::libloading::Error,
4783    >,
4784    pub nvmlVgpuInstanceGetAccountingMode: Result<
4785        unsafe extern "C" fn(
4786            vgpuInstance: nvmlVgpuInstance_t,
4787            mode: *mut nvmlEnableState_t,
4788        ) -> nvmlReturn_t,
4789        ::libloading::Error,
4790    >,
4791    pub nvmlVgpuInstanceGetAccountingPids: Result<
4792        unsafe extern "C" fn(
4793            vgpuInstance: nvmlVgpuInstance_t,
4794            count: *mut raw::c_uint,
4795            pids: *mut raw::c_uint,
4796        ) -> nvmlReturn_t,
4797        ::libloading::Error,
4798    >,
4799    pub nvmlVgpuInstanceGetAccountingStats: Result<
4800        unsafe extern "C" fn(
4801            vgpuInstance: nvmlVgpuInstance_t,
4802            pid: raw::c_uint,
4803            stats: *mut nvmlAccountingStats_t,
4804        ) -> nvmlReturn_t,
4805        ::libloading::Error,
4806    >,
4807    pub nvmlVgpuInstanceClearAccountingPids: Result<
4808        unsafe extern "C" fn(vgpuInstance: nvmlVgpuInstance_t) -> nvmlReturn_t,
4809        ::libloading::Error,
4810    >,
4811    pub nvmlVgpuInstanceGetLicenseInfo_v2: Result<
4812        unsafe extern "C" fn(
4813            vgpuInstance: nvmlVgpuInstance_t,
4814            licenseInfo: *mut nvmlVgpuLicenseInfo_t,
4815        ) -> nvmlReturn_t,
4816        ::libloading::Error,
4817    >,
4818    pub nvmlGetExcludedDeviceCount: Result<
4819        unsafe extern "C" fn(deviceCount: *mut raw::c_uint) -> nvmlReturn_t,
4820        ::libloading::Error,
4821    >,
4822    pub nvmlGetExcludedDeviceInfoByIndex: Result<
4823        unsafe extern "C" fn(
4824            index: raw::c_uint,
4825            info: *mut nvmlExcludedDeviceInfo_t,
4826        ) -> nvmlReturn_t,
4827        ::libloading::Error,
4828    >,
4829    pub nvmlDeviceReadWritePRM_v1: Result<
4830        unsafe extern "C" fn(device: nvmlDevice_t, buffer: *mut nvmlPRMTLV_v1_t) -> nvmlReturn_t,
4831        ::libloading::Error,
4832    >,
4833    pub nvmlDeviceSetMigMode: Result<
4834        unsafe extern "C" fn(
4835            device: nvmlDevice_t,
4836            mode: raw::c_uint,
4837            activationStatus: *mut nvmlReturn_t,
4838        ) -> nvmlReturn_t,
4839        ::libloading::Error,
4840    >,
4841    pub nvmlDeviceGetMigMode: Result<
4842        unsafe extern "C" fn(
4843            device: nvmlDevice_t,
4844            currentMode: *mut raw::c_uint,
4845            pendingMode: *mut raw::c_uint,
4846        ) -> nvmlReturn_t,
4847        ::libloading::Error,
4848    >,
4849    pub nvmlDeviceGetGpuInstanceProfileInfo: Result<
4850        unsafe extern "C" fn(
4851            device: nvmlDevice_t,
4852            profile: raw::c_uint,
4853            info: *mut nvmlGpuInstanceProfileInfo_t,
4854        ) -> nvmlReturn_t,
4855        ::libloading::Error,
4856    >,
4857    pub nvmlDeviceGetGpuInstanceProfileInfoV: Result<
4858        unsafe extern "C" fn(
4859            device: nvmlDevice_t,
4860            profile: raw::c_uint,
4861            info: *mut nvmlGpuInstanceProfileInfo_v2_t,
4862        ) -> nvmlReturn_t,
4863        ::libloading::Error,
4864    >,
4865    pub nvmlDeviceGetGpuInstanceProfileInfoByIdV: Result<
4866        unsafe extern "C" fn(
4867            device: nvmlDevice_t,
4868            profileId: raw::c_uint,
4869            info: *mut nvmlGpuInstanceProfileInfo_v2_t,
4870        ) -> nvmlReturn_t,
4871        ::libloading::Error,
4872    >,
4873    pub nvmlDeviceGetGpuInstancePossiblePlacements_v2: Result<
4874        unsafe extern "C" fn(
4875            device: nvmlDevice_t,
4876            profileId: raw::c_uint,
4877            placements: *mut nvmlGpuInstancePlacement_t,
4878            count: *mut raw::c_uint,
4879        ) -> nvmlReturn_t,
4880        ::libloading::Error,
4881    >,
4882    pub nvmlDeviceGetGpuInstanceRemainingCapacity: Result<
4883        unsafe extern "C" fn(
4884            device: nvmlDevice_t,
4885            profileId: raw::c_uint,
4886            count: *mut raw::c_uint,
4887        ) -> nvmlReturn_t,
4888        ::libloading::Error,
4889    >,
4890    pub nvmlDeviceCreateGpuInstance: Result<
4891        unsafe extern "C" fn(
4892            device: nvmlDevice_t,
4893            profileId: raw::c_uint,
4894            gpuInstance: *mut nvmlGpuInstance_t,
4895        ) -> nvmlReturn_t,
4896        ::libloading::Error,
4897    >,
4898    pub nvmlDeviceCreateGpuInstanceWithPlacement: Result<
4899        unsafe extern "C" fn(
4900            device: nvmlDevice_t,
4901            profileId: raw::c_uint,
4902            placement: *const nvmlGpuInstancePlacement_t,
4903            gpuInstance: *mut nvmlGpuInstance_t,
4904        ) -> nvmlReturn_t,
4905        ::libloading::Error,
4906    >,
4907    pub nvmlGpuInstanceDestroy: Result<
4908        unsafe extern "C" fn(gpuInstance: nvmlGpuInstance_t) -> nvmlReturn_t,
4909        ::libloading::Error,
4910    >,
4911    pub nvmlDeviceGetGpuInstances: Result<
4912        unsafe extern "C" fn(
4913            device: nvmlDevice_t,
4914            profileId: raw::c_uint,
4915            gpuInstances: *mut nvmlGpuInstance_t,
4916            count: *mut raw::c_uint,
4917        ) -> nvmlReturn_t,
4918        ::libloading::Error,
4919    >,
4920    pub nvmlDeviceGetGpuInstanceById: Result<
4921        unsafe extern "C" fn(
4922            device: nvmlDevice_t,
4923            id: raw::c_uint,
4924            gpuInstance: *mut nvmlGpuInstance_t,
4925        ) -> nvmlReturn_t,
4926        ::libloading::Error,
4927    >,
4928    pub nvmlGpuInstanceGetInfo: Result<
4929        unsafe extern "C" fn(
4930            gpuInstance: nvmlGpuInstance_t,
4931            info: *mut nvmlGpuInstanceInfo_t,
4932        ) -> nvmlReturn_t,
4933        ::libloading::Error,
4934    >,
4935    pub nvmlGpuInstanceGetComputeInstanceProfileInfo: Result<
4936        unsafe extern "C" fn(
4937            gpuInstance: nvmlGpuInstance_t,
4938            profile: raw::c_uint,
4939            engProfile: raw::c_uint,
4940            info: *mut nvmlComputeInstanceProfileInfo_t,
4941        ) -> nvmlReturn_t,
4942        ::libloading::Error,
4943    >,
4944    pub nvmlGpuInstanceGetComputeInstanceProfileInfoV: Result<
4945        unsafe extern "C" fn(
4946            gpuInstance: nvmlGpuInstance_t,
4947            profile: raw::c_uint,
4948            engProfile: raw::c_uint,
4949            info: *mut nvmlComputeInstanceProfileInfo_v2_t,
4950        ) -> nvmlReturn_t,
4951        ::libloading::Error,
4952    >,
4953    pub nvmlGpuInstanceGetComputeInstanceRemainingCapacity: Result<
4954        unsafe extern "C" fn(
4955            gpuInstance: nvmlGpuInstance_t,
4956            profileId: raw::c_uint,
4957            count: *mut raw::c_uint,
4958        ) -> nvmlReturn_t,
4959        ::libloading::Error,
4960    >,
4961    pub nvmlGpuInstanceGetComputeInstancePossiblePlacements: Result<
4962        unsafe extern "C" fn(
4963            gpuInstance: nvmlGpuInstance_t,
4964            profileId: raw::c_uint,
4965            placements: *mut nvmlComputeInstancePlacement_t,
4966            count: *mut raw::c_uint,
4967        ) -> nvmlReturn_t,
4968        ::libloading::Error,
4969    >,
4970    pub nvmlGpuInstanceCreateComputeInstance: Result<
4971        unsafe extern "C" fn(
4972            gpuInstance: nvmlGpuInstance_t,
4973            profileId: raw::c_uint,
4974            computeInstance: *mut nvmlComputeInstance_t,
4975        ) -> nvmlReturn_t,
4976        ::libloading::Error,
4977    >,
4978    pub nvmlGpuInstanceCreateComputeInstanceWithPlacement: Result<
4979        unsafe extern "C" fn(
4980            gpuInstance: nvmlGpuInstance_t,
4981            profileId: raw::c_uint,
4982            placement: *const nvmlComputeInstancePlacement_t,
4983            computeInstance: *mut nvmlComputeInstance_t,
4984        ) -> nvmlReturn_t,
4985        ::libloading::Error,
4986    >,
4987    pub nvmlComputeInstanceDestroy: Result<
4988        unsafe extern "C" fn(computeInstance: nvmlComputeInstance_t) -> nvmlReturn_t,
4989        ::libloading::Error,
4990    >,
4991    pub nvmlGpuInstanceGetComputeInstances: Result<
4992        unsafe extern "C" fn(
4993            gpuInstance: nvmlGpuInstance_t,
4994            profileId: raw::c_uint,
4995            computeInstances: *mut nvmlComputeInstance_t,
4996            count: *mut raw::c_uint,
4997        ) -> nvmlReturn_t,
4998        ::libloading::Error,
4999    >,
5000    pub nvmlGpuInstanceGetComputeInstanceById: Result<
5001        unsafe extern "C" fn(
5002            gpuInstance: nvmlGpuInstance_t,
5003            id: raw::c_uint,
5004            computeInstance: *mut nvmlComputeInstance_t,
5005        ) -> nvmlReturn_t,
5006        ::libloading::Error,
5007    >,
5008    pub nvmlComputeInstanceGetInfo_v2: Result<
5009        unsafe extern "C" fn(
5010            computeInstance: nvmlComputeInstance_t,
5011            info: *mut nvmlComputeInstanceInfo_t,
5012        ) -> nvmlReturn_t,
5013        ::libloading::Error,
5014    >,
5015    pub nvmlDeviceIsMigDeviceHandle: Result<
5016        unsafe extern "C" fn(device: nvmlDevice_t, isMigDevice: *mut raw::c_uint) -> nvmlReturn_t,
5017        ::libloading::Error,
5018    >,
5019    pub nvmlDeviceGetGpuInstanceId: Result<
5020        unsafe extern "C" fn(device: nvmlDevice_t, id: *mut raw::c_uint) -> nvmlReturn_t,
5021        ::libloading::Error,
5022    >,
5023    pub nvmlDeviceGetComputeInstanceId: Result<
5024        unsafe extern "C" fn(device: nvmlDevice_t, id: *mut raw::c_uint) -> nvmlReturn_t,
5025        ::libloading::Error,
5026    >,
5027    pub nvmlDeviceGetMaxMigDeviceCount: Result<
5028        unsafe extern "C" fn(device: nvmlDevice_t, count: *mut raw::c_uint) -> nvmlReturn_t,
5029        ::libloading::Error,
5030    >,
5031    pub nvmlDeviceGetMigDeviceHandleByIndex: Result<
5032        unsafe extern "C" fn(
5033            device: nvmlDevice_t,
5034            index: raw::c_uint,
5035            migDevice: *mut nvmlDevice_t,
5036        ) -> nvmlReturn_t,
5037        ::libloading::Error,
5038    >,
5039    pub nvmlDeviceGetDeviceHandleFromMigDeviceHandle: Result<
5040        unsafe extern "C" fn(migDevice: nvmlDevice_t, device: *mut nvmlDevice_t) -> nvmlReturn_t,
5041        ::libloading::Error,
5042    >,
5043    pub nvmlGpmMetricsGet: Result<
5044        unsafe extern "C" fn(metricsGet: *mut nvmlGpmMetricsGet_t) -> nvmlReturn_t,
5045        ::libloading::Error,
5046    >,
5047    pub nvmlGpmSampleFree: Result<
5048        unsafe extern "C" fn(gpmSample: nvmlGpmSample_t) -> nvmlReturn_t,
5049        ::libloading::Error,
5050    >,
5051    pub nvmlGpmSampleAlloc: Result<
5052        unsafe extern "C" fn(gpmSample: *mut nvmlGpmSample_t) -> nvmlReturn_t,
5053        ::libloading::Error,
5054    >,
5055    pub nvmlGpmSampleGet: Result<
5056        unsafe extern "C" fn(device: nvmlDevice_t, gpmSample: nvmlGpmSample_t) -> nvmlReturn_t,
5057        ::libloading::Error,
5058    >,
5059    pub nvmlGpmMigSampleGet: Result<
5060        unsafe extern "C" fn(
5061            device: nvmlDevice_t,
5062            gpuInstanceId: raw::c_uint,
5063            gpmSample: nvmlGpmSample_t,
5064        ) -> nvmlReturn_t,
5065        ::libloading::Error,
5066    >,
5067    pub nvmlGpmQueryDeviceSupport: Result<
5068        unsafe extern "C" fn(
5069            device: nvmlDevice_t,
5070            gpmSupport: *mut nvmlGpmSupport_t,
5071        ) -> nvmlReturn_t,
5072        ::libloading::Error,
5073    >,
5074    pub nvmlGpmQueryIfStreamingEnabled: Result<
5075        unsafe extern "C" fn(device: nvmlDevice_t, state: *mut raw::c_uint) -> nvmlReturn_t,
5076        ::libloading::Error,
5077    >,
5078    pub nvmlGpmSetStreamingEnabled: Result<
5079        unsafe extern "C" fn(device: nvmlDevice_t, state: raw::c_uint) -> nvmlReturn_t,
5080        ::libloading::Error,
5081    >,
5082    pub nvmlDeviceGetCapabilities: Result<
5083        unsafe extern "C" fn(
5084            device: nvmlDevice_t,
5085            caps: *mut nvmlDeviceCapabilities_t,
5086        ) -> nvmlReturn_t,
5087        ::libloading::Error,
5088    >,
5089    pub nvmlDeviceWorkloadPowerProfileGetProfilesInfo: Result<
5090        unsafe extern "C" fn(
5091            device: nvmlDevice_t,
5092            profilesInfo: *mut nvmlWorkloadPowerProfileProfilesInfo_t,
5093        ) -> nvmlReturn_t,
5094        ::libloading::Error,
5095    >,
5096    pub nvmlDeviceWorkloadPowerProfileGetCurrentProfiles: Result<
5097        unsafe extern "C" fn(
5098            device: nvmlDevice_t,
5099            currentProfiles: *mut nvmlWorkloadPowerProfileCurrentProfiles_t,
5100        ) -> nvmlReturn_t,
5101        ::libloading::Error,
5102    >,
5103    pub nvmlDeviceWorkloadPowerProfileSetRequestedProfiles: Result<
5104        unsafe extern "C" fn(
5105            device: nvmlDevice_t,
5106            requestedProfiles: *mut nvmlWorkloadPowerProfileRequestedProfiles_t,
5107        ) -> nvmlReturn_t,
5108        ::libloading::Error,
5109    >,
5110    pub nvmlDeviceWorkloadPowerProfileClearRequestedProfiles: Result<
5111        unsafe extern "C" fn(
5112            device: nvmlDevice_t,
5113            requestedProfiles: *mut nvmlWorkloadPowerProfileRequestedProfiles_t,
5114        ) -> nvmlReturn_t,
5115        ::libloading::Error,
5116    >,
5117    pub nvmlDevicePowerSmoothingActivatePresetProfile: Result<
5118        unsafe extern "C" fn(
5119            device: nvmlDevice_t,
5120            profile: *mut nvmlPowerSmoothingProfile_t,
5121        ) -> nvmlReturn_t,
5122        ::libloading::Error,
5123    >,
5124    pub nvmlDevicePowerSmoothingUpdatePresetProfileParam: Result<
5125        unsafe extern "C" fn(
5126            device: nvmlDevice_t,
5127            profile: *mut nvmlPowerSmoothingProfile_t,
5128        ) -> nvmlReturn_t,
5129        ::libloading::Error,
5130    >,
5131    pub nvmlDevicePowerSmoothingSetState: Result<
5132        unsafe extern "C" fn(
5133            device: nvmlDevice_t,
5134            state: *mut nvmlPowerSmoothingState_t,
5135        ) -> nvmlReturn_t,
5136        ::libloading::Error,
5137    >,
5138    pub nvmlDeviceGetSramUniqueUncorrectedEccErrorCounts: Result<
5139        unsafe extern "C" fn(
5140            device: nvmlDevice_t,
5141            errorCounts: *mut nvmlEccSramUniqueUncorrectedErrorCounts_t,
5142        ) -> nvmlReturn_t,
5143        ::libloading::Error,
5144    >,
5145    #[cfg(feature = "legacy-functions")]
5146    pub nvmlInit: Result<unsafe extern "C" fn() -> nvmlReturn_t, ::libloading::Error>,
5147    #[cfg(feature = "legacy-functions")]
5148    pub nvmlDeviceGetCount: Result<
5149        unsafe extern "C" fn(deviceCount: *mut raw::c_uint) -> nvmlReturn_t,
5150        ::libloading::Error,
5151    >,
5152    #[cfg(feature = "legacy-functions")]
5153    pub nvmlDeviceGetHandleByIndex: Result<
5154        unsafe extern "C" fn(index: raw::c_uint, device: *mut nvmlDevice_t) -> nvmlReturn_t,
5155        ::libloading::Error,
5156    >,
5157    #[cfg(feature = "legacy-functions")]
5158    pub nvmlDeviceGetHandleByPciBusId: Result<
5159        unsafe extern "C" fn(
5160            pciBusId: *const raw::c_char,
5161            device: *mut nvmlDevice_t,
5162        ) -> nvmlReturn_t,
5163        ::libloading::Error,
5164    >,
5165    #[cfg(feature = "legacy-functions")]
5166    pub nvmlDeviceGetPciInfo: Result<
5167        unsafe extern "C" fn(device: nvmlDevice_t, pci: *mut nvmlPciInfo_t) -> nvmlReturn_t,
5168        ::libloading::Error,
5169    >,
5170    #[cfg(feature = "legacy-functions")]
5171    pub nvmlDeviceGetPciInfo_v2: Result<
5172        unsafe extern "C" fn(device: nvmlDevice_t, pci: *mut nvmlPciInfo_t) -> nvmlReturn_t,
5173        ::libloading::Error,
5174    >,
5175    #[cfg(feature = "legacy-functions")]
5176    pub nvmlDeviceGetNvLinkRemotePciInfo: Result<
5177        unsafe extern "C" fn(
5178            device: nvmlDevice_t,
5179            link: raw::c_uint,
5180            pci: *mut nvmlPciInfo_t,
5181        ) -> nvmlReturn_t,
5182        ::libloading::Error,
5183    >,
5184    #[cfg(feature = "legacy-functions")]
5185    pub nvmlDeviceGetGridLicensableFeatures: Result<
5186        unsafe extern "C" fn(
5187            device: nvmlDevice_t,
5188            pGridLicensableFeatures: *mut nvmlGridLicensableFeatures_t,
5189        ) -> nvmlReturn_t,
5190        ::libloading::Error,
5191    >,
5192    #[cfg(feature = "legacy-functions")]
5193    pub nvmlDeviceGetGridLicensableFeatures_v2: Result<
5194        unsafe extern "C" fn(
5195            device: nvmlDevice_t,
5196            pGridLicensableFeatures: *mut nvmlGridLicensableFeatures_t,
5197        ) -> nvmlReturn_t,
5198        ::libloading::Error,
5199    >,
5200    #[cfg(feature = "legacy-functions")]
5201    pub nvmlDeviceGetGridLicensableFeatures_v3: Result<
5202        unsafe extern "C" fn(
5203            device: nvmlDevice_t,
5204            pGridLicensableFeatures: *mut nvmlGridLicensableFeatures_t,
5205        ) -> nvmlReturn_t,
5206        ::libloading::Error,
5207    >,
5208    #[cfg(feature = "legacy-functions")]
5209    pub nvmlDeviceRemoveGpu: Result<
5210        unsafe extern "C" fn(pciInfo: *mut nvmlPciInfo_t) -> nvmlReturn_t,
5211        ::libloading::Error,
5212    >,
5213    #[cfg(feature = "legacy-functions")]
5214    pub nvmlEventSetWait: Result<
5215        unsafe extern "C" fn(
5216            set: nvmlEventSet_t,
5217            data: *mut nvmlEventData_t,
5218            timeoutms: raw::c_uint,
5219        ) -> nvmlReturn_t,
5220        ::libloading::Error,
5221    >,
5222    #[cfg(feature = "legacy-functions")]
5223    pub nvmlDeviceGetAttributes: Result<
5224        unsafe extern "C" fn(
5225            device: nvmlDevice_t,
5226            attributes: *mut nvmlDeviceAttributes_t,
5227        ) -> nvmlReturn_t,
5228        ::libloading::Error,
5229    >,
5230    #[cfg(feature = "legacy-functions")]
5231    pub nvmlComputeInstanceGetInfo: Result<
5232        unsafe extern "C" fn(
5233            computeInstance: nvmlComputeInstance_t,
5234            info: *mut nvmlComputeInstanceInfo_t,
5235        ) -> nvmlReturn_t,
5236        ::libloading::Error,
5237    >,
5238    #[cfg(feature = "legacy-functions")]
5239    pub nvmlDeviceGetComputeRunningProcesses: Result<
5240        unsafe extern "C" fn(
5241            device: nvmlDevice_t,
5242            infoCount: *mut raw::c_uint,
5243            infos: *mut nvmlProcessInfo_v1_t,
5244        ) -> nvmlReturn_t,
5245        ::libloading::Error,
5246    >,
5247    #[cfg(feature = "legacy-functions")]
5248    pub nvmlDeviceGetComputeRunningProcesses_v2: Result<
5249        unsafe extern "C" fn(
5250            device: nvmlDevice_t,
5251            infoCount: *mut raw::c_uint,
5252            infos: *mut nvmlProcessInfo_v2_t,
5253        ) -> nvmlReturn_t,
5254        ::libloading::Error,
5255    >,
5256    #[cfg(feature = "legacy-functions")]
5257    pub nvmlDeviceGetGraphicsRunningProcesses: Result<
5258        unsafe extern "C" fn(
5259            device: nvmlDevice_t,
5260            infoCount: *mut raw::c_uint,
5261            infos: *mut nvmlProcessInfo_v1_t,
5262        ) -> nvmlReturn_t,
5263        ::libloading::Error,
5264    >,
5265    #[cfg(feature = "legacy-functions")]
5266    pub nvmlDeviceGetGraphicsRunningProcesses_v2: Result<
5267        unsafe extern "C" fn(
5268            device: nvmlDevice_t,
5269            infoCount: *mut raw::c_uint,
5270            infos: *mut nvmlProcessInfo_v2_t,
5271        ) -> nvmlReturn_t,
5272        ::libloading::Error,
5273    >,
5274    #[cfg(feature = "legacy-functions")]
5275    pub nvmlDeviceGetMPSComputeRunningProcesses: Result<
5276        unsafe extern "C" fn(
5277            device: nvmlDevice_t,
5278            infoCount: *mut raw::c_uint,
5279            infos: *mut nvmlProcessInfo_v1_t,
5280        ) -> nvmlReturn_t,
5281        ::libloading::Error,
5282    >,
5283    #[cfg(feature = "legacy-functions")]
5284    pub nvmlDeviceGetMPSComputeRunningProcesses_v2: Result<
5285        unsafe extern "C" fn(
5286            device: nvmlDevice_t,
5287            infoCount: *mut raw::c_uint,
5288            infos: *mut nvmlProcessInfo_v2_t,
5289        ) -> nvmlReturn_t,
5290        ::libloading::Error,
5291    >,
5292    #[cfg(feature = "legacy-functions")]
5293    pub nvmlDeviceGetGpuInstancePossiblePlacements: Result<
5294        unsafe extern "C" fn(
5295            device: nvmlDevice_t,
5296            profileId: raw::c_uint,
5297            placements: *mut nvmlGpuInstancePlacement_t,
5298            count: *mut raw::c_uint,
5299        ) -> nvmlReturn_t,
5300        ::libloading::Error,
5301    >,
5302    #[cfg(feature = "legacy-functions")]
5303    pub nvmlVgpuInstanceGetLicenseInfo: Result<
5304        unsafe extern "C" fn(
5305            vgpuInstance: nvmlVgpuInstance_t,
5306            licenseInfo: *mut nvmlVgpuLicenseInfo_t,
5307        ) -> nvmlReturn_t,
5308        ::libloading::Error,
5309    >,
5310    pub nvmlDeviceGetDriverModel: Result<
5311        unsafe extern "C" fn(
5312            device: nvmlDevice_t,
5313            current: *mut nvmlDriverModel_t,
5314            pending: *mut nvmlDriverModel_t,
5315        ) -> nvmlReturn_t,
5316        ::libloading::Error,
5317    >,
5318}
5319impl NvmlLib {
5320    pub unsafe fn new<P>(path: P) -> Result<Self, ::libloading::Error>
5321    where
5322        P: AsRef<::std::ffi::OsStr>,
5323    {
5324        let library = ::libloading::Library::new(path)?;
5325        Self::from_library(library)
5326    }
5327    pub unsafe fn from_library<L>(library: L) -> Result<Self, ::libloading::Error>
5328    where
5329        L: Into<::libloading::Library>,
5330    {
5331        let __library = library.into();
5332        let nvmlInit_v2 = __library.get(b"nvmlInit_v2\0").map(|sym| *sym);
5333        let nvmlInitWithFlags = __library.get(b"nvmlInitWithFlags\0").map(|sym| *sym);
5334        let nvmlShutdown = __library.get(b"nvmlShutdown\0").map(|sym| *sym);
5335        let nvmlErrorString = __library.get(b"nvmlErrorString\0").map(|sym| *sym);
5336        let nvmlSystemGetDriverVersion = __library
5337            .get(b"nvmlSystemGetDriverVersion\0")
5338            .map(|sym| *sym);
5339        let nvmlSystemGetNVMLVersion = __library.get(b"nvmlSystemGetNVMLVersion\0").map(|sym| *sym);
5340        let nvmlSystemGetCudaDriverVersion = __library
5341            .get(b"nvmlSystemGetCudaDriverVersion\0")
5342            .map(|sym| *sym);
5343        let nvmlSystemGetCudaDriverVersion_v2 = __library
5344            .get(b"nvmlSystemGetCudaDriverVersion_v2\0")
5345            .map(|sym| *sym);
5346        let nvmlSystemGetProcessName = __library.get(b"nvmlSystemGetProcessName\0").map(|sym| *sym);
5347        let nvmlSystemGetHicVersion = __library.get(b"nvmlSystemGetHicVersion\0").map(|sym| *sym);
5348        let nvmlSystemGetTopologyGpuSet = __library
5349            .get(b"nvmlSystemGetTopologyGpuSet\0")
5350            .map(|sym| *sym);
5351        let nvmlSystemGetDriverBranch = __library
5352            .get(b"nvmlSystemGetDriverBranch\0")
5353            .map(|sym| *sym);
5354        let nvmlUnitGetCount = __library.get(b"nvmlUnitGetCount\0").map(|sym| *sym);
5355        let nvmlUnitGetHandleByIndex = __library.get(b"nvmlUnitGetHandleByIndex\0").map(|sym| *sym);
5356        let nvmlUnitGetUnitInfo = __library.get(b"nvmlUnitGetUnitInfo\0").map(|sym| *sym);
5357        let nvmlUnitGetLedState = __library.get(b"nvmlUnitGetLedState\0").map(|sym| *sym);
5358        let nvmlUnitGetPsuInfo = __library.get(b"nvmlUnitGetPsuInfo\0").map(|sym| *sym);
5359        let nvmlUnitGetTemperature = __library.get(b"nvmlUnitGetTemperature\0").map(|sym| *sym);
5360        let nvmlUnitGetFanSpeedInfo = __library.get(b"nvmlUnitGetFanSpeedInfo\0").map(|sym| *sym);
5361        let nvmlUnitGetDevices = __library.get(b"nvmlUnitGetDevices\0").map(|sym| *sym);
5362        let nvmlDeviceGetCount_v2 = __library.get(b"nvmlDeviceGetCount_v2\0").map(|sym| *sym);
5363        let nvmlDeviceGetAttributes_v2 = __library
5364            .get(b"nvmlDeviceGetAttributes_v2\0")
5365            .map(|sym| *sym);
5366        let nvmlDeviceGetHandleByIndex_v2 = __library
5367            .get(b"nvmlDeviceGetHandleByIndex_v2\0")
5368            .map(|sym| *sym);
5369        let nvmlDeviceGetHandleBySerial = __library
5370            .get(b"nvmlDeviceGetHandleBySerial\0")
5371            .map(|sym| *sym);
5372        let nvmlDeviceGetHandleByUUID = __library
5373            .get(b"nvmlDeviceGetHandleByUUID\0")
5374            .map(|sym| *sym);
5375        let nvmlDeviceGetHandleByUUIDV = __library
5376            .get(b"nvmlDeviceGetHandleByUUIDV\0")
5377            .map(|sym| *sym);
5378        let nvmlDeviceGetHandleByPciBusId_v2 = __library
5379            .get(b"nvmlDeviceGetHandleByPciBusId_v2\0")
5380            .map(|sym| *sym);
5381        let nvmlDeviceGetName = __library.get(b"nvmlDeviceGetName\0").map(|sym| *sym);
5382        let nvmlDeviceGetBrand = __library.get(b"nvmlDeviceGetBrand\0").map(|sym| *sym);
5383        let nvmlDeviceGetIndex = __library.get(b"nvmlDeviceGetIndex\0").map(|sym| *sym);
5384        let nvmlDeviceGetSerial = __library.get(b"nvmlDeviceGetSerial\0").map(|sym| *sym);
5385        let nvmlDeviceGetModuleId = __library.get(b"nvmlDeviceGetModuleId\0").map(|sym| *sym);
5386        let nvmlDeviceGetC2cModeInfoV = __library
5387            .get(b"nvmlDeviceGetC2cModeInfoV\0")
5388            .map(|sym| *sym);
5389        let nvmlDeviceGetMemoryAffinity = __library
5390            .get(b"nvmlDeviceGetMemoryAffinity\0")
5391            .map(|sym| *sym);
5392        let nvmlDeviceGetCpuAffinityWithinScope = __library
5393            .get(b"nvmlDeviceGetCpuAffinityWithinScope\0")
5394            .map(|sym| *sym);
5395        let nvmlDeviceGetCpuAffinity = __library.get(b"nvmlDeviceGetCpuAffinity\0").map(|sym| *sym);
5396        let nvmlDeviceSetCpuAffinity = __library.get(b"nvmlDeviceSetCpuAffinity\0").map(|sym| *sym);
5397        let nvmlDeviceClearCpuAffinity = __library
5398            .get(b"nvmlDeviceClearCpuAffinity\0")
5399            .map(|sym| *sym);
5400        let nvmlDeviceGetNumaNodeId = __library.get(b"nvmlDeviceGetNumaNodeId\0").map(|sym| *sym);
5401        let nvmlDeviceGetAddressingMode = __library
5402            .get(b"nvmlDeviceGetAddressingMode\0")
5403            .map(|sym| *sym);
5404        let nvmlDeviceGetRepairStatus = __library
5405            .get(b"nvmlDeviceGetRepairStatus\0")
5406            .map(|sym| *sym);
5407        let nvmlDeviceGetTopologyCommonAncestor = __library
5408            .get(b"nvmlDeviceGetTopologyCommonAncestor\0")
5409            .map(|sym| *sym);
5410        let nvmlDeviceGetTopologyNearestGpus = __library
5411            .get(b"nvmlDeviceGetTopologyNearestGpus\0")
5412            .map(|sym| *sym);
5413        let nvmlDeviceGetP2PStatus = __library.get(b"nvmlDeviceGetP2PStatus\0").map(|sym| *sym);
5414        let nvmlDeviceGetUUID = __library.get(b"nvmlDeviceGetUUID\0").map(|sym| *sym);
5415        let nvmlDeviceGetMinorNumber = __library.get(b"nvmlDeviceGetMinorNumber\0").map(|sym| *sym);
5416        let nvmlDeviceGetBoardPartNumber = __library
5417            .get(b"nvmlDeviceGetBoardPartNumber\0")
5418            .map(|sym| *sym);
5419        let nvmlDeviceGetInforomVersion = __library
5420            .get(b"nvmlDeviceGetInforomVersion\0")
5421            .map(|sym| *sym);
5422        let nvmlDeviceGetInforomImageVersion = __library
5423            .get(b"nvmlDeviceGetInforomImageVersion\0")
5424            .map(|sym| *sym);
5425        let nvmlDeviceGetInforomConfigurationChecksum = __library
5426            .get(b"nvmlDeviceGetInforomConfigurationChecksum\0")
5427            .map(|sym| *sym);
5428        let nvmlDeviceValidateInforom = __library
5429            .get(b"nvmlDeviceValidateInforom\0")
5430            .map(|sym| *sym);
5431        let nvmlDeviceGetLastBBXFlushTime = __library
5432            .get(b"nvmlDeviceGetLastBBXFlushTime\0")
5433            .map(|sym| *sym);
5434        let nvmlDeviceGetDisplayMode = __library.get(b"nvmlDeviceGetDisplayMode\0").map(|sym| *sym);
5435        let nvmlDeviceGetDisplayActive = __library
5436            .get(b"nvmlDeviceGetDisplayActive\0")
5437            .map(|sym| *sym);
5438        let nvmlDeviceGetPersistenceMode = __library
5439            .get(b"nvmlDeviceGetPersistenceMode\0")
5440            .map(|sym| *sym);
5441        let nvmlDeviceGetPciInfoExt = __library.get(b"nvmlDeviceGetPciInfoExt\0").map(|sym| *sym);
5442        let nvmlDeviceGetPciInfo_v3 = __library.get(b"nvmlDeviceGetPciInfo_v3\0").map(|sym| *sym);
5443        let nvmlDeviceGetMaxPcieLinkGeneration = __library
5444            .get(b"nvmlDeviceGetMaxPcieLinkGeneration\0")
5445            .map(|sym| *sym);
5446        let nvmlDeviceGetGpuMaxPcieLinkGeneration = __library
5447            .get(b"nvmlDeviceGetGpuMaxPcieLinkGeneration\0")
5448            .map(|sym| *sym);
5449        let nvmlDeviceGetMaxPcieLinkWidth = __library
5450            .get(b"nvmlDeviceGetMaxPcieLinkWidth\0")
5451            .map(|sym| *sym);
5452        let nvmlDeviceGetCurrPcieLinkGeneration = __library
5453            .get(b"nvmlDeviceGetCurrPcieLinkGeneration\0")
5454            .map(|sym| *sym);
5455        let nvmlDeviceGetCurrPcieLinkWidth = __library
5456            .get(b"nvmlDeviceGetCurrPcieLinkWidth\0")
5457            .map(|sym| *sym);
5458        let nvmlDeviceGetPcieThroughput = __library
5459            .get(b"nvmlDeviceGetPcieThroughput\0")
5460            .map(|sym| *sym);
5461        let nvmlDeviceGetPcieReplayCounter = __library
5462            .get(b"nvmlDeviceGetPcieReplayCounter\0")
5463            .map(|sym| *sym);
5464        let nvmlDeviceGetClockInfo = __library.get(b"nvmlDeviceGetClockInfo\0").map(|sym| *sym);
5465        let nvmlDeviceGetMaxClockInfo = __library
5466            .get(b"nvmlDeviceGetMaxClockInfo\0")
5467            .map(|sym| *sym);
5468        let nvmlDeviceGetGpcClkVfOffset = __library
5469            .get(b"nvmlDeviceGetGpcClkVfOffset\0")
5470            .map(|sym| *sym);
5471        let nvmlDeviceGetApplicationsClock = __library
5472            .get(b"nvmlDeviceGetApplicationsClock\0")
5473            .map(|sym| *sym);
5474        let nvmlDeviceGetDefaultApplicationsClock = __library
5475            .get(b"nvmlDeviceGetDefaultApplicationsClock\0")
5476            .map(|sym| *sym);
5477        let nvmlDeviceGetClock = __library.get(b"nvmlDeviceGetClock\0").map(|sym| *sym);
5478        let nvmlDeviceGetMaxCustomerBoostClock = __library
5479            .get(b"nvmlDeviceGetMaxCustomerBoostClock\0")
5480            .map(|sym| *sym);
5481        let nvmlDeviceGetSupportedMemoryClocks = __library
5482            .get(b"nvmlDeviceGetSupportedMemoryClocks\0")
5483            .map(|sym| *sym);
5484        let nvmlDeviceGetSupportedGraphicsClocks = __library
5485            .get(b"nvmlDeviceGetSupportedGraphicsClocks\0")
5486            .map(|sym| *sym);
5487        let nvmlDeviceGetAutoBoostedClocksEnabled = __library
5488            .get(b"nvmlDeviceGetAutoBoostedClocksEnabled\0")
5489            .map(|sym| *sym);
5490        let nvmlDeviceGetFanSpeed = __library.get(b"nvmlDeviceGetFanSpeed\0").map(|sym| *sym);
5491        let nvmlDeviceGetFanSpeed_v2 = __library.get(b"nvmlDeviceGetFanSpeed_v2\0").map(|sym| *sym);
5492        let nvmlDeviceGetFanSpeedRPM = __library.get(b"nvmlDeviceGetFanSpeedRPM\0").map(|sym| *sym);
5493        let nvmlDeviceGetTargetFanSpeed = __library
5494            .get(b"nvmlDeviceGetTargetFanSpeed\0")
5495            .map(|sym| *sym);
5496        let nvmlDeviceGetMinMaxFanSpeed = __library
5497            .get(b"nvmlDeviceGetMinMaxFanSpeed\0")
5498            .map(|sym| *sym);
5499        let nvmlDeviceGetFanControlPolicy_v2 = __library
5500            .get(b"nvmlDeviceGetFanControlPolicy_v2\0")
5501            .map(|sym| *sym);
5502        let nvmlDeviceGetNumFans = __library.get(b"nvmlDeviceGetNumFans\0").map(|sym| *sym);
5503        let nvmlDeviceGetTemperature = __library.get(b"nvmlDeviceGetTemperature\0").map(|sym| *sym);
5504        let nvmlDeviceGetCoolerInfo = __library.get(b"nvmlDeviceGetCoolerInfo\0").map(|sym| *sym);
5505        let nvmlDeviceGetTemperatureV = __library
5506            .get(b"nvmlDeviceGetTemperatureV\0")
5507            .map(|sym| *sym);
5508        let nvmlDeviceGetTemperatureThreshold = __library
5509            .get(b"nvmlDeviceGetTemperatureThreshold\0")
5510            .map(|sym| *sym);
5511        let nvmlDeviceGetMarginTemperature = __library
5512            .get(b"nvmlDeviceGetMarginTemperature\0")
5513            .map(|sym| *sym);
5514        let nvmlDeviceGetThermalSettings = __library
5515            .get(b"nvmlDeviceGetThermalSettings\0")
5516            .map(|sym| *sym);
5517        let nvmlDeviceGetPerformanceState = __library
5518            .get(b"nvmlDeviceGetPerformanceState\0")
5519            .map(|sym| *sym);
5520        let nvmlDeviceGetCurrentClocksEventReasons = __library
5521            .get(b"nvmlDeviceGetCurrentClocksEventReasons\0")
5522            .map(|sym| *sym);
5523        let nvmlDeviceGetCurrentClocksThrottleReasons = __library
5524            .get(b"nvmlDeviceGetCurrentClocksThrottleReasons\0")
5525            .map(|sym| *sym);
5526        let nvmlDeviceGetSupportedClocksEventReasons = __library
5527            .get(b"nvmlDeviceGetSupportedClocksEventReasons\0")
5528            .map(|sym| *sym);
5529        let nvmlDeviceGetSupportedClocksThrottleReasons = __library
5530            .get(b"nvmlDeviceGetSupportedClocksThrottleReasons\0")
5531            .map(|sym| *sym);
5532        let nvmlDeviceGetPowerState = __library.get(b"nvmlDeviceGetPowerState\0").map(|sym| *sym);
5533        let nvmlDeviceGetDynamicPstatesInfo = __library
5534            .get(b"nvmlDeviceGetDynamicPstatesInfo\0")
5535            .map(|sym| *sym);
5536        let nvmlDeviceGetMemClkVfOffset = __library
5537            .get(b"nvmlDeviceGetMemClkVfOffset\0")
5538            .map(|sym| *sym);
5539        let nvmlDeviceGetMinMaxClockOfPState = __library
5540            .get(b"nvmlDeviceGetMinMaxClockOfPState\0")
5541            .map(|sym| *sym);
5542        let nvmlDeviceGetSupportedPerformanceStates = __library
5543            .get(b"nvmlDeviceGetSupportedPerformanceStates\0")
5544            .map(|sym| *sym);
5545        let nvmlDeviceGetGpcClkMinMaxVfOffset = __library
5546            .get(b"nvmlDeviceGetGpcClkMinMaxVfOffset\0")
5547            .map(|sym| *sym);
5548        let nvmlDeviceGetMemClkMinMaxVfOffset = __library
5549            .get(b"nvmlDeviceGetMemClkMinMaxVfOffset\0")
5550            .map(|sym| *sym);
5551        let nvmlDeviceGetClockOffsets = __library
5552            .get(b"nvmlDeviceGetClockOffsets\0")
5553            .map(|sym| *sym);
5554        let nvmlDeviceSetClockOffsets = __library
5555            .get(b"nvmlDeviceSetClockOffsets\0")
5556            .map(|sym| *sym);
5557        let nvmlDeviceGetPerformanceModes = __library
5558            .get(b"nvmlDeviceGetPerformanceModes\0")
5559            .map(|sym| *sym);
5560        let nvmlDeviceGetCurrentClockFreqs = __library
5561            .get(b"nvmlDeviceGetCurrentClockFreqs\0")
5562            .map(|sym| *sym);
5563        let nvmlDeviceGetPowerManagementMode = __library
5564            .get(b"nvmlDeviceGetPowerManagementMode\0")
5565            .map(|sym| *sym);
5566        let nvmlDeviceGetPowerManagementLimit = __library
5567            .get(b"nvmlDeviceGetPowerManagementLimit\0")
5568            .map(|sym| *sym);
5569        let nvmlDeviceGetPowerManagementLimitConstraints = __library
5570            .get(b"nvmlDeviceGetPowerManagementLimitConstraints\0")
5571            .map(|sym| *sym);
5572        let nvmlDeviceGetPowerManagementDefaultLimit = __library
5573            .get(b"nvmlDeviceGetPowerManagementDefaultLimit\0")
5574            .map(|sym| *sym);
5575        let nvmlDeviceGetPowerUsage = __library.get(b"nvmlDeviceGetPowerUsage\0").map(|sym| *sym);
5576        let nvmlDeviceGetPowerMizerMode_v1 = __library
5577            .get(b"nvmlDeviceGetPowerMizerMode_v1\0")
5578            .map(|sym| *sym);
5579        let nvmlDeviceSetPowerMizerMode_v1 = __library
5580            .get(b"nvmlDeviceSetPowerMizerMode_v1\0")
5581            .map(|sym| *sym);
5582        let nvmlDeviceGetTotalEnergyConsumption = __library
5583            .get(b"nvmlDeviceGetTotalEnergyConsumption\0")
5584            .map(|sym| *sym);
5585        let nvmlDeviceGetEnforcedPowerLimit = __library
5586            .get(b"nvmlDeviceGetEnforcedPowerLimit\0")
5587            .map(|sym| *sym);
5588        let nvmlDeviceGetGpuOperationMode = __library
5589            .get(b"nvmlDeviceGetGpuOperationMode\0")
5590            .map(|sym| *sym);
5591        let nvmlDeviceGetMemoryInfo = __library.get(b"nvmlDeviceGetMemoryInfo\0").map(|sym| *sym);
5592        let nvmlDeviceGetMemoryInfo_v2 = __library
5593            .get(b"nvmlDeviceGetMemoryInfo_v2\0")
5594            .map(|sym| *sym);
5595        let nvmlDeviceGetComputeMode = __library.get(b"nvmlDeviceGetComputeMode\0").map(|sym| *sym);
5596        let nvmlDeviceGetCudaComputeCapability = __library
5597            .get(b"nvmlDeviceGetCudaComputeCapability\0")
5598            .map(|sym| *sym);
5599        let nvmlDeviceGetDramEncryptionMode = __library
5600            .get(b"nvmlDeviceGetDramEncryptionMode\0")
5601            .map(|sym| *sym);
5602        let nvmlDeviceSetDramEncryptionMode = __library
5603            .get(b"nvmlDeviceSetDramEncryptionMode\0")
5604            .map(|sym| *sym);
5605        let nvmlDeviceGetEccMode = __library.get(b"nvmlDeviceGetEccMode\0").map(|sym| *sym);
5606        let nvmlDeviceGetDefaultEccMode = __library
5607            .get(b"nvmlDeviceGetDefaultEccMode\0")
5608            .map(|sym| *sym);
5609        let nvmlDeviceGetBoardId = __library.get(b"nvmlDeviceGetBoardId\0").map(|sym| *sym);
5610        let nvmlDeviceGetMultiGpuBoard = __library
5611            .get(b"nvmlDeviceGetMultiGpuBoard\0")
5612            .map(|sym| *sym);
5613        let nvmlDeviceGetTotalEccErrors = __library
5614            .get(b"nvmlDeviceGetTotalEccErrors\0")
5615            .map(|sym| *sym);
5616        let nvmlDeviceGetDetailedEccErrors = __library
5617            .get(b"nvmlDeviceGetDetailedEccErrors\0")
5618            .map(|sym| *sym);
5619        let nvmlDeviceGetMemoryErrorCounter = __library
5620            .get(b"nvmlDeviceGetMemoryErrorCounter\0")
5621            .map(|sym| *sym);
5622        let nvmlDeviceGetUtilizationRates = __library
5623            .get(b"nvmlDeviceGetUtilizationRates\0")
5624            .map(|sym| *sym);
5625        let nvmlDeviceGetEncoderUtilization = __library
5626            .get(b"nvmlDeviceGetEncoderUtilization\0")
5627            .map(|sym| *sym);
5628        let nvmlDeviceGetEncoderCapacity = __library
5629            .get(b"nvmlDeviceGetEncoderCapacity\0")
5630            .map(|sym| *sym);
5631        let nvmlDeviceGetEncoderStats = __library
5632            .get(b"nvmlDeviceGetEncoderStats\0")
5633            .map(|sym| *sym);
5634        let nvmlDeviceGetEncoderSessions = __library
5635            .get(b"nvmlDeviceGetEncoderSessions\0")
5636            .map(|sym| *sym);
5637        let nvmlDeviceGetDecoderUtilization = __library
5638            .get(b"nvmlDeviceGetDecoderUtilization\0")
5639            .map(|sym| *sym);
5640        let nvmlDeviceGetJpgUtilization = __library
5641            .get(b"nvmlDeviceGetJpgUtilization\0")
5642            .map(|sym| *sym);
5643        let nvmlDeviceGetOfaUtilization = __library
5644            .get(b"nvmlDeviceGetOfaUtilization\0")
5645            .map(|sym| *sym);
5646        let nvmlDeviceGetFBCStats = __library.get(b"nvmlDeviceGetFBCStats\0").map(|sym| *sym);
5647        let nvmlDeviceGetFBCSessions = __library.get(b"nvmlDeviceGetFBCSessions\0").map(|sym| *sym);
5648        let nvmlDeviceGetDriverModel_v2 = __library
5649            .get(b"nvmlDeviceGetDriverModel_v2\0")
5650            .map(|sym| *sym);
5651        let nvmlDeviceGetVbiosVersion = __library
5652            .get(b"nvmlDeviceGetVbiosVersion\0")
5653            .map(|sym| *sym);
5654        let nvmlDeviceGetBridgeChipInfo = __library
5655            .get(b"nvmlDeviceGetBridgeChipInfo\0")
5656            .map(|sym| *sym);
5657        let nvmlDeviceGetComputeRunningProcesses_v3 = __library
5658            .get(b"nvmlDeviceGetComputeRunningProcesses_v3\0")
5659            .map(|sym| *sym);
5660        let nvmlDeviceGetGraphicsRunningProcesses_v3 = __library
5661            .get(b"nvmlDeviceGetGraphicsRunningProcesses_v3\0")
5662            .map(|sym| *sym);
5663        let nvmlDeviceGetMPSComputeRunningProcesses_v3 = __library
5664            .get(b"nvmlDeviceGetMPSComputeRunningProcesses_v3\0")
5665            .map(|sym| *sym);
5666        let nvmlDeviceGetRunningProcessDetailList = __library
5667            .get(b"nvmlDeviceGetRunningProcessDetailList\0")
5668            .map(|sym| *sym);
5669        let nvmlDeviceOnSameBoard = __library.get(b"nvmlDeviceOnSameBoard\0").map(|sym| *sym);
5670        let nvmlDeviceGetAPIRestriction = __library
5671            .get(b"nvmlDeviceGetAPIRestriction\0")
5672            .map(|sym| *sym);
5673        let nvmlDeviceGetSamples = __library.get(b"nvmlDeviceGetSamples\0").map(|sym| *sym);
5674        let nvmlDeviceGetBAR1MemoryInfo = __library
5675            .get(b"nvmlDeviceGetBAR1MemoryInfo\0")
5676            .map(|sym| *sym);
5677        let nvmlDeviceGetViolationStatus = __library
5678            .get(b"nvmlDeviceGetViolationStatus\0")
5679            .map(|sym| *sym);
5680        let nvmlDeviceGetIrqNum = __library.get(b"nvmlDeviceGetIrqNum\0").map(|sym| *sym);
5681        let nvmlDeviceGetNumGpuCores = __library.get(b"nvmlDeviceGetNumGpuCores\0").map(|sym| *sym);
5682        let nvmlDeviceGetPowerSource = __library.get(b"nvmlDeviceGetPowerSource\0").map(|sym| *sym);
5683        let nvmlDeviceGetMemoryBusWidth = __library
5684            .get(b"nvmlDeviceGetMemoryBusWidth\0")
5685            .map(|sym| *sym);
5686        let nvmlDeviceGetPcieLinkMaxSpeed = __library
5687            .get(b"nvmlDeviceGetPcieLinkMaxSpeed\0")
5688            .map(|sym| *sym);
5689        let nvmlDeviceGetPcieSpeed = __library.get(b"nvmlDeviceGetPcieSpeed\0").map(|sym| *sym);
5690        let nvmlDeviceGetAdaptiveClockInfoStatus = __library
5691            .get(b"nvmlDeviceGetAdaptiveClockInfoStatus\0")
5692            .map(|sym| *sym);
5693        let nvmlDeviceGetBusType = __library.get(b"nvmlDeviceGetBusType\0").map(|sym| *sym);
5694        let nvmlDeviceGetGpuFabricInfo = __library
5695            .get(b"nvmlDeviceGetGpuFabricInfo\0")
5696            .map(|sym| *sym);
5697        let nvmlDeviceGetGpuFabricInfoV = __library
5698            .get(b"nvmlDeviceGetGpuFabricInfoV\0")
5699            .map(|sym| *sym);
5700        let nvmlSystemGetConfComputeCapabilities = __library
5701            .get(b"nvmlSystemGetConfComputeCapabilities\0")
5702            .map(|sym| *sym);
5703        let nvmlSystemGetConfComputeState = __library
5704            .get(b"nvmlSystemGetConfComputeState\0")
5705            .map(|sym| *sym);
5706        let nvmlDeviceGetConfComputeMemSizeInfo = __library
5707            .get(b"nvmlDeviceGetConfComputeMemSizeInfo\0")
5708            .map(|sym| *sym);
5709        let nvmlSystemGetConfComputeGpusReadyState = __library
5710            .get(b"nvmlSystemGetConfComputeGpusReadyState\0")
5711            .map(|sym| *sym);
5712        let nvmlDeviceGetConfComputeProtectedMemoryUsage = __library
5713            .get(b"nvmlDeviceGetConfComputeProtectedMemoryUsage\0")
5714            .map(|sym| *sym);
5715        let nvmlDeviceGetConfComputeGpuCertificate = __library
5716            .get(b"nvmlDeviceGetConfComputeGpuCertificate\0")
5717            .map(|sym| *sym);
5718        let nvmlDeviceGetConfComputeGpuAttestationReport = __library
5719            .get(b"nvmlDeviceGetConfComputeGpuAttestationReport\0")
5720            .map(|sym| *sym);
5721        let nvmlSystemGetConfComputeKeyRotationThresholdInfo = __library
5722            .get(b"nvmlSystemGetConfComputeKeyRotationThresholdInfo\0")
5723            .map(|sym| *sym);
5724        let nvmlDeviceSetConfComputeUnprotectedMemSize = __library
5725            .get(b"nvmlDeviceSetConfComputeUnprotectedMemSize\0")
5726            .map(|sym| *sym);
5727        let nvmlSystemSetConfComputeGpusReadyState = __library
5728            .get(b"nvmlSystemSetConfComputeGpusReadyState\0")
5729            .map(|sym| *sym);
5730        let nvmlSystemSetConfComputeKeyRotationThresholdInfo = __library
5731            .get(b"nvmlSystemSetConfComputeKeyRotationThresholdInfo\0")
5732            .map(|sym| *sym);
5733        let nvmlSystemGetConfComputeSettings = __library
5734            .get(b"nvmlSystemGetConfComputeSettings\0")
5735            .map(|sym| *sym);
5736        let nvmlDeviceGetGspFirmwareVersion = __library
5737            .get(b"nvmlDeviceGetGspFirmwareVersion\0")
5738            .map(|sym| *sym);
5739        let nvmlDeviceGetGspFirmwareMode = __library
5740            .get(b"nvmlDeviceGetGspFirmwareMode\0")
5741            .map(|sym| *sym);
5742        let nvmlDeviceGetSramEccErrorStatus = __library
5743            .get(b"nvmlDeviceGetSramEccErrorStatus\0")
5744            .map(|sym| *sym);
5745        let nvmlDeviceSetPowerManagementLimit_v2 = __library
5746            .get(b"nvmlDeviceSetPowerManagementLimit_v2\0")
5747            .map(|sym| *sym);
5748        let nvmlDeviceGetAccountingMode = __library
5749            .get(b"nvmlDeviceGetAccountingMode\0")
5750            .map(|sym| *sym);
5751        let nvmlDeviceGetAccountingStats = __library
5752            .get(b"nvmlDeviceGetAccountingStats\0")
5753            .map(|sym| *sym);
5754        let nvmlDeviceGetAccountingPids = __library
5755            .get(b"nvmlDeviceGetAccountingPids\0")
5756            .map(|sym| *sym);
5757        let nvmlDeviceGetAccountingBufferSize = __library
5758            .get(b"nvmlDeviceGetAccountingBufferSize\0")
5759            .map(|sym| *sym);
5760        let nvmlDeviceGetRetiredPages = __library
5761            .get(b"nvmlDeviceGetRetiredPages\0")
5762            .map(|sym| *sym);
5763        let nvmlDeviceGetRetiredPages_v2 = __library
5764            .get(b"nvmlDeviceGetRetiredPages_v2\0")
5765            .map(|sym| *sym);
5766        let nvmlDeviceGetRetiredPagesPendingStatus = __library
5767            .get(b"nvmlDeviceGetRetiredPagesPendingStatus\0")
5768            .map(|sym| *sym);
5769        let nvmlDeviceGetRemappedRows = __library
5770            .get(b"nvmlDeviceGetRemappedRows\0")
5771            .map(|sym| *sym);
5772        let nvmlDeviceGetRowRemapperHistogram = __library
5773            .get(b"nvmlDeviceGetRowRemapperHistogram\0")
5774            .map(|sym| *sym);
5775        let nvmlDeviceGetArchitecture = __library
5776            .get(b"nvmlDeviceGetArchitecture\0")
5777            .map(|sym| *sym);
5778        let nvmlDeviceGetClkMonStatus = __library
5779            .get(b"nvmlDeviceGetClkMonStatus\0")
5780            .map(|sym| *sym);
5781        let nvmlDeviceGetProcessUtilization = __library
5782            .get(b"nvmlDeviceGetProcessUtilization\0")
5783            .map(|sym| *sym);
5784        let nvmlDeviceGetProcessesUtilizationInfo = __library
5785            .get(b"nvmlDeviceGetProcessesUtilizationInfo\0")
5786            .map(|sym| *sym);
5787        let nvmlDeviceGetPlatformInfo = __library
5788            .get(b"nvmlDeviceGetPlatformInfo\0")
5789            .map(|sym| *sym);
5790        let nvmlDeviceGetPdi = __library.get(b"nvmlDeviceGetPdi\0").map(|sym| *sym);
5791        let nvmlUnitSetLedState = __library.get(b"nvmlUnitSetLedState\0").map(|sym| *sym);
5792        let nvmlDeviceSetPersistenceMode = __library
5793            .get(b"nvmlDeviceSetPersistenceMode\0")
5794            .map(|sym| *sym);
5795        let nvmlDeviceSetComputeMode = __library.get(b"nvmlDeviceSetComputeMode\0").map(|sym| *sym);
5796        let nvmlDeviceSetEccMode = __library.get(b"nvmlDeviceSetEccMode\0").map(|sym| *sym);
5797        let nvmlDeviceClearEccErrorCounts = __library
5798            .get(b"nvmlDeviceClearEccErrorCounts\0")
5799            .map(|sym| *sym);
5800        let nvmlDeviceSetDriverModel = __library.get(b"nvmlDeviceSetDriverModel\0").map(|sym| *sym);
5801        let nvmlDeviceSetGpuLockedClocks = __library
5802            .get(b"nvmlDeviceSetGpuLockedClocks\0")
5803            .map(|sym| *sym);
5804        let nvmlDeviceResetGpuLockedClocks = __library
5805            .get(b"nvmlDeviceResetGpuLockedClocks\0")
5806            .map(|sym| *sym);
5807        let nvmlDeviceSetMemoryLockedClocks = __library
5808            .get(b"nvmlDeviceSetMemoryLockedClocks\0")
5809            .map(|sym| *sym);
5810        let nvmlDeviceResetMemoryLockedClocks = __library
5811            .get(b"nvmlDeviceResetMemoryLockedClocks\0")
5812            .map(|sym| *sym);
5813        let nvmlDeviceSetApplicationsClocks = __library
5814            .get(b"nvmlDeviceSetApplicationsClocks\0")
5815            .map(|sym| *sym);
5816        let nvmlDeviceResetApplicationsClocks = __library
5817            .get(b"nvmlDeviceResetApplicationsClocks\0")
5818            .map(|sym| *sym);
5819        let nvmlDeviceSetAutoBoostedClocksEnabled = __library
5820            .get(b"nvmlDeviceSetAutoBoostedClocksEnabled\0")
5821            .map(|sym| *sym);
5822        let nvmlDeviceSetDefaultAutoBoostedClocksEnabled = __library
5823            .get(b"nvmlDeviceSetDefaultAutoBoostedClocksEnabled\0")
5824            .map(|sym| *sym);
5825        let nvmlDeviceSetDefaultFanSpeed_v2 = __library
5826            .get(b"nvmlDeviceSetDefaultFanSpeed_v2\0")
5827            .map(|sym| *sym);
5828        let nvmlDeviceSetFanControlPolicy = __library
5829            .get(b"nvmlDeviceSetFanControlPolicy\0")
5830            .map(|sym| *sym);
5831        let nvmlDeviceSetTemperatureThreshold = __library
5832            .get(b"nvmlDeviceSetTemperatureThreshold\0")
5833            .map(|sym| *sym);
5834        let nvmlDeviceSetPowerManagementLimit = __library
5835            .get(b"nvmlDeviceSetPowerManagementLimit\0")
5836            .map(|sym| *sym);
5837        let nvmlDeviceSetGpuOperationMode = __library
5838            .get(b"nvmlDeviceSetGpuOperationMode\0")
5839            .map(|sym| *sym);
5840        let nvmlDeviceSetAPIRestriction = __library
5841            .get(b"nvmlDeviceSetAPIRestriction\0")
5842            .map(|sym| *sym);
5843        let nvmlDeviceSetFanSpeed_v2 = __library.get(b"nvmlDeviceSetFanSpeed_v2\0").map(|sym| *sym);
5844        let nvmlDeviceSetGpcClkVfOffset = __library
5845            .get(b"nvmlDeviceSetGpcClkVfOffset\0")
5846            .map(|sym| *sym);
5847        let nvmlDeviceSetMemClkVfOffset = __library
5848            .get(b"nvmlDeviceSetMemClkVfOffset\0")
5849            .map(|sym| *sym);
5850        let nvmlDeviceSetAccountingMode = __library
5851            .get(b"nvmlDeviceSetAccountingMode\0")
5852            .map(|sym| *sym);
5853        let nvmlDeviceClearAccountingPids = __library
5854            .get(b"nvmlDeviceClearAccountingPids\0")
5855            .map(|sym| *sym);
5856        let nvmlDeviceGetNvLinkState = __library.get(b"nvmlDeviceGetNvLinkState\0").map(|sym| *sym);
5857        let nvmlDeviceGetNvLinkVersion = __library
5858            .get(b"nvmlDeviceGetNvLinkVersion\0")
5859            .map(|sym| *sym);
5860        let nvmlDeviceGetNvLinkCapability = __library
5861            .get(b"nvmlDeviceGetNvLinkCapability\0")
5862            .map(|sym| *sym);
5863        let nvmlDeviceGetNvLinkRemotePciInfo_v2 = __library
5864            .get(b"nvmlDeviceGetNvLinkRemotePciInfo_v2\0")
5865            .map(|sym| *sym);
5866        let nvmlDeviceGetNvLinkErrorCounter = __library
5867            .get(b"nvmlDeviceGetNvLinkErrorCounter\0")
5868            .map(|sym| *sym);
5869        let nvmlDeviceResetNvLinkErrorCounters = __library
5870            .get(b"nvmlDeviceResetNvLinkErrorCounters\0")
5871            .map(|sym| *sym);
5872        let nvmlDeviceSetNvLinkUtilizationControl = __library
5873            .get(b"nvmlDeviceSetNvLinkUtilizationControl\0")
5874            .map(|sym| *sym);
5875        let nvmlDeviceGetNvLinkUtilizationControl = __library
5876            .get(b"nvmlDeviceGetNvLinkUtilizationControl\0")
5877            .map(|sym| *sym);
5878        let nvmlDeviceGetNvLinkUtilizationCounter = __library
5879            .get(b"nvmlDeviceGetNvLinkUtilizationCounter\0")
5880            .map(|sym| *sym);
5881        let nvmlDeviceFreezeNvLinkUtilizationCounter = __library
5882            .get(b"nvmlDeviceFreezeNvLinkUtilizationCounter\0")
5883            .map(|sym| *sym);
5884        let nvmlDeviceResetNvLinkUtilizationCounter = __library
5885            .get(b"nvmlDeviceResetNvLinkUtilizationCounter\0")
5886            .map(|sym| *sym);
5887        let nvmlDeviceGetNvLinkRemoteDeviceType = __library
5888            .get(b"nvmlDeviceGetNvLinkRemoteDeviceType\0")
5889            .map(|sym| *sym);
5890        let nvmlDeviceSetNvLinkDeviceLowPowerThreshold = __library
5891            .get(b"nvmlDeviceSetNvLinkDeviceLowPowerThreshold\0")
5892            .map(|sym| *sym);
5893        let nvmlSystemSetNvlinkBwMode = __library
5894            .get(b"nvmlSystemSetNvlinkBwMode\0")
5895            .map(|sym| *sym);
5896        let nvmlSystemGetNvlinkBwMode = __library
5897            .get(b"nvmlSystemGetNvlinkBwMode\0")
5898            .map(|sym| *sym);
5899        let nvmlDeviceGetNvlinkSupportedBwModes = __library
5900            .get(b"nvmlDeviceGetNvlinkSupportedBwModes\0")
5901            .map(|sym| *sym);
5902        let nvmlDeviceGetNvlinkBwMode = __library
5903            .get(b"nvmlDeviceGetNvlinkBwMode\0")
5904            .map(|sym| *sym);
5905        let nvmlDeviceSetNvlinkBwMode = __library
5906            .get(b"nvmlDeviceSetNvlinkBwMode\0")
5907            .map(|sym| *sym);
5908        let nvmlDeviceGetNvLinkInfo = __library.get(b"nvmlDeviceGetNvLinkInfo\0").map(|sym| *sym);
5909        let nvmlEventSetCreate = __library.get(b"nvmlEventSetCreate\0").map(|sym| *sym);
5910        let nvmlDeviceRegisterEvents = __library.get(b"nvmlDeviceRegisterEvents\0").map(|sym| *sym);
5911        let nvmlDeviceGetSupportedEventTypes = __library
5912            .get(b"nvmlDeviceGetSupportedEventTypes\0")
5913            .map(|sym| *sym);
5914        let nvmlEventSetWait_v2 = __library.get(b"nvmlEventSetWait_v2\0").map(|sym| *sym);
5915        let nvmlEventSetFree = __library.get(b"nvmlEventSetFree\0").map(|sym| *sym);
5916        let nvmlSystemEventSetCreate = __library.get(b"nvmlSystemEventSetCreate\0").map(|sym| *sym);
5917        let nvmlSystemEventSetFree = __library.get(b"nvmlSystemEventSetFree\0").map(|sym| *sym);
5918        let nvmlSystemRegisterEvents = __library.get(b"nvmlSystemRegisterEvents\0").map(|sym| *sym);
5919        let nvmlSystemEventSetWait = __library.get(b"nvmlSystemEventSetWait\0").map(|sym| *sym);
5920        let nvmlDeviceModifyDrainState = __library
5921            .get(b"nvmlDeviceModifyDrainState\0")
5922            .map(|sym| *sym);
5923        let nvmlDeviceQueryDrainState = __library
5924            .get(b"nvmlDeviceQueryDrainState\0")
5925            .map(|sym| *sym);
5926        let nvmlDeviceRemoveGpu_v2 = __library.get(b"nvmlDeviceRemoveGpu_v2\0").map(|sym| *sym);
5927        let nvmlDeviceDiscoverGpus = __library.get(b"nvmlDeviceDiscoverGpus\0").map(|sym| *sym);
5928        let nvmlDeviceGetFieldValues = __library.get(b"nvmlDeviceGetFieldValues\0").map(|sym| *sym);
5929        let nvmlDeviceClearFieldValues = __library
5930            .get(b"nvmlDeviceClearFieldValues\0")
5931            .map(|sym| *sym);
5932        let nvmlDeviceGetVirtualizationMode = __library
5933            .get(b"nvmlDeviceGetVirtualizationMode\0")
5934            .map(|sym| *sym);
5935        let nvmlDeviceGetHostVgpuMode = __library
5936            .get(b"nvmlDeviceGetHostVgpuMode\0")
5937            .map(|sym| *sym);
5938        let nvmlDeviceSetVirtualizationMode = __library
5939            .get(b"nvmlDeviceSetVirtualizationMode\0")
5940            .map(|sym| *sym);
5941        let nvmlDeviceGetVgpuHeterogeneousMode = __library
5942            .get(b"nvmlDeviceGetVgpuHeterogeneousMode\0")
5943            .map(|sym| *sym);
5944        let nvmlDeviceSetVgpuHeterogeneousMode = __library
5945            .get(b"nvmlDeviceSetVgpuHeterogeneousMode\0")
5946            .map(|sym| *sym);
5947        let nvmlVgpuInstanceGetPlacementId = __library
5948            .get(b"nvmlVgpuInstanceGetPlacementId\0")
5949            .map(|sym| *sym);
5950        let nvmlDeviceGetVgpuTypeSupportedPlacements = __library
5951            .get(b"nvmlDeviceGetVgpuTypeSupportedPlacements\0")
5952            .map(|sym| *sym);
5953        let nvmlDeviceGetVgpuTypeCreatablePlacements = __library
5954            .get(b"nvmlDeviceGetVgpuTypeCreatablePlacements\0")
5955            .map(|sym| *sym);
5956        let nvmlVgpuTypeGetGspHeapSize = __library
5957            .get(b"nvmlVgpuTypeGetGspHeapSize\0")
5958            .map(|sym| *sym);
5959        let nvmlVgpuTypeGetFbReservation = __library
5960            .get(b"nvmlVgpuTypeGetFbReservation\0")
5961            .map(|sym| *sym);
5962        let nvmlVgpuInstanceGetRuntimeStateSize = __library
5963            .get(b"nvmlVgpuInstanceGetRuntimeStateSize\0")
5964            .map(|sym| *sym);
5965        let nvmlDeviceSetVgpuCapabilities = __library
5966            .get(b"nvmlDeviceSetVgpuCapabilities\0")
5967            .map(|sym| *sym);
5968        let nvmlDeviceGetGridLicensableFeatures_v4 = __library
5969            .get(b"nvmlDeviceGetGridLicensableFeatures_v4\0")
5970            .map(|sym| *sym);
5971        let nvmlGetVgpuDriverCapabilities = __library
5972            .get(b"nvmlGetVgpuDriverCapabilities\0")
5973            .map(|sym| *sym);
5974        let nvmlDeviceGetVgpuCapabilities = __library
5975            .get(b"nvmlDeviceGetVgpuCapabilities\0")
5976            .map(|sym| *sym);
5977        let nvmlDeviceGetSupportedVgpus = __library
5978            .get(b"nvmlDeviceGetSupportedVgpus\0")
5979            .map(|sym| *sym);
5980        let nvmlDeviceGetCreatableVgpus = __library
5981            .get(b"nvmlDeviceGetCreatableVgpus\0")
5982            .map(|sym| *sym);
5983        let nvmlVgpuTypeGetClass = __library.get(b"nvmlVgpuTypeGetClass\0").map(|sym| *sym);
5984        let nvmlVgpuTypeGetName = __library.get(b"nvmlVgpuTypeGetName\0").map(|sym| *sym);
5985        let nvmlVgpuTypeGetGpuInstanceProfileId = __library
5986            .get(b"nvmlVgpuTypeGetGpuInstanceProfileId\0")
5987            .map(|sym| *sym);
5988        let nvmlVgpuTypeGetDeviceID = __library.get(b"nvmlVgpuTypeGetDeviceID\0").map(|sym| *sym);
5989        let nvmlVgpuTypeGetFramebufferSize = __library
5990            .get(b"nvmlVgpuTypeGetFramebufferSize\0")
5991            .map(|sym| *sym);
5992        let nvmlVgpuTypeGetNumDisplayHeads = __library
5993            .get(b"nvmlVgpuTypeGetNumDisplayHeads\0")
5994            .map(|sym| *sym);
5995        let nvmlVgpuTypeGetResolution = __library
5996            .get(b"nvmlVgpuTypeGetResolution\0")
5997            .map(|sym| *sym);
5998        let nvmlVgpuTypeGetLicense = __library.get(b"nvmlVgpuTypeGetLicense\0").map(|sym| *sym);
5999        let nvmlVgpuTypeGetFrameRateLimit = __library
6000            .get(b"nvmlVgpuTypeGetFrameRateLimit\0")
6001            .map(|sym| *sym);
6002        let nvmlVgpuTypeGetMaxInstances = __library
6003            .get(b"nvmlVgpuTypeGetMaxInstances\0")
6004            .map(|sym| *sym);
6005        let nvmlVgpuTypeGetMaxInstancesPerVm = __library
6006            .get(b"nvmlVgpuTypeGetMaxInstancesPerVm\0")
6007            .map(|sym| *sym);
6008        let nvmlVgpuTypeGetBAR1Info = __library.get(b"nvmlVgpuTypeGetBAR1Info\0").map(|sym| *sym);
6009        let nvmlDeviceGetActiveVgpus = __library.get(b"nvmlDeviceGetActiveVgpus\0").map(|sym| *sym);
6010        let nvmlVgpuInstanceGetVmID = __library.get(b"nvmlVgpuInstanceGetVmID\0").map(|sym| *sym);
6011        let nvmlVgpuInstanceGetUUID = __library.get(b"nvmlVgpuInstanceGetUUID\0").map(|sym| *sym);
6012        let nvmlVgpuInstanceGetVmDriverVersion = __library
6013            .get(b"nvmlVgpuInstanceGetVmDriverVersion\0")
6014            .map(|sym| *sym);
6015        let nvmlVgpuInstanceGetFbUsage = __library
6016            .get(b"nvmlVgpuInstanceGetFbUsage\0")
6017            .map(|sym| *sym);
6018        let nvmlVgpuInstanceGetLicenseStatus = __library
6019            .get(b"nvmlVgpuInstanceGetLicenseStatus\0")
6020            .map(|sym| *sym);
6021        let nvmlVgpuInstanceGetType = __library.get(b"nvmlVgpuInstanceGetType\0").map(|sym| *sym);
6022        let nvmlVgpuInstanceGetFrameRateLimit = __library
6023            .get(b"nvmlVgpuInstanceGetFrameRateLimit\0")
6024            .map(|sym| *sym);
6025        let nvmlVgpuInstanceGetEccMode = __library
6026            .get(b"nvmlVgpuInstanceGetEccMode\0")
6027            .map(|sym| *sym);
6028        let nvmlVgpuInstanceGetEncoderCapacity = __library
6029            .get(b"nvmlVgpuInstanceGetEncoderCapacity\0")
6030            .map(|sym| *sym);
6031        let nvmlVgpuInstanceSetEncoderCapacity = __library
6032            .get(b"nvmlVgpuInstanceSetEncoderCapacity\0")
6033            .map(|sym| *sym);
6034        let nvmlVgpuInstanceGetEncoderStats = __library
6035            .get(b"nvmlVgpuInstanceGetEncoderStats\0")
6036            .map(|sym| *sym);
6037        let nvmlVgpuInstanceGetEncoderSessions = __library
6038            .get(b"nvmlVgpuInstanceGetEncoderSessions\0")
6039            .map(|sym| *sym);
6040        let nvmlVgpuInstanceGetFBCStats = __library
6041            .get(b"nvmlVgpuInstanceGetFBCStats\0")
6042            .map(|sym| *sym);
6043        let nvmlVgpuInstanceGetFBCSessions = __library
6044            .get(b"nvmlVgpuInstanceGetFBCSessions\0")
6045            .map(|sym| *sym);
6046        let nvmlVgpuInstanceGetGpuInstanceId = __library
6047            .get(b"nvmlVgpuInstanceGetGpuInstanceId\0")
6048            .map(|sym| *sym);
6049        let nvmlVgpuInstanceGetGpuPciId = __library
6050            .get(b"nvmlVgpuInstanceGetGpuPciId\0")
6051            .map(|sym| *sym);
6052        let nvmlVgpuTypeGetCapabilities = __library
6053            .get(b"nvmlVgpuTypeGetCapabilities\0")
6054            .map(|sym| *sym);
6055        let nvmlVgpuInstanceGetMdevUUID = __library
6056            .get(b"nvmlVgpuInstanceGetMdevUUID\0")
6057            .map(|sym| *sym);
6058        let nvmlGpuInstanceGetCreatableVgpus = __library
6059            .get(b"nvmlGpuInstanceGetCreatableVgpus\0")
6060            .map(|sym| *sym);
6061        let nvmlVgpuTypeGetMaxInstancesPerGpuInstance = __library
6062            .get(b"nvmlVgpuTypeGetMaxInstancesPerGpuInstance\0")
6063            .map(|sym| *sym);
6064        let nvmlGpuInstanceGetActiveVgpus = __library
6065            .get(b"nvmlGpuInstanceGetActiveVgpus\0")
6066            .map(|sym| *sym);
6067        let nvmlGpuInstanceSetVgpuSchedulerState = __library
6068            .get(b"nvmlGpuInstanceSetVgpuSchedulerState\0")
6069            .map(|sym| *sym);
6070        let nvmlGpuInstanceGetVgpuSchedulerState = __library
6071            .get(b"nvmlGpuInstanceGetVgpuSchedulerState\0")
6072            .map(|sym| *sym);
6073        let nvmlGpuInstanceGetVgpuSchedulerLog = __library
6074            .get(b"nvmlGpuInstanceGetVgpuSchedulerLog\0")
6075            .map(|sym| *sym);
6076        let nvmlGpuInstanceGetVgpuTypeCreatablePlacements = __library
6077            .get(b"nvmlGpuInstanceGetVgpuTypeCreatablePlacements\0")
6078            .map(|sym| *sym);
6079        let nvmlGpuInstanceGetVgpuHeterogeneousMode = __library
6080            .get(b"nvmlGpuInstanceGetVgpuHeterogeneousMode\0")
6081            .map(|sym| *sym);
6082        let nvmlGpuInstanceSetVgpuHeterogeneousMode = __library
6083            .get(b"nvmlGpuInstanceSetVgpuHeterogeneousMode\0")
6084            .map(|sym| *sym);
6085        let nvmlVgpuInstanceGetMetadata = __library
6086            .get(b"nvmlVgpuInstanceGetMetadata\0")
6087            .map(|sym| *sym);
6088        let nvmlDeviceGetVgpuMetadata = __library
6089            .get(b"nvmlDeviceGetVgpuMetadata\0")
6090            .map(|sym| *sym);
6091        let nvmlGetVgpuCompatibility = __library.get(b"nvmlGetVgpuCompatibility\0").map(|sym| *sym);
6092        let nvmlDeviceGetPgpuMetadataString = __library
6093            .get(b"nvmlDeviceGetPgpuMetadataString\0")
6094            .map(|sym| *sym);
6095        let nvmlDeviceGetVgpuSchedulerLog = __library
6096            .get(b"nvmlDeviceGetVgpuSchedulerLog\0")
6097            .map(|sym| *sym);
6098        let nvmlDeviceGetVgpuSchedulerState = __library
6099            .get(b"nvmlDeviceGetVgpuSchedulerState\0")
6100            .map(|sym| *sym);
6101        let nvmlDeviceGetVgpuSchedulerCapabilities = __library
6102            .get(b"nvmlDeviceGetVgpuSchedulerCapabilities\0")
6103            .map(|sym| *sym);
6104        let nvmlDeviceSetVgpuSchedulerState = __library
6105            .get(b"nvmlDeviceSetVgpuSchedulerState\0")
6106            .map(|sym| *sym);
6107        let nvmlGetVgpuVersion = __library.get(b"nvmlGetVgpuVersion\0").map(|sym| *sym);
6108        let nvmlSetVgpuVersion = __library.get(b"nvmlSetVgpuVersion\0").map(|sym| *sym);
6109        let nvmlDeviceGetVgpuUtilization = __library
6110            .get(b"nvmlDeviceGetVgpuUtilization\0")
6111            .map(|sym| *sym);
6112        let nvmlDeviceGetVgpuInstancesUtilizationInfo = __library
6113            .get(b"nvmlDeviceGetVgpuInstancesUtilizationInfo\0")
6114            .map(|sym| *sym);
6115        let nvmlDeviceGetVgpuProcessUtilization = __library
6116            .get(b"nvmlDeviceGetVgpuProcessUtilization\0")
6117            .map(|sym| *sym);
6118        let nvmlDeviceGetVgpuProcessesUtilizationInfo = __library
6119            .get(b"nvmlDeviceGetVgpuProcessesUtilizationInfo\0")
6120            .map(|sym| *sym);
6121        let nvmlVgpuInstanceGetAccountingMode = __library
6122            .get(b"nvmlVgpuInstanceGetAccountingMode\0")
6123            .map(|sym| *sym);
6124        let nvmlVgpuInstanceGetAccountingPids = __library
6125            .get(b"nvmlVgpuInstanceGetAccountingPids\0")
6126            .map(|sym| *sym);
6127        let nvmlVgpuInstanceGetAccountingStats = __library
6128            .get(b"nvmlVgpuInstanceGetAccountingStats\0")
6129            .map(|sym| *sym);
6130        let nvmlVgpuInstanceClearAccountingPids = __library
6131            .get(b"nvmlVgpuInstanceClearAccountingPids\0")
6132            .map(|sym| *sym);
6133        let nvmlVgpuInstanceGetLicenseInfo_v2 = __library
6134            .get(b"nvmlVgpuInstanceGetLicenseInfo_v2\0")
6135            .map(|sym| *sym);
6136        let nvmlGetExcludedDeviceCount = __library
6137            .get(b"nvmlGetExcludedDeviceCount\0")
6138            .map(|sym| *sym);
6139        let nvmlGetExcludedDeviceInfoByIndex = __library
6140            .get(b"nvmlGetExcludedDeviceInfoByIndex\0")
6141            .map(|sym| *sym);
6142        let nvmlDeviceReadWritePRM_v1 = __library
6143            .get(b"nvmlDeviceReadWritePRM_v1\0")
6144            .map(|sym| *sym);
6145        let nvmlDeviceSetMigMode = __library.get(b"nvmlDeviceSetMigMode\0").map(|sym| *sym);
6146        let nvmlDeviceGetMigMode = __library.get(b"nvmlDeviceGetMigMode\0").map(|sym| *sym);
6147        let nvmlDeviceGetGpuInstanceProfileInfo = __library
6148            .get(b"nvmlDeviceGetGpuInstanceProfileInfo\0")
6149            .map(|sym| *sym);
6150        let nvmlDeviceGetGpuInstanceProfileInfoV = __library
6151            .get(b"nvmlDeviceGetGpuInstanceProfileInfoV\0")
6152            .map(|sym| *sym);
6153        let nvmlDeviceGetGpuInstanceProfileInfoByIdV = __library
6154            .get(b"nvmlDeviceGetGpuInstanceProfileInfoByIdV\0")
6155            .map(|sym| *sym);
6156        let nvmlDeviceGetGpuInstancePossiblePlacements_v2 = __library
6157            .get(b"nvmlDeviceGetGpuInstancePossiblePlacements_v2\0")
6158            .map(|sym| *sym);
6159        let nvmlDeviceGetGpuInstanceRemainingCapacity = __library
6160            .get(b"nvmlDeviceGetGpuInstanceRemainingCapacity\0")
6161            .map(|sym| *sym);
6162        let nvmlDeviceCreateGpuInstance = __library
6163            .get(b"nvmlDeviceCreateGpuInstance\0")
6164            .map(|sym| *sym);
6165        let nvmlDeviceCreateGpuInstanceWithPlacement = __library
6166            .get(b"nvmlDeviceCreateGpuInstanceWithPlacement\0")
6167            .map(|sym| *sym);
6168        let nvmlGpuInstanceDestroy = __library.get(b"nvmlGpuInstanceDestroy\0").map(|sym| *sym);
6169        let nvmlDeviceGetGpuInstances = __library
6170            .get(b"nvmlDeviceGetGpuInstances\0")
6171            .map(|sym| *sym);
6172        let nvmlDeviceGetGpuInstanceById = __library
6173            .get(b"nvmlDeviceGetGpuInstanceById\0")
6174            .map(|sym| *sym);
6175        let nvmlGpuInstanceGetInfo = __library.get(b"nvmlGpuInstanceGetInfo\0").map(|sym| *sym);
6176        let nvmlGpuInstanceGetComputeInstanceProfileInfo = __library
6177            .get(b"nvmlGpuInstanceGetComputeInstanceProfileInfo\0")
6178            .map(|sym| *sym);
6179        let nvmlGpuInstanceGetComputeInstanceProfileInfoV = __library
6180            .get(b"nvmlGpuInstanceGetComputeInstanceProfileInfoV\0")
6181            .map(|sym| *sym);
6182        let nvmlGpuInstanceGetComputeInstanceRemainingCapacity = __library
6183            .get(b"nvmlGpuInstanceGetComputeInstanceRemainingCapacity\0")
6184            .map(|sym| *sym);
6185        let nvmlGpuInstanceGetComputeInstancePossiblePlacements = __library
6186            .get(b"nvmlGpuInstanceGetComputeInstancePossiblePlacements\0")
6187            .map(|sym| *sym);
6188        let nvmlGpuInstanceCreateComputeInstance = __library
6189            .get(b"nvmlGpuInstanceCreateComputeInstance\0")
6190            .map(|sym| *sym);
6191        let nvmlGpuInstanceCreateComputeInstanceWithPlacement = __library
6192            .get(b"nvmlGpuInstanceCreateComputeInstanceWithPlacement\0")
6193            .map(|sym| *sym);
6194        let nvmlComputeInstanceDestroy = __library
6195            .get(b"nvmlComputeInstanceDestroy\0")
6196            .map(|sym| *sym);
6197        let nvmlGpuInstanceGetComputeInstances = __library
6198            .get(b"nvmlGpuInstanceGetComputeInstances\0")
6199            .map(|sym| *sym);
6200        let nvmlGpuInstanceGetComputeInstanceById = __library
6201            .get(b"nvmlGpuInstanceGetComputeInstanceById\0")
6202            .map(|sym| *sym);
6203        let nvmlComputeInstanceGetInfo_v2 = __library
6204            .get(b"nvmlComputeInstanceGetInfo_v2\0")
6205            .map(|sym| *sym);
6206        let nvmlDeviceIsMigDeviceHandle = __library
6207            .get(b"nvmlDeviceIsMigDeviceHandle\0")
6208            .map(|sym| *sym);
6209        let nvmlDeviceGetGpuInstanceId = __library
6210            .get(b"nvmlDeviceGetGpuInstanceId\0")
6211            .map(|sym| *sym);
6212        let nvmlDeviceGetComputeInstanceId = __library
6213            .get(b"nvmlDeviceGetComputeInstanceId\0")
6214            .map(|sym| *sym);
6215        let nvmlDeviceGetMaxMigDeviceCount = __library
6216            .get(b"nvmlDeviceGetMaxMigDeviceCount\0")
6217            .map(|sym| *sym);
6218        let nvmlDeviceGetMigDeviceHandleByIndex = __library
6219            .get(b"nvmlDeviceGetMigDeviceHandleByIndex\0")
6220            .map(|sym| *sym);
6221        let nvmlDeviceGetDeviceHandleFromMigDeviceHandle = __library
6222            .get(b"nvmlDeviceGetDeviceHandleFromMigDeviceHandle\0")
6223            .map(|sym| *sym);
6224        let nvmlGpmMetricsGet = __library.get(b"nvmlGpmMetricsGet\0").map(|sym| *sym);
6225        let nvmlGpmSampleFree = __library.get(b"nvmlGpmSampleFree\0").map(|sym| *sym);
6226        let nvmlGpmSampleAlloc = __library.get(b"nvmlGpmSampleAlloc\0").map(|sym| *sym);
6227        let nvmlGpmSampleGet = __library.get(b"nvmlGpmSampleGet\0").map(|sym| *sym);
6228        let nvmlGpmMigSampleGet = __library.get(b"nvmlGpmMigSampleGet\0").map(|sym| *sym);
6229        let nvmlGpmQueryDeviceSupport = __library
6230            .get(b"nvmlGpmQueryDeviceSupport\0")
6231            .map(|sym| *sym);
6232        let nvmlGpmQueryIfStreamingEnabled = __library
6233            .get(b"nvmlGpmQueryIfStreamingEnabled\0")
6234            .map(|sym| *sym);
6235        let nvmlGpmSetStreamingEnabled = __library
6236            .get(b"nvmlGpmSetStreamingEnabled\0")
6237            .map(|sym| *sym);
6238        let nvmlDeviceGetCapabilities = __library
6239            .get(b"nvmlDeviceGetCapabilities\0")
6240            .map(|sym| *sym);
6241        let nvmlDeviceWorkloadPowerProfileGetProfilesInfo = __library
6242            .get(b"nvmlDeviceWorkloadPowerProfileGetProfilesInfo\0")
6243            .map(|sym| *sym);
6244        let nvmlDeviceWorkloadPowerProfileGetCurrentProfiles = __library
6245            .get(b"nvmlDeviceWorkloadPowerProfileGetCurrentProfiles\0")
6246            .map(|sym| *sym);
6247        let nvmlDeviceWorkloadPowerProfileSetRequestedProfiles = __library
6248            .get(b"nvmlDeviceWorkloadPowerProfileSetRequestedProfiles\0")
6249            .map(|sym| *sym);
6250        let nvmlDeviceWorkloadPowerProfileClearRequestedProfiles = __library
6251            .get(b"nvmlDeviceWorkloadPowerProfileClearRequestedProfiles\0")
6252            .map(|sym| *sym);
6253        let nvmlDevicePowerSmoothingActivatePresetProfile = __library
6254            .get(b"nvmlDevicePowerSmoothingActivatePresetProfile\0")
6255            .map(|sym| *sym);
6256        let nvmlDevicePowerSmoothingUpdatePresetProfileParam = __library
6257            .get(b"nvmlDevicePowerSmoothingUpdatePresetProfileParam\0")
6258            .map(|sym| *sym);
6259        let nvmlDevicePowerSmoothingSetState = __library
6260            .get(b"nvmlDevicePowerSmoothingSetState\0")
6261            .map(|sym| *sym);
6262        let nvmlDeviceGetSramUniqueUncorrectedEccErrorCounts = __library
6263            .get(b"nvmlDeviceGetSramUniqueUncorrectedEccErrorCounts\0")
6264            .map(|sym| *sym);
6265        #[cfg(feature = "legacy-functions")]
6266        let nvmlInit = __library.get(b"nvmlInit\0").map(|sym| *sym);
6267        #[cfg(feature = "legacy-functions")]
6268        let nvmlDeviceGetCount = __library.get(b"nvmlDeviceGetCount\0").map(|sym| *sym);
6269        #[cfg(feature = "legacy-functions")]
6270        let nvmlDeviceGetHandleByIndex = __library
6271            .get(b"nvmlDeviceGetHandleByIndex\0")
6272            .map(|sym| *sym);
6273        #[cfg(feature = "legacy-functions")]
6274        let nvmlDeviceGetHandleByPciBusId = __library
6275            .get(b"nvmlDeviceGetHandleByPciBusId\0")
6276            .map(|sym| *sym);
6277        #[cfg(feature = "legacy-functions")]
6278        let nvmlDeviceGetPciInfo = __library.get(b"nvmlDeviceGetPciInfo\0").map(|sym| *sym);
6279        #[cfg(feature = "legacy-functions")]
6280        let nvmlDeviceGetPciInfo_v2 = __library.get(b"nvmlDeviceGetPciInfo_v2\0").map(|sym| *sym);
6281        #[cfg(feature = "legacy-functions")]
6282        let nvmlDeviceGetNvLinkRemotePciInfo = __library
6283            .get(b"nvmlDeviceGetNvLinkRemotePciInfo\0")
6284            .map(|sym| *sym);
6285        #[cfg(feature = "legacy-functions")]
6286        let nvmlDeviceGetGridLicensableFeatures = __library
6287            .get(b"nvmlDeviceGetGridLicensableFeatures\0")
6288            .map(|sym| *sym);
6289        #[cfg(feature = "legacy-functions")]
6290        let nvmlDeviceGetGridLicensableFeatures_v2 = __library
6291            .get(b"nvmlDeviceGetGridLicensableFeatures_v2\0")
6292            .map(|sym| *sym);
6293        #[cfg(feature = "legacy-functions")]
6294        let nvmlDeviceGetGridLicensableFeatures_v3 = __library
6295            .get(b"nvmlDeviceGetGridLicensableFeatures_v3\0")
6296            .map(|sym| *sym);
6297        #[cfg(feature = "legacy-functions")]
6298        let nvmlDeviceRemoveGpu = __library.get(b"nvmlDeviceRemoveGpu\0").map(|sym| *sym);
6299        #[cfg(feature = "legacy-functions")]
6300        let nvmlEventSetWait = __library.get(b"nvmlEventSetWait\0").map(|sym| *sym);
6301        #[cfg(feature = "legacy-functions")]
6302        let nvmlDeviceGetAttributes = __library.get(b"nvmlDeviceGetAttributes\0").map(|sym| *sym);
6303        #[cfg(feature = "legacy-functions")]
6304        let nvmlComputeInstanceGetInfo = __library
6305            .get(b"nvmlComputeInstanceGetInfo\0")
6306            .map(|sym| *sym);
6307        #[cfg(feature = "legacy-functions")]
6308        let nvmlDeviceGetComputeRunningProcesses = __library
6309            .get(b"nvmlDeviceGetComputeRunningProcesses\0")
6310            .map(|sym| *sym);
6311        #[cfg(feature = "legacy-functions")]
6312        let nvmlDeviceGetComputeRunningProcesses_v2 = __library
6313            .get(b"nvmlDeviceGetComputeRunningProcesses_v2\0")
6314            .map(|sym| *sym);
6315        #[cfg(feature = "legacy-functions")]
6316        let nvmlDeviceGetGraphicsRunningProcesses = __library
6317            .get(b"nvmlDeviceGetGraphicsRunningProcesses\0")
6318            .map(|sym| *sym);
6319        #[cfg(feature = "legacy-functions")]
6320        let nvmlDeviceGetGraphicsRunningProcesses_v2 = __library
6321            .get(b"nvmlDeviceGetGraphicsRunningProcesses_v2\0")
6322            .map(|sym| *sym);
6323        #[cfg(feature = "legacy-functions")]
6324        let nvmlDeviceGetMPSComputeRunningProcesses = __library
6325            .get(b"nvmlDeviceGetMPSComputeRunningProcesses\0")
6326            .map(|sym| *sym);
6327        #[cfg(feature = "legacy-functions")]
6328        let nvmlDeviceGetMPSComputeRunningProcesses_v2 = __library
6329            .get(b"nvmlDeviceGetMPSComputeRunningProcesses_v2\0")
6330            .map(|sym| *sym);
6331        #[cfg(feature = "legacy-functions")]
6332        let nvmlDeviceGetGpuInstancePossiblePlacements = __library
6333            .get(b"nvmlDeviceGetGpuInstancePossiblePlacements\0")
6334            .map(|sym| *sym);
6335        #[cfg(feature = "legacy-functions")]
6336        let nvmlVgpuInstanceGetLicenseInfo = __library
6337            .get(b"nvmlVgpuInstanceGetLicenseInfo\0")
6338            .map(|sym| *sym);
6339        let nvmlDeviceGetDriverModel = __library.get(b"nvmlDeviceGetDriverModel\0").map(|sym| *sym);
6340        Ok(NvmlLib {
6341            __library,
6342            nvmlInit_v2,
6343            nvmlInitWithFlags,
6344            nvmlShutdown,
6345            nvmlErrorString,
6346            nvmlSystemGetDriverVersion,
6347            nvmlSystemGetNVMLVersion,
6348            nvmlSystemGetCudaDriverVersion,
6349            nvmlSystemGetCudaDriverVersion_v2,
6350            nvmlSystemGetProcessName,
6351            nvmlSystemGetHicVersion,
6352            nvmlSystemGetTopologyGpuSet,
6353            nvmlSystemGetDriverBranch,
6354            nvmlUnitGetCount,
6355            nvmlUnitGetHandleByIndex,
6356            nvmlUnitGetUnitInfo,
6357            nvmlUnitGetLedState,
6358            nvmlUnitGetPsuInfo,
6359            nvmlUnitGetTemperature,
6360            nvmlUnitGetFanSpeedInfo,
6361            nvmlUnitGetDevices,
6362            nvmlDeviceGetCount_v2,
6363            nvmlDeviceGetAttributes_v2,
6364            nvmlDeviceGetHandleByIndex_v2,
6365            nvmlDeviceGetHandleBySerial,
6366            nvmlDeviceGetHandleByUUID,
6367            nvmlDeviceGetHandleByUUIDV,
6368            nvmlDeviceGetHandleByPciBusId_v2,
6369            nvmlDeviceGetName,
6370            nvmlDeviceGetBrand,
6371            nvmlDeviceGetIndex,
6372            nvmlDeviceGetSerial,
6373            nvmlDeviceGetModuleId,
6374            nvmlDeviceGetC2cModeInfoV,
6375            nvmlDeviceGetMemoryAffinity,
6376            nvmlDeviceGetCpuAffinityWithinScope,
6377            nvmlDeviceGetCpuAffinity,
6378            nvmlDeviceSetCpuAffinity,
6379            nvmlDeviceClearCpuAffinity,
6380            nvmlDeviceGetNumaNodeId,
6381            nvmlDeviceGetAddressingMode,
6382            nvmlDeviceGetRepairStatus,
6383            nvmlDeviceGetTopologyCommonAncestor,
6384            nvmlDeviceGetTopologyNearestGpus,
6385            nvmlDeviceGetP2PStatus,
6386            nvmlDeviceGetUUID,
6387            nvmlDeviceGetMinorNumber,
6388            nvmlDeviceGetBoardPartNumber,
6389            nvmlDeviceGetInforomVersion,
6390            nvmlDeviceGetInforomImageVersion,
6391            nvmlDeviceGetInforomConfigurationChecksum,
6392            nvmlDeviceValidateInforom,
6393            nvmlDeviceGetLastBBXFlushTime,
6394            nvmlDeviceGetDisplayMode,
6395            nvmlDeviceGetDisplayActive,
6396            nvmlDeviceGetPersistenceMode,
6397            nvmlDeviceGetPciInfoExt,
6398            nvmlDeviceGetPciInfo_v3,
6399            nvmlDeviceGetMaxPcieLinkGeneration,
6400            nvmlDeviceGetGpuMaxPcieLinkGeneration,
6401            nvmlDeviceGetMaxPcieLinkWidth,
6402            nvmlDeviceGetCurrPcieLinkGeneration,
6403            nvmlDeviceGetCurrPcieLinkWidth,
6404            nvmlDeviceGetPcieThroughput,
6405            nvmlDeviceGetPcieReplayCounter,
6406            nvmlDeviceGetClockInfo,
6407            nvmlDeviceGetMaxClockInfo,
6408            nvmlDeviceGetGpcClkVfOffset,
6409            nvmlDeviceGetApplicationsClock,
6410            nvmlDeviceGetDefaultApplicationsClock,
6411            nvmlDeviceGetClock,
6412            nvmlDeviceGetMaxCustomerBoostClock,
6413            nvmlDeviceGetSupportedMemoryClocks,
6414            nvmlDeviceGetSupportedGraphicsClocks,
6415            nvmlDeviceGetAutoBoostedClocksEnabled,
6416            nvmlDeviceGetFanSpeed,
6417            nvmlDeviceGetFanSpeed_v2,
6418            nvmlDeviceGetFanSpeedRPM,
6419            nvmlDeviceGetTargetFanSpeed,
6420            nvmlDeviceGetMinMaxFanSpeed,
6421            nvmlDeviceGetFanControlPolicy_v2,
6422            nvmlDeviceGetNumFans,
6423            nvmlDeviceGetTemperature,
6424            nvmlDeviceGetCoolerInfo,
6425            nvmlDeviceGetTemperatureV,
6426            nvmlDeviceGetTemperatureThreshold,
6427            nvmlDeviceGetMarginTemperature,
6428            nvmlDeviceGetThermalSettings,
6429            nvmlDeviceGetPerformanceState,
6430            nvmlDeviceGetCurrentClocksEventReasons,
6431            nvmlDeviceGetCurrentClocksThrottleReasons,
6432            nvmlDeviceGetSupportedClocksEventReasons,
6433            nvmlDeviceGetSupportedClocksThrottleReasons,
6434            nvmlDeviceGetPowerState,
6435            nvmlDeviceGetDynamicPstatesInfo,
6436            nvmlDeviceGetMemClkVfOffset,
6437            nvmlDeviceGetMinMaxClockOfPState,
6438            nvmlDeviceGetSupportedPerformanceStates,
6439            nvmlDeviceGetGpcClkMinMaxVfOffset,
6440            nvmlDeviceGetMemClkMinMaxVfOffset,
6441            nvmlDeviceGetClockOffsets,
6442            nvmlDeviceSetClockOffsets,
6443            nvmlDeviceGetPerformanceModes,
6444            nvmlDeviceGetCurrentClockFreqs,
6445            nvmlDeviceGetPowerManagementMode,
6446            nvmlDeviceGetPowerManagementLimit,
6447            nvmlDeviceGetPowerManagementLimitConstraints,
6448            nvmlDeviceGetPowerManagementDefaultLimit,
6449            nvmlDeviceGetPowerUsage,
6450            nvmlDeviceGetPowerMizerMode_v1,
6451            nvmlDeviceSetPowerMizerMode_v1,
6452            nvmlDeviceGetTotalEnergyConsumption,
6453            nvmlDeviceGetEnforcedPowerLimit,
6454            nvmlDeviceGetGpuOperationMode,
6455            nvmlDeviceGetMemoryInfo,
6456            nvmlDeviceGetMemoryInfo_v2,
6457            nvmlDeviceGetComputeMode,
6458            nvmlDeviceGetCudaComputeCapability,
6459            nvmlDeviceGetDramEncryptionMode,
6460            nvmlDeviceSetDramEncryptionMode,
6461            nvmlDeviceGetEccMode,
6462            nvmlDeviceGetDefaultEccMode,
6463            nvmlDeviceGetBoardId,
6464            nvmlDeviceGetMultiGpuBoard,
6465            nvmlDeviceGetTotalEccErrors,
6466            nvmlDeviceGetDetailedEccErrors,
6467            nvmlDeviceGetMemoryErrorCounter,
6468            nvmlDeviceGetUtilizationRates,
6469            nvmlDeviceGetEncoderUtilization,
6470            nvmlDeviceGetEncoderCapacity,
6471            nvmlDeviceGetEncoderStats,
6472            nvmlDeviceGetEncoderSessions,
6473            nvmlDeviceGetDecoderUtilization,
6474            nvmlDeviceGetJpgUtilization,
6475            nvmlDeviceGetOfaUtilization,
6476            nvmlDeviceGetFBCStats,
6477            nvmlDeviceGetFBCSessions,
6478            nvmlDeviceGetDriverModel_v2,
6479            nvmlDeviceGetVbiosVersion,
6480            nvmlDeviceGetBridgeChipInfo,
6481            nvmlDeviceGetComputeRunningProcesses_v3,
6482            nvmlDeviceGetGraphicsRunningProcesses_v3,
6483            nvmlDeviceGetMPSComputeRunningProcesses_v3,
6484            nvmlDeviceGetRunningProcessDetailList,
6485            nvmlDeviceOnSameBoard,
6486            nvmlDeviceGetAPIRestriction,
6487            nvmlDeviceGetSamples,
6488            nvmlDeviceGetBAR1MemoryInfo,
6489            nvmlDeviceGetViolationStatus,
6490            nvmlDeviceGetIrqNum,
6491            nvmlDeviceGetNumGpuCores,
6492            nvmlDeviceGetPowerSource,
6493            nvmlDeviceGetMemoryBusWidth,
6494            nvmlDeviceGetPcieLinkMaxSpeed,
6495            nvmlDeviceGetPcieSpeed,
6496            nvmlDeviceGetAdaptiveClockInfoStatus,
6497            nvmlDeviceGetBusType,
6498            nvmlDeviceGetGpuFabricInfo,
6499            nvmlDeviceGetGpuFabricInfoV,
6500            nvmlSystemGetConfComputeCapabilities,
6501            nvmlSystemGetConfComputeState,
6502            nvmlDeviceGetConfComputeMemSizeInfo,
6503            nvmlSystemGetConfComputeGpusReadyState,
6504            nvmlDeviceGetConfComputeProtectedMemoryUsage,
6505            nvmlDeviceGetConfComputeGpuCertificate,
6506            nvmlDeviceGetConfComputeGpuAttestationReport,
6507            nvmlSystemGetConfComputeKeyRotationThresholdInfo,
6508            nvmlDeviceSetConfComputeUnprotectedMemSize,
6509            nvmlSystemSetConfComputeGpusReadyState,
6510            nvmlSystemSetConfComputeKeyRotationThresholdInfo,
6511            nvmlSystemGetConfComputeSettings,
6512            nvmlDeviceGetGspFirmwareVersion,
6513            nvmlDeviceGetGspFirmwareMode,
6514            nvmlDeviceGetSramEccErrorStatus,
6515            nvmlDeviceSetPowerManagementLimit_v2,
6516            nvmlDeviceGetAccountingMode,
6517            nvmlDeviceGetAccountingStats,
6518            nvmlDeviceGetAccountingPids,
6519            nvmlDeviceGetAccountingBufferSize,
6520            nvmlDeviceGetRetiredPages,
6521            nvmlDeviceGetRetiredPages_v2,
6522            nvmlDeviceGetRetiredPagesPendingStatus,
6523            nvmlDeviceGetRemappedRows,
6524            nvmlDeviceGetRowRemapperHistogram,
6525            nvmlDeviceGetArchitecture,
6526            nvmlDeviceGetClkMonStatus,
6527            nvmlDeviceGetProcessUtilization,
6528            nvmlDeviceGetProcessesUtilizationInfo,
6529            nvmlDeviceGetPlatformInfo,
6530            nvmlDeviceGetPdi,
6531            nvmlUnitSetLedState,
6532            nvmlDeviceSetPersistenceMode,
6533            nvmlDeviceSetComputeMode,
6534            nvmlDeviceSetEccMode,
6535            nvmlDeviceClearEccErrorCounts,
6536            nvmlDeviceSetDriverModel,
6537            nvmlDeviceSetGpuLockedClocks,
6538            nvmlDeviceResetGpuLockedClocks,
6539            nvmlDeviceSetMemoryLockedClocks,
6540            nvmlDeviceResetMemoryLockedClocks,
6541            nvmlDeviceSetApplicationsClocks,
6542            nvmlDeviceResetApplicationsClocks,
6543            nvmlDeviceSetAutoBoostedClocksEnabled,
6544            nvmlDeviceSetDefaultAutoBoostedClocksEnabled,
6545            nvmlDeviceSetDefaultFanSpeed_v2,
6546            nvmlDeviceSetFanControlPolicy,
6547            nvmlDeviceSetTemperatureThreshold,
6548            nvmlDeviceSetPowerManagementLimit,
6549            nvmlDeviceSetGpuOperationMode,
6550            nvmlDeviceSetAPIRestriction,
6551            nvmlDeviceSetFanSpeed_v2,
6552            nvmlDeviceSetGpcClkVfOffset,
6553            nvmlDeviceSetMemClkVfOffset,
6554            nvmlDeviceSetAccountingMode,
6555            nvmlDeviceClearAccountingPids,
6556            nvmlDeviceGetNvLinkState,
6557            nvmlDeviceGetNvLinkVersion,
6558            nvmlDeviceGetNvLinkCapability,
6559            nvmlDeviceGetNvLinkRemotePciInfo_v2,
6560            nvmlDeviceGetNvLinkErrorCounter,
6561            nvmlDeviceResetNvLinkErrorCounters,
6562            nvmlDeviceSetNvLinkUtilizationControl,
6563            nvmlDeviceGetNvLinkUtilizationControl,
6564            nvmlDeviceGetNvLinkUtilizationCounter,
6565            nvmlDeviceFreezeNvLinkUtilizationCounter,
6566            nvmlDeviceResetNvLinkUtilizationCounter,
6567            nvmlDeviceGetNvLinkRemoteDeviceType,
6568            nvmlDeviceSetNvLinkDeviceLowPowerThreshold,
6569            nvmlSystemSetNvlinkBwMode,
6570            nvmlSystemGetNvlinkBwMode,
6571            nvmlDeviceGetNvlinkSupportedBwModes,
6572            nvmlDeviceGetNvlinkBwMode,
6573            nvmlDeviceSetNvlinkBwMode,
6574            nvmlDeviceGetNvLinkInfo,
6575            nvmlEventSetCreate,
6576            nvmlDeviceRegisterEvents,
6577            nvmlDeviceGetSupportedEventTypes,
6578            nvmlEventSetWait_v2,
6579            nvmlEventSetFree,
6580            nvmlSystemEventSetCreate,
6581            nvmlSystemEventSetFree,
6582            nvmlSystemRegisterEvents,
6583            nvmlSystemEventSetWait,
6584            nvmlDeviceModifyDrainState,
6585            nvmlDeviceQueryDrainState,
6586            nvmlDeviceRemoveGpu_v2,
6587            nvmlDeviceDiscoverGpus,
6588            nvmlDeviceGetFieldValues,
6589            nvmlDeviceClearFieldValues,
6590            nvmlDeviceGetVirtualizationMode,
6591            nvmlDeviceGetHostVgpuMode,
6592            nvmlDeviceSetVirtualizationMode,
6593            nvmlDeviceGetVgpuHeterogeneousMode,
6594            nvmlDeviceSetVgpuHeterogeneousMode,
6595            nvmlVgpuInstanceGetPlacementId,
6596            nvmlDeviceGetVgpuTypeSupportedPlacements,
6597            nvmlDeviceGetVgpuTypeCreatablePlacements,
6598            nvmlVgpuTypeGetGspHeapSize,
6599            nvmlVgpuTypeGetFbReservation,
6600            nvmlVgpuInstanceGetRuntimeStateSize,
6601            nvmlDeviceSetVgpuCapabilities,
6602            nvmlDeviceGetGridLicensableFeatures_v4,
6603            nvmlGetVgpuDriverCapabilities,
6604            nvmlDeviceGetVgpuCapabilities,
6605            nvmlDeviceGetSupportedVgpus,
6606            nvmlDeviceGetCreatableVgpus,
6607            nvmlVgpuTypeGetClass,
6608            nvmlVgpuTypeGetName,
6609            nvmlVgpuTypeGetGpuInstanceProfileId,
6610            nvmlVgpuTypeGetDeviceID,
6611            nvmlVgpuTypeGetFramebufferSize,
6612            nvmlVgpuTypeGetNumDisplayHeads,
6613            nvmlVgpuTypeGetResolution,
6614            nvmlVgpuTypeGetLicense,
6615            nvmlVgpuTypeGetFrameRateLimit,
6616            nvmlVgpuTypeGetMaxInstances,
6617            nvmlVgpuTypeGetMaxInstancesPerVm,
6618            nvmlVgpuTypeGetBAR1Info,
6619            nvmlDeviceGetActiveVgpus,
6620            nvmlVgpuInstanceGetVmID,
6621            nvmlVgpuInstanceGetUUID,
6622            nvmlVgpuInstanceGetVmDriverVersion,
6623            nvmlVgpuInstanceGetFbUsage,
6624            nvmlVgpuInstanceGetLicenseStatus,
6625            nvmlVgpuInstanceGetType,
6626            nvmlVgpuInstanceGetFrameRateLimit,
6627            nvmlVgpuInstanceGetEccMode,
6628            nvmlVgpuInstanceGetEncoderCapacity,
6629            nvmlVgpuInstanceSetEncoderCapacity,
6630            nvmlVgpuInstanceGetEncoderStats,
6631            nvmlVgpuInstanceGetEncoderSessions,
6632            nvmlVgpuInstanceGetFBCStats,
6633            nvmlVgpuInstanceGetFBCSessions,
6634            nvmlVgpuInstanceGetGpuInstanceId,
6635            nvmlVgpuInstanceGetGpuPciId,
6636            nvmlVgpuTypeGetCapabilities,
6637            nvmlVgpuInstanceGetMdevUUID,
6638            nvmlGpuInstanceGetCreatableVgpus,
6639            nvmlVgpuTypeGetMaxInstancesPerGpuInstance,
6640            nvmlGpuInstanceGetActiveVgpus,
6641            nvmlGpuInstanceSetVgpuSchedulerState,
6642            nvmlGpuInstanceGetVgpuSchedulerState,
6643            nvmlGpuInstanceGetVgpuSchedulerLog,
6644            nvmlGpuInstanceGetVgpuTypeCreatablePlacements,
6645            nvmlGpuInstanceGetVgpuHeterogeneousMode,
6646            nvmlGpuInstanceSetVgpuHeterogeneousMode,
6647            nvmlVgpuInstanceGetMetadata,
6648            nvmlDeviceGetVgpuMetadata,
6649            nvmlGetVgpuCompatibility,
6650            nvmlDeviceGetPgpuMetadataString,
6651            nvmlDeviceGetVgpuSchedulerLog,
6652            nvmlDeviceGetVgpuSchedulerState,
6653            nvmlDeviceGetVgpuSchedulerCapabilities,
6654            nvmlDeviceSetVgpuSchedulerState,
6655            nvmlGetVgpuVersion,
6656            nvmlSetVgpuVersion,
6657            nvmlDeviceGetVgpuUtilization,
6658            nvmlDeviceGetVgpuInstancesUtilizationInfo,
6659            nvmlDeviceGetVgpuProcessUtilization,
6660            nvmlDeviceGetVgpuProcessesUtilizationInfo,
6661            nvmlVgpuInstanceGetAccountingMode,
6662            nvmlVgpuInstanceGetAccountingPids,
6663            nvmlVgpuInstanceGetAccountingStats,
6664            nvmlVgpuInstanceClearAccountingPids,
6665            nvmlVgpuInstanceGetLicenseInfo_v2,
6666            nvmlGetExcludedDeviceCount,
6667            nvmlGetExcludedDeviceInfoByIndex,
6668            nvmlDeviceReadWritePRM_v1,
6669            nvmlDeviceSetMigMode,
6670            nvmlDeviceGetMigMode,
6671            nvmlDeviceGetGpuInstanceProfileInfo,
6672            nvmlDeviceGetGpuInstanceProfileInfoV,
6673            nvmlDeviceGetGpuInstanceProfileInfoByIdV,
6674            nvmlDeviceGetGpuInstancePossiblePlacements_v2,
6675            nvmlDeviceGetGpuInstanceRemainingCapacity,
6676            nvmlDeviceCreateGpuInstance,
6677            nvmlDeviceCreateGpuInstanceWithPlacement,
6678            nvmlGpuInstanceDestroy,
6679            nvmlDeviceGetGpuInstances,
6680            nvmlDeviceGetGpuInstanceById,
6681            nvmlGpuInstanceGetInfo,
6682            nvmlGpuInstanceGetComputeInstanceProfileInfo,
6683            nvmlGpuInstanceGetComputeInstanceProfileInfoV,
6684            nvmlGpuInstanceGetComputeInstanceRemainingCapacity,
6685            nvmlGpuInstanceGetComputeInstancePossiblePlacements,
6686            nvmlGpuInstanceCreateComputeInstance,
6687            nvmlGpuInstanceCreateComputeInstanceWithPlacement,
6688            nvmlComputeInstanceDestroy,
6689            nvmlGpuInstanceGetComputeInstances,
6690            nvmlGpuInstanceGetComputeInstanceById,
6691            nvmlComputeInstanceGetInfo_v2,
6692            nvmlDeviceIsMigDeviceHandle,
6693            nvmlDeviceGetGpuInstanceId,
6694            nvmlDeviceGetComputeInstanceId,
6695            nvmlDeviceGetMaxMigDeviceCount,
6696            nvmlDeviceGetMigDeviceHandleByIndex,
6697            nvmlDeviceGetDeviceHandleFromMigDeviceHandle,
6698            nvmlGpmMetricsGet,
6699            nvmlGpmSampleFree,
6700            nvmlGpmSampleAlloc,
6701            nvmlGpmSampleGet,
6702            nvmlGpmMigSampleGet,
6703            nvmlGpmQueryDeviceSupport,
6704            nvmlGpmQueryIfStreamingEnabled,
6705            nvmlGpmSetStreamingEnabled,
6706            nvmlDeviceGetCapabilities,
6707            nvmlDeviceWorkloadPowerProfileGetProfilesInfo,
6708            nvmlDeviceWorkloadPowerProfileGetCurrentProfiles,
6709            nvmlDeviceWorkloadPowerProfileSetRequestedProfiles,
6710            nvmlDeviceWorkloadPowerProfileClearRequestedProfiles,
6711            nvmlDevicePowerSmoothingActivatePresetProfile,
6712            nvmlDevicePowerSmoothingUpdatePresetProfileParam,
6713            nvmlDevicePowerSmoothingSetState,
6714            nvmlDeviceGetSramUniqueUncorrectedEccErrorCounts,
6715            #[cfg(feature = "legacy-functions")]
6716            nvmlInit,
6717            #[cfg(feature = "legacy-functions")]
6718            nvmlDeviceGetCount,
6719            #[cfg(feature = "legacy-functions")]
6720            nvmlDeviceGetHandleByIndex,
6721            #[cfg(feature = "legacy-functions")]
6722            nvmlDeviceGetHandleByPciBusId,
6723            #[cfg(feature = "legacy-functions")]
6724            nvmlDeviceGetPciInfo,
6725            #[cfg(feature = "legacy-functions")]
6726            nvmlDeviceGetPciInfo_v2,
6727            #[cfg(feature = "legacy-functions")]
6728            nvmlDeviceGetNvLinkRemotePciInfo,
6729            #[cfg(feature = "legacy-functions")]
6730            nvmlDeviceGetGridLicensableFeatures,
6731            #[cfg(feature = "legacy-functions")]
6732            nvmlDeviceGetGridLicensableFeatures_v2,
6733            #[cfg(feature = "legacy-functions")]
6734            nvmlDeviceGetGridLicensableFeatures_v3,
6735            #[cfg(feature = "legacy-functions")]
6736            nvmlDeviceRemoveGpu,
6737            #[cfg(feature = "legacy-functions")]
6738            nvmlEventSetWait,
6739            #[cfg(feature = "legacy-functions")]
6740            nvmlDeviceGetAttributes,
6741            #[cfg(feature = "legacy-functions")]
6742            nvmlComputeInstanceGetInfo,
6743            #[cfg(feature = "legacy-functions")]
6744            nvmlDeviceGetComputeRunningProcesses,
6745            #[cfg(feature = "legacy-functions")]
6746            nvmlDeviceGetComputeRunningProcesses_v2,
6747            #[cfg(feature = "legacy-functions")]
6748            nvmlDeviceGetGraphicsRunningProcesses,
6749            #[cfg(feature = "legacy-functions")]
6750            nvmlDeviceGetGraphicsRunningProcesses_v2,
6751            #[cfg(feature = "legacy-functions")]
6752            nvmlDeviceGetMPSComputeRunningProcesses,
6753            #[cfg(feature = "legacy-functions")]
6754            nvmlDeviceGetMPSComputeRunningProcesses_v2,
6755            #[cfg(feature = "legacy-functions")]
6756            nvmlDeviceGetGpuInstancePossiblePlacements,
6757            #[cfg(feature = "legacy-functions")]
6758            nvmlVgpuInstanceGetLicenseInfo,
6759            nvmlDeviceGetDriverModel,
6760        })
6761    }
6762    pub unsafe fn nvmlInit_v2(&self) -> nvmlReturn_t {
6763        (self
6764            .nvmlInit_v2
6765            .as_ref()
6766            .expect("Expected function, got error."))()
6767    }
6768    pub unsafe fn nvmlInitWithFlags(&self, flags: raw::c_uint) -> nvmlReturn_t {
6769        (self
6770            .nvmlInitWithFlags
6771            .as_ref()
6772            .expect("Expected function, got error."))(flags)
6773    }
6774    pub unsafe fn nvmlShutdown(&self) -> nvmlReturn_t {
6775        (self
6776            .nvmlShutdown
6777            .as_ref()
6778            .expect("Expected function, got error."))()
6779    }
6780    pub unsafe fn nvmlErrorString(&self, result: nvmlReturn_t) -> *const raw::c_char {
6781        (self
6782            .nvmlErrorString
6783            .as_ref()
6784            .expect("Expected function, got error."))(result)
6785    }
6786    pub unsafe fn nvmlSystemGetDriverVersion(
6787        &self,
6788        version: *mut raw::c_char,
6789        length: raw::c_uint,
6790    ) -> nvmlReturn_t {
6791        (self
6792            .nvmlSystemGetDriverVersion
6793            .as_ref()
6794            .expect("Expected function, got error."))(version, length)
6795    }
6796    pub unsafe fn nvmlSystemGetNVMLVersion(
6797        &self,
6798        version: *mut raw::c_char,
6799        length: raw::c_uint,
6800    ) -> nvmlReturn_t {
6801        (self
6802            .nvmlSystemGetNVMLVersion
6803            .as_ref()
6804            .expect("Expected function, got error."))(version, length)
6805    }
6806    pub unsafe fn nvmlSystemGetCudaDriverVersion(
6807        &self,
6808        cudaDriverVersion: *mut raw::c_int,
6809    ) -> nvmlReturn_t {
6810        (self
6811            .nvmlSystemGetCudaDriverVersion
6812            .as_ref()
6813            .expect("Expected function, got error."))(cudaDriverVersion)
6814    }
6815    pub unsafe fn nvmlSystemGetCudaDriverVersion_v2(
6816        &self,
6817        cudaDriverVersion: *mut raw::c_int,
6818    ) -> nvmlReturn_t {
6819        (self
6820            .nvmlSystemGetCudaDriverVersion_v2
6821            .as_ref()
6822            .expect("Expected function, got error."))(cudaDriverVersion)
6823    }
6824    pub unsafe fn nvmlSystemGetProcessName(
6825        &self,
6826        pid: raw::c_uint,
6827        name: *mut raw::c_char,
6828        length: raw::c_uint,
6829    ) -> nvmlReturn_t {
6830        (self
6831            .nvmlSystemGetProcessName
6832            .as_ref()
6833            .expect("Expected function, got error."))(pid, name, length)
6834    }
6835    pub unsafe fn nvmlSystemGetHicVersion(
6836        &self,
6837        hwbcCount: *mut raw::c_uint,
6838        hwbcEntries: *mut nvmlHwbcEntry_t,
6839    ) -> nvmlReturn_t {
6840        (self
6841            .nvmlSystemGetHicVersion
6842            .as_ref()
6843            .expect("Expected function, got error."))(hwbcCount, hwbcEntries)
6844    }
6845    pub unsafe fn nvmlSystemGetTopologyGpuSet(
6846        &self,
6847        cpuNumber: raw::c_uint,
6848        count: *mut raw::c_uint,
6849        deviceArray: *mut nvmlDevice_t,
6850    ) -> nvmlReturn_t {
6851        (self
6852            .nvmlSystemGetTopologyGpuSet
6853            .as_ref()
6854            .expect("Expected function, got error."))(cpuNumber, count, deviceArray)
6855    }
6856    pub unsafe fn nvmlSystemGetDriverBranch(
6857        &self,
6858        branchInfo: *mut nvmlSystemDriverBranchInfo_t,
6859        length: raw::c_uint,
6860    ) -> nvmlReturn_t {
6861        (self
6862            .nvmlSystemGetDriverBranch
6863            .as_ref()
6864            .expect("Expected function, got error."))(branchInfo, length)
6865    }
6866    pub unsafe fn nvmlUnitGetCount(&self, unitCount: *mut raw::c_uint) -> nvmlReturn_t {
6867        (self
6868            .nvmlUnitGetCount
6869            .as_ref()
6870            .expect("Expected function, got error."))(unitCount)
6871    }
6872    pub unsafe fn nvmlUnitGetHandleByIndex(
6873        &self,
6874        index: raw::c_uint,
6875        unit: *mut nvmlUnit_t,
6876    ) -> nvmlReturn_t {
6877        (self
6878            .nvmlUnitGetHandleByIndex
6879            .as_ref()
6880            .expect("Expected function, got error."))(index, unit)
6881    }
6882    pub unsafe fn nvmlUnitGetUnitInfo(
6883        &self,
6884        unit: nvmlUnit_t,
6885        info: *mut nvmlUnitInfo_t,
6886    ) -> nvmlReturn_t {
6887        (self
6888            .nvmlUnitGetUnitInfo
6889            .as_ref()
6890            .expect("Expected function, got error."))(unit, info)
6891    }
6892    pub unsafe fn nvmlUnitGetLedState(
6893        &self,
6894        unit: nvmlUnit_t,
6895        state: *mut nvmlLedState_t,
6896    ) -> nvmlReturn_t {
6897        (self
6898            .nvmlUnitGetLedState
6899            .as_ref()
6900            .expect("Expected function, got error."))(unit, state)
6901    }
6902    pub unsafe fn nvmlUnitGetPsuInfo(
6903        &self,
6904        unit: nvmlUnit_t,
6905        psu: *mut nvmlPSUInfo_t,
6906    ) -> nvmlReturn_t {
6907        (self
6908            .nvmlUnitGetPsuInfo
6909            .as_ref()
6910            .expect("Expected function, got error."))(unit, psu)
6911    }
6912    pub unsafe fn nvmlUnitGetTemperature(
6913        &self,
6914        unit: nvmlUnit_t,
6915        type_: raw::c_uint,
6916        temp: *mut raw::c_uint,
6917    ) -> nvmlReturn_t {
6918        (self
6919            .nvmlUnitGetTemperature
6920            .as_ref()
6921            .expect("Expected function, got error."))(unit, type_, temp)
6922    }
6923    pub unsafe fn nvmlUnitGetFanSpeedInfo(
6924        &self,
6925        unit: nvmlUnit_t,
6926        fanSpeeds: *mut nvmlUnitFanSpeeds_t,
6927    ) -> nvmlReturn_t {
6928        (self
6929            .nvmlUnitGetFanSpeedInfo
6930            .as_ref()
6931            .expect("Expected function, got error."))(unit, fanSpeeds)
6932    }
6933    pub unsafe fn nvmlUnitGetDevices(
6934        &self,
6935        unit: nvmlUnit_t,
6936        deviceCount: *mut raw::c_uint,
6937        devices: *mut nvmlDevice_t,
6938    ) -> nvmlReturn_t {
6939        (self
6940            .nvmlUnitGetDevices
6941            .as_ref()
6942            .expect("Expected function, got error."))(unit, deviceCount, devices)
6943    }
6944    pub unsafe fn nvmlDeviceGetCount_v2(&self, deviceCount: *mut raw::c_uint) -> nvmlReturn_t {
6945        (self
6946            .nvmlDeviceGetCount_v2
6947            .as_ref()
6948            .expect("Expected function, got error."))(deviceCount)
6949    }
6950    pub unsafe fn nvmlDeviceGetAttributes_v2(
6951        &self,
6952        device: nvmlDevice_t,
6953        attributes: *mut nvmlDeviceAttributes_t,
6954    ) -> nvmlReturn_t {
6955        (self
6956            .nvmlDeviceGetAttributes_v2
6957            .as_ref()
6958            .expect("Expected function, got error."))(device, attributes)
6959    }
6960    pub unsafe fn nvmlDeviceGetHandleByIndex_v2(
6961        &self,
6962        index: raw::c_uint,
6963        device: *mut nvmlDevice_t,
6964    ) -> nvmlReturn_t {
6965        (self
6966            .nvmlDeviceGetHandleByIndex_v2
6967            .as_ref()
6968            .expect("Expected function, got error."))(index, device)
6969    }
6970    pub unsafe fn nvmlDeviceGetHandleBySerial(
6971        &self,
6972        serial: *const raw::c_char,
6973        device: *mut nvmlDevice_t,
6974    ) -> nvmlReturn_t {
6975        (self
6976            .nvmlDeviceGetHandleBySerial
6977            .as_ref()
6978            .expect("Expected function, got error."))(serial, device)
6979    }
6980    pub unsafe fn nvmlDeviceGetHandleByUUID(
6981        &self,
6982        uuid: *const raw::c_char,
6983        device: *mut nvmlDevice_t,
6984    ) -> nvmlReturn_t {
6985        (self
6986            .nvmlDeviceGetHandleByUUID
6987            .as_ref()
6988            .expect("Expected function, got error."))(uuid, device)
6989    }
6990    pub unsafe fn nvmlDeviceGetHandleByUUIDV(
6991        &self,
6992        uuid: *const nvmlUUID_t,
6993        device: *mut nvmlDevice_t,
6994    ) -> nvmlReturn_t {
6995        (self
6996            .nvmlDeviceGetHandleByUUIDV
6997            .as_ref()
6998            .expect("Expected function, got error."))(uuid, device)
6999    }
7000    pub unsafe fn nvmlDeviceGetHandleByPciBusId_v2(
7001        &self,
7002        pciBusId: *const raw::c_char,
7003        device: *mut nvmlDevice_t,
7004    ) -> nvmlReturn_t {
7005        (self
7006            .nvmlDeviceGetHandleByPciBusId_v2
7007            .as_ref()
7008            .expect("Expected function, got error."))(pciBusId, device)
7009    }
7010    pub unsafe fn nvmlDeviceGetName(
7011        &self,
7012        device: nvmlDevice_t,
7013        name: *mut raw::c_char,
7014        length: raw::c_uint,
7015    ) -> nvmlReturn_t {
7016        (self
7017            .nvmlDeviceGetName
7018            .as_ref()
7019            .expect("Expected function, got error."))(device, name, length)
7020    }
7021    pub unsafe fn nvmlDeviceGetBrand(
7022        &self,
7023        device: nvmlDevice_t,
7024        type_: *mut nvmlBrandType_t,
7025    ) -> nvmlReturn_t {
7026        (self
7027            .nvmlDeviceGetBrand
7028            .as_ref()
7029            .expect("Expected function, got error."))(device, type_)
7030    }
7031    pub unsafe fn nvmlDeviceGetIndex(
7032        &self,
7033        device: nvmlDevice_t,
7034        index: *mut raw::c_uint,
7035    ) -> nvmlReturn_t {
7036        (self
7037            .nvmlDeviceGetIndex
7038            .as_ref()
7039            .expect("Expected function, got error."))(device, index)
7040    }
7041    pub unsafe fn nvmlDeviceGetSerial(
7042        &self,
7043        device: nvmlDevice_t,
7044        serial: *mut raw::c_char,
7045        length: raw::c_uint,
7046    ) -> nvmlReturn_t {
7047        (self
7048            .nvmlDeviceGetSerial
7049            .as_ref()
7050            .expect("Expected function, got error."))(device, serial, length)
7051    }
7052    pub unsafe fn nvmlDeviceGetModuleId(
7053        &self,
7054        device: nvmlDevice_t,
7055        moduleId: *mut raw::c_uint,
7056    ) -> nvmlReturn_t {
7057        (self
7058            .nvmlDeviceGetModuleId
7059            .as_ref()
7060            .expect("Expected function, got error."))(device, moduleId)
7061    }
7062    pub unsafe fn nvmlDeviceGetC2cModeInfoV(
7063        &self,
7064        device: nvmlDevice_t,
7065        c2cModeInfo: *mut nvmlC2cModeInfo_v1_t,
7066    ) -> nvmlReturn_t {
7067        (self
7068            .nvmlDeviceGetC2cModeInfoV
7069            .as_ref()
7070            .expect("Expected function, got error."))(device, c2cModeInfo)
7071    }
7072    pub unsafe fn nvmlDeviceGetMemoryAffinity(
7073        &self,
7074        device: nvmlDevice_t,
7075        nodeSetSize: raw::c_uint,
7076        nodeSet: *mut raw::c_ulong,
7077        scope: nvmlAffinityScope_t,
7078    ) -> nvmlReturn_t {
7079        (self
7080            .nvmlDeviceGetMemoryAffinity
7081            .as_ref()
7082            .expect("Expected function, got error."))(device, nodeSetSize, nodeSet, scope)
7083    }
7084    pub unsafe fn nvmlDeviceGetCpuAffinityWithinScope(
7085        &self,
7086        device: nvmlDevice_t,
7087        cpuSetSize: raw::c_uint,
7088        cpuSet: *mut raw::c_ulong,
7089        scope: nvmlAffinityScope_t,
7090    ) -> nvmlReturn_t {
7091        (self
7092            .nvmlDeviceGetCpuAffinityWithinScope
7093            .as_ref()
7094            .expect("Expected function, got error."))(device, cpuSetSize, cpuSet, scope)
7095    }
7096    pub unsafe fn nvmlDeviceGetCpuAffinity(
7097        &self,
7098        device: nvmlDevice_t,
7099        cpuSetSize: raw::c_uint,
7100        cpuSet: *mut raw::c_ulong,
7101    ) -> nvmlReturn_t {
7102        (self
7103            .nvmlDeviceGetCpuAffinity
7104            .as_ref()
7105            .expect("Expected function, got error."))(device, cpuSetSize, cpuSet)
7106    }
7107    pub unsafe fn nvmlDeviceSetCpuAffinity(&self, device: nvmlDevice_t) -> nvmlReturn_t {
7108        (self
7109            .nvmlDeviceSetCpuAffinity
7110            .as_ref()
7111            .expect("Expected function, got error."))(device)
7112    }
7113    pub unsafe fn nvmlDeviceClearCpuAffinity(&self, device: nvmlDevice_t) -> nvmlReturn_t {
7114        (self
7115            .nvmlDeviceClearCpuAffinity
7116            .as_ref()
7117            .expect("Expected function, got error."))(device)
7118    }
7119    pub unsafe fn nvmlDeviceGetNumaNodeId(
7120        &self,
7121        device: nvmlDevice_t,
7122        node: *mut raw::c_uint,
7123    ) -> nvmlReturn_t {
7124        (self
7125            .nvmlDeviceGetNumaNodeId
7126            .as_ref()
7127            .expect("Expected function, got error."))(device, node)
7128    }
7129    pub unsafe fn nvmlDeviceGetAddressingMode(
7130        &self,
7131        device: nvmlDevice_t,
7132        mode: *mut nvmlDeviceAddressingMode_t,
7133    ) -> nvmlReturn_t {
7134        (self
7135            .nvmlDeviceGetAddressingMode
7136            .as_ref()
7137            .expect("Expected function, got error."))(device, mode)
7138    }
7139    pub unsafe fn nvmlDeviceGetRepairStatus(
7140        &self,
7141        device: nvmlDevice_t,
7142        repairStatus: *mut nvmlRepairStatus_t,
7143    ) -> nvmlReturn_t {
7144        (self
7145            .nvmlDeviceGetRepairStatus
7146            .as_ref()
7147            .expect("Expected function, got error."))(device, repairStatus)
7148    }
7149    pub unsafe fn nvmlDeviceGetTopologyCommonAncestor(
7150        &self,
7151        device1: nvmlDevice_t,
7152        device2: nvmlDevice_t,
7153        pathInfo: *mut nvmlGpuTopologyLevel_t,
7154    ) -> nvmlReturn_t {
7155        (self
7156            .nvmlDeviceGetTopologyCommonAncestor
7157            .as_ref()
7158            .expect("Expected function, got error."))(device1, device2, pathInfo)
7159    }
7160    pub unsafe fn nvmlDeviceGetTopologyNearestGpus(
7161        &self,
7162        device: nvmlDevice_t,
7163        level: nvmlGpuTopologyLevel_t,
7164        count: *mut raw::c_uint,
7165        deviceArray: *mut nvmlDevice_t,
7166    ) -> nvmlReturn_t {
7167        (self
7168            .nvmlDeviceGetTopologyNearestGpus
7169            .as_ref()
7170            .expect("Expected function, got error."))(device, level, count, deviceArray)
7171    }
7172    pub unsafe fn nvmlDeviceGetP2PStatus(
7173        &self,
7174        device1: nvmlDevice_t,
7175        device2: nvmlDevice_t,
7176        p2pIndex: nvmlGpuP2PCapsIndex_t,
7177        p2pStatus: *mut nvmlGpuP2PStatus_t,
7178    ) -> nvmlReturn_t {
7179        (self
7180            .nvmlDeviceGetP2PStatus
7181            .as_ref()
7182            .expect("Expected function, got error."))(device1, device2, p2pIndex, p2pStatus)
7183    }
7184    pub unsafe fn nvmlDeviceGetUUID(
7185        &self,
7186        device: nvmlDevice_t,
7187        uuid: *mut raw::c_char,
7188        length: raw::c_uint,
7189    ) -> nvmlReturn_t {
7190        (self
7191            .nvmlDeviceGetUUID
7192            .as_ref()
7193            .expect("Expected function, got error."))(device, uuid, length)
7194    }
7195    pub unsafe fn nvmlDeviceGetMinorNumber(
7196        &self,
7197        device: nvmlDevice_t,
7198        minorNumber: *mut raw::c_uint,
7199    ) -> nvmlReturn_t {
7200        (self
7201            .nvmlDeviceGetMinorNumber
7202            .as_ref()
7203            .expect("Expected function, got error."))(device, minorNumber)
7204    }
7205    pub unsafe fn nvmlDeviceGetBoardPartNumber(
7206        &self,
7207        device: nvmlDevice_t,
7208        partNumber: *mut raw::c_char,
7209        length: raw::c_uint,
7210    ) -> nvmlReturn_t {
7211        (self
7212            .nvmlDeviceGetBoardPartNumber
7213            .as_ref()
7214            .expect("Expected function, got error."))(device, partNumber, length)
7215    }
7216    pub unsafe fn nvmlDeviceGetInforomVersion(
7217        &self,
7218        device: nvmlDevice_t,
7219        object: nvmlInforomObject_t,
7220        version: *mut raw::c_char,
7221        length: raw::c_uint,
7222    ) -> nvmlReturn_t {
7223        (self
7224            .nvmlDeviceGetInforomVersion
7225            .as_ref()
7226            .expect("Expected function, got error."))(device, object, version, length)
7227    }
7228    pub unsafe fn nvmlDeviceGetInforomImageVersion(
7229        &self,
7230        device: nvmlDevice_t,
7231        version: *mut raw::c_char,
7232        length: raw::c_uint,
7233    ) -> nvmlReturn_t {
7234        (self
7235            .nvmlDeviceGetInforomImageVersion
7236            .as_ref()
7237            .expect("Expected function, got error."))(device, version, length)
7238    }
7239    pub unsafe fn nvmlDeviceGetInforomConfigurationChecksum(
7240        &self,
7241        device: nvmlDevice_t,
7242        checksum: *mut raw::c_uint,
7243    ) -> nvmlReturn_t {
7244        (self
7245            .nvmlDeviceGetInforomConfigurationChecksum
7246            .as_ref()
7247            .expect("Expected function, got error."))(device, checksum)
7248    }
7249    pub unsafe fn nvmlDeviceValidateInforom(&self, device: nvmlDevice_t) -> nvmlReturn_t {
7250        (self
7251            .nvmlDeviceValidateInforom
7252            .as_ref()
7253            .expect("Expected function, got error."))(device)
7254    }
7255    pub unsafe fn nvmlDeviceGetLastBBXFlushTime(
7256        &self,
7257        device: nvmlDevice_t,
7258        timestamp: *mut raw::c_ulonglong,
7259        durationUs: *mut raw::c_ulong,
7260    ) -> nvmlReturn_t {
7261        (self
7262            .nvmlDeviceGetLastBBXFlushTime
7263            .as_ref()
7264            .expect("Expected function, got error."))(device, timestamp, durationUs)
7265    }
7266    pub unsafe fn nvmlDeviceGetDisplayMode(
7267        &self,
7268        device: nvmlDevice_t,
7269        display: *mut nvmlEnableState_t,
7270    ) -> nvmlReturn_t {
7271        (self
7272            .nvmlDeviceGetDisplayMode
7273            .as_ref()
7274            .expect("Expected function, got error."))(device, display)
7275    }
7276    pub unsafe fn nvmlDeviceGetDisplayActive(
7277        &self,
7278        device: nvmlDevice_t,
7279        isActive: *mut nvmlEnableState_t,
7280    ) -> nvmlReturn_t {
7281        (self
7282            .nvmlDeviceGetDisplayActive
7283            .as_ref()
7284            .expect("Expected function, got error."))(device, isActive)
7285    }
7286    pub unsafe fn nvmlDeviceGetPersistenceMode(
7287        &self,
7288        device: nvmlDevice_t,
7289        mode: *mut nvmlEnableState_t,
7290    ) -> nvmlReturn_t {
7291        (self
7292            .nvmlDeviceGetPersistenceMode
7293            .as_ref()
7294            .expect("Expected function, got error."))(device, mode)
7295    }
7296    pub unsafe fn nvmlDeviceGetPciInfoExt(
7297        &self,
7298        device: nvmlDevice_t,
7299        pci: *mut nvmlPciInfoExt_t,
7300    ) -> nvmlReturn_t {
7301        (self
7302            .nvmlDeviceGetPciInfoExt
7303            .as_ref()
7304            .expect("Expected function, got error."))(device, pci)
7305    }
7306    pub unsafe fn nvmlDeviceGetPciInfo_v3(
7307        &self,
7308        device: nvmlDevice_t,
7309        pci: *mut nvmlPciInfo_t,
7310    ) -> nvmlReturn_t {
7311        (self
7312            .nvmlDeviceGetPciInfo_v3
7313            .as_ref()
7314            .expect("Expected function, got error."))(device, pci)
7315    }
7316    pub unsafe fn nvmlDeviceGetMaxPcieLinkGeneration(
7317        &self,
7318        device: nvmlDevice_t,
7319        maxLinkGen: *mut raw::c_uint,
7320    ) -> nvmlReturn_t {
7321        (self
7322            .nvmlDeviceGetMaxPcieLinkGeneration
7323            .as_ref()
7324            .expect("Expected function, got error."))(device, maxLinkGen)
7325    }
7326    pub unsafe fn nvmlDeviceGetGpuMaxPcieLinkGeneration(
7327        &self,
7328        device: nvmlDevice_t,
7329        maxLinkGenDevice: *mut raw::c_uint,
7330    ) -> nvmlReturn_t {
7331        (self
7332            .nvmlDeviceGetGpuMaxPcieLinkGeneration
7333            .as_ref()
7334            .expect("Expected function, got error."))(device, maxLinkGenDevice)
7335    }
7336    pub unsafe fn nvmlDeviceGetMaxPcieLinkWidth(
7337        &self,
7338        device: nvmlDevice_t,
7339        maxLinkWidth: *mut raw::c_uint,
7340    ) -> nvmlReturn_t {
7341        (self
7342            .nvmlDeviceGetMaxPcieLinkWidth
7343            .as_ref()
7344            .expect("Expected function, got error."))(device, maxLinkWidth)
7345    }
7346    pub unsafe fn nvmlDeviceGetCurrPcieLinkGeneration(
7347        &self,
7348        device: nvmlDevice_t,
7349        currLinkGen: *mut raw::c_uint,
7350    ) -> nvmlReturn_t {
7351        (self
7352            .nvmlDeviceGetCurrPcieLinkGeneration
7353            .as_ref()
7354            .expect("Expected function, got error."))(device, currLinkGen)
7355    }
7356    pub unsafe fn nvmlDeviceGetCurrPcieLinkWidth(
7357        &self,
7358        device: nvmlDevice_t,
7359        currLinkWidth: *mut raw::c_uint,
7360    ) -> nvmlReturn_t {
7361        (self
7362            .nvmlDeviceGetCurrPcieLinkWidth
7363            .as_ref()
7364            .expect("Expected function, got error."))(device, currLinkWidth)
7365    }
7366    pub unsafe fn nvmlDeviceGetPcieThroughput(
7367        &self,
7368        device: nvmlDevice_t,
7369        counter: nvmlPcieUtilCounter_t,
7370        value: *mut raw::c_uint,
7371    ) -> nvmlReturn_t {
7372        (self
7373            .nvmlDeviceGetPcieThroughput
7374            .as_ref()
7375            .expect("Expected function, got error."))(device, counter, value)
7376    }
7377    pub unsafe fn nvmlDeviceGetPcieReplayCounter(
7378        &self,
7379        device: nvmlDevice_t,
7380        value: *mut raw::c_uint,
7381    ) -> nvmlReturn_t {
7382        (self
7383            .nvmlDeviceGetPcieReplayCounter
7384            .as_ref()
7385            .expect("Expected function, got error."))(device, value)
7386    }
7387    pub unsafe fn nvmlDeviceGetClockInfo(
7388        &self,
7389        device: nvmlDevice_t,
7390        type_: nvmlClockType_t,
7391        clock: *mut raw::c_uint,
7392    ) -> nvmlReturn_t {
7393        (self
7394            .nvmlDeviceGetClockInfo
7395            .as_ref()
7396            .expect("Expected function, got error."))(device, type_, clock)
7397    }
7398    pub unsafe fn nvmlDeviceGetMaxClockInfo(
7399        &self,
7400        device: nvmlDevice_t,
7401        type_: nvmlClockType_t,
7402        clock: *mut raw::c_uint,
7403    ) -> nvmlReturn_t {
7404        (self
7405            .nvmlDeviceGetMaxClockInfo
7406            .as_ref()
7407            .expect("Expected function, got error."))(device, type_, clock)
7408    }
7409    pub unsafe fn nvmlDeviceGetGpcClkVfOffset(
7410        &self,
7411        device: nvmlDevice_t,
7412        offset: *mut raw::c_int,
7413    ) -> nvmlReturn_t {
7414        (self
7415            .nvmlDeviceGetGpcClkVfOffset
7416            .as_ref()
7417            .expect("Expected function, got error."))(device, offset)
7418    }
7419    pub unsafe fn nvmlDeviceGetApplicationsClock(
7420        &self,
7421        device: nvmlDevice_t,
7422        clockType: nvmlClockType_t,
7423        clockMHz: *mut raw::c_uint,
7424    ) -> nvmlReturn_t {
7425        (self
7426            .nvmlDeviceGetApplicationsClock
7427            .as_ref()
7428            .expect("Expected function, got error."))(device, clockType, clockMHz)
7429    }
7430    pub unsafe fn nvmlDeviceGetDefaultApplicationsClock(
7431        &self,
7432        device: nvmlDevice_t,
7433        clockType: nvmlClockType_t,
7434        clockMHz: *mut raw::c_uint,
7435    ) -> nvmlReturn_t {
7436        (self
7437            .nvmlDeviceGetDefaultApplicationsClock
7438            .as_ref()
7439            .expect("Expected function, got error."))(device, clockType, clockMHz)
7440    }
7441    pub unsafe fn nvmlDeviceGetClock(
7442        &self,
7443        device: nvmlDevice_t,
7444        clockType: nvmlClockType_t,
7445        clockId: nvmlClockId_t,
7446        clockMHz: *mut raw::c_uint,
7447    ) -> nvmlReturn_t {
7448        (self
7449            .nvmlDeviceGetClock
7450            .as_ref()
7451            .expect("Expected function, got error."))(device, clockType, clockId, clockMHz)
7452    }
7453    pub unsafe fn nvmlDeviceGetMaxCustomerBoostClock(
7454        &self,
7455        device: nvmlDevice_t,
7456        clockType: nvmlClockType_t,
7457        clockMHz: *mut raw::c_uint,
7458    ) -> nvmlReturn_t {
7459        (self
7460            .nvmlDeviceGetMaxCustomerBoostClock
7461            .as_ref()
7462            .expect("Expected function, got error."))(device, clockType, clockMHz)
7463    }
7464    pub unsafe fn nvmlDeviceGetSupportedMemoryClocks(
7465        &self,
7466        device: nvmlDevice_t,
7467        count: *mut raw::c_uint,
7468        clocksMHz: *mut raw::c_uint,
7469    ) -> nvmlReturn_t {
7470        (self
7471            .nvmlDeviceGetSupportedMemoryClocks
7472            .as_ref()
7473            .expect("Expected function, got error."))(device, count, clocksMHz)
7474    }
7475    pub unsafe fn nvmlDeviceGetSupportedGraphicsClocks(
7476        &self,
7477        device: nvmlDevice_t,
7478        memoryClockMHz: raw::c_uint,
7479        count: *mut raw::c_uint,
7480        clocksMHz: *mut raw::c_uint,
7481    ) -> nvmlReturn_t {
7482        (self
7483            .nvmlDeviceGetSupportedGraphicsClocks
7484            .as_ref()
7485            .expect("Expected function, got error."))(
7486            device, memoryClockMHz, count, clocksMHz
7487        )
7488    }
7489    pub unsafe fn nvmlDeviceGetAutoBoostedClocksEnabled(
7490        &self,
7491        device: nvmlDevice_t,
7492        isEnabled: *mut nvmlEnableState_t,
7493        defaultIsEnabled: *mut nvmlEnableState_t,
7494    ) -> nvmlReturn_t {
7495        (self
7496            .nvmlDeviceGetAutoBoostedClocksEnabled
7497            .as_ref()
7498            .expect("Expected function, got error."))(device, isEnabled, defaultIsEnabled)
7499    }
7500    pub unsafe fn nvmlDeviceGetFanSpeed(
7501        &self,
7502        device: nvmlDevice_t,
7503        speed: *mut raw::c_uint,
7504    ) -> nvmlReturn_t {
7505        (self
7506            .nvmlDeviceGetFanSpeed
7507            .as_ref()
7508            .expect("Expected function, got error."))(device, speed)
7509    }
7510    pub unsafe fn nvmlDeviceGetFanSpeed_v2(
7511        &self,
7512        device: nvmlDevice_t,
7513        fan: raw::c_uint,
7514        speed: *mut raw::c_uint,
7515    ) -> nvmlReturn_t {
7516        (self
7517            .nvmlDeviceGetFanSpeed_v2
7518            .as_ref()
7519            .expect("Expected function, got error."))(device, fan, speed)
7520    }
7521    pub unsafe fn nvmlDeviceGetFanSpeedRPM(
7522        &self,
7523        device: nvmlDevice_t,
7524        fanSpeed: *mut nvmlFanSpeedInfo_t,
7525    ) -> nvmlReturn_t {
7526        (self
7527            .nvmlDeviceGetFanSpeedRPM
7528            .as_ref()
7529            .expect("Expected function, got error."))(device, fanSpeed)
7530    }
7531    pub unsafe fn nvmlDeviceGetTargetFanSpeed(
7532        &self,
7533        device: nvmlDevice_t,
7534        fan: raw::c_uint,
7535        targetSpeed: *mut raw::c_uint,
7536    ) -> nvmlReturn_t {
7537        (self
7538            .nvmlDeviceGetTargetFanSpeed
7539            .as_ref()
7540            .expect("Expected function, got error."))(device, fan, targetSpeed)
7541    }
7542    pub unsafe fn nvmlDeviceGetMinMaxFanSpeed(
7543        &self,
7544        device: nvmlDevice_t,
7545        minSpeed: *mut raw::c_uint,
7546        maxSpeed: *mut raw::c_uint,
7547    ) -> nvmlReturn_t {
7548        (self
7549            .nvmlDeviceGetMinMaxFanSpeed
7550            .as_ref()
7551            .expect("Expected function, got error."))(device, minSpeed, maxSpeed)
7552    }
7553    pub unsafe fn nvmlDeviceGetFanControlPolicy_v2(
7554        &self,
7555        device: nvmlDevice_t,
7556        fan: raw::c_uint,
7557        policy: *mut nvmlFanControlPolicy_t,
7558    ) -> nvmlReturn_t {
7559        (self
7560            .nvmlDeviceGetFanControlPolicy_v2
7561            .as_ref()
7562            .expect("Expected function, got error."))(device, fan, policy)
7563    }
7564    pub unsafe fn nvmlDeviceGetNumFans(
7565        &self,
7566        device: nvmlDevice_t,
7567        numFans: *mut raw::c_uint,
7568    ) -> nvmlReturn_t {
7569        (self
7570            .nvmlDeviceGetNumFans
7571            .as_ref()
7572            .expect("Expected function, got error."))(device, numFans)
7573    }
7574    pub unsafe fn nvmlDeviceGetTemperature(
7575        &self,
7576        device: nvmlDevice_t,
7577        sensorType: nvmlTemperatureSensors_t,
7578        temp: *mut raw::c_uint,
7579    ) -> nvmlReturn_t {
7580        (self
7581            .nvmlDeviceGetTemperature
7582            .as_ref()
7583            .expect("Expected function, got error."))(device, sensorType, temp)
7584    }
7585    pub unsafe fn nvmlDeviceGetCoolerInfo(
7586        &self,
7587        device: nvmlDevice_t,
7588        coolerInfo: *mut nvmlCoolerInfo_t,
7589    ) -> nvmlReturn_t {
7590        (self
7591            .nvmlDeviceGetCoolerInfo
7592            .as_ref()
7593            .expect("Expected function, got error."))(device, coolerInfo)
7594    }
7595    pub unsafe fn nvmlDeviceGetTemperatureV(
7596        &self,
7597        device: nvmlDevice_t,
7598        temperature: *mut nvmlTemperature_t,
7599    ) -> nvmlReturn_t {
7600        (self
7601            .nvmlDeviceGetTemperatureV
7602            .as_ref()
7603            .expect("Expected function, got error."))(device, temperature)
7604    }
7605    pub unsafe fn nvmlDeviceGetTemperatureThreshold(
7606        &self,
7607        device: nvmlDevice_t,
7608        thresholdType: nvmlTemperatureThresholds_t,
7609        temp: *mut raw::c_uint,
7610    ) -> nvmlReturn_t {
7611        (self
7612            .nvmlDeviceGetTemperatureThreshold
7613            .as_ref()
7614            .expect("Expected function, got error."))(device, thresholdType, temp)
7615    }
7616    pub unsafe fn nvmlDeviceGetMarginTemperature(
7617        &self,
7618        device: nvmlDevice_t,
7619        marginTempInfo: *mut nvmlMarginTemperature_t,
7620    ) -> nvmlReturn_t {
7621        (self
7622            .nvmlDeviceGetMarginTemperature
7623            .as_ref()
7624            .expect("Expected function, got error."))(device, marginTempInfo)
7625    }
7626    pub unsafe fn nvmlDeviceGetThermalSettings(
7627        &self,
7628        device: nvmlDevice_t,
7629        sensorIndex: raw::c_uint,
7630        pThermalSettings: *mut nvmlGpuThermalSettings_t,
7631    ) -> nvmlReturn_t {
7632        (self
7633            .nvmlDeviceGetThermalSettings
7634            .as_ref()
7635            .expect("Expected function, got error."))(device, sensorIndex, pThermalSettings)
7636    }
7637    pub unsafe fn nvmlDeviceGetPerformanceState(
7638        &self,
7639        device: nvmlDevice_t,
7640        pState: *mut nvmlPstates_t,
7641    ) -> nvmlReturn_t {
7642        (self
7643            .nvmlDeviceGetPerformanceState
7644            .as_ref()
7645            .expect("Expected function, got error."))(device, pState)
7646    }
7647    pub unsafe fn nvmlDeviceGetCurrentClocksEventReasons(
7648        &self,
7649        device: nvmlDevice_t,
7650        clocksEventReasons: *mut raw::c_ulonglong,
7651    ) -> nvmlReturn_t {
7652        (self
7653            .nvmlDeviceGetCurrentClocksEventReasons
7654            .as_ref()
7655            .expect("Expected function, got error."))(device, clocksEventReasons)
7656    }
7657    pub unsafe fn nvmlDeviceGetCurrentClocksThrottleReasons(
7658        &self,
7659        device: nvmlDevice_t,
7660        clocksThrottleReasons: *mut raw::c_ulonglong,
7661    ) -> nvmlReturn_t {
7662        (self
7663            .nvmlDeviceGetCurrentClocksThrottleReasons
7664            .as_ref()
7665            .expect("Expected function, got error."))(device, clocksThrottleReasons)
7666    }
7667    pub unsafe fn nvmlDeviceGetSupportedClocksEventReasons(
7668        &self,
7669        device: nvmlDevice_t,
7670        supportedClocksEventReasons: *mut raw::c_ulonglong,
7671    ) -> nvmlReturn_t {
7672        (self
7673            .nvmlDeviceGetSupportedClocksEventReasons
7674            .as_ref()
7675            .expect("Expected function, got error."))(device, supportedClocksEventReasons)
7676    }
7677    pub unsafe fn nvmlDeviceGetSupportedClocksThrottleReasons(
7678        &self,
7679        device: nvmlDevice_t,
7680        supportedClocksThrottleReasons: *mut raw::c_ulonglong,
7681    ) -> nvmlReturn_t {
7682        (self
7683            .nvmlDeviceGetSupportedClocksThrottleReasons
7684            .as_ref()
7685            .expect("Expected function, got error."))(device, supportedClocksThrottleReasons)
7686    }
7687    pub unsafe fn nvmlDeviceGetPowerState(
7688        &self,
7689        device: nvmlDevice_t,
7690        pState: *mut nvmlPstates_t,
7691    ) -> nvmlReturn_t {
7692        (self
7693            .nvmlDeviceGetPowerState
7694            .as_ref()
7695            .expect("Expected function, got error."))(device, pState)
7696    }
7697    pub unsafe fn nvmlDeviceGetDynamicPstatesInfo(
7698        &self,
7699        device: nvmlDevice_t,
7700        pDynamicPstatesInfo: *mut nvmlGpuDynamicPstatesInfo_t,
7701    ) -> nvmlReturn_t {
7702        (self
7703            .nvmlDeviceGetDynamicPstatesInfo
7704            .as_ref()
7705            .expect("Expected function, got error."))(device, pDynamicPstatesInfo)
7706    }
7707    pub unsafe fn nvmlDeviceGetMemClkVfOffset(
7708        &self,
7709        device: nvmlDevice_t,
7710        offset: *mut raw::c_int,
7711    ) -> nvmlReturn_t {
7712        (self
7713            .nvmlDeviceGetMemClkVfOffset
7714            .as_ref()
7715            .expect("Expected function, got error."))(device, offset)
7716    }
7717    pub unsafe fn nvmlDeviceGetMinMaxClockOfPState(
7718        &self,
7719        device: nvmlDevice_t,
7720        type_: nvmlClockType_t,
7721        pstate: nvmlPstates_t,
7722        minClockMHz: *mut raw::c_uint,
7723        maxClockMHz: *mut raw::c_uint,
7724    ) -> nvmlReturn_t {
7725        (self
7726            .nvmlDeviceGetMinMaxClockOfPState
7727            .as_ref()
7728            .expect("Expected function, got error."))(
7729            device,
7730            type_,
7731            pstate,
7732            minClockMHz,
7733            maxClockMHz,
7734        )
7735    }
7736    pub unsafe fn nvmlDeviceGetSupportedPerformanceStates(
7737        &self,
7738        device: nvmlDevice_t,
7739        pstates: *mut nvmlPstates_t,
7740        size: raw::c_uint,
7741    ) -> nvmlReturn_t {
7742        (self
7743            .nvmlDeviceGetSupportedPerformanceStates
7744            .as_ref()
7745            .expect("Expected function, got error."))(device, pstates, size)
7746    }
7747    pub unsafe fn nvmlDeviceGetGpcClkMinMaxVfOffset(
7748        &self,
7749        device: nvmlDevice_t,
7750        minOffset: *mut raw::c_int,
7751        maxOffset: *mut raw::c_int,
7752    ) -> nvmlReturn_t {
7753        (self
7754            .nvmlDeviceGetGpcClkMinMaxVfOffset
7755            .as_ref()
7756            .expect("Expected function, got error."))(device, minOffset, maxOffset)
7757    }
7758    pub unsafe fn nvmlDeviceGetMemClkMinMaxVfOffset(
7759        &self,
7760        device: nvmlDevice_t,
7761        minOffset: *mut raw::c_int,
7762        maxOffset: *mut raw::c_int,
7763    ) -> nvmlReturn_t {
7764        (self
7765            .nvmlDeviceGetMemClkMinMaxVfOffset
7766            .as_ref()
7767            .expect("Expected function, got error."))(device, minOffset, maxOffset)
7768    }
7769    pub unsafe fn nvmlDeviceGetClockOffsets(
7770        &self,
7771        device: nvmlDevice_t,
7772        info: *mut nvmlClockOffset_t,
7773    ) -> nvmlReturn_t {
7774        (self
7775            .nvmlDeviceGetClockOffsets
7776            .as_ref()
7777            .expect("Expected function, got error."))(device, info)
7778    }
7779    pub unsafe fn nvmlDeviceSetClockOffsets(
7780        &self,
7781        device: nvmlDevice_t,
7782        info: *mut nvmlClockOffset_t,
7783    ) -> nvmlReturn_t {
7784        (self
7785            .nvmlDeviceSetClockOffsets
7786            .as_ref()
7787            .expect("Expected function, got error."))(device, info)
7788    }
7789    pub unsafe fn nvmlDeviceGetPerformanceModes(
7790        &self,
7791        device: nvmlDevice_t,
7792        perfModes: *mut nvmlDevicePerfModes_t,
7793    ) -> nvmlReturn_t {
7794        (self
7795            .nvmlDeviceGetPerformanceModes
7796            .as_ref()
7797            .expect("Expected function, got error."))(device, perfModes)
7798    }
7799    pub unsafe fn nvmlDeviceGetCurrentClockFreqs(
7800        &self,
7801        device: nvmlDevice_t,
7802        currentClockFreqs: *mut nvmlDeviceCurrentClockFreqs_t,
7803    ) -> nvmlReturn_t {
7804        (self
7805            .nvmlDeviceGetCurrentClockFreqs
7806            .as_ref()
7807            .expect("Expected function, got error."))(device, currentClockFreqs)
7808    }
7809    pub unsafe fn nvmlDeviceGetPowerManagementMode(
7810        &self,
7811        device: nvmlDevice_t,
7812        mode: *mut nvmlEnableState_t,
7813    ) -> nvmlReturn_t {
7814        (self
7815            .nvmlDeviceGetPowerManagementMode
7816            .as_ref()
7817            .expect("Expected function, got error."))(device, mode)
7818    }
7819    pub unsafe fn nvmlDeviceGetPowerManagementLimit(
7820        &self,
7821        device: nvmlDevice_t,
7822        limit: *mut raw::c_uint,
7823    ) -> nvmlReturn_t {
7824        (self
7825            .nvmlDeviceGetPowerManagementLimit
7826            .as_ref()
7827            .expect("Expected function, got error."))(device, limit)
7828    }
7829    pub unsafe fn nvmlDeviceGetPowerManagementLimitConstraints(
7830        &self,
7831        device: nvmlDevice_t,
7832        minLimit: *mut raw::c_uint,
7833        maxLimit: *mut raw::c_uint,
7834    ) -> nvmlReturn_t {
7835        (self
7836            .nvmlDeviceGetPowerManagementLimitConstraints
7837            .as_ref()
7838            .expect("Expected function, got error."))(device, minLimit, maxLimit)
7839    }
7840    pub unsafe fn nvmlDeviceGetPowerManagementDefaultLimit(
7841        &self,
7842        device: nvmlDevice_t,
7843        defaultLimit: *mut raw::c_uint,
7844    ) -> nvmlReturn_t {
7845        (self
7846            .nvmlDeviceGetPowerManagementDefaultLimit
7847            .as_ref()
7848            .expect("Expected function, got error."))(device, defaultLimit)
7849    }
7850    pub unsafe fn nvmlDeviceGetPowerUsage(
7851        &self,
7852        device: nvmlDevice_t,
7853        power: *mut raw::c_uint,
7854    ) -> nvmlReturn_t {
7855        (self
7856            .nvmlDeviceGetPowerUsage
7857            .as_ref()
7858            .expect("Expected function, got error."))(device, power)
7859    }
7860    pub unsafe fn nvmlDeviceGetPowerMizerMode_v1(
7861        &self,
7862        device: nvmlDevice_t,
7863        powerMizerMode: *mut nvmlDevicePowerMizerModes_v1_t,
7864    ) -> nvmlReturn_t {
7865        (self
7866            .nvmlDeviceGetPowerMizerMode_v1
7867            .as_ref()
7868            .expect("Expected function, got error."))(device, powerMizerMode)
7869    }
7870    pub unsafe fn nvmlDeviceSetPowerMizerMode_v1(
7871        &self,
7872        device: nvmlDevice_t,
7873        powerMizerMode: *mut nvmlDevicePowerMizerModes_v1_t,
7874    ) -> nvmlReturn_t {
7875        (self
7876            .nvmlDeviceSetPowerMizerMode_v1
7877            .as_ref()
7878            .expect("Expected function, got error."))(device, powerMizerMode)
7879    }
7880    pub unsafe fn nvmlDeviceGetTotalEnergyConsumption(
7881        &self,
7882        device: nvmlDevice_t,
7883        energy: *mut raw::c_ulonglong,
7884    ) -> nvmlReturn_t {
7885        (self
7886            .nvmlDeviceGetTotalEnergyConsumption
7887            .as_ref()
7888            .expect("Expected function, got error."))(device, energy)
7889    }
7890    pub unsafe fn nvmlDeviceGetEnforcedPowerLimit(
7891        &self,
7892        device: nvmlDevice_t,
7893        limit: *mut raw::c_uint,
7894    ) -> nvmlReturn_t {
7895        (self
7896            .nvmlDeviceGetEnforcedPowerLimit
7897            .as_ref()
7898            .expect("Expected function, got error."))(device, limit)
7899    }
7900    pub unsafe fn nvmlDeviceGetGpuOperationMode(
7901        &self,
7902        device: nvmlDevice_t,
7903        current: *mut nvmlGpuOperationMode_t,
7904        pending: *mut nvmlGpuOperationMode_t,
7905    ) -> nvmlReturn_t {
7906        (self
7907            .nvmlDeviceGetGpuOperationMode
7908            .as_ref()
7909            .expect("Expected function, got error."))(device, current, pending)
7910    }
7911    pub unsafe fn nvmlDeviceGetMemoryInfo(
7912        &self,
7913        device: nvmlDevice_t,
7914        memory: *mut nvmlMemory_t,
7915    ) -> nvmlReturn_t {
7916        (self
7917            .nvmlDeviceGetMemoryInfo
7918            .as_ref()
7919            .expect("Expected function, got error."))(device, memory)
7920    }
7921    pub unsafe fn nvmlDeviceGetMemoryInfo_v2(
7922        &self,
7923        device: nvmlDevice_t,
7924        memory: *mut nvmlMemory_v2_t,
7925    ) -> nvmlReturn_t {
7926        (self
7927            .nvmlDeviceGetMemoryInfo_v2
7928            .as_ref()
7929            .expect("Expected function, got error."))(device, memory)
7930    }
7931    pub unsafe fn nvmlDeviceGetComputeMode(
7932        &self,
7933        device: nvmlDevice_t,
7934        mode: *mut nvmlComputeMode_t,
7935    ) -> nvmlReturn_t {
7936        (self
7937            .nvmlDeviceGetComputeMode
7938            .as_ref()
7939            .expect("Expected function, got error."))(device, mode)
7940    }
7941    pub unsafe fn nvmlDeviceGetCudaComputeCapability(
7942        &self,
7943        device: nvmlDevice_t,
7944        major: *mut raw::c_int,
7945        minor: *mut raw::c_int,
7946    ) -> nvmlReturn_t {
7947        (self
7948            .nvmlDeviceGetCudaComputeCapability
7949            .as_ref()
7950            .expect("Expected function, got error."))(device, major, minor)
7951    }
7952    pub unsafe fn nvmlDeviceGetDramEncryptionMode(
7953        &self,
7954        device: nvmlDevice_t,
7955        current: *mut nvmlDramEncryptionInfo_t,
7956        pending: *mut nvmlDramEncryptionInfo_t,
7957    ) -> nvmlReturn_t {
7958        (self
7959            .nvmlDeviceGetDramEncryptionMode
7960            .as_ref()
7961            .expect("Expected function, got error."))(device, current, pending)
7962    }
7963    pub unsafe fn nvmlDeviceSetDramEncryptionMode(
7964        &self,
7965        device: nvmlDevice_t,
7966        dramEncryption: *const nvmlDramEncryptionInfo_t,
7967    ) -> nvmlReturn_t {
7968        (self
7969            .nvmlDeviceSetDramEncryptionMode
7970            .as_ref()
7971            .expect("Expected function, got error."))(device, dramEncryption)
7972    }
7973    pub unsafe fn nvmlDeviceGetEccMode(
7974        &self,
7975        device: nvmlDevice_t,
7976        current: *mut nvmlEnableState_t,
7977        pending: *mut nvmlEnableState_t,
7978    ) -> nvmlReturn_t {
7979        (self
7980            .nvmlDeviceGetEccMode
7981            .as_ref()
7982            .expect("Expected function, got error."))(device, current, pending)
7983    }
7984    pub unsafe fn nvmlDeviceGetDefaultEccMode(
7985        &self,
7986        device: nvmlDevice_t,
7987        defaultMode: *mut nvmlEnableState_t,
7988    ) -> nvmlReturn_t {
7989        (self
7990            .nvmlDeviceGetDefaultEccMode
7991            .as_ref()
7992            .expect("Expected function, got error."))(device, defaultMode)
7993    }
7994    pub unsafe fn nvmlDeviceGetBoardId(
7995        &self,
7996        device: nvmlDevice_t,
7997        boardId: *mut raw::c_uint,
7998    ) -> nvmlReturn_t {
7999        (self
8000            .nvmlDeviceGetBoardId
8001            .as_ref()
8002            .expect("Expected function, got error."))(device, boardId)
8003    }
8004    pub unsafe fn nvmlDeviceGetMultiGpuBoard(
8005        &self,
8006        device: nvmlDevice_t,
8007        multiGpuBool: *mut raw::c_uint,
8008    ) -> nvmlReturn_t {
8009        (self
8010            .nvmlDeviceGetMultiGpuBoard
8011            .as_ref()
8012            .expect("Expected function, got error."))(device, multiGpuBool)
8013    }
8014    pub unsafe fn nvmlDeviceGetTotalEccErrors(
8015        &self,
8016        device: nvmlDevice_t,
8017        errorType: nvmlMemoryErrorType_t,
8018        counterType: nvmlEccCounterType_t,
8019        eccCounts: *mut raw::c_ulonglong,
8020    ) -> nvmlReturn_t {
8021        (self
8022            .nvmlDeviceGetTotalEccErrors
8023            .as_ref()
8024            .expect("Expected function, got error."))(
8025            device, errorType, counterType, eccCounts
8026        )
8027    }
8028    pub unsafe fn nvmlDeviceGetDetailedEccErrors(
8029        &self,
8030        device: nvmlDevice_t,
8031        errorType: nvmlMemoryErrorType_t,
8032        counterType: nvmlEccCounterType_t,
8033        eccCounts: *mut nvmlEccErrorCounts_t,
8034    ) -> nvmlReturn_t {
8035        (self
8036            .nvmlDeviceGetDetailedEccErrors
8037            .as_ref()
8038            .expect("Expected function, got error."))(
8039            device, errorType, counterType, eccCounts
8040        )
8041    }
8042    pub unsafe fn nvmlDeviceGetMemoryErrorCounter(
8043        &self,
8044        device: nvmlDevice_t,
8045        errorType: nvmlMemoryErrorType_t,
8046        counterType: nvmlEccCounterType_t,
8047        locationType: nvmlMemoryLocation_t,
8048        count: *mut raw::c_ulonglong,
8049    ) -> nvmlReturn_t {
8050        (self
8051            .nvmlDeviceGetMemoryErrorCounter
8052            .as_ref()
8053            .expect("Expected function, got error."))(
8054            device,
8055            errorType,
8056            counterType,
8057            locationType,
8058            count,
8059        )
8060    }
8061    pub unsafe fn nvmlDeviceGetUtilizationRates(
8062        &self,
8063        device: nvmlDevice_t,
8064        utilization: *mut nvmlUtilization_t,
8065    ) -> nvmlReturn_t {
8066        (self
8067            .nvmlDeviceGetUtilizationRates
8068            .as_ref()
8069            .expect("Expected function, got error."))(device, utilization)
8070    }
8071    pub unsafe fn nvmlDeviceGetEncoderUtilization(
8072        &self,
8073        device: nvmlDevice_t,
8074        utilization: *mut raw::c_uint,
8075        samplingPeriodUs: *mut raw::c_uint,
8076    ) -> nvmlReturn_t {
8077        (self
8078            .nvmlDeviceGetEncoderUtilization
8079            .as_ref()
8080            .expect("Expected function, got error."))(device, utilization, samplingPeriodUs)
8081    }
8082    pub unsafe fn nvmlDeviceGetEncoderCapacity(
8083        &self,
8084        device: nvmlDevice_t,
8085        encoderQueryType: nvmlEncoderType_t,
8086        encoderCapacity: *mut raw::c_uint,
8087    ) -> nvmlReturn_t {
8088        (self
8089            .nvmlDeviceGetEncoderCapacity
8090            .as_ref()
8091            .expect("Expected function, got error."))(
8092            device, encoderQueryType, encoderCapacity
8093        )
8094    }
8095    pub unsafe fn nvmlDeviceGetEncoderStats(
8096        &self,
8097        device: nvmlDevice_t,
8098        sessionCount: *mut raw::c_uint,
8099        averageFps: *mut raw::c_uint,
8100        averageLatency: *mut raw::c_uint,
8101    ) -> nvmlReturn_t {
8102        (self
8103            .nvmlDeviceGetEncoderStats
8104            .as_ref()
8105            .expect("Expected function, got error."))(
8106            device,
8107            sessionCount,
8108            averageFps,
8109            averageLatency,
8110        )
8111    }
8112    pub unsafe fn nvmlDeviceGetEncoderSessions(
8113        &self,
8114        device: nvmlDevice_t,
8115        sessionCount: *mut raw::c_uint,
8116        sessionInfos: *mut nvmlEncoderSessionInfo_t,
8117    ) -> nvmlReturn_t {
8118        (self
8119            .nvmlDeviceGetEncoderSessions
8120            .as_ref()
8121            .expect("Expected function, got error."))(device, sessionCount, sessionInfos)
8122    }
8123    pub unsafe fn nvmlDeviceGetDecoderUtilization(
8124        &self,
8125        device: nvmlDevice_t,
8126        utilization: *mut raw::c_uint,
8127        samplingPeriodUs: *mut raw::c_uint,
8128    ) -> nvmlReturn_t {
8129        (self
8130            .nvmlDeviceGetDecoderUtilization
8131            .as_ref()
8132            .expect("Expected function, got error."))(device, utilization, samplingPeriodUs)
8133    }
8134    pub unsafe fn nvmlDeviceGetJpgUtilization(
8135        &self,
8136        device: nvmlDevice_t,
8137        utilization: *mut raw::c_uint,
8138        samplingPeriodUs: *mut raw::c_uint,
8139    ) -> nvmlReturn_t {
8140        (self
8141            .nvmlDeviceGetJpgUtilization
8142            .as_ref()
8143            .expect("Expected function, got error."))(device, utilization, samplingPeriodUs)
8144    }
8145    pub unsafe fn nvmlDeviceGetOfaUtilization(
8146        &self,
8147        device: nvmlDevice_t,
8148        utilization: *mut raw::c_uint,
8149        samplingPeriodUs: *mut raw::c_uint,
8150    ) -> nvmlReturn_t {
8151        (self
8152            .nvmlDeviceGetOfaUtilization
8153            .as_ref()
8154            .expect("Expected function, got error."))(device, utilization, samplingPeriodUs)
8155    }
8156    pub unsafe fn nvmlDeviceGetFBCStats(
8157        &self,
8158        device: nvmlDevice_t,
8159        fbcStats: *mut nvmlFBCStats_t,
8160    ) -> nvmlReturn_t {
8161        (self
8162            .nvmlDeviceGetFBCStats
8163            .as_ref()
8164            .expect("Expected function, got error."))(device, fbcStats)
8165    }
8166    pub unsafe fn nvmlDeviceGetFBCSessions(
8167        &self,
8168        device: nvmlDevice_t,
8169        sessionCount: *mut raw::c_uint,
8170        sessionInfo: *mut nvmlFBCSessionInfo_t,
8171    ) -> nvmlReturn_t {
8172        (self
8173            .nvmlDeviceGetFBCSessions
8174            .as_ref()
8175            .expect("Expected function, got error."))(device, sessionCount, sessionInfo)
8176    }
8177    pub unsafe fn nvmlDeviceGetDriverModel_v2(
8178        &self,
8179        device: nvmlDevice_t,
8180        current: *mut nvmlDriverModel_t,
8181        pending: *mut nvmlDriverModel_t,
8182    ) -> nvmlReturn_t {
8183        (self
8184            .nvmlDeviceGetDriverModel_v2
8185            .as_ref()
8186            .expect("Expected function, got error."))(device, current, pending)
8187    }
8188    pub unsafe fn nvmlDeviceGetVbiosVersion(
8189        &self,
8190        device: nvmlDevice_t,
8191        version: *mut raw::c_char,
8192        length: raw::c_uint,
8193    ) -> nvmlReturn_t {
8194        (self
8195            .nvmlDeviceGetVbiosVersion
8196            .as_ref()
8197            .expect("Expected function, got error."))(device, version, length)
8198    }
8199    pub unsafe fn nvmlDeviceGetBridgeChipInfo(
8200        &self,
8201        device: nvmlDevice_t,
8202        bridgeHierarchy: *mut nvmlBridgeChipHierarchy_t,
8203    ) -> nvmlReturn_t {
8204        (self
8205            .nvmlDeviceGetBridgeChipInfo
8206            .as_ref()
8207            .expect("Expected function, got error."))(device, bridgeHierarchy)
8208    }
8209    pub unsafe fn nvmlDeviceGetComputeRunningProcesses_v3(
8210        &self,
8211        device: nvmlDevice_t,
8212        infoCount: *mut raw::c_uint,
8213        infos: *mut nvmlProcessInfo_t,
8214    ) -> nvmlReturn_t {
8215        (self
8216            .nvmlDeviceGetComputeRunningProcesses_v3
8217            .as_ref()
8218            .expect("Expected function, got error."))(device, infoCount, infos)
8219    }
8220    pub unsafe fn nvmlDeviceGetGraphicsRunningProcesses_v3(
8221        &self,
8222        device: nvmlDevice_t,
8223        infoCount: *mut raw::c_uint,
8224        infos: *mut nvmlProcessInfo_t,
8225    ) -> nvmlReturn_t {
8226        (self
8227            .nvmlDeviceGetGraphicsRunningProcesses_v3
8228            .as_ref()
8229            .expect("Expected function, got error."))(device, infoCount, infos)
8230    }
8231    pub unsafe fn nvmlDeviceGetMPSComputeRunningProcesses_v3(
8232        &self,
8233        device: nvmlDevice_t,
8234        infoCount: *mut raw::c_uint,
8235        infos: *mut nvmlProcessInfo_t,
8236    ) -> nvmlReturn_t {
8237        (self
8238            .nvmlDeviceGetMPSComputeRunningProcesses_v3
8239            .as_ref()
8240            .expect("Expected function, got error."))(device, infoCount, infos)
8241    }
8242    pub unsafe fn nvmlDeviceGetRunningProcessDetailList(
8243        &self,
8244        device: nvmlDevice_t,
8245        plist: *mut nvmlProcessDetailList_t,
8246    ) -> nvmlReturn_t {
8247        (self
8248            .nvmlDeviceGetRunningProcessDetailList
8249            .as_ref()
8250            .expect("Expected function, got error."))(device, plist)
8251    }
8252    pub unsafe fn nvmlDeviceOnSameBoard(
8253        &self,
8254        device1: nvmlDevice_t,
8255        device2: nvmlDevice_t,
8256        onSameBoard: *mut raw::c_int,
8257    ) -> nvmlReturn_t {
8258        (self
8259            .nvmlDeviceOnSameBoard
8260            .as_ref()
8261            .expect("Expected function, got error."))(device1, device2, onSameBoard)
8262    }
8263    pub unsafe fn nvmlDeviceGetAPIRestriction(
8264        &self,
8265        device: nvmlDevice_t,
8266        apiType: nvmlRestrictedAPI_t,
8267        isRestricted: *mut nvmlEnableState_t,
8268    ) -> nvmlReturn_t {
8269        (self
8270            .nvmlDeviceGetAPIRestriction
8271            .as_ref()
8272            .expect("Expected function, got error."))(device, apiType, isRestricted)
8273    }
8274    pub unsafe fn nvmlDeviceGetSamples(
8275        &self,
8276        device: nvmlDevice_t,
8277        type_: nvmlSamplingType_t,
8278        lastSeenTimeStamp: raw::c_ulonglong,
8279        sampleValType: *mut nvmlValueType_t,
8280        sampleCount: *mut raw::c_uint,
8281        samples: *mut nvmlSample_t,
8282    ) -> nvmlReturn_t {
8283        (self
8284            .nvmlDeviceGetSamples
8285            .as_ref()
8286            .expect("Expected function, got error."))(
8287            device,
8288            type_,
8289            lastSeenTimeStamp,
8290            sampleValType,
8291            sampleCount,
8292            samples,
8293        )
8294    }
8295    pub unsafe fn nvmlDeviceGetBAR1MemoryInfo(
8296        &self,
8297        device: nvmlDevice_t,
8298        bar1Memory: *mut nvmlBAR1Memory_t,
8299    ) -> nvmlReturn_t {
8300        (self
8301            .nvmlDeviceGetBAR1MemoryInfo
8302            .as_ref()
8303            .expect("Expected function, got error."))(device, bar1Memory)
8304    }
8305    pub unsafe fn nvmlDeviceGetViolationStatus(
8306        &self,
8307        device: nvmlDevice_t,
8308        perfPolicyType: nvmlPerfPolicyType_t,
8309        violTime: *mut nvmlViolationTime_t,
8310    ) -> nvmlReturn_t {
8311        (self
8312            .nvmlDeviceGetViolationStatus
8313            .as_ref()
8314            .expect("Expected function, got error."))(device, perfPolicyType, violTime)
8315    }
8316    pub unsafe fn nvmlDeviceGetIrqNum(
8317        &self,
8318        device: nvmlDevice_t,
8319        irqNum: *mut raw::c_uint,
8320    ) -> nvmlReturn_t {
8321        (self
8322            .nvmlDeviceGetIrqNum
8323            .as_ref()
8324            .expect("Expected function, got error."))(device, irqNum)
8325    }
8326    pub unsafe fn nvmlDeviceGetNumGpuCores(
8327        &self,
8328        device: nvmlDevice_t,
8329        numCores: *mut raw::c_uint,
8330    ) -> nvmlReturn_t {
8331        (self
8332            .nvmlDeviceGetNumGpuCores
8333            .as_ref()
8334            .expect("Expected function, got error."))(device, numCores)
8335    }
8336    pub unsafe fn nvmlDeviceGetPowerSource(
8337        &self,
8338        device: nvmlDevice_t,
8339        powerSource: *mut nvmlPowerSource_t,
8340    ) -> nvmlReturn_t {
8341        (self
8342            .nvmlDeviceGetPowerSource
8343            .as_ref()
8344            .expect("Expected function, got error."))(device, powerSource)
8345    }
8346    pub unsafe fn nvmlDeviceGetMemoryBusWidth(
8347        &self,
8348        device: nvmlDevice_t,
8349        busWidth: *mut raw::c_uint,
8350    ) -> nvmlReturn_t {
8351        (self
8352            .nvmlDeviceGetMemoryBusWidth
8353            .as_ref()
8354            .expect("Expected function, got error."))(device, busWidth)
8355    }
8356    pub unsafe fn nvmlDeviceGetPcieLinkMaxSpeed(
8357        &self,
8358        device: nvmlDevice_t,
8359        maxSpeed: *mut raw::c_uint,
8360    ) -> nvmlReturn_t {
8361        (self
8362            .nvmlDeviceGetPcieLinkMaxSpeed
8363            .as_ref()
8364            .expect("Expected function, got error."))(device, maxSpeed)
8365    }
8366    pub unsafe fn nvmlDeviceGetPcieSpeed(
8367        &self,
8368        device: nvmlDevice_t,
8369        pcieSpeed: *mut raw::c_uint,
8370    ) -> nvmlReturn_t {
8371        (self
8372            .nvmlDeviceGetPcieSpeed
8373            .as_ref()
8374            .expect("Expected function, got error."))(device, pcieSpeed)
8375    }
8376    pub unsafe fn nvmlDeviceGetAdaptiveClockInfoStatus(
8377        &self,
8378        device: nvmlDevice_t,
8379        adaptiveClockStatus: *mut raw::c_uint,
8380    ) -> nvmlReturn_t {
8381        (self
8382            .nvmlDeviceGetAdaptiveClockInfoStatus
8383            .as_ref()
8384            .expect("Expected function, got error."))(device, adaptiveClockStatus)
8385    }
8386    pub unsafe fn nvmlDeviceGetBusType(
8387        &self,
8388        device: nvmlDevice_t,
8389        type_: *mut nvmlBusType_t,
8390    ) -> nvmlReturn_t {
8391        (self
8392            .nvmlDeviceGetBusType
8393            .as_ref()
8394            .expect("Expected function, got error."))(device, type_)
8395    }
8396    pub unsafe fn nvmlDeviceGetGpuFabricInfo(
8397        &self,
8398        device: nvmlDevice_t,
8399        gpuFabricInfo: *mut nvmlGpuFabricInfo_t,
8400    ) -> nvmlReturn_t {
8401        (self
8402            .nvmlDeviceGetGpuFabricInfo
8403            .as_ref()
8404            .expect("Expected function, got error."))(device, gpuFabricInfo)
8405    }
8406    pub unsafe fn nvmlDeviceGetGpuFabricInfoV(
8407        &self,
8408        device: nvmlDevice_t,
8409        gpuFabricInfo: *mut nvmlGpuFabricInfoV_t,
8410    ) -> nvmlReturn_t {
8411        (self
8412            .nvmlDeviceGetGpuFabricInfoV
8413            .as_ref()
8414            .expect("Expected function, got error."))(device, gpuFabricInfo)
8415    }
8416    pub unsafe fn nvmlSystemGetConfComputeCapabilities(
8417        &self,
8418        capabilities: *mut nvmlConfComputeSystemCaps_t,
8419    ) -> nvmlReturn_t {
8420        (self
8421            .nvmlSystemGetConfComputeCapabilities
8422            .as_ref()
8423            .expect("Expected function, got error."))(capabilities)
8424    }
8425    pub unsafe fn nvmlSystemGetConfComputeState(
8426        &self,
8427        state: *mut nvmlConfComputeSystemState_t,
8428    ) -> nvmlReturn_t {
8429        (self
8430            .nvmlSystemGetConfComputeState
8431            .as_ref()
8432            .expect("Expected function, got error."))(state)
8433    }
8434    pub unsafe fn nvmlDeviceGetConfComputeMemSizeInfo(
8435        &self,
8436        device: nvmlDevice_t,
8437        memInfo: *mut nvmlConfComputeMemSizeInfo_t,
8438    ) -> nvmlReturn_t {
8439        (self
8440            .nvmlDeviceGetConfComputeMemSizeInfo
8441            .as_ref()
8442            .expect("Expected function, got error."))(device, memInfo)
8443    }
8444    pub unsafe fn nvmlSystemGetConfComputeGpusReadyState(
8445        &self,
8446        isAcceptingWork: *mut raw::c_uint,
8447    ) -> nvmlReturn_t {
8448        (self
8449            .nvmlSystemGetConfComputeGpusReadyState
8450            .as_ref()
8451            .expect("Expected function, got error."))(isAcceptingWork)
8452    }
8453    pub unsafe fn nvmlDeviceGetConfComputeProtectedMemoryUsage(
8454        &self,
8455        device: nvmlDevice_t,
8456        memory: *mut nvmlMemory_t,
8457    ) -> nvmlReturn_t {
8458        (self
8459            .nvmlDeviceGetConfComputeProtectedMemoryUsage
8460            .as_ref()
8461            .expect("Expected function, got error."))(device, memory)
8462    }
8463    pub unsafe fn nvmlDeviceGetConfComputeGpuCertificate(
8464        &self,
8465        device: nvmlDevice_t,
8466        gpuCert: *mut nvmlConfComputeGpuCertificate_t,
8467    ) -> nvmlReturn_t {
8468        (self
8469            .nvmlDeviceGetConfComputeGpuCertificate
8470            .as_ref()
8471            .expect("Expected function, got error."))(device, gpuCert)
8472    }
8473    pub unsafe fn nvmlDeviceGetConfComputeGpuAttestationReport(
8474        &self,
8475        device: nvmlDevice_t,
8476        gpuAtstReport: *mut nvmlConfComputeGpuAttestationReport_t,
8477    ) -> nvmlReturn_t {
8478        (self
8479            .nvmlDeviceGetConfComputeGpuAttestationReport
8480            .as_ref()
8481            .expect("Expected function, got error."))(device, gpuAtstReport)
8482    }
8483    pub unsafe fn nvmlSystemGetConfComputeKeyRotationThresholdInfo(
8484        &self,
8485        pKeyRotationThrInfo: *mut nvmlConfComputeGetKeyRotationThresholdInfo_t,
8486    ) -> nvmlReturn_t {
8487        (self
8488            .nvmlSystemGetConfComputeKeyRotationThresholdInfo
8489            .as_ref()
8490            .expect("Expected function, got error."))(pKeyRotationThrInfo)
8491    }
8492    pub unsafe fn nvmlDeviceSetConfComputeUnprotectedMemSize(
8493        &self,
8494        device: nvmlDevice_t,
8495        sizeKiB: raw::c_ulonglong,
8496    ) -> nvmlReturn_t {
8497        (self
8498            .nvmlDeviceSetConfComputeUnprotectedMemSize
8499            .as_ref()
8500            .expect("Expected function, got error."))(device, sizeKiB)
8501    }
8502    pub unsafe fn nvmlSystemSetConfComputeGpusReadyState(
8503        &self,
8504        isAcceptingWork: raw::c_uint,
8505    ) -> nvmlReturn_t {
8506        (self
8507            .nvmlSystemSetConfComputeGpusReadyState
8508            .as_ref()
8509            .expect("Expected function, got error."))(isAcceptingWork)
8510    }
8511    pub unsafe fn nvmlSystemSetConfComputeKeyRotationThresholdInfo(
8512        &self,
8513        pKeyRotationThrInfo: *mut nvmlConfComputeSetKeyRotationThresholdInfo_t,
8514    ) -> nvmlReturn_t {
8515        (self
8516            .nvmlSystemSetConfComputeKeyRotationThresholdInfo
8517            .as_ref()
8518            .expect("Expected function, got error."))(pKeyRotationThrInfo)
8519    }
8520    pub unsafe fn nvmlSystemGetConfComputeSettings(
8521        &self,
8522        settings: *mut nvmlSystemConfComputeSettings_t,
8523    ) -> nvmlReturn_t {
8524        (self
8525            .nvmlSystemGetConfComputeSettings
8526            .as_ref()
8527            .expect("Expected function, got error."))(settings)
8528    }
8529    pub unsafe fn nvmlDeviceGetGspFirmwareVersion(
8530        &self,
8531        device: nvmlDevice_t,
8532        version: *mut raw::c_char,
8533    ) -> nvmlReturn_t {
8534        (self
8535            .nvmlDeviceGetGspFirmwareVersion
8536            .as_ref()
8537            .expect("Expected function, got error."))(device, version)
8538    }
8539    pub unsafe fn nvmlDeviceGetGspFirmwareMode(
8540        &self,
8541        device: nvmlDevice_t,
8542        isEnabled: *mut raw::c_uint,
8543        defaultMode: *mut raw::c_uint,
8544    ) -> nvmlReturn_t {
8545        (self
8546            .nvmlDeviceGetGspFirmwareMode
8547            .as_ref()
8548            .expect("Expected function, got error."))(device, isEnabled, defaultMode)
8549    }
8550    pub unsafe fn nvmlDeviceGetSramEccErrorStatus(
8551        &self,
8552        device: nvmlDevice_t,
8553        status: *mut nvmlEccSramErrorStatus_t,
8554    ) -> nvmlReturn_t {
8555        (self
8556            .nvmlDeviceGetSramEccErrorStatus
8557            .as_ref()
8558            .expect("Expected function, got error."))(device, status)
8559    }
8560    pub unsafe fn nvmlDeviceSetPowerManagementLimit_v2(
8561        &self,
8562        device: nvmlDevice_t,
8563        powerValue: *mut nvmlPowerValue_v2_t,
8564    ) -> nvmlReturn_t {
8565        (self
8566            .nvmlDeviceSetPowerManagementLimit_v2
8567            .as_ref()
8568            .expect("Expected function, got error."))(device, powerValue)
8569    }
8570    pub unsafe fn nvmlDeviceGetAccountingMode(
8571        &self,
8572        device: nvmlDevice_t,
8573        mode: *mut nvmlEnableState_t,
8574    ) -> nvmlReturn_t {
8575        (self
8576            .nvmlDeviceGetAccountingMode
8577            .as_ref()
8578            .expect("Expected function, got error."))(device, mode)
8579    }
8580    pub unsafe fn nvmlDeviceGetAccountingStats(
8581        &self,
8582        device: nvmlDevice_t,
8583        pid: raw::c_uint,
8584        stats: *mut nvmlAccountingStats_t,
8585    ) -> nvmlReturn_t {
8586        (self
8587            .nvmlDeviceGetAccountingStats
8588            .as_ref()
8589            .expect("Expected function, got error."))(device, pid, stats)
8590    }
8591    pub unsafe fn nvmlDeviceGetAccountingPids(
8592        &self,
8593        device: nvmlDevice_t,
8594        count: *mut raw::c_uint,
8595        pids: *mut raw::c_uint,
8596    ) -> nvmlReturn_t {
8597        (self
8598            .nvmlDeviceGetAccountingPids
8599            .as_ref()
8600            .expect("Expected function, got error."))(device, count, pids)
8601    }
8602    pub unsafe fn nvmlDeviceGetAccountingBufferSize(
8603        &self,
8604        device: nvmlDevice_t,
8605        bufferSize: *mut raw::c_uint,
8606    ) -> nvmlReturn_t {
8607        (self
8608            .nvmlDeviceGetAccountingBufferSize
8609            .as_ref()
8610            .expect("Expected function, got error."))(device, bufferSize)
8611    }
8612    pub unsafe fn nvmlDeviceGetRetiredPages(
8613        &self,
8614        device: nvmlDevice_t,
8615        cause: nvmlPageRetirementCause_t,
8616        pageCount: *mut raw::c_uint,
8617        addresses: *mut raw::c_ulonglong,
8618    ) -> nvmlReturn_t {
8619        (self
8620            .nvmlDeviceGetRetiredPages
8621            .as_ref()
8622            .expect("Expected function, got error."))(device, cause, pageCount, addresses)
8623    }
8624    pub unsafe fn nvmlDeviceGetRetiredPages_v2(
8625        &self,
8626        device: nvmlDevice_t,
8627        cause: nvmlPageRetirementCause_t,
8628        pageCount: *mut raw::c_uint,
8629        addresses: *mut raw::c_ulonglong,
8630        timestamps: *mut raw::c_ulonglong,
8631    ) -> nvmlReturn_t {
8632        (self
8633            .nvmlDeviceGetRetiredPages_v2
8634            .as_ref()
8635            .expect("Expected function, got error."))(
8636            device, cause, pageCount, addresses, timestamps,
8637        )
8638    }
8639    pub unsafe fn nvmlDeviceGetRetiredPagesPendingStatus(
8640        &self,
8641        device: nvmlDevice_t,
8642        isPending: *mut nvmlEnableState_t,
8643    ) -> nvmlReturn_t {
8644        (self
8645            .nvmlDeviceGetRetiredPagesPendingStatus
8646            .as_ref()
8647            .expect("Expected function, got error."))(device, isPending)
8648    }
8649    pub unsafe fn nvmlDeviceGetRemappedRows(
8650        &self,
8651        device: nvmlDevice_t,
8652        corrRows: *mut raw::c_uint,
8653        uncRows: *mut raw::c_uint,
8654        isPending: *mut raw::c_uint,
8655        failureOccurred: *mut raw::c_uint,
8656    ) -> nvmlReturn_t {
8657        (self
8658            .nvmlDeviceGetRemappedRows
8659            .as_ref()
8660            .expect("Expected function, got error."))(
8661            device,
8662            corrRows,
8663            uncRows,
8664            isPending,
8665            failureOccurred,
8666        )
8667    }
8668    pub unsafe fn nvmlDeviceGetRowRemapperHistogram(
8669        &self,
8670        device: nvmlDevice_t,
8671        values: *mut nvmlRowRemapperHistogramValues_t,
8672    ) -> nvmlReturn_t {
8673        (self
8674            .nvmlDeviceGetRowRemapperHistogram
8675            .as_ref()
8676            .expect("Expected function, got error."))(device, values)
8677    }
8678    pub unsafe fn nvmlDeviceGetArchitecture(
8679        &self,
8680        device: nvmlDevice_t,
8681        arch: *mut nvmlDeviceArchitecture_t,
8682    ) -> nvmlReturn_t {
8683        (self
8684            .nvmlDeviceGetArchitecture
8685            .as_ref()
8686            .expect("Expected function, got error."))(device, arch)
8687    }
8688    pub unsafe fn nvmlDeviceGetClkMonStatus(
8689        &self,
8690        device: nvmlDevice_t,
8691        status: *mut nvmlClkMonStatus_t,
8692    ) -> nvmlReturn_t {
8693        (self
8694            .nvmlDeviceGetClkMonStatus
8695            .as_ref()
8696            .expect("Expected function, got error."))(device, status)
8697    }
8698    pub unsafe fn nvmlDeviceGetProcessUtilization(
8699        &self,
8700        device: nvmlDevice_t,
8701        utilization: *mut nvmlProcessUtilizationSample_t,
8702        processSamplesCount: *mut raw::c_uint,
8703        lastSeenTimeStamp: raw::c_ulonglong,
8704    ) -> nvmlReturn_t {
8705        (self
8706            .nvmlDeviceGetProcessUtilization
8707            .as_ref()
8708            .expect("Expected function, got error."))(
8709            device,
8710            utilization,
8711            processSamplesCount,
8712            lastSeenTimeStamp,
8713        )
8714    }
8715    pub unsafe fn nvmlDeviceGetProcessesUtilizationInfo(
8716        &self,
8717        device: nvmlDevice_t,
8718        procesesUtilInfo: *mut nvmlProcessesUtilizationInfo_t,
8719    ) -> nvmlReturn_t {
8720        (self
8721            .nvmlDeviceGetProcessesUtilizationInfo
8722            .as_ref()
8723            .expect("Expected function, got error."))(device, procesesUtilInfo)
8724    }
8725    pub unsafe fn nvmlDeviceGetPlatformInfo(
8726        &self,
8727        device: nvmlDevice_t,
8728        platformInfo: *mut nvmlPlatformInfo_t,
8729    ) -> nvmlReturn_t {
8730        (self
8731            .nvmlDeviceGetPlatformInfo
8732            .as_ref()
8733            .expect("Expected function, got error."))(device, platformInfo)
8734    }
8735    pub unsafe fn nvmlDeviceGetPdi(
8736        &self,
8737        device: nvmlDevice_t,
8738        pdi: *mut nvmlPdi_t,
8739    ) -> nvmlReturn_t {
8740        (self
8741            .nvmlDeviceGetPdi
8742            .as_ref()
8743            .expect("Expected function, got error."))(device, pdi)
8744    }
8745    pub unsafe fn nvmlUnitSetLedState(
8746        &self,
8747        unit: nvmlUnit_t,
8748        color: nvmlLedColor_t,
8749    ) -> nvmlReturn_t {
8750        (self
8751            .nvmlUnitSetLedState
8752            .as_ref()
8753            .expect("Expected function, got error."))(unit, color)
8754    }
8755    pub unsafe fn nvmlDeviceSetPersistenceMode(
8756        &self,
8757        device: nvmlDevice_t,
8758        mode: nvmlEnableState_t,
8759    ) -> nvmlReturn_t {
8760        (self
8761            .nvmlDeviceSetPersistenceMode
8762            .as_ref()
8763            .expect("Expected function, got error."))(device, mode)
8764    }
8765    pub unsafe fn nvmlDeviceSetComputeMode(
8766        &self,
8767        device: nvmlDevice_t,
8768        mode: nvmlComputeMode_t,
8769    ) -> nvmlReturn_t {
8770        (self
8771            .nvmlDeviceSetComputeMode
8772            .as_ref()
8773            .expect("Expected function, got error."))(device, mode)
8774    }
8775    pub unsafe fn nvmlDeviceSetEccMode(
8776        &self,
8777        device: nvmlDevice_t,
8778        ecc: nvmlEnableState_t,
8779    ) -> nvmlReturn_t {
8780        (self
8781            .nvmlDeviceSetEccMode
8782            .as_ref()
8783            .expect("Expected function, got error."))(device, ecc)
8784    }
8785    pub unsafe fn nvmlDeviceClearEccErrorCounts(
8786        &self,
8787        device: nvmlDevice_t,
8788        counterType: nvmlEccCounterType_t,
8789    ) -> nvmlReturn_t {
8790        (self
8791            .nvmlDeviceClearEccErrorCounts
8792            .as_ref()
8793            .expect("Expected function, got error."))(device, counterType)
8794    }
8795    pub unsafe fn nvmlDeviceSetDriverModel(
8796        &self,
8797        device: nvmlDevice_t,
8798        driverModel: nvmlDriverModel_t,
8799        flags: raw::c_uint,
8800    ) -> nvmlReturn_t {
8801        (self
8802            .nvmlDeviceSetDriverModel
8803            .as_ref()
8804            .expect("Expected function, got error."))(device, driverModel, flags)
8805    }
8806    pub unsafe fn nvmlDeviceSetGpuLockedClocks(
8807        &self,
8808        device: nvmlDevice_t,
8809        minGpuClockMHz: raw::c_uint,
8810        maxGpuClockMHz: raw::c_uint,
8811    ) -> nvmlReturn_t {
8812        (self
8813            .nvmlDeviceSetGpuLockedClocks
8814            .as_ref()
8815            .expect("Expected function, got error."))(device, minGpuClockMHz, maxGpuClockMHz)
8816    }
8817    pub unsafe fn nvmlDeviceResetGpuLockedClocks(&self, device: nvmlDevice_t) -> nvmlReturn_t {
8818        (self
8819            .nvmlDeviceResetGpuLockedClocks
8820            .as_ref()
8821            .expect("Expected function, got error."))(device)
8822    }
8823    pub unsafe fn nvmlDeviceSetMemoryLockedClocks(
8824        &self,
8825        device: nvmlDevice_t,
8826        minMemClockMHz: raw::c_uint,
8827        maxMemClockMHz: raw::c_uint,
8828    ) -> nvmlReturn_t {
8829        (self
8830            .nvmlDeviceSetMemoryLockedClocks
8831            .as_ref()
8832            .expect("Expected function, got error."))(device, minMemClockMHz, maxMemClockMHz)
8833    }
8834    pub unsafe fn nvmlDeviceResetMemoryLockedClocks(&self, device: nvmlDevice_t) -> nvmlReturn_t {
8835        (self
8836            .nvmlDeviceResetMemoryLockedClocks
8837            .as_ref()
8838            .expect("Expected function, got error."))(device)
8839    }
8840    pub unsafe fn nvmlDeviceSetApplicationsClocks(
8841        &self,
8842        device: nvmlDevice_t,
8843        memClockMHz: raw::c_uint,
8844        graphicsClockMHz: raw::c_uint,
8845    ) -> nvmlReturn_t {
8846        (self
8847            .nvmlDeviceSetApplicationsClocks
8848            .as_ref()
8849            .expect("Expected function, got error."))(device, memClockMHz, graphicsClockMHz)
8850    }
8851    pub unsafe fn nvmlDeviceResetApplicationsClocks(&self, device: nvmlDevice_t) -> nvmlReturn_t {
8852        (self
8853            .nvmlDeviceResetApplicationsClocks
8854            .as_ref()
8855            .expect("Expected function, got error."))(device)
8856    }
8857    pub unsafe fn nvmlDeviceSetAutoBoostedClocksEnabled(
8858        &self,
8859        device: nvmlDevice_t,
8860        enabled: nvmlEnableState_t,
8861    ) -> nvmlReturn_t {
8862        (self
8863            .nvmlDeviceSetAutoBoostedClocksEnabled
8864            .as_ref()
8865            .expect("Expected function, got error."))(device, enabled)
8866    }
8867    pub unsafe fn nvmlDeviceSetDefaultAutoBoostedClocksEnabled(
8868        &self,
8869        device: nvmlDevice_t,
8870        enabled: nvmlEnableState_t,
8871        flags: raw::c_uint,
8872    ) -> nvmlReturn_t {
8873        (self
8874            .nvmlDeviceSetDefaultAutoBoostedClocksEnabled
8875            .as_ref()
8876            .expect("Expected function, got error."))(device, enabled, flags)
8877    }
8878    pub unsafe fn nvmlDeviceSetDefaultFanSpeed_v2(
8879        &self,
8880        device: nvmlDevice_t,
8881        fan: raw::c_uint,
8882    ) -> nvmlReturn_t {
8883        (self
8884            .nvmlDeviceSetDefaultFanSpeed_v2
8885            .as_ref()
8886            .expect("Expected function, got error."))(device, fan)
8887    }
8888    pub unsafe fn nvmlDeviceSetFanControlPolicy(
8889        &self,
8890        device: nvmlDevice_t,
8891        fan: raw::c_uint,
8892        policy: nvmlFanControlPolicy_t,
8893    ) -> nvmlReturn_t {
8894        (self
8895            .nvmlDeviceSetFanControlPolicy
8896            .as_ref()
8897            .expect("Expected function, got error."))(device, fan, policy)
8898    }
8899    pub unsafe fn nvmlDeviceSetTemperatureThreshold(
8900        &self,
8901        device: nvmlDevice_t,
8902        thresholdType: nvmlTemperatureThresholds_t,
8903        temp: *mut raw::c_int,
8904    ) -> nvmlReturn_t {
8905        (self
8906            .nvmlDeviceSetTemperatureThreshold
8907            .as_ref()
8908            .expect("Expected function, got error."))(device, thresholdType, temp)
8909    }
8910    pub unsafe fn nvmlDeviceSetPowerManagementLimit(
8911        &self,
8912        device: nvmlDevice_t,
8913        limit: raw::c_uint,
8914    ) -> nvmlReturn_t {
8915        (self
8916            .nvmlDeviceSetPowerManagementLimit
8917            .as_ref()
8918            .expect("Expected function, got error."))(device, limit)
8919    }
8920    pub unsafe fn nvmlDeviceSetGpuOperationMode(
8921        &self,
8922        device: nvmlDevice_t,
8923        mode: nvmlGpuOperationMode_t,
8924    ) -> nvmlReturn_t {
8925        (self
8926            .nvmlDeviceSetGpuOperationMode
8927            .as_ref()
8928            .expect("Expected function, got error."))(device, mode)
8929    }
8930    pub unsafe fn nvmlDeviceSetAPIRestriction(
8931        &self,
8932        device: nvmlDevice_t,
8933        apiType: nvmlRestrictedAPI_t,
8934        isRestricted: nvmlEnableState_t,
8935    ) -> nvmlReturn_t {
8936        (self
8937            .nvmlDeviceSetAPIRestriction
8938            .as_ref()
8939            .expect("Expected function, got error."))(device, apiType, isRestricted)
8940    }
8941    pub unsafe fn nvmlDeviceSetFanSpeed_v2(
8942        &self,
8943        device: nvmlDevice_t,
8944        fan: raw::c_uint,
8945        speed: raw::c_uint,
8946    ) -> nvmlReturn_t {
8947        (self
8948            .nvmlDeviceSetFanSpeed_v2
8949            .as_ref()
8950            .expect("Expected function, got error."))(device, fan, speed)
8951    }
8952    pub unsafe fn nvmlDeviceSetGpcClkVfOffset(
8953        &self,
8954        device: nvmlDevice_t,
8955        offset: raw::c_int,
8956    ) -> nvmlReturn_t {
8957        (self
8958            .nvmlDeviceSetGpcClkVfOffset
8959            .as_ref()
8960            .expect("Expected function, got error."))(device, offset)
8961    }
8962    pub unsafe fn nvmlDeviceSetMemClkVfOffset(
8963        &self,
8964        device: nvmlDevice_t,
8965        offset: raw::c_int,
8966    ) -> nvmlReturn_t {
8967        (self
8968            .nvmlDeviceSetMemClkVfOffset
8969            .as_ref()
8970            .expect("Expected function, got error."))(device, offset)
8971    }
8972    pub unsafe fn nvmlDeviceSetAccountingMode(
8973        &self,
8974        device: nvmlDevice_t,
8975        mode: nvmlEnableState_t,
8976    ) -> nvmlReturn_t {
8977        (self
8978            .nvmlDeviceSetAccountingMode
8979            .as_ref()
8980            .expect("Expected function, got error."))(device, mode)
8981    }
8982    pub unsafe fn nvmlDeviceClearAccountingPids(&self, device: nvmlDevice_t) -> nvmlReturn_t {
8983        (self
8984            .nvmlDeviceClearAccountingPids
8985            .as_ref()
8986            .expect("Expected function, got error."))(device)
8987    }
8988    pub unsafe fn nvmlDeviceGetNvLinkState(
8989        &self,
8990        device: nvmlDevice_t,
8991        link: raw::c_uint,
8992        isActive: *mut nvmlEnableState_t,
8993    ) -> nvmlReturn_t {
8994        (self
8995            .nvmlDeviceGetNvLinkState
8996            .as_ref()
8997            .expect("Expected function, got error."))(device, link, isActive)
8998    }
8999    pub unsafe fn nvmlDeviceGetNvLinkVersion(
9000        &self,
9001        device: nvmlDevice_t,
9002        link: raw::c_uint,
9003        version: *mut raw::c_uint,
9004    ) -> nvmlReturn_t {
9005        (self
9006            .nvmlDeviceGetNvLinkVersion
9007            .as_ref()
9008            .expect("Expected function, got error."))(device, link, version)
9009    }
9010    pub unsafe fn nvmlDeviceGetNvLinkCapability(
9011        &self,
9012        device: nvmlDevice_t,
9013        link: raw::c_uint,
9014        capability: nvmlNvLinkCapability_t,
9015        capResult: *mut raw::c_uint,
9016    ) -> nvmlReturn_t {
9017        (self
9018            .nvmlDeviceGetNvLinkCapability
9019            .as_ref()
9020            .expect("Expected function, got error."))(device, link, capability, capResult)
9021    }
9022    pub unsafe fn nvmlDeviceGetNvLinkRemotePciInfo_v2(
9023        &self,
9024        device: nvmlDevice_t,
9025        link: raw::c_uint,
9026        pci: *mut nvmlPciInfo_t,
9027    ) -> nvmlReturn_t {
9028        (self
9029            .nvmlDeviceGetNvLinkRemotePciInfo_v2
9030            .as_ref()
9031            .expect("Expected function, got error."))(device, link, pci)
9032    }
9033    pub unsafe fn nvmlDeviceGetNvLinkErrorCounter(
9034        &self,
9035        device: nvmlDevice_t,
9036        link: raw::c_uint,
9037        counter: nvmlNvLinkErrorCounter_t,
9038        counterValue: *mut raw::c_ulonglong,
9039    ) -> nvmlReturn_t {
9040        (self
9041            .nvmlDeviceGetNvLinkErrorCounter
9042            .as_ref()
9043            .expect("Expected function, got error."))(device, link, counter, counterValue)
9044    }
9045    pub unsafe fn nvmlDeviceResetNvLinkErrorCounters(
9046        &self,
9047        device: nvmlDevice_t,
9048        link: raw::c_uint,
9049    ) -> nvmlReturn_t {
9050        (self
9051            .nvmlDeviceResetNvLinkErrorCounters
9052            .as_ref()
9053            .expect("Expected function, got error."))(device, link)
9054    }
9055    pub unsafe fn nvmlDeviceSetNvLinkUtilizationControl(
9056        &self,
9057        device: nvmlDevice_t,
9058        link: raw::c_uint,
9059        counter: raw::c_uint,
9060        control: *mut nvmlNvLinkUtilizationControl_t,
9061        reset: raw::c_uint,
9062    ) -> nvmlReturn_t {
9063        (self
9064            .nvmlDeviceSetNvLinkUtilizationControl
9065            .as_ref()
9066            .expect("Expected function, got error."))(device, link, counter, control, reset)
9067    }
9068    pub unsafe fn nvmlDeviceGetNvLinkUtilizationControl(
9069        &self,
9070        device: nvmlDevice_t,
9071        link: raw::c_uint,
9072        counter: raw::c_uint,
9073        control: *mut nvmlNvLinkUtilizationControl_t,
9074    ) -> nvmlReturn_t {
9075        (self
9076            .nvmlDeviceGetNvLinkUtilizationControl
9077            .as_ref()
9078            .expect("Expected function, got error."))(device, link, counter, control)
9079    }
9080    pub unsafe fn nvmlDeviceGetNvLinkUtilizationCounter(
9081        &self,
9082        device: nvmlDevice_t,
9083        link: raw::c_uint,
9084        counter: raw::c_uint,
9085        rxcounter: *mut raw::c_ulonglong,
9086        txcounter: *mut raw::c_ulonglong,
9087    ) -> nvmlReturn_t {
9088        (self
9089            .nvmlDeviceGetNvLinkUtilizationCounter
9090            .as_ref()
9091            .expect("Expected function, got error."))(
9092            device, link, counter, rxcounter, txcounter
9093        )
9094    }
9095    pub unsafe fn nvmlDeviceFreezeNvLinkUtilizationCounter(
9096        &self,
9097        device: nvmlDevice_t,
9098        link: raw::c_uint,
9099        counter: raw::c_uint,
9100        freeze: nvmlEnableState_t,
9101    ) -> nvmlReturn_t {
9102        (self
9103            .nvmlDeviceFreezeNvLinkUtilizationCounter
9104            .as_ref()
9105            .expect("Expected function, got error."))(device, link, counter, freeze)
9106    }
9107    pub unsafe fn nvmlDeviceResetNvLinkUtilizationCounter(
9108        &self,
9109        device: nvmlDevice_t,
9110        link: raw::c_uint,
9111        counter: raw::c_uint,
9112    ) -> nvmlReturn_t {
9113        (self
9114            .nvmlDeviceResetNvLinkUtilizationCounter
9115            .as_ref()
9116            .expect("Expected function, got error."))(device, link, counter)
9117    }
9118    pub unsafe fn nvmlDeviceGetNvLinkRemoteDeviceType(
9119        &self,
9120        device: nvmlDevice_t,
9121        link: raw::c_uint,
9122        pNvLinkDeviceType: *mut nvmlIntNvLinkDeviceType_t,
9123    ) -> nvmlReturn_t {
9124        (self
9125            .nvmlDeviceGetNvLinkRemoteDeviceType
9126            .as_ref()
9127            .expect("Expected function, got error."))(device, link, pNvLinkDeviceType)
9128    }
9129    pub unsafe fn nvmlDeviceSetNvLinkDeviceLowPowerThreshold(
9130        &self,
9131        device: nvmlDevice_t,
9132        info: *mut nvmlNvLinkPowerThres_t,
9133    ) -> nvmlReturn_t {
9134        (self
9135            .nvmlDeviceSetNvLinkDeviceLowPowerThreshold
9136            .as_ref()
9137            .expect("Expected function, got error."))(device, info)
9138    }
9139    pub unsafe fn nvmlSystemSetNvlinkBwMode(&self, nvlinkBwMode: raw::c_uint) -> nvmlReturn_t {
9140        (self
9141            .nvmlSystemSetNvlinkBwMode
9142            .as_ref()
9143            .expect("Expected function, got error."))(nvlinkBwMode)
9144    }
9145    pub unsafe fn nvmlSystemGetNvlinkBwMode(&self, nvlinkBwMode: *mut raw::c_uint) -> nvmlReturn_t {
9146        (self
9147            .nvmlSystemGetNvlinkBwMode
9148            .as_ref()
9149            .expect("Expected function, got error."))(nvlinkBwMode)
9150    }
9151    pub unsafe fn nvmlDeviceGetNvlinkSupportedBwModes(
9152        &self,
9153        device: nvmlDevice_t,
9154        supportedBwMode: *mut nvmlNvlinkSupportedBwModes_t,
9155    ) -> nvmlReturn_t {
9156        (self
9157            .nvmlDeviceGetNvlinkSupportedBwModes
9158            .as_ref()
9159            .expect("Expected function, got error."))(device, supportedBwMode)
9160    }
9161    pub unsafe fn nvmlDeviceGetNvlinkBwMode(
9162        &self,
9163        device: nvmlDevice_t,
9164        getBwMode: *mut nvmlNvlinkGetBwMode_t,
9165    ) -> nvmlReturn_t {
9166        (self
9167            .nvmlDeviceGetNvlinkBwMode
9168            .as_ref()
9169            .expect("Expected function, got error."))(device, getBwMode)
9170    }
9171    pub unsafe fn nvmlDeviceSetNvlinkBwMode(
9172        &self,
9173        device: nvmlDevice_t,
9174        setBwMode: *mut nvmlNvlinkSetBwMode_t,
9175    ) -> nvmlReturn_t {
9176        (self
9177            .nvmlDeviceSetNvlinkBwMode
9178            .as_ref()
9179            .expect("Expected function, got error."))(device, setBwMode)
9180    }
9181    pub unsafe fn nvmlDeviceGetNvLinkInfo(
9182        &self,
9183        device: nvmlDevice_t,
9184        info: *mut nvmlNvLinkInfo_t,
9185    ) -> nvmlReturn_t {
9186        (self
9187            .nvmlDeviceGetNvLinkInfo
9188            .as_ref()
9189            .expect("Expected function, got error."))(device, info)
9190    }
9191    pub unsafe fn nvmlEventSetCreate(&self, set: *mut nvmlEventSet_t) -> nvmlReturn_t {
9192        (self
9193            .nvmlEventSetCreate
9194            .as_ref()
9195            .expect("Expected function, got error."))(set)
9196    }
9197    pub unsafe fn nvmlDeviceRegisterEvents(
9198        &self,
9199        device: nvmlDevice_t,
9200        eventTypes: raw::c_ulonglong,
9201        set: nvmlEventSet_t,
9202    ) -> nvmlReturn_t {
9203        (self
9204            .nvmlDeviceRegisterEvents
9205            .as_ref()
9206            .expect("Expected function, got error."))(device, eventTypes, set)
9207    }
9208    pub unsafe fn nvmlDeviceGetSupportedEventTypes(
9209        &self,
9210        device: nvmlDevice_t,
9211        eventTypes: *mut raw::c_ulonglong,
9212    ) -> nvmlReturn_t {
9213        (self
9214            .nvmlDeviceGetSupportedEventTypes
9215            .as_ref()
9216            .expect("Expected function, got error."))(device, eventTypes)
9217    }
9218    pub unsafe fn nvmlEventSetWait_v2(
9219        &self,
9220        set: nvmlEventSet_t,
9221        data: *mut nvmlEventData_t,
9222        timeoutms: raw::c_uint,
9223    ) -> nvmlReturn_t {
9224        (self
9225            .nvmlEventSetWait_v2
9226            .as_ref()
9227            .expect("Expected function, got error."))(set, data, timeoutms)
9228    }
9229    pub unsafe fn nvmlEventSetFree(&self, set: nvmlEventSet_t) -> nvmlReturn_t {
9230        (self
9231            .nvmlEventSetFree
9232            .as_ref()
9233            .expect("Expected function, got error."))(set)
9234    }
9235    pub unsafe fn nvmlSystemEventSetCreate(
9236        &self,
9237        request: *mut nvmlSystemEventSetCreateRequest_t,
9238    ) -> nvmlReturn_t {
9239        (self
9240            .nvmlSystemEventSetCreate
9241            .as_ref()
9242            .expect("Expected function, got error."))(request)
9243    }
9244    pub unsafe fn nvmlSystemEventSetFree(
9245        &self,
9246        request: *mut nvmlSystemEventSetFreeRequest_t,
9247    ) -> nvmlReturn_t {
9248        (self
9249            .nvmlSystemEventSetFree
9250            .as_ref()
9251            .expect("Expected function, got error."))(request)
9252    }
9253    pub unsafe fn nvmlSystemRegisterEvents(
9254        &self,
9255        request: *mut nvmlSystemRegisterEventRequest_t,
9256    ) -> nvmlReturn_t {
9257        (self
9258            .nvmlSystemRegisterEvents
9259            .as_ref()
9260            .expect("Expected function, got error."))(request)
9261    }
9262    pub unsafe fn nvmlSystemEventSetWait(
9263        &self,
9264        request: *mut nvmlSystemEventSetWaitRequest_t,
9265    ) -> nvmlReturn_t {
9266        (self
9267            .nvmlSystemEventSetWait
9268            .as_ref()
9269            .expect("Expected function, got error."))(request)
9270    }
9271    pub unsafe fn nvmlDeviceModifyDrainState(
9272        &self,
9273        pciInfo: *mut nvmlPciInfo_t,
9274        newState: nvmlEnableState_t,
9275    ) -> nvmlReturn_t {
9276        (self
9277            .nvmlDeviceModifyDrainState
9278            .as_ref()
9279            .expect("Expected function, got error."))(pciInfo, newState)
9280    }
9281    pub unsafe fn nvmlDeviceQueryDrainState(
9282        &self,
9283        pciInfo: *mut nvmlPciInfo_t,
9284        currentState: *mut nvmlEnableState_t,
9285    ) -> nvmlReturn_t {
9286        (self
9287            .nvmlDeviceQueryDrainState
9288            .as_ref()
9289            .expect("Expected function, got error."))(pciInfo, currentState)
9290    }
9291    pub unsafe fn nvmlDeviceRemoveGpu_v2(
9292        &self,
9293        pciInfo: *mut nvmlPciInfo_t,
9294        gpuState: nvmlDetachGpuState_t,
9295        linkState: nvmlPcieLinkState_t,
9296    ) -> nvmlReturn_t {
9297        (self
9298            .nvmlDeviceRemoveGpu_v2
9299            .as_ref()
9300            .expect("Expected function, got error."))(pciInfo, gpuState, linkState)
9301    }
9302    pub unsafe fn nvmlDeviceDiscoverGpus(&self, pciInfo: *mut nvmlPciInfo_t) -> nvmlReturn_t {
9303        (self
9304            .nvmlDeviceDiscoverGpus
9305            .as_ref()
9306            .expect("Expected function, got error."))(pciInfo)
9307    }
9308    pub unsafe fn nvmlDeviceGetFieldValues(
9309        &self,
9310        device: nvmlDevice_t,
9311        valuesCount: raw::c_int,
9312        values: *mut nvmlFieldValue_t,
9313    ) -> nvmlReturn_t {
9314        (self
9315            .nvmlDeviceGetFieldValues
9316            .as_ref()
9317            .expect("Expected function, got error."))(device, valuesCount, values)
9318    }
9319    pub unsafe fn nvmlDeviceClearFieldValues(
9320        &self,
9321        device: nvmlDevice_t,
9322        valuesCount: raw::c_int,
9323        values: *mut nvmlFieldValue_t,
9324    ) -> nvmlReturn_t {
9325        (self
9326            .nvmlDeviceClearFieldValues
9327            .as_ref()
9328            .expect("Expected function, got error."))(device, valuesCount, values)
9329    }
9330    pub unsafe fn nvmlDeviceGetVirtualizationMode(
9331        &self,
9332        device: nvmlDevice_t,
9333        pVirtualMode: *mut nvmlGpuVirtualizationMode_t,
9334    ) -> nvmlReturn_t {
9335        (self
9336            .nvmlDeviceGetVirtualizationMode
9337            .as_ref()
9338            .expect("Expected function, got error."))(device, pVirtualMode)
9339    }
9340    pub unsafe fn nvmlDeviceGetHostVgpuMode(
9341        &self,
9342        device: nvmlDevice_t,
9343        pHostVgpuMode: *mut nvmlHostVgpuMode_t,
9344    ) -> nvmlReturn_t {
9345        (self
9346            .nvmlDeviceGetHostVgpuMode
9347            .as_ref()
9348            .expect("Expected function, got error."))(device, pHostVgpuMode)
9349    }
9350    pub unsafe fn nvmlDeviceSetVirtualizationMode(
9351        &self,
9352        device: nvmlDevice_t,
9353        virtualMode: nvmlGpuVirtualizationMode_t,
9354    ) -> nvmlReturn_t {
9355        (self
9356            .nvmlDeviceSetVirtualizationMode
9357            .as_ref()
9358            .expect("Expected function, got error."))(device, virtualMode)
9359    }
9360    pub unsafe fn nvmlDeviceGetVgpuHeterogeneousMode(
9361        &self,
9362        device: nvmlDevice_t,
9363        pHeterogeneousMode: *mut nvmlVgpuHeterogeneousMode_t,
9364    ) -> nvmlReturn_t {
9365        (self
9366            .nvmlDeviceGetVgpuHeterogeneousMode
9367            .as_ref()
9368            .expect("Expected function, got error."))(device, pHeterogeneousMode)
9369    }
9370    pub unsafe fn nvmlDeviceSetVgpuHeterogeneousMode(
9371        &self,
9372        device: nvmlDevice_t,
9373        pHeterogeneousMode: *const nvmlVgpuHeterogeneousMode_t,
9374    ) -> nvmlReturn_t {
9375        (self
9376            .nvmlDeviceSetVgpuHeterogeneousMode
9377            .as_ref()
9378            .expect("Expected function, got error."))(device, pHeterogeneousMode)
9379    }
9380    pub unsafe fn nvmlVgpuInstanceGetPlacementId(
9381        &self,
9382        vgpuInstance: nvmlVgpuInstance_t,
9383        pPlacement: *mut nvmlVgpuPlacementId_t,
9384    ) -> nvmlReturn_t {
9385        (self
9386            .nvmlVgpuInstanceGetPlacementId
9387            .as_ref()
9388            .expect("Expected function, got error."))(vgpuInstance, pPlacement)
9389    }
9390    pub unsafe fn nvmlDeviceGetVgpuTypeSupportedPlacements(
9391        &self,
9392        device: nvmlDevice_t,
9393        vgpuTypeId: nvmlVgpuTypeId_t,
9394        pPlacementList: *mut nvmlVgpuPlacementList_t,
9395    ) -> nvmlReturn_t {
9396        (self
9397            .nvmlDeviceGetVgpuTypeSupportedPlacements
9398            .as_ref()
9399            .expect("Expected function, got error."))(device, vgpuTypeId, pPlacementList)
9400    }
9401    pub unsafe fn nvmlDeviceGetVgpuTypeCreatablePlacements(
9402        &self,
9403        device: nvmlDevice_t,
9404        vgpuTypeId: nvmlVgpuTypeId_t,
9405        pPlacementList: *mut nvmlVgpuPlacementList_t,
9406    ) -> nvmlReturn_t {
9407        (self
9408            .nvmlDeviceGetVgpuTypeCreatablePlacements
9409            .as_ref()
9410            .expect("Expected function, got error."))(device, vgpuTypeId, pPlacementList)
9411    }
9412    pub unsafe fn nvmlVgpuTypeGetGspHeapSize(
9413        &self,
9414        vgpuTypeId: nvmlVgpuTypeId_t,
9415        gspHeapSize: *mut raw::c_ulonglong,
9416    ) -> nvmlReturn_t {
9417        (self
9418            .nvmlVgpuTypeGetGspHeapSize
9419            .as_ref()
9420            .expect("Expected function, got error."))(vgpuTypeId, gspHeapSize)
9421    }
9422    pub unsafe fn nvmlVgpuTypeGetFbReservation(
9423        &self,
9424        vgpuTypeId: nvmlVgpuTypeId_t,
9425        fbReservation: *mut raw::c_ulonglong,
9426    ) -> nvmlReturn_t {
9427        (self
9428            .nvmlVgpuTypeGetFbReservation
9429            .as_ref()
9430            .expect("Expected function, got error."))(vgpuTypeId, fbReservation)
9431    }
9432    pub unsafe fn nvmlVgpuInstanceGetRuntimeStateSize(
9433        &self,
9434        vgpuInstance: nvmlVgpuInstance_t,
9435        pState: *mut nvmlVgpuRuntimeState_t,
9436    ) -> nvmlReturn_t {
9437        (self
9438            .nvmlVgpuInstanceGetRuntimeStateSize
9439            .as_ref()
9440            .expect("Expected function, got error."))(vgpuInstance, pState)
9441    }
9442    pub unsafe fn nvmlDeviceSetVgpuCapabilities(
9443        &self,
9444        device: nvmlDevice_t,
9445        capability: nvmlDeviceVgpuCapability_t,
9446        state: nvmlEnableState_t,
9447    ) -> nvmlReturn_t {
9448        (self
9449            .nvmlDeviceSetVgpuCapabilities
9450            .as_ref()
9451            .expect("Expected function, got error."))(device, capability, state)
9452    }
9453    pub unsafe fn nvmlDeviceGetGridLicensableFeatures_v4(
9454        &self,
9455        device: nvmlDevice_t,
9456        pGridLicensableFeatures: *mut nvmlGridLicensableFeatures_t,
9457    ) -> nvmlReturn_t {
9458        (self
9459            .nvmlDeviceGetGridLicensableFeatures_v4
9460            .as_ref()
9461            .expect("Expected function, got error."))(device, pGridLicensableFeatures)
9462    }
9463    pub unsafe fn nvmlGetVgpuDriverCapabilities(
9464        &self,
9465        capability: nvmlVgpuDriverCapability_t,
9466        capResult: *mut raw::c_uint,
9467    ) -> nvmlReturn_t {
9468        (self
9469            .nvmlGetVgpuDriverCapabilities
9470            .as_ref()
9471            .expect("Expected function, got error."))(capability, capResult)
9472    }
9473    pub unsafe fn nvmlDeviceGetVgpuCapabilities(
9474        &self,
9475        device: nvmlDevice_t,
9476        capability: nvmlDeviceVgpuCapability_t,
9477        capResult: *mut raw::c_uint,
9478    ) -> nvmlReturn_t {
9479        (self
9480            .nvmlDeviceGetVgpuCapabilities
9481            .as_ref()
9482            .expect("Expected function, got error."))(device, capability, capResult)
9483    }
9484    pub unsafe fn nvmlDeviceGetSupportedVgpus(
9485        &self,
9486        device: nvmlDevice_t,
9487        vgpuCount: *mut raw::c_uint,
9488        vgpuTypeIds: *mut nvmlVgpuTypeId_t,
9489    ) -> nvmlReturn_t {
9490        (self
9491            .nvmlDeviceGetSupportedVgpus
9492            .as_ref()
9493            .expect("Expected function, got error."))(device, vgpuCount, vgpuTypeIds)
9494    }
9495    pub unsafe fn nvmlDeviceGetCreatableVgpus(
9496        &self,
9497        device: nvmlDevice_t,
9498        vgpuCount: *mut raw::c_uint,
9499        vgpuTypeIds: *mut nvmlVgpuTypeId_t,
9500    ) -> nvmlReturn_t {
9501        (self
9502            .nvmlDeviceGetCreatableVgpus
9503            .as_ref()
9504            .expect("Expected function, got error."))(device, vgpuCount, vgpuTypeIds)
9505    }
9506    pub unsafe fn nvmlVgpuTypeGetClass(
9507        &self,
9508        vgpuTypeId: nvmlVgpuTypeId_t,
9509        vgpuTypeClass: *mut raw::c_char,
9510        size: *mut raw::c_uint,
9511    ) -> nvmlReturn_t {
9512        (self
9513            .nvmlVgpuTypeGetClass
9514            .as_ref()
9515            .expect("Expected function, got error."))(vgpuTypeId, vgpuTypeClass, size)
9516    }
9517    pub unsafe fn nvmlVgpuTypeGetName(
9518        &self,
9519        vgpuTypeId: nvmlVgpuTypeId_t,
9520        vgpuTypeName: *mut raw::c_char,
9521        size: *mut raw::c_uint,
9522    ) -> nvmlReturn_t {
9523        (self
9524            .nvmlVgpuTypeGetName
9525            .as_ref()
9526            .expect("Expected function, got error."))(vgpuTypeId, vgpuTypeName, size)
9527    }
9528    pub unsafe fn nvmlVgpuTypeGetGpuInstanceProfileId(
9529        &self,
9530        vgpuTypeId: nvmlVgpuTypeId_t,
9531        gpuInstanceProfileId: *mut raw::c_uint,
9532    ) -> nvmlReturn_t {
9533        (self
9534            .nvmlVgpuTypeGetGpuInstanceProfileId
9535            .as_ref()
9536            .expect("Expected function, got error."))(vgpuTypeId, gpuInstanceProfileId)
9537    }
9538    pub unsafe fn nvmlVgpuTypeGetDeviceID(
9539        &self,
9540        vgpuTypeId: nvmlVgpuTypeId_t,
9541        deviceID: *mut raw::c_ulonglong,
9542        subsystemID: *mut raw::c_ulonglong,
9543    ) -> nvmlReturn_t {
9544        (self
9545            .nvmlVgpuTypeGetDeviceID
9546            .as_ref()
9547            .expect("Expected function, got error."))(vgpuTypeId, deviceID, subsystemID)
9548    }
9549    pub unsafe fn nvmlVgpuTypeGetFramebufferSize(
9550        &self,
9551        vgpuTypeId: nvmlVgpuTypeId_t,
9552        fbSize: *mut raw::c_ulonglong,
9553    ) -> nvmlReturn_t {
9554        (self
9555            .nvmlVgpuTypeGetFramebufferSize
9556            .as_ref()
9557            .expect("Expected function, got error."))(vgpuTypeId, fbSize)
9558    }
9559    pub unsafe fn nvmlVgpuTypeGetNumDisplayHeads(
9560        &self,
9561        vgpuTypeId: nvmlVgpuTypeId_t,
9562        numDisplayHeads: *mut raw::c_uint,
9563    ) -> nvmlReturn_t {
9564        (self
9565            .nvmlVgpuTypeGetNumDisplayHeads
9566            .as_ref()
9567            .expect("Expected function, got error."))(vgpuTypeId, numDisplayHeads)
9568    }
9569    pub unsafe fn nvmlVgpuTypeGetResolution(
9570        &self,
9571        vgpuTypeId: nvmlVgpuTypeId_t,
9572        displayIndex: raw::c_uint,
9573        xdim: *mut raw::c_uint,
9574        ydim: *mut raw::c_uint,
9575    ) -> nvmlReturn_t {
9576        (self
9577            .nvmlVgpuTypeGetResolution
9578            .as_ref()
9579            .expect("Expected function, got error."))(vgpuTypeId, displayIndex, xdim, ydim)
9580    }
9581    pub unsafe fn nvmlVgpuTypeGetLicense(
9582        &self,
9583        vgpuTypeId: nvmlVgpuTypeId_t,
9584        vgpuTypeLicenseString: *mut raw::c_char,
9585        size: raw::c_uint,
9586    ) -> nvmlReturn_t {
9587        (self
9588            .nvmlVgpuTypeGetLicense
9589            .as_ref()
9590            .expect("Expected function, got error."))(
9591            vgpuTypeId, vgpuTypeLicenseString, size
9592        )
9593    }
9594    pub unsafe fn nvmlVgpuTypeGetFrameRateLimit(
9595        &self,
9596        vgpuTypeId: nvmlVgpuTypeId_t,
9597        frameRateLimit: *mut raw::c_uint,
9598    ) -> nvmlReturn_t {
9599        (self
9600            .nvmlVgpuTypeGetFrameRateLimit
9601            .as_ref()
9602            .expect("Expected function, got error."))(vgpuTypeId, frameRateLimit)
9603    }
9604    pub unsafe fn nvmlVgpuTypeGetMaxInstances(
9605        &self,
9606        device: nvmlDevice_t,
9607        vgpuTypeId: nvmlVgpuTypeId_t,
9608        vgpuInstanceCount: *mut raw::c_uint,
9609    ) -> nvmlReturn_t {
9610        (self
9611            .nvmlVgpuTypeGetMaxInstances
9612            .as_ref()
9613            .expect("Expected function, got error."))(device, vgpuTypeId, vgpuInstanceCount)
9614    }
9615    pub unsafe fn nvmlVgpuTypeGetMaxInstancesPerVm(
9616        &self,
9617        vgpuTypeId: nvmlVgpuTypeId_t,
9618        vgpuInstanceCountPerVm: *mut raw::c_uint,
9619    ) -> nvmlReturn_t {
9620        (self
9621            .nvmlVgpuTypeGetMaxInstancesPerVm
9622            .as_ref()
9623            .expect("Expected function, got error."))(vgpuTypeId, vgpuInstanceCountPerVm)
9624    }
9625    pub unsafe fn nvmlVgpuTypeGetBAR1Info(
9626        &self,
9627        vgpuTypeId: nvmlVgpuTypeId_t,
9628        bar1Info: *mut nvmlVgpuTypeBar1Info_t,
9629    ) -> nvmlReturn_t {
9630        (self
9631            .nvmlVgpuTypeGetBAR1Info
9632            .as_ref()
9633            .expect("Expected function, got error."))(vgpuTypeId, bar1Info)
9634    }
9635    pub unsafe fn nvmlDeviceGetActiveVgpus(
9636        &self,
9637        device: nvmlDevice_t,
9638        vgpuCount: *mut raw::c_uint,
9639        vgpuInstances: *mut nvmlVgpuInstance_t,
9640    ) -> nvmlReturn_t {
9641        (self
9642            .nvmlDeviceGetActiveVgpus
9643            .as_ref()
9644            .expect("Expected function, got error."))(device, vgpuCount, vgpuInstances)
9645    }
9646    pub unsafe fn nvmlVgpuInstanceGetVmID(
9647        &self,
9648        vgpuInstance: nvmlVgpuInstance_t,
9649        vmId: *mut raw::c_char,
9650        size: raw::c_uint,
9651        vmIdType: *mut nvmlVgpuVmIdType_t,
9652    ) -> nvmlReturn_t {
9653        (self
9654            .nvmlVgpuInstanceGetVmID
9655            .as_ref()
9656            .expect("Expected function, got error."))(vgpuInstance, vmId, size, vmIdType)
9657    }
9658    pub unsafe fn nvmlVgpuInstanceGetUUID(
9659        &self,
9660        vgpuInstance: nvmlVgpuInstance_t,
9661        uuid: *mut raw::c_char,
9662        size: raw::c_uint,
9663    ) -> nvmlReturn_t {
9664        (self
9665            .nvmlVgpuInstanceGetUUID
9666            .as_ref()
9667            .expect("Expected function, got error."))(vgpuInstance, uuid, size)
9668    }
9669    pub unsafe fn nvmlVgpuInstanceGetVmDriverVersion(
9670        &self,
9671        vgpuInstance: nvmlVgpuInstance_t,
9672        version: *mut raw::c_char,
9673        length: raw::c_uint,
9674    ) -> nvmlReturn_t {
9675        (self
9676            .nvmlVgpuInstanceGetVmDriverVersion
9677            .as_ref()
9678            .expect("Expected function, got error."))(vgpuInstance, version, length)
9679    }
9680    pub unsafe fn nvmlVgpuInstanceGetFbUsage(
9681        &self,
9682        vgpuInstance: nvmlVgpuInstance_t,
9683        fbUsage: *mut raw::c_ulonglong,
9684    ) -> nvmlReturn_t {
9685        (self
9686            .nvmlVgpuInstanceGetFbUsage
9687            .as_ref()
9688            .expect("Expected function, got error."))(vgpuInstance, fbUsage)
9689    }
9690    pub unsafe fn nvmlVgpuInstanceGetLicenseStatus(
9691        &self,
9692        vgpuInstance: nvmlVgpuInstance_t,
9693        licensed: *mut raw::c_uint,
9694    ) -> nvmlReturn_t {
9695        (self
9696            .nvmlVgpuInstanceGetLicenseStatus
9697            .as_ref()
9698            .expect("Expected function, got error."))(vgpuInstance, licensed)
9699    }
9700    pub unsafe fn nvmlVgpuInstanceGetType(
9701        &self,
9702        vgpuInstance: nvmlVgpuInstance_t,
9703        vgpuTypeId: *mut nvmlVgpuTypeId_t,
9704    ) -> nvmlReturn_t {
9705        (self
9706            .nvmlVgpuInstanceGetType
9707            .as_ref()
9708            .expect("Expected function, got error."))(vgpuInstance, vgpuTypeId)
9709    }
9710    pub unsafe fn nvmlVgpuInstanceGetFrameRateLimit(
9711        &self,
9712        vgpuInstance: nvmlVgpuInstance_t,
9713        frameRateLimit: *mut raw::c_uint,
9714    ) -> nvmlReturn_t {
9715        (self
9716            .nvmlVgpuInstanceGetFrameRateLimit
9717            .as_ref()
9718            .expect("Expected function, got error."))(vgpuInstance, frameRateLimit)
9719    }
9720    pub unsafe fn nvmlVgpuInstanceGetEccMode(
9721        &self,
9722        vgpuInstance: nvmlVgpuInstance_t,
9723        eccMode: *mut nvmlEnableState_t,
9724    ) -> nvmlReturn_t {
9725        (self
9726            .nvmlVgpuInstanceGetEccMode
9727            .as_ref()
9728            .expect("Expected function, got error."))(vgpuInstance, eccMode)
9729    }
9730    pub unsafe fn nvmlVgpuInstanceGetEncoderCapacity(
9731        &self,
9732        vgpuInstance: nvmlVgpuInstance_t,
9733        encoderCapacity: *mut raw::c_uint,
9734    ) -> nvmlReturn_t {
9735        (self
9736            .nvmlVgpuInstanceGetEncoderCapacity
9737            .as_ref()
9738            .expect("Expected function, got error."))(vgpuInstance, encoderCapacity)
9739    }
9740    pub unsafe fn nvmlVgpuInstanceSetEncoderCapacity(
9741        &self,
9742        vgpuInstance: nvmlVgpuInstance_t,
9743        encoderCapacity: raw::c_uint,
9744    ) -> nvmlReturn_t {
9745        (self
9746            .nvmlVgpuInstanceSetEncoderCapacity
9747            .as_ref()
9748            .expect("Expected function, got error."))(vgpuInstance, encoderCapacity)
9749    }
9750    pub unsafe fn nvmlVgpuInstanceGetEncoderStats(
9751        &self,
9752        vgpuInstance: nvmlVgpuInstance_t,
9753        sessionCount: *mut raw::c_uint,
9754        averageFps: *mut raw::c_uint,
9755        averageLatency: *mut raw::c_uint,
9756    ) -> nvmlReturn_t {
9757        (self
9758            .nvmlVgpuInstanceGetEncoderStats
9759            .as_ref()
9760            .expect("Expected function, got error."))(
9761            vgpuInstance,
9762            sessionCount,
9763            averageFps,
9764            averageLatency,
9765        )
9766    }
9767    pub unsafe fn nvmlVgpuInstanceGetEncoderSessions(
9768        &self,
9769        vgpuInstance: nvmlVgpuInstance_t,
9770        sessionCount: *mut raw::c_uint,
9771        sessionInfo: *mut nvmlEncoderSessionInfo_t,
9772    ) -> nvmlReturn_t {
9773        (self
9774            .nvmlVgpuInstanceGetEncoderSessions
9775            .as_ref()
9776            .expect("Expected function, got error."))(
9777            vgpuInstance, sessionCount, sessionInfo
9778        )
9779    }
9780    pub unsafe fn nvmlVgpuInstanceGetFBCStats(
9781        &self,
9782        vgpuInstance: nvmlVgpuInstance_t,
9783        fbcStats: *mut nvmlFBCStats_t,
9784    ) -> nvmlReturn_t {
9785        (self
9786            .nvmlVgpuInstanceGetFBCStats
9787            .as_ref()
9788            .expect("Expected function, got error."))(vgpuInstance, fbcStats)
9789    }
9790    pub unsafe fn nvmlVgpuInstanceGetFBCSessions(
9791        &self,
9792        vgpuInstance: nvmlVgpuInstance_t,
9793        sessionCount: *mut raw::c_uint,
9794        sessionInfo: *mut nvmlFBCSessionInfo_t,
9795    ) -> nvmlReturn_t {
9796        (self
9797            .nvmlVgpuInstanceGetFBCSessions
9798            .as_ref()
9799            .expect("Expected function, got error."))(
9800            vgpuInstance, sessionCount, sessionInfo
9801        )
9802    }
9803    pub unsafe fn nvmlVgpuInstanceGetGpuInstanceId(
9804        &self,
9805        vgpuInstance: nvmlVgpuInstance_t,
9806        gpuInstanceId: *mut raw::c_uint,
9807    ) -> nvmlReturn_t {
9808        (self
9809            .nvmlVgpuInstanceGetGpuInstanceId
9810            .as_ref()
9811            .expect("Expected function, got error."))(vgpuInstance, gpuInstanceId)
9812    }
9813    pub unsafe fn nvmlVgpuInstanceGetGpuPciId(
9814        &self,
9815        vgpuInstance: nvmlVgpuInstance_t,
9816        vgpuPciId: *mut raw::c_char,
9817        length: *mut raw::c_uint,
9818    ) -> nvmlReturn_t {
9819        (self
9820            .nvmlVgpuInstanceGetGpuPciId
9821            .as_ref()
9822            .expect("Expected function, got error."))(vgpuInstance, vgpuPciId, length)
9823    }
9824    pub unsafe fn nvmlVgpuTypeGetCapabilities(
9825        &self,
9826        vgpuTypeId: nvmlVgpuTypeId_t,
9827        capability: nvmlVgpuCapability_t,
9828        capResult: *mut raw::c_uint,
9829    ) -> nvmlReturn_t {
9830        (self
9831            .nvmlVgpuTypeGetCapabilities
9832            .as_ref()
9833            .expect("Expected function, got error."))(vgpuTypeId, capability, capResult)
9834    }
9835    pub unsafe fn nvmlVgpuInstanceGetMdevUUID(
9836        &self,
9837        vgpuInstance: nvmlVgpuInstance_t,
9838        mdevUuid: *mut raw::c_char,
9839        size: raw::c_uint,
9840    ) -> nvmlReturn_t {
9841        (self
9842            .nvmlVgpuInstanceGetMdevUUID
9843            .as_ref()
9844            .expect("Expected function, got error."))(vgpuInstance, mdevUuid, size)
9845    }
9846    pub unsafe fn nvmlGpuInstanceGetCreatableVgpus(
9847        &self,
9848        gpuInstance: nvmlGpuInstance_t,
9849        pVgpus: *mut nvmlVgpuTypeIdInfo_t,
9850    ) -> nvmlReturn_t {
9851        (self
9852            .nvmlGpuInstanceGetCreatableVgpus
9853            .as_ref()
9854            .expect("Expected function, got error."))(gpuInstance, pVgpus)
9855    }
9856    pub unsafe fn nvmlVgpuTypeGetMaxInstancesPerGpuInstance(
9857        &self,
9858        pMaxInstance: *mut nvmlVgpuTypeMaxInstance_t,
9859    ) -> nvmlReturn_t {
9860        (self
9861            .nvmlVgpuTypeGetMaxInstancesPerGpuInstance
9862            .as_ref()
9863            .expect("Expected function, got error."))(pMaxInstance)
9864    }
9865    pub unsafe fn nvmlGpuInstanceGetActiveVgpus(
9866        &self,
9867        gpuInstance: nvmlGpuInstance_t,
9868        pVgpuInstanceInfo: *mut nvmlActiveVgpuInstanceInfo_t,
9869    ) -> nvmlReturn_t {
9870        (self
9871            .nvmlGpuInstanceGetActiveVgpus
9872            .as_ref()
9873            .expect("Expected function, got error."))(gpuInstance, pVgpuInstanceInfo)
9874    }
9875    pub unsafe fn nvmlGpuInstanceSetVgpuSchedulerState(
9876        &self,
9877        gpuInstance: nvmlGpuInstance_t,
9878        pScheduler: *mut nvmlVgpuSchedulerState_t,
9879    ) -> nvmlReturn_t {
9880        (self
9881            .nvmlGpuInstanceSetVgpuSchedulerState
9882            .as_ref()
9883            .expect("Expected function, got error."))(gpuInstance, pScheduler)
9884    }
9885    pub unsafe fn nvmlGpuInstanceGetVgpuSchedulerState(
9886        &self,
9887        gpuInstance: nvmlGpuInstance_t,
9888        pSchedulerStateInfo: *mut nvmlVgpuSchedulerStateInfo_t,
9889    ) -> nvmlReturn_t {
9890        (self
9891            .nvmlGpuInstanceGetVgpuSchedulerState
9892            .as_ref()
9893            .expect("Expected function, got error."))(gpuInstance, pSchedulerStateInfo)
9894    }
9895    pub unsafe fn nvmlGpuInstanceGetVgpuSchedulerLog(
9896        &self,
9897        gpuInstance: nvmlGpuInstance_t,
9898        pSchedulerLogInfo: *mut nvmlVgpuSchedulerLogInfo_t,
9899    ) -> nvmlReturn_t {
9900        (self
9901            .nvmlGpuInstanceGetVgpuSchedulerLog
9902            .as_ref()
9903            .expect("Expected function, got error."))(gpuInstance, pSchedulerLogInfo)
9904    }
9905    pub unsafe fn nvmlGpuInstanceGetVgpuTypeCreatablePlacements(
9906        &self,
9907        gpuInstance: nvmlGpuInstance_t,
9908        pCreatablePlacementInfo: *mut nvmlVgpuCreatablePlacementInfo_t,
9909    ) -> nvmlReturn_t {
9910        (self
9911            .nvmlGpuInstanceGetVgpuTypeCreatablePlacements
9912            .as_ref()
9913            .expect("Expected function, got error."))(gpuInstance, pCreatablePlacementInfo)
9914    }
9915    pub unsafe fn nvmlGpuInstanceGetVgpuHeterogeneousMode(
9916        &self,
9917        gpuInstance: nvmlGpuInstance_t,
9918        pHeterogeneousMode: *mut nvmlVgpuHeterogeneousMode_t,
9919    ) -> nvmlReturn_t {
9920        (self
9921            .nvmlGpuInstanceGetVgpuHeterogeneousMode
9922            .as_ref()
9923            .expect("Expected function, got error."))(gpuInstance, pHeterogeneousMode)
9924    }
9925    pub unsafe fn nvmlGpuInstanceSetVgpuHeterogeneousMode(
9926        &self,
9927        gpuInstance: nvmlGpuInstance_t,
9928        pHeterogeneousMode: *const nvmlVgpuHeterogeneousMode_t,
9929    ) -> nvmlReturn_t {
9930        (self
9931            .nvmlGpuInstanceSetVgpuHeterogeneousMode
9932            .as_ref()
9933            .expect("Expected function, got error."))(gpuInstance, pHeterogeneousMode)
9934    }
9935    pub unsafe fn nvmlVgpuInstanceGetMetadata(
9936        &self,
9937        vgpuInstance: nvmlVgpuInstance_t,
9938        vgpuMetadata: *mut nvmlVgpuMetadata_t,
9939        bufferSize: *mut raw::c_uint,
9940    ) -> nvmlReturn_t {
9941        (self
9942            .nvmlVgpuInstanceGetMetadata
9943            .as_ref()
9944            .expect("Expected function, got error."))(vgpuInstance, vgpuMetadata, bufferSize)
9945    }
9946    pub unsafe fn nvmlDeviceGetVgpuMetadata(
9947        &self,
9948        device: nvmlDevice_t,
9949        pgpuMetadata: *mut nvmlVgpuPgpuMetadata_t,
9950        bufferSize: *mut raw::c_uint,
9951    ) -> nvmlReturn_t {
9952        (self
9953            .nvmlDeviceGetVgpuMetadata
9954            .as_ref()
9955            .expect("Expected function, got error."))(device, pgpuMetadata, bufferSize)
9956    }
9957    pub unsafe fn nvmlGetVgpuCompatibility(
9958        &self,
9959        vgpuMetadata: *mut nvmlVgpuMetadata_t,
9960        pgpuMetadata: *mut nvmlVgpuPgpuMetadata_t,
9961        compatibilityInfo: *mut nvmlVgpuPgpuCompatibility_t,
9962    ) -> nvmlReturn_t {
9963        (self
9964            .nvmlGetVgpuCompatibility
9965            .as_ref()
9966            .expect("Expected function, got error."))(
9967            vgpuMetadata, pgpuMetadata, compatibilityInfo
9968        )
9969    }
9970    pub unsafe fn nvmlDeviceGetPgpuMetadataString(
9971        &self,
9972        device: nvmlDevice_t,
9973        pgpuMetadata: *mut raw::c_char,
9974        bufferSize: *mut raw::c_uint,
9975    ) -> nvmlReturn_t {
9976        (self
9977            .nvmlDeviceGetPgpuMetadataString
9978            .as_ref()
9979            .expect("Expected function, got error."))(device, pgpuMetadata, bufferSize)
9980    }
9981    pub unsafe fn nvmlDeviceGetVgpuSchedulerLog(
9982        &self,
9983        device: nvmlDevice_t,
9984        pSchedulerLog: *mut nvmlVgpuSchedulerLog_t,
9985    ) -> nvmlReturn_t {
9986        (self
9987            .nvmlDeviceGetVgpuSchedulerLog
9988            .as_ref()
9989            .expect("Expected function, got error."))(device, pSchedulerLog)
9990    }
9991    pub unsafe fn nvmlDeviceGetVgpuSchedulerState(
9992        &self,
9993        device: nvmlDevice_t,
9994        pSchedulerState: *mut nvmlVgpuSchedulerGetState_t,
9995    ) -> nvmlReturn_t {
9996        (self
9997            .nvmlDeviceGetVgpuSchedulerState
9998            .as_ref()
9999            .expect("Expected function, got error."))(device, pSchedulerState)
10000    }
10001    pub unsafe fn nvmlDeviceGetVgpuSchedulerCapabilities(
10002        &self,
10003        device: nvmlDevice_t,
10004        pCapabilities: *mut nvmlVgpuSchedulerCapabilities_t,
10005    ) -> nvmlReturn_t {
10006        (self
10007            .nvmlDeviceGetVgpuSchedulerCapabilities
10008            .as_ref()
10009            .expect("Expected function, got error."))(device, pCapabilities)
10010    }
10011    pub unsafe fn nvmlDeviceSetVgpuSchedulerState(
10012        &self,
10013        device: nvmlDevice_t,
10014        pSchedulerState: *mut nvmlVgpuSchedulerSetState_t,
10015    ) -> nvmlReturn_t {
10016        (self
10017            .nvmlDeviceSetVgpuSchedulerState
10018            .as_ref()
10019            .expect("Expected function, got error."))(device, pSchedulerState)
10020    }
10021    pub unsafe fn nvmlGetVgpuVersion(
10022        &self,
10023        supported: *mut nvmlVgpuVersion_t,
10024        current: *mut nvmlVgpuVersion_t,
10025    ) -> nvmlReturn_t {
10026        (self
10027            .nvmlGetVgpuVersion
10028            .as_ref()
10029            .expect("Expected function, got error."))(supported, current)
10030    }
10031    pub unsafe fn nvmlSetVgpuVersion(&self, vgpuVersion: *mut nvmlVgpuVersion_t) -> nvmlReturn_t {
10032        (self
10033            .nvmlSetVgpuVersion
10034            .as_ref()
10035            .expect("Expected function, got error."))(vgpuVersion)
10036    }
10037    pub unsafe fn nvmlDeviceGetVgpuUtilization(
10038        &self,
10039        device: nvmlDevice_t,
10040        lastSeenTimeStamp: raw::c_ulonglong,
10041        sampleValType: *mut nvmlValueType_t,
10042        vgpuInstanceSamplesCount: *mut raw::c_uint,
10043        utilizationSamples: *mut nvmlVgpuInstanceUtilizationSample_t,
10044    ) -> nvmlReturn_t {
10045        (self
10046            .nvmlDeviceGetVgpuUtilization
10047            .as_ref()
10048            .expect("Expected function, got error."))(
10049            device,
10050            lastSeenTimeStamp,
10051            sampleValType,
10052            vgpuInstanceSamplesCount,
10053            utilizationSamples,
10054        )
10055    }
10056    pub unsafe fn nvmlDeviceGetVgpuInstancesUtilizationInfo(
10057        &self,
10058        device: nvmlDevice_t,
10059        vgpuUtilInfo: *mut nvmlVgpuInstancesUtilizationInfo_t,
10060    ) -> nvmlReturn_t {
10061        (self
10062            .nvmlDeviceGetVgpuInstancesUtilizationInfo
10063            .as_ref()
10064            .expect("Expected function, got error."))(device, vgpuUtilInfo)
10065    }
10066    pub unsafe fn nvmlDeviceGetVgpuProcessUtilization(
10067        &self,
10068        device: nvmlDevice_t,
10069        lastSeenTimeStamp: raw::c_ulonglong,
10070        vgpuProcessSamplesCount: *mut raw::c_uint,
10071        utilizationSamples: *mut nvmlVgpuProcessUtilizationSample_t,
10072    ) -> nvmlReturn_t {
10073        (self
10074            .nvmlDeviceGetVgpuProcessUtilization
10075            .as_ref()
10076            .expect("Expected function, got error."))(
10077            device,
10078            lastSeenTimeStamp,
10079            vgpuProcessSamplesCount,
10080            utilizationSamples,
10081        )
10082    }
10083    pub unsafe fn nvmlDeviceGetVgpuProcessesUtilizationInfo(
10084        &self,
10085        device: nvmlDevice_t,
10086        vgpuProcUtilInfo: *mut nvmlVgpuProcessesUtilizationInfo_t,
10087    ) -> nvmlReturn_t {
10088        (self
10089            .nvmlDeviceGetVgpuProcessesUtilizationInfo
10090            .as_ref()
10091            .expect("Expected function, got error."))(device, vgpuProcUtilInfo)
10092    }
10093    pub unsafe fn nvmlVgpuInstanceGetAccountingMode(
10094        &self,
10095        vgpuInstance: nvmlVgpuInstance_t,
10096        mode: *mut nvmlEnableState_t,
10097    ) -> nvmlReturn_t {
10098        (self
10099            .nvmlVgpuInstanceGetAccountingMode
10100            .as_ref()
10101            .expect("Expected function, got error."))(vgpuInstance, mode)
10102    }
10103    pub unsafe fn nvmlVgpuInstanceGetAccountingPids(
10104        &self,
10105        vgpuInstance: nvmlVgpuInstance_t,
10106        count: *mut raw::c_uint,
10107        pids: *mut raw::c_uint,
10108    ) -> nvmlReturn_t {
10109        (self
10110            .nvmlVgpuInstanceGetAccountingPids
10111            .as_ref()
10112            .expect("Expected function, got error."))(vgpuInstance, count, pids)
10113    }
10114    pub unsafe fn nvmlVgpuInstanceGetAccountingStats(
10115        &self,
10116        vgpuInstance: nvmlVgpuInstance_t,
10117        pid: raw::c_uint,
10118        stats: *mut nvmlAccountingStats_t,
10119    ) -> nvmlReturn_t {
10120        (self
10121            .nvmlVgpuInstanceGetAccountingStats
10122            .as_ref()
10123            .expect("Expected function, got error."))(vgpuInstance, pid, stats)
10124    }
10125    pub unsafe fn nvmlVgpuInstanceClearAccountingPids(
10126        &self,
10127        vgpuInstance: nvmlVgpuInstance_t,
10128    ) -> nvmlReturn_t {
10129        (self
10130            .nvmlVgpuInstanceClearAccountingPids
10131            .as_ref()
10132            .expect("Expected function, got error."))(vgpuInstance)
10133    }
10134    pub unsafe fn nvmlVgpuInstanceGetLicenseInfo_v2(
10135        &self,
10136        vgpuInstance: nvmlVgpuInstance_t,
10137        licenseInfo: *mut nvmlVgpuLicenseInfo_t,
10138    ) -> nvmlReturn_t {
10139        (self
10140            .nvmlVgpuInstanceGetLicenseInfo_v2
10141            .as_ref()
10142            .expect("Expected function, got error."))(vgpuInstance, licenseInfo)
10143    }
10144    pub unsafe fn nvmlGetExcludedDeviceCount(&self, deviceCount: *mut raw::c_uint) -> nvmlReturn_t {
10145        (self
10146            .nvmlGetExcludedDeviceCount
10147            .as_ref()
10148            .expect("Expected function, got error."))(deviceCount)
10149    }
10150    pub unsafe fn nvmlGetExcludedDeviceInfoByIndex(
10151        &self,
10152        index: raw::c_uint,
10153        info: *mut nvmlExcludedDeviceInfo_t,
10154    ) -> nvmlReturn_t {
10155        (self
10156            .nvmlGetExcludedDeviceInfoByIndex
10157            .as_ref()
10158            .expect("Expected function, got error."))(index, info)
10159    }
10160    pub unsafe fn nvmlDeviceReadWritePRM_v1(
10161        &self,
10162        device: nvmlDevice_t,
10163        buffer: *mut nvmlPRMTLV_v1_t,
10164    ) -> nvmlReturn_t {
10165        (self
10166            .nvmlDeviceReadWritePRM_v1
10167            .as_ref()
10168            .expect("Expected function, got error."))(device, buffer)
10169    }
10170    pub unsafe fn nvmlDeviceSetMigMode(
10171        &self,
10172        device: nvmlDevice_t,
10173        mode: raw::c_uint,
10174        activationStatus: *mut nvmlReturn_t,
10175    ) -> nvmlReturn_t {
10176        (self
10177            .nvmlDeviceSetMigMode
10178            .as_ref()
10179            .expect("Expected function, got error."))(device, mode, activationStatus)
10180    }
10181    pub unsafe fn nvmlDeviceGetMigMode(
10182        &self,
10183        device: nvmlDevice_t,
10184        currentMode: *mut raw::c_uint,
10185        pendingMode: *mut raw::c_uint,
10186    ) -> nvmlReturn_t {
10187        (self
10188            .nvmlDeviceGetMigMode
10189            .as_ref()
10190            .expect("Expected function, got error."))(device, currentMode, pendingMode)
10191    }
10192    pub unsafe fn nvmlDeviceGetGpuInstanceProfileInfo(
10193        &self,
10194        device: nvmlDevice_t,
10195        profile: raw::c_uint,
10196        info: *mut nvmlGpuInstanceProfileInfo_t,
10197    ) -> nvmlReturn_t {
10198        (self
10199            .nvmlDeviceGetGpuInstanceProfileInfo
10200            .as_ref()
10201            .expect("Expected function, got error."))(device, profile, info)
10202    }
10203    pub unsafe fn nvmlDeviceGetGpuInstanceProfileInfoV(
10204        &self,
10205        device: nvmlDevice_t,
10206        profile: raw::c_uint,
10207        info: *mut nvmlGpuInstanceProfileInfo_v2_t,
10208    ) -> nvmlReturn_t {
10209        (self
10210            .nvmlDeviceGetGpuInstanceProfileInfoV
10211            .as_ref()
10212            .expect("Expected function, got error."))(device, profile, info)
10213    }
10214    pub unsafe fn nvmlDeviceGetGpuInstanceProfileInfoByIdV(
10215        &self,
10216        device: nvmlDevice_t,
10217        profileId: raw::c_uint,
10218        info: *mut nvmlGpuInstanceProfileInfo_v2_t,
10219    ) -> nvmlReturn_t {
10220        (self
10221            .nvmlDeviceGetGpuInstanceProfileInfoByIdV
10222            .as_ref()
10223            .expect("Expected function, got error."))(device, profileId, info)
10224    }
10225    pub unsafe fn nvmlDeviceGetGpuInstancePossiblePlacements_v2(
10226        &self,
10227        device: nvmlDevice_t,
10228        profileId: raw::c_uint,
10229        placements: *mut nvmlGpuInstancePlacement_t,
10230        count: *mut raw::c_uint,
10231    ) -> nvmlReturn_t {
10232        (self
10233            .nvmlDeviceGetGpuInstancePossiblePlacements_v2
10234            .as_ref()
10235            .expect("Expected function, got error."))(device, profileId, placements, count)
10236    }
10237    pub unsafe fn nvmlDeviceGetGpuInstanceRemainingCapacity(
10238        &self,
10239        device: nvmlDevice_t,
10240        profileId: raw::c_uint,
10241        count: *mut raw::c_uint,
10242    ) -> nvmlReturn_t {
10243        (self
10244            .nvmlDeviceGetGpuInstanceRemainingCapacity
10245            .as_ref()
10246            .expect("Expected function, got error."))(device, profileId, count)
10247    }
10248    pub unsafe fn nvmlDeviceCreateGpuInstance(
10249        &self,
10250        device: nvmlDevice_t,
10251        profileId: raw::c_uint,
10252        gpuInstance: *mut nvmlGpuInstance_t,
10253    ) -> nvmlReturn_t {
10254        (self
10255            .nvmlDeviceCreateGpuInstance
10256            .as_ref()
10257            .expect("Expected function, got error."))(device, profileId, gpuInstance)
10258    }
10259    pub unsafe fn nvmlDeviceCreateGpuInstanceWithPlacement(
10260        &self,
10261        device: nvmlDevice_t,
10262        profileId: raw::c_uint,
10263        placement: *const nvmlGpuInstancePlacement_t,
10264        gpuInstance: *mut nvmlGpuInstance_t,
10265    ) -> nvmlReturn_t {
10266        (self
10267            .nvmlDeviceCreateGpuInstanceWithPlacement
10268            .as_ref()
10269            .expect("Expected function, got error."))(
10270            device, profileId, placement, gpuInstance
10271        )
10272    }
10273    pub unsafe fn nvmlGpuInstanceDestroy(&self, gpuInstance: nvmlGpuInstance_t) -> nvmlReturn_t {
10274        (self
10275            .nvmlGpuInstanceDestroy
10276            .as_ref()
10277            .expect("Expected function, got error."))(gpuInstance)
10278    }
10279    pub unsafe fn nvmlDeviceGetGpuInstances(
10280        &self,
10281        device: nvmlDevice_t,
10282        profileId: raw::c_uint,
10283        gpuInstances: *mut nvmlGpuInstance_t,
10284        count: *mut raw::c_uint,
10285    ) -> nvmlReturn_t {
10286        (self
10287            .nvmlDeviceGetGpuInstances
10288            .as_ref()
10289            .expect("Expected function, got error."))(device, profileId, gpuInstances, count)
10290    }
10291    pub unsafe fn nvmlDeviceGetGpuInstanceById(
10292        &self,
10293        device: nvmlDevice_t,
10294        id: raw::c_uint,
10295        gpuInstance: *mut nvmlGpuInstance_t,
10296    ) -> nvmlReturn_t {
10297        (self
10298            .nvmlDeviceGetGpuInstanceById
10299            .as_ref()
10300            .expect("Expected function, got error."))(device, id, gpuInstance)
10301    }
10302    pub unsafe fn nvmlGpuInstanceGetInfo(
10303        &self,
10304        gpuInstance: nvmlGpuInstance_t,
10305        info: *mut nvmlGpuInstanceInfo_t,
10306    ) -> nvmlReturn_t {
10307        (self
10308            .nvmlGpuInstanceGetInfo
10309            .as_ref()
10310            .expect("Expected function, got error."))(gpuInstance, info)
10311    }
10312    pub unsafe fn nvmlGpuInstanceGetComputeInstanceProfileInfo(
10313        &self,
10314        gpuInstance: nvmlGpuInstance_t,
10315        profile: raw::c_uint,
10316        engProfile: raw::c_uint,
10317        info: *mut nvmlComputeInstanceProfileInfo_t,
10318    ) -> nvmlReturn_t {
10319        (self
10320            .nvmlGpuInstanceGetComputeInstanceProfileInfo
10321            .as_ref()
10322            .expect("Expected function, got error."))(gpuInstance, profile, engProfile, info)
10323    }
10324    pub unsafe fn nvmlGpuInstanceGetComputeInstanceProfileInfoV(
10325        &self,
10326        gpuInstance: nvmlGpuInstance_t,
10327        profile: raw::c_uint,
10328        engProfile: raw::c_uint,
10329        info: *mut nvmlComputeInstanceProfileInfo_v2_t,
10330    ) -> nvmlReturn_t {
10331        (self
10332            .nvmlGpuInstanceGetComputeInstanceProfileInfoV
10333            .as_ref()
10334            .expect("Expected function, got error."))(gpuInstance, profile, engProfile, info)
10335    }
10336    pub unsafe fn nvmlGpuInstanceGetComputeInstanceRemainingCapacity(
10337        &self,
10338        gpuInstance: nvmlGpuInstance_t,
10339        profileId: raw::c_uint,
10340        count: *mut raw::c_uint,
10341    ) -> nvmlReturn_t {
10342        (self
10343            .nvmlGpuInstanceGetComputeInstanceRemainingCapacity
10344            .as_ref()
10345            .expect("Expected function, got error."))(gpuInstance, profileId, count)
10346    }
10347    pub unsafe fn nvmlGpuInstanceGetComputeInstancePossiblePlacements(
10348        &self,
10349        gpuInstance: nvmlGpuInstance_t,
10350        profileId: raw::c_uint,
10351        placements: *mut nvmlComputeInstancePlacement_t,
10352        count: *mut raw::c_uint,
10353    ) -> nvmlReturn_t {
10354        (self
10355            .nvmlGpuInstanceGetComputeInstancePossiblePlacements
10356            .as_ref()
10357            .expect("Expected function, got error."))(
10358            gpuInstance, profileId, placements, count
10359        )
10360    }
10361    pub unsafe fn nvmlGpuInstanceCreateComputeInstance(
10362        &self,
10363        gpuInstance: nvmlGpuInstance_t,
10364        profileId: raw::c_uint,
10365        computeInstance: *mut nvmlComputeInstance_t,
10366    ) -> nvmlReturn_t {
10367        (self
10368            .nvmlGpuInstanceCreateComputeInstance
10369            .as_ref()
10370            .expect("Expected function, got error."))(
10371            gpuInstance, profileId, computeInstance
10372        )
10373    }
10374    pub unsafe fn nvmlGpuInstanceCreateComputeInstanceWithPlacement(
10375        &self,
10376        gpuInstance: nvmlGpuInstance_t,
10377        profileId: raw::c_uint,
10378        placement: *const nvmlComputeInstancePlacement_t,
10379        computeInstance: *mut nvmlComputeInstance_t,
10380    ) -> nvmlReturn_t {
10381        (self
10382            .nvmlGpuInstanceCreateComputeInstanceWithPlacement
10383            .as_ref()
10384            .expect("Expected function, got error."))(
10385            gpuInstance,
10386            profileId,
10387            placement,
10388            computeInstance,
10389        )
10390    }
10391    pub unsafe fn nvmlComputeInstanceDestroy(
10392        &self,
10393        computeInstance: nvmlComputeInstance_t,
10394    ) -> nvmlReturn_t {
10395        (self
10396            .nvmlComputeInstanceDestroy
10397            .as_ref()
10398            .expect("Expected function, got error."))(computeInstance)
10399    }
10400    pub unsafe fn nvmlGpuInstanceGetComputeInstances(
10401        &self,
10402        gpuInstance: nvmlGpuInstance_t,
10403        profileId: raw::c_uint,
10404        computeInstances: *mut nvmlComputeInstance_t,
10405        count: *mut raw::c_uint,
10406    ) -> nvmlReturn_t {
10407        (self
10408            .nvmlGpuInstanceGetComputeInstances
10409            .as_ref()
10410            .expect("Expected function, got error."))(
10411            gpuInstance,
10412            profileId,
10413            computeInstances,
10414            count,
10415        )
10416    }
10417    pub unsafe fn nvmlGpuInstanceGetComputeInstanceById(
10418        &self,
10419        gpuInstance: nvmlGpuInstance_t,
10420        id: raw::c_uint,
10421        computeInstance: *mut nvmlComputeInstance_t,
10422    ) -> nvmlReturn_t {
10423        (self
10424            .nvmlGpuInstanceGetComputeInstanceById
10425            .as_ref()
10426            .expect("Expected function, got error."))(gpuInstance, id, computeInstance)
10427    }
10428    pub unsafe fn nvmlComputeInstanceGetInfo_v2(
10429        &self,
10430        computeInstance: nvmlComputeInstance_t,
10431        info: *mut nvmlComputeInstanceInfo_t,
10432    ) -> nvmlReturn_t {
10433        (self
10434            .nvmlComputeInstanceGetInfo_v2
10435            .as_ref()
10436            .expect("Expected function, got error."))(computeInstance, info)
10437    }
10438    pub unsafe fn nvmlDeviceIsMigDeviceHandle(
10439        &self,
10440        device: nvmlDevice_t,
10441        isMigDevice: *mut raw::c_uint,
10442    ) -> nvmlReturn_t {
10443        (self
10444            .nvmlDeviceIsMigDeviceHandle
10445            .as_ref()
10446            .expect("Expected function, got error."))(device, isMigDevice)
10447    }
10448    pub unsafe fn nvmlDeviceGetGpuInstanceId(
10449        &self,
10450        device: nvmlDevice_t,
10451        id: *mut raw::c_uint,
10452    ) -> nvmlReturn_t {
10453        (self
10454            .nvmlDeviceGetGpuInstanceId
10455            .as_ref()
10456            .expect("Expected function, got error."))(device, id)
10457    }
10458    pub unsafe fn nvmlDeviceGetComputeInstanceId(
10459        &self,
10460        device: nvmlDevice_t,
10461        id: *mut raw::c_uint,
10462    ) -> nvmlReturn_t {
10463        (self
10464            .nvmlDeviceGetComputeInstanceId
10465            .as_ref()
10466            .expect("Expected function, got error."))(device, id)
10467    }
10468    pub unsafe fn nvmlDeviceGetMaxMigDeviceCount(
10469        &self,
10470        device: nvmlDevice_t,
10471        count: *mut raw::c_uint,
10472    ) -> nvmlReturn_t {
10473        (self
10474            .nvmlDeviceGetMaxMigDeviceCount
10475            .as_ref()
10476            .expect("Expected function, got error."))(device, count)
10477    }
10478    pub unsafe fn nvmlDeviceGetMigDeviceHandleByIndex(
10479        &self,
10480        device: nvmlDevice_t,
10481        index: raw::c_uint,
10482        migDevice: *mut nvmlDevice_t,
10483    ) -> nvmlReturn_t {
10484        (self
10485            .nvmlDeviceGetMigDeviceHandleByIndex
10486            .as_ref()
10487            .expect("Expected function, got error."))(device, index, migDevice)
10488    }
10489    pub unsafe fn nvmlDeviceGetDeviceHandleFromMigDeviceHandle(
10490        &self,
10491        migDevice: nvmlDevice_t,
10492        device: *mut nvmlDevice_t,
10493    ) -> nvmlReturn_t {
10494        (self
10495            .nvmlDeviceGetDeviceHandleFromMigDeviceHandle
10496            .as_ref()
10497            .expect("Expected function, got error."))(migDevice, device)
10498    }
10499    pub unsafe fn nvmlGpmMetricsGet(&self, metricsGet: *mut nvmlGpmMetricsGet_t) -> nvmlReturn_t {
10500        (self
10501            .nvmlGpmMetricsGet
10502            .as_ref()
10503            .expect("Expected function, got error."))(metricsGet)
10504    }
10505    pub unsafe fn nvmlGpmSampleFree(&self, gpmSample: nvmlGpmSample_t) -> nvmlReturn_t {
10506        (self
10507            .nvmlGpmSampleFree
10508            .as_ref()
10509            .expect("Expected function, got error."))(gpmSample)
10510    }
10511    pub unsafe fn nvmlGpmSampleAlloc(&self, gpmSample: *mut nvmlGpmSample_t) -> nvmlReturn_t {
10512        (self
10513            .nvmlGpmSampleAlloc
10514            .as_ref()
10515            .expect("Expected function, got error."))(gpmSample)
10516    }
10517    pub unsafe fn nvmlGpmSampleGet(
10518        &self,
10519        device: nvmlDevice_t,
10520        gpmSample: nvmlGpmSample_t,
10521    ) -> nvmlReturn_t {
10522        (self
10523            .nvmlGpmSampleGet
10524            .as_ref()
10525            .expect("Expected function, got error."))(device, gpmSample)
10526    }
10527    pub unsafe fn nvmlGpmMigSampleGet(
10528        &self,
10529        device: nvmlDevice_t,
10530        gpuInstanceId: raw::c_uint,
10531        gpmSample: nvmlGpmSample_t,
10532    ) -> nvmlReturn_t {
10533        (self
10534            .nvmlGpmMigSampleGet
10535            .as_ref()
10536            .expect("Expected function, got error."))(device, gpuInstanceId, gpmSample)
10537    }
10538    pub unsafe fn nvmlGpmQueryDeviceSupport(
10539        &self,
10540        device: nvmlDevice_t,
10541        gpmSupport: *mut nvmlGpmSupport_t,
10542    ) -> nvmlReturn_t {
10543        (self
10544            .nvmlGpmQueryDeviceSupport
10545            .as_ref()
10546            .expect("Expected function, got error."))(device, gpmSupport)
10547    }
10548    pub unsafe fn nvmlGpmQueryIfStreamingEnabled(
10549        &self,
10550        device: nvmlDevice_t,
10551        state: *mut raw::c_uint,
10552    ) -> nvmlReturn_t {
10553        (self
10554            .nvmlGpmQueryIfStreamingEnabled
10555            .as_ref()
10556            .expect("Expected function, got error."))(device, state)
10557    }
10558    pub unsafe fn nvmlGpmSetStreamingEnabled(
10559        &self,
10560        device: nvmlDevice_t,
10561        state: raw::c_uint,
10562    ) -> nvmlReturn_t {
10563        (self
10564            .nvmlGpmSetStreamingEnabled
10565            .as_ref()
10566            .expect("Expected function, got error."))(device, state)
10567    }
10568    pub unsafe fn nvmlDeviceGetCapabilities(
10569        &self,
10570        device: nvmlDevice_t,
10571        caps: *mut nvmlDeviceCapabilities_t,
10572    ) -> nvmlReturn_t {
10573        (self
10574            .nvmlDeviceGetCapabilities
10575            .as_ref()
10576            .expect("Expected function, got error."))(device, caps)
10577    }
10578    pub unsafe fn nvmlDeviceWorkloadPowerProfileGetProfilesInfo(
10579        &self,
10580        device: nvmlDevice_t,
10581        profilesInfo: *mut nvmlWorkloadPowerProfileProfilesInfo_t,
10582    ) -> nvmlReturn_t {
10583        (self
10584            .nvmlDeviceWorkloadPowerProfileGetProfilesInfo
10585            .as_ref()
10586            .expect("Expected function, got error."))(device, profilesInfo)
10587    }
10588    pub unsafe fn nvmlDeviceWorkloadPowerProfileGetCurrentProfiles(
10589        &self,
10590        device: nvmlDevice_t,
10591        currentProfiles: *mut nvmlWorkloadPowerProfileCurrentProfiles_t,
10592    ) -> nvmlReturn_t {
10593        (self
10594            .nvmlDeviceWorkloadPowerProfileGetCurrentProfiles
10595            .as_ref()
10596            .expect("Expected function, got error."))(device, currentProfiles)
10597    }
10598    pub unsafe fn nvmlDeviceWorkloadPowerProfileSetRequestedProfiles(
10599        &self,
10600        device: nvmlDevice_t,
10601        requestedProfiles: *mut nvmlWorkloadPowerProfileRequestedProfiles_t,
10602    ) -> nvmlReturn_t {
10603        (self
10604            .nvmlDeviceWorkloadPowerProfileSetRequestedProfiles
10605            .as_ref()
10606            .expect("Expected function, got error."))(device, requestedProfiles)
10607    }
10608    pub unsafe fn nvmlDeviceWorkloadPowerProfileClearRequestedProfiles(
10609        &self,
10610        device: nvmlDevice_t,
10611        requestedProfiles: *mut nvmlWorkloadPowerProfileRequestedProfiles_t,
10612    ) -> nvmlReturn_t {
10613        (self
10614            .nvmlDeviceWorkloadPowerProfileClearRequestedProfiles
10615            .as_ref()
10616            .expect("Expected function, got error."))(device, requestedProfiles)
10617    }
10618    pub unsafe fn nvmlDevicePowerSmoothingActivatePresetProfile(
10619        &self,
10620        device: nvmlDevice_t,
10621        profile: *mut nvmlPowerSmoothingProfile_t,
10622    ) -> nvmlReturn_t {
10623        (self
10624            .nvmlDevicePowerSmoothingActivatePresetProfile
10625            .as_ref()
10626            .expect("Expected function, got error."))(device, profile)
10627    }
10628    pub unsafe fn nvmlDevicePowerSmoothingUpdatePresetProfileParam(
10629        &self,
10630        device: nvmlDevice_t,
10631        profile: *mut nvmlPowerSmoothingProfile_t,
10632    ) -> nvmlReturn_t {
10633        (self
10634            .nvmlDevicePowerSmoothingUpdatePresetProfileParam
10635            .as_ref()
10636            .expect("Expected function, got error."))(device, profile)
10637    }
10638    pub unsafe fn nvmlDevicePowerSmoothingSetState(
10639        &self,
10640        device: nvmlDevice_t,
10641        state: *mut nvmlPowerSmoothingState_t,
10642    ) -> nvmlReturn_t {
10643        (self
10644            .nvmlDevicePowerSmoothingSetState
10645            .as_ref()
10646            .expect("Expected function, got error."))(device, state)
10647    }
10648    pub unsafe fn nvmlDeviceGetSramUniqueUncorrectedEccErrorCounts(
10649        &self,
10650        device: nvmlDevice_t,
10651        errorCounts: *mut nvmlEccSramUniqueUncorrectedErrorCounts_t,
10652    ) -> nvmlReturn_t {
10653        (self
10654            .nvmlDeviceGetSramUniqueUncorrectedEccErrorCounts
10655            .as_ref()
10656            .expect("Expected function, got error."))(device, errorCounts)
10657    }
10658    #[cfg(feature = "legacy-functions")]
10659    pub unsafe fn nvmlInit(&self) -> nvmlReturn_t {
10660        (self
10661            .nvmlInit
10662            .as_ref()
10663            .expect("Expected function, got error."))()
10664    }
10665    #[cfg(feature = "legacy-functions")]
10666    pub unsafe fn nvmlDeviceGetCount(&self, deviceCount: *mut raw::c_uint) -> nvmlReturn_t {
10667        (self
10668            .nvmlDeviceGetCount
10669            .as_ref()
10670            .expect("Expected function, got error."))(deviceCount)
10671    }
10672    #[cfg(feature = "legacy-functions")]
10673    pub unsafe fn nvmlDeviceGetHandleByIndex(
10674        &self,
10675        index: raw::c_uint,
10676        device: *mut nvmlDevice_t,
10677    ) -> nvmlReturn_t {
10678        (self
10679            .nvmlDeviceGetHandleByIndex
10680            .as_ref()
10681            .expect("Expected function, got error."))(index, device)
10682    }
10683    #[cfg(feature = "legacy-functions")]
10684    pub unsafe fn nvmlDeviceGetHandleByPciBusId(
10685        &self,
10686        pciBusId: *const raw::c_char,
10687        device: *mut nvmlDevice_t,
10688    ) -> nvmlReturn_t {
10689        (self
10690            .nvmlDeviceGetHandleByPciBusId
10691            .as_ref()
10692            .expect("Expected function, got error."))(pciBusId, device)
10693    }
10694    #[cfg(feature = "legacy-functions")]
10695    pub unsafe fn nvmlDeviceGetPciInfo(
10696        &self,
10697        device: nvmlDevice_t,
10698        pci: *mut nvmlPciInfo_t,
10699    ) -> nvmlReturn_t {
10700        (self
10701            .nvmlDeviceGetPciInfo
10702            .as_ref()
10703            .expect("Expected function, got error."))(device, pci)
10704    }
10705    #[cfg(feature = "legacy-functions")]
10706    pub unsafe fn nvmlDeviceGetPciInfo_v2(
10707        &self,
10708        device: nvmlDevice_t,
10709        pci: *mut nvmlPciInfo_t,
10710    ) -> nvmlReturn_t {
10711        (self
10712            .nvmlDeviceGetPciInfo_v2
10713            .as_ref()
10714            .expect("Expected function, got error."))(device, pci)
10715    }
10716    #[cfg(feature = "legacy-functions")]
10717    pub unsafe fn nvmlDeviceGetNvLinkRemotePciInfo(
10718        &self,
10719        device: nvmlDevice_t,
10720        link: raw::c_uint,
10721        pci: *mut nvmlPciInfo_t,
10722    ) -> nvmlReturn_t {
10723        (self
10724            .nvmlDeviceGetNvLinkRemotePciInfo
10725            .as_ref()
10726            .expect("Expected function, got error."))(device, link, pci)
10727    }
10728    #[cfg(feature = "legacy-functions")]
10729    pub unsafe fn nvmlDeviceGetGridLicensableFeatures(
10730        &self,
10731        device: nvmlDevice_t,
10732        pGridLicensableFeatures: *mut nvmlGridLicensableFeatures_t,
10733    ) -> nvmlReturn_t {
10734        (self
10735            .nvmlDeviceGetGridLicensableFeatures
10736            .as_ref()
10737            .expect("Expected function, got error."))(device, pGridLicensableFeatures)
10738    }
10739    #[cfg(feature = "legacy-functions")]
10740    pub unsafe fn nvmlDeviceGetGridLicensableFeatures_v2(
10741        &self,
10742        device: nvmlDevice_t,
10743        pGridLicensableFeatures: *mut nvmlGridLicensableFeatures_t,
10744    ) -> nvmlReturn_t {
10745        (self
10746            .nvmlDeviceGetGridLicensableFeatures_v2
10747            .as_ref()
10748            .expect("Expected function, got error."))(device, pGridLicensableFeatures)
10749    }
10750    #[cfg(feature = "legacy-functions")]
10751    pub unsafe fn nvmlDeviceGetGridLicensableFeatures_v3(
10752        &self,
10753        device: nvmlDevice_t,
10754        pGridLicensableFeatures: *mut nvmlGridLicensableFeatures_t,
10755    ) -> nvmlReturn_t {
10756        (self
10757            .nvmlDeviceGetGridLicensableFeatures_v3
10758            .as_ref()
10759            .expect("Expected function, got error."))(device, pGridLicensableFeatures)
10760    }
10761    #[cfg(feature = "legacy-functions")]
10762    pub unsafe fn nvmlDeviceRemoveGpu(&self, pciInfo: *mut nvmlPciInfo_t) -> nvmlReturn_t {
10763        (self
10764            .nvmlDeviceRemoveGpu
10765            .as_ref()
10766            .expect("Expected function, got error."))(pciInfo)
10767    }
10768    #[cfg(feature = "legacy-functions")]
10769    pub unsafe fn nvmlEventSetWait(
10770        &self,
10771        set: nvmlEventSet_t,
10772        data: *mut nvmlEventData_t,
10773        timeoutms: raw::c_uint,
10774    ) -> nvmlReturn_t {
10775        (self
10776            .nvmlEventSetWait
10777            .as_ref()
10778            .expect("Expected function, got error."))(set, data, timeoutms)
10779    }
10780    #[cfg(feature = "legacy-functions")]
10781    pub unsafe fn nvmlDeviceGetAttributes(
10782        &self,
10783        device: nvmlDevice_t,
10784        attributes: *mut nvmlDeviceAttributes_t,
10785    ) -> nvmlReturn_t {
10786        (self
10787            .nvmlDeviceGetAttributes
10788            .as_ref()
10789            .expect("Expected function, got error."))(device, attributes)
10790    }
10791    #[cfg(feature = "legacy-functions")]
10792    pub unsafe fn nvmlComputeInstanceGetInfo(
10793        &self,
10794        computeInstance: nvmlComputeInstance_t,
10795        info: *mut nvmlComputeInstanceInfo_t,
10796    ) -> nvmlReturn_t {
10797        (self
10798            .nvmlComputeInstanceGetInfo
10799            .as_ref()
10800            .expect("Expected function, got error."))(computeInstance, info)
10801    }
10802    #[cfg(feature = "legacy-functions")]
10803    pub unsafe fn nvmlDeviceGetComputeRunningProcesses(
10804        &self,
10805        device: nvmlDevice_t,
10806        infoCount: *mut raw::c_uint,
10807        infos: *mut nvmlProcessInfo_v1_t,
10808    ) -> nvmlReturn_t {
10809        (self
10810            .nvmlDeviceGetComputeRunningProcesses
10811            .as_ref()
10812            .expect("Expected function, got error."))(device, infoCount, infos)
10813    }
10814    #[cfg(feature = "legacy-functions")]
10815    pub unsafe fn nvmlDeviceGetComputeRunningProcesses_v2(
10816        &self,
10817        device: nvmlDevice_t,
10818        infoCount: *mut raw::c_uint,
10819        infos: *mut nvmlProcessInfo_v2_t,
10820    ) -> nvmlReturn_t {
10821        (self
10822            .nvmlDeviceGetComputeRunningProcesses_v2
10823            .as_ref()
10824            .expect("Expected function, got error."))(device, infoCount, infos)
10825    }
10826    #[cfg(feature = "legacy-functions")]
10827    pub unsafe fn nvmlDeviceGetGraphicsRunningProcesses(
10828        &self,
10829        device: nvmlDevice_t,
10830        infoCount: *mut raw::c_uint,
10831        infos: *mut nvmlProcessInfo_v1_t,
10832    ) -> nvmlReturn_t {
10833        (self
10834            .nvmlDeviceGetGraphicsRunningProcesses
10835            .as_ref()
10836            .expect("Expected function, got error."))(device, infoCount, infos)
10837    }
10838    #[cfg(feature = "legacy-functions")]
10839    pub unsafe fn nvmlDeviceGetGraphicsRunningProcesses_v2(
10840        &self,
10841        device: nvmlDevice_t,
10842        infoCount: *mut raw::c_uint,
10843        infos: *mut nvmlProcessInfo_v2_t,
10844    ) -> nvmlReturn_t {
10845        (self
10846            .nvmlDeviceGetGraphicsRunningProcesses_v2
10847            .as_ref()
10848            .expect("Expected function, got error."))(device, infoCount, infos)
10849    }
10850    #[cfg(feature = "legacy-functions")]
10851    pub unsafe fn nvmlDeviceGetMPSComputeRunningProcesses(
10852        &self,
10853        device: nvmlDevice_t,
10854        infoCount: *mut raw::c_uint,
10855        infos: *mut nvmlProcessInfo_v1_t,
10856    ) -> nvmlReturn_t {
10857        (self
10858            .nvmlDeviceGetMPSComputeRunningProcesses
10859            .as_ref()
10860            .expect("Expected function, got error."))(device, infoCount, infos)
10861    }
10862    #[cfg(feature = "legacy-functions")]
10863    pub unsafe fn nvmlDeviceGetMPSComputeRunningProcesses_v2(
10864        &self,
10865        device: nvmlDevice_t,
10866        infoCount: *mut raw::c_uint,
10867        infos: *mut nvmlProcessInfo_v2_t,
10868    ) -> nvmlReturn_t {
10869        (self
10870            .nvmlDeviceGetMPSComputeRunningProcesses_v2
10871            .as_ref()
10872            .expect("Expected function, got error."))(device, infoCount, infos)
10873    }
10874    #[cfg(feature = "legacy-functions")]
10875    pub unsafe fn nvmlDeviceGetGpuInstancePossiblePlacements(
10876        &self,
10877        device: nvmlDevice_t,
10878        profileId: raw::c_uint,
10879        placements: *mut nvmlGpuInstancePlacement_t,
10880        count: *mut raw::c_uint,
10881    ) -> nvmlReturn_t {
10882        (self
10883            .nvmlDeviceGetGpuInstancePossiblePlacements
10884            .as_ref()
10885            .expect("Expected function, got error."))(device, profileId, placements, count)
10886    }
10887    #[cfg(feature = "legacy-functions")]
10888    pub unsafe fn nvmlVgpuInstanceGetLicenseInfo(
10889        &self,
10890        vgpuInstance: nvmlVgpuInstance_t,
10891        licenseInfo: *mut nvmlVgpuLicenseInfo_t,
10892    ) -> nvmlReturn_t {
10893        (self
10894            .nvmlVgpuInstanceGetLicenseInfo
10895            .as_ref()
10896            .expect("Expected function, got error."))(vgpuInstance, licenseInfo)
10897    }
10898    pub unsafe fn nvmlDeviceGetDriverModel(
10899        &self,
10900        device: nvmlDevice_t,
10901        current: *mut nvmlDriverModel_t,
10902        pending: *mut nvmlDriverModel_t,
10903    ) -> nvmlReturn_t {
10904        (self
10905            .nvmlDeviceGetDriverModel
10906            .as_ref()
10907            .expect("Expected function, got error."))(device, current, pending)
10908    }
10909}