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