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
32struct 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