Documentation/userspace-api/media/mediactl/request-func-poll.rst
.. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later .. c:namespace:: MC
.. _request-func-poll:
request poll()
request-poll - Wait for some event on a file descriptor
.. code-block:: c
#include <sys/poll.h>
.. c:function:: int poll( struct pollfd *ufds, unsigned int nfds, int timeout )
ufds
List of file descriptor events to be watched
nfds
Number of file descriptor events at the *ufds array
timeout
Timeout to wait for events
With the :c:func:poll() function applications can wait
for a request to complete.
On success :c:func:poll() returns the number of file
descriptors that have been selected (that is, file descriptors for which the
revents field of the respective struct :c:type:pollfd
is non-zero). Request file descriptor set the POLLPRI flag in revents
when the request was completed. When the function times out it returns
a value of zero, on failure it returns -1 and the errno variable is
set appropriately.
Attempting to poll for a request that is not yet queued will
set the POLLERR flag in revents.
On success, :c:func:poll() returns the number of
structures which have non-zero revents fields, or zero if the call
timed out. On error -1 is returned, and the errno variable is set
appropriately:
EBADF
One or more of the ufds members specify an invalid file
descriptor.
EFAULT
ufds references an inaccessible memory area.
EINTR
The call was interrupted by a signal.
EINVAL
The nfds value exceeds the RLIMIT_NOFILE value. Use
getrlimit() to obtain this value.