1*6f52b16cSGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2607ca46eSDavid Howells /* atmarp.h - ATM ARP protocol and kernel-demon interface definitions */ 3607ca46eSDavid Howells 4607ca46eSDavid Howells /* Written 1995-1999 by Werner Almesberger, EPFL LRC/ICA */ 5607ca46eSDavid Howells 6607ca46eSDavid Howells 7607ca46eSDavid Howells #ifndef _LINUX_ATMARP_H 8607ca46eSDavid Howells #define _LINUX_ATMARP_H 9607ca46eSDavid Howells 10607ca46eSDavid Howells #include <linux/types.h> 11607ca46eSDavid Howells #include <linux/atmapi.h> 12607ca46eSDavid Howells #include <linux/atmioc.h> 13607ca46eSDavid Howells 14607ca46eSDavid Howells 15607ca46eSDavid Howells #define ATMARP_RETRY_DELAY 30 /* request next resolution or forget 16607ca46eSDavid Howells NAK after 30 sec - should go into 17607ca46eSDavid Howells atmclip.h */ 18607ca46eSDavid Howells #define ATMARP_MAX_UNRES_PACKETS 5 /* queue that many packets while 19607ca46eSDavid Howells waiting for the resolver */ 20607ca46eSDavid Howells 21607ca46eSDavid Howells 22607ca46eSDavid Howells #define ATMARPD_CTRL _IO('a',ATMIOC_CLIP+1) /* become atmarpd ctrl sock */ 23607ca46eSDavid Howells #define ATMARP_MKIP _IO('a',ATMIOC_CLIP+2) /* attach socket to IP */ 24607ca46eSDavid Howells #define ATMARP_SETENTRY _IO('a',ATMIOC_CLIP+3) /* fill or hide ARP entry */ 25607ca46eSDavid Howells #define ATMARP_ENCAP _IO('a',ATMIOC_CLIP+5) /* change encapsulation */ 26607ca46eSDavid Howells 27607ca46eSDavid Howells 28607ca46eSDavid Howells enum atmarp_ctrl_type { 29607ca46eSDavid Howells act_invalid, /* catch uninitialized structures */ 30607ca46eSDavid Howells act_need, /* need address resolution */ 31607ca46eSDavid Howells act_up, /* interface is coming up */ 32607ca46eSDavid Howells act_down, /* interface is going down */ 33607ca46eSDavid Howells act_change /* interface configuration has changed */ 34607ca46eSDavid Howells }; 35607ca46eSDavid Howells 36607ca46eSDavid Howells struct atmarp_ctrl { 37607ca46eSDavid Howells enum atmarp_ctrl_type type; /* message type */ 38607ca46eSDavid Howells int itf_num;/* interface number (if present) */ 39607ca46eSDavid Howells __be32 ip; /* IP address (act_need only) */ 40607ca46eSDavid Howells }; 41607ca46eSDavid Howells 42607ca46eSDavid Howells #endif 43