Commit | Line | Data |
---|---|---|
b79ed51f KS |
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 | */ | |
c2b3da7f | 27 | /* @(#)iso_snpac.h 7.4 (Berkeley) %G% */ |
b79ed51f KS |
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 */ | |
a50e2bc0 | 36 | u_short sr_ht; /* holding time */ |
b79ed51f KS |
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 */ | |
a50e2bc0 KS |
57 | struct iso_addr sc_da; /* DA from RD */ |
58 | struct rtentry *sc_rt; | |
b79ed51f KS |
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 | ||
c2b3da7f KS |
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 */ | |
a50e2bc0 KS |
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 | ||
b79ed51f KS |
75 | #ifdef KERNEL |
76 | struct snpa_cache *snpac_look(/* struct iso_addr *isoa */); | |
77 | #endif KERNEL |