Lines Matching defs:instance

46 snmp_err_t snmp_table_get_instance(const u32_t *root_oid, u8_t root_oid_len, struct snmp_node_instance *instance)
49 const struct snmp_table_node *table_node = (const struct snmp_table_node *)(const void *)instance->node;
54 /* check min. length (fixed row entry definition, column, row instance oid with at least one entry */
56 if ((instance->instance_oid.len >= 3) && (instance->instance_oid.id[0] == 1)) {
61 if (col_def->index == instance->instance_oid.id[1]) {
71 instance->asn1_type = col_def->asn1_type;
72 instance->access = col_def->access;
73 instance->get_value = table_node->get_value;
74 instance->set_test = table_node->set_test;
75 instance->set_value = table_node->set_value;
78 &(instance->instance_oid.id[1]),
79 &(instance->instance_oid.id[2]),
80 instance->instance_oid.len - 2,
81 instance);
88 snmp_err_t snmp_table_get_next_instance(const u32_t *root_oid, u8_t root_oid_len, struct snmp_node_instance *instance)
90 const struct snmp_table_node *table_node = (const struct snmp_table_node *)(const void *)instance->node;
100 if ((instance->instance_oid.len > 0) && (instance->instance_oid.id[0] > 1)) {
103 if (instance->instance_oid.len > 1) {
104 column = instance->instance_oid.id[1];
106 if (instance->instance_oid.len > 2) {
107 snmp_oid_assign(&row_oid, &(instance->instance_oid.id[2]), instance->instance_oid.len - 2);
112 instance->get_value = table_node->get_value;
113 instance->set_test = table_node->set_test;
114 instance->set_value = table_node->set_value;
137 instance->asn1_type = next_col_def->asn1_type;
138 instance->access = next_col_def->access;
143 instance);
155 instance->instance_oid.len = 2;
156 instance->instance_oid.id[0] = 1;
157 instance->instance_oid.id[1] = col_def->index;
158 snmp_oid_append(&instance->instance_oid, row_oid.id, row_oid.len);
164 snmp_err_t snmp_table_simple_get_instance(const u32_t *root_oid, u8_t root_oid_len, struct snmp_node_instance *instance)
167 const struct snmp_table_simple_node *table_node = (const struct snmp_table_simple_node *)(const void *)instance->node;
172 /* check min. length (fixed row entry definition, column, row instance oid with at least one entry */
174 if ((instance->instance_oid.len >= 3) && (instance->instance_oid.id[0] == 1)) {
176 &(instance->instance_oid.id[1]),
177 &(instance->instance_oid.id[2]),
178 instance->instance_oid.len - 2,
179 &instance->reference,
180 &instance->reference_len);
187 if (col_def->index == instance->instance_oid.id[1]) {
196 instance->asn1_type = col_def->asn1_type;
197 instance->access = SNMP_NODE_INSTANCE_READ_ONLY;
198 instance->set_test = NULL;
199 instance->set_value = NULL;
203 instance->get_value = snmp_table_extract_value_from_u32ref;
206 instance->get_value = snmp_table_extract_value_from_s32ref;
210 instance->get_value = snmp_table_extract_value_from_refconstptr;
227 snmp_err_t snmp_table_simple_get_next_instance(const u32_t *root_oid, u8_t root_oid_len, struct snmp_node_instance *instance)
229 const struct snmp_table_simple_node *table_node = (const struct snmp_table_simple_node *)(const void *)instance->node;
239 if ((instance->instance_oid.len > 0) && (instance->instance_oid.id[0] > 1)) {
242 if (instance->instance_oid.len > 1) {
243 column = instance->instance_oid.id[1];
245 if (instance->instance_oid.len > 2) {
246 snmp_oid_assign(&row_oid, &(instance->instance_oid.id[2]), instance->instance_oid.len - 2);
276 &instance->reference,
277 &instance->reference_len);
288 instance->asn1_type = col_def->asn1_type;
289 instance->access = SNMP_NODE_INSTANCE_READ_ONLY;
290 instance->set_test = NULL;
291 instance->set_value = NULL;
295 instance->get_value = snmp_table_extract_value_from_u32ref;
298 instance->get_value = snmp_table_extract_value_from_s32ref;
302 instance->get_value = snmp_table_extract_value_from_refconstptr;
310 instance->instance_oid.len = 2;
311 instance->instance_oid.id[0] = 1;
312 instance->instance_oid.id[1] = col_def->index;
313 snmp_oid_append(&instance->instance_oid, row_oid.id, row_oid.len);
320 snmp_table_extract_value_from_s32ref(struct snmp_node_instance *instance, void *value)
323 *dst = instance->reference.s32;
328 snmp_table_extract_value_from_u32ref(struct snmp_node_instance *instance, void *value)
331 *dst = instance->reference.u32;
336 snmp_table_extract_value_from_refconstptr(struct snmp_node_instance *instance, void *value)
338 MEMCPY(value, instance->reference.const_ptr, instance->reference_len);
339 return (u16_t)instance->reference_len;