diff options
author | gennyble <gen@nyble.dev> | 2025-05-18 14:35:47 -0500 |
---|---|---|
committer | gennyble <gen@nyble.dev> | 2025-05-18 14:35:47 -0500 |
commit | f1933597d5d64839d5d3eeb126f8b95582d664c4 (patch) | |
tree | 7d0a60c7beeed97a3faae0381b66a7290548d8b0 /src/layer3.rs | |
parent | 25b0631f1af74fcf1e1d8782f6d763881ad58af7 (diff) | |
download | skim-f1933597d5d64839d5d3eeb126f8b95582d664c4.tar.gz skim-f1933597d5d64839d5d3eeb126f8b95582d664c4.zip |
little api
Diffstat (limited to 'src/layer3.rs')
-rw-r--r-- | src/layer3.rs | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/src/layer3.rs b/src/layer3.rs deleted file mode 100644 index 7521c0d..0000000 --- a/src/layer3.rs +++ /dev/null @@ -1,65 +0,0 @@ -pub struct Tcp<'p> { - src: u16, - dst: u16, - payload: &'p [u8], -} - -impl<'p> Tcp<'p> { - pub fn new(buffer: &'p [u8]) -> Self { - let src = u16::from_be_bytes([buffer[0], buffer[1]]); - let dst = u16::from_be_bytes([buffer[2], buffer[3]]); - let data_offset = (buffer[12].to_be() & 0b1111_0000) >> 4; - // Offset is number of 32-bit words - let true_offset = data_offset as usize * 4; - - Self { - src, - dst, - payload: &buffer[true_offset..], - } - } - - pub fn source_port(&self) -> u16 { - self.src - } - - pub fn destination_port(&self) -> u16 { - self.dst - } - - pub fn payload(&self) -> &[u8] { - self.payload - } -} - -pub struct Udp<'p> { - src: u16, - dst: u16, - payload: &'p [u8], -} - -impl<'p> Udp<'p> { - pub fn new(buffer: &'p [u8]) -> Self { - let src = u16::from_be_bytes([buffer[0], buffer[1]]); - let dst = u16::from_be_bytes([buffer[2], buffer[3]]); - let _len = u16::from_be_bytes([buffer[4], buffer[5]]); - - Self { - src, - dst, - payload: &buffer[8..], - } - } - - pub fn source_port(&self) -> u16 { - self.src - } - - pub fn destination_port(&self) -> u16 { - self.dst - } - - pub fn payload(&self) -> &[u8] { - self.payload - } -} |