Commit | Line | Data |
---|---|---|
47d23e36 MCC |
1 | .. -*- coding: utf-8; mode: rst -*- |
2 | ||
3 | .. _dmx_fopen: | |
4 | ||
586027ce | 5 | ================ |
47d23e36 MCC |
6 | DVB demux open() |
7 | ================ | |
8 | ||
15e7d615 | 9 | Name |
586027ce | 10 | ---- |
47d23e36 | 11 | |
586027ce | 12 | DVB demux open() |
47d23e36 | 13 | |
15e7d615 MCC |
14 | |
15 | Synopsis | |
47d23e36 MCC |
16 | -------- |
17 | ||
1b81f010 | 18 | .. c:function:: int open(const char *deviceName, int flags) |
cf8076c3 | 19 | :name: dvb-dmx-open |
47d23e36 | 20 | |
15e7d615 | 21 | Arguments |
586027ce | 22 | --------- |
47d23e36 | 23 | |
cf8076c3 MCC |
24 | ``name`` |
25 | Name of specific DVB demux device. | |
26 | ||
27 | ``flags`` | |
28 | A bit-wise OR of the following flags: | |
29 | ||
47d23e36 MCC |
30 | .. flat-table:: |
31 | :header-rows: 0 | |
32 | :stub-columns: 0 | |
33 | ||
cf8076c3 MCC |
34 | - |
35 | - O_RDONLY | |
36 | - read-only access | |
47d23e36 | 37 | |
cf8076c3 MCC |
38 | - |
39 | - O_RDWR | |
40 | - read/write access | |
47d23e36 | 41 | |
cf8076c3 MCC |
42 | - |
43 | - O_NONBLOCK | |
44 | - open in non-blocking mode | |
45 | (blocking mode is the default) | |
47d23e36 MCC |
46 | |
47 | ||
15e7d615 | 48 | Description |
586027ce | 49 | ----------- |
47d23e36 | 50 | |
586027ce MCC |
51 | This system call, used with a device name of /dev/dvb/adapter0/demux0, |
52 | allocates a new filter and returns a handle which can be used for | |
53 | subsequent control of that filter. This call has to be made for each | |
54 | filter to be used, i.e. every returned file descriptor is a reference to | |
55 | a single filter. /dev/dvb/adapter0/dvr0 is a logical device to be used | |
56 | for retrieving Transport Streams for digital video recording. When | |
57 | reading from this device a transport stream containing the packets from | |
58 | all PES filters set in the corresponding demux device | |
59 | (/dev/dvb/adapter0/demux0) having the output set to DMX_OUT_TS_TAP. A | |
60 | recorded Transport Stream is replayed by writing to this device. | |
61 | ||
62 | The significance of blocking or non-blocking mode is described in the | |
63 | documentation for functions where there is a difference. It does not | |
64 | affect the semantics of the open() call itself. A device opened in | |
65 | blocking mode can later be put into non-blocking mode (and vice versa) | |
66 | using the F_SETFL command of the fcntl system call. | |
47d23e36 MCC |
67 | |
68 | ||
15e7d615 | 69 | Return Value |
586027ce MCC |
70 | ------------ |
71 | ||
47d23e36 MCC |
72 | .. flat-table:: |
73 | :header-rows: 0 | |
74 | :stub-columns: 0 | |
75 | ||
76 | ||
77 | - .. row 1 | |
78 | ||
79 | - ``ENODEV`` | |
80 | ||
81 | - Device driver not loaded/available. | |
82 | ||
83 | - .. row 2 | |
84 | ||
85 | - ``EINVAL`` | |
86 | ||
87 | - Invalid argument. | |
88 | ||
89 | - .. row 3 | |
90 | ||
91 | - ``EMFILE`` | |
92 | ||
93 | - “Too many open files”, i.e. no more filters available. | |
94 | ||
95 | - .. row 4 | |
96 | ||
97 | - ``ENOMEM`` | |
98 | ||
99 | - The driver failed to allocate enough memory. |