source: azure_iot_hub_f767zi/trunk/asp_baseplatform/lwip/lwip-2.1.2/src/apps/snmp/snmp_snmpv2_framework.c@ 457

Last change on this file since 457 was 457, checked in by coas-nagasima, 4 years ago

ファイルを追加

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/x-csrc;charset=UTF-8
File size: 3.6 KB
Line 
1/*
2Generated by LwipMibCompiler
3*/
4
5#include "lwip/apps/snmp_opts.h"
6
7#if LWIP_SNMP && LWIP_SNMP_V3 /* don't build if not configured for use in lwipopts.h */
8
9#include "lwip/apps/snmp_snmpv2_framework.h"
10#include "lwip/apps/snmp.h"
11#include "lwip/apps/snmp_core.h"
12#include "lwip/apps/snmp_scalar.h"
13#include "lwip/apps/snmp_table.h"
14#include "lwip/apps/snmpv3.h"
15#include "snmpv3_priv.h"
16
17#include "lwip/sys.h"
18
19#include <string.h>
20
21const struct snmp_obj_id usmNoAuthProtocol = { 10, { 1, 3, 6, 1, 6, 3, 10, 1, 1, 1 } };
22const struct snmp_obj_id usmHMACMD5AuthProtocol = { 10, { 1, 3, 6, 1, 6, 3, 10, 1, 1, 2 } };
23const struct snmp_obj_id usmHMACSHAAuthProtocol = { 10, { 1, 3, 6, 1, 6, 3, 10, 1, 1, 3 } };
24/* .4 sha-224
25 * .5 sha-256
26 * .6 sha-384
27 * .7 sha-512
28 */
29
30const struct snmp_obj_id usmNoPrivProtocol = { 10, { 1, 3, 6, 1, 6, 3, 10, 1, 2, 1 } };
31const struct snmp_obj_id usmDESPrivProtocol = { 10, { 1, 3, 6, 1, 6, 3, 10, 1, 2, 2 } };
32/* .3 3des-ede */
33const struct snmp_obj_id usmAESPrivProtocol = { 10, { 1, 3, 6, 1, 6, 3, 10, 1, 2, 4 } };
34/* .5 unknown
35 * .6 unknown
36 * .7 unknown
37 */
38
39/* TODO: where should this value come from? */
40#define SNMP_FRAMEWORKMIB_SNMPENGINEMAXMESSAGESIZE 1500
41
42/* --- snmpFrameworkMIBObjects 1.3.6.1.6.3.10.2 ----------------------------------------------------- */
43static s16_t snmpengine_scalars_get_value(const struct snmp_scalar_array_node_def *node, void *value)
44{
45 const char *engineid;
46 u8_t engineid_len;
47
48 switch (node->oid) {
49 case 1: /* snmpEngineID */
50 snmpv3_get_engine_id(&engineid, &engineid_len);
51 MEMCPY(value, engineid, engineid_len);
52 return engineid_len;
53 case 2: /* snmpEngineBoots */
54 *(s32_t *)value = snmpv3_get_engine_boots_internal();
55 return sizeof(s32_t);
56 case 3: /* snmpEngineTime */
57 *(s32_t *)value = snmpv3_get_engine_time_internal();
58 return sizeof(s32_t);
59 case 4: /* snmpEngineMaxMessageSize */
60 *(s32_t *)value = SNMP_FRAMEWORKMIB_SNMPENGINEMAXMESSAGESIZE;
61 return sizeof(s32_t);
62 default:
63 LWIP_DEBUGF(SNMP_MIB_DEBUG, ("snmpengine_scalars_get_value(): unknown id: %"S32_F"\n", node->oid));
64 return 0;
65 }
66}
67
68static const struct snmp_scalar_array_node_def snmpengine_scalars_nodes[] = {
69 {1, SNMP_ASN1_TYPE_OCTET_STRING, SNMP_NODE_INSTANCE_READ_ONLY}, /* snmpEngineID */
70 {2, SNMP_ASN1_TYPE_INTEGER, SNMP_NODE_INSTANCE_READ_ONLY}, /* snmpEngineBoots */
71 {3, SNMP_ASN1_TYPE_INTEGER, SNMP_NODE_INSTANCE_READ_ONLY}, /* snmpEngineTime */
72 {4, SNMP_ASN1_TYPE_INTEGER, SNMP_NODE_INSTANCE_READ_ONLY}, /* snmpEngineMaxMessageSize */
73};
74static const struct snmp_scalar_array_node snmpengine_scalars = SNMP_SCALAR_CREATE_ARRAY_NODE(1, snmpengine_scalars_nodes, snmpengine_scalars_get_value, NULL, NULL);
75
76static const struct snmp_node *const snmpframeworkmibobjects_subnodes[] = {
77 &snmpengine_scalars.node.node
78};
79static const struct snmp_tree_node snmpframeworkmibobjects_treenode = SNMP_CREATE_TREE_NODE(2, snmpframeworkmibobjects_subnodes);
80
81/* --- snmpFrameworkMIB ----------------------------------------------------- */
82static const struct snmp_node *const snmpframeworkmib_subnodes[] = {
83 &snmpframeworkmibobjects_treenode.node
84};
85static const struct snmp_tree_node snmpframeworkmib_root = SNMP_CREATE_TREE_NODE(10, snmpframeworkmib_subnodes);
86static const u32_t snmpframeworkmib_base_oid[] = {1, 3, 6, 1, 6, 3, 10};
87const struct snmp_mib snmpframeworkmib = {snmpframeworkmib_base_oid, LWIP_ARRAYSIZE(snmpframeworkmib_base_oid), &snmpframeworkmib_root.node};
88
89/* --- snmpFrameworkMIB ----------------------------------------------------- */
90#endif /* LWIP_SNMP */
Note: See TracBrowser for help on using the repository browser.