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 + -
显示快捷键?