Struct goblin::archive::MemberHeader [−][src]
A Unix Archive Header - meta data for the file/byte blob/whatever that follows exactly after.
All data is right-padded with spaces ASCII 0x20
. The Binary layout is as follows:
Offset | Length | Name | Format |
---|---|---|---|
0 | 16 | File identifier | ASCII |
16 | 12 | File modification timestamp | Decimal |
28 | 6 | Owner ID | Decimal |
34 | 6 | Group ID | Decimal |
40 | 8 | File mode | Octal |
48 | 10 | Filesize in bytes | Decimal |
58 | 2 | Ending characters | 0x60 0x0A |
Byte alignment is according to the following:
Each archive file member begins on an even byte boundary; a newline is inserted between files if necessary. Nevertheless, the size given reflects the actual size of the file exclusive of padding.
Fields
identifier: [u8; 16]
The identifier, or name for this file/whatever.
timestamp: [u8; 12]
The timestamp for when this file was last modified. Base 10 number
owner_id: [u8; 6]
The file’s owner’s id. Base 10 string number
group_id: [u8; 6]
The file’s group id. Base 10 string number
mode: [u8; 8]
The file’s permissions mode. Base 8 number number
file_size: [u8; 10]
The size of this file. Base 10 string number
terminator: [u8; 2]
The file header’s terminator, always 0x60 0x0A
Implementations
impl MemberHeader
[src]
Trait Implementations
impl Clone for MemberHeader
[src]
fn clone(&self) -> MemberHeader
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for MemberHeader
[src]
impl PartialEq<MemberHeader> for MemberHeader
[src]
fn eq(&self, other: &MemberHeader) -> bool
[src]
fn ne(&self, other: &MemberHeader) -> bool
[src]
impl SizeWith<Endian> for MemberHeader
[src]
impl StructuralPartialEq for MemberHeader
[src]
impl<'a> TryFromCtx<'a, Endian, [u8]> for MemberHeader where
MemberHeader: 'a,
[src]
MemberHeader: 'a,
type Error = Error
fn try_from_ctx(
src: &'a [u8],
ctx: Endian
) -> Result<(Self, usize), Self::Error>
[src]
src: &'a [u8],
ctx: Endian
) -> Result<(Self, usize), Self::Error>
impl<'a> TryIntoCtx<Endian, [u8]> for &'a MemberHeader
[src]
type Error = Error
fn try_into_ctx(self, dst: &mut [u8], ctx: Endian) -> Result<usize, Self::Error>
[src]
impl TryIntoCtx<Endian, [u8]> for MemberHeader
[src]
Auto Trait Implementations
impl RefUnwindSafe for MemberHeader
impl Send for MemberHeader
impl Sync for MemberHeader
impl Unpin for MemberHeader
impl UnwindSafe for MemberHeader
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,