(PHP 4 >= 4.3.3, PHP 5)
snmp_set_valueretrieval — Specify the method how the SNMP values will be returned
Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.
The default value (if this function is not called) is "SNMP_VALUE_LIBRARY", which seems to be SNMP's built-in way of printing things.
From "snmp.c":
<code>
static PHP_GINIT_FUNCTION(snmp)
{
snmp_globals->valueretrieval = SNMP_VALUE_LIBRARY;
}
</code>
A mild description of these is:
SNMP_VALUE_LIBRARY: This is a string similar to:
"INTEGER: 42"
SNMP_VALUE_PLAIN: This is a string similar to:
"42"
SNMP_VALUE_OBJECT: This is a PHP object like:
object(
"type" => SNMP_INTEGER,
"value" => 42,
)
Here, "type" is one of the SNMP_* types that are listed under the "Predefined Constants" page. In addition, types 128, 129, and 130 are error conditions.
Sample is swow Interface status.
(.iso.org.dod.internet.mgmt.mib-2.
interfaces.ifTable.ifEntry.ifAdminStatus)
Possible values for this request from MIB:
Enum(integer): up (1), down (2), testing (3)
<?php
//snmp_set_quick_print(0); // is default
$strIP = "10.1.1.1"; $strComm = "public";
$strOID = ".1.3.6.1.2.1.2.2.1.7.1";
echo "\n Default valueretrieval with snmp_set_quick_print(0)";
echo " snmp_get_valueretrieval = SNMP_VALUE_LIBRARY";
echo ", retrieved value " . snmpget($strIP, $strComm, $strOID);
snmp_set_valueretrieval(SNMP_VALUE_LIBRARY);
echo "\n SNMP_VALUE_LIBRARY " . snmp_get_valueretrieval();
echo ", retrieved value " . snmpget($strIP, $strComm, $strOID);
snmp_set_valueretrieval(SNMP_VALUE_PLAIN);
echo "\n SNMP_VALUE_PLAIN " . snmp_get_valueretrieval();
echo ", retrieved value " . snmpget($strIP, $strComm, $strOID);
snmp_set_quick_print(1);
echo "\n Default valueretrieval snmp_set_quick_print(0) " ;
snmp_set_valueretrieval(SNMP_VALUE_LIBRARY);
echo "\n SNMP_VALUE_LIBRARY " . snmp_get_valueretrieval();
echo ", retrieved value " . snmpget($strIP, $strComm, $strOID);
snmp_set_valueretrieval(SNMP_VALUE_PLAIN);
echo "\n SNMP_VALUE_PLAIN " . snmp_get_valueretrieval();
echo ", retrieved value " . snmpget($strIP, $strComm, $strOID);
?>
Results:
Default valueretrieval with snmp_set_quick_print(0)
snmp_get_valueretrieval = SNMP_VALUE_LIBRARY,
retrieved value up(1)
SNMP_VALUE_LIBRARY 0, retrieved value up(1)
SNMP_VALUE_PLAIN 1, retrieved value 1
Default valueretrieval snmp_set_quick_print(0)
SNMP_VALUE_LIBRARY 0, retrieved value up
SNMP_VALUE_PLAIN 1, retrieved value 1
It appears that the possible method constants for this function are:
SNMP_VALUE_LIBRARY
SNMP_VALUE_PLAIN
SNMP_VALUE_OBJECT
If you are harvesting data you probably want SNMP_VALUE_PLAIN.