Exemplo n.º 1
0
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;
}
Exemplo n.º 2
0
/**
 * @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 */