mfd-interactive-setup.m2c
上传用户:wxp200602
上传日期:2007-10-30
资源大小:4028k
文件大小:10k
源码类别:

SNMP编程

开发平台:

Unix_Linux

  1. #######################################################################
  2. ## generic include for XXX. Do not use directly.
  3. ##
  4. ## $Id: mfd-interactive-setup.m2c,v 1.6.2.1 2004/12/24 14:05:09 rstory Exp $
  5. ########################################################################
  6. @if $m2c_mark_boundary == 1@
  7. /** START code generated by $RCSfile: mfd-interactive-setup.m2c,v $ $Revision: 1.6.2.1 $ */
  8. @end@
  9. ########################################################################
  10. @eval $m2c_temp_writable = table_is_writable($context)@
  11. @eval $m2c_temp_create = table_has_create($context)@
  12. @eval $m2c_temp_dependencies = $m2c_temp_writable@
  13. @eval $m2c_temp_context_reg = "$mfd_default_context_reg"@
  14. @eval $m2c_temp_data_context = "$mfd_default_data_context"@
  15. @eval $m2c_temp_data_allocate = 0@
  16. @eval $m2c_temp_undo_embed = 0@
  17. @eval $m2c_temp_data_init = 0@
  18. @eval $m2c_temp_table_access = "$mfd_default_table_access"@
  19. @eval $m2c_temp_data_transient = $mfd_default_data_transient + 1@
  20. @eval $m2c_temp_include_examples = $mfd_default_include_examples@
  21. @eval $m2c_conf_maybe_comment = "##"@
  22. ##
  23. @if $mfd_interactive_setup != 0@
  24. @open -@
  25. @   if $mfd_interactive_setup != -1@
  26. There are no defaults for ${context}. Would you like to
  27.   1) Accept hard-coded defaults
  28.   2) Set defaults now [DEFAULT]
  29. @     eval $ans = 2@
  30. @     prompt $ans Select your choice : @
  31. @   else@
  32. @      eval $ans = 2@
  33. @   end@
  34. @   print ans = $ans@
  35. @   if $ans == 1@
  36. @   else@
  37. @     eval $m2c_conf_maybe_comment = ""@
  38. ## ---------------------------------------------------
  39. @    if $m2c_temp_writable == 1@
  40. This table has writable columns. Do you want to generate
  41. code for writeable columns, or restrict the table to read-only?
  42.   1) generate code with writeable columns [DEFAULT]
  43.   2) generate code with read-only columns
  44. @      prompt $ans Select your choice : @
  45. @      if $ans == 2@
  46. @        eval $m2c_temp_writable = 0@
  47. @        eval $m2c_temp_create = 0@
  48. @        eval $m2c_temp_dependencies = 0@
  49. @      end@
  50. @    end@ # writable
  51. ## ---------------------------------------------------
  52. @    if $m2c_temp_dependencies == 1@
  53. Writable tables sometimes have dependencies beteen columns
  54. or with other tables. If there are no dependencies in this table, you
  55. probably do not want the extra code.
  56.   1) do not generate dependency code [DEFAULT]
  57.   2) generate dependency code
  58. @      prompt $ans Select your choice : @
  59. @      if $ans == 2@
  60. @        eval $m2c_temp_dependencies = 1@
  61. @      end@
  62. @    end@ # dependencies
  63. ## ---------------------------------------------------
  64. @    if $m2c_temp_create == 1@
  65. This table has read-create columns. Do you want to generate
  66. code for dynamic row creation?
  67.   1) generate code for row creation [DEFAULT]
  68.   2) do not generate code for row creation
  69. @      prompt $ans Select your choice : @
  70. @      if $ans == 2@
  71. @        eval $m2c_temp_create = 0@
  72. @      end@
  73. @    end@ # create
  74. ## ---------------------------------------------------
  75. Do you want to use an existing data structure for the USER context?
  76. This would be a structure used to track data for the entire table,
  77. (similar to a global variable) not individual rows.
  78.   1) No, use $m2c_temp_context_reg [DEFAULT]
  79.   2) Yes, use my own structure
  80. @      prompt $ans Select your choice : @
  81. @      if $ans == 2@
  82. @        prompt $m2c_temp_context_reg   Enter your USER context : @
  83. @      end@
  84. ## ---------------------------------------------------
  85. Do you want to use an existing data structure for the DATA context?
  86. The DATA context holds the data for each MIB column. By default, a new
  87. data structure will be created with an element for each column.
  88.   1) No, use $m2c_temp_data_context [DEFAULT]
  89.   2) Yes, use my own structure
  90. @      prompt $ans Select your choice : @
  91. @      if $ans == 2@
  92. Note: Do not enter a pointer type. Use the base structure name. For
  93. example, use 'struct widget', not 'struct widget *'. If you will be
  94. using pointer to the structure, select dynamic allocation in the
  95. next question.
  96. @        prompt $m2c_temp_data_context   Enter your DATA context : @
  97. @      end@
  98. ## ---------------------------------------------------
  99. @      if "x$m2c_temp_data_context" ne "x$mfd_default_data_context"@
  100. Do you want to allocate your '$m2c_temp_data_context' DATA context, or
  101. embed it directly? If your data is INTERNAL (controlled by the agent), you
  102. probably want embedded. If your data is EXTERNAL (controlled by another
  103. process) and you have pointers to the data, you probably want allocated.
  104.   1) directly embed structure [DEFAULT]
  105.   2) dynamically allocate structure
  106. @        prompt $ans Select your choice : @
  107. @        if $ans == 2@
  108. @          eval $m2c_temp_data_allocate = 1@
  109. @        end@
  110. ## ---------------------------------------------------
  111. Do you need to initialize elements in your '$m2c_temp_data_context'
  112. when a new instance is created, or do you plan on adding other
  113. structures that might need initialization to the row request context?
  114. @      else@ #
  115. Do you plan on adding any items to the default row request context
  116. that will require initialization/cleanup?
  117. @      end@ # ! default (generated)
  118. (The most common reason you might need to do this is if you want to keep
  119. some non-MIB data for every row.)
  120.   1) no, no initialization needed [DEFAULT]
  121.   2) yes, initilization is needed
  122. @        prompt $ans Select your choice : @
  123. @        if $ans == 2@
  124. @          eval $m2c_temp_data_init = 1@
  125. @        end@
  126. ## ---------------------------------------------------
  127. Which method would you like to use to gather data about available rows? 
  128.   1) container-cached : [DEFAULT]  This access method uses a
  129.      netsnmp_container to keep track of the indexes (and data, usually)
  130.      for each row. Thi method is best for:
  131.          - Internal data (maintained by the agent)
  132.          - External data (maintained by another process)
  133.          - Access speed is important
  134.          - Sufficient memory exists to cache all indexes
  135.      
  136.   2) unsorted-external : This access method iterates over all of your data
  137.      to find the row with the appropriate index. This method is best for
  138.          - External data (maintained by another process)
  139.          - Using less memory is more important than access speed
  140.      
  141. @      prompt $ans Select your choice : @
  142. @      if $ans == 2@
  143. @        eval $m2c_temp_table_access = "unsorted-external"@
  144. @      else@
  145. @        eval $m2c_temp_table_access = "container-cached"@
  146. @      end@
  147. ## ---------------------------------------------------
  148. When accessing your data, is your data TRANSIENT?
  149.   1) Yes. My data is TRANSIENT (e.g. a pointer to a static buffer that
  150.      my be overwritten during a request) and needs to be copied during
  151.      processing.
  152.   2) Yes. My data is SEMI-TRANSIENT (e.g. an allocated pointer to a
  153.      copy of the data).
  154.   3) No, my data is PERSISTENT (e.g. an allocated pointer to the actual
  155.      data, which is under the agent's control)
  156. ## '
  157.   
  158. @      prompt $ans Select your choice [DEFAULT=1] : @
  159. @      if $ans == 3@
  160. @        eval $m2c_temp_data_transient = 0@
  161. @      elsif $ans == 2@
  162. @        eval $m2c_temp_data_transient = 1@
  163. @      else@
  164. @        eval $m2c_temp_data_transient = 2@
  165. @      end@
  166. ## ---------------------------------------------------
  167. Do you want example code to be generated?
  168.   1) generate example code [DEFAULT]
  169.   2) do not generate example code
  170. @      prompt $ans Select your choice : @
  171. @      if $ans == 2@
  172. @        eval $m2c_temp_include_examples = 0@
  173. @      else@
  174. @        eval $m2c_temp_include_examples = 1@
  175. @      end@
  176. @   end@ # do not use hardcoded
  177. @end@ # $mfd_interactive_setup == 1
  178. ##################################
  179. @open default-table-${context}.m2d@
  180. @eval $m2c_conf_comment = "##"@
  181. @eval $m2c_conf_comment_divider = "########################################################################"@
  182. $m2c_conf_comment_divider
  183. $m2c_conf_comment
  184. $m2c_conf_comment mib2c Table setting for $context
  185. $m2c_conf_comment
  186. $m2c_conf_comment Remove the '##' comment delimeter to change settings
  187. $m2c_conf_comment
  188. $m2c_conf_comment_divider
  189. $m2c_conf_comment
  190. $m2c_conf_comment
  191. $m2c_conf_comment
  192. $m2c_conf_maybe_comment @eval $@m2c_table_settable = $m2c_temp_writable@
  193. $m2c_conf_comment
  194. $m2c_conf_comment_divider
  195. $m2c_conf_comment
  196. $m2c_conf_comment
  197. $m2c_conf_comment
  198. $m2c_conf_maybe_comment @eval $@m2c_table_dependencies = $m2c_temp_dependencies@
  199. $m2c_conf_comment
  200. $m2c_conf_comment_divider
  201. $m2c_conf_comment
  202. $m2c_conf_comment
  203. $m2c_conf_comment
  204. $m2c_conf_maybe_comment @eval $@m2c_table_row_creation = $m2c_temp_create@
  205. $m2c_conf_comment
  206. $m2c_conf_comment_divider
  207. $m2c_conf_comment
  208. $m2c_conf_comment
  209. $m2c_conf_comment
  210. $m2c_conf_maybe_comment @eval $@m2c_context_reg = "$m2c_temp_context_reg"@
  211. $m2c_conf_comment
  212. $m2c_conf_comment_divider
  213. $m2c_conf_comment
  214. $m2c_conf_comment
  215. $m2c_conf_comment
  216. $m2c_conf_maybe_comment @eval $@m2c_data_context = "$m2c_temp_data_context"@ [generated|NAME]
  217. $m2c_conf_comment
  218. $m2c_conf_comment_divider
  219. $m2c_conf_comment
  220. $m2c_conf_comment
  221. $m2c_conf_comment
  222. $m2c_conf_maybe_comment @eval $@m2c_data_allocate = $m2c_temp_data_allocate@
  223. $m2c_conf_comment
  224. $m2c_conf_comment_divider
  225. $m2c_conf_comment
  226. $m2c_conf_comment
  227. $m2c_conf_comment
  228. $m2c_conf_maybe_comment @eval $@m2c_data_init = $m2c_temp_data_init@
  229. $m2c_conf_comment
  230. $m2c_conf_comment_divider
  231. $m2c_conf_comment
  232. $m2c_conf_comment
  233. $m2c_conf_comment
  234. $m2c_conf_maybe_comment @eval $@m2c_table_access = "$m2c_temp_table_access"@
  235. $m2c_conf_comment
  236. $m2c_conf_comment_divider
  237. $m2c_conf_comment
  238. $m2c_conf_comment
  239. $m2c_conf_comment // 0:persistent, 1:semi-transient, 2:transient
  240. $m2c_conf_comment
  241. $m2c_conf_maybe_comment @eval $@m2c_data_transient = $m2c_temp_data_transient@
  242. $m2c_conf_comment
  243. $m2c_conf_comment_divider
  244. $m2c_conf_comment
  245. $m2c_conf_comment
  246. $m2c_conf_maybe_comment @eval $@m2c_table_skip_mapping = $m2c_table_skip_mapping@
  247. $m2c_conf_comment
  248. $m2c_conf_comment_divider
  249. $m2c_conf_comment
  250. $m2c_conf_comment
  251. $m2c_conf_comment
  252. $m2c_conf_maybe_comment @eval $@m2c_include_examples = $m2c_temp_include_examples@
  253. $m2c_conf_comment
  254. $m2c_conf_comment_divider
  255. $m2c_conf_comment
  256. $m2c_conf_comment
  257. $m2c_conf_comment
  258. $m2c_conf_maybe_comment @eval $@m2c_irreversible_commit = $m2c_irreversible_commit@
  259. $m2c_conf_comment
  260. @close default-table-${context}.m2d@
  261. ##
  262. ########################################################################
  263. @if $m2c_mark_boundary == 1@
  264. /** END code generated by $RCSfile: mfd-interactive-setup.m2c,v $ $Revision: 1.6.2.1 $ */
  265. @end@