NETSNMP_VARBIND_API
NAMESYNOPSIS
DESCRIPTION
SEE ALSO
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 functions
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 - dealing 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 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.
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 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 min_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
pdu_api(3) mib_api(3)
More Linux Commands
manpages/alsaloop.1.html
alsaloop(1) - command-line PCM loopback - Linux manual page
alsaloop allows create a PCM loopback between a PCM capture device and a PCM playback device. alsaloop supports multiple soundcards, adaptive clock synchronizat
manpages/pthread_attr_getguardsize.3.html
pthread_attr_getguardsize(3) - set/get guard size attribute
The pthread_attr_setguardsize() function sets the guard size attribute of the thread attributes object referred to by attr to the value specified in guardsize.
manpages/isinfl.3.html
isinfl(3) - BSD floating-point classification functions.....
The finite(), finitef(), and finitel() functions return a nonzero value if x is neither infinite nor a not-a-number (NaN) value, and 0 otherwise. The isnan(), i
manpages/sysconf.3.html
sysconf(3) - Get configuration information at runtime.......
POSIX allows an application to test at compile or run time whether certain options are supported, or what the value is of certain configurable constants or limi
manpages/regexp_table.5.html
regexp_table(5) - format of Postfix regular expression table
regexp_table.5 - The Postfix mail system uses optional tables for address rewriting, mail routing, or access control. These tables are usually in dbm or db form
manpages/mprof-report.1.html
mprof-report.1 (Manual - Linux man page)...................
The Mono log profiler can be used to collect a lot of information about a program running in the Mono runtime. This data can be used to do analyses of the prog
manpages/issue.5.html
issue(5) - prelogin message and identification file.........
The file /etc/issue is a text file which contains a message or system identification to be printed before the login prompt. It may contain various @char and \ch
manpages/ppm.5.html
ppm(5) - Netpbm color image format - Linux manual page......
This program is part of Netpbm(1) The PPM format is a lowest common denominator color image file format. It should be noted that this format is egregiously inef
manpages/hosts.equiv.5.html
hosts.equiv(5) - list of hosts and users that are granted "t
The hosts.equiv file allows or denies hosts and users to use the r-commands (e.g., rlogin, rsh, or rcp) without supplying a password. The file uses the followin
manpages/gimp-console-2.8.1.html
gimp-console-2.8(1) an image manipulation and paint program.
GIMP is the GNU Image Manipulation Program. It is used to edit and manipulate images. It can load and save a variety of image formats and can be used to convert
manpages/lseek.2.html
lseek(2) - reposition read/write file offset (Man Page).....
The lseek() function repositions the offset of the open file associated with the file descriptor fd to the argument offset according to the directive whence as
manpages/ber_peek_tag.3.html
ber_peek_tag(3) - OpenLDAP LBER simplified Basic Encoding Ru
These routines provide a subroutine interface to a simplified implementation of the Basic Encoding Rules of ASN.1. The version of BER these routines support is
