generic-table-indexes-set.m2i
上传用户:wxp200602
上传日期:2007-10-30
资源大小:4028k
文件大小:4k
源码类别:

SNMP编程

开发平台:

Unix_Linux

  1. #############################################################  -*- c -*-
  2. ## generic include for XXX. Do not use directly.
  3. ##
  4. ## $Id: generic-table-indexes-set.m2i,v 1.9 2004/10/08 23:39:17 rstory Exp $
  5. ########################################################################
  6. @if $m2c_mark_boundary == 1@
  7. /** START code generated by $RCSfile: generic-table-indexes-set.m2i,v $ $Revision: 1.9 $ */
  8. @end@
  9. ########################################################################
  10. ##   memcpy((u_char*)&$node, ${node}_ptr, ${node}_len * sizeof(tbl_idx->${node}[0]));
  11. ##   tbl_idx->${node}_len = ${node}_len;
  12. ##
  13. @eval $gtis_tmp=""@
  14. @foreach $node index@
  15. @   include m2c_setup_node.m2i@
  16. @   eval $gtis_tmp="$gtis_tmp, $m2c_node_param_val"@
  17. @end@ # for each index
  18. ########################################################################
  19. ##//####################################################################
  20. ##//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  21. ##//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  22. @if $m2c_processing_type eq 'h'@
  23. int ${context}_indexes_set_tbl_idx(${context}_mib_index *tbl_idx$gtis_tmp);
  24. int ${context}_indexes_set(${context}_rowreq_ctx *rowreq_ctx$gtis_tmp);
  25. @end@ // m2c_processing_type eq 'h'
  26. ########################################################################
  27. ##//####################################################################
  28. ##//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  29. ##//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  30. @if $m2c_processing_type eq 'c'@
  31. /**
  32.  * set mib index(es)
  33.  *
  34.  * @param tbl_idx mib index structure
  35.  *
  36.  * @retval MFD_SUCCESS     : success.
  37.  * @retval MFD_ERROR       : other error.
  38.  *
  39.  * @remark
  40.  *  This convenience function is useful for setting all the MIB index
  41.  *  components with a single function call. It is assume that the C values
  42.  *  have already been mapped from their native/rawformat to the MIB format.
  43.  */
  44. int
  45. ${context}_indexes_set_tbl_idx(${context}_mib_index *tbl_idx$gtis_tmp)
  46. {
  47.     DEBUGMSGTL(("verbose:${context}:${context}_indexes_set_tbl_idx","calledn"));
  48. @foreach $node index@
  49. @   include m2c_setup_node.m2i@
  50. ## table indexes are not allocated pointers, so do not allow realloc here
  51. @eval $m2c_node_realloc = 0@ // fail
  52.     /* $m2c_node_summary */
  53. @   eval $m2c_ctx_lh = "tbl_idx->$node"@
  54. @   eval $m2c_ctx_lhs = "tbl_idx->${node}_len"@
  55. @   eval $m2c_ctx_rh = "$m2c_node_param_val_name"@
  56. @   eval $m2c_ctx_rhs = "$m2c_node_param_val_lname"@
  57. @   if $m2c_node_needlength == 1@
  58.      $m2c_ctx_lhs = sizeof($m2c_ctx_lh);
  59. @   end@
  60. ## also, assume mapping already done
  61. @   include generic-ctx-get.m2i@
  62. ##@   include generic-value-map.m2i@
  63.     
  64. @end@ // for each column
  65.     return MFD_SUCCESS;
  66. } /* ${context}_indexes_set_tbl_idx */
  67. /**
  68.  * @internal
  69.  * set row context indexes
  70.  *
  71.  * @param reqreq_ctx the row context that needs updated indexes
  72.  *
  73.  * @retval MFD_SUCCESS     : success.
  74.  * @retval MFD_ERROR       : other error.
  75.  *
  76.  * @remark
  77.  *  This function sets the mib indexs, then updates the oid indexs
  78.  *  from the mib index.
  79.  */
  80. int
  81. ${context}_indexes_set(${context}_rowreq_ctx *rowreq_ctx$gtis_tmp)
  82. {
  83.     DEBUGMSGTL(("verbose:${context}:${context}_indexes_set","calledn"));
  84.     if(MFD_SUCCESS != ${context}_indexes_set_tbl_idx(&rowreq_ctx->tbl_idx
  85. @foreach $node index@
  86. @   include m2c_setup_node.m2i@
  87.                                    , $m2c_node_param_val_call
  88. @end@ # for each index
  89.            ))
  90.         return MFD_ERROR;
  91.     /*
  92.      * convert mib index to oid index
  93.      */
  94.     rowreq_ctx->oid_idx.len = sizeof(rowreq_ctx->oid_tmp) / sizeof(oid);
  95.     if(0 != ${context}_index_to_oid(&rowreq_ctx->oid_idx,
  96.                                     &rowreq_ctx->tbl_idx)) {
  97.         return MFD_ERROR;
  98.     }
  99.     return MFD_SUCCESS;
  100. } /* ${context}_indexes_set */
  101. @end@ // m2c_processing_type eq 'c'
  102. ##
  103. ########################################################################
  104. @if $m2c_mark_boundary == 1@
  105. /** END code generated by $RCSfile: generic-table-indexes-set.m2i,v $ $Revision: 1.9 $ */
  106. @end@