38 #ifndef LWIP_HDR_APPS_SNMP_SCALAR_H
39 #define LWIP_HDR_APPS_SNMP_SCALAR_H
51 struct snmp_scalar_node
54 struct snmp_leaf_node node;
57 node_instance_get_value_method get_value;
58 node_instance_set_test_method set_test;
59 node_instance_set_value_method set_value;
63 snmp_err_t snmp_scalar_get_instance(
const u32_t *root_oid,
u8_t root_oid_len,
struct snmp_node_instance* instance);
64 snmp_err_t snmp_scalar_get_next_instance(
const u32_t *root_oid,
u8_t root_oid_len,
struct snmp_node_instance* instance);
66 #define SNMP_SCALAR_CREATE_NODE(oid, access, asn1_type, get_value_method, set_test_method, set_value_method) \
67 {{{ SNMP_NODE_SCALAR, (oid) }, \
68 snmp_scalar_get_instance, \
69 snmp_scalar_get_next_instance }, \
70 (asn1_type), (access), (get_value_method), (set_test_method), (set_value_method) }
72 #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)
75 struct snmp_scalar_array_node_def
82 typedef s16_t (*snmp_scalar_array_get_value_method)(
const struct snmp_scalar_array_node_def*,
void*);
83 typedef snmp_err_t (*snmp_scalar_array_set_test_method)(
const struct snmp_scalar_array_node_def*,
u16_t,
void*);
84 typedef snmp_err_t (*snmp_scalar_array_set_value_method)(
const struct snmp_scalar_array_node_def*,
u16_t,
void*);
87 struct snmp_scalar_array_node
90 struct snmp_leaf_node node;
91 u16_t array_node_count;
92 const struct snmp_scalar_array_node_def* array_nodes;
93 snmp_scalar_array_get_value_method get_value;
94 snmp_scalar_array_set_test_method set_test;
95 snmp_scalar_array_set_value_method set_value;
98 snmp_err_t snmp_scalar_array_get_instance(
const u32_t *root_oid,
u8_t root_oid_len,
struct snmp_node_instance* instance);
99 snmp_err_t snmp_scalar_array_get_next_instance(
const u32_t *root_oid,
u8_t root_oid_len,
struct snmp_node_instance* instance);
101 #define SNMP_SCALAR_CREATE_ARRAY_NODE(oid, array_nodes, get_value_method, set_test_method, set_value_method) \
102 {{{ SNMP_NODE_SCALAR_ARRAY, (oid) }, \
103 snmp_scalar_array_get_instance, \
104 snmp_scalar_array_get_next_instance }, \
105 (u16_t)LWIP_ARRAYSIZE(array_nodes), (array_nodes), (get_value_method), (set_test_method), (set_value_method) }