1.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 2.. c:namespace:: DTV.dmx 3 4.. _dmx_fwrite: 5 6======================== 7Digital TV demux write() 8======================== 9 10Name 11---- 12 13Digital TV demux write() 14 15Synopsis 16-------- 17 18.. c:function:: ssize_t write(int fd, const void *buf, size_t count) 19 20Arguments 21--------- 22 23``fd`` 24 File descriptor returned by a previous call to :c:func:`open()`. 25 26``buf`` 27 Buffer with data to be written 28 29``count`` 30 Number of bytes at the buffer 31 32Description 33----------- 34 35This system call is only provided by the logical device 36``/dev/dvb/adapter?/dvr?``, associated with the physical demux device that 37provides the actual DVR functionality. It is used for replay of a 38digitally recorded Transport Stream. Matching filters have to be defined 39in the corresponding physical demux device, ``/dev/dvb/adapter?/demux?``. 40The amount of data to be transferred is implied by count. 41 42Return Value 43------------ 44 45On success 0 is returned. 46 47On error -1 is returned, and the ``errno`` variable is set 48appropriately. 49 50.. tabularcolumns:: |p{2.5cm}|p{15.0cm}| 51 52.. flat-table:: 53 :header-rows: 0 54 :stub-columns: 0 55 :widths: 1 16 56 57 - - ``EWOULDBLOCK`` 58 - No data was written. This might happen if ``O_NONBLOCK`` was 59 specified and there is no more buffer space available (if 60 ``O_NONBLOCK`` is not specified the function will block until buffer 61 space is available). 62 63 - - ``EBUSY`` 64 - This error code indicates that there are conflicting requests. The 65 corresponding demux device is setup to receive data from the 66 front- end. Make sure that these filters are stopped and that the 67 filters with input set to ``DMX_IN_DVR`` are started. 68 69The generic error codes are described at the 70:ref:`Generic Error Codes <gen-errors>` chapter. 71