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 20 21 // generic syscall interface 22 #define ARP_SYSCALLS "network/arp" 23 24 #define ARP_SET_ENTRY 1 25 #define ARP_GET_ENTRY 2 26 #define ARP_GET_ENTRIES 3 27 #define ARP_DELETE_ENTRY 4 28 #define ARP_FLUSH_ENTRIES 5 29 #define ARP_IGNORE_REPLIES 6 30 31 struct arp_control { 32 in_addr_t address; 33 uint8 ethernet_address[ETHER_ADDRESS_LENGTH]; 34 uint32 flags; 35 uint32 cookie; 36 }; 37 38 #endif // ARP_CONTROL_H 39