diff options
author | Aaditya Dhruv <[email protected]> | 2025-08-03 23:38:02 -0500 |
---|---|---|
committer | Aaditya Dhruv <[email protected]> | 2025-08-03 23:38:02 -0500 |
commit | ee8fbab4cf15f138a0d7f87f26c778ba1c9052ca (patch) | |
tree | 481dffd9ac640d07423349090a057975c8bf67af /include/junk/network.h | |
parent | b385a2eda3a12b1b578aef4d0ef9037da3d947e4 (diff) |
Added eth_arp_send, updated interfaces to eth_arp_* functions
- Simple interface for recv/send consisting of sockfd and arp_packet
- Updated arp_packet struct datatypes
- Added eth_arp_send to send ARP packet
Diffstat (limited to 'include/junk/network.h')
-rw-r--r-- | include/junk/network.h | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/include/junk/network.h b/include/junk/network.h index c88e7f7..1d271d7 100644 --- a/include/junk/network.h +++ b/include/junk/network.h @@ -3,6 +3,7 @@ //Layer 4, TCP #include <linux/if_ether.h> +#include <linux/types.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); @@ -12,17 +13,17 @@ int ipv4_bind(char* ip, char* port, char* data); 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]; + __u16 hardware_type; + __u16 protocol_type; + __u8 hardware_length; + __u8 protocol_length; + __u16 operation; 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; -int eth_bind(char address[]); -int eth_send(int sockfd, char* data); -int eth_recv(int sockfd, arp_packet* packet); +int eth_arp_bind(char address[]); +int eth_arp_send(int sockfd, arp_packet* data); +int eth_arp_recv(int sockfd, arp_packet* packet); |