Blame local/mib2c-conf.d/node-get.m2i

Packit fcad23
#############################################################  -*- c -*-
Packit fcad23
## generic include for XXX. Do not use directly.
Packit fcad23
##
Packit fcad23
########################################################################
Packit fcad23
@if $m2c_mark_boundary == 1@
Packit fcad23
/** START code generated by node-get.m2i */
Packit fcad23
@end@
Packit fcad23
########################################################################
Packit fcad23
##
Packit fcad23
@include m2c_setup_node.m2i@
Packit fcad23
@eval $m2c_node_realloc = 2@ // malloc
Packit fcad23
/**
Packit fcad23
 * Extract the current value of the $node data.
Packit fcad23
 *
Packit fcad23
 * Set a value using the data context for the row.
Packit fcad23
 *
Packit fcad23
@if $m2c_node_get_comments ne ""@
Packit fcad23
$m2c_node_get_comments
Packit fcad23
*
Packit fcad23
@end@
Packit fcad23
 * @param rowreq_ctx
Packit fcad23
 *        Pointer to the row request context.
Packit fcad23
 * @param $m2c_node_param_ref_name
Packit fcad23
 *        Pointer to storage for a $node.decl variable
Packit fcad23
@if $m2c_node_needlength == 1@
Packit fcad23
 * @param $m2c_node_param_ref_lname
Packit fcad23
 *        Pointer to a size_t. On entry, it will contain the size (in bytes)
Packit fcad23
 *        pointed to by $node.
Packit fcad23
 *        On exit, this value should contain the data size (in bytes).
Packit fcad23
@end@
Packit fcad23
 *
Packit fcad23
 * @retval MFD_SUCCESS         : success
Packit fcad23
 * @retval MFD_SKIP            : skip this node (no value for now)
Packit fcad23
 * @retval MFD_ERROR           : Any other error
Packit fcad23
@if $m2c_node_needlength == 1@
Packit fcad23
*
Packit fcad23
 * @note If you need more than (*$m2c_node_param_ref_lname) bytes of memory,
Packit fcad23
 *       allocate it using malloc() and update $m2c_node_param_ref_name.
Packit fcad23
 *       DO NOT free the previous pointer.
Packit fcad23
 *       The MFD helper will release the memory you allocate.
Packit fcad23
 *
Packit fcad23
 * @remark If you call this function yourself, you are responsible
Packit fcad23
 *         for checking if the pointer changed, and freeing any
Packit fcad23
 *         previously allocated memory. (Not necessary if you pass
Packit fcad23
 *         in a pointer to static memory, obviously.)
Packit fcad23
@end@
Packit fcad23
 */
Packit fcad23
int
Packit fcad23
${node}_get( ${context}_rowreq_ctx *rowreq_ctx, $m2c_node_param_ref )
Packit fcad23
{
Packit fcad23
@ifconf syntax-$node.syntax-get.m2i@
Packit fcad23
@    include syntax-$node.syntax-get.m2i@
Packit fcad23
@else@
Packit fcad23
@    include generic-get-decl.m2i@
Packit fcad23
Packit fcad23
    DEBUGMSGTL(("verbose:${context}:${node}_get","called\n"));
Packit fcad23
Packit fcad23
    netsnmp_assert(NULL != rowreq_ctx);
Packit fcad23
Packit fcad23
/*
Packit fcad23
 * TODO:231:o: |-> Extract the current value of the $node data.
Packit fcad23
@if $m2c_node_needlength == 0@
Packit fcad23
 * copy $m2c_node_lh from $m2c_data_item_base
Packit fcad23
@else@
Packit fcad23
 * copy $m2c_node_lh data and $m2c_node_lhs from $m2c_data_item_base
Packit fcad23
@end@
Packit fcad23
 */
Packit fcad23
@    if ("$m2c_data_context" eq "generated") && ($m2c_node_skip_get != 1)@
Packit fcad23
@        include generic-ctx-get.m2i@
Packit fcad23
@    else@
Packit fcad23
@       if ($m2c_node_skip_get != 1)@
Packit fcad23
 /*
Packit fcad23
  * TODO:235:M: |-> Remove log message/SKIP once you've set $node data
Packit fcad23
  */
Packit fcad23
    snmp_log(LOG_ERR,"${context} node $node not implemented: skipping\n");
Packit fcad23
@       end@
Packit fcad23
    return MFD_SKIP;
Packit fcad23
@    end@
Packit fcad23
##   ------------------------------------------------------------------
Packit fcad23
@    if $node.decl =~ /long/i@ #   ASN_INTEGER ASN_COUNTER ASN_GAUGE
Packit fcad23
@       include generic-get-long.m2i@
Packit fcad23
@    elsif $node.decl =~ /char/i@ #         ASN_OCTET_STR ASN_OPAQUE
Packit fcad23
@       include generic-get-char.m2i@
Packit fcad23
@    elsif $node.decl =~ /oid/i@ #                    ASN_OBJECT_ID
Packit fcad23
@       include generic-get-oid.m2i@
Packit fcad23
@    elsif $node.decl =~ /U64/i@ #                    ASN_COUNTER64
Packit fcad23
@       include generic-get-U64.m2i@
Packit fcad23
@    else@
Packit fcad23
@        print ERROR: unknown node.decl: $node.decl@
Packit fcad23
@        exit@
Packit fcad23
@    end@
Packit fcad23
##   ------------------------------------------------------------------
Packit fcad23
@    if ($m2c_node_skip_mapping != 1) && ("$m2c_data_context" ne "generated")@
Packit fcad23
@        include generic-value-map.m2i@
Packit fcad23
@    end@
Packit fcad23
@    include generic-get-decl-bot.m2i@  // copy value out
Packit fcad23
@end@ # no syntax include
Packit fcad23
Packit fcad23
    return MFD_SUCCESS;
Packit fcad23
} /* ${node}_get */
Packit fcad23
Packit fcad23
##
Packit fcad23
########################################################################
Packit fcad23
@if $m2c_mark_boundary == 1@
Packit fcad23
/** END code generated by node-get.m2i */
Packit fcad23
@end@