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