184d33341SMauro Carvalho Chehab.. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later 2937e6805SMauro Carvalho Chehab.. c:namespace:: MC 354f38fcaSMauro Carvalho Chehab 454f38fcaSMauro Carvalho Chehab.. _media_ioc_request_alloc: 554f38fcaSMauro Carvalho Chehab 654f38fcaSMauro Carvalho Chehab***************************** 754f38fcaSMauro Carvalho Chehabioctl MEDIA_IOC_REQUEST_ALLOC 854f38fcaSMauro Carvalho Chehab***************************** 954f38fcaSMauro Carvalho Chehab 1054f38fcaSMauro Carvalho ChehabName 1154f38fcaSMauro Carvalho Chehab==== 1254f38fcaSMauro Carvalho Chehab 1354f38fcaSMauro Carvalho ChehabMEDIA_IOC_REQUEST_ALLOC - Allocate a request 1454f38fcaSMauro Carvalho Chehab 1554f38fcaSMauro Carvalho ChehabSynopsis 1654f38fcaSMauro Carvalho Chehab======== 1754f38fcaSMauro Carvalho Chehab 18937e6805SMauro Carvalho Chehab.. c:macro:: MEDIA_IOC_REQUEST_ALLOC 1954f38fcaSMauro Carvalho Chehab 20937e6805SMauro Carvalho Chehab``int ioctl(int fd, MEDIA_IOC_REQUEST_ALLOC, int *argp)`` 2154f38fcaSMauro Carvalho Chehab 2254f38fcaSMauro Carvalho ChehabArguments 2354f38fcaSMauro Carvalho Chehab========= 2454f38fcaSMauro Carvalho Chehab 2554f38fcaSMauro Carvalho Chehab``fd`` 26937e6805SMauro Carvalho Chehab File descriptor returned by :c:func:`open()`. 2754f38fcaSMauro Carvalho Chehab 2854f38fcaSMauro Carvalho Chehab``argp`` 2954f38fcaSMauro Carvalho Chehab Pointer to an integer. 3054f38fcaSMauro Carvalho Chehab 3154f38fcaSMauro Carvalho ChehabDescription 3254f38fcaSMauro Carvalho Chehab=========== 3354f38fcaSMauro Carvalho Chehab 3454f38fcaSMauro Carvalho ChehabIf the media device supports :ref:`requests <media-request-api>`, then 3554f38fcaSMauro Carvalho Chehabthis ioctl can be used to allocate a request. If it is not supported, then 3654f38fcaSMauro Carvalho Chehab``errno`` is set to ``ENOTTY``. A request is accessed through a file descriptor 3754f38fcaSMauro Carvalho Chehabthat is returned in ``*argp``. 3854f38fcaSMauro Carvalho Chehab 3954f38fcaSMauro Carvalho ChehabIf the request was successfully allocated, then the request file descriptor 4054f38fcaSMauro Carvalho Chehabcan be passed to the :ref:`VIDIOC_QBUF <VIDIOC_QBUF>`, 4154f38fcaSMauro Carvalho Chehab:ref:`VIDIOC_G_EXT_CTRLS <VIDIOC_G_EXT_CTRLS>`, 4254f38fcaSMauro Carvalho Chehab:ref:`VIDIOC_S_EXT_CTRLS <VIDIOC_G_EXT_CTRLS>` and 4354f38fcaSMauro Carvalho Chehab:ref:`VIDIOC_TRY_EXT_CTRLS <VIDIOC_G_EXT_CTRLS>` ioctls. 4454f38fcaSMauro Carvalho Chehab 4554f38fcaSMauro Carvalho ChehabIn addition, the request can be queued by calling 4654f38fcaSMauro Carvalho Chehab:ref:`MEDIA_REQUEST_IOC_QUEUE` and re-initialized by calling 4754f38fcaSMauro Carvalho Chehab:ref:`MEDIA_REQUEST_IOC_REINIT`. 4854f38fcaSMauro Carvalho Chehab 4954f38fcaSMauro Carvalho ChehabFinally, the file descriptor can be :ref:`polled <request-func-poll>` to wait 5054f38fcaSMauro Carvalho Chehabfor the request to complete. 5154f38fcaSMauro Carvalho Chehab 5254f38fcaSMauro Carvalho ChehabThe request will remain allocated until all the file descriptors associated 53937e6805SMauro Carvalho Chehabwith it are closed by :c:func:`close()` and the driver no 5454f38fcaSMauro Carvalho Chehablonger uses the request internally. See also 5554f38fcaSMauro Carvalho Chehab:ref:`here <media-request-life-time>` for more information. 5654f38fcaSMauro Carvalho Chehab 5754f38fcaSMauro Carvalho ChehabReturn Value 5854f38fcaSMauro Carvalho Chehab============ 5954f38fcaSMauro Carvalho Chehab 6054f38fcaSMauro Carvalho ChehabOn success 0 is returned, on error -1 and the ``errno`` variable is set 6154f38fcaSMauro Carvalho Chehabappropriately. The generic error codes are described at the 6254f38fcaSMauro Carvalho Chehab:ref:`Generic Error Codes <gen-errors>` chapter. 6354f38fcaSMauro Carvalho Chehab 6454f38fcaSMauro Carvalho ChehabENOTTY 6554f38fcaSMauro Carvalho Chehab The driver has no support for requests. 66