1 /* 2 * Copyright 2006, Haiku, Inc. All Rights Reserved. 3 * Distributed under the terms of the MIT License. 4 */ 5 #ifndef ARP_CONTROL_H 6 #define ARP_CONTROL_H 7 8 9 #include <ethernet.h> 10 11 #include <netinet/in.h> 12 13 14 // ARP flags 15 #define ARP_FLAG_LOCAL 0x01 16 #define ARP_FLAG_REJECT 0x02 17 #define ARP_FLAG_PERMANENT 0x04 18 #define ARP_FLAG_PUBLISH 0x08 19 #define ARP_FLAG_VALID 0x10 20 21 22 // generic syscall interface 23 #define ARP_SYSCALLS "network/arp" 24 25 #define ARP_SET_ENTRY 1 26 #define ARP_GET_ENTRY 2 27 #define ARP_GET_ENTRIES 3 28 #define ARP_DELETE_ENTRY 4 29 #define ARP_FLUSH_ENTRIES 5 30 #define ARP_IGNORE_REPLIES 6 31 32 struct arp_control { 33 in_addr_t address; 34 uint8 ethernet_address[ETHER_ADDRESS_LENGTH]; 35 uint32 flags; 36 uint32 cookie; 37 }; 38 39 #endif // ARP_CONTROL_H 40