1059b1c5bSMauro Carvalho Chehab.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2f9b2e8aaSMauro Carvalho Chehab.. c:namespace:: DTV.dmx
354f38fcaSMauro Carvalho Chehab
454f38fcaSMauro Carvalho Chehab.. _dmx_fread:
554f38fcaSMauro Carvalho Chehab
654f38fcaSMauro Carvalho Chehab=======================
754f38fcaSMauro Carvalho ChehabDigital TV demux read()
854f38fcaSMauro Carvalho Chehab=======================
954f38fcaSMauro Carvalho Chehab
1054f38fcaSMauro Carvalho ChehabName
1154f38fcaSMauro Carvalho Chehab----
1254f38fcaSMauro Carvalho Chehab
1354f38fcaSMauro Carvalho ChehabDigital TV demux read()
1454f38fcaSMauro Carvalho Chehab
1554f38fcaSMauro Carvalho ChehabSynopsis
1654f38fcaSMauro Carvalho Chehab--------
1754f38fcaSMauro Carvalho Chehab
1854f38fcaSMauro Carvalho Chehab.. c:function:: size_t read(int fd, void *buf, size_t count)
1954f38fcaSMauro Carvalho Chehab
2054f38fcaSMauro Carvalho ChehabArguments
2154f38fcaSMauro Carvalho Chehab---------
2254f38fcaSMauro Carvalho Chehab
2354f38fcaSMauro Carvalho Chehab``fd``
24f9b2e8aaSMauro Carvalho Chehab  File descriptor returned by a previous call to :c:func:`open()`.
2554f38fcaSMauro Carvalho Chehab
2654f38fcaSMauro Carvalho Chehab ``buf``
2754f38fcaSMauro Carvalho Chehab   Buffer to be filled
2854f38fcaSMauro Carvalho Chehab
2954f38fcaSMauro Carvalho Chehab``count``
3054f38fcaSMauro Carvalho Chehab   Max number of bytes to read
3154f38fcaSMauro Carvalho Chehab
3254f38fcaSMauro Carvalho ChehabDescription
3354f38fcaSMauro Carvalho Chehab-----------
3454f38fcaSMauro Carvalho Chehab
3554f38fcaSMauro Carvalho ChehabThis system call returns filtered data, which might be section or Packetized
3654f38fcaSMauro Carvalho ChehabElementary Stream (PES) data. The filtered data is transferred from
37*c11669f7SMauro Carvalho Chehabthe driver's internal circular buffer to ``buf``. The maximum amount of data
3854f38fcaSMauro Carvalho Chehabto be transferred is implied by count.
3954f38fcaSMauro Carvalho Chehab
4054f38fcaSMauro Carvalho Chehab.. note::
4154f38fcaSMauro Carvalho Chehab
4254f38fcaSMauro Carvalho Chehab   if a section filter created with
4354f38fcaSMauro Carvalho Chehab   :c:type:`DMX_CHECK_CRC <dmx_sct_filter_params>` flag set,
4454f38fcaSMauro Carvalho Chehab   data that fails on CRC check will be silently ignored.
4554f38fcaSMauro Carvalho Chehab
4654f38fcaSMauro Carvalho ChehabReturn Value
4754f38fcaSMauro Carvalho Chehab------------
4854f38fcaSMauro Carvalho Chehab
4954f38fcaSMauro Carvalho ChehabOn success 0 is returned.
5054f38fcaSMauro Carvalho Chehab
5154f38fcaSMauro Carvalho ChehabOn error -1 is returned, and the ``errno`` variable is set
5254f38fcaSMauro Carvalho Chehabappropriately.
5354f38fcaSMauro Carvalho Chehab
5454f38fcaSMauro Carvalho Chehab.. tabularcolumns:: |p{2.5cm}|p{15.0cm}|
5554f38fcaSMauro Carvalho Chehab
5654f38fcaSMauro Carvalho Chehab.. flat-table::
5754f38fcaSMauro Carvalho Chehab    :header-rows:  0
5854f38fcaSMauro Carvalho Chehab    :stub-columns: 0
5954f38fcaSMauro Carvalho Chehab    :widths: 1 16
6054f38fcaSMauro Carvalho Chehab
6154f38fcaSMauro Carvalho Chehab    -  -  ``EWOULDBLOCK``
6254f38fcaSMauro Carvalho Chehab       -  No data to return and ``O_NONBLOCK`` was specified.
6354f38fcaSMauro Carvalho Chehab
6454f38fcaSMauro Carvalho Chehab    -  -  ``EOVERFLOW``
6554f38fcaSMauro Carvalho Chehab       -  The filtered data was not read from the buffer in due time,
6654f38fcaSMauro Carvalho Chehab	  resulting in non-read data being lost. The buffer is flushed.
6754f38fcaSMauro Carvalho Chehab
6854f38fcaSMauro Carvalho Chehab    -  -  ``ETIMEDOUT``
6954f38fcaSMauro Carvalho Chehab       -  The section was not loaded within the stated timeout period.
7054f38fcaSMauro Carvalho Chehab          See ioctl :ref:`DMX_SET_FILTER` for how to set a timeout.
7154f38fcaSMauro Carvalho Chehab
7254f38fcaSMauro Carvalho Chehab    -  -  ``EFAULT``
7354f38fcaSMauro Carvalho Chehab       -  The driver failed to write to the callers buffer due to an
7454f38fcaSMauro Carvalho Chehab          invalid \*buf pointer.
7554f38fcaSMauro Carvalho Chehab
7654f38fcaSMauro Carvalho ChehabThe generic error codes are described at the
7754f38fcaSMauro Carvalho Chehab:ref:`Generic Error Codes <gen-errors>` chapter.
78