xref: /linux/Documentation/userspace-api/media/dvb/dmx-fread.rst (revision 762f99f4f3cb41a775b5157dd761217beba65873)
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
37c11669f7SMauro 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