netsnmp_library man page on Scientific

Man page or keyword search:  
man Server   26626 pages
apropos Keyword Search (all sections)
Output format
Scientific logo
[printable version]

The Net-SNMP library(3)		   net-snmp	       The Net-SNMP library(3)

NAME
       The Net-SNMP library -

   Data Structures
       struct snmp_internal_session
       struct session_list

   Modules
       asn1 parsing and datatype manipulation routines.

       Note on.
   A generic callback mechanism
   generic linked-list data handling with a string as a key.
   storage space for defaults

       The purpose of the default storage is three-fold:.
   mib parsing and datatype manipulation routines.
   Store and retrieve data referenced by an OID.

       This is essentially a way of storing data associated with a given OID.
   parsing various configuration files at run time

       The read_config related functions are a fairly extensible system of
       parsing various configuration files at the run time.
   generic library based alarm timers for various parts of an application
   various PDU processing routines
   generic logging for net-snmp
   Memory Utility Routines

   Defines
       #define MIN(a, b)   (((a) < (b)) ? (a) : (b))
       #define MIB_CLIENTS_ARE_EVIL   1
       #define _init_agent_callback_transport()
       #define SNMP_NEED_REQUEST_LIST
       #define timercmp(tvp, uvp, cmp)
       #define timerclear(tvp)	 (tvp)->tv_sec = (tvp)->tv_usec = 0
       #define MAX_PACKET_LENGTH   (0x7fffffff)
       #define NETSNMP_STREAM_QUEUE_LEN	  5
       #define BSD4_2
       #define DEFAULT_COMMUNITY   'public'
       #define DEFAULT_RETRIES	 5
       #define DEFAULT_TIMEOUT	 1000000L
       #define DEFAULT_REMPORT	 SNMP_PORT
       #define DEFAULT_ENTERPRISE   default_enterprise
       #define DEFAULT_TIME   0
       #define MAXIMUM_PACKET_SIZE   0x7fffffff
       #define DEBUGPRINTPDUTYPE(token, type)	DEBUGDUMPSECTION(token,
	   snmp_pdu_type(type))
       #define ERROR_STAT_LENGTH   11

   Functions
       int init_agent (const char *app)
	   Initialize the agent.
       void shutdown_agent (void)
       void add_to_init_list (char *module_list)
       int should_init (const char *module_name)
       int snmp_build (u_char **pkt, size_t *pkt_len, size_t *offset,
	   netsnmp_session *pss, netsnmp_pdu *pdu)
       int snmp_get_errno (void)
       void snmp_synch_reset (netsnmp_session *notused)
       void snmp_synch_setup (netsnmp_session *notused)
       const char * strerror (int err)
       const char * snmp_pdu_type (int type)
       long snmp_get_next_reqid (void)
       long snmp_get_next_msgid (void)
       long snmp_get_next_sessid (void)
       long snmp_get_next_transid (void)
       void snmp_perror (const char *prog_string)
       void snmp_set_detail (const char *detail_string)
       const char * snmp_api_errstring (int snmp_errnumber)
       void snmp_error (netsnmp_session *psess, int *p_errno, int
	   *p_snmp_errno, char **p_str)
       void snmp_sess_error (void *sessp, int *p_errno, int *p_snmp_errno,
	   char **p_str)
       void netsnmp_sess_log_error (int priority, const char *prog_string,
	   netsnmp_session *ss)
       void snmp_sess_perror (const char *prog_string, netsnmp_session *ss)
       void snmp_sess_init (netsnmp_session *session)
	   Library API routines concerned with specifying and using SNMP
	   'sessions' including sending and receiving requests.
       void init_snmp (const char *type)
	   Calls the functions to do config file loading and mib module
	   parsing in the correct order.
       void snmp_store (const char *type)
       void snmp_shutdown (const char *type)
	   Shuts down the application, saving any needed persistent storage,
	   and appropriate clean up.
       netsnmp_session * snmp_open (netsnmp_session *session)
       netsnmp_session * snmp_open_ex (netsnmp_session *session,
	   int(*fpre_parse)(netsnmp_session *, netsnmp_transport *, void *,
	   int), int(*fparse)(netsnmp_session *, netsnmp_pdu *, u_char *,
	   size_t), int(*fpost_parse)(netsnmp_session *, netsnmp_pdu *, int),
	   int(*fbuild)(netsnmp_session *, netsnmp_pdu *, u_char *, size_t *),
	   int(*frbuild)(netsnmp_session *, netsnmp_pdu *, u_char **, size_t
	   *, size_t *), int(*fcheck)(u_char *, size_t))
       int snmpv3_probe_contextEngineID_rfc5343 (void *slp, netsnmp_session
	   *session)
	   probe for engineID using RFC 5343 probing mechanisms
       int snmpv3_engineID_probe (struct session_list *slp, netsnmp_session
	   *in_session)
	   probe for peer engineID
       netsnmp_session * snmp_add (netsnmp_session *in_session,
	   netsnmp_transport *transport, int(*fpre_parse)(netsnmp_session *,
	   netsnmp_transport *, void *, int),
	   int(*fpost_parse)(netsnmp_session *, netsnmp_pdu *, int))
       netsnmp_session * snmp_add_full (netsnmp_session *in_session,
	   netsnmp_transport *transport, int(*fpre_parse)(netsnmp_session *,
	   netsnmp_transport *, void *, int), int(*fparse)(netsnmp_session *,
	   netsnmp_pdu *, u_char *, size_t), int(*fpost_parse)(netsnmp_session
	   *, netsnmp_pdu *, int), int(*fbuild)(netsnmp_session *, netsnmp_pdu
	   *, u_char *, size_t *), int(*frbuild)(netsnmp_session *,
	   netsnmp_pdu *, u_char **, size_t *, size_t *), int(*fcheck)(u_char
	   *, size_t), netsnmp_pdu *(*fcreate_pdu)(netsnmp_transport *, void
	   *, size_t))
       void * snmp_sess_add_ex (netsnmp_session *in_session, netsnmp_transport
	   *transport, int(*fpre_parse)(netsnmp_session *, netsnmp_transport
	   *, void *, int), int(*fparse)(netsnmp_session *, netsnmp_pdu *,
	   u_char *, size_t), int(*fpost_parse)(netsnmp_session *, netsnmp_pdu
	   *, int), int(*fbuild)(netsnmp_session *, netsnmp_pdu *, u_char *,
	   size_t *), int(*frbuild)(netsnmp_session *, netsnmp_pdu *, u_char
	   **, size_t *, size_t *), int(*fcheck)(u_char *, size_t),
	   netsnmp_pdu *(*fcreate_pdu)(netsnmp_transport *, void *, size_t))
       void * snmp_sess_add (netsnmp_session *in_session, netsnmp_transport
	   *transport, int(*fpre_parse)(netsnmp_session *, netsnmp_transport
	   *, void *, int), int(*fpost_parse)(netsnmp_session *, netsnmp_pdu
	   *, int))
       void * snmp_sess_open (netsnmp_session *pss)
       int create_user_from_session (netsnmp_session *session)
       int snmp_sess_close (void *sessp)
       int snmp_close (netsnmp_session *session)
       int snmp_close_sessions (void)
       int snmpv3_header_realloc_rbuild (u_char **pkt, size_t *pkt_len, size_t
	   *offset, netsnmp_session *session, netsnmp_pdu *pdu)
       int snmpv3_scopedPDU_header_realloc_rbuild (u_char **pkt, size_t
	   *pkt_len, size_t *offset, netsnmp_pdu *pdu, size_t body_len)
       int snmpv3_packet_realloc_rbuild (u_char **pkt, size_t *pkt_len, size_t
	   *offset, netsnmp_session *session, netsnmp_pdu *pdu, u_char
	   *pdu_data, size_t pdu_data_len)
       int snmpv3_packet_build (netsnmp_session *session, netsnmp_pdu *pdu,
	   u_char *packet, size_t *out_length, u_char *pdu_data, size_t
	   pdu_data_len)
       u_char * snmp_pdu_build (netsnmp_pdu *pdu, u_char *cp, size_t
	   *out_length)
       int snmp_pdu_realloc_rbuild (u_char **pkt, size_t *pkt_len, size_t
	   *offset, netsnmp_pdu *pdu)
       int snmpv3_parse (netsnmp_pdu *pdu, u_char *data, size_t *length,
	   u_char **after_header, netsnmp_session *sess)
       int snmpv3_make_report (netsnmp_pdu *pdu, int error)
       int snmpv3_get_report_type (netsnmp_pdu *pdu)
       int snmp_pdu_parse (netsnmp_pdu *pdu, u_char *data, size_t *length)
       u_char * snmpv3_scopedPDU_parse (netsnmp_pdu *pdu, u_char *cp, size_t
	   *length)
       int snmp_send (netsnmp_session *session, netsnmp_pdu *pdu)
       int snmp_sess_send (void *sessp, netsnmp_pdu *pdu)
       int snmp_async_send (netsnmp_session *session, netsnmp_pdu *pdu,
	   snmp_callback callback, void *cb_data)
       int snmp_sess_async_send (void *sessp, netsnmp_pdu *pdu, snmp_callback
	   callback, void *cb_data)
       void snmp_free_var_internals (netsnmp_variable_list *var)
       void snmp_free_var (netsnmp_variable_list *var)
       void snmp_free_varbind (netsnmp_variable_list *var)
       void snmp_free_pdu (netsnmp_pdu *pdu)
       netsnmp_pdu * snmp_create_sess_pdu (netsnmp_transport *transport, void
	   *opaque, size_t olength)
       void snmp_read (fd_set *fdset)
       void snmp_read2 (netsnmp_large_fd_set *fdset)
       int _sess_read (void *sessp, netsnmp_large_fd_set *fdset)
       int snmp_sess_read (void *sessp, fd_set *fdset)
       int snmp_sess_read2 (void *sessp, netsnmp_large_fd_set *fdset)
       int snmp_select_info (int *numfds, fd_set *fdset, struct timeval
	   *timeout, int *block)
       int snmp_select_info2 (int *numfds, netsnmp_large_fd_set *fdset, struct
	   timeval *timeout, int *block)
       int snmp_sess_select_info (void *sessp, int *numfds, fd_set *fdset,
	   struct timeval *timeout, int *block)
       int snmp_sess_select_info2 (void *sessp, int *numfds,
	   netsnmp_large_fd_set *fdset, struct timeval *timeout, int *block)
       void snmp_timeout (void)
       void snmp_sess_timeout (void *sessp)
       int snmp_oid_ncompare (const oid *in_name1, size_t len1, const oid
	   *in_name2, size_t len2, size_t max_len)
       int snmp_oid_compare (const oid *in_name1, size_t len1, const oid
	   *in_name2, size_t len2)
	   lexicographical compare two object identifiers.
       int netsnmp_oid_compare_ll (const oid *in_name1, size_t len1, const oid
	   *in_name2, size_t len2, size_t *offpt)
	   lexicographical compare two object identifiers and return the point
	   where they differ
       int snmp_oidtree_compare (const oid *in_name1, size_t len1, const oid
	   *in_name2, size_t len2)
	   Compares 2 OIDs to determine if they are equal up until the
	   shortest length.
       int snmp_oidsubtree_compare (const oid *in_name1, size_t len1, const
	   oid *in_name2, size_t len2)
       int netsnmp_oid_equals (const oid *in_name1, size_t len1, const oid
	   *in_name2, size_t len2)
	   Compares 2 OIDs to determine if they are exactly equal.
       int netsnmp_oid_is_subtree (const oid *in_name1, size_t len1, const oid
	   *in_name2, size_t len2)
	   Identical to netsnmp_oid_equals, except only the length up to len1
	   is compared.
       int netsnmp_oid_find_prefix (const oid *in_name1, size_t len1, const
	   oid *in_name2, size_t len2)
	   Given two OIDs, determine the common prefix to them both.
       netsnmp_variable_list * snmp_pdu_add_variable (netsnmp_pdu *pdu, const
	   oid *name, size_t name_length, u_char type, const void *value,
	   size_t len)
	   Library API routines concerned with variable bindings and values.
       netsnmp_variable_list * snmp_varlist_add_variable
	   (netsnmp_variable_list **varlist, const oid *name, size_t
	   name_length, u_char type, const void *value, size_t len)
       int snmp_add_var (netsnmp_pdu *pdu, const oid *name, size_t
	   name_length, char type, const char *value)
       void * snmp_sess_pointer (netsnmp_session *session)
       netsnmp_session * snmp_sess_session (void *sessp)
       netsnmp_transport * snmp_sess_transport (void *sessp)
       void snmp_sess_transport_set (void *sp, netsnmp_transport *t)
       oid * snmp_duplicate_objid (const oid *objToCopy, size_t objToCopyLen)
       u_int snmp_increment_statistic (int which)
       u_int snmp_increment_statistic_by (int which, int count)
       u_int snmp_get_statistic (int which)
       void snmp_init_statistics (void)

   Variables
       struct module_init_list * initlist = NULL
       struct module_init_list * noinitlist = NULL
       netsnmp_subtree * subtrees
       long long_return
       u_char return_buf [258]
       struct timeval starttime
       int callback_master_num = -1
       oid nullOid [] = { 0, 0 }
       int nullOidLen = sizeof(nullOid)
       struct session_list * Sessions = NULL
       int snmp_errno = 0

