blob: 6bf5d477e76da574270c2b7a2c39fd7dff45209d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
|
/*
* MIB statistics gathering routines
* for Linux architecture
*/
#ifndef _MIBGROUP_KERNEL_LINUX_H
#define _MIBGROUP_KERNEL_LINUX_H
struct ip_mib {
unsigned long ipForwarding;
unsigned long ipDefaultTTL;
unsigned long ipInReceives;
unsigned long ipInHdrErrors;
unsigned long ipInAddrErrors;
unsigned long ipForwDatagrams;
unsigned long ipInUnknownProtos;
unsigned long ipInDiscards;
unsigned long ipInDelivers;
unsigned long ipOutRequests;
unsigned long ipOutDiscards;
unsigned long ipOutNoRoutes;
unsigned long ipReasmTimeout;
unsigned long ipReasmReqds;
unsigned long ipReasmOKs;
unsigned long ipReasmFails;
unsigned long ipFragOKs;
unsigned long ipFragFails;
unsigned long ipFragCreates;
unsigned long ipRoutingDiscards;
};
struct ip6_mib {
unsigned long ip6InReceives;
unsigned long ip6InHdrErrors;
unsigned long ip6InTooBigErrors;
unsigned long ip6InNoRoutes;
unsigned long ip6InAddrErrors;
unsigned long ip6InUnknownProtos;
unsigned long ip6InTruncatedPkts;
unsigned long ip6InDiscards;
unsigned long ip6InDelivers;
unsigned long ip6OutForwDatagrams;
unsigned long ip6OutRequests;
unsigned long ip6OutDiscards;
unsigned long ip6OutNoRoutes;
unsigned long ip6ReasmTimeout;
unsigned long ip6ReasmReqds;
unsigned long ip6ReasmOKs;
unsigned long ip6ReasmFails;
unsigned long ip6FragOKs;
unsigned long ip6FragFails;
unsigned long ip6FragCreates;
unsigned long ip6InMcastPkts;
unsigned long ip6OutMcastPkts;
};
struct icmp_mib {
unsigned long icmpInMsgs;
unsigned long icmpInErrors;
unsigned long icmpInDestUnreachs;
unsigned long icmpInTimeExcds;
unsigned long icmpInParmProbs;
unsigned long icmpInSrcQuenchs;
unsigned long icmpInRedirects;
unsigned long icmpInEchos;
unsigned long icmpInEchoReps;
unsigned long icmpInTimestamps;
unsigned long icmpInTimestampReps;
unsigned long icmpInAddrMasks;
unsigned long icmpInAddrMaskReps;
unsigned long icmpOutMsgs;
unsigned long icmpOutErrors;
unsigned long icmpOutDestUnreachs;
unsigned long icmpOutTimeExcds;
unsigned long icmpOutParmProbs;
unsigned long icmpOutSrcQuenchs;
unsigned long icmpOutRedirects;
unsigned long icmpOutEchos;
unsigned long icmpOutEchoReps;
unsigned long icmpOutTimestamps;
unsigned long icmpOutTimestampReps;
unsigned long icmpOutAddrMasks;
unsigned long icmpOutAddrMaskReps;
};
struct icmp6_mib {
unsigned long icmp6InMsgs;
unsigned long icmp6InErrors;
unsigned long icmp6InDestUnreachs;
unsigned long icmp6InPktTooBigs;
unsigned long icmp6InTimeExcds;
unsigned long icmp6InParmProblems;
unsigned long icmp6InEchos;
unsigned long icmp6InEchoReplies;
unsigned long icmp6InGroupMembQueries;
unsigned long icmp6InGroupMembResponses;
unsigned long icmp6InGroupMembReductions;
unsigned long icmp6InRouterSolicits;
unsigned long icmp6InRouterAdvertisements;
unsigned long icmp6InNeighborSolicits;
unsigned long icmp6InNeighborAdvertisements;
unsigned long icmp6InRedirects;
unsigned long icmp6OutMsgs;
unsigned long icmp6OutDestUnreachs;
unsigned long icmp6OutPktTooBigs;
unsigned long icmp6OutTimeExcds;
unsigned long icmp6OutParmProblems;
unsigned long icmp6OutEchoReplies;
unsigned long icmp6OutRouterSolicits;
unsigned long icmp6OutNeighborSolicits;
unsigned long icmp6OutNeighborAdvertisements;
unsigned long icmp6OutRedirects;
unsigned long icmp6OutGroupMembResponses;
unsigned long icmp6OutGroupMembReductions;
};
struct icmp_msg_mib {
unsigned long InType;
unsigned long OutType;
};
/* Lets use wrapper structures for future expansion */
struct icmp4_msg_mib {
struct icmp_msg_mib vals[255];
};
struct icmp6_msg_mib {
struct icmp_msg_mib vals[255];
};
struct udp_mib {
unsigned long udpInDatagrams;
unsigned long udpNoPorts;
unsigned long udpInErrors;
unsigned long udpOutDatagrams;
};
struct udp6_mib {
unsigned long udp6InDatagrams;
unsigned long udp6NoPorts;
unsigned long udp6InErrors;
unsigned long udp6OutDatagrams;
};
struct tcp_mib {
unsigned long tcpRtoAlgorithm;
unsigned long tcpRtoMin;
unsigned long tcpRtoMax;
unsigned long tcpMaxConn;
unsigned long tcpActiveOpens;
unsigned long tcpPassiveOpens;
unsigned long tcpAttemptFails;
unsigned long tcpEstabResets;
unsigned long tcpCurrEstab;
unsigned long tcpInSegs;
unsigned long tcpOutSegs;
unsigned long tcpRetransSegs;
unsigned long tcpInErrs;
unsigned long tcpOutRsts;
short tcpInErrsValid;
short tcpOutRstsValid;
};
int linux_read_ip_stat(struct ip_mib *);
int linux_read_ip6_stat(struct ip6_mib *);
int linux_read_icmp_stat(struct icmp_mib *);
int linux_read_icmp6_stat(struct icmp6_mib *);
int linux_read_udp_stat(struct udp_mib *);
int linux_read_udp6_stat(struct udp6_mib *);
int linux_read_tcp_stat(struct tcp_mib *);
int linux_read_icmp_msg_stat(struct icmp_mib *,
struct icmp4_msg_mib *,
int *flag);
int linux_read_icmp6_msg_stat(struct icmp6_mib *,
struct icmp6_msg_mib *,
int *support);
#endif /* _MIBGROUP_KERNEL_LINUX_H */
|