#[repr(u16)]pub enum ProtocolType {
IpV4 = 2_048,
Arp = 2_054,
Vlan = 33_024,
IpV6 = 34_525,
EtherCat = 34_980,
Ptp = 34_983,
Unimplemented = 0,
}
Expand description
Protocol Type flags are the same as EtherType but must be reimplemented to avoid run-time recursion. See https://en.wikipedia.org/wiki/EtherType.
Variants§
IpV4 = 2_048
Internet protocol version 4
Arp = 2_054
Address resolution protocol
Vlan = 33_024
Tagged virtual LAN - if this tag is encountered, then this is not the real ethertype field, and we’re reading an 802.1Q Vlan tag instead This crate does not support tagged Vlan, which is a trust-based and inefficient system. Untagged Vlan should be used instead.
IpV6 = 34_525
Internet protocol version 6
EtherCat = 34_980
EtherCat
Ptp = 34_983
Precision Time Protocol
Unimplemented = 0
Catch-all for uncommon types not handled here
Implementations§
Source§impl ProtocolType
impl ProtocolType
Sourcepub fn to_be_bytes(&self) -> [u8; 2]
pub fn to_be_bytes(&self) -> [u8; 2]
Pack into big-endian (network) byte array
Trait Implementations§
Source§impl ByteStruct for ProtocolType
impl ByteStruct for ProtocolType
Source§fn read_bytes(bytes: &[u8]) -> Self
fn read_bytes(bytes: &[u8]) -> Self
Unpacks raw bytes from a slice into a new struct
Source§fn write_bytes(&self, bytes: &mut [u8])
fn write_bytes(&self, bytes: &mut [u8])
Packs the struct into raw bytes and write to a slice
Source§impl ByteStructLen for ProtocolType
impl ByteStructLen for ProtocolType
Source§impl Clone for ProtocolType
impl Clone for ProtocolType
Source§fn clone(&self) -> ProtocolType
fn clone(&self) -> ProtocolType
Returns a duplicate of the value. Read more
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for ProtocolType
impl Debug for ProtocolType
Source§impl From<u16> for ProtocolType
impl From<u16> for ProtocolType
Source§impl Ord for ProtocolType
impl Ord for ProtocolType
Source§fn cmp(&self, other: &ProtocolType) -> Ordering
fn cmp(&self, other: &ProtocolType) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for ProtocolType
impl PartialEq for ProtocolType
Source§impl PartialOrd for ProtocolType
impl PartialOrd for ProtocolType
Source§impl uDebug for ProtocolType
impl uDebug for ProtocolType
impl Copy for ProtocolType
impl Eq for ProtocolType
impl StructuralPartialEq for ProtocolType
Auto Trait Implementations§
impl Freeze for ProtocolType
impl RefUnwindSafe for ProtocolType
impl Send for ProtocolType
impl Sync for ProtocolType
impl Unpin for ProtocolType
impl UnwindSafe for ProtocolType
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
Source§impl<T> ByteStructUnspecifiedByteOrder for Twhere
T: ByteStruct,
impl<T> ByteStructUnspecifiedByteOrder for Twhere
T: ByteStruct,
Source§fn write_bytes_default_le(&self, bytes: &mut [u8])
fn write_bytes_default_le(&self, bytes: &mut [u8])
A wrapper of ByteStruct::write_bytes
Source§fn read_bytes_default_le(bytes: &[u8]) -> T
fn read_bytes_default_le(bytes: &[u8]) -> T
A wrapper of ByteStruct::read_bytes
Source§fn write_bytes_default_be(&self, bytes: &mut [u8])
fn write_bytes_default_be(&self, bytes: &mut [u8])
A wrapper of ByteStruct::write_bytes
Source§fn read_bytes_default_be(bytes: &[u8]) -> T
fn read_bytes_default_be(bytes: &[u8]) -> T
A wrapper of ByteStruct::read_bytes