Define Documentation
   #define timercmp(tvp, uvp, cmp) Value:
       /* CSTYLED */	     ((tvp)->tv_sec cmp (uvp)->tv_sec ||	 ((tvp)->tv_sec == (uvp)->tv_sec &&	    /* CSTYLED */	  (tvp)->tv_usec cmp (uvp)->tv_usec))

       Definition at line 149 of file snmp_api.c.

Function Documentation
   int _sess_read (void * sessp, netsnmp_large_fd_set * fdset)
       XXX-rks: why no SNMP_FREE(isp->packet); ??

       XXX-rks: why no SNMP_FREE(isp->packet); ??

       Definition at line 5679 of file snmp_api.c.

   int init_agent (const char * app)
       Initialize the agent. 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.

       Parameters:
	   app the configuration file to be read in, gets stored in default
	   storage

       Returns:
	   Returns non-zero on failure and zero on success.

       See also:
	   init_snmp

       Definition at line 273 of file snmp_vars.c.

   void init_snmp (const char * type)
       Calls the functions to do config file loading and mib module parsing in
       the correct order. Parameters:
	   type label for the config file 'type'

       Returns:
	   void

       See also:
	   init_agent

       Definition at line 793 of file snmp_api.c.

   int netsnmp_oid_compare_ll (const oid * in_name1, size_t len1, const oid *
       in_name2, size_t len2, size_t * offpt)
       lexicographical compare two object identifiers and return the point
       where they differ Caution: this method is called often by command
       responder applications (ie, agent).

       Returns:
	   -1 if name1 < name2, 0 if name1 = name2, 1 if name1 > name2 and
	   offpt = len where name1 != name2

       Definition at line 6680 of file snmp_api.c.

   int netsnmp_oid_equals (const oid * in_name1, size_t len1, const oid *
       in_name2, size_t len2)
       Compares 2 OIDs to determine if they are exactly equal. 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 ==.

       Parameters:
	   in_name1 A pointer to the first oid.
	   len1 length of the first OID (in segments, not bytes)
	   in_name2 A pointer to the second oid.
	   len2 length of the second OID (in segments, not bytes)

       Returns:
	   0 if they are equal, 1 if they are not.

       Definition at line 6761 of file snmp_api.c.

   int netsnmp_oid_find_prefix (const oid * in_name1, size_t len1, const oid *
       in_name2, size_t len2)
       Given two OIDs, determine the common prefix to them both. Parameters:
	   in_name1 A pointer to the first oid.
	   len1 Length of the first oid.
	   in_name2 A pointer to the second oid.
	   len2 Length of the second oid.

       Returns:
	   length of largest common index of commonality. 1 = first, 0 if none
	   * or -1 on error.

       Definition at line 6817 of file snmp_api.c.

   int netsnmp_oid_is_subtree (const oid * in_name1, size_t len1, const oid *
       in_name2, size_t len2)
       Identical to netsnmp_oid_equals, except only the length up to len1 is
       compared. Functionally, this determines if in_name2 is equal or a
       subtree of in_name1

       Parameters:
	   in_name1 A pointer to the first oid.
	   len1 length of the first OID (in segments, not bytes)
	   in_name2 A pointer to the second oid.
	   len2 length of the second OID (in segments, not bytes)

       Returns:
	   0 if one is a common prefix of the other.

       Definition at line 6797 of file snmp_api.c.

   int snmp_oid_compare (const oid * in_name1, size_t len1, const oid *
       in_name2, size_t len2)
       lexicographical compare two object identifiers. Caution: this method is
       called often by command responder applications (ie, agent).

       Returns:
	   -1 if name1 < name2, 0 if name1 = name2, 1 if name1 > name2

       Definition at line 6631 of file snmp_api.c.

   int snmp_oidtree_compare (const oid * in_name1, size_t len1, const oid *
       in_name2, size_t len2)
       Compares 2 OIDs to determine if they are equal up until the shortest
       length. Parameters:
	   in_name1 A pointer to the first oid.
	   len1 length of the first OID (in segments, not bytes)
	   in_name2 A pointer to the second oid.
	   len2 length of the second OID (in segments, not bytes)

       Returns:
	   0 if they are equal, 1 if in_name1 is > in_name2, or -1 if <.

       Definition at line 6733 of file snmp_api.c.

   netsnmp_variable_list* snmp_pdu_add_variable (netsnmp_pdu * pdu, const oid
       * name, size_t name_length, u_char type, const void * value, size_t
       len)
       Library API routines concerned with variable bindings and values.

       Definition at line 6885 of file snmp_api.c.

   void snmp_sess_init (netsnmp_session * session)
       Library API routines concerned with specifying and using SNMP
       'sessions' including sending and receiving requests.

       Definition at line 715 of file snmp_api.c.

   void snmp_shutdown (const char * type)
       Shuts down the application, saving any needed persistent storage, and
       appropriate clean up. Parameters:
	   type Label for the config file 'type' used

       Returns:
	   void

       Definition at line 859 of file snmp_api.c.

   int snmpv3_engineID_probe (struct session_list * slp, netsnmp_session *
       in_session)
       probe for peer engineID Parameters:
	   slp session list pointer.
	   in_session session for errors

       Note:

	   · called by _sess_open(), snmp_sess_add_ex()

	   · in_session is the user supplied session provided to those
	     functions.

	   · the first session in slp should the internal allocated copy of
	     in_session

       Returns:
	   0 : error

	   1 : ok

       Definition at line 1371 of file snmp_api.c.

   int snmpv3_probe_contextEngineID_rfc5343 (void * slp, netsnmp_session *
       session)
       probe for engineID using RFC 5343 probing mechanisms Designed to be a
       callback for within a security model's probe_engineid hook. Since it's
       likely multiple security models won't have engineIDs to probe for then
       this function is a callback likely to be used by multiple future
       security models. E.G. both SSH and DTLS.

       Definition at line 1274 of file snmp_api.c.

Author
       Generated automatically by Doxygen for net-snmp from the source code.

Version 5.5			  23 Sep 2009	       The Net-SNMP library(3)
[top]

List of man pages available for Scientific

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net