eSNMP API Routines
instance2oid
instance2oid
Copies the object’s base OID and appends a copy of the instance array to make
a complete OID for a value. This routine does not allocate an OID structure. It
only allocates the array containing the elements.
Format
oid instance2oid ( oid *new,
object *obj,
unsigned int *instance,
int *len );
Arguments
new
A pointer to the OID that is to receive the new OID value.
obj
A pointer to the object table entry for the MIB variable being obtained. The first
part of the new OID is the OID from this MIB object table entry.
instance
A pointer to an array of
instance
values. These values are appended to the base
OID obtained from the MIB object table entry to construct the new OID.
len
The number of elements in the
instance
array.
Description
The instance array may be created by
oid2instance
or constructed from key
values as a result of a
GetNext
command (see Chapter 1).
This routine dynamically allocates the buffer and inserts its pointer into the OID
structure passed in the call. The caller must explicitly free the buffer.
You should point to the OID structure receiving the new values and then call the
instance2oid
routine. Previous values in the OID structure are freed (that is,
free_oid
is called first), and then the new values are dynamically allocated and
inserted. Be sure the initial value of the new OID is all zeros. If you do not want
the initial value freed, make sure the new OID structure is all zeros.
Return Values
null
An error occurred. Otherwise, the pointer to the
OID structure (new) is returned.
5–40 eSNMP API Routines