89 lines · plain
1.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later2.. c:namespace:: DTV.dmx3 4.. _dmx_fopen:5 6=======================7Digital TV demux open()8=======================9 10Name11----12 13Digital TV demux open()14 15Synopsis16--------17 18.. c:function:: int open(const char *deviceName, int flags)19 20Arguments21---------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: 033 :stub-columns: 034 :widths: 1 1635 36 -37 - ``O_RDONLY``38 - read-only access39 40 -41 - ``O_RDWR``42 - read/write access43 44 -45 - ``O_NONBLOCK``46 - open in non-blocking mode47 (blocking mode is the default)48 49Description50-----------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 for54subsequent control of that filter. This call has to be made for each55filter to be used, i.e. every returned file descriptor is a reference to56a single filter. ``/dev/dvb/adapter?/dvr?`` is a logical device to be used57for retrieving Transport Streams for digital video recording. When58reading from this device a transport stream containing the packets from59all PES filters set in the corresponding demux device60(``/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 the64documentation for functions where there is a difference. It does not65affect the semantics of the ``open()`` call itself. A device opened66in 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 Value70------------71 72On success 0 is returned.73 74On error -1 is returned, and the ``errno`` variable is set75appropriately.76 77.. tabularcolumns:: |p{2.5cm}|p{15.0cm}|78 79.. flat-table::80 :header-rows: 081 :stub-columns: 082 :widths: 1 1683 84 - - ``EMFILE``85 - "Too many open files", i.e. no more filters available.86 87The generic error codes are described at the88:ref:`Generic Error Codes <gen-errors>` chapter.89