Changes to be committed:
modified: Cargo.lock modified: Cargo.toml new file: src/disk_util/mod.rs modified: src/main.rs Changes not staged for commit: deleted: src/disk_util/mod.rs modified: src/main.rs Untracked files: src/disk_util.rs src/ipod_util.rs
This commit is contained in:
parent
026a09722b
commit
0ec9755b7d
47
Cargo.lock
generated
47
Cargo.lock
generated
@ -1,6 +1,15 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
version = 4
|
||||
|
||||
[[package]]
|
||||
name = "aho-corasick"
|
||||
version = "1.1.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
@ -15,6 +24,7 @@ dependencies = [
|
||||
name = "iloader"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"regex",
|
||||
"rusb",
|
||||
]
|
||||
|
||||
@ -36,12 +46,47 @@ dependencies = [
|
||||
"vcpkg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.7.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
|
||||
|
||||
[[package]]
|
||||
name = "pkg-config"
|
||||
version = "0.3.31"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2"
|
||||
|
||||
[[package]]
|
||||
name = "regex"
|
||||
version = "1.11.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"memchr",
|
||||
"regex-automata",
|
||||
"regex-syntax",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "regex-automata"
|
||||
version = "0.4.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"memchr",
|
||||
"regex-syntax",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "regex-syntax"
|
||||
version = "0.8.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
|
||||
|
||||
[[package]]
|
||||
name = "rusb"
|
||||
version = "0.9.4"
|
||||
|
@ -5,3 +5,4 @@ edition = "2021"
|
||||
|
||||
[dependencies]
|
||||
rusb = "0.9.4"
|
||||
regex = "1.11.1"
|
19
src/disk_util/mod.rs
Normal file
19
src/disk_util/mod.rs
Normal file
@ -0,0 +1,19 @@
|
||||
use core::str;
|
||||
use std::process::Command;
|
||||
|
||||
use regex::Regex;
|
||||
|
||||
pub fn list() {
|
||||
let r = Command::new("diskutil")
|
||||
.arg("list")
|
||||
.output()
|
||||
.expect("failed to access Disk Utility");
|
||||
if !r.status.success() { panic!("Unable to get result from Disk Utility"); }
|
||||
let a = str::from_utf8(&r.stdout).unwrap();
|
||||
for cap in Regex::new(r"\/dev\/.+\(external\, physical\):").unwrap().find_iter(a) {
|
||||
println!("{:#?}", cap);
|
||||
let b = &a[cap.end()..];
|
||||
// split the string and get before double \n.
|
||||
// then parse using diskutil info /dev/disk2
|
||||
}
|
||||
}
|
14
src/main.rs
14
src/main.rs
@ -1,13 +1,15 @@
|
||||
use rusb::{Device, DeviceDescriptor, GlobalContext};
|
||||
|
||||
mod disk_util;
|
||||
|
||||
const VENDOR_ID: u16 = 1452;
|
||||
const PRODUCT_ID: u16 = 4617;
|
||||
|
||||
fn main() {
|
||||
// vendor_id: 3141
|
||||
// product_id: 32777
|
||||
|
||||
loop {
|
||||
for device in rusb::devices().unwrap().iter() {
|
||||
let device_desc = device.device_descriptor().unwrap();
|
||||
println!("VendorId: {:?}; productId: {:?}", device_desc.vendor_id(), device_desc.product_id());
|
||||
if VENDOR_ID == device_desc.vendor_id() && PRODUCT_ID == device_desc.product_id() {
|
||||
println!("FOUND!");
|
||||
disk_util::list();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user