/** * @internal * wrapper */ static int _mfd_ipv6ScopeZoneIndexTable_object_lookup(netsnmp_mib_handler *handler, netsnmp_handler_registration *reginfo, netsnmp_agent_request_info *agtreq_info, netsnmp_request_info *requests) { int rc = SNMP_ERR_NOERROR; ipv6ScopeZoneIndexTable_rowreq_ctx *rowreq_ctx = (ipv6ScopeZoneIndexTable_rowreq_ctx*) netsnmp_container_table_row_extract(requests); DEBUGMSGTL(("internal:ipv6ScopeZoneIndexTable:_mfd_ipv6ScopeZoneIndexTable_object_lookup", "called\n")); /* * get our context from mfd * ipv6ScopeZoneIndexTable_interface_ctx *if_ctx = * (ipv6ScopeZoneIndexTable_interface_ctx *)reginfo->my_reg_void; */ if (NULL == rowreq_ctx) { netsnmp_table_request_info *tblreq_info; netsnmp_index oid_idx; tblreq_info = netsnmp_extract_table_info(requests); if (NULL == tblreq_info) { snmp_log(LOG_ERR, "request had no table info\n"); return MFD_ERROR; } /* * try create rowreq */ oid_idx.oids = tblreq_info->index_oid; oid_idx.len = tblreq_info->index_oid_len; rowreq_ctx = _mfd_ipv6ScopeZoneIndexTable_rowreq_from_index(&oid_idx, &rc); if (MFD_SUCCESS == rc) { netsnmp_assert(NULL != rowreq_ctx); rowreq_ctx->rowreq_flags |= MFD_ROW_CREATED; /* * add rowreq_ctx to request data lists */ netsnmp_container_table_row_insert(requests, (netsnmp_index *) rowreq_ctx); } } if (MFD_SUCCESS != rc) netsnmp_request_set_error_all(requests, rc); else ipv6ScopeZoneIndexTable_row_prep(rowreq_ctx); return SNMP_VALIDATE_ERR(rc); } /* _mfd_ipv6ScopeZoneIndexTable_object_lookup */
/** inserts a newly created tdata row into a request */ NETSNMP_INLINE void netsnmp_insert_tdata_row (netsnmp_request_info * request, netsnmp_tdata_row * row) { netsnmp_container_table_row_insert (request, (netsnmp_index *) row); }