Lines Matching defs:pdu

73 	struct snmp_pdu	*pdu;
118 struct snmp_pdu pdu;
440 table_init_pdu(const struct snmp_table *descr, struct snmp_pdu *pdu)
443 snmp_pdu_create(pdu, SNMP_PDU_GETNEXT);
445 snmp_pdu_create(pdu, SNMP_PDU_GETBULK);
446 pdu->error_index = 10;
449 pdu->bindings[pdu->nbindings].syntax = SNMP_SYNTAX_NULL;
450 pdu->bindings[pdu->nbindings].var = descr->last_change;
451 pdu->nbindings++;
452 if (pdu->version != SNMP_V1)
453 pdu->error_status++;
455 pdu->bindings[pdu->nbindings].var = descr->table;
456 pdu->bindings[pdu->nbindings].syntax = SNMP_SYNTAX_NULL;
457 pdu->nbindings++;
580 table_init_pdu(descr, &work.pdu);
583 if (snmp_dialog(&work.pdu, &resp)) {
601 work.pdu.bindings[work.pdu.nbindings - 1].var =
657 table_init_pdu(work->descr, &work->pdu);
658 if (snmp_pdu_send(&work->pdu, table_cb, work) == -1) {
691 work->pdu.bindings[work->pdu.nbindings - 1].var =
696 if (snmp_pdu_send(&work->pdu, table_cb, work) == -1) {
729 table_init_pdu(descr, &work->pdu);
731 if (snmp_pdu_send(&work->pdu, table_cb, work) == -1)
1138 snmp_pdu_create(struct snmp_pdu *pdu, u_int op)
1140 memset(pdu, 0, sizeof(struct snmp_pdu));
1143 strlcpy(pdu->community, snmp_client.write_community,
1144 sizeof(pdu->community));
1146 strlcpy(pdu->community, snmp_client.read_community,
1147 sizeof(pdu->community));
1149 pdu->type = op;
1150 pdu->version = snmp_client.version;
1151 pdu->error_status = 0;
1152 pdu->error_index = 0;
1153 pdu->nbindings = 0;
1158 pdu->identifier = ++snmp_client.identifier;
1159 pdu->engine.max_msg_size = snmp_client.engine.max_msg_size;
1160 pdu->flags = 0;
1161 pdu->security_model = snmp_client.security_model;
1164 memcpy(&pdu->engine, &snmp_client.engine, sizeof(pdu->engine));
1165 memcpy(&pdu->user, &snmp_client.user, sizeof(pdu->user));
1166 snmp_pdu_init_secparams(pdu);
1171 memcpy(pdu->context_engine, snmp_client.cengine,
1173 pdu->context_engine_len = snmp_client.clen;
1175 memcpy(pdu->context_engine, snmp_client.engine.engine_id,
1177 pdu->context_engine_len = snmp_client.engine.engine_len;
1180 strlcpy(pdu->context_name, snmp_client.cname,
1181 sizeof(pdu->context_name));
1184 /* add pairs of (struct asn_oid, enum snmp_syntax) to an existing pdu */
1187 snmp_add_binding(struct snmp_v1_pdu *pdu, ...)
1193 va_start(ap, pdu);
1195 ret = pdu->nbindings;
1197 if (pdu->nbindings >= SNMP_MAX_BINDINGS){
1201 pdu->bindings[pdu->nbindings].var = *oid;
1202 pdu->bindings[pdu->nbindings].syntax =
1204 pdu->nbindings++;
1228 snmp_send_packet(struct snmp_pdu * pdu)
1239 pdu->request_id = snmp_next_reqid(&snmp_client);
1243 if (snmp_pdu_encode(pdu, &b)) {
1250 snmp_pdu_dump(pdu);
1259 return pdu->request_id;
1279 listentry->callback(listentry->pdu, NULL, listentry->arg);
1284 listentry->reqid = snmp_send_packet(listentry->pdu);
1292 snmp_pdu_send(struct snmp_pdu *pdu, snmp_send_cb_f func, void *arg)
1303 if ((id = snmp_send_packet(pdu)) == -1) {
1309 listentry->pdu = pdu;
1313 listentry->reqid = pdu->request_id;
1340 snmp_receive_packet(struct snmp_pdu *pdu, struct timeval *tv)
1443 memset(pdu, 0, sizeof(*pdu));
1445 memcpy(&pdu->engine, &snmp_client.engine, sizeof(pdu->engine));
1446 memcpy(&pdu->user, &snmp_client.user, sizeof(pdu->user));
1447 snmp_pdu_init_secparams(pdu);
1450 if (SNMP_CODE_OK != (ret = snmp_pdu_decode(&abuf, pdu, &ip))) {
1458 snmp_pdu_dump(pdu);
1460 snmp_client.engine.engine_time = pdu->engine.engine_time;
1461 snmp_client.engine.engine_boots = pdu->engine.engine_boots;
1472 warn("ignoring snmp pdu %u", resp->type);
1483 listentry->callback(listentry->pdu, resp, listentry->arg);
1678 errx(1, "%s: bad pdu type %i", __func__, req->type);
1689 struct snmp_pdu pdu;
1695 pdu = *req;
1696 if (pdu.type == SNMP_PDU_GET || pdu.type == SNMP_PDU_GETNEXT ||
1697 pdu.type == SNMP_PDU_GETBULK) {
1698 for (i = 0; i < pdu.nbindings; i++)
1699 pdu.bindings[i].syntax = SNMP_SYNTAX_NULL;
1705 if ((reqid = snmp_send_packet(&pdu)) == -1)