ipAddressPrefixTable_rowreq_ctx * ipAddressPrefixTable_row_find_by_mib_index(ipAddressPrefixTable_mib_index * mib_idx) { ipAddressPrefixTable_rowreq_ctx *rowreq_ctx; oid oid_tmp[MAX_OID_LEN]; netsnmp_index oid_idx; int rc; /* * set up storage for OID */ oid_idx.oids = oid_tmp; oid_idx.len = sizeof(oid_tmp) / sizeof(oid); /* * convert */ rc = ipAddressPrefixTable_index_to_oid(&oid_idx, mib_idx); if (MFD_SUCCESS != rc) return NULL; rowreq_ctx = CONTAINER_FIND(ipAddressPrefixTable_if_ctx.container, &oid_idx); return rowreq_ctx; }
/** * @internal * set row context indexes * * @param reqreq_ctx the row context that needs updated indexes * * @retval MFD_SUCCESS : success. * @retval MFD_ERROR : other error. * * @remark * This function sets the mib indexs, then updates the oid indexs * from the mib index. */ int ipAddressPrefixTable_indexes_set (ipAddressPrefixTable_rowreq_ctx * rowreq_ctx, long ipAddressPrefixIfIndex_val, u_long ipAddressPrefixType_val, u_char * ipAddressPrefixPrefix_val_ptr, size_t ipAddressPrefixPrefix_val_ptr_len, u_long ipAddressPrefixLength_val) { DEBUGMSGTL (("verbose:ipAddressPrefixTable:ipAddressPrefixTable_indexes_set", "called\n")); if (MFD_SUCCESS != ipAddressPrefixTable_indexes_set_tbl_idx (&rowreq_ctx->tbl_idx, ipAddressPrefixIfIndex_val, ipAddressPrefixType_val, ipAddressPrefixPrefix_val_ptr, ipAddressPrefixPrefix_val_ptr_len, ipAddressPrefixLength_val)) return MFD_ERROR; /* * convert mib index to oid index */ rowreq_ctx->oid_idx.len = sizeof (rowreq_ctx->oid_tmp) / sizeof (oid); if (0 != ipAddressPrefixTable_index_to_oid (&rowreq_ctx->oid_idx, &rowreq_ctx->tbl_idx)) { return MFD_ERROR; } return MFD_SUCCESS; } /* ipAddressPrefixTable_indexes_set */