fix minor bugs for raw access
[unix-history] / usr / src / sys / netiso / iso_snpac.h
CommitLineData
b79ed51f
KS
1/***********************************************************
2 Copyright IBM Corporation 1987
3
4 All Rights Reserved
5
6Permission to use, copy, modify, and distribute this software and its
7documentation for any purpose and without fee is hereby granted,
8provided that the above copyright notice appear in all copies and that
9both that copyright notice and this permission notice appear in
10supporting documentation, and that the name of IBM not be
11used in advertising or publicity pertaining to distribution of the
12software without specific, written prior permission.
13
14IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
15ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
16IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
17ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
18WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
19ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
20SOFTWARE.
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 */
30struct 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 */
42struct 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
61struct 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
76struct snpa_cache *snpac_look(/* struct iso_addr *isoa */);
77#endif KERNEL