summaryrefslogtreecommitdiff
path: root/include/junk
diff options
context:
space:
mode:
authorAaditya Dhruv <[email protected]>2025-07-29 22:07:21 -0500
committerAaditya Dhruv <[email protected]>2025-07-29 22:07:21 -0500
commit4c595bf45e87269d541b30b8012512cba15521f7 (patch)
tree6d3b8e38f20b3695c59a6b70e522bf8810fb53ec /include/junk
parentb3a344f2f79ca506cdadcfc39c5617c48546bc2f (diff)
Add arp_packet struct and parsing in eth_recv
Diffstat (limited to 'include/junk')
-rw-r--r--include/junk/network.h15
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;