From 4c595bf45e87269d541b30b8012512cba15521f7 Mon Sep 17 00:00:00 2001 From: Aaditya Dhruv Date: Tue, 29 Jul 2025 22:07:21 -0500 Subject: Add arp_packet struct and parsing in eth_recv --- include/junk/network.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'include/junk') 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 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; -- cgit