.TH "net-snmp agent related processing" 3 "31 May 2012" "Version 5.5.2.rc2" "net-snmp" \" -*- nroff -*-
.ad l
.nh
.SH NAME
net-snmp agent related processing \- 
.SS "Data Structures"

.in +1c
.ti -1c
.RI "struct \fBaddrCache\fP"
.br
.ti -1c
.RI "struct \fB_agent_nsap\fP"
.br
.ti -1c
.RI "struct \fBagent_set_cache_s\fP"
.br
.in -1c
.SS "Defines"

.in +1c
.ti -1c
.RI "#define \fBSNMP_NEED_REQUEST_LIST\fP"
.br
.ti -1c
.RI "#define \fBSNMP_ADDRCACHE_SIZE\fP   10"
.br
.ti -1c
.RI "#define \fBSNMP_ADDRCACHE_MAXAGE\fP   300"
.br
.in -1c
.SS "Typedefs"

.in +1c
.ti -1c
.RI "typedef struct \fB_agent_nsap\fP \fBagent_nsap\fP"
.br
.ti -1c
.RI "typedef struct \fBagent_set_cache_s\fP \fBagent_set_cache\fP"
.br
.in -1c
.SS "Enumerations"

.in +1c
.ti -1c
.RI "enum { \fBSNMP_ADDRCACHE_UNUSED\fP =  0, \fBSNMP_ADDRCACHE_USED\fP =  1 }"
.br
.in -1c
.SS "Functions"

.in +1c
.ti -1c
.RI "NETSNMP_INLINE void \fBnetsnmp_agent_add_list_data\fP (\fBnetsnmp_agent_request_info\fP *ari, \fBnetsnmp_data_list\fP *\fBnode\fP)"
.br
.ti -1c
.RI "NETSNMP_INLINE int \fBnetsnmp_agent_remove_list_data\fP (\fBnetsnmp_agent_request_info\fP *ari, const char *name)"
.br
.ti -1c
.RI "NETSNMP_INLINE void * \fBnetsnmp_agent_get_list_data\fP (\fBnetsnmp_agent_request_info\fP *ari, const char *name)"
.br
.ti -1c
.RI "NETSNMP_INLINE void \fBnetsnmp_free_agent_data_set\fP (\fBnetsnmp_agent_request_info\fP *ari)"
.br
.ti -1c
.RI "NETSNMP_INLINE void \fBnetsnmp_free_agent_data_sets\fP (\fBnetsnmp_agent_request_info\fP *ari)"
.br
.ti -1c
.RI "NETSNMP_INLINE void \fBnetsnmp_free_agent_request_info\fP (\fBnetsnmp_agent_request_info\fP *ari)"
.br
.ti -1c
.RI "int \fBnetsnmp_agent_check_packet\fP (\fBnetsnmp_session\fP *, struct \fBnetsnmp_transport_s\fP *, void *, int)"
.br
.ti -1c
.RI "int \fBnetsnmp_agent_check_parse\fP (\fBnetsnmp_session\fP *, \fBnetsnmp_pdu\fP *, int)"
.br
.ti -1c
.RI "void \fBdelete_subnetsnmp_tree_cache\fP (\fBnetsnmp_agent_session\fP *asp)"
.br
.ti -1c
.RI "int \fBhandle_pdu\fP (\fBnetsnmp_agent_session\fP *asp)"
.br
.ti -1c
.RI "int \fBnetsnmp_handle_request\fP (\fBnetsnmp_agent_session\fP *asp, int status)"
.br
.ti -1c
.RI "int \fBnetsnmp_wrap_up_request\fP (\fBnetsnmp_agent_session\fP *asp, int status)"
.br
.ti -1c
.RI "int \fBcheck_delayed_request\fP (\fBnetsnmp_agent_session\fP *asp)"
.br
.ti -1c
.RI "int \fBhandle_getnext_loop\fP (\fBnetsnmp_agent_session\fP *asp)"
.br
.RI "\fIrepeatedly calls getnext handlers looking for an answer till all requests are satisified. \fP"
.ti -1c
.RI "int \fBhandle_set_loop\fP (\fBnetsnmp_agent_session\fP *asp)"
.br
.ti -1c
.RI "int \fBnetsnmp_check_queued_chain_for\fP (\fBnetsnmp_agent_session\fP *asp)"
.br
.ti -1c
.RI "int \fBnetsnmp_add_queued\fP (\fBnetsnmp_agent_session\fP *asp)"
.br
.ti -1c
.RI "int \fBnetsnmp_remove_from_delegated\fP (\fBnetsnmp_agent_session\fP *asp)"
.br
.ti -1c
.RI "int \fBnetsnmp_allocate_globalcacheid\fP (void)"
.br
.ti -1c
.RI "int \fBnetsnmp_get_local_cachid\fP (\fBnetsnmp_cachemap\fP *cache_store, int globalid)"
.br
.ti -1c
.RI "\fBnetsnmp_cachemap\fP * \fBnetsnmp_get_or_add_local_cachid\fP (\fBnetsnmp_cachemap\fP **cache_store, int globalid, int localid)"
.br
.ti -1c
.RI "void \fBnetsnmp_free_cachemap\fP (\fBnetsnmp_cachemap\fP *cache_store)"
.br
.ti -1c
.RI "\fBagent_set_cache\fP * \fBsave_set_cache\fP (\fBnetsnmp_agent_session\fP *asp)"
.br
.ti -1c
.RI "int \fBget_set_cache\fP (\fBnetsnmp_agent_session\fP *asp)"
.br
.ti -1c
.RI "NETSNMP_STATIC_INLINE void \fB_reorder_getbulk\fP (\fBnetsnmp_agent_session\fP *asp)"
.br
.ti -1c
.RI "NETSNMP_STATIC_INLINE void \fB_fix_endofmibview\fP (\fBnetsnmp_agent_session\fP *asp)"
.br
.ti -1c
.RI "int \fBgetNextSessID\fP (void)"
.br
.ti -1c
.RI "int \fBagent_check_and_process\fP (int block)"
.br
.RI "\fIThis function checks for packets arriving on the SNMP port and processes them(snmp_read) if some are found, using the select(). \fP"
.ti -1c
.RI "void \fBnetsnmp_addrcache_initialise\fP (void)"
.br
.ti -1c
.RI "void \fBnetsnmp_addrcache_destroy\fP (void)"
.br
.ti -1c
.RI "int \fBnetsnmp_addrcache_add\fP (const char *addr)"
.br
.ti -1c
.RI "void \fBnetsnmp_addrcache_age\fP (void)"
.br
.ti -1c
.RI "int \fBnetsnmp_register_agent_nsap\fP (\fBnetsnmp_transport\fP *t)"
.br
.ti -1c
.RI "void \fBnetsnmp_deregister_agent_nsap\fP (int handle)"
.br
.ti -1c
.RI "int \fBinit_master_agent\fP (void)"
.br
.ti -1c
.RI "void \fBclear_nsap_list\fP (void)"
.br
.ti -1c
.RI "void \fBshutdown_master_agent\fP (void)"
.br
.ti -1c
.RI "\fBnetsnmp_agent_session\fP * \fBinit_agent_snmp_session\fP (\fBnetsnmp_session\fP *session, \fBnetsnmp_pdu\fP *pdu)"
.br
.ti -1c
.RI "void \fBfree_agent_snmp_session\fP (\fBnetsnmp_agent_session\fP *asp)"
.br
.ti -1c
.RI "int \fBnetsnmp_check_for_delegated\fP (\fBnetsnmp_agent_session\fP *asp)"
.br
.ti -1c
.RI "int \fBnetsnmp_check_delegated_chain_for\fP (\fBnetsnmp_agent_session\fP *asp)"
.br
.ti -1c
.RI "int \fBnetsnmp_check_for_delegated_and_add\fP (\fBnetsnmp_agent_session\fP *asp)"
.br
.ti -1c
.RI "int \fBnetsnmp_remove_delegated_requests_for_session\fP (\fBnetsnmp_session\fP *sess)"
.br
.ti -1c
.RI "void \fBdump_sess_list\fP (void)"
.br
.ti -1c
.RI "void \fBnetsnmp_remove_and_free_agent_snmp_session\fP (\fBnetsnmp_agent_session\fP *asp)"
.br
.ti -1c
.RI "void \fBnetsnmp_free_agent_snmp_session_by_session\fP (\fBnetsnmp_session\fP *sess, void(*free_request)(\fBnetsnmp_request_list\fP *))"
.br
.ti -1c
.RI "int \fBhandle_snmp_packet\fP (int op, \fBnetsnmp_session\fP *session, int reqid, \fBnetsnmp_pdu\fP *pdu, void *magic)"
.br
.RI "\fIhandles an incoming SNMP packet into the agent \fP"
.ti -1c
.RI "\fBnetsnmp_request_info\fP * \fBnetsnmp_add_varbind_to_cache\fP (\fBnetsnmp_agent_session\fP *asp, int vbcount, \fBnetsnmp_variable_list\fP *varbind_ptr, \fBnetsnmp_subtree\fP *tp)"
.br
.ti -1c
.RI "int \fBcheck_acm\fP (\fBnetsnmp_agent_session\fP *asp, u_char type)"
.br
.ti -1c
.RI "int \fBnetsnmp_create_subtree_cache\fP (\fBnetsnmp_agent_session\fP *asp)"
.br
.ti -1c
.RI "int \fBnetsnmp_reassign_requests\fP (\fBnetsnmp_agent_session\fP *asp)"
.br
.ti -1c
.RI "void \fBnetsnmp_delete_request_infos\fP (\fBnetsnmp_request_info\fP *reqlist)"
.br
.ti -1c
.RI "void \fBnetsnmp_delete_subtree_cache\fP (\fBnetsnmp_agent_session\fP *asp)"
.br
.ti -1c
.RI "int \fBnetsnmp_check_all_requests_error\fP (\fBnetsnmp_agent_session\fP *asp, int look_for_specific)"
.br
.ti -1c
.RI "int \fBnetsnmp_check_requests_error\fP (\fBnetsnmp_request_info\fP *requests)"
.br
.ti -1c
.RI "int \fBnetsnmp_check_requests_status\fP (\fBnetsnmp_agent_session\fP *asp, \fBnetsnmp_request_info\fP *requests, int look_for_specific)"
.br
.ti -1c
.RI "int \fBnetsnmp_check_all_requests_status\fP (\fBnetsnmp_agent_session\fP *asp, int look_for_specific)"
.br
.ti -1c
.RI "int \fBhandle_var_requests\fP (\fBnetsnmp_agent_session\fP *asp)"
.br
.ti -1c
.RI "void \fBnetsnmp_check_outstanding_agent_requests\fP (void)"
.br
.ti -1c
.RI "int \fBnetsnmp_check_transaction_id\fP (int transaction_id)"
.br
.RI "\fIDecide if the requested transaction_id is still being processed within the agent. \fP"
.ti -1c
.RI "int \fBcheck_getnext_results\fP (\fBnetsnmp_agent_session\fP *asp)"
.br
.RI "\fIreturns 1 if there are valid GETNEXT requests left. \fP"
.ti -1c
.RI "int \fBhandle_set\fP (\fBnetsnmp_agent_session\fP *asp)"
.br
.ti -1c
.RI "NETSNMP_STATIC_INLINE int \fB_request_set_error\fP (\fBnetsnmp_request_info\fP *request, int mode, int error_value)"
.br
.RI "\fIset error for a request \fP"
.ti -1c
.RI "int \fBnetsnmp_request_set_error\fP (\fBnetsnmp_request_info\fP *request, int error_value)"
.br
.RI "\fIset error for a request \fP"
.ti -1c
.RI "int \fBnetsnmp_request_set_error_idx\fP (\fBnetsnmp_request_info\fP *request, int error_value, int idx)"
.br
.RI "\fIset error for a request within a request list \fP"
.ti -1c
.RI "NETSNMP_INLINE int \fBnetsnmp_request_set_error_all\fP (\fBnetsnmp_request_info\fP *requests, int error)"
.br
.RI "\fIset error for all requests \fP"
.ti -1c
.RI "u_long \fBnetsnmp_marker_uptime\fP (marker_t pm)"
.br
.ti -1c
.RI "u_long \fBnetsnmp_timeval_uptime\fP (struct timeval *tv)"
.br
.ti -1c
.RI "u_long \fBnetsnmp_get_agent_uptime\fP (void)"
.br
.ti -1c
.RI "int \fBnetsnmp_set_request_error\fP (\fBnetsnmp_agent_request_info\fP *reqinfo, \fBnetsnmp_request_info\fP *request, int error_value)"
.br
.RI "\fIset error for a request \fP"
.ti -1c
.RI "int \fBnetsnmp_set_mode_request_error\fP (int mode, \fBnetsnmp_request_info\fP *request, int error_value)"
.br
.RI "\fIset error for a request \fP"
.ti -1c
.RI "int \fBnetsnmp_set_all_requests_error\fP (\fBnetsnmp_agent_request_info\fP *reqinfo, \fBnetsnmp_request_info\fP *requests, int error_value)"
.br
.RI "\fIset error for all request \fP"
.in -1c
.SS "Variables"

.in +1c
.ti -1c
.RI "oid \fBversion_sysoid\fP [] = { NETSNMP_SYSTEM_MIB }"
.br
.ti -1c
.RI "int \fBversion_sysoid_len\fP = OID_LENGTH(version_sysoid)"
.br
.ti -1c
.RI "int \fBlog_addresses\fP = 0"
.br
.ti -1c
.RI "\fBnetsnmp_agent_session\fP * \fBnetsnmp_processing_set\fP = NULL"
.br
.ti -1c
.RI "\fBnetsnmp_agent_session\fP * \fBagent_delegated_list\fP = NULL"
.br
.ti -1c
.RI "\fBnetsnmp_agent_session\fP * \fBnetsnmp_agent_queued_list\fP = NULL"
.br
.ti -1c
.RI "int \fBnetsnmp_running\fP = 1"
.br
.ti -1c
.RI "\fBnetsnmp_session\fP * \fBmain_session\fP = NULL"
.br
.ti -1c
.RI "struct timeval \fBstarttime\fP"
.br
.in -1c
.SH "Function Documentation"
.PP 
.SS "NETSNMP_STATIC_INLINE int _request_set_error (\fBnetsnmp_request_info\fP * request, int mode, int error_value)"
.PP
set error for a request 
.PP
Definition at line 3431 of file snmp_agent.c.
.SS "int agent_check_and_process (int block)"
.PP
This function checks for packets arriving on the SNMP port and processes them(snmp_read) if some are found, using the select(). If block is non zero, the function call blocks until a packet arrives
.PP
\fBParameters:\fP
.RS 4
\fIblock\fP used to control blocking in the select() function, 1 = block forever, and 0 = don't block
.RE
.PP
\fBReturns:\fP
.RS 4
Returns a positive integer if packets were processed, and -1 if an error was found. 
.RE
.PP

