| .TH "Maintain a registry of MIB subtrees, together with related information regarding mibmodule, sessions, etc" 3 "24 Jun 2011" "Version 5.4.3.pre1" "net-snmp" \" -*- nroff -*- |
| .ad l |
| .nh |
| .SH NAME |
| Maintain a registry of MIB subtrees, together with related information regarding mibmodule, sessions, etc \- |
| .SS "Data Structures" |
| |
| .in +1c |
| .ti -1c |
| .RI "struct \fBlookup_cache_s\fP" |
| .br |
| .ti -1c |
| .RI "struct \fBlookup_cache_context_s\fP" |
| .br |
| .in -1c |
| .SS "Defines" |
| |
| .in +1c |
| .ti -1c |
| .RI "#define \fBIN_SNMP_VARS_C\fP" |
| .br |
| .ti -1c |
| .RI "#define \fBSUBTREE_DEFAULT_CACHE_SIZE\fP 8" |
| .br |
| .ti -1c |
| .RI "#define \fBSUBTREE_MAX_CACHE_SIZE\fP 32" |
| .br |
| .in -1c |
| .SS "Typedefs" |
| |
| .in +1c |
| .ti -1c |
| .RI "typedef struct \fBlookup_cache_s\fP \fBlookup_cache\fP" |
| .br |
| .ti -1c |
| .RI "typedef struct \fBlookup_cache_context_s\fP \fBlookup_cache_context\fP" |
| .br |
| .in -1c |
| .SS "Functions" |
| |
| .in +1c |
| .ti -1c |
| .RI "NETSNMP_STATIC_INLINE void \fBinvalidate_lookup_cache\fP (const char *context)" |
| .br |
| .ti -1c |
| .RI "void \fBnetsnmp_set_lookup_cache_size\fP (int newsize)" |
| .br |
| .RI "\fIset the lookup cache size for optimized agent registration performance. \fP" |
| .ti -1c |
| .RI "int \fBnetsnmp_get_lookup_cache_size\fP (void)" |
| .br |
| .RI "\fIretrieves the current value of the lookup cache size \fP" |
| .ti -1c |
| .RI "void \fBnetsnmp_subtree_free\fP (\fBnetsnmp_subtree\fP *a)" |
| .br |
| .ti -1c |
| .RI "\fBnetsnmp_subtree\fP * \fBnetsnmp_subtree_deepcopy\fP (\fBnetsnmp_subtree\fP *a)" |
| .br |
| .ti -1c |
| .RI "\fBsubtree_context_cache\fP * \fBget_top_context_cache\fP (void)" |
| .br |
| .ti -1c |
| .RI "\fBnetsnmp_subtree\fP * \fBnetsnmp_subtree_find_first\fP (const char *context_name)" |
| .br |
| .ti -1c |
| .RI "\fBnetsnmp_subtree\fP * \fBadd_subtree\fP (\fBnetsnmp_subtree\fP *new_tree, const char *context_name)" |
| .br |
| .ti -1c |
| .RI "\fBnetsnmp_subtree\fP * \fBnetsnmp_subtree_replace_first\fP (\fBnetsnmp_subtree\fP *new_tree, const char *context_name)" |
| .br |
| .ti -1c |
| .RI "NETSNMP_INLINE void \fBnetsnmp_subtree_change_next\fP (\fBnetsnmp_subtree\fP *ptr, \fBnetsnmp_subtree\fP *thenext)" |
| .br |
| .ti -1c |
| .RI "NETSNMP_INLINE void \fBnetsnmp_subtree_change_prev\fP (\fBnetsnmp_subtree\fP *ptr, \fBnetsnmp_subtree\fP *theprev)" |
| .br |
| .ti -1c |
| .RI "int \fBnetsnmp_subtree_compare\fP (const \fBnetsnmp_subtree\fP *ap, const \fBnetsnmp_subtree\fP *bp)" |
| .br |
| .ti -1c |
| .RI "void \fBnetsnmp_subtree_join\fP (\fBnetsnmp_subtree\fP *root)" |
| .br |
| .ti -1c |
| .RI "\fBnetsnmp_subtree\fP * \fBnetsnmp_subtree_split\fP (\fBnetsnmp_subtree\fP *current, oid name[], int name_len)" |
| .br |
| .ti -1c |
| .RI "int \fBnetsnmp_subtree_load\fP (\fBnetsnmp_subtree\fP *new_sub, const char *context_name)" |
| .br |
| .ti -1c |
| .RI "int \fBnetsnmp_register_mib\fP (const char *moduleName, struct \fBvariable\fP *var, size_t varsize, size_t numvars, oid *mibloc, size_t mibloclen, int priority, int range_subid, oid range_ubound, \fBnetsnmp_session\fP *ss, const char *context, int timeout, int flags, \fBnetsnmp_handler_registration\fP *reginfo, int perform_callback)" |
| .br |
| .ti -1c |
| .RI "void \fBregister_mib_reattach\fP (void)" |
| .br |
| .ti -1c |
| .RI "void \fBregister_mib_detach\fP (void)" |
| .br |
| .ti -1c |
| .RI "int \fBregister_mib_context\fP (const char *moduleName, struct \fBvariable\fP *var, size_t varsize, size_t numvars, oid *mibloc, size_t mibloclen, int priority, int range_subid, oid range_ubound, \fBnetsnmp_session\fP *ss, const char *context, int timeout, int flags)" |
| .br |
| .ti -1c |
| .RI "int \fBregister_mib_range\fP (const char *moduleName, struct \fBvariable\fP *var, size_t varsize, size_t numvars, oid *mibloc, size_t mibloclen, int priority, int range_subid, oid range_ubound, \fBnetsnmp_session\fP *ss)" |
| .br |
| .ti -1c |
| .RI "int \fBregister_mib_priority\fP (const char *moduleName, struct \fBvariable\fP *var, size_t varsize, size_t numvars, oid *mibloc, size_t mibloclen, int priority)" |
| .br |
| .ti -1c |
| .RI "int \fBregister_mib\fP (const char *moduleName, struct \fBvariable\fP *var, size_t varsize, size_t numvars, oid *mibloc, size_t mibloclen)" |
| .br |
| .ti -1c |
| .RI "void \fBnetsnmp_subtree_unload\fP (\fBnetsnmp_subtree\fP *sub, \fBnetsnmp_subtree\fP *prev, const char *context)" |
| .br |
| .ti -1c |
| .RI "int \fBunregister_mib_context\fP (oid *name, size_t len, int priority, int range_subid, oid range_ubound, const char *context)" |
| .br |
| .RI "\fIUnregisters an OID that has an associated context name value. \fP" |
| .ti -1c |
| .RI "int \fBnetsnmp_unregister_mib_table_row\fP (oid *name, size_t len, int priority, int var_subid, oid range_ubound, const char *context)" |
| .br |
| .ti -1c |
| .RI "int \fBunregister_mib_range\fP (oid *name, size_t len, int priority, int range_subid, oid range_ubound)" |
| .br |
| .ti -1c |
| .RI "int \fBunregister_mib_priority\fP (oid *name, size_t len, int priority)" |
| .br |
| .ti -1c |
| .RI "int \fBunregister_mib\fP (oid *name, size_t len)" |
| .br |
| .ti -1c |
| .RI "void \fBunregister_mibs_by_session\fP (\fBnetsnmp_session\fP *ss)" |
| .br |
| .ti -1c |
| .RI "int \fBin_a_view\fP (oid *name, size_t *namelen, \fBnetsnmp_pdu\fP *pdu, int type)" |
| .br |
| .ti -1c |
| .RI "int \fBcheck_access\fP (\fBnetsnmp_pdu\fP *pdu)" |
| .br |
| .ti -1c |
| .RI "int \fBnetsnmp_acm_check_subtree\fP (\fBnetsnmp_pdu\fP *pdu, oid *name, size_t namelen)" |
| .br |
| .RI "\fIchecks to see if everything within a given subtree is either: in view, not in view, or possibly both. \fP" |
| .ti -1c |
| .RI "NETSNMP_STATIC_INLINE \fBlookup_cache_context\fP * \fBget_context_lookup_cache\fP (const char *context)" |
| .br |
| .ti -1c |
| .RI "NETSNMP_STATIC_INLINE void \fBlookup_cache_add\fP (const char *context, \fBnetsnmp_subtree\fP *next, \fBnetsnmp_subtree\fP *previous)" |
| .br |
| .ti -1c |
| .RI "NETSNMP_STATIC_INLINE void \fBlookup_cache_replace\fP (\fBlookup_cache\fP *ptr, \fBnetsnmp_subtree\fP *next, \fBnetsnmp_subtree\fP *previous)" |
| .br |
| .ti -1c |
| .RI "NETSNMP_STATIC_INLINE \fBlookup_cache\fP * \fBlookup_cache_find\fP (const char *context, oid *name, size_t name_len, int *retcmp)" |
| .br |
| .ti -1c |
| .RI "\fBnetsnmp_subtree\fP * \fBnetsnmp_subtree_find_prev\fP (oid *name, size_t len, \fBnetsnmp_subtree\fP *subtree, const char *context_name)" |
| .br |
| .ti -1c |
| .RI "\fBnetsnmp_subtree\fP * \fBnetsnmp_subtree_find_next\fP (oid *name, size_t len, \fBnetsnmp_subtree\fP *subtree, const char *context_name)" |
| .br |
| .ti -1c |
| .RI "\fBnetsnmp_subtree\fP * \fBnetsnmp_subtree_find\fP (oid *name, size_t len, \fBnetsnmp_subtree\fP *subtree, const char *context_name)" |
| .br |
| .ti -1c |
| .RI "\fBnetsnmp_session\fP * \fBget_session_for_oid\fP (oid *name, size_t len, const char *context_name)" |
| .br |
| .ti -1c |
| .RI "void \fBsetup_tree\fP (void)" |
| .br |
| .ti -1c |
| .RI "int \fBremove_tree_entry\fP (oid *name, size_t len)" |
| .br |
| .ti -1c |
| .RI "void \fBshutdown_tree\fP (void)" |
| .br |
| .ti -1c |
| .RI "void \fBclear_subtree\fP (\fBnetsnmp_subtree\fP *sub)" |
| .br |
| .ti -1c |
| .RI "void \fBclear_lookup_cache\fP (void)" |
| .br |
| .ti -1c |
| .RI "void \fBclear_context\fP (void)" |
| .br |
| .ti -1c |
| .RI "void \fBdump_idx_registry\fP (void)" |
| .br |
| .ti -1c |
| .RI "void \fBdump_registry\fP (void)" |
| .br |
| .ti -1c |
| .RI "RETSIGTYPE \fBagent_SIGCHLD_handler\fP (int sig)" |
| .br |
| .ti -1c |
| .RI "int \fBregister_signal\fP (int sig, void(*func)(int))" |
| .br |
| .ti -1c |
| .RI "int \fBunregister_signal\fP (int sig)" |
| .br |
| .in -1c |
| .SS "Variables" |
| |
| .in +1c |
| .ti -1c |
| .RI "\fBsubtree_context_cache\fP * \fBcontext_subtrees\fP = NULL" |
| .br |
| .ti -1c |
| .RI "int \fBlookup_cache_size\fP = 0" |
| .br |
| .ti -1c |
| .RI "int \fBexternal_signal_scheduled\fP [NUM_EXTERNAL_SIGS]" |
| .br |
| .ti -1c |
| .RI "void(* \fBexternal_signal_handler\fP [NUM_EXTERNAL_SIGS])(int)" |
| .br |
| .in -1c |
| .SH "Function Documentation" |
| .PP |
| .SS "int netsnmp_acm_check_subtree (\fBnetsnmp_pdu\fP * pdu, oid * name, size_t namelen)" |
| .PP |
| checks to see if everything within a given subtree is either: in view, not in view, or possibly both. If the entire subtree is not-in-view we can use this information to skip calling the sub-handlers entirely. |
| .PP |
| \fBReturns:\fP |
| .RS 4 |
| 0 if entire subtree is accessible, 5 if not and 7 if portions are both. 1 on error (illegal pdu version). |
| .RE |
| .PP |
| |
| .PP |
| Definition at line 1323 of file agent_registry.c. |
| .SS "int netsnmp_get_lookup_cache_size (void)" |
| .PP |
| retrieves the current value of the lookup cache size \fBReturns:\fP |
| .RS 4 |
| the current lookup cache size |
| .RE |
| .PP |
| |
| .PP |
| Definition at line 1396 of file agent_registry.c. |
| .SS "void netsnmp_set_lookup_cache_size (int newsize)" |
| .PP |
| set the lookup cache size for optimized agent registration performance. \fBParameters:\fP |
| .RS 4 |
| \fInewsize\fP set to the maximum size of a cache for a given context. Set to 0 to completely disable caching, or to -1 to set to the default cache size (8), or to a number of your chosing. The rough guide is that it should be equal to the maximum number of simultanious managers you expect to talk to the agent (M) times 80% (or so, he says randomly) the average number (N) of varbinds you expect to receive in a given request for a manager. ie, M times N. Bigger does NOT necessarily mean better. Certainly 16 should be an upper limit. 32 is the hard coded limit. |
| .RE |
| .PP |
| |
| .PP |
| Definition at line 1383 of file agent_registry.c. |
| .SS "int unregister_mib_context (oid * name, size_t len, int priority, int range_subid, oid range_ubound, const char * context)" |
| .PP |
| Unregisters an OID that has an associated context name value. Typically used when a \fBmodule\fP has multiple contexts defined. The parameters priority, range_subid, and range_ubound should be used in conjunction with agentx, see RFC 2741, otherwise these values should always be 0. |
| .PP |
| \fBParameters:\fP |
| .RS 4 |
| \fIname\fP the specific OID to unregister if it conatins the associated context. |
| .br |
| \fIlen\fP the length of the OID, use OID_LENGTH macro. |
| .br |
| \fIpriority\fP a value between 1 and 255, used to achieve a desired configuration when different sessions register identical or overlapping regions. Subagents with no particular knowledge of priority should register with the default value of 127. |
| .br |
| \fIrange_subid\fP permits specifying a range in place of one of a subtree sub-identifiers. When this value is zero, no range is being specified. |
| .br |
| \fIrange_ubound\fP the upper bound of a sub-identifier's range. This field is present only if range_subid is not 0. |
| .br |
| \fIcontext\fP a context name that has been created |
| .RE |
| .PP |
| \fBReturns:\fP |
| .RS 4 |
| .RE |
| .PP |
| |
| .PP |
| Definition at line 969 of file agent_registry.c. |
| .SH "Author" |
| .PP |
| Generated automatically by Doxygen for net-snmp from the source code. |