Lines Matching refs:descr

110 	const struct snmp_table *descr;
155 for (i = 0; work->descr->entries[i].syntax != SNMP_SYNTAX_NULL;
157 d = &work->descr->entries[i];
183 asn_slice_oid(&oid, var, work->descr->table.len + 2, var->len);
195 if ((e = malloc(work->descr->entry_size)) == NULL) {
205 memset(e, 0, work->descr->entry_size);
208 p = work->descr->table.len + 2;
209 for (i = 0; i < work->descr->index_size; i++) {
210 switch (work->descr->entries[i].syntax) {
223 work->descr->entries[i].offset) = var->subs[p++];
254 work->descr->entries[i].offset) = ptr;
256 work->descr->entries[i].offset + sizeof(u_char *))
275 work->descr->entries[i].offset) = oid;
291 work->descr->entries[i].offset)[j] =
308 work->descr->entries[i].offset) = var->subs[p++];
347 for (i = 0; i < work->descr->index_size; i++) {
348 if (work->descr->entries[i].syntax == SNMP_SYNTAX_OCTETSTRING &&
351 work->descr->entries[i].offset));
362 table_value(const struct snmp_table *descr, struct entry *e,
368 for (i = descr->index_size;
369 descr->entries[i].syntax != SNMP_SYNTAX_NULL; i++)
370 if (descr->entries[i].subid ==
371 b->var.subs[descr->table.len + 1])
373 if (descr->entries[i].syntax == SNMP_SYNTAX_NULL)
377 if (b->syntax != descr->entries[i].syntax) {
379 descr->entries[i].syntax);
386 *(int32_t *)(void *)((u_char *)e + descr->entries[i].offset) =
397 *(u_char **)(void *)((u_char *)e + descr->entries[i].offset) =
399 *(size_t *)(void *)((u_char *)e + descr->entries[i].offset +
404 *(struct asn_oid *)(void *)((u_char *)e + descr->entries[i].offset) =
409 memcpy((u_char *)e + descr->entries[i].offset,
416 *(uint32_t *)(void *)((u_char *)e + descr->entries[i].offset) =
421 *(uint64_t *)(void *)((u_char *)e + descr->entries[i].offset) =
440 table_init_pdu(const struct snmp_table *descr, struct snmp_pdu *pdu)
448 if (descr->last_change.len != 0) {
450 pdu->bindings[pdu->nbindings].var = descr->last_change;
455 pdu->bindings[pdu->nbindings].var = descr->table;
477 (work->descr->last_change.len == 0) ? 1 : 2)
487 if (work->descr->last_change.len != 0 && b == resp->bindings) {
488 if (!asn_is_suboid(&work->descr->last_change, &b->var) ||
489 b->var.len != work->descr->last_change.len + 1 ||
490 b->var.subs[work->descr->last_change.len] != 0) {
505 if (++work->iter >= work->descr->max_iter) {
516 if (!asn_is_suboid(&work->descr->table, &b->var) ||
522 if (table_value(work->descr, e, b))
537 if ((e->found & work->descr->req_mask) !=
538 work->descr->req_mask) {
539 if (work->descr->last_change.len == 0) {
540 if (++work->iter >= work->descr->max_iter) {
548 e->found, work->descr->req_mask);
559 snmp_table_fetch(const struct snmp_table *descr, void *list)
565 work.descr = descr;
580 table_init_pdu(descr, &work.pdu);
657 table_init_pdu(work->descr, &work->pdu);
705 snmp_table_fetch_async(const struct snmp_table *descr, void *list,
715 work->descr = descr;
729 table_init_pdu(descr, &work->pdu);