tape: improve code docs
This commit is contained in:
@ -1,3 +1,5 @@
|
||||
//! Driver for Linux SCSI tapes
|
||||
|
||||
use std::fs::{OpenOptions, File};
|
||||
use std::os::unix::fs::OpenOptionsExt;
|
||||
use std::os::unix::io::{AsRawFd, FromRawFd};
|
||||
@ -49,12 +51,18 @@ use crate::{
|
||||
}
|
||||
};
|
||||
|
||||
/// Linux tape drive status
|
||||
#[derive(Debug)]
|
||||
pub struct LinuxDriveStatus {
|
||||
/// Size 0 is variable block size mode (default)
|
||||
pub blocksize: u32,
|
||||
/// Drive status flags
|
||||
pub status: GMTStatusFlags,
|
||||
/// Tape densitiy code (if drive media loaded)
|
||||
pub density: Option<TapeDensity>,
|
||||
/// Current file position if known (or -1)
|
||||
pub file_number: Option<u32>,
|
||||
/// Current block number if known (or -1)
|
||||
pub block_number: Option<u32>,
|
||||
}
|
||||
|
||||
|
@ -114,6 +114,7 @@ fn read_tape_mam<F: AsRawFd>(file: &mut F) -> Result<Vec<u8>, Error> {
|
||||
.map(|v| v.to_vec())
|
||||
}
|
||||
|
||||
/// Read Medium auxiliary memory attributes (cartridge memory) using raw SCSI command.
|
||||
pub fn read_mam_attributes<F: AsRawFd>(file: &mut F) -> Result<Vec<MamAttribute>, Error> {
|
||||
|
||||
let data = read_tape_mam(file)?;
|
||||
|
@ -269,6 +269,7 @@ pub fn required_media_changer(
|
||||
}
|
||||
}
|
||||
|
||||
/// Opens a tape drive (this fails if there is no media loaded)
|
||||
pub fn open_drive(
|
||||
config: &SectionConfigData,
|
||||
drive: &str,
|
||||
|
@ -58,6 +58,8 @@ struct LpParameterHeader {
|
||||
parameter_len: u8,
|
||||
}
|
||||
|
||||
|
||||
/// Volume statistics from SCSI log page 17h
|
||||
#[derive(Default, Serialize, Deserialize)]
|
||||
pub struct Lp17VolumeStatistics {
|
||||
pub volume_mounts: u64,
|
||||
|
Reference in New Issue
Block a user