Loading...
Searching...
No Matches
ETHERNET_types.h
Go to the documentation of this file.
1#ifndef ETHERNET_TYPES_H
2#define ETHERNET_TYPES_H
3
4
5#include <stdint.h>
9
10#define ETH_RECV_SIZE_MIN 16
11#define ETH_SEND_SIZE_MIN 64
12
13
15 uint8_t dst_mac[6];
16 uint8_t src_mac[6];
17 uint16_t ethertype;
18
19 /* Custom payload*/
20 uint16_t length;
21 uint8_t payload[255];
22
24 //memset(this->dst_mac, sizeof(uint8_t)*6, 0xFF);
25 //memset(this->src_mac, sizeof(uint8_t)*6, 0xAA);
26
27 this->ethertype = 0xb588; //Local Experimental Ethertype : gives us maximum freedom.
28 }
29} __attribute__((__packed__));
30
32
34
36 void set_src_mac(uint8_t my_mac[6]) override;
37 void set_dst_mac(uint8_t dst_mac[6]) override;
38
39 int toBytes(uint8_t *bytes, int max_len) override;
40 uint8_t* get_payload_ptr() override;
41 int get_payload_len() override;
42 void set_payload_len(int len) override;
43
44 uint8_t* get_src_mac_FromRaw(uint8_t *raw_bytes, int len) override;
45 int get_payload_len_FromRaw(uint8_t *raw_bytes, int len) override;
46 uint8_t* get_payload_FromRaw(uint8_t *raw_bytes, int len) override;
48};
49
51
52#endif
uint8_t dst_mac[6]
Definition ETHERNET_types.h:0
ETHERNET_packet __attribute__
Definition ETHERNET_types.h:14
ETHERNET_data()
Definition ETHERNET_types.h:23
uint16_t ethertype
Definition ETHERNET_types.h:17
uint8_t src_mac[6]
Definition ETHERNET_types.h:16
uint16_t length
Definition ETHERNET_types.h:20
uint8_t dst_mac[6]
Definition ETHERNET_types.h:15
uint8_t payload[255]
Definition ETHERNET_types.h:21
Definition ETHERNET_types.h:31
void set_src_mac(uint8_t my_mac[6]) override
Definition ETHERNET_types.cpp:8
uint8_t * get_payload_FromRaw(uint8_t *raw_bytes, int len) override
Definition ETHERNET_types.cpp:56
int get_payload_len() override
Definition ETHERNET_types.cpp:36
struct ETHERNET_data data
Definition ETHERNET_types.h:33
void set_payload_len(int len) override
Definition ETHERNET_types.cpp:40
int toBytes(uint8_t *bytes, int max_len) override
Definition ETHERNET_types.cpp:16
uint8_t * get_src_mac_FromRaw(uint8_t *raw_bytes, int len) override
Definition ETHERNET_types.cpp:44
uint8_t * get_payload_ptr() override
Definition ETHERNET_types.cpp:32
int get_payload_len_FromRaw(uint8_t *raw_bytes, int len) override
Definition ETHERNET_types.cpp:50
void set_dst_mac(uint8_t dst_mac[6]) override
Definition ETHERNET_types.cpp:12
Definition Link_types.h:4