Compaq AAR04BCTE User Manual

Page 86

Advertising
background image

eSNMP API Routines
*_set Routine

The displaystring is different only in that the character array can be

interpreted as ASCII text, but the octetstring can be anything. If the
octetstring contains bits or a bit string, the OCT structure contains the
following:

A length equal to the number of bytes needed to contain the value that is
((qty-bits - 1)/8 + 1)

A pointer to a buffer containing the bits of the bitstring in the form
bbbbb..bb, where the bb octets represent the bitstring itself, bit 0 comes
first, and so on. Any unused bits in the last octet are set to zero.

Use the

o_string

support routine to insert a value into the VARBIND

structure, which is a buffer and a length. New space is allocated and the
buffer is copied into the new space.

Use the

o_octet

routine to insert a value into the VARBIND structure, which

is a pointer to an OCT structure. New space is allocated and the buffer
pointed to by the OCT structure is copied.

ESNMP_TYPE_ObjectId (varbind->value.oid and the varbind->name fields)

This is an object identifier. It is contained in the VARBIND structure as
an OID structure that contains the number of elements and a pointer to a
dynamically allocated array of unsigned integers, one for each element.

The varbind->name field is used to hold the object identifier and the instance
information that identifies the MIB variable. Use the

OID2Instance

function

to extract the instance elements from an incoming OID on a request. Use
the

instance2oid

function to combine the instance elements with the MIB

variable’s base OID to set the VARBIND structure’s name field when building
a response.

Use the

o_oid

function to insert an object identifier into the VARBIND

structure when the OID value to be returned as data is in the form of a
pointer to an OID structure.

Use the

o_string

function to insert an OID into the VARBIND structure

when the OID value to be returned as data is in the form of a pointer
to an ASCII string containing the OID in dot format; for example:
1.3.6.1.2.1.3.1.1.2.0.

ESNMP_TYPE_NULL

This is the NULL, or empty, type. This is used to indicate that there is no
value. The length is zero and the value in the VARBIND structure is zero
filled.

The incoming VARBIND structures on a

Get

,

GetNext

, and

GetBulk

will

have this data type. A method routine should never return this value. An
incoming

Set

request never has this value in a VARBIND structure.

ESNMP_TYPE_IpAddress (varbind->value.oct field)

This is an IP address. It is contained in the VARBIND structure in an OCT
structure that has a length of 4 and a pointer to a dynamically allocated
buffer containing the 4 bytes of the IP address in network byte order.

Use the

o_integer

function to insert an IP address into the VARBIND

structure when the value is an unsigned integer in network byte order.

Use the

o_string

function to insert an IP address into the VARBIND

structure when the value is a byte array (in network byte order). Use a
length of 4.

5–28 eSNMP API Routines

Advertising