Struct InterfaceDescriptionBlock

Source
pub struct InterfaceDescriptionBlock<'a> {
    pub block_type: u32,
    pub block_len1: u32,
    pub linktype: Linktype,
    pub reserved: u16,
    pub snaplen: u32,
    pub options: Vec<PcapNGOption<'a>>,
    pub block_len2: u32,
    pub if_tsresol: u8,
    pub if_tsoffset: i64,
}
Expand description

An Interface Description Block (IDB) is the container for information describing an interface on which packet data is captured.

Fields§

§block_type: u32§block_len1: u32§linktype: Linktype§reserved: u16§snaplen: u32§options: Vec<PcapNGOption<'a>>§block_len2: u32§if_tsresol: u8§if_tsoffset: i64

Implementations§

Source§

impl InterfaceDescriptionBlock<'_>

Source

pub fn ts_resolution(&self) -> Option<u64>

Decode the interface time resolution, in units per second

Return the resolution, or None if the resolution is invalid (for ex. greater than 2^64)

Source

pub fn ts_offset(&self) -> i64

Return the interface timestamp offset

Source

pub fn if_name(&self) -> Option<Result<&str, PcapNGOptionError>>

Return the if_name option value, if present

If the option is present multiple times, the first value is returned.

Returns None if option is not present, Some(Ok(value)) if the value is present and valid, or Some(Err(_)) if value is present but invalid

Source

pub fn if_description(&self) -> Option<Result<&str, PcapNGOptionError>>

Return the if_description option value, if present

If the option is present multiple times, the first value is returned.

Returns None if option is not present, Some(Ok(value)) if the value is present and valid, or Some(Err(_)) if value is present but invalid

Source

pub fn if_os(&self) -> Option<Result<&str, PcapNGOptionError>>

Return the if_os option value, if present

If the option is present multiple times, the first value is returned.

Returns None if option is not present, Some(Ok(value)) if the value is present and valid, or Some(Err(_)) if value is present but invalid

Source

pub fn if_ipv4addr( &self, ) -> Option<Result<Vec<(Ipv4Addr, Ipv4Addr)>, PcapNGOptionError>>

Return the if_ipv4addr option values, if present

This option can be multi-valued.

Returns None if option is not present, Some(Ok(Vec)) if the value is present and valid, or Some(Err(_)) if value is present but invalid

Each item of the Vec is a pair (IPv4Addr, IPv4Mask)

Source

pub fn if_ipv6addr( &self, ) -> Option<Result<Vec<(Ipv6Addr, u8)>, PcapNGOptionError>>

Return the if_ipv6addr option values, if present

This option can be multi-valued.

Returns None if option is not present, Some(Ok(Vec)) if the value is present and valid, or Some(Err(_)) if value is present but invalid

Each item of the Vec is a pair (IPv6Addr, PrefixLen)

Source

pub fn if_macaddr(&self) -> Option<Result<&[u8], PcapNGOptionError>>

Return the if_macaddr option value, if present

If the option is present multiple times, the first value is returned.

Returns None if option is not present, Some(Ok(value)) if the value is present and valid, or Some(Err(_)) if value is present but invalid

Source

pub fn if_euiaddr(&self) -> Option<Result<&[u8], PcapNGOptionError>>

Return the if_euiaddr option value, if present

If the option is present multiple times, the first value is returned.

Returns None if option is not present, Some(Ok(value)) if the value is present and valid, or Some(Err(_)) if value is present but invalid

Source

pub fn if_speed(&self) -> Option<Result<u64, PcapNGOptionError>>

Return the if_speed option value, if present

If the option is present multiple times, the first value is returned.

Returns None if option is not present, Some(Ok(value)) if the value is present and valid, or Some(Err(_)) if value is present but invalid

Source

pub fn if_tsresol(&self) -> Option<Result<u8, PcapNGOptionError>>

Return the if_tsresol option value, if present

If the option is present multiple times, the first value is returned.

Returns None if option is not present, Some(Ok(value)) if the value is present and valid, or Some(Err(_)) if value is present but invalid

Source

pub fn if_filter(&self) -> Option<Result<&str, PcapNGOptionError>>

Return the if_filter option value, if present

If the option is present multiple times, the first value is returned.

Returns None if option is not present, Some(Ok(value)) if the value is present and valid, or Some(Err(_)) if value is present but invalid

Source

pub fn if_tsoffset(&self) -> Option<Result<i64, PcapNGOptionError>>

Return the if_tsoffset option value, if present

If the option is present multiple times, the first value is returned.

Returns None if option is not present, Some(Ok(value)) if the value is present and valid, or Some(Err(_)) if value is present but invalid

Trait Implementations§

Source§

impl<'a> Debug for InterfaceDescriptionBlock<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl ToVec for InterfaceDescriptionBlock<'_>

Available on crate feature serialize only.
Source§

fn fix(&mut self)

Check and correct all fields: use magic, set time resolution and fix lengths fields

Source§

fn to_vec_raw(&self) -> Result<Vec<u8>, GenError>

Serialize to bytes representation. Do not check values

Source§

fn to_vec(&mut self) -> Result<Vec<u8>, GenError>

Serialize to bytes representation (little-endian). Check values and fix all fields before serializing.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.