snmib.c
来自「TCP-IP红宝书源代码」· C语言 代码 · 共 291 行 · 第 1/2 页
C
291 行
/* snmib.c */
#include <conf.h>
#include <kernel.h>
#include <network.h>
#ifdef SNMP
#include <snmp.h>
#include <mib.h>
#include <asn1.h>
#include <snmpvars.h>
extern struct oid SysObjectID;
/* All table and leaf variables that are found in the MIB */
struct mib_info mib[] = {
/* System Group - 1 */
{ "system", "", { {1}, 1}, T_AGGREGATE,
FALSE, NLEAF, 0, 0, 0},
{ "sysDescr", "system.", { {1, 1, 0}, 3}, ASN1_OCTSTR,
FALSE, LEAF, snleaf, SysDescr, 0},
{ "sysObjectID", "system.", { {1, 2, 0}, 3}, ASN1_OBJID,
FALSE, LEAF, snleaf, (char *)&SysObjectID, 0},
{ "sysUpTime", "system.", { {1, 3, 0}, 3}, ASN1_TIMETICKS,
FALSE, LEAF, snleaf, (char *)&SysUpTime, 0},
{ "sysContact", "system.", { {1, 4, 0}, 3}, ASN1_OCTSTR,
TRUE, LEAF, snleaf, SysContact, 0},
{ "sysName", "system.", { {1, 5, 0}, 3}, ASN1_OCTSTR,
TRUE, LEAF, snleaf, SysName, 0},
{ "sysLocation", "system.", { {1, 6, 0}, 3}, ASN1_OCTSTR,
TRUE, LEAF, snleaf, SysLocation, 0},
{ "sysServices", "system.", { {1, 7, 0}, 3}, ASN1_INT,
FALSE, LEAF, snleaf, (char *)&SysServices, 0},
/* Interfaces Group - 2 */
{ "if", "", { {2}, 1}, T_AGGREGATE,
FALSE, NLEAF, 0, 0, 0},
{ "ifNumber", "if.", { {2, 1, 0}, 3}, ASN1_INT,
FALSE, LEAF, snleaf, (char *)&IfNumber, 0},
{ "ifTable", "if.", { {2, 2}, 2}, T_AGGREGATE,
TRUE, NLEAF, 0, 0, 0},
{ "ifEntry", "if.ifTable.", { {2, 2, 1}, 3}, T_TABLE,
TRUE, NLEAF, sntable, (char *)&tabtab[T_IFTABLE], 0},
/* Address Translation Group - 3 (deprecated in RFC 1213) */
{ "at", "", { {3}, 1}, T_AGGREGATE,
TRUE, NLEAF, 0, 0, 0},
{ "atTable", "at.", { {3, 1}, 2}, T_AGGREGATE,
TRUE, NLEAF, 0, 0, 0},
{ "atEntry", "at.atTable.", { {3, 1, 1}, 3}, T_TABLE,
TRUE, NLEAF, sntable, (char *)&tabtab[T_ATTABLE], 0},
/* IP Group - 4 */
{ "ip", "", { {4}, 1}, T_AGGREGATE,
TRUE, NLEAF, 0, 0, 0},
{ "ipForwarding", "ip.", { {4, 1, 0}, 3}, ASN1_INT,
TRUE, LEAF, snleaf, (char *)&IpForwarding, 0},
{ "ipDefaultTTL", "ip.", { {4, 2, 0}, 3}, ASN1_INT,
TRUE, LEAF, snleaf, (char *)&IpDefaultTTL, 0},
{ "ipInReceives", "ip.", { {4, 3, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IpInReceives, 0},
{ "ipInHdrErrors", "ip.", { {4, 4, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IpInHdrErrors, 0},
{ "ipInAddrErrors", "ip.", { {4, 5, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IpInAddrErrors, 0},
{ "ipForwDatagrams", "ip.", { {4, 6, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IpForwDatagrams, 0},
{ "ipInUnknownProtos", "ip.", { {4, 7, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IpInUnknownProtos, 0},
{ "ipInDiscards", "ip.", { {4, 8, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IpInDiscards, 0},
{ "ipInDelivers", "ip.", { {4, 9, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IpInDelivers, 0},
{ "ipOutRequests", "ip.", { {4, 10, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IpOutRequests, 0},
{ "ipOutDiscards", "ip.", { {4, 11, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IpOutDiscards, 0},
{ "ipOutNoRoutes", "ip.", { {4, 12, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IpOutNoRoutes, 0},
{ "ipReasmTimeout", "ip.", { {4, 13, 0}, 3}, ASN1_INT,
FALSE, LEAF, snleaf, (char *)&IpReasmTimeout, 0},
{ "ipReasmReqds", "ip.", { {4, 14, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IpReasmReqds, 0},
{ "ipReasmOKs", "ip.", { {4, 15, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IpReasmOKs, 0},
{ "ipReasmFails", "ip.", { {4, 16, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IpReasmFails, 0},
{ "ipFragOKs", "ip.", { {4, 17, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IpFragOKs, 0},
{ "ipFragFails", "ip.", { {4, 18, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IpFragFails, 0},
{ "ipFragCreates", "ip.", { {4, 19, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IpFragCreates, 0},
{ "ipAddrTable", "ip.", { {4, 20}, 2}, T_AGGREGATE,
FALSE, NLEAF, 0, 0, 0},
{ "ipAddrEntry", "ip.ipAddrTable.", { {4, 20, 1}, 3}, T_TABLE,
FALSE, NLEAF, sntable, (char *)&tabtab[T_AETABLE], 0},
{ "ipRouteTable", "ip.", { {4, 21}, 2}, T_AGGREGATE,
TRUE, NLEAF, 0, 0, 0},
{ "ipRouteEntry", "ip.ipRouteTable.", { {4, 21, 1}, 3}, T_TABLE,
TRUE, NLEAF, sntable, (char *)&tabtab[T_RTTABLE], 0},
{ "ipNetToMediaTable", "ip.", { {4, 22}, 2}, T_AGGREGATE,
TRUE, NLEAF, 0, 0, 0},
{ "ipNetToMediaEntry", "ip.ipNetToMediaTable.", { {4, 22, 1}, 3},
T_TABLE,
TRUE, NLEAF, sntable, (char *)&tabtab[T_NMTABLE], 0},
{ "ipRoutingDiscards", "ip.", { {4, 23, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IpRoutingDiscards, 0},
/* ICMP Group - 5 */
{ "icmp", "", { {5}, 1}, T_AGGREGATE,
FALSE, NLEAF, 0, 0, 0},
{ "icmpInMsgs", "icmp.", { {5, 1, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IcmpInMsgs, 0},
{ "icmpInErrors", "icmp.", { {5, 2, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IcmpInErrors, 0},
{ "icmpInDestUnreachs", "icmp.", { {5, 3, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IcmpInDestUnreachs, 0},
{ "icmpInTimeExcds", "icmp.", { {5, 4, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IcmpInTimeExcds, 0},
{ "icmpInParmProbs", "icmp.", { {5, 5, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IcmpInParmProbs, 0},
{ "icmpInSrcQuenchs", "icmp.", { {5, 6, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IcmpInSrcQuenchs, 0},
{ "icmpInRedirects", "icmp.", { {5, 7, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IcmpInRedirects, 0},
{ "icmpInEchos", "icmp.", { {5, 8, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IcmpInEchos, 0},
{ "icmpInEchoReps", "icmp.", { {5, 9, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IcmpInEchoReps, 0},
{ "icmpInTimestamps", "icmp.", { {5, 10, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IcmpInTimestamps, 0},
{ "icmpInTimestampReps", "icmp.", { {5, 11, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IcmpInTimestampReps, 0},
{ "icmpInAddrMasks", "icmp.", { {5, 12, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IcmpInAddrMasks, 0},
{ "icmpInAddrMaskReps", "icmp.", { {5, 13, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IcmpInAddrMaskReps, 0},
{ "icmpOutMsgs", "icmp.", { {5, 14, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IcmpOutMsgs, 0},
{ "icmpOutErrors", "icmp.", { {5, 15, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IcmpOutErrors, 0},
{ "icmpOutDestUnreachs", "icmp.", { {5, 16, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IcmpOutDestUnreachs, 0},
{ "icmpOutTimeExcds", "icmp.", { {5, 17, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IcmpOutTimeExcds, 0},
{ "icmpOutParmProbs", "icmp.", { {5, 18, 0}, 3}, ASN1_COUNTER,
FALSE, LEAF, snleaf, (char *)&IcmpOutParmProbs, 0},
{ "icmpOutSrcQuenchs", "icmp.", { {5, 19, 0}, 3}, ASN1_COUNTER,
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?