📄 mib2.c
字号:
/* disable getnext traversal on empty table */ if (iprtetree_root.count == 0) iprtetable.maxlength = 0;}void snmp_inc_icmpinmsgs(void){ icmpinmsgs++;}void snmp_inc_icmpinerrors(void){ icmpinerrors++;}void snmp_inc_icmpindestunreachs(void){ icmpindestunreachs++;}void snmp_inc_icmpintimeexcds(void){ icmpintimeexcds++;}void snmp_inc_icmpinparmprobs(void){ icmpinparmprobs++;}void snmp_inc_icmpinsrcquenchs(void){ icmpinsrcquenchs++;}void snmp_inc_icmpinredirects(void){ icmpinredirects++;}void snmp_inc_icmpinechos(void){ icmpinechos++;}void snmp_inc_icmpinechoreps(void){ icmpinechoreps++;}void snmp_inc_icmpintimestamps(void){ icmpintimestamps++;}void snmp_inc_icmpintimestampreps(void){ icmpintimestampreps++;}void snmp_inc_icmpinaddrmasks(void){ icmpinaddrmasks++;}void snmp_inc_icmpinaddrmaskreps(void){ icmpinaddrmaskreps++;}void snmp_inc_icmpoutmsgs(void){ icmpoutmsgs++;}void snmp_inc_icmpouterrors(void){ icmpouterrors++;}void snmp_inc_icmpoutdestunreachs(void){ icmpoutdestunreachs++;}void snmp_inc_icmpouttimeexcds(void){ icmpouttimeexcds++;}void snmp_inc_icmpoutparmprobs(void){ icmpoutparmprobs++;}void snmp_inc_icmpoutsrcquenchs(void){ icmpoutsrcquenchs++;}void snmp_inc_icmpoutredirects(void){ icmpoutredirects++;}void snmp_inc_icmpoutechos(void){ icmpoutechos++;}void snmp_inc_icmpoutechoreps(void){ icmpoutechoreps++;}void snmp_inc_icmpouttimestamps(void){ icmpouttimestamps++;}void snmp_inc_icmpouttimestampreps(void){ icmpouttimestampreps++;}void snmp_inc_icmpoutaddrmasks(void){ icmpoutaddrmasks++;}void snmp_inc_icmpoutaddrmaskreps(void){ icmpoutaddrmaskreps++;}void snmp_inc_tcpactiveopens(void){ tcpactiveopens++;}void snmp_inc_tcppassiveopens(void){ tcppassiveopens++;}void snmp_inc_tcpattemptfails(void){ tcpattemptfails++;}void snmp_inc_tcpestabresets(void){ tcpestabresets++;}void snmp_inc_tcpinsegs(void){ tcpinsegs++;}void snmp_inc_tcpoutsegs(void){ tcpoutsegs++;}void snmp_inc_tcpretranssegs(void){ tcpretranssegs++;}void snmp_inc_tcpinerrs(void){ tcpinerrs++;}void snmp_inc_tcpoutrsts(void){ tcpoutrsts++;}void snmp_inc_udpindatagrams(void){ udpindatagrams++;}void snmp_inc_udpnoports(void){ udpnoports++;}void snmp_inc_udpinerrors(void){ udpinerrors++;}void snmp_inc_udpoutdatagrams(void){ udpoutdatagrams++;}/** * Inserts udpTable indexes (.udpLocalAddress.udpLocalPort) * into index tree. */void snmp_insert_udpidx_tree(struct udp_pcb *pcb){ struct mib_list_rootnode *udp_rn; struct mib_list_node *udp_node; struct ip_addr ip; s32_t udpidx[5]; u8_t level; LWIP_ASSERT("pcb != NULL", pcb != NULL); ip.addr = ntohl(pcb->local_ip.addr); snmp_iptooid(&ip, &udpidx[0]); udpidx[4] = pcb->local_port; udp_rn = &udp_root; for (level = 0; level < 5; level++) { udp_node = NULL; snmp_mib_node_insert(udp_rn, udpidx[level], &udp_node); if ((level != 4) && (udp_node != NULL)) { if (udp_node->nptr == NULL) { udp_rn = snmp_mib_lrn_alloc(); udp_node->nptr = (struct mib_node*)udp_rn; if (udp_rn != NULL) { if (level == 3) { udp_rn->get_object_def = udpentry_get_object_def; udp_rn->get_value = udpentry_get_value; udp_rn->set_test = noleafs_set_test; udp_rn->set_value = noleafs_set_value; } } else { /* udp_rn == NULL, malloc failure */ LWIP_DEBUGF(SNMP_MIB_DEBUG,("snmp_insert_udpidx_tree() insert failed, mem full")); break; } } else { udp_rn = (struct mib_list_rootnode*)udp_node->nptr; } } } udptable.maxlength = 1;}/** * Removes udpTable indexes (.udpLocalAddress.udpLocalPort) * from index tree. */void snmp_delete_udpidx_tree(struct udp_pcb *pcb){ struct mib_list_rootnode *udp_rn, *next, *del_rn[5]; struct mib_list_node *udp_n, *del_n[5]; struct ip_addr ip; s32_t udpidx[5]; u8_t bindings, fc, level, del_cnt; LWIP_ASSERT("pcb != NULL", pcb != NULL); ip.addr = ntohl(pcb->local_ip.addr); snmp_iptooid(&ip, &udpidx[0]); udpidx[4] = pcb->local_port; /* count PCBs for a given binding (e.g. when reusing ports or for temp output PCBs) */ bindings = 0; pcb = udp_pcbs; while ((pcb != NULL)) { if ((pcb->local_ip.addr == ip.addr) && (pcb->local_port == udpidx[4])) { bindings++; } pcb = pcb->next; } if (bindings == 1) { /* selectively remove */ /* mark nodes for deletion */ level = 0; del_cnt = 0; udp_rn = &udp_root; while ((level < 5) && (udp_rn != NULL)) { fc = snmp_mib_node_find(udp_rn, udpidx[level], &udp_n); if (fc == 0) { /* udpidx[level] does not exist */ del_cnt = 0; udp_rn = NULL; } else if (fc == 1) { del_rn[del_cnt] = udp_rn; del_n[del_cnt] = udp_n; del_cnt++; udp_rn = (struct mib_list_rootnode*)(udp_n->nptr); } else if (fc == 2) { /* reset delete (2 or more childs) */ del_cnt = 0; udp_rn = (struct mib_list_rootnode*)(udp_n->nptr); } level++; } /* delete marked index nodes */ while (del_cnt > 0) { del_cnt--; udp_rn = del_rn[del_cnt]; udp_n = del_n[del_cnt]; next = snmp_mib_node_delete(udp_rn, udp_n); if (next != NULL) { LWIP_ASSERT("next_count == 0",next->count == 0); snmp_mib_lrn_free(next); } } } /* disable getnext traversal on empty table */ if (udp_root.count == 0) udptable.maxlength = 0;}void snmp_inc_snmpinpkts(void){ snmpinpkts++;}void snmp_inc_snmpoutpkts(void){ snmpoutpkts++;}void snmp_inc_snmpinbadversions(void){ snmpinbadversions++;}void snmp_inc_snmpinbadcommunitynames(void){ snmpinbadcommunitynames++;}void snmp_inc_snmpinbadcommunityuses(void){ snmpinbadcommunityuses++;}void snmp_inc_snmpinasnparseerrs(void){ snmpinasnparseerrs++;}void snmp_inc_snmpintoobigs(void){ snmpintoobigs++;}void snmp_inc_snmpinnosuchnames(void){ snmpinnosuchnames++;}void snmp_inc_snmpinbadvalues(void){ snmpinbadvalues++;}void snmp_inc_snmpinreadonlys(void){ snmpinreadonlys++;}void snmp_inc_snmpingenerrs(void){ snmpingenerrs++;}void snmp_add_snmpintotalreqvars(u8_t value){ snmpintotalreqvars += value;}void snmp_add_snmpintotalsetvars(u8_t value){ snmpintotalsetvars += value;}void snmp_inc_snmpingetrequests(void){ snmpingetrequests++;}void snmp_inc_snmpingetnexts(void){ snmpingetnexts++;}void snmp_inc_snmpinsetrequests(void){ snmpinsetrequests++;}void snmp_inc_snmpingetresponses(void){ snmpingetresponses++;}void snmp_inc_snmpintraps(void){ snmpintraps++;}void snmp_inc_snmpouttoobigs(void){ snmpouttoobigs++;}void snmp_inc_snmpoutnosuchnames(void){ snmpoutnosuchnames++;}void snmp_inc_snmpoutbadvalues(void){ snmpoutbadvalues++;}void snmp_inc_snmpoutgenerrs(void){ snmpoutgenerrs++;}void snmp_inc_snmpoutgetrequests(void){ snmpoutgetrequests++;}void snmp_inc_snmpoutgetnexts(void){ snmpoutgetnexts++;}void snmp_inc_snmpoutsetrequests(void){ snmpoutsetrequests++;}void snmp_inc_snmpoutgetresponses(void){ snmpoutgetresponses++;}void snmp_inc_snmpouttraps(void){ snmpouttraps++;}void snmp_get_snmpgrpid_ptr(struct snmp_obj_id **oid){ *oid = &snmpgrp_id;}void snmp_set_snmpenableauthentraps(u8_t *value){ if (value != NULL) { snmpenableauthentraps_ptr = value; }}void snmp_get_snmpenableauthentraps(u8_t *value){ *value = *snmpenableauthentraps_ptr;}voidnoleafs_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od){ if (ident_len){} if (ident){} od->instance = MIB_OBJECT_NONE;}voidnoleafs_get_value(struct obj_def *od, u16_t len, void *value){ if (od){} if (len){} if (value){}}u8_tnoleafs_set_test(struct obj_def *od, u16_t len, void *value){ if (od){} if (len){} if (value){} /* can't set */ return 0;}voidnoleafs_set_value(struct obj_def *od, u16_t len, void *value){ if (od){} if (len){} if (value){}}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -