45static s16_t snmp_scalar_array_get_value(
struct snmp_node_instance *
instance,
void *
value);
46static snmp_err_t snmp_scalar_array_set_test(
struct snmp_node_instance *
instance,
u16_t value_len,
void *
value);
47static snmp_err_t snmp_scalar_array_set_value(
struct snmp_node_instance *
instance,
u16_t value_len,
void *
value);
50snmp_scalar_get_instance(
const u32_t *root_oid,
u8_t root_oid_len,
struct snmp_node_instance *
instance)
52 const struct snmp_scalar_node *scalar_node = (
const struct snmp_scalar_node *)(
const void *)
instance->node;
58 if ((
instance->instance_oid.len != 1) || (
instance->instance_oid.id[0] != 0)) {
59 return SNMP_ERR_NOSUCHINSTANCE;
62 instance->access = scalar_node->access;
63 instance->asn1_type = scalar_node->asn1_type;
64 instance->get_value = scalar_node->get_value;
65 instance->set_test = scalar_node->set_test;
66 instance->set_value = scalar_node->set_value;
67 return SNMP_ERR_NOERROR;
71snmp_scalar_get_next_instance(
const u32_t *root_oid,
u8_t root_oid_len,
struct snmp_node_instance *
instance)
74 if (
instance->instance_oid.len == 0) {
78 return snmp_scalar_get_instance(root_oid, root_oid_len,
instance);
81 return SNMP_ERR_NOSUCHINSTANCE;
86snmp_scalar_array_get_instance(
const u32_t *root_oid,
u8_t root_oid_len,
struct snmp_node_instance *
instance)
91 if ((
instance->instance_oid.len == 2) && (
instance->instance_oid.id[1] == 0)) {
92 const struct snmp_scalar_array_node *array_node = (
const struct snmp_scalar_array_node *)(
const void *)
instance->node;
93 const struct snmp_scalar_array_node_def *array_node_def = array_node->array_nodes;
96 while (i < array_node->array_node_count) {
97 if (array_node_def->oid ==
instance->instance_oid.id[0]) {
105 if (i < array_node->array_node_count) {
106 instance->access = array_node_def->access;
107 instance->asn1_type = array_node_def->asn1_type;
108 instance->get_value = snmp_scalar_array_get_value;
109 instance->set_test = snmp_scalar_array_set_test;
110 instance->set_value = snmp_scalar_array_set_value;
111 instance->reference.const_ptr = array_node_def;
113 return SNMP_ERR_NOERROR;
117 return SNMP_ERR_NOSUCHINSTANCE;
121snmp_scalar_array_get_next_instance(
const u32_t *root_oid,
u8_t root_oid_len,
struct snmp_node_instance *
instance)
123 const struct snmp_scalar_array_node *array_node = (
const struct snmp_scalar_array_node *)(
const void *)
instance->node;
124 const struct snmp_scalar_array_node_def *array_node_def = array_node->array_nodes;
125 const struct snmp_scalar_array_node_def *
result =
NULL;
130 if ((
instance->instance_oid.len == 0) && (array_node->array_node_count > 0)) {
137 for (
i = 1;
i < array_node->array_node_count;
i++) {
138 if (array_node_def->oid <
result->oid) {
143 }
else if (
instance->instance_oid.len >= 1) {
144 if (
instance->instance_oid.len == 1) {
147 while (i < array_node->array_node_count) {
148 if (array_node_def->oid ==
instance->instance_oid.id[0]) {
158 u32_t oid_dist = 0xFFFFFFFFUL;
160 array_node_def = array_node->array_nodes;
161 while (i < array_node->array_node_count) {
162 if ((array_node_def->oid >
instance->instance_oid.id[0]) &&
163 ((
u32_t)(array_node_def->oid -
instance->instance_oid.id[0]) < oid_dist)) {
165 oid_dist = array_node_def->oid -
instance->instance_oid.id[0];
176 return SNMP_ERR_NOSUCHINSTANCE;
185 instance->get_value = snmp_scalar_array_get_value;
186 instance->set_test = snmp_scalar_array_set_test;
187 instance->set_value = snmp_scalar_array_set_value;
190 return SNMP_ERR_NOERROR;
194snmp_scalar_array_get_value(
struct snmp_node_instance *
instance,
void *
value)
197 const struct snmp_scalar_array_node *array_node = (
const struct snmp_scalar_array_node *)(
const void *)
instance->node;
198 const struct snmp_scalar_array_node_def *array_node_def = (
const struct snmp_scalar_array_node_def *)
instance->reference.const_ptr;
200 if (array_node->get_value !=
NULL) {
201 result = array_node->get_value(array_node_def,
value);
207snmp_scalar_array_set_test(
struct snmp_node_instance *
instance,
u16_t value_len,
void *
value)
209 snmp_err_t
result = SNMP_ERR_NOTWRITABLE;
210 const struct snmp_scalar_array_node *array_node = (
const struct snmp_scalar_array_node *)(
const void *)
instance->node;
211 const struct snmp_scalar_array_node_def *array_node_def = (
const struct snmp_scalar_array_node_def *)
instance->reference.const_ptr;
213 if (array_node->set_test !=
NULL) {
214 result = array_node->set_test(array_node_def, value_len,
value);
220snmp_scalar_array_set_value(
struct snmp_node_instance *
instance,
u16_t value_len,
void *
value)
222 snmp_err_t
result = SNMP_ERR_NOTWRITABLE;
223 const struct snmp_scalar_array_node *array_node = (
const struct snmp_scalar_array_node *)(
const void *)
instance->node;
224 const struct snmp_scalar_array_node_def *array_node_def = (
const struct snmp_scalar_array_node_def *)
instance->reference.const_ptr;
226 if (array_node->set_value !=
NULL) {
227 result = array_node->set_value(array_node_def, value_len,
value);
static HINSTANCE instance
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define LWIP_UNUSED_ARG(x)