SNMP integration and GUI
[tomato.git] / release / src / router / snmp / agent / mibgroup / mibII / interfaces.h
blob43401e35d5326fd45724d7fb6fd659762f541b18
1 /*
2 * Interfaces MIB group interface - interfaces.h
4 */
5 #ifndef _MIBGROUP_INTERFACES_H
6 #define _MIBGROUP_INTERFACES_H
8 config_require(util_funcs)
9 config_arch_require(solaris2, kernel_sunos5)
10 #ifdef hpux11
11 #include <sys/mib.h>
12 #else
13 struct in_ifaddr;
14 struct ifnet;
15 #endif
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)
21 struct in_ifaddr {
22 int dummy;
24 #endif
25 #if defined(hpux11)
26 int Interface_Scan_Next(short *, char *, nmapi_phystat *);
27 #else
28 int Interface_Scan_Next(short *, char *, struct ifnet *,
29 struct in_ifaddr *);
30 #endif
32 void init_interfaces(void);
33 extern FindVarMethod var_interfaces;
34 extern FindVarMethod var_ifEntry;
36 #define IFNUMBER 0
37 #define IFINDEX 1
38 #define IFDESCR 2
39 #define IFTYPE 3
40 #define IFMTU 4
41 #define IFSPEED 5
42 #define IFPHYSADDRESS 6
43 #define IFADMINSTATUS 7
44 #define IFOPERSTATUS 8
45 #define IFLASTCHANGE 9
46 #define IFINOCTETS 10
47 #define IFINUCASTPKTS 11
48 #define IFINNUCASTPKTS 12
49 #define IFINDISCARDS 13
50 #define IFINERRORS 14
51 #define IFINUNKNOWNPROTOS 15
52 #define IFOUTOCTETS 16
53 #define IFOUTUCASTPKTS 17
54 #define IFOUTNUCASTPKTS 18
55 #define IFOUTDISCARDS 19
56 #define IFOUTERRORS 20
57 #define IFOUTQLEN 21
58 #define IFSPECIFIC 22
60 #ifdef linux
62 * this struct ifnet is cloned from the generic type and somewhat modified.
63 * it will not work for other un*x'es...
66 struct ifnet {
67 char *if_name; /* name, e.g. ``en'' or ``lo'' */
68 char *if_unit; /* sub-unit for lower level driver */
69 short if_mtu; /* maximum transmission unit */
70 short if_flags; /* up/down, broadcast, etc. */
71 int if_metric; /* routing metric (external only) */
72 char if_hwaddr[6]; /* ethernet address */
73 int if_type; /* interface type: 1=generic,
74 * 28=slip, ether=6, loopback=24 */
75 u_long if_speed; /* interface speed: in bits/sec */
77 struct sockaddr if_addr; /* interface's address */
78 struct sockaddr ifu_broadaddr; /* broadcast address */
79 struct sockaddr ia_subnetmask; /* interface's mask */
81 struct ifqueue {
82 int ifq_len;
83 int ifq_drops;
84 } if_snd; /* output queue */
85 u_long if_ibytes; /* octets received on interface */
86 u_long if_ipackets; /* packets received on interface */
87 u_long if_ierrors; /* input errors on interface */
88 u_long if_iqdrops; /* input queue overruns */
89 u_long if_obytes; /* octets sent on interface */
90 u_long if_opackets; /* packets sent on interface */
91 u_long if_oerrors; /* output errors on interface */
92 u_long if_collisions; /* collisions on csma interfaces */
94 * end statistics
96 struct ifnet *if_next;
98 #endif
99 #endif /* _MIBGROUP_INTERFACES_H */