|
|
1.1 root 1: /*-
2: * Copyright (c) 1988, 1991 The Regents of the University of California.
3: * All rights reserved.
4: *
5: * Redistribution and use in source and binary forms, with or without
6: * modification, are permitted provided that the following conditions
7: * are met:
8: * 1. Redistributions of source code must retain the above copyright
9: * notice, this list of conditions and the following disclaimer.
10: * 2. Redistributions in binary form must reproduce the above copyright
11: * notice, this list of conditions and the following disclaimer in the
12: * documentation and/or other materials provided with the distribution.
13: * 3. All advertising materials mentioning features or use of this software
14: * must display the following acknowledgement:
15: * This product includes software developed by the University of
16: * California, Berkeley and its contributors.
17: * 4. Neither the name of the University nor the names of its contributors
18: * may be used to endorse or promote products derived from this software
19: * without specific prior written permission.
20: *
21: * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
22: * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24: * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
25: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31: * SUCH DAMAGE.
32: *
1.1.1.3 ! root 33: * from: @(#)iso_var.h 7.5 (Berkeley) 5/6/91
! 34: * iso_var.h,v 1.3 1993/05/20 05:27:25 cgd Exp
1.1 root 35: */
36:
1.1.1.3 ! root 37: #ifndef _NETISO_ISO_VAR_H_
! 38: #define _NETISO_ISO_VAR_H_
! 39:
1.1 root 40: /***********************************************************
41: Copyright IBM Corporation 1987
42:
43: All Rights Reserved
44:
45: Permission to use, copy, modify, and distribute this software and its
46: documentation for any purpose and without fee is hereby granted,
47: provided that the above copyright notice appear in all copies and that
48: both that copyright notice and this permission notice appear in
49: supporting documentation, and that the name of IBM not be
50: used in advertising or publicity pertaining to distribution of the
51: software without specific, written prior permission.
52:
53: IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
54: ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
55: IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
56: ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
57: WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
58: ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
59: SOFTWARE.
60:
61: ******************************************************************/
62:
63: /*
64: * ARGO Project, Computer Sciences Dept., University of Wisconsin - Madison
65: */
66:
67: /*
68: * Interface address, iso version. One of these structures is
69: * allocated for each interface with an osi address. The ifaddr
70: * structure conatins the protocol-independent part
71: * of the structure, and is assumed to be first.
72: */
73: struct iso_ifaddr {
74: struct ifaddr ia_ifa; /* protocol-independent info */
75: #define ia_ifp ia_ifa.ifa_ifp
76: #define ia_flags ia_ifa.ifa_flags
77: int ia_snpaoffset;
78: struct iso_ifaddr *ia_next; /* next in list of iso addresses */
79: struct sockaddr_iso ia_addr; /* reserve space for interface name */
80: struct sockaddr_iso ia_dstaddr; /* reserve space for broadcast addr */
81: #define ia_broadaddr ia_dstaddr
82: struct sockaddr_iso ia_sockmask; /* reserve space for general netmask */
83: };
84:
85: struct iso_aliasreq {
86: char ifra_name[IFNAMSIZ]; /* if name, e.g. "en0" */
87: struct sockaddr_iso ifra_addr;
88: struct sockaddr_iso ifra_dstaddr;
89: struct sockaddr_iso ifra_mask;
90: int ifra_snpaoffset;
91: };
92:
93: struct iso_ifreq {
94: char ifr_name[IFNAMSIZ]; /* if name, e.g. "en0" */
95: struct sockaddr_iso ifr_Addr;
96: };
97:
98: /*
99: * Given a pointer to an iso_ifaddr (ifaddr),
100: * return a pointer to the addr as a sockaddr_iso
101: */
102: /*
103: #define IA_SIS(ia) ((struct sockaddr_iso *)(ia.ia_ifa->ifa_addr))
104: * works if sockaddr_iso becomes variable sized.
105: */
106: #define IA_SIS(ia) (&(((struct iso_ifaddr *)ia)->ia_addr))
107:
108: #define SIOCDIFADDR_ISO _IOW('i',25, struct iso_ifreq) /* delete IF addr */
109: #define SIOCAIFADDR_ISO _IOW('i',26, struct iso_aliasreq)/* add/chg IFalias */
110: #define SIOCGIFADDR_ISO _IOWR('i',33, struct iso_ifreq) /* get ifnet address */
111: #define SIOCGIFDSTADDR_ISO _IOWR('i',34, struct iso_ifreq) /* get dst address */
112: #define SIOCGIFNETMASK_ISO _IOWR('i',37, struct iso_ifreq) /* get dst address */
113:
114: /*
115: * This stuff should go in if.h or if_llc.h or someplace else,
116: * but for now . . .
117: */
118:
119: struct llc_etherhdr {
120: char dst[6];
121: char src[6];
122: char len[2];
123: char llc_dsap;
124: char llc_ssap;
125: char llc_ui_byte;
126: };
127:
128: struct snpa_hdr {
129: struct ifnet *snh_ifp;
130: char snh_dhost[6];
131: char snh_shost[6];
132: short snh_flags;
133: };
134: #ifdef KERNEL
135: struct iso_ifaddr *iso_ifaddr; /* linked list of iso address ifaces */
136: struct iso_ifaddr *iso_localifa(); /* linked list of iso address ifaces */
137: struct ifqueue clnlintrq; /* clnl packet input queue */
138: #endif KERNEL
1.1.1.3 ! root 139:
! 140: #endif /* !_NETISO_ISO_VAR_H_ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.