⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 snmp_core.c

📁 -
💻 C
📖 第 1 页 / 共 3 页
字号:
/* * $Id: snmp_core.c,v 1.34.2.8 1999/04/29 21:57:38 wessels Exp $ * * DEBUG: section 49    SNMP support * AUTHOR: Glenn Chisholm * * SQUID Internet Object Cache  http://squid.nlanr.net/Squid/ * ---------------------------------------------------------- * *  Squid is the result of efforts by numerous individuals from the *  Internet community.  Development is led by Duane Wessels of the *  National Laboratory for Applied Network Research and funded by the *  National Science Foundation.  Squid is Copyrighted (C) 1998 by *  Duane Wessels and the University of California San Diego.  Please *  see the COPYRIGHT file for full details.  Squid incorporates *  software developed and/or copyrighted by other sources.  Please see *  the CREDITS file for full details. * *  This program is free software; you can redistribute it and/or modify *  it under the terms of the GNU General Public License as published by *  the Free Software Foundation; either version 2 of the License, or *  (at your option) any later version. * *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. * *  You should have received a copy of the GNU General Public License *  along with this program; if not, write to the Free Software *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */#include "squid.h"#include "cache_snmp.h"#define SNMP_REQUEST_SIZE 4096#define MAX_PROTOSTAT 5typedef struct _mib_tree_entry mib_tree_entry;typedef oid *(instance_Fn) (oid * name, snint * len, mib_tree_entry * current, oid_ParseFn ** Fn);struct _mib_tree_entry {    oid *name;    int len;    oid_ParseFn *parsefunction;    instance_Fn *instancefunction;    int children;    struct _mib_tree_entry **leaves;    struct _mib_tree_entry *parent;};mib_tree_entry *mib_tree_head;mib_tree_entry *mib_tree_last;#if STDC_HEADERSstatic mib_tree_entry *snmpAddNode(oid * name, int len, oid_ParseFn * parsefunction, instance_Fn * instancefunction, int children,...);static oid *snmpCreateOid(int length,...);#elsestatic mib_tree_entry *snmpAddNode();static oid *snmpCreateOid();#endifextern void (*snmplib_debug_hook) (int, char *);static oid *static_Inst(oid * name, snint * len, mib_tree_entry * current, oid_ParseFn ** Fn);static oid *time_Inst(oid * name, snint * len, mib_tree_entry * current, oid_ParseFn ** Fn);static oid *peer_Inst(oid * name, snint * len, mib_tree_entry * current, oid_ParseFn ** Fn);static oid *client_Inst(oid * name, snint * len, mib_tree_entry * current, oid_ParseFn ** Fn);static void snmpDecodePacket(snmp_request_t * rq);static void snmpConstructReponse(snmp_request_t * rq);static struct snmp_pdu *snmpAgentResponse(struct snmp_pdu *PDU);static oid_ParseFn *snmpTreeNext(oid * Current, snint CurrentLen, oid ** Next, snint * NextLen);static oid_ParseFn *snmpTreeGet(oid * Current, snint CurrentLen);static mib_tree_entry *snmpTreeEntry(oid entry, snint len, mib_tree_entry * current);static mib_tree_entry *snmpTreeSiblingEntry(oid entry, snint len, mib_tree_entry * current);static oid *snmpOidDup(oid * A, snint ALen);static void snmpSnmplibDebug(int lvl, char *buf);/* * The functions used during startup: * snmpInit * snmpConnectionOpen * snmpConnectionShutdown * snmpConnectionClose *//* * Turns the MIB into a Tree structure. Called during the startup process. */voidsnmpInit(void){    debug(49, 5) ("snmpInit: Called.\n");    debug(49, 5) ("snmpInit: Building SNMP mib tree structure\n");    snmplib_debug_hook = snmpSnmplibDebug;    mib_tree_head = snmpAddNode(snmpCreateOid(1, 1),	1, NULL, NULL, 1,	snmpAddNode(snmpCreateOid(2, 1, 3),	    2, NULL, NULL, 1,	    snmpAddNode(snmpCreateOid(3, 1, 3, 6),		3, NULL, NULL, 1,		snmpAddNode(snmpCreateOid(4, 1, 3, 6, 1),		    4, NULL, NULL, 1,		    snmpAddNode(snmpCreateOid(5, 1, 3, 6, 1, 4),			5, NULL, NULL, 1,			snmpAddNode(snmpCreateOid(6, 1, 3, 6, 1, 4, 1),			    6, NULL, NULL, 1,			    snmpAddNode(snmpCreateOid(7, 1, 3, 6, 1, 4, 1, 3495),				7, NULL, NULL, 1,				snmpAddNode(snmpCreateOid(LEN_SQUIDMIB, SQUIDMIB),				    8, NULL, NULL, 5,				    snmpAddNode(snmpCreateOid(LEN_SQ_SYS, SQ_SYS),					LEN_SQ_SYS, NULL, NULL, 3,					snmpAddNode(snmpCreateOid(LEN_SYS, SQ_SYS, SYSVMSIZ),					    LEN_SYS, snmp_sysFn, static_Inst, 0),					snmpAddNode(snmpCreateOid(LEN_SYS, SQ_SYS, SYSSTOR),					    LEN_SYS, snmp_sysFn, static_Inst, 0),					snmpAddNode(snmpCreateOid(LEN_SYS, SQ_SYS, SYS_UPTIME),					    LEN_SYS, snmp_sysFn, static_Inst, 0)),				    snmpAddNode(snmpCreateOid(LEN_SQ_CONF, SQ_CONF),					LEN_SQ_CONF, NULL, NULL, 5,					snmpAddNode(snmpCreateOid(LEN_SYS, SQ_CONF, CONF_ADMIN),					    LEN_SYS, snmp_confFn, static_Inst, 0),					snmpAddNode(snmpCreateOid(LEN_SYS, SQ_CONF, CONF_VERSION),					    LEN_SYS, snmp_confFn, static_Inst, 0),					snmpAddNode(snmpCreateOid(LEN_SYS, SQ_CONF, CONF_VERSION_ID),					    LEN_SYS, snmp_confFn, static_Inst, 0),					snmpAddNode(snmpCreateOid(LEN_SYS, SQ_CONF, CONF_LOG_FAC),					    LEN_SYS, snmp_confFn, static_Inst, 0),					snmpAddNode(snmpCreateOid(LEN_SYS, SQ_CONF, CONF_STORAGE),					    LEN_SYS, NULL, NULL, 4,					    snmpAddNode(snmpCreateOid(LEN_CONF_ST, SQ_CONF, CONF_STORAGE, CONF_ST_MMAXSZ),						LEN_CONF_ST, snmp_confFn, static_Inst, 0),					    snmpAddNode(snmpCreateOid(LEN_CONF_ST, SQ_CONF, CONF_STORAGE, CONF_ST_SWMAXSZ),						LEN_CONF_ST, snmp_confFn, static_Inst, 0),					    snmpAddNode(snmpCreateOid(LEN_CONF_ST, SQ_CONF, CONF_STORAGE, CONF_ST_SWHIWM),						LEN_CONF_ST, snmp_confFn, static_Inst, 0),					    snmpAddNode(snmpCreateOid(LEN_CONF_ST, SQ_CONF, CONF_STORAGE, CONF_ST_SWLOWM),						LEN_CONF_ST, snmp_confFn, static_Inst, 0))),				    snmpAddNode(snmpCreateOid(LEN_SQ_PRF, SQ_PRF),					LEN_SQ_PRF, NULL, NULL, 2,					snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 1, SQ_PRF, PERF_SYS),					    LEN_SQ_PRF + 1, NULL, NULL, 11,					    snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 2, SQ_PRF, PERF_SYS, 1),						LEN_SQ_PRF + 2, snmp_prfSysFn, static_Inst, 0),					    snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 2, SQ_PRF, PERF_SYS, 2),						LEN_SQ_PRF + 2, snmp_prfSysFn, static_Inst, 0),					    snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 2, SQ_PRF, PERF_SYS, 3),						LEN_SQ_PRF + 2, snmp_prfSysFn, static_Inst, 0),					    snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 2, SQ_PRF, PERF_SYS, 4),						LEN_SQ_PRF + 2, snmp_prfSysFn, static_Inst, 0),					    snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 2, SQ_PRF, PERF_SYS, 5),						LEN_SQ_PRF + 2, snmp_prfSysFn, static_Inst, 0),					    snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 2, SQ_PRF, PERF_SYS, 6),						LEN_SQ_PRF + 2, snmp_prfSysFn, static_Inst, 0),					    snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 2, SQ_PRF, PERF_SYS, 7),						LEN_SQ_PRF + 2, snmp_prfSysFn, static_Inst, 0),					    snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 2, SQ_PRF, PERF_SYS, 8),						LEN_SQ_PRF + 2, snmp_prfSysFn, static_Inst, 0),					    snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 2, SQ_PRF, PERF_SYS, 9),						LEN_SQ_PRF + 2, snmp_prfSysFn, static_Inst, 0),					    snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 2, SQ_PRF, PERF_SYS, 10),						LEN_SQ_PRF + 2, snmp_prfSysFn, static_Inst, 0),					    snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 2, SQ_PRF, PERF_SYS, 11),						LEN_SQ_PRF + 2, snmp_prfSysFn, static_Inst, 0)),					snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 1, SQ_PRF, PERF_PROTO),					    LEN_SQ_PRF + 1, NULL, NULL, 2,					    snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 2, SQ_PRF, PERF_PROTO, 1),						LEN_SQ_PRF + 2, NULL, NULL, 15,						snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 3, SQ_PRF, PERF_PROTO, 1, 1),						    LEN_SQ_PRF + 3, snmp_prfProtoFn, static_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 3, SQ_PRF, PERF_PROTO, 1, 2),						    LEN_SQ_PRF + 3, snmp_prfProtoFn, static_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 3, SQ_PRF, PERF_PROTO, 1, 3),						    LEN_SQ_PRF + 3, snmp_prfProtoFn, static_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 3, SQ_PRF, PERF_PROTO, 1, 4),						    LEN_SQ_PRF + 3, snmp_prfProtoFn, static_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 3, SQ_PRF, PERF_PROTO, 1, 5),						    LEN_SQ_PRF + 3, snmp_prfProtoFn, static_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 3, SQ_PRF, PERF_PROTO, 1, 6),						    LEN_SQ_PRF + 3, snmp_prfProtoFn, static_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 3, SQ_PRF, PERF_PROTO, 1, 7),						    LEN_SQ_PRF + 3, snmp_prfProtoFn, static_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 3, SQ_PRF, PERF_PROTO, 1, 8),						    LEN_SQ_PRF + 3, snmp_prfProtoFn, static_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 3, SQ_PRF, PERF_PROTO, 1, 9),						    LEN_SQ_PRF + 3, snmp_prfProtoFn, static_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 3, SQ_PRF, PERF_PROTO, 1, 10),						    LEN_SQ_PRF + 3, snmp_prfProtoFn, static_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 3, SQ_PRF, PERF_PROTO, 1, 11),						    LEN_SQ_PRF + 3, snmp_prfProtoFn, static_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 3, SQ_PRF, PERF_PROTO, 1, 12),						    LEN_SQ_PRF + 3, snmp_prfProtoFn, static_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 3, SQ_PRF, PERF_PROTO, 1, 13),						    LEN_SQ_PRF + 3, snmp_prfProtoFn, static_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 3, SQ_PRF, PERF_PROTO, 1, 14),						    LEN_SQ_PRF + 3, snmp_prfProtoFn, static_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 3, SQ_PRF, PERF_PROTO, 1, 15),						    LEN_SQ_PRF + 3, snmp_prfProtoFn, static_Inst, 0)),					    snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 2, SQ_PRF, PERF_PROTO, 2),						LEN_SQ_PRF + 2, NULL, NULL, 1,						snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 3, SQ_PRF, PERF_PROTO, 2, 1),						    LEN_SQ_PRF + 3, NULL, NULL, 10,						    snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 4, SQ_PRF, PERF_PROTO, 2, 1, 1),							LEN_SQ_PRF + 4, snmp_prfProtoFn, time_Inst, 0),						    snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 4, SQ_PRF, PERF_PROTO, 2, 1, 2),							LEN_SQ_PRF + 4, snmp_prfProtoFn, time_Inst, 0),						    snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 4, SQ_PRF, PERF_PROTO, 2, 1, 3),							LEN_SQ_PRF + 4, snmp_prfProtoFn, time_Inst, 0),						    snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 4, SQ_PRF, PERF_PROTO, 2, 1, 4),							LEN_SQ_PRF + 4, snmp_prfProtoFn, time_Inst, 0),						    snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 4, SQ_PRF, PERF_PROTO, 2, 1, 5),							LEN_SQ_PRF + 4, snmp_prfProtoFn, time_Inst, 0),						    snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 4, SQ_PRF, PERF_PROTO, 2, 1, 6),							LEN_SQ_PRF + 4, snmp_prfProtoFn, time_Inst, 0),						    snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 4, SQ_PRF, PERF_PROTO, 2, 1, 7),							LEN_SQ_PRF + 4, snmp_prfProtoFn, time_Inst, 0),						    snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 4, SQ_PRF, PERF_PROTO, 2, 1, 8),							LEN_SQ_PRF + 4, snmp_prfProtoFn, time_Inst, 0),						    snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 4, SQ_PRF, PERF_PROTO, 2, 1, 9),							LEN_SQ_PRF + 4, snmp_prfProtoFn, time_Inst, 0),						    snmpAddNode(snmpCreateOid(LEN_SQ_PRF + 4, SQ_PRF, PERF_PROTO, 2, 1, 10),							LEN_SQ_PRF + 4, snmp_prfProtoFn, time_Inst, 0))))),				    snmpAddNode(snmpCreateOid(LEN_SQ_NET, SQ_NET),					LEN_SQ_NET, NULL, NULL, 3,					snmpAddNode(snmpCreateOid(LEN_SQ_NET + 1, SQ_NET, NET_IP_CACHE),					    LEN_SQ_NET + 1, NULL, NULL, 8,					    snmpAddNode(snmpCreateOid(LEN_SQ_NET + 2, SQ_NET, NET_IP_CACHE, IP_ENT),						LEN_SQ_NET + 2, snmp_netIpFn, static_Inst, 0),					    snmpAddNode(snmpCreateOid(LEN_SQ_NET + 2, SQ_NET, NET_IP_CACHE, IP_REQ),						LEN_SQ_NET + 2, snmp_netIpFn, static_Inst, 0),					    snmpAddNode(snmpCreateOid(LEN_SQ_NET + 2, SQ_NET, NET_IP_CACHE, IP_HITS),						LEN_SQ_NET + 2, snmp_netIpFn, static_Inst, 0),					    snmpAddNode(snmpCreateOid(LEN_SQ_NET + 2, SQ_NET, NET_IP_CACHE, IP_PENDHIT),						LEN_SQ_NET + 2, snmp_netIpFn, static_Inst, 0),					    snmpAddNode(snmpCreateOid(LEN_SQ_NET + 2, SQ_NET, NET_IP_CACHE, IP_NEGHIT),						LEN_SQ_NET + 2, snmp_netIpFn, static_Inst, 0),					    snmpAddNode(snmpCreateOid(LEN_SQ_NET + 2, SQ_NET, NET_IP_CACHE, IP_MISS),						LEN_SQ_NET + 2, snmp_netIpFn, static_Inst, 0),					    snmpAddNode(snmpCreateOid(LEN_SQ_NET + 2, SQ_NET, NET_IP_CACHE, IP_GHBN),						LEN_SQ_NET + 2, snmp_netIpFn, static_Inst, 0),					    snmpAddNode(snmpCreateOid(LEN_SQ_NET + 2, SQ_NET, NET_IP_CACHE, IP_LOC),						LEN_SQ_NET + 2, snmp_netIpFn, static_Inst, 0)),					snmpAddNode(snmpCreateOid(LEN_SQ_NET + 1, SQ_NET, NET_FQDN_CACHE),					    LEN_SQ_NET + 1, NULL, NULL, 7,					    snmpAddNode(snmpCreateOid(LEN_SQ_NET + 2, SQ_NET, NET_FQDN_CACHE, FQDN_ENT),						LEN_SQ_NET + 2, snmp_netFqdnFn, static_Inst, 0),					    snmpAddNode(snmpCreateOid(LEN_SQ_NET + 2, SQ_NET, NET_FQDN_CACHE, FQDN_REQ),						LEN_SQ_NET + 2, snmp_netFqdnFn, static_Inst, 0),					    snmpAddNode(snmpCreateOid(LEN_SQ_NET + 2, SQ_NET, NET_FQDN_CACHE, FQDN_HITS),						LEN_SQ_NET + 2, snmp_netFqdnFn, static_Inst, 0),					    snmpAddNode(snmpCreateOid(LEN_SQ_NET + 2, SQ_NET, NET_FQDN_CACHE, FQDN_PENDHIT),						LEN_SQ_NET + 2, snmp_netFqdnFn, static_Inst, 0),					    snmpAddNode(snmpCreateOid(LEN_SQ_NET + 2, SQ_NET, NET_FQDN_CACHE, FQDN_NEGHIT),						LEN_SQ_NET + 2, snmp_netFqdnFn, static_Inst, 0),					    snmpAddNode(snmpCreateOid(LEN_SQ_NET + 2, SQ_NET, NET_FQDN_CACHE, FQDN_MISS),						LEN_SQ_NET + 2, snmp_netFqdnFn, static_Inst, 0),					    snmpAddNode(snmpCreateOid(LEN_SQ_NET + 2, SQ_NET, NET_FQDN_CACHE, FQDN_GHBN),						LEN_SQ_NET + 2, snmp_netFqdnFn, static_Inst, 0)),					snmpAddNode(snmpCreateOid(LEN_SQ_NET + 1, SQ_NET, NET_DNS_CACHE),					    LEN_SQ_NET + 1, NULL, NULL, 3,					    snmpAddNode(snmpCreateOid(LEN_SQ_NET + 2, SQ_NET, NET_DNS_CACHE, DNS_REQ),						LEN_SQ_NET + 2, snmp_netDnsFn, static_Inst, 0),					    snmpAddNode(snmpCreateOid(LEN_SQ_NET + 2, SQ_NET, NET_DNS_CACHE, DNS_REP),						LEN_SQ_NET + 2, snmp_netDnsFn, static_Inst, 0),					    snmpAddNode(snmpCreateOid(LEN_SQ_NET + 2, SQ_NET, NET_DNS_CACHE, DNS_SERVERS),						LEN_SQ_NET + 2, snmp_netDnsFn, static_Inst, 0))),				    snmpAddNode(snmpCreateOid(LEN_SQ_MESH, SQ_MESH),					LEN_SQ_MESH, NULL, NULL, 2,					snmpAddNode(snmpCreateOid(LEN_SQ_MESH + 1, SQ_MESH, 1),					    LEN_SQ_MESH + 1, NULL, NULL, 1,					    snmpAddNode(snmpCreateOid(LEN_SQ_MESH + 2, SQ_MESH, 1, 1),						LEN_SQ_MESH + 2, NULL, NULL, 13,						snmpAddNode(snmpCreateOid(LEN_SQ_MESH + 3, SQ_MESH, 1, 1, 1),						    LEN_SQ_MESH + 3, snmp_meshPtblFn, peer_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_MESH + 3, SQ_MESH, 1, 1, 2),						    LEN_SQ_MESH + 3, snmp_meshPtblFn, peer_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_MESH + 3, SQ_MESH, 1, 1, 3),						    LEN_SQ_MESH + 3, snmp_meshPtblFn, peer_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_MESH + 3, SQ_MESH, 1, 1, 4),						    LEN_SQ_MESH + 3, snmp_meshPtblFn, peer_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_MESH + 3, SQ_MESH, 1, 1, 5),						    LEN_SQ_MESH + 3, snmp_meshPtblFn, peer_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_MESH + 3, SQ_MESH, 1, 1, 6),						    LEN_SQ_MESH + 3, snmp_meshPtblFn, peer_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_MESH + 3, SQ_MESH, 1, 1, 7),						    LEN_SQ_MESH + 3, snmp_meshPtblFn, peer_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_MESH + 3, SQ_MESH, 1, 1, 8),						    LEN_SQ_MESH + 3, snmp_meshPtblFn, peer_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_MESH + 3, SQ_MESH, 1, 1, 9),						    LEN_SQ_MESH + 3, snmp_meshPtblFn, peer_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_MESH + 3, SQ_MESH, 1, 1, 10),						    LEN_SQ_MESH + 3, snmp_meshPtblFn, peer_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_MESH + 3, SQ_MESH, 1, 1, 11),						    LEN_SQ_MESH + 3, snmp_meshPtblFn, peer_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_MESH + 3, SQ_MESH, 1, 1, 12),						    LEN_SQ_MESH + 3, snmp_meshPtblFn, peer_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_MESH + 3, SQ_MESH, 1, 1, 13),						    LEN_SQ_MESH + 3, snmp_meshPtblFn, peer_Inst, 0))),					snmpAddNode(snmpCreateOid(LEN_SQ_MESH + 1, SQ_MESH, 2),					    LEN_SQ_MESH + 1, NULL, NULL, 1,					    snmpAddNode(snmpCreateOid(LEN_SQ_MESH + 2, SQ_MESH, 2, 1),						LEN_SQ_MESH + 2, NULL, NULL, 9,						snmpAddNode(snmpCreateOid(LEN_SQ_MESH + 3, SQ_MESH, 2, 1, 1),						    LEN_SQ_MESH + 3, snmp_meshCtblFn, client_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_MESH + 3, SQ_MESH, 2, 1, 2),						    LEN_SQ_MESH + 3, snmp_meshCtblFn, client_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_MESH + 3, SQ_MESH, 2, 1, 3),						    LEN_SQ_MESH + 3, snmp_meshCtblFn, client_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_MESH + 3, SQ_MESH, 2, 1, 4),						    LEN_SQ_MESH + 3, snmp_meshCtblFn, client_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_MESH + 3, SQ_MESH, 2, 1, 5),						    LEN_SQ_MESH + 3, snmp_meshCtblFn, client_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_MESH + 3, SQ_MESH, 2, 1, 6),						    LEN_SQ_MESH + 3, snmp_meshCtblFn, client_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_MESH + 3, SQ_MESH, 2, 1, 7),						    LEN_SQ_MESH + 3, snmp_meshCtblFn, client_Inst, 0),						snmpAddNode(snmpCreateOid(LEN_SQ_MESH + 3, SQ_MESH, 2, 1, 8),						    LEN_SQ_MESH + 3, snmp_meshCtblFn, client_Inst, 0),						(mib_tree_last = snmpAddNode(snmpCreateOid(LEN_SQ_MESH + 3, SQ_MESH, 2, 1, 9),							LEN_SQ_MESH + 3, snmp_meshCtblFn, client_Inst, 0)))))				)			    )			)		    )		)	    )	)	);    debug(49, 9) ("snmpInit: Completed SNMP mib tree structure\n");}voidsnmpConnectionOpen(void){    u_short port;    struct sockaddr_in xaddr;    socklen_t len;    int x;    debug(49, 5) ("snmpConnectionOpen: Called\n");    if ((port = Config.Port.snmp) > (u_short) 0) {	enter_suid();	theInSnmpConnection = comm_open(SOCK_DGRAM,	    0,	    Config.Addrs.snmp_incoming,	    port,	    COMM_NONBLOCKING,	    "SNMP Port");

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -