![]() |
![]()
| ![]() |
![]()
NAMEsnmp_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 functions SYNOPSIS#include <net-snmp/varbind_api.h> Creationnetsnmp_variable_list *snmp_pdu_add_variable(
netsnmp_variable_list *snmp_clone_varbind(
Setting Valuesint snmp_set_var_objid( netsnmp_variable_list*
variable,
Outputvoid print_variable(const oid *objid, size_t
objidlen,
void print_value(const oid *objid, size_t
objidlen,
Deletionvoid snmp_free_var( netsnmp_variable_list
*variable);
DESCRIPTIONThe functions dealing with variable bindings fall into four groups - dealing with the creation, setting of values, output and deletion of varbinds. Creationsnmp_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:
In both cases, the routine will return a pointer to the new varbind structure (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.
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 valuessnmp_set_var_objid sets the name of the varbind structure
to the specified OID.
All four of these return 0 if the assignment is successful, or 1 if it is not. Outputprint_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 together 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 behaviour 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).
Deletionsnmp_free_var releases all memory used by the given varbind
structure.
SEE ALSOnetsnmp_pdu_api(3) netsnmp_mib_api(3)
|