beautypg.com

Instance2oid – Compaq AAR04BCTE User Manual

Page 98

background image

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