use std::ffi::*; use rust_hysmi::smi::rocm_smi; fn main() { unsafe { let stat = rocm_smi::rsmi_init(0); assert_eq!(stat, 0); let mut build = vec![0u8; 256]; let mut version:rocm_smi::rsmi_version_t = rocm_smi::rsmi_version_t{ major: 0, minor: 0, patch: 0, build: build.as_mut_ptr() as *const c_char, }; let stat = rocm_smi::rsmi_version_get(&mut version); assert_eq!(stat, 0); println!("ROCM SMI Version: {}.{}.{}-{}", version.major, version.minor, version.patch, CStr::from_ptr(version.build).to_string_lossy()); let mut num_devices = 0; rocm_smi::rsmi_num_monitor_devices(&mut num_devices); println!("Number of devices: {}", num_devices); let stat = rocm_smi::rsmi_shut_down(); assert_eq!(stat, 0); } }