1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 2 .. c:namespace:: DTV.dmx 3 4 .. _dmx_fread: 5 6 ======================= 7 Digital TV demux read() 8 ======================= 9 10 Name 11 ---- 12 13 Digital TV demux read() 14 15 Synopsis 16 -------- 17 18 .. c:function:: size_t read(int fd, void *buf, size_t count) 19 20 Arguments 21 --------- 22 23 ``fd`` 24 File descriptor returned by a previous call to :c:func:`open()`. 25 26 ``buf`` 27 Buffer to be filled 28 29 ``count`` 30 Max number of bytes to read 31 32 Description 33 ----------- 34 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. 39 40 .. note:: 41 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. 45 46 Return Value 47 ------------ 48 49 On success 0 is returned. 50 51 On error -1 is returned, and the ``errno`` variable is set 52 appropriately. 53 54 .. tabularcolumns:: |p{2.5cm}|p{15.0cm}| 55 56 .. flat-table:: 57 :header-rows: 0 58 :stub-columns: 0 59 :widths: 1 16 60 61 - - ``EWOULDBLOCK`` 62 - No data to return and ``O_NONBLOCK`` was specified. 63 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. 67 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. 71 72 - - ``EFAULT`` 73 - The driver failed to write to the callers buffer due to an 74 invalid \*buf pointer. 75 76 The generic error codes are described at the 77 :ref:`Generic Error Codes <gen-errors>` chapter.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.