Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
NETSNMP_VARBIND_API(3)		    Net-SNMP		  NETSNMP_VARBIND_API(3)

NAME
     snmp_pdu_add_variable,	snmp_varlist_add_variable,    snmp_add_null_var,
     snmp_clone_varbind,	 snmp_set_var_objid,	     snmp_set_var_value,
     snmp_set_var_typed_value,	  snmp_set_var_typed_integer,	 print_variable,
     fprint_variable,	  snprint_variable,	 print_value,	   fprint_value,
     snprint_value, snmp_free_var, snmp_free_varbind - netsnmp_varbind_api func-
     tions

SYNOPSIS
     #include <net-snmp/varbind_api.h>

   Creation
     netsnmp_variable_list *snmp_pdu_add_variable(
			  netsnmp_pdu *pdu,
			  const oid *objid, size_t objidlen,
			  u_char type, const void *value, size_t len);
     netsnmp_variable_list *snmp_varlist_add_variable(
			  netsnmp_variable_list *varlist,
			  const oid *objid, size_t objidlen,
			  u_char type, const void *value, size_t len);
     netsnmp_variable_list *snmp_add_null_var(
			  netsnmp_pdu *pdu,
			  const oid *objid, size_t objidlen);

     netsnmp_variable_list *snmp_clone_varbind(
			  netsnmp_variable_list *varlist);

   Setting Values
     int  snmp_set_var_objid( netsnmp_variable_list* variable,
			  const oid * objid, size_t objidlen);
     int  snmp_set_var_value( netsnmp_variable_list* variable,
			  const void * value, size_t vallen);
     int  snmp_set_var_typed_value( netsnmp_variable_list* variable,
			  u_char type,
			  const void * value, size_t vallen);
     int  snmp_set_var_typed_integer( netsnmp_variable_list* variable,
			  u_char type, long value);

   Output
     void  print_variable(const oid *objid, size_t objidlen,
			  const netsnmp_variable_list *variable);
     void fprint_variable(FILE *fp,
			  const oid *objid, size_t objidlen,
			  const netsnmp_variable_list *variable);
     int snprint_variable(char *buf, size_t len,
			  const oid *objid, size_t objidlen,
			  const netsnmp_variable_list *variable);

     void  print_value(const oid *objid, size_t objidlen,
			  const netsnmp_variable_list *variable);
     void fprint_value(FILE *fp,
			  const oid *objid, size_t objidlen,
			  const netsnmp_variable_list *variable);
     int snprint_value(char *buf, size_t len,
			  const oid *objid, size_t objidlen,
			  const netsnmp_variable_list *variable);

   Deletion
     void snmp_free_var(       netsnmp_variable_list *variable);
     void snmp_free_varbind( netsnmp_variable_list *variables);

DESCRIPTION
     The  functions dealing with variable bindings fall into four groups - deal-
     ing with the creation, setting of values, output and deletion of varbinds.

   Creation
     snmp_pdu_add_variable will create a new varbind structure, initialised with
     the name ( objid, objidlen ), syntax ( type ) and value ( value  ,   len  )
     provided.	This varbind is then added to the end of the varbind list in the
     given PDU.

     snmp_varlist_add_variable	is  similar,  but appends the new varbind to the
     end of the varbind list provided.	When adding  the  first  varbind  to  an
     empty list, simply pass the address of the head of the list:

	      netsnmp_variable_list *vl = NULL;
	      snmp_varlist_add_variable(
			&vl, name1, name1_len,
			ASN_TYPE, &val1, val1_len);
	      snmp_varlist_add_variable(
			&vl, name2, name2_len,
			ASN_TYPE, &val2, val2_len);

     In  both cases, the routine will return a pointer to the new varbind struc-
     ture (or NULL if the varbind creation fails).

     snmp_add_null_var is a convenience function to add an empty varbind to  the
     PDU.   without  needing  to specify the NULL value explicitly.  This is the
     normal mechanism for constructing a GET (or similar) information  retrieval
     request.
     Again, this returns a pointer to the new varbind, or NULL.

     snmp_clone_varbind  creates  a  copy of each varbind in the specified list,
     returning a pointer to the head of the new list (or  NULL	if  the  cloning
     fails).

   Setting of values
     snmp_set_var_objid  sets the name of the varbind structure to the specified
     OID.
     snmp_set_var_typed_value sets the syntax type  and  value	of  the  varbind
     structure.
     snmp_set_var_value  sets  the  value  of the varbind structure, leaving the
     syntax type unchanged.
     snmp_set_var_typed_integer is a convenience function to set the syntax type
     and value for a 32-bit integer-based varbind.

     All four of these return 0 if the assignment is successful, or 1 if  it  is
     not.

   Output
     print_variable  will  take an object identifier (as returned by read_objid,
     snmp_parse_oid or get_module_node) and an instance of such a variable,  and
     prints to the standard output the textual form of the object identifier to-
     gether with the value of the variable.

     fprint_variable  does the same, but prints to the FILE pointer specified by
     the initial parameter.

     snprint_variable prints the same information into the buffer pointed to  by
     buf  which  is of length len.  It returns the number of characters printed,
     or -1 if the buffer was not large enough.	In the	latter	case,  buf  will
     typically contained a truncated version of the information (but this behav-
     iour  is  not  guaranteed).   This  function replaces the obsolete function
     sprint_variable.

     print_value, fprint_value, and snprint_value do the same as the  equivalent
     print_variable  routines,	but  only  displaying the value of the variable,
     without the corresponding object identifier.

     For displaying the OID of a varbind, see netsnmp_mib_api(3).

   Deletion
     snmp_free_var releases all memory used by the given varbind structure.
     snmp_free_varbind releases all memory used by each varbind structure in the
     varbind list provided.

SEE ALSO
     netsnmp_pdu_api(3) netsnmp_mib_api(3)

V5.9.5.2			   13 Aug 2010		  NETSNMP_VARBIND_API(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=snmp_add_null_var&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help