diff options
author | Aaditya Dhruv <[email protected]> | 2025-07-29 22:07:21 -0500 |
---|---|---|
committer | Aaditya Dhruv <[email protected]> | 2025-07-29 22:07:21 -0500 |
commit | 4c595bf45e87269d541b30b8012512cba15521f7 (patch) | |
tree | 6d3b8e38f20b3695c59a6b70e522bf8810fb53ec /include | |
parent | b3a344f2f79ca506cdadcfc39c5617c48546bc2f (diff) |
Add arp_packet struct and parsing in eth_recv
Diffstat (limited to 'include')
-rw-r--r-- | include/junk/network.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/junk/network.h b/include/junk/network.h index 73dd127..12a3af0 100644 --- a/include/junk/network.h +++ b/include/junk/network.h @@ -2,6 +2,7 @@ //Layer 4, TCP +#include <linux/if_ether.h> int tcp_ipv4_send(char* ip, char* port, char* data); int tcp_ipv4_recv(char* ip, char* port, char* data); int ipv4_bind(char* ip, char* port, char* data); @@ -11,3 +12,17 @@ int ipv4_bind(char* ip, char* port, char* data); int eth_bind(char address[]); int eth_send(int sockfd, char* data); int eth_recv(int sockfd); + +typedef struct ethhdr ethhdr; + +typedef struct arp_packet { + unsigned char hardware_type[2]; + unsigned char protocol_type[2]; + unsigned char hardware_length[1]; + unsigned char protocol_length[1]; + unsigned char operation[2]; + unsigned char sender_hardware_address[6]; + unsigned char sender_protocol_address[4]; + unsigned char target_hardware_address[6]; + unsigned char target_protocol_address[4]; + } arp_packet; |