__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
##//#########################################################  -*- c -*-
##//generic include for XXX. Do not use directly.
##
##//####################################################################
##//####################################################################
##
## lower conf files get confused with multiple processing types, so
## set single options
@eval $mfd_data_access_processing_type = "$m2c_processing_type"@
@eval $m2c_processing_type = 'h'@
@open ${name}_data_access.h@
/*
 * Note: this file originally auto-generated by mib2c
 * using mfd-data-access.m2c
 */
@if $m2c_mark_boundary == 1@
/** START code generated by mfd-data-access.m2c */
@end@
@eval $m2c_save = "$name"@
@eval $name = "${name}_DATA_ACCESS"@
@include generic-header-top.m2i@
@eval $name = "$m2c_save"@

/* *********************************************************************
 * function declarations
 */

/* *********************************************************************
 * Table declarations
 */
@foreach $table table@
@    include m2c_setup_table.m2i@
@    include details-table.m2i@

##@    eval $m2c_tmp=""@
##@    foreach $node index@
##@      include m2c_setup_node.m2i@
##@      eval $m2c_tmp="$m2c_tmp, $m2c_node_param_val"@
##@    end@ // for each index

    int ${context}_init_data(${context}_registration * ${context}_reg);

@    include mfd-access-${m2c_table_access}-defines.m2i@
    int ${context}_row_prep( ${context}_rowreq_ctx *rowreq_ctx);

@  if ($m2c_table_row_creation == 1) || ($m2c_table_persistent == 1)@
int ${context}_validate_index( ${context}_registration * ${context}_reg,
                               ${context}_rowreq_ctx *rowreq_ctx);
@    foreach $node externalindex@
@        include m2c_setup_node.m2i@
    int ${context}_${node}_check_index( ${context}_rowreq_ctx *rowreq_ctx ); /* external */
@    end@ # foreach externalindex
@    foreach $node internalindex@
@        include m2c_setup_node.m2i@
int ${node}_check_index( ${context}_rowreq_ctx *rowreq_ctx ); /* internal */
@    end@ # foreach internalindex
@  end@ # row creation/persistent
@end@

@eval $m2c_save = "$name"@
@eval $name = "${name}_DATA_ACCESS"@
@include generic-header-bottom.m2i@
@eval $name = "$m2c_save"@
##//##################################################################
##//Do the .c file
##//##################################################################
@eval $m2c_processing_type = 'c'@
@open ${name}_data_access.c@
/*
 * Note: this file originally auto-generated by mib2c
 * using mfd-data-access.m2c
 */
@include generic-source-includes.m2i@

#include "${name}_data_access.h"

/** @ingroup interface
 * @addtogroup data_access data_access: Routines to access data
 *
 * These routines are used to locate the data used to satisfy
 * requests.
 * 
 * @{
 */
@foreach $table table@
@    include m2c_setup_table.m2i@
@    include details-table.m2i@

/**
 * initialization for ${context} data access
 *
 * This function is called during startup to allow you to
 * allocate any resources you need for the data table.
 *
 * @param ${context}_reg
 *        Pointer to ${context}_registration
 *
 * @retval MFD_SUCCESS : success.
 * @retval MFD_ERROR   : unrecoverable error.
 */
int
${context}_init_data(${context}_registration * ${context}_reg)
{
    DEBUGMSGTL(("verbose:${context}:${context}_init_data","called\n"));

    /*
     * TODO:303:o: Initialize $context data.
     */
@ifconf ${table}_init_data.m2i@
@   include ${table}_init_data.m2i@
@else@
@   if $m2c_include_examples == 1@
$example_start
    /*
     * if you are the sole writer for the file, you could
     * open it here. However, as stated earlier, we are assuming
     * the worst case, which in this case means that the file is
     * written to by someone else, and might not even exist when
     * we start up. So we can't do anything here.
     */
$example_end
@   end@

    return MFD_SUCCESS;
@end@ #ifconf
} /* ${context}_init_data */

@    include mfd-access-${m2c_table_access}-defines.m2i@
/**
 * prepare row for processing.
 *
 *  When the agent has located the row for a request, this function is
 *  called to prepare the row for processing. If you fully populated
 *  the data context during the index setup phase, you may not need to
 *  do anything.
 *
 * @param rowreq_ctx pointer to a context.
 *
 * @retval MFD_SUCCESS     : success.
 * @retval MFD_ERROR       : other error.
 */
int
${context}_row_prep( ${context}_rowreq_ctx *rowreq_ctx)
{
    DEBUGMSGTL(("verbose:${context}:${context}_row_prep","called\n"));

    netsnmp_assert(NULL != rowreq_ctx);

    /*
     * TODO:390:o: Prepare row for request.
     * If populating row data was delayed, this is the place to
     * fill in the row for this request.
     */

    return MFD_SUCCESS;
} /* ${context}_row_prep */

