📄 node-get.m2i
字号:
############################################################# -*- c -*-## generic include for XXX. Do not use directly.#### $Id: node-get.m2i 12704 2005-08-30 00:38:54Z rstory $########################################################################@if $m2c_mark_boundary == 1@/** START code generated by $RCSfile$ $Revision: 12704 $ */@end@##########################################################################@include m2c_setup_node.m2i@@eval $m2c_node_realloc = 2@ // malloc/** * Extract the current value of the $node data. * * Set a value using the data context for the row. *@if $m2c_node_get_comments ne ""@$m2c_node_get_comments*@end@ * @param rowreq_ctx * Pointer to the row request context. * @param $m2c_node_param_ref_name * Pointer to storage for a $node.decl variable@if $m2c_node_needlength == 1@ * @param $m2c_node_param_ref_lname * Pointer to a size_t. On entry, it will contain the size (in bytes) * pointed to by $node. * On exit, this value should contain the data size (in bytes).@end@ * * @retval MFD_SUCCESS : success * @retval MFD_SKIP : skip this node (no value for now) * @retval MFD_ERROR : Any other error@if $m2c_node_needlength == 1@* * @note If you need more than (*$m2c_node_param_ref_lname) bytes of memory, * allocate it using malloc() and update $m2c_node_param_ref_name. * <b>DO NOT</b> free the previous pointer. * The MFD helper will release the memory you allocate. * * @remark If you call this function yourself, you are responsible * for checking if the pointer changed, and freeing any * previously allocated memory. (Not necessary if you pass * in a pointer to static memory, obviously.)@end@ */int${node}_get( ${context}_rowreq_ctx *rowreq_ctx, $m2c_node_param_ref ){@ifconf syntax-$node.syntax-get.m2i@@ include syntax-$node.syntax-get.m2i@@else@@ include generic-get-decl.m2i@ DEBUGMSGTL(("verbose:${context}:${node}_get","called\n")); netsnmp_assert(NULL != rowreq_ctx);/* * TODO:231:o: |-> Extract the current value of the $node data.@if $m2c_node_needlength == 0@ * copy $m2c_node_lh from $m2c_data_item_base@else@ * copy $m2c_node_lh data and $m2c_node_lhs from $m2c_data_item_base@end@ */@ if ("$m2c_data_context" eq "generated") && ($m2c_node_skip_get != 1)@@ include generic-ctx-get.m2i@@ else@@ if ($m2c_node_skip_get != 1)@ /* * TODO:235:M: |-> Remove log message/SKIP once you've set $node data */ snmp_log(LOG_ERR,"${context} node $node not implemented: skipping\n");@ end@ return MFD_SKIP;@ end@## ------------------------------------------------------------------@ if $node.decl =~ /long/i@ # ASN_INTEGER ASN_COUNTER ASN_GAUGE@ include generic-get-long.m2i@@ elsif $node.decl =~ /char/i@ # ASN_OCTET_STR ASN_OPAQUE@ include generic-get-char.m2i@@ elsif $node.decl =~ /oid/i@ # ASN_OBJECT_ID@ include generic-get-oid.m2i@@ elsif $node.decl =~ /U64/i@ # ASN_COUNTER64@ include generic-get-U64.m2i@@ else@@ print ERROR: unknown node.decl: $node.decl@@ exit@@ end@## ------------------------------------------------------------------@ if ($m2c_node_skip_mapping != 1) && ("$m2c_data_context" ne "generated")@@ include generic-value-map.m2i@@ end@@ include generic-get-decl-bot.m2i@ // copy value out@end@ # no syntax include return MFD_SUCCESS;} /* ${node}_get */##########################################################################@if $m2c_mark_boundary == 1@/** END code generated by $RCSfile$ $Revision: 12704 $ */@end@
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -