1.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 2.. c:namespace:: DTV.dmx 3 4.. _dmx_fopen: 5 6======================= 7Digital TV demux open() 8======================= 9 10Name 11---- 12 13Digital TV demux open() 14 15Synopsis 16-------- 17 18.. c:function:: int open(const char *deviceName, int flags) 19 20Arguments 21--------- 22 23``name`` 24 Name of specific Digital TV demux device. 25 26``flags`` 27 A bit-wise OR of the following flags: 28 29.. tabularcolumns:: |p{2.5cm}|p{15.0cm}| 30 31.. flat-table:: 32 :header-rows: 0 33 :stub-columns: 0 34 :widths: 1 16 35 36 - 37 - ``O_RDONLY`` 38 - read-only access 39 40 - 41 - ``O_RDWR`` 42 - read/write access 43 44 - 45 - ``O_NONBLOCK`` 46 - open in non-blocking mode 47 (blocking mode is the default) 48 49Description 50----------- 51 52This system call, used with a device name of ``/dev/dvb/adapter?/demux?``, 53allocates a new filter and returns a handle which can be used for 54subsequent control of that filter. This call has to be made for each 55filter to be used, i.e. every returned file descriptor is a reference to 56a single filter. ``/dev/dvb/adapter?/dvr?`` is a logical device to be used 57for retrieving Transport Streams for digital video recording. When 58reading from this device a transport stream containing the packets from 59all PES filters set in the corresponding demux device 60(``/dev/dvb/adapter?/demux?``) having the output set to ``DMX_OUT_TS_TAP``. 61A recorded Transport Stream is replayed by writing to this device. 62 63The significance of blocking or non-blocking mode is described in the 64documentation for functions where there is a difference. It does not 65affect the semantics of the ``open()`` call itself. A device opened 66in blocking mode can later be put into non-blocking mode (and vice versa) 67using the ``F_SETFL`` command of the fcntl system call. 68 69Return Value 70------------ 71 72On success 0 is returned. 73 74On error -1 is returned, and the ``errno`` variable is set 75appropriately. 76 77.. tabularcolumns:: |p{2.5cm}|p{15.0cm}| 78 79.. flat-table:: 80 :header-rows: 0 81 :stub-columns: 0 82 :widths: 1 16 83 84 - - ``EMFILE`` 85 - "Too many open files", i.e. no more filters available. 86 87The generic error codes are described at the 88:ref:`Generic Error Codes <gen-errors>` chapter. 89