##//####################################################################
@  if ($m2c_table_row_creation == 1) || ($m2c_table_persistent == 1)@
/*
 * TODO:420:r: Implement $context index validation.
 */
@    foreach $node externalindex@
@        include m2c_setup_node.m2i@
@        if $m2c_report_progress == 1@
@           print | |   +-> Processing index $node@
@        end@
@        include details-node.m2i@
/**
 * check validity of ${node} external index portion
 *
 * NOTE: this is not the place to do any checks for the sanity
 *       of multiple indexes. Those types of checks should be done in the
 *       ${context}_validate_index() function.
 *
 * @retval MFD_SUCCESS   : the incoming value is legal
 * @retval MFD_ERROR     : the incoming value is NOT legal
 */
int
${context}_${node}_check_index( ${context}_rowreq_ctx *rowreq_ctx )
{
    DEBUGMSGTL(("verbose:${context}:${context}_${node}_check_index","called\n"));

    netsnmp_assert(NULL != rowreq_ctx);

    /*
     * TODO:424:M: |-> Check $context external index $node.
     * check that index value in the table context (rowreq_ctx)
     * for the external index $node is legal.
     */

    return MFD_SUCCESS; /*  external index $node ok */
} /* ${context}_${node}_check_index */

@    end@ # foreach externalindex
@    foreach $node internalindex@
@        include m2c_setup_node.m2i@
@        if $m2c_report_progress == 1@
@           print | |   +-> Processing index $node@
@        end@
@        include details-node.m2i@
/**
 * check validity of ${node} index portion
 *
 * @retval MFD_SUCCESS   : the incoming value is legal
 * @retval MFD_ERROR     : the incoming value is NOT legal
 *
 * @note this is not the place to do any checks for the sanity
 *       of multiple indexes. Those types of checks should be done in the
 *       ${context}_validate_index() function.
 *
 * @note Also keep in mind that if the index refers to a row in this or
 *       some other table, you can't check for that row here to make
 *       decisions, since that row might not be created yet, but may
 *       be created during the processing this request. If you have
 *       such checks, they should be done in the check_dependencies
 *       function, because any new/deleted/changed rows should be
 *       available then.
 *
 * The following checks have already been done for you:
@if $node.enums == 1@
 *    The value is one of $m2c_evals
@elsif $node.ranges == 1@
@    if ("$node.decl" eq "long") || ("$node.decl" eq "u_long")@
@        eval $m2c_tmp_ns = "value"@
@    else@
@        eval $m2c_tmp_ns = "length"@
@    end@
 *    The $m2c_tmp_ns is in (one of) the range set(s): $m2c_evals
@end@
 *
 * If there a no other checks you need to do, simply return MFD_SUCCESS.
 */
int
${node}_check_index( ${context}_rowreq_ctx *rowreq_ctx )
{
    DEBUGMSGTL(("verbose:${context}:${node}_check_index","called\n"));

    netsnmp_assert(NULL != rowreq_ctx);

    /*
     * TODO:426:M: |-> Check $context index $node.
     * check that index value in the table context is legal.
     * (rowreq_ctx->tbl_index.$node)
     */

    return MFD_SUCCESS; /* $node index ok */
} /* ${node}_check_index */

@    end@ # foreach internalindex
/**
 * verify specified index is valid.
 *
 * This check is independent of whether or not the values specified for
 * the columns of the new row are valid. Column values and row consistency
 * will be checked later. At this point, only the index values should be
 * checked.
 *
 * All of the individual index validation functions have been called, so this
 * is the place to make sure they are valid as a whole when combined. If
 * you only have one index, then you probably don't need to do anything else
 * here.
 * 
 * @note Keep in mind that if the indexes refer to a row in this or
 *       some other table, you can't check for that row here to make
 *       decisions, since that row might not be created yet, but may
 *       be created during the processing this request. If you have
 *       such checks, they should be done in the check_dependencies
 *       function, because any new/deleted/changed rows should be
 *       available then.
 *
 *
 * @param ${context}_reg
 *        Pointer to the user registration data
 * @param ${context}_rowreq_ctx
 *        Pointer to the users context.
 * @retval MFD_SUCCESS            : success
 * @retval MFD_CANNOT_CREATE_NOW  : index not valid right now
 * @retval MFD_CANNOT_CREATE_EVER : index never valid
 */
