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