78 lines
1.8 KiB
ReStructuredText
78 lines
1.8 KiB
ReStructuredText
.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
|
||
.. c:namespace:: DTV.dmx
|
||
|
||
.. _dmx_fread:
|
||
|
||
=======================
|
||
Digital TV demux read()
|
||
=======================
|
||
|
||
Name
|
||
----
|
||
|
||
Digital TV demux read()
|
||
|
||
Synopsis
|
||
--------
|
||
|
||
.. c:function:: size_t read(int fd, void *buf, size_t count)
|
||
|
||
Arguments
|
||
---------
|
||
|
||
``fd``
|
||
File descriptor returned by a previous call to :c:func:`open()`.
|
||
|
||
``buf``
|
||
Buffer to be filled
|
||
|
||
``count``
|
||
Max number of bytes to read
|
||
|
||
Description
|
||
-----------
|
||
|
||
This system call returns filtered data, which might be section or Packetized
|
||
Elementary Stream (PES) data. The filtered data is transferred from
|
||
the driver’s internal circular buffer to ``buf``. The maximum amount of data
|
||
to be transferred is implied by count.
|
||
|
||
.. note::
|
||
|
||
if a section filter created with
|
||
:c:type:`DMX_CHECK_CRC <dmx_sct_filter_params>` flag set,
|
||
data that fails on CRC check will be silently ignored.
|
||
|
||
Return Value
|
||
------------
|
||
|
||
On success 0 is returned.
|
||
|
||
On error -1 is returned, and the ``errno`` variable is set
|
||
appropriately.
|
||
|
||
.. tabularcolumns:: |p{2.5cm}|p{15.0cm}|
|
||
|
||
.. flat-table::
|
||
:header-rows: 0
|
||
:stub-columns: 0
|
||
:widths: 1 16
|
||
|
||
- - ``EWOULDBLOCK``
|
||
- No data to return and ``O_NONBLOCK`` was specified.
|
||
|
||
- - ``EOVERFLOW``
|
||
- The filtered data was not read from the buffer in due time,
|
||
resulting in non-read data being lost. The buffer is flushed.
|
||
|
||
- - ``ETIMEDOUT``
|
||
- The section was not loaded within the stated timeout period.
|
||
See ioctl :ref:`DMX_SET_FILTER` for how to set a timeout.
|
||
|
||
- - ``EFAULT``
|
||
- The driver failed to write to the callers buffer due to an
|
||
invalid \*buf pointer.
|
||
|
||
The generic error codes are described at the
|
||
:ref:`Generic Error Codes <gen-errors>` chapter.
|