1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
extern crate nbd;
use std::io::{Read, Result, Seek, SeekFrom, Write};
use std::net::TcpStream;
use nbd::client::{handshake, NbdClient};
/// Read second 1024-byte block from an NBD export named "sda1"
fn run() -> Result<()> {
let mut buf = vec![0; 1024];
let mut tcp = TcpStream::connect("127.0.0.1:10809")?;
let export = handshake(&mut tcp, b"sda1")?;
let mut client = NbdClient::new(&mut tcp, &export);
client.seek(SeekFrom::Start(1024))?;
client.read_exact(&mut buf[..])?;
std::io::stdout().write_all(&buf[..])?;
Ok(())
}
fn main() {
run().unwrap();
}
|