xref: /haiku/headers/private/net/arp_control.h (revision 624c52d8b79439bb992a5847eefb10d20a132ac3)
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