pub struct Disc { /* private fields */ }Expand description
An open disc image and read stream.
This is the primary entry point for reading disc images.
Implementations§
source§impl Disc
impl Disc
sourcepub fn new_with_options<P: AsRef<Path>>(
path: P,
options: &OpenOptions
) -> Result<Disc>
pub fn new_with_options<P: AsRef<Path>>( path: P, options: &OpenOptions ) -> Result<Disc>
Opens a disc image from a file path with custom options.
sourcepub fn header(&self) -> &DiscHeader
pub fn header(&self) -> &DiscHeader
The disc’s primary header.
sourcepub fn meta(&self) -> DiscMeta
pub fn meta(&self) -> DiscMeta
Returns extra metadata included in the disc file format, if any.
sourcepub fn disc_size(&self) -> u64
pub fn disc_size(&self) -> u64
The disc’s size in bytes, or an estimate if not stored by the format.
sourcepub fn partitions(&self) -> &[PartitionInfo]
pub fn partitions(&self) -> &[PartitionInfo]
A list of Wii partitions on the disc.
GameCube: This will return an empty slice.
sourcepub fn open_partition(&self, index: usize) -> Result<Box<dyn PartitionBase>>
pub fn open_partition(&self, index: usize) -> Result<Box<dyn PartitionBase>>
Opens a decrypted partition read stream for the specified partition index.
GameCube: index must always be 0.
sourcepub fn open_partition_kind(
&self,
kind: PartitionKind
) -> Result<Box<dyn PartitionBase>>
pub fn open_partition_kind( &self, kind: PartitionKind ) -> Result<Box<dyn PartitionBase>>
Opens a decrypted partition read stream for the first partition matching the specified kind.
GameCube: kind must always be PartitionKind::Data.
Trait Implementations§
source§impl Read for Disc
impl Read for Disc
source§fn read(&mut self, buf: &mut [u8]) -> Result<usize>
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
Pull some bytes from this source into the specified buffer, returning
how many bytes were read. Read more
1.36.0 · source§fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
Like
read, except that it reads into a slice of buffers. Read moresource§fn is_read_vectored(&self) -> bool
fn is_read_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector)1.0.0 · source§fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
Read all bytes until EOF in this source, placing them into
buf. Read more1.0.0 · source§fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
Read all bytes until EOF in this source, appending them to
buf. Read more1.6.0 · source§fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
Read the exact number of bytes required to fill
buf. Read moresource§fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
read_buf)Pull some bytes from this source into the specified buffer. Read more
source§fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
read_buf)Read the exact number of bytes required to fill
cursor. Read more1.0.0 · source§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
Creates a “by reference” adaptor for this instance of
Read. Read moresource§impl Seek for Disc
impl Seek for Disc
source§fn seek(&mut self, pos: SeekFrom) -> Result<u64>
fn seek(&mut self, pos: SeekFrom) -> Result<u64>
Seek to an offset, in bytes, in a stream. Read more
1.55.0 · source§fn rewind(&mut self) -> Result<(), Error>
fn rewind(&mut self) -> Result<(), Error>
Rewind to the beginning of a stream. Read more
source§fn stream_len(&mut self) -> Result<u64, Error>
fn stream_len(&mut self) -> Result<u64, Error>
🔬This is a nightly-only experimental API. (
seek_stream_len)Returns the length of this stream (in bytes). Read more
Auto Trait Implementations§
impl !RefUnwindSafe for Disc
impl Send for Disc
impl Sync for Disc
impl Unpin for Disc
impl !UnwindSafe for Disc
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more