Merge pull request #1 from EFForg/build-config

Build config
This commit is contained in:
Cooper Quintin
2023-11-08 17:26:30 -08:00
committed by GitHub
2 changed files with 14 additions and 16 deletions

6
.cargo/config.toml Normal file
View File

@@ -0,0 +1,6 @@
[build]
target = "armv7-unknown-linux-gnueabihf"
rustflags = ["-C", "target-feature=+crt-static"]
[target.armv7-unknown-linux-gnueabihf]
linker = "arm-linux-gnueabihf-gcc"

View File

@@ -2,29 +2,21 @@ use std::fs::File;
use std::mem;
use std::os::unix::io::AsRawFd;
fn main() {
const DIAG_IOCTL_SWITCH_LOGGING: u32 = 7;
fn main() -> std::io::Result<()> {
const DIAG_IOCTL_SWITCH_LOGGING: u32 = 7;
const MEMORY_DEVICE_MODE: i32 = 2;
const DIAG_IOCTL_REMOTE_DEV: u32 = 32;
let mut mode_param: [i32; 3] = [MEMORY_DEVICE_MODE, -1, 0]; // diag_logging_mode_param_t
let use_mdm: i32 = 0;
let diag_fd: i32;
println!("Initializing DIAG");
let diag_result = File::options().read(true).write(true).open("/dev/diag");
match &diag_result {
Ok(file) => {
diag_fd = file.as_raw_fd();
}
Err(_) => {
println!("error opening diag device.");
std::process::exit(1);
}
}
let diag_file = File::options()
.read(true)
.write(true)
.open("/dev/diag")?;
let diag_fd = diag_file.as_raw_fd();
unsafe {
if libc::ioctl(diag_fd, DIAG_IOCTL_SWITCH_LOGGING, MEMORY_DEVICE_MODE, 0, 0, 0) < 0
@@ -40,7 +32,6 @@ fn main() {
}
}
unsafe {
if libc::ioctl(diag_fd, DIAG_IOCTL_REMOTE_DEV, &use_mdm as *const i32) < 0 {
println!("ioctl failed 2");
@@ -50,4 +41,5 @@ fn main() {
println!("successfully opened diag device");
Ok(())
}