.PP
Definition at line 626 of file snmp_agent.c.
.SS "int check_getnext_results (\fBnetsnmp_agent_session\fP * asp)"
.PP
returns 1 if there are valid GETNEXT requests left. Returns 0 if not. 
.PP
Definition at line 2883 of file snmp_agent.c.
.SS "int handle_getnext_loop (\fBnetsnmp_agent_session\fP * asp)"
.PP
repeatedly calls getnext handlers looking for an answer till all requests are satisified. It's expected that one pass has been made before entering this function 
.PP
Definition at line 3000 of file snmp_agent.c.
.SS "int handle_snmp_packet (int op, \fBnetsnmp_session\fP * session, int reqid, \fBnetsnmp_pdu\fP * pdu, void * magic)"
.PP
handles an incoming SNMP packet into the agent 
.PP
Definition at line 1835 of file snmp_agent.c.
.SS "\fBnetsnmp_request_info\fP* netsnmp_add_varbind_to_cache (\fBnetsnmp_agent_session\fP * asp, int vbcount, \fBnetsnmp_variable_list\fP * varbind_ptr, \fBnetsnmp_subtree\fP * tp)"
.PP
\fBTodo\fP
.RS 4
make this be more intelligent about ranges. Right now we merely take the highest level commonality of a registration range and use that. At times we might be able to be smarter about checking the range itself as opposed to the \fBnode\fP above where the range exists, but I doubt this will come up all that frequently. 
.RE
.PP

