1.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2
3.. _ca_fopen:
4
5====================
6Digital TV CA open()
7====================
8
9Name
10----
11
12Digital TV CA open()
13
14
15Synopsis
16--------
17
18.. c:function:: int open(const char *name, int flags)
19    :name: dvb-ca-open
20
21
22Arguments
23---------
24
25``name``
26  Name of specific Digital TV CA device.
27
28``flags``
29  A bit-wise OR of the following flags:
30
31.. tabularcolumns:: |p{2.5cm}|p{15.0cm}|
32
33.. flat-table::
34    :header-rows:  0
35    :stub-columns: 0
36    :widths: 1 16
37
38    -  - ``O_RDONLY``
39       - read-only access
40
41    -  - ``O_RDWR``
42       - read/write access
43
44    -  - ``O_NONBLOCK``
45       - open in non-blocking mode
46         (blocking mode is the default)
47
48
49Description
50-----------
51
52This system call opens a named ca device (e.g. ``/dev/dvb/adapter?/ca?``)
53for subsequent use.
54
55When an ``open()`` call has succeeded, the device will be ready for use. The
56significance of blocking or non-blocking mode is described in the
57documentation for functions where there is a difference. It does not
58affect the semantics of the ``open()`` call itself. A device opened in
59blocking mode can later be put into non-blocking mode (and vice versa)
60using the ``F_SETFL`` command of the ``fcntl`` system call. This is a
61standard system call, documented in the Linux manual page for fcntl.
62Only one user can open the CA Device in ``O_RDWR`` mode. All other
63attempts to open the device in this mode will fail, and an error code
64will be returned.
65
66
67Return Value
68------------
69
70
71On success 0 is returned.
72
73On error -1 is returned, and the ``errno`` variable is set
74appropriately.
75
76Generic error codes are described at the
77:ref:`Generic Error Codes <gen-errors>` chapter.
78