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