<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Set the value of an SNMP object</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="function.snmprealwalk.html">snmprealwalk</a></div> <div class="next" style="text-align: right; float: right;"><a href="function.snmpwalk.html">snmpwalk</a></div> <div class="up"><a href="ref.snmp.html">SNMP Functions</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="function.snmpset" class="refentry"> <div class="refnamediv"> <h1 class="refname">snmpset</h1> <p class="verinfo">(PHP 4, PHP 5)</p><p class="refpurpose"><span class="refname">snmpset</span> — <span class="dc-title">Set the value of an <acronym title="Simple Network Management Protocol">SNMP</acronym> object</span></p> </div> <div class="refsect1 description" id="refsect1-function.snmpset-description"> <h3 class="title">Description</h3> <div class="methodsynopsis dc-description"> <span class="type">bool</span> <span class="methodname"><strong>snmpset</strong></span> ( <span class="methodparam"><span class="type">string</span> <code class="parameter">$host</code></span> , <span class="methodparam"><span class="type">string</span> <code class="parameter">$community</code></span> , <span class="methodparam"><span class="type">string</span> <code class="parameter">$object_id</code></span> , <span class="methodparam"><span class="type">string</span> <code class="parameter">$type</code></span> , <span class="methodparam"><span class="type"><a href="language.pseudo-types.html#language.types.mixed" class="type mixed">mixed</a></span> <code class="parameter">$value</code></span> [, <span class="methodparam"><span class="type">int</span> <code class="parameter">$timeout</code><span class="initializer"> = 1000000</span></span> [, <span class="methodparam"><span class="type">int</span> <code class="parameter">$retries</code><span class="initializer"> = 5</span></span> ]] )</div> <p class="para rdfs-comment"> <span class="function"><strong>snmpset()</strong></span> is used to set the value of an <acronym title="Simple Network Management Protocol">SNMP</acronym> object specified by the <em><code class="parameter">object_id</code></em>. </p> </div> <div class="refsect1 parameters" id="refsect1-function.snmpset-parameters"> <h3 class="title">Parameters</h3> <p class="para"> <dl> <dt> <span class="term"><em><code class="parameter">host</code></em></span> <dd> <p class="para"> The hostname of the <acronym title="Simple Network Management Protocol">SNMP</acronym> agent (server). </p> </dd> </dt> <dt> <span class="term"><em><code class="parameter">community</code></em></span> <dd> <p class="para"> The write community. </p> </dd> </dt> <dt> <span class="term"><em><code class="parameter">object_id</code></em></span> <dd> <p class="para"> The <acronym title="Simple Network Management Protocol">SNMP</acronym> object id. </p> </dd> </dt> <dt> <span class="term"><em><code class="parameter">type</code></em></span> <dd> <p class="para"> The <acronym>MIB</acronym> defines the type of each object id. It has to be specified as a single character from the below list. </p> <table class="doctable table"> <caption><strong>types</strong></caption> <tbody class="tbody"> <tr><td>=</td><td>The type is taken from the MIB</td></tr> <tr><td>i</td><td>INTEGER</td> </tr> <tr><td>u</td><td>INTEGER</td></tr> <tr><td>s</td><td>STRING</td></tr> <tr><td>x</td><td>HEX STRING</td></tr> <tr><td>d</td><td>DECIMAL STRING</td></tr> <tr><td>n</td><td>NULLOBJ</td></tr> <tr><td>o</td><td>OBJID</td></tr> <tr><td>t</td><td>TIMETICKS</td></tr> <tr><td>a</td><td>IPADDRESS</td></tr> <tr><td>b</td><td>BITS</td></tr> </tbody> </table> <p class="para"> If <strong><code>OPAQUE_SPECIAL_TYPES</code></strong> was defined while compiling the <acronym title="Simple Network Management Protocol">SNMP</acronym> library, the following are also valid: </p> <table class="doctable table"> <caption><strong>types</strong></caption> <tbody class="tbody"> <tr><td>U</td><td>unsigned int64</td></tr> <tr><td>I</td><td>signed int64</td></tr> <tr><td>F</td><td>float</td></tr> <tr><td>D</td><td>double</td></tr> </tbody> </table> <p class="para"> Most of these will use the obvious corresponding ASN.1 type. 's', 'x', 'd' and 'b' are all different ways of specifying an OCTET STRING value, and the 'u' unsigned type is also used for handling Gauge32 values. </p> <p class="para"> If the MIB-Files are loaded by into the MIB Tree with "snmp_read_mib" or by specifying it in the libsnmp config, '=' may be used as the <em><code class="parameter">type</code></em> parameter for all object ids as the type can then be automatically read from the MIB. </p> <p class="para"> Note that there are two ways to set a variable of the type BITS like e.g. "SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}": </p> <ul class="itemizedlist"> <li class="listitem"> <span class="simpara"> Using type "b" and a list of bit numbers. This method is not recommended since GET query for the same OID would return e.g. 0xF8. </span> </li> <li class="listitem"> <span class="simpara"> Using type "x" and a hex number but without(!) the usual "0x" prefix. </span> </li> </ul> <p class="para"> See examples section for more details. </p> </dd> </dt> <dt> <span class="term"><em><code class="parameter">value</code></em></span> <dd> <p class="para"> The new value. </p> </dd> </dt> <dt> <span class="term"><em><code class="parameter">timeout</code></em></span> <dd> <p class="para"> The number of microseconds until the first timeout. </p> </dd> </dt> <dt> <span class="term"><em><code class="parameter">retries</code></em></span> <dd> <p class="para"> The number of times to retry if timeouts occur. </p> </dd> </dt> </dl> </p> </div> <div class="refsect1 returnvalues" id="refsect1-function.snmpset-returnvalues"> <h3 class="title">Return Values</h3> <p class="para"> Returns <strong><code>TRUE</code></strong> on success or <strong><code>FALSE</code></strong> on failure. </p> <p class="para"> If the SNMP host rejects the data type, an E_WARNING message like "Warning: Error in packet. Reason: (badValue) The value given has the wrong type or length." is shown. If an unknown or invalid OID is specified the warning probably reads "Could not add variable". </p> </div> <div class="refsect1 examples" id="refsect1-function.snmpset-examples"> <h3 class="title">Examples</h3> <div class="example" id="example-4569"> <p><strong>Example #1 Using <span class="function"><strong>snmpset()</strong></span></strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /> snmpset</span><span style="color: #007700">(</span><span style="color: #DD0000">"localhost"</span><span style="color: #007700">, </span><span style="color: #DD0000">"public"</span><span style="color: #007700">, </span><span style="color: #DD0000">"IF-MIB::ifAlias.3"</span><span style="color: #007700">, </span><span style="color: #DD0000">"s"</span><span style="color: #007700">, </span><span style="color: #DD0000">"foo"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> </div> <div class="example" id="example-4570"> <p><strong>Example #2 Using <span class="function"><strong>snmpset()</strong></span> for setting BITS <acronym title="Simple Network Management Protocol">SNMP</acronym> object id</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /> snmpset</span><span style="color: #007700">(</span><span style="color: #DD0000">"localhost"</span><span style="color: #007700">, </span><span style="color: #DD0000">"public"</span><span style="color: #007700">, </span><span style="color: #DD0000">'FOO-MIB::bar.42'</span><span style="color: #007700">, </span><span style="color: #DD0000">'b'</span><span style="color: #007700">, </span><span style="color: #DD0000">'0 1 2 3 4'</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">// or<br /> </span><span style="color: #0000BB">snmpset</span><span style="color: #007700">(</span><span style="color: #DD0000">"localhost"</span><span style="color: #007700">, </span><span style="color: #DD0000">"public"</span><span style="color: #007700">, </span><span style="color: #DD0000">'FOO-MIB::bar.42'</span><span style="color: #007700">, </span><span style="color: #DD0000">'x'</span><span style="color: #007700">, </span><span style="color: #DD0000">'F0'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> </div> </div> <div class="refsect1 seealso" id="refsect1-function.snmpset-seealso"> <h3 class="title">See Also</h3> <p class="para"> <ul class="simplelist"> <li class="member"> <span class="function"><a href="function.snmpget.html" class="function" rel="rdfs-seeAlso">snmpget()</a> - Fetch an SNMP object</span></li> </ul> </p> </div> </div><hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="function.snmprealwalk.html">snmprealwalk</a></div> <div class="next" style="text-align: right; float: right;"><a href="function.snmpwalk.html">snmpwalk</a></div> <div class="up"><a href="ref.snmp.html">SNMP Functions</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>