.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later .. c:namespace:: DTV.dmx .. _DMX_QUERYBUF: ****************** ioctl DMX_QUERYBUF ****************** Name ==== DMX_QUERYBUF - Query the status of a buffer .. warning:: this API is still experimental Synopsis ======== .. c:macro:: DMX_QUERYBUF ``int ioctl(int fd, DMX_QUERYBUF, struct dvb_buffer *argp)`` Arguments ========= ``fd`` File descriptor returned by :c:func:`open()`. ``argp`` Pointer to struct :c:type:`dvb_buffer`. Description =========== This ioctl is part of the mmap streaming I/O method. It can be used to query the status of a buffer at any time after buffers have been allocated with the :ref:`DMX_REQBUFS` ioctl. Applications set the ``index`` field. Valid index numbers range from zero to the number of buffers allocated with :ref:`DMX_REQBUFS` (struct :c:type:`dvb_requestbuffers` ``count``) minus one. After calling :ref:`DMX_QUERYBUF` with a pointer to this structure, drivers return an error code or fill the rest of the structure. On success, the ``offset`` will contain the offset of the buffer from the start of the device memory, the ``length`` field its size, and the ``bytesused`` the number of bytes occupied by data in the buffer (payload). Return Value ============ On success 0 is returned, the ``offset`` will contain the offset of the buffer from the start of the device memory, the ``length`` field its size, and the ``bytesused`` the number of bytes occupied by data in the buffer (payload). On error it returns -1 and the ``errno`` variable is set appropriately. The generic error codes are described at the :ref:`Generic Error Codes ` chapter. EINVAL The ``index`` is out of bounds.