📄 generic-ctx-get.m2i
字号:
############################################################# -*- c -*-## generic include for XXX. Do not use directly.#### $Id: generic-ctx-get.m2i,v 1.10 2004/10/04 18:54:14 rstory Exp $########################################################################@if $m2c_mark_boundary == 1@/** START code generated by $RCSfile: generic-ctx-get.m2i,v $ $Revision: 1.10 $ */@end@##########################################################################/*## This include will generate the code needed to assign data from## a generated data context to a parameter reference.#### EXAMPLE (prototype generated elsewhere)## int## ifName_get(ifXTable_ctx * ctx, char **ifName_ptr_ptr,## size_t * ifName_len_ptr) {#### ## m2c_node_lh : temp_ifName / (*ifName_ptr_ptr)## m2c_node_lhs: temp_ifName_len / (*ifName_len_ptr);## m2c_ctx_rh : ctx->data.## node : ifName#### if (temp_ifName_len < ctx->data.ifName_len) {## temp_ifName = malloc(ctx->data.ifName_len);## }## temp_ifName_len = ctx->data.ifName_len;## memcpy(temp_ifName, ctx->data.ifName, temp_ifName_len);##*/@if "$m2c_data_context" ne "generated"@ /** WARNING: this code might not work for $m2c_data_context */@end@@if $m2c_node_needlength == 1@ /* * make sure there is enough space for $node data */ if ((NULL == $m2c_ctx_lh) || ($m2c_ctx_lhs < $m2c_ctx_rhs)) {@ if $m2c_node_realloc == 0@ snmp_log(LOG_ERR,"not enough space for value\n"); return MFD_ERROR;@ else@ /* * allocate space for $node data */@ if $m2c_node_realloc == 1@ $m2c_ctx_lh = realloc($m2c_ctx_lh, $m2c_ctx_rhs * sizeof(${m2c_ctx_lh}[0]));@ else@ $m2c_ctx_lh = malloc($m2c_ctx_rhs * sizeof(${m2c_ctx_lh}[0]));@ end@ if(NULL == $m2c_ctx_lh) { snmp_log(LOG_ERR,"could not allocate memory\n"); return MFD_ERROR; }@ end@ } $m2c_ctx_lhs = $m2c_ctx_rhs; memcpy( $m2c_ctx_lh, $m2c_ctx_rh, $m2c_ctx_lhs * sizeof(${m2c_ctx_lh}[0]) );@else@@ if $node.decl =~ /U64/i@ # ASN_COUNTER64 ${m2c_ctx_lh}.high = ${m2c_ctx_rh}.high; ${m2c_ctx_lh}.low = ${m2c_ctx_rh}.low;@ else@ $m2c_ctx_lh = $m2c_ctx_rh;@ end@@end@ # length##########################################################################@if $m2c_mark_boundary == 1@/** END code generated by $RCSfile: generic-ctx-get.m2i,v $ $Revision: 1.10 $ */@end@
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -