These are the current versions (actually already 2 years old).
[unix-history] / usr / src / sys / netns / ns_if.h
CommitLineData
8ae0e4b4 1/*
240edf1f
KS
2 * Copyright (c) 1984, 1985, 1986, 1987 Regents of the University of California.
3 * All rights reserved.
8ae0e4b4 4 *
240edf1f 5 * Redistribution and use in source and binary forms are permitted
616d42db
KB
6 * provided that the above copyright notice and this paragraph are
7 * duplicated in all such forms and that any documentation,
8 * advertising materials, and other materials related to such
9 * distribution and use acknowledge that the software was developed
10 * by the University of California, Berkeley. The name of the
11 * University may not be used to endorse or promote products derived
12 * from this software without specific prior written permission.
13 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
14 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
15 * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
240edf1f 16 *
616d42db 17 * @(#)ns_if.h 7.3 (Berkeley) %G%
8ae0e4b4 18 */
c87a037b
KS
19
20/*
21 * Interface address, xerox version. One of these structures
22 * is allocated for each interface with an internet address.
23 * The ifaddr structure contains the protocol-independent part
24 * of the structure and is assumed to be first.
25 */
26
27struct ns_ifaddr {
28 struct ifaddr ia_ifa; /* protocol-independent info */
29#define ia_addr ia_ifa.ifa_addr
30#define ia_broadaddr ia_ifa.ifa_broadaddr
31#define ia_dstaddr ia_ifa.ifa_dstaddr
32#define ia_ifp ia_ifa.ifa_ifp
33 union ns_net ia_net; /* network number of interface */
34 int ia_flags;
35 struct ns_ifaddr *ia_next; /* next in list of internet addresses */
36};
37
38/*
39 * Given a pointer to an ns_ifaddr (ifaddr),
40 * return a pointer to the addr as a sockadd_ns.
41 */
42
43#define IA_SNS(ia) ((struct sockaddr_ns *)(&((struct ns_ifaddr *)ia)->ia_addr))
44/*
45 * ia_flags
46 */
47#define IFA_ROUTE 0x01 /* routing entry installed */
48
49/* This is not the right place for this but where is? */
50#define ETHERTYPE_NS 0x0600
51
52#ifdef NSIP
53struct nsip_req {
54 struct sockaddr rq_ns; /* must be ns format destination */
55 struct sockaddr rq_ip; /* must be ip format gateway */
56 short rq_flags;
57};
58#endif
59
60#ifdef KERNEL
58bca61d
MK
61struct ns_ifaddr *ns_ifaddr;
62struct ns_ifaddr *ns_iaonnetof();
63struct ifqueue nsintrq; /* XNS input packet queue */
c87a037b 64#endif