xref: /aosp_15_r20/external/iproute2/include/uapi/linux/atmarp.h (revision de1e4e894b0c224df933550f0afdecc354b238c4)
1*de1e4e89SAndroid Build Coastguard Worker /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2*de1e4e89SAndroid Build Coastguard Worker /* atmarp.h - ATM ARP protocol and kernel-demon interface definitions */
3*de1e4e89SAndroid Build Coastguard Worker 
4*de1e4e89SAndroid Build Coastguard Worker /* Written 1995-1999 by Werner Almesberger, EPFL LRC/ICA */
5*de1e4e89SAndroid Build Coastguard Worker 
6*de1e4e89SAndroid Build Coastguard Worker 
7*de1e4e89SAndroid Build Coastguard Worker #ifndef _LINUX_ATMARP_H
8*de1e4e89SAndroid Build Coastguard Worker #define _LINUX_ATMARP_H
9*de1e4e89SAndroid Build Coastguard Worker 
10*de1e4e89SAndroid Build Coastguard Worker #include <linux/types.h>
11*de1e4e89SAndroid Build Coastguard Worker #include <linux/atmapi.h>
12*de1e4e89SAndroid Build Coastguard Worker #include <linux/atmioc.h>
13*de1e4e89SAndroid Build Coastguard Worker 
14*de1e4e89SAndroid Build Coastguard Worker 
15*de1e4e89SAndroid Build Coastguard Worker #define ATMARP_RETRY_DELAY 30		/* request next resolution or forget
16*de1e4e89SAndroid Build Coastguard Worker 					   NAK after 30 sec - should go into
17*de1e4e89SAndroid Build Coastguard Worker 					   atmclip.h */
18*de1e4e89SAndroid Build Coastguard Worker #define ATMARP_MAX_UNRES_PACKETS 5	/* queue that many packets while
19*de1e4e89SAndroid Build Coastguard Worker 					   waiting for the resolver */
20*de1e4e89SAndroid Build Coastguard Worker 
21*de1e4e89SAndroid Build Coastguard Worker 
22*de1e4e89SAndroid Build Coastguard Worker #define ATMARPD_CTRL	_IO('a',ATMIOC_CLIP+1)	/* become atmarpd ctrl sock */
23*de1e4e89SAndroid Build Coastguard Worker #define ATMARP_MKIP	_IO('a',ATMIOC_CLIP+2)	/* attach socket to IP */
24*de1e4e89SAndroid Build Coastguard Worker #define ATMARP_SETENTRY	_IO('a',ATMIOC_CLIP+3)	/* fill or hide ARP entry */
25*de1e4e89SAndroid Build Coastguard Worker #define ATMARP_ENCAP	_IO('a',ATMIOC_CLIP+5)	/* change encapsulation */
26*de1e4e89SAndroid Build Coastguard Worker 
27*de1e4e89SAndroid Build Coastguard Worker 
28*de1e4e89SAndroid Build Coastguard Worker enum atmarp_ctrl_type {
29*de1e4e89SAndroid Build Coastguard Worker 	act_invalid,		/* catch uninitialized structures */
30*de1e4e89SAndroid Build Coastguard Worker 	act_need,		/* need address resolution */
31*de1e4e89SAndroid Build Coastguard Worker 	act_up,			/* interface is coming up */
32*de1e4e89SAndroid Build Coastguard Worker 	act_down,		/* interface is going down */
33*de1e4e89SAndroid Build Coastguard Worker 	act_change		/* interface configuration has changed */
34*de1e4e89SAndroid Build Coastguard Worker };
35*de1e4e89SAndroid Build Coastguard Worker 
36*de1e4e89SAndroid Build Coastguard Worker struct atmarp_ctrl {
37*de1e4e89SAndroid Build Coastguard Worker 	enum atmarp_ctrl_type	type;	/* message type */
38*de1e4e89SAndroid Build Coastguard Worker 	int			itf_num;/* interface number (if present) */
39*de1e4e89SAndroid Build Coastguard Worker 	__be32			ip;	/* IP address (act_need only) */
40*de1e4e89SAndroid Build Coastguard Worker };
41*de1e4e89SAndroid Build Coastguard Worker 
42*de1e4e89SAndroid Build Coastguard Worker #endif
43