39#ifndef LWIP_HDR_APPS_SNMP_SCALAR_H
40#define LWIP_HDR_APPS_SNMP_SCALAR_H
52struct snmp_scalar_node
55 struct snmp_leaf_node node;
58 node_instance_get_value_method get_value;
59 node_instance_set_test_method set_test;
60 node_instance_set_value_method set_value;
64snmp_err_t snmp_scalar_get_instance(
const u32_t *root_oid, u8_t root_oid_len,
struct snmp_node_instance* instance);
65snmp_err_t snmp_scalar_get_next_instance(
const u32_t *root_oid, u8_t root_oid_len,
struct snmp_node_instance* instance);
67#define SNMP_SCALAR_CREATE_NODE(oid, access, asn1_type, get_value_method, set_test_method, set_value_method) \
68 {{{ SNMP_NODE_SCALAR, (oid) }, \
69 snmp_scalar_get_instance, \
70 snmp_scalar_get_next_instance }, \
71 (asn1_type), (access), (get_value_method), (set_test_method), (set_value_method) }
73#define SNMP_SCALAR_CREATE_NODE_READONLY(oid, asn1_type, get_value_method) SNMP_SCALAR_CREATE_NODE(oid, SNMP_NODE_INSTANCE_READ_ONLY, asn1_type, get_value_method, NULL, NULL)
76struct snmp_scalar_array_node_def
83typedef s16_t (*snmp_scalar_array_get_value_method)(
const struct snmp_scalar_array_node_def*,
void*);
84typedef snmp_err_t (*snmp_scalar_array_set_test_method)(
const struct snmp_scalar_array_node_def*, u16_t,
void*);
85typedef snmp_err_t (*snmp_scalar_array_set_value_method)(
const struct snmp_scalar_array_node_def*, u16_t,
void*);
88struct snmp_scalar_array_node
91 struct snmp_leaf_node node;
92 u16_t array_node_count;
93 const struct snmp_scalar_array_node_def* array_nodes;
94 snmp_scalar_array_get_value_method get_value;
95 snmp_scalar_array_set_test_method set_test;
96 snmp_scalar_array_set_value_method set_value;
99snmp_err_t snmp_scalar_array_get_instance(
const u32_t *root_oid, u8_t root_oid_len,
struct snmp_node_instance* instance);
100snmp_err_t snmp_scalar_array_get_next_instance(
const u32_t *root_oid, u8_t root_oid_len,
struct snmp_node_instance* instance);
102#define SNMP_SCALAR_CREATE_ARRAY_NODE(oid, array_nodes, get_value_method, set_test_method, set_value_method) \
103 {{{ SNMP_NODE_SCALAR_ARRAY, (oid) }, \
104 snmp_scalar_array_get_instance, \
105 snmp_scalar_array_get_next_instance }, \
106 (u16_t)LWIP_ARRAYSIZE(array_nodes), (array_nodes), (get_value_method), (set_test_method), (set_value_method) }