2 * Interfaces MIB group interface - interfaces.h
5 #ifndef _MIBGROUP_INTERFACES_H
6 #define _MIBGROUP_INTERFACES_H
8 config_require(util_funcs)
9 config_arch_require(solaris2, kernel_sunos5)
17 int Interface_Scan_Get_Count(void);
18 int Interface_Index_By_Name(char *, int);
19 void Interface_Scan_Init(void);
20 #if defined(linux) || defined(sunV3)
26 int Interface_Scan_Next(short *, char *, nmapi_phystat *);
28 int Interface_Scan_Next(short *, char *, struct ifnet *,
32 void init_interfaces(void);
33 extern FindVarMethod var_interfaces;
34 extern FindVarMethod var_ifEntry;
36 extern int getAtmIntfAdminStatus(void);
37 extern int setAtmIntfAdminStatus(int status);
38 extern int getAtmIntfOperStatus(void);
39 extern int getAdslOperStatus(void);
40 extern int getAdslAdminStatus(void);
41 extern int setAdslAdminStatus(int status);
42 extern unsigned long getAdslIfSpeed(void);
50 #define IFPHYSADDRESS 6
51 #define IFADMINSTATUS 7
52 #define IFOPERSTATUS 8
53 #define IFLASTCHANGE 9
55 #define IFINUCASTPKTS 11
56 #define IFINNUCASTPKTS 12
57 #define IFINDISCARDS 13
59 #define IFINUNKNOWNPROTOS 15
60 #define IFOUTOCTETS 16
61 #define IFOUTUCASTPKTS 17
62 #define IFOUTNUCASTPKTS 18
63 #define IFOUTDISCARDS 19
64 #define IFOUTERRORS 20
68 /* brcm: some definitions IANAifType */
69 #define IF_IANAIFTYPE_ETHERNETCSMACD 6
70 #define IF_IANAIFTYPE_TOKENRING 9
71 #define IF_IANAIFTYPE_FDDI 15
72 #define IF_IANAIFTYPE_PPP 23
73 #define IF_IANAIFTYPE_SOFTWARELOOPBACK 24
74 #define IF_IANAIFTYPE_SLIP 28
75 #define IF_IANAIFTYPE_ARCNETPLUS 35
76 #define IF_IANAIFTYPE_ATM 37
77 #define IF_IANAIFTYPE_LOCALTALK 42
78 #define IF_IANAIFTYPE_HIPPI 47
79 #define IF_IANAIFTYPE_AAL5 49
80 #define IF_IANAIFTYPE_ADSL 94
81 #define IF_IANAIFTYPE_TUNNEL 131
82 /* some status definition */
83 #define IF_ADMIN_STATUS_UP 1
84 #define IF_ADMIN_STATUS_DOWN 2
85 #define IF_ADMIN_STATUS_TESTING 3
86 #define IF_OPER_STATUS_UP 1
87 #define IF_OPER_STATUS_DOWN 2
88 #define IF_OPER_STATUS_TESTING 3
89 #define IF_OPER_STATUS_UNKNOWN 4
90 #define IF_OPER_STATUS_DORMANT 5
91 #define IF_OPER_STATUS_NOTPRESENT 6
92 #define IF_OPER_STATUS_LOWER_LAYER_DOWN 7
93 /* some private device names */
94 #define IF_BRCM_DSL_DEV_NAME "dsl0"
95 #define IF_BRCM_ATM_DEV_NAME "atm0"
96 #define IF_BRCM_ATM_CPCS_DEV_NAME "cpcs0"
100 * this struct ifnet is cloned from the generic type and somewhat modified.
101 * it will not work for other un*x'es...
105 char *if_name; /* name, e.g. ``en'' or ``lo'' */
106 char *if_unit; /* sub-unit for lower level driver */
107 //brcm if_mtu should be 32 bits not 16
108 //short if_mtu; /* maximum transmission unit */
109 int if_mtu; /* maximum transmission unit */
110 short if_flags; /* up/down, broadcast, etc. */
111 int if_metric; /* routing metric (external only) */
112 char if_hwaddr[6]; /* ethernet address */
113 int if_type; /* interface type: 1=generic,
114 * 28=slip, ether=6, loopback=24 */
115 u_long if_speed; /* interface speed: in bits/sec */
117 struct sockaddr if_addr; /* interface's address */
118 struct sockaddr ifu_broadaddr; /* broadcast address */
119 struct sockaddr ia_subnetmask; /* interface's mask */
124 } if_snd; /* output queue */
125 u_long if_ibytes; /* octets received on interface */
126 u_long if_ipackets; /* packets received on interface */
127 u_long if_ierrors; /* input errors on interface */
128 u_long if_iqdrops; /* input queue overruns */
129 u_long if_obytes; /* octets sent on interface */
130 u_long if_opackets; /* packets sent on interface */
131 u_long if_oerrors; /* output errors on interface */
132 u_long if_collisions; /* collisions on csma interfaces */
133 u_long if_lastchange; /* TimeTicks (1/100ths of a second since last change) */
137 struct ifnet *if_next;
140 #endif /* _MIBGROUP_INTERFACES_H */