diff --git a/reference/snmp/functions/snmp3-set.xml b/reference/snmp/functions/snmp3-set.xml
index 0f6bb9d6b2..971ed7cb7b 100644
--- a/reference/snmp/functions/snmp3-set.xml
+++ b/reference/snmp/functions/snmp3-set.xml
@@ -6,7 +6,7 @@
snmp3_set
Description
-
+
&reftitle.description;
@@ -25,13 +25,15 @@
stringretries
-
+ snmp3_set is used to set the value of an SNMP object
+ specified by the object_id.
-
- &warn.undocumented.func;
-
+
+ Even if the security level does not use an auth or priv protocol/password valid values have to be specified.
+
+
-
+
&reftitle.parameters;
@@ -39,7 +41,7 @@
host
-
+ The hostname of the SNMP agent (server).
@@ -47,7 +49,7 @@
sec_name
-
+ the security name, usually some kind of username
@@ -55,7 +57,7 @@
sec_level
-
+ the security level (noAuthNoPriv|authNoPriv|authPriv)
@@ -63,7 +65,7 @@
auth_protocol
-
+ the authentication protocol (MD5 or SHA)
@@ -71,7 +73,7 @@
auth_passphrase
-
+ the authentication pass phrase
@@ -79,7 +81,7 @@
priv_protocol
-
+ the privacy protocol (DES or AES)
@@ -87,7 +89,7 @@
priv_passphrase
-
+ the privacy pass phrase
@@ -95,7 +97,7 @@
object_id
-
+ The SNMP object id.
@@ -103,15 +105,70 @@
type
-
+ The MIB defines the type of each object id. It has to be specified as a single character from the below list.
+
+ types
+
+
+ =The type is taken from the MIB
+ iINTEGER
+ uINTEGER
+ sSTRING
+ xHEX STRING
+ dDECIMAL STRING
+ nNULLOBJ
+ oOBJID
+ tTIMETICKS
+ aIPADDRESS
+ bBITS
+
+
+
+
+ If OPAQUE_SPECIAL_TYPES was defined while compiling the SNMP library, the following are also valid:
+
+
+ types
+
+
+ Uunsigned int64
+ Isigned int64
+ Ffloat
+ Ddouble
+
+
+
+
+ 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.
+
+
+ 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 type parameter
+ for all object ids as the type can then be automatically read from the MIB.
+
+
+ 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)}"
+
+
+
+
+ Using type "b" and a list of bit numbers like: snmpset('FOO-MIB::bar.42', 'b', '0 1 2 3 4'); with the disadvantage that the success is not easily verifyable as an snmpget() for the same OID would return e.g. 0xF8.
+
+
+
+
+ Using type "x" and a hex number but without(!) the usual "0x" prefix: snmpset('FOO-MIB::bar.42', 'x', 'F0');
+
+
+
value
-
+ The new value
@@ -119,7 +176,7 @@
timeout
-
+ The number of microseconds until the first timeout.
@@ -127,21 +184,41 @@
retries
-
+ The number of retries in case of timeouts.
-
+
&reftitle.returnvalues;
-
+ &return.success;
+
+
+ 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".
-
-
+
+
+ &reftitle.examples;
+
+
+ Using snmpgetnext
+
+
+ ]]>
+
+
+
+
+
+