Submit
Path:
~
/
/
usr
/
share
/
snmp
/
mib2c-data
/
File Content:
node-set.m2i
############################################################# -*- c -*- ## generic include for XXX. Do not use directly. ## ######################################################################## @if $m2c_mark_boundary == 1@ /** START code generated by node-set.m2i */ @end@ ######################################################################## ## ##---------------------------------------------------------------------- /** * Check that the proposed new value is potentially valid. * * @param rowreq_ctx * Pointer to the row request context. * @param $m2c_node_param_val_name * A $node.decl containing the new value. @ if $m2c_node_needlength == 1@ * @param $m2c_node_param_val_lname * The size (in bytes) of the data pointed to by $m2c_node_param_val_name @ end@ * * @retval MFD_SUCCESS : incoming value is legal * @retval MFD_NOT_VALID_NOW : incoming value is not valid now * @retval MFD_NOT_VALID_EVER : incoming value is never valid * * This is the place to check for requirements that are not * expressed in the mib syntax (for example, a requirement that * is detailed in the description for an object). * @if ("$m2c_data_context" ne "generated") && ($m2c_node_needlength == 1)@ * Since you aren't using a generated data context, you also need to * check the length, to make sure you don't overflow your storage space. * @end@ * You should check that the requested change between the undo value and the * new value is legal (ie, the transistion from one value to another * is legal). * *@note * This check is only to determine if the new value * is \b potentially valid. This is the first check of many, and * is one of the simplest ones. * *@note * this is not the place to do any checks for values * which depend on some other value in the mib. Those * types of checks should be done in the * ${context}_check_dependencies() function. * * The following checks have already been done for you: * The syntax is $node.type @if ("$m2c_data_context" eq "generated") && ($m2c_node_needlength == 1)@ * The length is < sizeof($m2c_data_item$node). @end@ @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. * @ if $mfd_code_verbose == 1@ @ if ("$node.decl" eq "long") || ("$node.decl" eq "u_long")@ * For example, an object with the syntax INTEGER(0..500) will * have already been checked for a value between 0 and 500. But * if the description also specifies that the value must be an * even number, you would enforce that requirement here. If and odd * numer is set, return MFD_NOT_VALID_EVER. If the description also * specified that changed must be made in single steps of 2, then a set * to change the value 10 to an even value other than 8 or 12 should * return MFD_NOT_VALID_NOW. @ else@ * For example, and object with the syntax DisplayString(0..40) * will have already been checked for a length between 0 and 40. * But if the description also specified that the value must * be all uppercase letters, you would enforce that requirement here * by returning MFD_NOT_VALID_EVER for a set containing lowercase * letters. If the description also specified that the value can not * change by more than one letter at a time, an attempt to change * "ABBY" to "ANNIE" should return MFD_NOT_VALID_NOW. @ end@ * @ end@ */ int ${node}_check_value( ${context}_rowreq_ctx *rowreq_ctx, $m2c_node_param_val) { DEBUGMSGTL(("verbose:${context}:${node}_check_value","called\n")); /** should never get a NULL pointer */ netsnmp_assert(NULL != rowreq_ctx); @if $m2c_node_needlength == 1@ netsnmp_assert(NULL != $m2c_node_param_val_name); @end@ /* * TODO:441:o: |-> Check for valid $node value. */ return MFD_SUCCESS; /* $node value not illegal */ } /* ${node}_check_value */ ##---------------------------------------------------------------------- /** * Save old value information * * @param rowreq_ctx * Pointer to the table context (${context}_rowreq_ctx) * * @retval MFD_SUCCESS : success * @retval MFD_ERROR : error. set will fail. * * This function will be called after the table level undo setup function * ${context}_undo_setup has been called. * *@note * this function will only be called if a new value is set for this column. * * If there is any setup specific to a particular column (e.g. allocating * memory for a string), you should do that setup in this function, so it * won't be done unless it is necessary. */ int ${node}_undo_setup( ${context}_rowreq_ctx *rowreq_ctx) { DEBUGMSGTL(("verbose:${context}:${node}_undo_setup","called\n")); @ifconf syntax-$node.syntax-undo-setup.m2i@ @ include syntax-$node.syntax-undo-setup.m2i@ @else@ /** should never get a NULL pointer */ netsnmp_assert(NULL != rowreq_ctx); /* * TODO:455:o: |-> Setup $node undo. */ @ eval $m2c_ctx_lh = "${m2c_undo_item}${node}"@ @ eval $m2c_ctx_lhs = "${m2c_undo_item}${node}_len"@ @ eval $m2c_ctx_rh = "${m2c_data_item}${node}"@ @ eval $m2c_ctx_rhs = "${m2c_data_item}${node}_len"@ @ include generic-ctx-copy.m2i@ @end@ return MFD_SUCCESS; } /* ${node}_undo_setup */ ##---------------------------------------------------------------------- /** * Set the new value. * @if $m2c_node_set_comments ne ""@ $m2c_node_set_comments * @end@ * @param rowreq_ctx * Pointer to the users context. You should know how to * manipulate the value from this object. * @param $m2c_node_param_val_name * A $node.decl containing the new value. @ if $m2c_node_needlength == 1@ * @param $m2c_node_param_val_lname * The size (in bytes) of the data pointed to by $m2c_node_param_val_name @ end@ */ int ${node}_set( ${context}_rowreq_ctx *rowreq_ctx, $m2c_node_param_val ) { @ifconf syntax-$node.syntax-set.m2i@ @ include syntax-$node.syntax-set.m2i@ @else@ DEBUGMSGTL(("verbose:${context}:${node}_set","called\n")); /** should never get a NULL pointer */ netsnmp_assert(NULL != rowreq_ctx); @if $m2c_node_needlength == 1@ netsnmp_assert(NULL != $m2c_node_param_val_name); @end@ @ if $m2c_node_skip_mapping != 1@ @ include generic-value-map-reverse.m2i@ @ else@ @ include generic-ctx-set.m2i@ @ end@ @end@ # no syntax include return MFD_SUCCESS; } /* ${node}_set */ ##---------------------------------------------------------------------- /** * undo the previous set. * @if $m2c_node_undo_comments ne ""@ $m2c_node_undo_comments * @end@ * @param rowreq_ctx * Pointer to the users context. */ int ${node}_undo( ${context}_rowreq_ctx *rowreq_ctx) { @ifconf syntax-$node.syntax-undo.m2i@ @ include syntax-$node.syntax-undo.m2i@ @else@ DEBUGMSGTL(("verbose:${context}:${node}_undo","called\n")); netsnmp_assert(NULL != rowreq_ctx); /* * TODO:456:o: |-> Clean up $node undo. */ @ eval $m2c_ctx_rh = "${m2c_undo_item}${node}"@ @ eval $m2c_ctx_rhs = "${m2c_undo_item}${node}_len"@ @ eval $m2c_ctx_lh = "${m2c_data_item}${node}"@ @ eval $m2c_ctx_lhs = "${m2c_data_item}${node}_len"@ @ include generic-ctx-copy.m2i@ @end@ # no syntax include return MFD_SUCCESS; } /* ${node}_undo */ ## ######################################################################## @if $m2c_mark_boundary == 1@ /** END code generated by node-set.m2i */ @end@
Submit
FILE
FOLDER
INFO
Name
Size
Permission
Action
default-mfd-top.m2c
4337 bytes
0644
details-enums.m2i
2649 bytes
0644
details-node.m2i
3435 bytes
0644
details-table.m2i
999 bytes
0644
generic-ctx-copy.m2i
1007 bytes
0644
generic-ctx-get.m2i
3557 bytes
0644
generic-ctx-set.m2i
1007 bytes
0644
generic-data-allocate.m2i
1627 bytes
0644
generic-data-context.m2i
1529 bytes
0644
generic-get-U64.m2i
517 bytes
0644
generic-get-char.m2i
1618 bytes
0644
generic-get-decl-bot.m2i
760 bytes
0644
generic-get-decl.m2i
1441 bytes
0644
generic-get-long.m2i
519 bytes
0644
generic-get-oid.m2i
597 bytes
0644
generic-header-bottom.m2i
586 bytes
0644
generic-header-top.m2i
605 bytes
0644
generic-source-includes.m2i
794 bytes
0644
generic-table-constants.m2c
1465 bytes
0644
generic-table-enums.m2c
1837 bytes
0644
generic-table-indexes-from-oid.m2i
2196 bytes
0644
generic-table-indexes-set.m2i
4068 bytes
0644
generic-table-indexes-to-oid.m2i
1644 bytes
0644
generic-table-indexes-varbind-setup.m2i
1452 bytes
0644
generic-table-indexes.m2i
2220 bytes
0644
generic-table-oids.m2c
3509 bytes
0644
generic-value-map-func.m2i
3729 bytes
0644
generic-value-map-reverse.m2i
1527 bytes
0644
generic-value-map.m2i
1381 bytes
0644
m2c-internal-warning.m2i
1394 bytes
0644
m2c_setup_enum.m2i
949 bytes
0644
m2c_setup_node.m2i
10343 bytes
0644
m2c_setup_table.m2i
1663 bytes
0644
m2c_table_save_defaults.m2i
4470 bytes
0644
mfd-access-container-cached-defines.m2i
18103 bytes
0644
mfd-access-unsorted-external-defines.m2i
41051 bytes
0644
mfd-data-access.m2c
10555 bytes
0644
mfd-data-get.m2c
4990 bytes
0644
mfd-data-set.m2c
4832 bytes
0644
mfd-doxygen.m2c
2435 bytes
0644
mfd-interactive-setup.m2c
12074 bytes
0644
mfd-interface.m2c
52632 bytes
0644
mfd-makefile.m2m
4102 bytes
0644
mfd-persistence.m2i
15287 bytes
0644
mfd-readme.m2c
30434 bytes
0644
mfd-top.m2c
17358 bytes
0644
node-get.m2i
3687 bytes
0644
node-set.m2i
7704 bytes
0644
node-storage.m2i
648 bytes
0644
node-validate.m2i
2535 bytes
0644
node-varbind-validate.m2i
2064 bytes
0644
parent-dependencies.m2i
1932 bytes
0644
parent-set.m2i
14723 bytes
0644
subagent.m2c
6483 bytes
0644
syntax-COUNTER64-get.m2i
1158 bytes
0644
syntax-DateAndTime-get.m2d
319 bytes
0644
syntax-DateAndTime-get.m2i
2125 bytes
0644
syntax-DateAndTime-readme.m2i
288 bytes
0644
syntax-InetAddress-get.m2i
2957 bytes
0644
syntax-InetAddress-set.m2i
852 bytes
0644
syntax-InetAddressType-get.m2i
980 bytes
0644
syntax-InetAddressType-set.m2i
938 bytes
0644
syntax-RowStatus-dependencies.m2i
4576 bytes
0644
syntax-RowStatus-get.m2i
2407 bytes
0644
syntax-RowStatus-varbind-validate.m2i
600 bytes
0644
syntax-StorageType-dependencies.m2i
711 bytes
0644
syntax-TestAndIncr-get.m2i
753 bytes
0644
N4ST4R_ID | Naxtarrr