1.. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later 2 3.. _media_request_ioc_reinit: 4 5****************************** 6ioctl MEDIA_REQUEST_IOC_REINIT 7****************************** 8 9Name 10==== 11 12MEDIA_REQUEST_IOC_REINIT - Re-initialize a request 13 14 15Synopsis 16======== 17 18.. c:function:: int ioctl( int request_fd, MEDIA_REQUEST_IOC_REINIT ) 19 :name: MEDIA_REQUEST_IOC_REINIT 20 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 :ref:`close() <request-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. 52