1 /*********************************************************** 2 Copyright IBM Corporation 1987 3 4 All Rights Reserved 5 6 Permission to use, copy, modify, and distribute this software and its 7 documentation for any purpose and without fee is hereby granted, 8 provided that the above copyright notice appear in all copies and that 9 both that copyright notice and this permission notice appear in 10 supporting documentation, and that the name of IBM not be 11 used in advertising or publicity pertaining to distribution of the 12 software without specific, written prior permission. 13 14 IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 15 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 16 IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 17 ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 18 WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 19 ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 20 SOFTWARE. 21 22 ******************************************************************/ 23 24 /* 25 * ARGO Project, Computer Sciences Dept., University of Wisconsin - Madison 26 */ 27 /* @(#)iso_snpac.h 7.4 (Berkeley) 04/05/90 */ 28 #define MAX_SNPALEN 8 /* curiously equal to sizeof x.121 ( 29 plus 1 for nibble len) addr */ 30 struct snpa_req { 31 struct iso_addr sr_isoa; /* nsap address */ 32 u_char sr_len; /* length of snpa */ 33 u_char sr_snpa[MAX_SNPALEN]; /* snpa associated 34 with nsap address */ 35 u_char sr_flags; /* true if entry is valid */ 36 u_short sr_ht; /* holding time */ 37 }; 38 39 /* 40 * Structure of the SNPA cache 41 */ 42 struct snpa_cache { 43 struct snpa_req sc_sr; 44 #define sc_nsap sc_sr.sr_isoa /* this could be a NET if entry is 45 for an IS */ 46 #define sc_len sc_sr.sr_len 47 #define sc_snpa sc_sr.sr_snpa 48 #define sc_ht sc_sr.sr_ht 49 #define sc_flags sc_sr.sr_flags 50 struct ifnet *sc_ifp; 51 #define SNPA_VALID 0x01 52 #define SNPA_ES 0x02 53 #define SNPA_IS 0x04 54 #define SNPA_PERM 0x10 55 56 /* redirects only */ 57 struct iso_addr sc_da; /* DA from RD */ 58 struct rtentry *sc_rt; 59 }; 60 61 struct systype_req { 62 short sr_holdt; /* holding timer */ 63 short sr_configt; /* configuration timer */ 64 char sr_type; /* SNPA_ES or SNPA_IS */ 65 }; 66 67 /* ISO arp IOCTL data structures */ 68 69 #define SIOCSISOMAP _IOW('a',30, struct snpa_req) /* set arp entry */ 70 #define SIOCGISOMAP _IOWR('a',38, struct snpa_req)/* get arp entry */ 71 #define SIOCDISOMAP _IOW('a',31, struct snpa_req) /* delete arp entry */ 72 #define SIOCSSTYPE _IOW('a', 39, struct systype_req) /* set system type */ 73 #define SIOCGSTYPE _IOW('a', 40, struct systype_req) /* set system type */ 74 75 #ifdef KERNEL 76 struct snpa_cache *snpac_look(/* struct iso_addr *isoa */); 77 #endif KERNEL 78