pub struct Ipv4Header {
pub version: u8,
pub ihl: u8,
pub tos: u8,
pub total_length: u16,
pub identification: u16,
pub flags: u8,
pub fragment_offset: u16,
pub ttl: u8,
pub protocol: u8,
pub checksum: u16,
pub source: Ipv4Address,
pub destination: Ipv4Address,
}Expand description
IPv4 header
Fields§
§version: u8§ihl: u8§tos: u8§total_length: u16§identification: u16§flags: u8§fragment_offset: u16§ttl: u8§protocol: u8§checksum: u16§source: Ipv4Address§destination: Ipv4AddressImplementations§
Source§impl Ipv4Header
impl Ipv4Header
pub const MIN_SIZE: usize = 20usize
pub fn new(src: Ipv4Address, dst: Ipv4Address, protocol: IpProtocol) -> Self
pub fn to_bytes(&self) -> [u8; 20]
pub fn from_bytes(bytes: &[u8]) -> Result<Self, KernelError>
Sourcepub fn calculate_checksum(&mut self)
pub fn calculate_checksum(&mut self)
Calculate checksum
Trait Implementations§
Source§impl Clone for Ipv4Header
impl Clone for Ipv4Header
Source§fn clone(&self) -> Ipv4Header
fn clone(&self) -> Ipv4Header
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for Ipv4Header
impl RefUnwindSafe for Ipv4Header
impl Send for Ipv4Header
impl Sync for Ipv4Header
impl Unpin for Ipv4Header
impl UnwindSafe for Ipv4Header
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)