.PP
Definition at line 1944 of file snmp_agent.c.
.SS "int netsnmp_check_transaction_id (int transaction_id)"
.PP
Decide if the requested transaction_id is still being processed within the agent. This is used to validate whether a delayed cache (containing possibly freed pointers) is still usable.
.PP
returns SNMPERR_SUCCESS if it's still valid, or SNMPERR_GENERR if not. 
.PP
Definition at line 2786 of file snmp_agent.c.
.SS "int netsnmp_request_set_error (\fBnetsnmp_request_info\fP * request, int error_value)"
.PP
set error for a request \fBParameters:\fP
.RS 4
\fIrequest\fP request which has error 
.br
\fIerror_value\fP error value for request 
.RE
.PP

.PP
Definition at line 3499 of file snmp_agent.c.
.SS "NETSNMP_INLINE int netsnmp_request_set_error_all (\fBnetsnmp_request_info\fP * requests, int error)"
.PP
set error for all requests \fBParameters:\fP
.RS 4
\fIrequests\fP request list 
.br
\fIerror\fP error value for requests 
.RE
.PP
\fBReturns:\fP
.RS 4
SNMPERR_SUCCESS, or an error code 
.RE
.PP

.PP
paranoid sanity checks 
.PP
Definition at line 3542 of file snmp_agent.c.
.SS "int netsnmp_request_set_error_idx (\fBnetsnmp_request_info\fP * request, int error_value, int idx)"
.PP
set error for a request within a request list \fBParameters:\fP
.RS 4
\fIrequest\fP head of the request list 
.br
\fIerror_value\fP error value for request 
.br
\fIidx\fP index of the request which has the error 
.RE
.PP

.PP
Definition at line 3514 of file snmp_agent.c.
.SS "int netsnmp_set_all_requests_error (\fBnetsnmp_agent_request_info\fP * reqinfo, \fBnetsnmp_request_info\fP * requests, int error_value)"
.PP
set error for all request \fBDeprecated\fP
.RS 4
use netsnmp_request_set_error_all 
.RE
.PP
\fBParameters:\fP
.RS 4
\fIreqinfo\fP agent_request_info pointer for requests 
.br
\fIrequests\fP request list 
.br
\fIerror_value\fP error value for requests 
.RE
.PP
\fBReturns:\fP
.RS 4
error_value 
.RE
.PP

.PP
Definition at line 3655 of file snmp_agent.c.
.SS "int netsnmp_set_mode_request_error (int mode, \fBnetsnmp_request_info\fP * request, int error_value)"
.PP
set error for a request deprecated, use netsnmp_request_set_error instead
.PP
\fBDeprecated\fP
.RS 4
, use netsnmp_request_set_error instead 
.RE
.PP
\fBParameters:\fP
.RS 4
\fImode\fP Net-SNMP agent processing mode 
.br
\fIrequest\fP request_info pointer 
.br
\fIerror_value\fP error value for requests 
.RE
.PP
\fBReturns:\fP
.RS 4
error_value 
.RE
.PP

.PP
Definition at line 3639 of file snmp_agent.c.
.SS "int netsnmp_set_request_error (\fBnetsnmp_agent_request_info\fP * reqinfo, \fBnetsnmp_request_info\fP * request, int error_value)"
.PP
set error for a request deprecated, use netsnmp_request_set_error instead
.PP
\fBDeprecated\fP
.RS 4
, use netsnmp_request_set_error instead 
.RE
.PP
\fBParameters:\fP
.RS 4
\fIreqinfo\fP agent_request_info pointer for request 
.br
\fIrequest\fP request_info pointer 
.br
\fIerror_value\fP error value for requests 
.RE
.PP
\fBReturns:\fP
.RS 4
error_value 
.RE
.PP

.PP
\fBExamples: \fP
.in +1c
\fBdelayed_instance.c\fP.
.PP
Definition at line 3620 of file snmp_agent.c.
.SS "int netsnmp_wrap_up_request (\fBnetsnmp_agent_session\fP * asp, int status)"
.PP
if asp->pdu 
.PP
Definition at line 1581 of file snmp_agent.c.
.SH "Author"
.PP 
Generated automatically by Doxygen for net-snmp from the source code.
