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

SNMP编程

开发平台:

Unix_Linux

  1. .TH "The Net-SNMP library" 3 "28 Nov 2005" "Version 5.2.1.rc3" "net-snmp" " -*- nroff -*-
  2. .ad l
  3. .nh
  4. .SH NAME
  5. The Net-SNMP library - 
  6. .SS "Modules"
  7. .in +1c
  8. .ti -1c
  9. .RI "fBasn1 parsing and datatype manipulation routines.fP"
  10. .br
  11. .RI "fINote on. fP"
  12. .PP
  13. .in +1c
  14. .ti -1c
  15. .RI "fBA generic callback mechanismfP"
  16. .br
  17. .ti -1c
  18. .RI "fBgeneric linked-list data handling with a string as a key.fP"
  19. .br
  20. .ti -1c
  21. .RI "fBstorage space for defaultsfP"
  22. .br
  23. .RI "fIThe purpose of the default storage is three-fold:. fP"
  24. .PP
  25. .in +1c
  26. .ti -1c
  27. .RI "fBmib parsing and datatype manipulation routines.fP"
  28. .br
  29. .ti -1c
  30. .RI "fBStore and retrieve data referenced by an OID.fP"
  31. .br
  32. .RI "fIThis is essentially a way of storing data associated with a given OID. fP"
  33. .PP
  34. .in +1c
  35. .ti -1c
  36. .RI "fBparsing various configuration files at run timefP"
  37. .br
  38. .RI "fIThe read_config related functions are a fairly extensible system of parsing various configuration files at the run time. fP"
  39. .PP
  40. .in +1c
  41. .ti -1c
  42. .RI "fBgeneric library based alarm timers for various parts of an applicationfP"
  43. .br
  44. .ti -1c
  45. .RI "fBvarious PDU processing routinesfP"
  46. .br
  47. .ti -1c
  48. .RI "fBgeneric logging for net-snmpfP"
  49. .br
  50. .ti -1c
  51. .RI "fBMemory Utility RoutinesfP"
  52. .br
  53. .in -1c
  54. .SS "Data Structures"
  55. .in +1c
  56. .ti -1c
  57. .RI "struct fBsnmp_internal_sessionfP"
  58. .br
  59. .ti -1c
  60. .RI "struct fBsession_listfP"
  61. .br
  62. .in -1c
  63. .SS "Defines"
  64. .in +1c
  65. .ti -1c
  66. .RI "#define fBMINfP(a, b)   (((a) < (b)) ? (a) : (b))"
  67. .br
  68. .ti -1c
  69. .RI "#define fBMIB_CLIENTS_ARE_EVILfP   1"
  70. .br
  71. .ti -1c
  72. .RI "#define fB_init_agent_callback_transportfP()"
  73. .br
  74. .ti -1c
  75. .RI "#define fBSNMP_NEED_REQUEST_LISTfP"
  76. .br
  77. .ti -1c
  78. .RI "#define fBtimercmpfP(tvp, uvp, cmp)"
  79. .br
  80. .ti -1c
  81. .RI "#define fBtimerclearfP(tvp)   (tvp)->tv_sec = (tvp)->tv_usec = 0"
  82. .br
  83. .ti -1c
  84. .RI "#define fBMAX_PACKET_LENGTHfP   (0x7fffffff)"
  85. .br
  86. .ti -1c
  87. .RI "#define fBNETSNMP_STREAM_QUEUE_LENfP   5"
  88. .br
  89. .ti -1c
  90. .RI "#define fBBSD4_2fP"
  91. .br
  92. .ti -1c
  93. .RI "#define fBNFDBITSfP   (sizeof(fBfd_maskfP) * NBBY)"
  94. .br
  95. .ti -1c
  96. .RI "#define fBFD_SETfP(n, p)   ((p)->fds_bits[(n)/NFDBITS] |= (1 << ((n) % NFDBITS)))"
  97. .br
  98. .ti -1c
  99. .RI "#define fBFD_CLRfP(n, p)   ((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS)))"
  100. .br
  101. .ti -1c
  102. .RI "#define fBFD_ISSETfP(n, p)   ((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS)))"
  103. .br
  104. .ti -1c
  105. .RI "#define fBFD_ZEROfP(p)   memset((p), 0, sizeof(*(p)))"
  106. .br
  107. .ti -1c
  108. .RI "#define fBDEFAULT_COMMUNITYfP   'public'"
  109. .br
  110. .ti -1c
  111. .RI "#define fBDEFAULT_RETRIESfP   5"
  112. .br
  113. .ti -1c
  114. .RI "#define fBDEFAULT_TIMEOUTfP   1000000L"
  115. .br
  116. .ti -1c
  117. .RI "#define fBDEFAULT_REMPORTfP   SNMP_PORT"
  118. .br
  119. .ti -1c
  120. .RI "#define fBDEFAULT_ENTERPRISEfP   default_enterprise"
  121. .br
  122. .ti -1c
  123. .RI "#define fBDEFAULT_TIMEfP   0"
  124. .br
  125. .ti -1c
  126. .RI "#define fBMAXIMUM_PACKET_SIZEfP   0x7fffffff"
  127. .br
  128. .ti -1c
  129. .RI "#define fBDEBUGPRINTPDUTYPEfP(token, type)   DEBUGDUMPSECTION(token, snmp_pdu_type(type))"
  130. .br
  131. .ti -1c
  132. .RI "#define fBERROR_STAT_LENGTHfP   11"
  133. .br
  134. .in -1c
  135. .SS "Typedefs"
  136. .in +1c
  137. .ti -1c
  138. .RI "typedef long fBfd_maskfP"
  139. .br
  140. .in -1c
  141. .SS "Functions"
  142. .in +1c
  143. .ti -1c
  144. .RI "int fBinit_agentfP (const char *app)"
  145. .br
  146. .RI "fIInitialize the agent. fP"
  147. .ti -1c
  148. .RI "void fBshutdown_agentfP (void)"
  149. .br
  150. .ti -1c
  151. .RI "void fBadd_to_init_listfP (char *module_list)"
  152. .br
  153. .ti -1c
  154. .RI "int fBshould_initfP (const char *module_name)"
  155. .br
  156. .ti -1c
  157. .RI "int fBsnmp_buildfP (u_char **pkt, size_t *pkt_len, size_t *offset, fBnetsnmp_sessionfP *pss, fBnetsnmp_pdufP *pdu)"
  158. .br
  159. .ti -1c
  160. .RI "int fBsnmp_get_errnofP (void)"
  161. .br
  162. .ti -1c
  163. .RI "void fBsnmp_synch_resetfP (fBnetsnmp_sessionfP *notused)"
  164. .br
  165. .ti -1c
  166. .RI "void fBsnmp_synch_setupfP (fBnetsnmp_sessionfP *notused)"
  167. .br
  168. .ti -1c
  169. .RI "const char * fBstrerrorfP (int err)"
  170. .br
  171. .ti -1c
  172. .RI "const char * fBsnmp_pdu_typefP (int type)"
  173. .br
  174. .ti -1c
  175. .RI "long fBsnmp_get_next_reqidfP (void)"
  176. .br
  177. .ti -1c
  178. .RI "long fBsnmp_get_next_msgidfP (void)"
  179. .br
  180. .ti -1c
  181. .RI "long fBsnmp_get_next_sessidfP (void)"
  182. .br
  183. .ti -1c
  184. .RI "long fBsnmp_get_next_transidfP (void)"
  185. .br
  186. .ti -1c
  187. .RI "void fBsnmp_perrorfP (const char *prog_string)"
  188. .br
  189. .ti -1c
  190. .RI "void fBsnmp_set_detailfP (const char *detail_string)"
  191. .br
  192. .ti -1c
  193. .RI "const char * fBsnmp_api_errstringfP (int snmp_errnumber)"
  194. .br
  195. .ti -1c
  196. .RI "void fBsnmp_errorfP (fBnetsnmp_sessionfP *psess, int *p_errno, int *p_snmp_errno, char **p_str)"
  197. .br
  198. .ti -1c
  199. .RI "void fBsnmp_sess_errorfP (void *sessp, int *p_errno, int *p_snmp_errno, char **p_str)"
  200. .br
  201. .ti -1c
  202. .RI "void fBnetsnmp_sess_log_errorfP (int priority, const char *prog_string, fBnetsnmp_sessionfP *ss)"
  203. .br
  204. .ti -1c
  205. .RI "void fBsnmp_sess_perrorfP (const char *prog_string, fBnetsnmp_sessionfP *ss)"
  206. .br
  207. .ti -1c
  208. .RI "void fBsnmp_sess_initfP (fBnetsnmp_sessionfP *session)"
  209. .br
  210. .ti -1c
  211. .RI "void fBinit_snmp_enumsfP (void)"
  212. .br
  213. .ti -1c
  214. .RI "void fBinit_snmpfP (const char *type)"
  215. .br
  216. .RI "fICalls the functions to do config file loading and mib module parsing in the correct order. fP"
  217. .ti -1c
  218. .RI "void fBsnmp_storefP (const char *type)"
  219. .br
  220. .ti -1c
  221. .RI "void fBsnmp_shutdownfP (const char *type)"
  222. .br
  223. .RI "fIShuts down the application, saving any needed persistent storage, and appropriate clean up. fP"
  224. .ti -1c
  225. .RI "fBnetsnmp_sessionfP * fBsnmp_openfP (fBnetsnmp_sessionfP *session)"
  226. .br
  227. .ti -1c
  228. .RI "fBnetsnmp_sessionfP * fBsnmp_open_exfP (fBnetsnmp_sessionfP *session, int(*fpre_parse)(fBnetsnmp_sessionfP *, fBnetsnmp_transportfP *, void *, int), int(*fparse)(fBnetsnmp_sessionfP *, fBnetsnmp_pdufP *, u_char *, size_t), int(*fpost_parse)(fBnetsnmp_sessionfP *, fBnetsnmp_pdufP *, int), int(*fbuild)(fBnetsnmp_sessionfP *, fBnetsnmp_pdufP *, u_char *, size_t *), int(*frbuild)(fBnetsnmp_sessionfP *, fBnetsnmp_pdufP *, u_char **, size_t *, size_t *), int(*fcheck)(u_char *, size_t))"
  229. .br
  230. .ti -1c
  231. .RI "int fBsnmpv3_engineID_probefP (struct fBsession_listfP *slp, fBnetsnmp_sessionfP *in_session)"
  232. .br
  233. .RI "fIprobe for peer engineID fP"
  234. .ti -1c
  235. .RI "fBnetsnmp_sessionfP * fBsnmp_addfP (fBnetsnmp_sessionfP *in_session, fBnetsnmp_transportfP *transport, int(*fpre_parse)(fBnetsnmp_sessionfP *, fBnetsnmp_transportfP *, void *, int), int(*fpost_parse)(fBnetsnmp_sessionfP *, fBnetsnmp_pdufP *, int))"
  236. .br
  237. .ti -1c
  238. .RI "fBnetsnmp_sessionfP * fBsnmp_add_fullfP (fBnetsnmp_sessionfP *in_session, fBnetsnmp_transportfP *transport, int(*fpre_parse)(fBnetsnmp_sessionfP *, fBnetsnmp_transportfP *, void *, int), int(*fparse)(fBnetsnmp_sessionfP *, fBnetsnmp_pdufP *, u_char *, size_t), int(*fpost_parse)(fBnetsnmp_sessionfP *, fBnetsnmp_pdufP *, int), int(*fbuild)(fBnetsnmp_sessionfP *, fBnetsnmp_pdufP *, u_char *, size_t *), int(*frbuild)(fBnetsnmp_sessionfP *, fBnetsnmp_pdufP *, u_char **, size_t *, size_t *), int(*fcheck)(u_char *, size_t), fBnetsnmp_pdufP *(*fcreate_pdu)(fBnetsnmp_transportfP *, void *, size_t))"
  239. .br
  240. .ti -1c
  241. .RI "void * fBsnmp_sess_add_exfP (fBnetsnmp_sessionfP *in_session, fBnetsnmp_transportfP *transport, int(*fpre_parse)(fBnetsnmp_sessionfP *, fBnetsnmp_transportfP *, void *, int), int(*fparse)(fBnetsnmp_sessionfP *, fBnetsnmp_pdufP *, u_char *, size_t), int(*fpost_parse)(fBnetsnmp_sessionfP *, fBnetsnmp_pdufP *, int), int(*fbuild)(fBnetsnmp_sessionfP *, fBnetsnmp_pdufP *, u_char *, size_t *), int(*frbuild)(fBnetsnmp_sessionfP *, fBnetsnmp_pdufP *, u_char **, size_t *, size_t *), int(*fcheck)(u_char *, size_t), fBnetsnmp_pdufP *(*fcreate_pdu)(fBnetsnmp_transportfP *, void *, size_t))"
  242. .br
  243. .ti -1c
  244. .RI "void * fBsnmp_sess_addfP (fBnetsnmp_sessionfP *in_session, fBnetsnmp_transportfP *transport, int(*fpre_parse)(fBnetsnmp_sessionfP *, fBnetsnmp_transportfP *, void *, int), int(*fpost_parse)(fBnetsnmp_sessionfP *, fBnetsnmp_pdufP *, int))"
  245. .br
  246. .ti -1c
  247. .RI "void * fBsnmp_sess_openfP (fBnetsnmp_sessionfP *pss)"
  248. .br
  249. .ti -1c
  250. .RI "int fBcreate_user_from_sessionfP (fBnetsnmp_sessionfP *session)"
  251. .br
  252. .ti -1c
  253. .RI "int fBsnmp_sess_closefP (void *sessp)"
  254. .br
  255. .ti -1c
  256. .RI "int fBsnmp_closefP (fBnetsnmp_sessionfP *session)"
  257. .br
  258. .ti -1c
  259. .RI "int fBsnmp_close_sessionsfP (void)"
  260. .br
  261. .ti -1c
  262. .RI "int fBsnmpv3_packet_buildfP (fBnetsnmp_sessionfP *session, fBnetsnmp_pdufP *pdu, u_char *packet, size_t *out_length, u_char *pdu_data, size_t pdu_data_len)"
  263. .br
  264. .ti -1c
  265. .RI "u_char * fBsnmp_pdu_buildfP (fBnetsnmp_pdufP *pdu, u_char *cp, size_t *out_length)"
  266. .br
  267. .ti -1c
  268. .RI "int fBsnmpv3_parsefP (fBnetsnmp_pdufP *pdu, u_char *data, size_t *length, u_char **after_header, fBnetsnmp_sessionfP *sess)"
  269. .br
  270. .ti -1c
  271. .RI "int fBsnmpv3_make_reportfP (fBnetsnmp_pdufP *pdu, int error)"
  272. .br
  273. .ti -1c
  274. .RI "int fBsnmpv3_get_report_typefP (fBnetsnmp_pdufP *pdu)"
  275. .br
  276. .ti -1c
  277. .RI "int fBsnmp_pdu_parsefP (fBnetsnmp_pdufP *pdu, u_char *data, size_t *length)"
  278. .br
  279. .ti -1c
  280. .RI "u_char * fBsnmpv3_scopedPDU_parsefP (fBnetsnmp_pdufP *pdu, u_char *cp, size_t *length)"
  281. .br
  282. .ti -1c
  283. .RI "int fBsnmp_sendfP (fBnetsnmp_sessionfP *session, fBnetsnmp_pdufP *pdu)"
  284. .br
  285. .ti -1c
  286. .RI "int fBsnmp_sess_sendfP (void *sessp, fBnetsnmp_pdufP *pdu)"
  287. .br
  288. .ti -1c
  289. .RI "int fBsnmp_async_sendfP (fBnetsnmp_sessionfP *session, fBnetsnmp_pdufP *pdu, snmp_callback callback, void *cb_data)"
  290. .br
  291. .ti -1c
  292. .RI "int fBsnmp_sess_async_sendfP (void *sessp, fBnetsnmp_pdufP *pdu, snmp_callback callback, void *cb_data)"
  293. .br
  294. .ti -1c
  295. .RI "void fBsnmp_free_varfP (fBnetsnmp_variable_listfP *var)"
  296. .br
  297. .ti -1c
  298. .RI "void fBsnmp_free_varbindfP (fBnetsnmp_variable_listfP *var)"
  299. .br
  300. .ti -1c
  301. .RI "void fBsnmp_free_pdufP (fBnetsnmp_pdufP *pdu)"
  302. .br
  303. .ti -1c
  304. .RI "fBnetsnmp_pdufP * fBsnmp_create_sess_pdufP (fBnetsnmp_transportfP *transport, void *opaque, size_t olength)"
  305. .br
  306. .ti -1c
  307. .RI "void fBsnmp_readfP (fd_set *fdset)"
  308. .br
  309. .ti -1c
  310. .RI "int fB_sess_readfP (void *sessp, fd_set *fdset)"
  311. .br
  312. .ti -1c
  313. .RI "int fBsnmp_sess_readfP (void *sessp, fd_set *fdset)"
  314. .br
  315. .ti -1c
  316. .RI "int fBsnmp_select_infofP (int *numfds, fd_set *fdset, struct timeval *timeout, int *block)"
  317. .br
  318. .ti -1c
  319. .RI "int fBsnmp_sess_select_infofP (void *sessp, int *numfds, fd_set *fdset, struct timeval *timeout, int *block)"
  320. .br
  321. .ti -1c
  322. .RI "void fBsnmp_timeoutfP (void)"
  323. .br
  324. .ti -1c
  325. .RI "void fBsnmp_sess_timeoutfP (void *sessp)"
  326. .br
  327. .ti -1c
  328. .RI "int fBsnmp_oid_ncomparefP (const oid *in_name1, size_t len1, const oid *in_name2, size_t len2, size_t max_len)"
  329. .br
  330. .ti -1c
  331. .RI "int fBsnmp_oid_comparefP (const oid *in_name1, size_t len1, const oid *in_name2, size_t len2)"
  332. .br
  333. .RI "fIlexicographical compare two object identifiers. fP"
  334. .ti -1c
  335. .RI "int fBsnmp_oidtree_comparefP (const oid *in_name1, size_t len1, const oid *in_name2, size_t len2)"
  336. .br
  337. .RI "fICompares 2 OIDs to determine if they are equal up until the shortest length. fP"
  338. .ti -1c
  339. .RI "int fBnetsnmp_oid_equalsfP (const oid *in_name1, size_t len1, const oid *in_name2, size_t len2)"
  340. .br
  341. .RI "fICompares 2 OIDs to determine if they are exactly equal. fP"
  342. .ti -1c
  343. .RI "int fBnetsnmp_oid_is_subtreefP (const oid *in_name1, size_t len1, const oid *in_name2, size_t len2)"
  344. .br
  345. .RI "fIIdentical to netsnmp_oid_equals, except only the length up to len1 is compared. fP"
  346. .ti -1c
  347. .RI "int fBnetsnmp_oid_find_prefixfP (const oid *in_name1, size_t len1, const oid *in_name2, size_t len2)"
  348. .br
  349. .RI "fIGiven two OIDs, determine the common prefix to them both. fP"
  350. .ti -1c
  351. .RI "fBnetsnmp_variable_listfP * fBsnmp_pdu_add_variablefP (fBnetsnmp_pdufP *pdu, const oid *name, size_t name_length, u_char type, const u_char *value, size_t len)"
  352. .br
  353. .ti -1c
  354. .RI "fBnetsnmp_variable_listfP * fBsnmp_varlist_add_variablefP (fBnetsnmp_variable_listfP **varlist, const oid *name, size_t name_length, u_char type, const u_char *value, size_t len)"
  355. .br
  356. .ti -1c
  357. .RI "int fBsnmp_add_varfP (fBnetsnmp_pdufP *pdu, const oid *name, size_t name_length, char type, const char *value)"
  358. .br
  359. .ti -1c
  360. .RI "void * fBsnmp_sess_pointerfP (fBnetsnmp_sessionfP *session)"
  361. .br
  362. .ti -1c
  363. .RI "fBnetsnmp_sessionfP * fBsnmp_sess_sessionfP (void *sessp)"
  364. .br
  365. .ti -1c
  366. .RI "fBnetsnmp_transportfP * fBsnmp_sess_transportfP (void *sessp)"
  367. .br
  368. .ti -1c
  369. .RI "void fBsnmp_sess_transport_setfP (void *sp, fBnetsnmp_transportfP *t)"
  370. .br
  371. .ti -1c
  372. .RI "oid * fBsnmp_duplicate_objidfP (const oid *objToCopy, size_t objToCopyLen)"
  373. .br
  374. .ti -1c
  375. .RI "u_int fBsnmp_increment_statisticfP (int which)"
  376. .br
  377. .ti -1c
  378. .RI "u_int fBsnmp_increment_statistic_byfP (int which, int count)"
  379. .br
  380. .ti -1c
  381. .RI "u_int fBsnmp_get_statisticfP (int which)"
  382. .br
  383. .ti -1c
  384. .RI "void fBsnmp_init_statisticsfP (void)"
  385. .br
  386. .in -1c
  387. .SS "Variables"
  388. .in +1c
  389. .ti -1c
  390. .RI "fBmodule_init_listfP * fBinitlistfP = NULL"
  391. .br
  392. .ti -1c
  393. .RI "fBmodule_init_listfP * fBnoinitlistfP = NULL"
  394. .br
  395. .ti -1c
  396. .RI "fBnetsnmp_subtreefP * fBsubtreesfP"
  397. .br
  398. .ti -1c
  399. .RI "long fBlong_returnfP"
  400. .br
  401. .ti -1c
  402. .RI "u_char fBreturn_buffP [258]"
  403. .br
  404. .ti -1c
  405. .RI "timeval fBstarttimefP"
  406. .br
  407. .ti -1c
  408. .RI "int fBcallback_master_numfP = -1"
  409. .br
  410. .ti -1c
  411. .RI "oid fBnullOidfP [] = { 0, 0 }"
  412. .br
  413. .ti -1c
  414. .RI "int fBnullOidLenfP = sizeof(fBnullOidfP)"
  415. .br
  416. .ti -1c
  417. .RI "netsnmp_request_list * fBsnmp_internal_session::requestsEndfP"
  418. .br
  419. .ti -1c
  420. .RI "int(* fBsnmp_internal_session::hook_prefP )(fBnetsnmp_sessionfP *, fBnetsnmp_transportfP *, void *, int)"
  421. .br
  422. .ti -1c
  423. .RI "int(* fBsnmp_internal_session::hook_parsefP )(fBnetsnmp_sessionfP *, fBnetsnmp_pdufP *, u_char *, size_t)"
  424. .br
  425. .ti -1c
  426. .RI "int(* fBsnmp_internal_session::hook_postfP )(fBnetsnmp_sessionfP *, fBnetsnmp_pdufP *, int)"
  427. .br
  428. .ti -1c
  429. .RI "int(* fBsnmp_internal_session::hook_buildfP )(fBnetsnmp_sessionfP *, fBnetsnmp_pdufP *, u_char *, size_t *)"
  430. .br
  431. .ti -1c
  432. .RI "int(* fBsnmp_internal_session::hook_realloc_buildfP )(fBnetsnmp_sessionfP *, fBnetsnmp_pdufP *, u_char **, size_t *, size_t *)"
  433. .br
  434. .ti -1c
  435. .RI "int(* fBsnmp_internal_session::check_packetfP )(u_char *, size_t)"
  436. .br
  437. .ti -1c
  438. .RI "fBnetsnmp_pdufP *(* fBsnmp_internal_session::hook_create_pdufP )(fBnetsnmp_transportfP *, void *, size_t)"
  439. .br
  440. .ti -1c
  441. .RI "u_char * fBsnmp_internal_session::packetfP"
  442. .br
  443. .ti -1c
  444. .RI "size_t fBsnmp_internal_session::packet_lenfP"
  445. .br
  446. .ti -1c
  447. .RI "size_t fBsnmp_internal_session::packet_sizefP"
  448. .br
  449. .ti -1c
  450. .RI "fBnetsnmp_sessionfP * fBsession_list::sessionfP"
  451. .br
  452. .ti -1c
  453. .RI "fBnetsnmp_transportfP * fBsession_list::transportfP"
  454. .br
  455. .ti -1c
  456. .RI "fBsnmp_internal_sessionfP * fBsession_list::internalfP"
  457. .br
  458. .ti -1c
  459. .RI "fBsession_listfP * fBSessionsfP = NULL"
  460. .br
  461. .ti -1c
  462. .RI "int fBsnmp_errnofP = 0"
  463. .br
  464. .in -1c
  465. .SH "Define Documentation"
  466. .PP 
  467. .SS "#define timercmp(tvp, uvp, cmp)"
  468. .PP
  469. fBValue:fP
  470. .PP
  471. .nf
  472. /* CSTYLED */ 
  473.         ((tvp)->tv_sec cmp (uvp)->tv_sec || 
  474.         ((tvp)->tv_sec == (uvp)->tv_sec && 
  475.         /* CSTYLED */ 
  476.         (tvp)->tv_usec cmp (uvp)->tv_usec))
  477. .fi
  478. .PP
  479. Definition at line 146 of file snmp_api.c.
  480. .PP
  481. Referenced by netsnmp_addrcache_add(), snmp_sess_select_info(), and snmp_sess_timeout().
  482. .SH "Function Documentation"
  483. .PP 
  484. .SS "int _sess_read (void * sessp, fd_set * fdset)"
  485. .PP
  486. XXX-rks: why no SNMP_FREE(isp->packet); ??
  487. .PP
  488. XXX-rks: why no SNMP_FREE(isp->packet); ?? 
  489. .PP
  490. Definition at line 5340 of file snmp_api.c.
  491. .PP
  492. References asn_check_packet(), snmp_session::callback, snmp_session::callback_magic, snmp_internal_session::check_packet, netsnmp_transport_s::f_accept, netsnmp_transport_s::f_close, netsnmp_transport_s::f_recv, FD_ISSET, netsnmp_transport_s::flags, snmp_internal_session::hook_build, snmp_internal_session::hook_create_pdu, snmp_internal_session::hook_parse, snmp_internal_session::hook_post, snmp_internal_session::hook_pre, snmp_internal_session::hook_realloc_build, session_list::internal, MAX_PACKET_LENGTH, MAXIMUM_PACKET_SIZE, session_list::next, NULL, snmp_internal_session::packet, snmp_internal_session::packet_len, snmp_internal_session::packet_size, snmp_session::s_errno, snmp_session::s_snmp_errno, session_list::session, SNMP_FREE, snmp_log(), snmp_sess_add_ex(), snmp_set_detail(), netsnmp_transport_s::sock, strerror(), and session_list::transport.
  493. .PP
  494. Referenced by snmp_sess_read().
  495. .SS "int init_agent (const char * app)"
  496. .PP
  497. Initialize the agent. 
  498. .PP
  499. Calls into init_agent_read_config to set tha app's configuration file in the appropriate default storage space, NETSNMP_DS_LIB_APPTYPE. Need to call init_agent before calling init_snmp.
  500. .PP
  501. fBParameters:fP
  502. .RS 4
  503. fIappfP the configuration file to be read in, gets stored in default storage
  504. .RE
  505. .PP
  506. fBReturns:fP
  507. .RS 4
  508. Returns non-zero on failure and zero on success.
  509. .RE
  510. .PP
  511. fBSee also:fP
  512. .RS 4
  513. fBinit_snmpfP
  514. .RE
  515. .PP
  516. .PP
  517. Definition at line 272 of file snmp_vars.c.
  518. .PP
  519. References _init_agent_callback_transport, init_traps(), netsnmp_ds_get_boolean(), netsnmp_ds_set_boolean(), netsnmp_init_helpers(), NULL, setup_tree(), snmp_log(), and starttime.
  520. .SS "void init_snmp (const char * type)"
  521. .PP
  522. Calls the functions to do config file loading and mib module parsing in the correct order. 
  523. .PP
  524. fBParameters:fP
  525. .RS 4
  526. fItypefP label for the config file 'type'
  527. .RE
  528. .PP
  529. fBReturns:fP
  530. .RS 4
  531. void
  532. .RE
  533. .PP
  534. fBSee also:fP
  535. .RS 4
  536. fBinit_agentfP
  537. .RE
  538. .PP
  539. .PP
  540. Definition at line 788 of file snmp_api.c.
  541. .PP
  542. References init_callbacks(), init_mib(), init_snmp_alarm(), init_snmp_enums(), init_snmp_logging(), netsnmp_ds_get_string(), netsnmp_ds_set_string(), read_configs(), read_premib_configs(), register_mib_handlers(), and snmp_init_statistics().
  543. .SS "int netsnmp_oid_equals (const oid * in_name1, size_t len1, const oid * in_name2, size_t len2)"
  544. .PP
  545. Compares 2 OIDs to determine if they are exactly equal. 
  546. .PP
  547. This should be faster than doing a snmp_oid_compare for different length OIDs, since the length is checked first and if != returns immediately. Might be very slighly faster if lengths are ==. 
  548. .PP
  549. fBParameters:fP
  550. .RS 4
  551. fIin_name1fP A pointer to the first oid. 
  552. .br
  553. fIlen1fP length of the first OID (in segments, not bytes) 
  554. .br
  555. fIin_name2fP A pointer to the second oid. 
  556. .br
  557. fIlen2fP length of the second OID (in segments, not bytes) 
  558. .RE
  559. .PP
  560. fBReturns:fP
  561. .RS 4
  562. 0 if they are equal, 1 if they are not.
  563. .RE
  564. .PP
  565. .PP
  566. Definition at line 6280 of file snmp_api.c.
  567. .PP
  568. Referenced by netsnmp_cache_find_by_oid(), netsnmp_old_api_helper(), netsnmp_subtree_free(), netsnmp_subtree_load(), netsnmp_unregister_mib_table_row(), and unregister_mib_context().
  569. .SS "int netsnmp_oid_find_prefix (const oid * in_name1, size_t len1, const oid * in_name2, size_t len2)"
  570. .PP
  571. Given two OIDs, determine the common prefix to them both. 
  572. .PP
  573. fBParameters:fP
  574. .RS 4
  575. fIin_name1fP A pointer to the first oid. 
  576. .br
  577. fIlen1fP Length of the first oid. 
  578. .br
  579. fIin_name2fP A pointer to the second oid. 
  580. .br
  581. fIlen2fP Length of the second oid. 
  582. .RE
  583. .PP
  584. fBReturns:fP
  585. .RS 4
  586. length of largest common index of commonality. 1 = first, 0 if none * or -1 on error.
  587. .RE
  588. .PP
  589. .PP
  590. Definition at line 6336 of file snmp_api.c.
  591. .PP
  592. References SNMP_MIN.
  593. .PP
  594. Referenced by netsnmp_add_varbind_to_cache().
  595. .SS "int netsnmp_oid_is_subtree (const oid * in_name1, size_t len1, const oid * in_name2, size_t len2)"
  596. .PP
  597. Identical to netsnmp_oid_equals, except only the length up to len1 is compared. 
  598. .PP
  599. Functionally, this determines if in_name2 is equal or a subtree of in_name1 
  600. .PP
  601. fBParameters:fP
  602. .RS 4
  603. fIin_name1fP A pointer to the first oid. 
  604. .br
  605. fIlen1fP length of the first OID (in segments, not bytes) 
  606. .br
  607. fIin_name2fP A pointer to the second oid. 
  608. .br
  609. fIlen2fP length of the second OID (in segments, not bytes) 
  610. .RE
  611. .PP
  612. fBReturns:fP
  613. .RS 4
  614. 0 if one is a common prefix of the other.
  615. .RE
  616. .PP
  617. .PP
  618. Definition at line 6316 of file snmp_api.c.
  619. .SS "int snmp_oid_compare (const oid * in_name1, size_t len1, const oid * in_name2, size_t len2)"
  620. .PP
  621. lexicographical compare two object identifiers. 
  622. .PP
  623. Caution: this method is called often by command responder applications (ie, agent).
  624. .PP
  625. fBReturns:fP
  626. .RS 4
  627. -1 if name1 < name2, 0 if name1 = name2, 1 if name1 > name2
  628. .RE
  629. .PP
  630. .PP
  631. Definition at line 6212 of file snmp_api.c.
  632. .PP
  633. Referenced by check_getnext_results(), convert_v2pdu_to_v1(), find_varbind_in_list(), lookup_cache_find(), netsnmp_check_getnext_reply(), netsnmp_insert_iterator_context(), netsnmp_insert_table_row(), netsnmp_instance_helper_handler(), netsnmp_row_merge_helper_handler(), netsnmp_scalar_group_helper_handler(), netsnmp_scalar_helper_handler(), netsnmp_send_traps(), netsnmp_subtree_compare(), netsnmp_subtree_find(), netsnmp_subtree_find_next(), netsnmp_subtree_find_prev(), netsnmp_subtree_load(), netsnmp_subtree_split(), netsnmp_table_data_add_row(), netsnmp_table_data_get_from_oid(), netsnmp_table_data_helper_handler(), netsnmp_table_iterator_helper_handler(), netsnmp_watched_spinlock_handler(), netsnmp_watched_timestamp_handler(), netsnmp_watcher_helper_handler(), snmp_oidtree_compare(), and table_helper_handler().
  634. .SS "int snmp_oidtree_compare (const oid * in_name1, size_t len1, const oid * in_name2, size_t len2)"
  635. .PP
  636. Compares 2 OIDs to determine if they are equal up until the shortest length. 
  637. .PP
  638. fBParameters:fP
  639. .RS 4
  640. fIin_name1fP A pointer to the first oid. 
  641. .br
  642. fIlen1fP length of the first OID (in segments, not bytes) 
  643. .br
  644. fIin_name2fP A pointer to the second oid. 
  645. .br
  646. fIlen2fP length of the second OID (in segments, not bytes) 
  647. .RE
  648. .PP
  649. fBReturns:fP
  650. .RS 4
  651. 0 if they are equal, 1 if in_name1 is > in_name2, or -1 if <.
  652. .RE
  653. .PP
  654. .PP
  655. Definition at line 6261 of file snmp_api.c.
  656. .PP
  657. References snmp_oid_compare().
  658. .SS "void snmp_shutdown (const char * type)"
  659. .PP
  660. Shuts down the application, saving any needed persistent storage, and appropriate clean up. 
  661. .PP
  662. fBParameters:fP
  663. .RS 4
  664. fItypefP Label for the config file 'type' used
  665. .RE
  666. .PP
  667. fBReturns:fP
  668. .RS 4
  669. void
  670. .RE
  671. .PP
  672. .PP
  673. Definition at line 856 of file snmp_api.c.
  674. .PP
  675. References clear_callback(), netsnmp_ds_shutdown(), NULL, shutdown_mib(), snmp_alarm_unregister_all(), snmp_call_callbacks(), snmp_close_sessions(), snmp_store(), and unregister_all_config_handlers().
  676. .SS "int snmpv3_engineID_probe (struct fBsession_listfP * slp, fBnetsnmp_sessionfP * in_session)"
  677. .PP
  678. probe for peer engineID 
  679. .PP
  680. fBParameters:fP
  681. .RS 4
  682. fIslpfP session list pointer. 
  683. .br
  684. fIin_sessionfP session for errors
  685. .RE
  686. .PP
  687. fBNote:fP
  688. .RS 4
  689. .IP "(bu" 2
  690. called by _sess_open(), fBsnmp_sess_add_ex()fP
  691. .IP "(bu" 2
  692. in_session is the user supplied session provided to those functions.
  693. .IP "(bu" 2
  694. the first session in slp should the internal allocated copy of in_session
  695. .PP
  696. .RE
  697. .PP
  698. fBReturns:fP
  699. .RS 4
  700. 0 : error 
  701. .PP
  702. 1 : ok
  703. .RE
  704. .PP
  705. .PP
  706. Definition at line 1272 of file snmp_api.c.
  707. .PP
  708. References create_user_from_session(), snmp_session::engineBoots, snmp_session::engineTime, snmp_session::flags, NULL, snmp_session::s_snmp_errno, snmp_session::securityEngineID, snmp_session::securityEngineIDLen, session_list::session, snmp_api_errstring(), snmp_errstring(), snmp_sess_synch_response(), TRUE, and snmp_session::version.
  709. .PP
  710. Referenced by snmp_sess_add_ex().