/**
 * @internal
 * wrapper
 */
static int
_mfd_usmDHUserKeyTable_post_request(netsnmp_mib_handler *handler,
                                    netsnmp_handler_registration *reginfo,
                                    netsnmp_agent_request_info
                                    *agtreq_info,
                                    netsnmp_request_info *requests)
{
    usmDHUserKeyTable_rowreq_ctx *rowreq_ctx =
        netsnmp_container_table_row_extract(requests);
    int             rc, packet_rc;

    DEBUGMSGTL(("internal:usmDHUserKeyTable:_mfd_usmDHUserKeyTable_post_request", "called\n"));

    /*
     * release row context, if deleted
     */
    if (rowreq_ctx && (rowreq_ctx->rowreq_flags & MFD_ROW_DELETED))
        usmDHUserKeyTable_release_rowreq_ctx(rowreq_ctx);

    /*
     * wait for last call before calling user
     */
    if (1 != netsnmp_row_merge_status_last(reginfo, agtreq_info)) {
        DEBUGMSGTL(("internal:usmDHUserKeyTable",
                    "waiting for last post_request\n"));
        return SNMP_ERR_NOERROR;
    }

    packet_rc = netsnmp_check_all_requests_error(agtreq_info->asp, 0);
    if ((MFD_SUCCESS != packet_rc) && usmDHUserKeyTable_dirty_get()) {
        /*
         * we shouldn't get here. the undo steps should also clear
         * the dirty flags.
         */
        snmp_log(LOG_WARNING,
                 "usmDHUserKeyTable dirty flag set in post_request "
                 "but status != SUCCESS.\n");
    }

    rc = usmDHUserKeyTable_post_request(usmDHUserKeyTable_if_ctx.user_ctx,
                                        packet_rc);
    if (MFD_SUCCESS != rc) {
        /*
         * nothing we can do about it but log it
         */
        DEBUGMSGTL(("usmDHUserKeyTable", "error %d from "
                    "usmDHUserKeyTable_post_request\n", rc));
    }

    return SNMP_ERR_NOERROR;
}                               /* _mfd_usmDHUserKeyTable_post_request */
/**
 * @internal
 * wrapper
 */
static int
_mfd_jmfcNamespaceHttpServerTable_post_request(netsnmp_mib_handler
                                               *handler,
                                               netsnmp_handler_registration
                                               *reginfo,
                                               netsnmp_agent_request_info
                                               *agtreq_info,
                                               netsnmp_request_info
                                               *requests)
{
    jmfcNamespaceHttpServerTable_rowreq_ctx *rowreq_ctx =
                  netsnmp_container_table_row_extract(requests);
    int rc, packet_rc;

    DEBUGMSGTL(("internal:jmfcNamespaceHttpServerTable:_mfd_jmfcNamespaceHttpServerTable_post_request", "called\n"));

    /*
     * release row context, if deleted
     */
    if (rowreq_ctx && (rowreq_ctx->rowreq_flags & MFD_ROW_DELETED))
        jmfcNamespaceHttpServerTable_release_rowreq_ctx(rowreq_ctx);

    /*
     * wait for last call before calling user
     */
    if (1 != netsnmp_row_merge_status_last(reginfo, agtreq_info)) {
        DEBUGMSGTL(("internal:jmfcNamespaceHttpServerTable",
                    "waiting for last post_request\n"));
        return SNMP_ERR_NOERROR;
    }
    
    packet_rc = netsnmp_check_all_requests_error(agtreq_info->asp, 0);
    rc = jmfcNamespaceHttpServerTable_post_request
        (jmfcNamespaceHttpServerTable_if_ctx.user_ctx, packet_rc);
    if (MFD_SUCCESS != rc) {
        /*
         * nothing we can do about it but log it
         */
        DEBUGMSGTL(("jmfcNamespaceHttpServerTable","error %d from "
                    "jmfcNamespaceHttpServerTable_post_request\n", rc));
    }
    
    return SNMP_ERR_NOERROR;
} /* _mfd_jmfcNamespaceHttpServerTable_post_request */
/**
 * @internal
 * wrapper
 */
static int
_mfd_ipv6InterfaceTable_post_request(netsnmp_mib_handler *handler,
                                     netsnmp_handler_registration *reginfo,
                                     netsnmp_agent_request_info
                                     *agtreq_info,
                                     netsnmp_request_info *requests)
{
    int             rc, packet_rc;

    DEBUGMSGTL(("internal:ipv6InterfaceTable:_mfd_ipv6InterfaceTable_post_request", "called\n"));

    /*
     * wait for last call before calling user
     */
    if (1 != netsnmp_row_merge_status_last(reginfo, agtreq_info)) {
        DEBUGMSGTL(("internal:ipv6InterfaceTable",
                    "waiting for last post_request\n"));
        return SNMP_ERR_NOERROR;
    }

    packet_rc = netsnmp_check_all_requests_error(agtreq_info->asp, 0);
    if ((MFD_SUCCESS != packet_rc) && ipv6InterfaceTable_dirty_get()) {
        /*
         * we shouldn't get here. the undo steps should also clear
         * the dirty flags.
         */
        snmp_log(LOG_WARNING,
                 "ipv6InterfaceTable dirty flag set in post_request "
                 "but status != SUCCESS.\n");
    }

    rc = ipv6InterfaceTable_post_request(ipv6InterfaceTable_if_ctx.
                                         user_ctx, packet_rc);
    if (MFD_SUCCESS != rc) {
        /*
         * nothing we can do about it but log it
         */
        DEBUGMSGTL(("ipv6InterfaceTable", "error %d from "
                    "ipv6InterfaceTable_post_request\n", rc));
    }

    return SNMP_ERR_NOERROR;
}                               /* _mfd_ipv6InterfaceTable_post_request */