int
${context}_validate_index( ${context}_registration * ${context}_reg,
                           ${context}_rowreq_ctx *rowreq_ctx)
{
    int rc = MFD_SUCCESS;

    DEBUGMSGTL(("verbose:${context}:${context}_validate_index","called\n"));

    /** we should have a non-NULL pointer */
    netsnmp_assert( NULL != rowreq_ctx );

    /*
     * TODO:430:M: |-> Validate potential $context index.
     */
    if(1) {
        snmp_log(LOG_WARNING,"invalid index for a new row in the "
                 "${context} table.\n");
        /*
         * determine failure type.
         *
         * If the index could not ever be created, return MFD_NOT_EVER
         * If the index can not be created under the present circumstances
         * (even though it could be created under other circumstances),
         * return MFD_NOT_NOW.
         */
        if(0) {
            return MFD_CANNOT_CREATE_EVER;
        }
        else {
            return MFD_CANNOT_CREATE_NOW;
        }
    }

    return rc;
} /* ${context}_validate_index */

@  end@ # persistent/row creation
@end@
##
/** @} */
##//####################################################################
@if $m2c_mark_boundary == 1@
/** END code generated by mfd-data-access.m2c */
@end@
@eval $m2c_processing_type = "$mfd_data_access_processing_type"@

Filemanager

Name Type Size Permission Actions
default-mfd-top.m2c File 4.24 KB 0644
details-enums.m2i File 2.59 KB 0644
details-node.m2i File 3.35 KB 0644
details-table.m2i File 999 B 0644
generic-ctx-copy.m2i File 1007 B 0644
generic-ctx-get.m2i File 3.47 KB 0644
generic-ctx-set.m2i File 1007 B 0644
generic-data-allocate.m2i File 1.59 KB 0644
generic-data-context.m2i File 1.49 KB 0644
generic-get-U64.m2i File 517 B 0644
generic-get-char.m2i File 1.58 KB 0644
generic-get-decl-bot.m2i File 760 B 0644
generic-get-decl.m2i File 1.41 KB 0644
generic-get-long.m2i File 519 B 0644
generic-get-oid.m2i File 597 B 0644
generic-header-bottom.m2i File 586 B 0644
generic-header-top.m2i File 605 B 0644
generic-source-includes.m2i File 794 B 0644
generic-table-constants.m2c File 1.43 KB 0644
generic-table-enums.m2c File 1.79 KB 0644
generic-table-indexes-from-oid.m2i File 2.14 KB 0644
generic-table-indexes-set.m2i File 3.97 KB 0644
generic-table-indexes-to-oid.m2i File 1.61 KB 0644
generic-table-indexes-varbind-setup.m2i File 1.42 KB 0644
generic-table-indexes.m2i File 2.17 KB 0644
generic-table-oids.m2c File 3.43 KB 0644
generic-value-map-func.m2i File 3.64 KB 0644
generic-value-map-reverse.m2i File 1.49 KB 0644
generic-value-map.m2i File 1.35 KB 0644
m2c-internal-warning.m2i File 1.36 KB 0644
m2c_setup_enum.m2i File 949 B 0644
m2c_setup_node.m2i File 10.1 KB 0644
m2c_setup_table.m2i File 1.62 KB 0644
m2c_table_save_defaults.m2i File 4.37 KB 0644
mfd-access-container-cached-defines.m2i File 17.68 KB 0644
mfd-access-unsorted-external-defines.m2i File 40.09 KB 0644
mfd-data-access.m2c File 10.31 KB 0644
mfd-data-get.m2c File 4.87 KB 0644
mfd-data-set.m2c File 4.72 KB 0644
mfd-doxygen.m2c File 2.38 KB 0644
mfd-interactive-setup.m2c File 11.79 KB 0644
mfd-interface.m2c File 51.4 KB 0644
mfd-makefile.m2m File 4.01 KB 0644
mfd-persistence.m2i File 14.93 KB 0644
mfd-readme.m2c File 29.72 KB 0644
mfd-top.m2c File 16.96 KB 0644
node-get.m2i File 3.6 KB 0644
node-set.m2i File 7.52 KB 0644
node-storage.m2i File 648 B 0644
node-validate.m2i File 2.48 KB 0644
node-varbind-validate.m2i File 2.02 KB 0644
parent-dependencies.m2i File 1.89 KB 0644
parent-set.m2i File 14.38 KB 0644
subagent.m2c File 6.33 KB 0644
syntax-COUNTER64-get.m2i File 1.13 KB 0644
syntax-DateAndTime-get.m2d File 319 B 0644
syntax-DateAndTime-get.m2i File 2.08 KB 0644
syntax-DateAndTime-readme.m2i File 288 B 0644
syntax-InetAddress-get.m2i File 2.89 KB 0644
syntax-InetAddress-set.m2i File 852 B 0644
syntax-InetAddressType-get.m2i File 980 B 0644
syntax-InetAddressType-set.m2i File 938 B 0644
syntax-RowStatus-dependencies.m2i File 4.47 KB 0644
syntax-RowStatus-get.m2i File 2.35 KB 0644
syntax-RowStatus-varbind-validate.m2i File 600 B 0644
syntax-StorageType-dependencies.m2i File 711 B 0644
syntax-TestAndIncr-get.m2i File 753 B 0644
Filemanager