eSNMP API Routines
inst2ip
inst2ip
Returns an IP address derived from an OID instance.
Format
int inst2ip ( unsigned int *instance,
int *length,
unsigned int *ipaddr,
int *exact,
int *carry );
Arguments
instance
A pointer to an array of
unsigned int
containing the instance numbers returned
by the
oid2instance
routine to be converted to an IP address.
The range for elements is between zero and 255. Using the EXACT mode, the
routine returns 1 if an element is out of range. Using the NEXT mode, a value
greater than 255 causes that element to overflow. In this case, the value is set
to 0 and the next most significant element is incremented; therefore, it returns a
lexically equivalent value of the next possible ipaddr.
length
The number of elements in the instance array. Instances beyond the fourth are
ignored. If the length is less than four, the missing values are assumed to be
zero. A negative length results in an ipaddr value of zero. For an exact match
(such as
Get
), there must be exactly four elements.
ipAddr
A pointer indicating where to return the IP address value. This routine is in
network byte order (the most significant element is first).
exact
Can either be
TRUE
or
FALSE
.
TRUE
means do an EXACT match. If any element is greater than 255 or if there
are not exactly four elements, a value of 1 is returned. The carry argument is
ignored.
FALSE
means do a NEXT match. That is, the lexically next IP address is returned,
if the carry value is set and the length is at least four. If there are fewer than
four elements, this function assumes the missing values are zero. If any one
element contains a value greater than 255, the value is zeroed and the next most
significant element is incremented. Returns a 1 (one) only when there is a carry
from the most significant (the first) value.
carry
Adds to the IP address on a NEXT match. If you are trying to determine the next
possible IP address, pass in a one. Otherwise, pass in a zero. A length of less
than 4 cancels the carry.
5–44 eSNMP API Routines