From f4980c5e8ea66cca3a0966a35b36ba5932e5dca1 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Sun, 13 Sep 2009 20:45:57 -0300 Subject: staging-specs: Add a staging tree for Documentation/DocBook From: Mauro Carvalho Chehab This patch basically copies V4L and DVB DocBook specs into a single file, under a temporary staging tree. This is meant to add the set of V4L/DVB API specifications at Linux Kernel. For now, it just renames the *sgml files to *xml and creates a common body for both API's, dividing them into two parts. Later patches will add some glue for the two specs, move IR to a common part (since IR keycodes are common to both API's) and add it into linux/Documentation/DocBook. Comments and reviews are welcome. Priority: normal Signed-off-by: Mauro Carvalho Chehab --- staging-specs/v4l/vidioc-g-ctrl.xml | 130 ++++++++++++++++++++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 staging-specs/v4l/vidioc-g-ctrl.xml (limited to 'staging-specs/v4l/vidioc-g-ctrl.xml') diff --git a/staging-specs/v4l/vidioc-g-ctrl.xml b/staging-specs/v4l/vidioc-g-ctrl.xml new file mode 100644 index 000000000..8b5e6ff7f --- /dev/null +++ b/staging-specs/v4l/vidioc-g-ctrl.xml @@ -0,0 +1,130 @@ + + + ioctl VIDIOC_G_CTRL, VIDIOC_S_CTRL + &manvol; + + + + VIDIOC_G_CTRL + VIDIOC_S_CTRL + Get or set the value of a control + + + + + + int ioctl + int fd + int request + struct v4l2_control +*argp + + + + + + Arguments + + + + fd + + &fd; + + + + request + + VIDIOC_G_CTRL, VIDIOC_S_CTRL + + + + argp + + + + + + + + + Description + + To get the current value of a control applications +initialize the id field of a struct +v4l2_control and call the +VIDIOC_G_CTRL ioctl with a pointer to this +structure. To change the value of a control applications initialize +the id and value +fields of a struct v4l2_control and call the +VIDIOC_S_CTRL ioctl. + + When the id is invalid drivers +return an &EINVAL;. When the value is out +of bounds drivers can choose to take the closest valid value or return +an &ERANGE;, whatever seems more appropriate. However, +VIDIOC_S_CTRL is a write-only ioctl, it does not +return the actual new value. + + These ioctls work only with user controls. For other +control classes the &VIDIOC-G-EXT-CTRLS;, &VIDIOC-S-EXT-CTRLS; or +&VIDIOC-TRY-EXT-CTRLS; must be used. + + + struct <structname>v4l2_control</structname> + + &cs-str; + + + __u32 + id + Identifies the control, set by the +application. + + + __s32 + value + New value or current value. + + + +
+
+ + + &return-value; + + + + EINVAL + + The &v4l2-control; id is +invalid. + + + + ERANGE + + The &v4l2-control; value +is out of bounds. + + + + EBUSY + + The control is temporarily not changeable, possibly +because another applications took over control of the device function +this control belongs to. + + + + +
+ + -- cgit v1.2.3