|
|
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.