media-request-ioc-reinit.rst (1291B)
1.. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later 2.. c:namespace:: MC 3 4.. _media_request_ioc_reinit: 5 6****************************** 7ioctl MEDIA_REQUEST_IOC_REINIT 8****************************** 9 10Name 11==== 12 13MEDIA_REQUEST_IOC_REINIT - Re-initialize a request 14 15Synopsis 16======== 17 18.. c:macro:: MEDIA_REQUEST_IOC_REINIT 19 20``int ioctl(int request_fd, MEDIA_REQUEST_IOC_REINIT)`` 21 22Arguments 23========= 24 25``request_fd`` 26 File descriptor returned by :ref:`MEDIA_IOC_REQUEST_ALLOC`. 27 28Description 29=========== 30 31If the media device supports :ref:`requests <media-request-api>`, then 32this request ioctl can be used to re-initialize a previously allocated 33request. 34 35Re-initializing a request will clear any existing data from the request. 36This avoids having to :c:func:`close()` a completed 37request and allocate a new request. Instead the completed request can just 38be re-initialized and it is ready to be used again. 39 40A request can only be re-initialized if it either has not been queued 41yet, or if it was queued and completed. Otherwise it will set ``errno`` 42to ``EBUSY``. No other error codes can be returned. 43 44Return Value 45============ 46 47On success 0 is returned, on error -1 and the ``errno`` variable is set 48appropriately. 49 50EBUSY 51 The request is queued but not yet completed.