WIP FPC-III support
[linux/fpc-iii.git] / Documentation / userspace-api / media / dvb / dmx-fread.rst
blob78e9daef595a3bdde6d0e8e07c50b0bfa79d76c4
1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2 .. c:namespace:: DTV.dmx
4 .. _dmx_fread:
6 =======================
7 Digital TV demux read()
8 =======================
10 Name
11 ----
13 Digital TV demux read()
15 Synopsis
16 --------
18 .. c:function:: size_t read(int fd, void *buf, size_t count)
20 Arguments
21 ---------
23 ``fd``
24   File descriptor returned by a previous call to :c:func:`open()`.
26  ``buf``
27    Buffer to be filled
29 ``count``
30    Max number of bytes to read
32 Description
33 -----------
35 This system call returns filtered data, which might be section or Packetized
36 Elementary Stream (PES) data. The filtered data is transferred from
37 the driver’s internal circular buffer to ``buf``. The maximum amount of data
38 to be transferred is implied by count.
40 .. note::
42    if a section filter created with
43    :c:type:`DMX_CHECK_CRC <dmx_sct_filter_params>` flag set,
44    data that fails on CRC check will be silently ignored.
46 Return Value
47 ------------
49 On success 0 is returned.
51 On error -1 is returned, and the ``errno`` variable is set
52 appropriately.
54 .. tabularcolumns:: |p{2.5cm}|p{15.0cm}|
56 .. flat-table::
57     :header-rows:  0
58     :stub-columns: 0
59     :widths: 1 16
61     -  -  ``EWOULDBLOCK``
62        -  No data to return and ``O_NONBLOCK`` was specified.
64     -  -  ``EOVERFLOW``
65        -  The filtered data was not read from the buffer in due time,
66           resulting in non-read data being lost. The buffer is flushed.
68     -  -  ``ETIMEDOUT``
69        -  The section was not loaded within the stated timeout period.
70           See ioctl :ref:`DMX_SET_FILTER` for how to set a timeout.
72     -  -  ``EFAULT``
73        -  The driver failed to write to the callers buffer due to an
74           invalid \*buf pointer.
76 The generic error codes are described at the
77 :ref:`Generic Error Codes <gen-errors>` chapter.