netsnmp_data_list.3
上传用户:wxp200602
上传日期:2007-10-30
资源大小:4028k
文件大小:13k
源码类别:

SNMP编程

开发平台:

Unix_Linux

  1. .TH "generic linked-list data handling with a string as a key." 3 "28 Nov 2005" "Version 5.2.1.rc3" "net-snmp" " -*- nroff -*-
  2. .ad l
  3. .nh
  4. .SH NAME
  5. generic linked-list data handling with a string as a key. - 
  6. .SS "Functions"
  7. .in +1c
  8. .ti -1c
  9. .RI "NETSNMP_INLINE void fBnetsnmp_free_list_datafP (fBnetsnmp_data_listfP *fBnodefP)"
  10. .br
  11. .RI "fIfrees the data and a name at a given data_list node. fP"
  12. .ti -1c
  13. .RI "NETSNMP_INLINE void fBnetsnmp_free_all_list_datafP (fBnetsnmp_data_listfP *head)"
  14. .br
  15. .RI "fIfrees all data and nodes in a list. fP"
  16. .ti -1c
  17. .RI "NETSNMP_INLINE fBnetsnmp_data_listfP * fBnetsnmp_create_data_listfP (const char *name, void *data, Netsnmp_Free_List_Data *beer)"
  18. .br
  19. .RI "fIadds creates a data_list node given a name, data and a free function ptr. fP"
  20. .ti -1c
  21. .RI "NETSNMP_INLINE void fBnetsnmp_add_list_datafP (fBnetsnmp_data_listfP **head, fBnetsnmp_data_listfP *fBnodefP)"
  22. .br
  23. .RI "fIdepreciated: use fBnetsnmp_data_list_add_node()fP fP"
  24. .ti -1c
  25. .RI "NETSNMP_INLINE void fBnetsnmp_data_list_add_nodefP (fBnetsnmp_data_listfP **head, fBnetsnmp_data_listfP *fBnodefP)"
  26. .br
  27. .RI "fIadds data to a datalist fP"
  28. .ti -1c
  29. .RI "NETSNMP_INLINE fBnetsnmp_data_listfP * fBnetsnmp_data_list_add_datafP (fBnetsnmp_data_listfP **head, const char *name, void *data, Netsnmp_Free_List_Data *beer)"
  30. .br
  31. .RI "fIadds data to a datalist fP"
  32. .ti -1c
  33. .RI "NETSNMP_INLINE void * fBnetsnmp_get_list_datafP (fBnetsnmp_data_listfP *head, const char *name)"
  34. .br
  35. .RI "fIreturns a data_list node's data for a given name within a data_list fP"
  36. .ti -1c
  37. .RI "NETSNMP_INLINE fBnetsnmp_data_listfP * fBnetsnmp_get_list_nodefP (fBnetsnmp_data_listfP *head, const char *name)"
  38. .br
  39. .RI "fIreturns a data_list node for a given name within a data_list fP"
  40. .ti -1c
  41. .RI "int fBnetsnmp_remove_list_nodefP (fBnetsnmp_data_listfP **realhead, const char *name)"
  42. .br
  43. .RI "fIRemoves a named node from a data_list (and frees it). fP"
  44. .ti -1c
  45. .RI "void fBnetsnmp_register_save_listfP (fBnetsnmp_data_listfP **datalist, const char *type, const char *token, Netsnmp_Save_List_Data *data_list_save_ptr, Netsnmp_Read_List_Data *data_list_read_ptr, Netsnmp_Free_List_Data *data_list_free_ptr)"
  46. .br
  47. .RI "fIregisters to store a data_list set of data at persistant storage time fP"
  48. .ti -1c
  49. .RI "int fBnetsnmp_save_all_data_callbackfP (int major, int minor, void *serverarg, void *clientarg)"
  50. .br
  51. .RI "fIintended to be registerd as a callback operation. fP"
  52. .ti -1c
  53. .RI "int fBnetsnmp_save_all_datafP (fBnetsnmp_data_listfP *head, const char *type, const char *token, Netsnmp_Save_List_Data *data_list_save_ptr)"
  54. .br
  55. .RI "fIintended to be called as a callback during persistent save operations. fP"
  56. .ti -1c
  57. .RI "void fBnetsnmp_read_data_callbackfP (const char *token, char *line)"
  58. .br
  59. .RI "fIintended to be registerd as a .conf parser It should be registered using: fP"
  60. .in -1c
  61. .SH "Function Documentation"
  62. .PP 
  63. .SS "NETSNMP_INLINE void netsnmp_add_list_data (fBnetsnmp_data_listfP ** head, fBnetsnmp_data_listfP * node)"
  64. .PP
  65. depreciated: use fBnetsnmp_data_list_add_node()fP 
  66. .PP
  67. Definition at line 83 of file data_list.c.
  68. .PP
  69. References netsnmp_data_list_add_node().
  70. .PP
  71. Referenced by netsnmp_agent_add_list_data(), netsnmp_data_list_add_data(), netsnmp_read_data_callback(), netsnmp_register_auto_data_table(), netsnmp_register_handler_by_name(), netsnmp_register_save_list(), and netsnmp_request_add_list_data().
  72. .SS "NETSNMP_INLINE fBnetsnmp_data_listfP* netsnmp_create_data_list (const char * name, void * data, Netsnmp_Free_List_Data * beer)"
  73. .PP
  74. adds creates a data_list node given a name, data and a free function ptr. 
  75. .PP
  76. fBParameters:fP
  77. .RS 4
  78. fInamefP the name of the node to cache the data. 
  79. .br
  80. fIdatafP the data to be stored under that name 
  81. .br
  82. fIbeerfP A function that can free the data pointer (in the future) 
  83. .RE
  84. .PP
  85. fBReturns:fP
  86. .RS 4
  87. a newly created data_list node which can be given to the netsnmp_add_list_data function.
  88. .RE
  89. .PP
  90. .PP
  91. fBExamples: fP
  92. .in +1c
  93. fBdelayed_instance.cfP.
  94. .PP
  95. Definition at line 64 of file data_list.c.
  96. .PP
  97. References netsnmp_data_list_s::data, netsnmp_data_list_s::free_func, netsnmp_data_list_s::name, NULL, and SNMP_MALLOC_TYPEDEF.
  98. .PP
  99. Referenced by netsnmp_cache_reqinfo_insert(), netsnmp_data_list_add_data(), netsnmp_insert_iterator_context(), netsnmp_insert_table_row(), netsnmp_instance_int_handler(), netsnmp_instance_long_handler(), netsnmp_instance_ulong_handler(), netsnmp_old_api_helper(), netsnmp_read_data_callback(), netsnmp_register_auto_data_table(), netsnmp_register_handler_by_name(), netsnmp_register_save_list(), netsnmp_stash_cache_update(), netsnmp_table_data_helper_handler(), netsnmp_table_data_set_helper_handler(), netsnmp_table_iterator_helper_handler(), netsnmp_watcher_helper_handler(), and table_helper_handler().
  100. .SS "NETSNMP_INLINE fBnetsnmp_data_listfP* netsnmp_data_list_add_data (fBnetsnmp_data_listfP ** head, const char * name, void * data, Netsnmp_Free_List_Data * beer)"
  101. .PP
  102. adds data to a datalist 
  103. .PP
  104. fBParameters:fP
  105. .RS 4
  106. fIheadfP a pointer to the head node of a data_list 
  107. .br
  108. fInamefP the name of the node to cache the data. 
  109. .br
  110. fIdatafP the data to be stored under that name 
  111. .br
  112. fIbeerfP A function that can free the data pointer (in the future) 
  113. .RE
  114. .PP
  115. fBReturns:fP
  116. .RS 4
  117. a newly created data_list node which was inserted in the list
  118. .RE
  119. .PP
  120. .PP
  121. Definition at line 137 of file data_list.c.
  122. .PP
  123. References netsnmp_add_list_data(), netsnmp_create_data_list(), NULL, and snmp_log().
  124. .SS "NETSNMP_INLINE void netsnmp_data_list_add_node (fBnetsnmp_data_listfP ** head, fBnetsnmp_data_listfP * node)"
  125. .PP
  126. adds data to a datalist 
  127. .PP
  128. fBParameters:fP
  129. .RS 4
  130. fIheadfP a pointer to the head node of a data_list 
  131. .br
  132. fInodefP a node to stash in the data_list
  133. .RE
  134. .PP
  135. .PP
  136. Definition at line 93 of file data_list.c.
  137. .PP
  138. References netsnmp_data_list_s::name, netsnmp_data_list_s::next, NULL, and snmp_log().
  139. .PP
  140. Referenced by netsnmp_add_list_data().
  141. .SS "NETSNMP_INLINE void netsnmp_free_all_list_data (fBnetsnmp_data_listfP * head)"
  142. .PP
  143. frees all data and nodes in a list. 
  144. .PP
  145. fBParameters:fP
  146. .RS 4
  147. fIheadfP the top node of the list to be freed.
  148. .RE
  149. .PP
  150. .PP
  151. Definition at line 46 of file data_list.c.
  152. .PP
  153. References netsnmp_free_list_data(), netsnmp_data_list_s::next, and SNMP_FREE.
  154. .PP
  155. Referenced by netsnmp_clear_handler_list(), netsnmp_free_agent_data_sets(), netsnmp_free_agent_request_info(), and netsnmp_free_request_data_sets().
  156. .SS "NETSNMP_INLINE void netsnmp_free_list_data (fBnetsnmp_data_listfP * node)"
  157. .PP
  158. frees the data and a name at a given data_list node. 
  159. .PP
  160. Note that this doesn't free the node itself. 
  161. .PP
  162. fBParameters:fP
  163. .RS 4
  164. fInodefP the node for which the data should be freed
  165. .RE
  166. .PP
  167. .PP
  168. Definition at line 30 of file data_list.c.
  169. .PP
  170. References netsnmp_data_list_s::data, netsnmp_data_list_s::free_func, netsnmp_data_list_s::name, and SNMP_FREE.
  171. .PP
  172. Referenced by netsnmp_free_agent_data_set(), netsnmp_free_all_list_data(), netsnmp_free_request_data_set(), and netsnmp_remove_list_node().
  173. .SS "NETSNMP_INLINE void* netsnmp_get_list_data (fBnetsnmp_data_listfP * head, const char * name)"
  174. .PP
  175. returns a data_list node's data for a given name within a data_list 
  176. .PP
  177. fBParameters:fP
  178. .RS 4
  179. fIheadfP the head node of a data_list 
  180. .br
  181. fInamefP the name to find 
  182. .RE
  183. .PP
  184. fBReturns:fP
  185. .RS 4
  186. a pointer to the data cached at that node
  187. .RE
  188. .PP
  189. .PP
  190. Definition at line 157 of file data_list.c.
  191. .PP
  192. References netsnmp_data_list_s::data, netsnmp_data_list_s::name, netsnmp_data_list_s::next, and NULL.
  193. .PP
  194. Referenced by netsnmp_agent_get_list_data(), netsnmp_config_parse_add_row(), netsnmp_config_parse_table_set(), netsnmp_read_data_callback(), netsnmp_request_get_list_data(), and parse_injectHandler_conf().
  195. .SS "NETSNMP_INLINE fBnetsnmp_data_listfP* netsnmp_get_list_node (fBnetsnmp_data_listfP * head, const char * name)"
  196. .PP
  197. returns a data_list node for a given name within a data_list 
  198. .PP
  199. fBParameters:fP
  200. .RS 4
  201. fIheadfP the head node of a data_list 
  202. .br
  203. fInamefP the name to find 
  204. .RE
  205. .PP
  206. fBReturns:fP
  207. .RS 4
  208. a pointer to the data_list node
  209. .RE
  210. .PP
  211. .PP
  212. Definition at line 173 of file data_list.c.
  213. .PP
  214. References netsnmp_data_list_s::name, netsnmp_data_list_s::next, and NULL.
  215. .PP
  216. Referenced by netsnmp_table_iterator_helper_handler().
  217. .SS "void netsnmp_read_data_callback (const char * token, char * line)"
  218. .PP
  219. intended to be registerd as a .conf parser It should be registered using: 
  220. .PP
  221. register_app_config_handler('token', netsnmp_read_data_callback, XXX)
  222. .PP
  223. where INFO_POINTER is a pointer to a netsnmp_data_list_saveinfo object containing apporpriate registration information
  224. .PP
  225. Definition at line 321 of file data_list.c.
  226. .PP
  227. References netsnmp_data_list_saveinfo_s::data_list_free_ptr, netsnmp_data_list_saveinfo_s::data_list_read_ptr, netsnmp_data_list_saveinfo_s::datalist, netsnmp_add_list_data(), netsnmp_create_data_list(), netsnmp_get_list_data(), NULL, read_config_read_data(), and snmp_log().
  228. .PP
  229. Referenced by netsnmp_register_save_list().
  230. .SS "void netsnmp_register_save_list (fBnetsnmp_data_listfP ** datalist, const char * type, const char * token, Netsnmp_Save_List_Data * data_list_save_ptr, Netsnmp_Read_List_Data * data_list_read_ptr, Netsnmp_Free_List_Data * data_list_free_ptr)"
  231. .PP
  232. registers to store a data_list set of data at persistant storage time 
  233. .PP
  234. fBParameters:fP
  235. .RS 4
  236. fIdatalistfP the data to be saved 
  237. .br
  238. fItypefP the name of the application to save the data as. If left NULL the default application name that was registered during the init_snmp call will be used (recommended). 
  239. .br
  240. fItokenfP the unique token identifier string to use as the first word in the persistent file line. 
  241. .br
  242. fIdata_list_save_ptrfP a function pointer which will be called to save the rest of the data to a buffer. 
  243. .br
  244. fIdata_list_read_ptrfP a function pointer which can read the remainder of a saved line and return the application specific void * pointer. 
  245. .br
  246. fIdata_list_free_ptrfP a function pointer which will be passed to the data node for freeing it in the future when/if the list/node is cleaned up or destroyed.
  247. .RE
  248. .PP
  249. fBTodofP
  250. .RS 4
  251. netsnmp_register_save_list should handle the same token name being saved from different types? 
  252. .RE
  253. .PP
  254. .PP
  255. Definition at line 220 of file data_list.c.
  256. .PP
  257. References netsnmp_data_list_saveinfo_s::data_list_free_ptr, netsnmp_data_list_saveinfo_s::data_list_read_ptr, netsnmp_data_list_saveinfo_s::data_list_save_ptr, netsnmp_data_list_saveinfo_s::datalist, netsnmp_add_list_data(), netsnmp_create_data_list(), netsnmp_ds_get_string(), netsnmp_read_data_callback(), netsnmp_save_all_data_callback(), NULL, register_config_handler(), snmp_log(), SNMP_MALLOC_TYPEDEF, snmp_register_callback(), netsnmp_data_list_saveinfo_s::token, and netsnmp_data_list_saveinfo_s::type.
  258. .SS "int netsnmp_remove_list_node (fBnetsnmp_data_listfP ** realhead, const char * name)"
  259. .PP
  260. Removes a named node from a data_list (and frees it). 
  261. .PP
  262. fBParameters:fP
  263. .RS 4
  264. fIrealheadfP a pointer to the head node of a data_list 
  265. .br
  266. fInamefP the name to find and remove 
  267. .RE
  268. .PP
  269. fBReturns:fP
  270. .RS 4
  271. 0 on successful find-and-delete, 1 otherwise.
  272. .RE
  273. .PP
  274. .PP
  275. Definition at line 189 of file data_list.c.
  276. .PP
  277. References netsnmp_data_list_s::name, netsnmp_free_list_data(), netsnmp_data_list_s::next, and NULL.
  278. .PP
  279. Referenced by netsnmp_agent_remove_list_data(), and netsnmp_request_remove_list_data().
  280. .SS "int netsnmp_save_all_data (fBnetsnmp_data_listfP * head, const char * type, const char * token, Netsnmp_Save_List_Data * data_list_save_ptr)"
  281. .PP
  282. intended to be called as a callback during persistent save operations. 
  283. .PP
  284. See the netsnmp_save_all_data_callback for where this is typically used. 
  285. .PP
  286. Definition at line 286 of file data_list.c.
  287. .PP
  288. References netsnmp_data_list_s::data, netsnmp_data_list_s::name, netsnmp_data_list_s::next, read_config_save_octet_string(), read_config_store(), and SNMP_MAXBUF.
  289. .PP
  290. Referenced by netsnmp_save_all_data_callback().
  291. .SS "int netsnmp_save_all_data_callback (int major, int minor, void * serverarg, void * clientarg)"
  292. .PP
  293. intended to be registerd as a callback operation. 
  294. .PP
  295. It should be registered using:
  296. .PP
  297. snmp_register_callback(SNMP_CALLBACK_LIBRARY, SNMP_CALLBACK_STORE_DATA, netsnmp_save_all_data_callback, INFO_POINTER);
  298. .PP
  299. where INFO_POINTER is a pointer to a netsnmp_data_list_saveinfo object containing apporpriate registration information
  300. .PP
  301. Definition at line 269 of file data_list.c.
  302. .PP
  303. References netsnmp_data_list_saveinfo_s::data_list_save_ptr, netsnmp_data_list_saveinfo_s::datalist, netsnmp_save_all_data(), snmp_log(), netsnmp_data_list_saveinfo_s::token, and netsnmp_data_list_saveinfo_s::type.
  304. .PP
  305. Referenced by netsnmp_register_save_list().