Based on kernel version 6.9
. Page generated on 2024-05-14 10:02 EST
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | .. 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. |