59 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
 | 
						|
.. c:namespace:: V4L
 | 
						|
 | 
						|
.. _func-ioctl:
 | 
						|
 | 
						|
************
 | 
						|
V4L2 ioctl()
 | 
						|
************
 | 
						|
 | 
						|
Name
 | 
						|
====
 | 
						|
 | 
						|
v4l2-ioctl - Program a V4L2 device
 | 
						|
 | 
						|
Synopsis
 | 
						|
========
 | 
						|
 | 
						|
.. code-block:: c
 | 
						|
 | 
						|
    #include <sys/ioctl.h>
 | 
						|
 | 
						|
``int ioctl(int fd, int request, void *argp)``
 | 
						|
 | 
						|
Arguments
 | 
						|
=========
 | 
						|
 | 
						|
``fd``
 | 
						|
    File descriptor returned by :c:func:`open()`.
 | 
						|
 | 
						|
``request``
 | 
						|
    V4L2 ioctl request code as defined in the ``videodev2.h`` header
 | 
						|
    file, for example VIDIOC_QUERYCAP.
 | 
						|
 | 
						|
``argp``
 | 
						|
    Pointer to a function parameter, usually a structure.
 | 
						|
 | 
						|
Description
 | 
						|
===========
 | 
						|
 | 
						|
The :ref:`ioctl() <func-ioctl>` function is used to program V4L2 devices. The
 | 
						|
argument ``fd`` must be an open file descriptor. An ioctl ``request``
 | 
						|
has encoded in it whether the argument is an input, output or read/write
 | 
						|
parameter, and the size of the argument ``argp`` in bytes. Macros and
 | 
						|
defines specifying V4L2 ioctl requests are located in the
 | 
						|
``videodev2.h`` header file. Applications should use their own copy, not
 | 
						|
include the version in the kernel sources on the system they compile on.
 | 
						|
All V4L2 ioctl requests, their respective function and parameters are
 | 
						|
specified in :ref:`user-func`.
 | 
						|
 | 
						|
Return Value
 | 
						|
============
 | 
						|
 | 
						|
On success 0 is returned, on error -1 and the ``errno`` variable is set
 | 
						|
appropriately. The generic error codes are described at the
 | 
						|
:ref:`Generic Error Codes <gen-errors>` chapter.
 | 
						|
 | 
						|
When an ioctl that takes an output or read/write parameter fails, the
 | 
						|
parameter remains unmodified.
 |