diff --git a/Documentation/DocBook/media/dvb/dvbproperty.xml b/Documentation/DocBook/media/dvb/dvbproperty.xml
index b91210d646cf2ee8fd81b870104ea775223b7241..00ba1a9e314c327a7aa18b58a47ef2fdc527cb90 100644
--- a/Documentation/DocBook/media/dvb/dvbproperty.xml
+++ b/Documentation/DocBook/media/dvb/dvbproperty.xml
@@ -15,11 +15,13 @@
approach, in favor of a properties set approach.
By using a properties set, it is now possible to extend and support any
digital TV without needing to redesign the API
+
Example: with the properties based approach, in order to set the tuner
to a DVB-C channel at 651 kHz, modulated with 256-QAM, FEC 3/4 and symbol
rate of 5.217 Mbauds, those properties should be sent to
FE_SET_PROPERTY ioctl:
+ &DTV-DELIVERY-SYSTEM; = SYS_DVBC_ANNEX_A&DTV-FREQUENCY; = 651000000&DTV-MODULATION; = QAM_256&DTV-INVERSION; = INVERSION_AUTO
@@ -27,6 +29,44 @@
&DTV-INNER-FEC; = FEC_3_4&DTV-TUNE;
+
+The code that would do the above is:
+
+#include <stdio.h>
+#include <fcntl.h>
+#include <sys/ioctl.h>
+#include <linux/dvb/frontend.h>
+
+static struct dtv_property props[] = {
+ { .cmd = DTV_DELIVERY_SYSTEM, .u.data = SYS_DVBC_ANNEX_A },
+ { .cmd = DTV_FREQUENCY, .u.data = 651000000 },
+ { .cmd = DTV_MODULATION, .u.data = QAM_256 },
+ { .cmd = DTV_INVERSION, .u.data = INVERSION_AUTO },
+ { .cmd = DTV_SYMBOL_RATE, .u.data = 5217000 },
+ { .cmd = DTV_INNER_FEC, .u.data = FEC_3_4 },
+ { .cmd = DTV_TUNE }
+};
+
+static struct dtv_properties dtv_prop = {
+ .num = 6, .props = props
+};
+
+int main(void)
+{
+ int fd = open("/dev/dvb/adapter0/frontend0", O_RDWR);
+
+ if (!fd) {
+ perror ("open");
+ return -1;
+ }
+ if (ioctl(fd, FE_SET_PROPERTY, &dtv_prop) == -1) {
+ perror("ioctl");
+ return -1;
+ }
+ printf("Frontend set\n");
+ return 0;
+}
+NOTE: This section describes the DVB version 5 extension of the DVB-API,
also called "S2API", as this API were added to provide support for DVB-S2. It
was designed to be able to replace the old frontend API. Yet, the DISEQC and