|
|
1.1 root 1: /* interfaces.h - support for MIB realization of the Interfaces group */
2:
3: /*
4: * $Header: /f/osi/snmp/RCS/interfaces.h,v 7.2 90/03/24 10:54:06 mrose Exp $
5: *
6: * Contributed by NYSERNet Inc. This work was partially supported by the
7: * U.S. Defense Advanced Research Projects Agency and the Rome Air Development
8: * Center of the U.S. Air Force Systems Command under contract number
9: * F30602-88-C-0016.
10: *
11: *
12: * $Log: interfaces.h,v $
13: * Revision 7.2 90/03/24 10:54:06 mrose
14: * update
15: *
16: * Revision 7.1 90/01/11 18:34:08 mrose
17: * real-sync
18: *
19: * Revision 7.0 89/11/23 22:23:06 mrose
20: * Release 6.0
21: *
22: */
23:
24: /*
25: * NOTICE
26: *
27: * Acquisition, use, and distribution of this module and related
28: * materials are subject to the restrictions of a license agreement.
29: * Consult the Preface in the User's Manual for the full terms of
30: * this agreement.
31: *
32: */
33:
34:
35: #include "internet.h"
36: #include <net/if.h>
37: #include <netinet/if_ether.h> /* to get struct arpcom */
38: #include "clnp.h"
39:
40: /* */
41:
42: extern int ifNumber;
43:
44: struct interface {
45: int ifn_index; /* 1..ifNumber */
46: int ifn_indexmask; /* 1 << (index - 1) */
47:
48: int ifn_ready; /* has an address associated with it */
49:
50: struct arpcom ifn_interface; /* ifnet+physaddr */
51: unsigned long ifn_offset; /* where in kmem */
52:
53: char ifn_descr[IFNAMSIZ]; /* e.g., "lo0" */
54:
55: int ifn_type; /* ifType */
56: int ifn_speed; /* ifSpeed */
57: int ifn_admin; /* ifAdminStatus */
58:
59: struct interface *ifn_next;
60: };
61:
62: extern struct interface *ifs;
63:
64:
65: int set_interface (), sort_interface ();
66:
67: /* */
68:
69: union sockaddr_un { /* 'cause sizeof (struct sockaddr_iso) == 32 */
70: struct sockaddr sa;
71:
72: struct sockaddr_in un_in;
73: #ifdef BSD44
74: struct sockaddr_iso un_iso;
75: #endif
76: };
77:
78:
79: struct address {
80: #define ADR_SIZE (20 + 1 + 1) /* object instance */
81: unsigned int adr_instance[ADR_SIZE];
82: int adr_insize;
83:
84: union sockaddr_un adr_address; /* address */
85: union sockaddr_un adr_broadaddr; /* broadcast, only if AF_INET */
86: union sockaddr_un adr_netmask; /* network mask */
87:
88: int adr_indexmask; /* mask of interfaces with address */
89:
90: struct address *adr_next;
91: };
92:
93: extern struct address *afs_inet;
94: #ifdef BSD44
95: extern struct address *afs_iso;
96: #endif
97:
98:
99: struct address *find_address (), *get_addrent ();
100:
101:
102: #if defined(BSD44) || defined(BSD43_Tahoe) || defined(RT) || defined(MIPS)
103: #define NEW_AT
104: #else
105: #undef NEW_AT
106: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.