Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
[sfrench/cifs-2.6.git] / Documentation / media / uapi / dvb / ca-fopen.rst
1 .. -*- coding: utf-8; mode: rst -*-
2
3 .. _ca_fopen:
4
5 ====================
6 Digital TV CA open()
7 ====================
8
9 Name
10 ----
11
12 Digital TV CA open()
13
14
15 Synopsis
16 --------
17
18 .. c:function:: int open(const char *name, int flags)
19     :name: dvb-ca-open
20
21
22 Arguments
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
49 Description
50 -----------
51
52 This system call opens a named ca device (e.g. ``/dev/dvb/adapter?/ca?``)
53 for subsequent use.
54
55 When an ``open()`` call has succeeded, the device will be ready for use. The
56 significance of blocking or non-blocking mode is described in the
57 documentation for functions where there is a difference. It does not
58 affect the semantics of the ``open()`` call itself. A device opened in
59 blocking mode can later be put into non-blocking mode (and vice versa)
60 using the ``F_SETFL`` command of the ``fcntl`` system call. This is a
61 standard system call, documented in the Linux manual page for fcntl.
62 Only one user can open the CA Device in ``O_RDWR`` mode. All other
63 attempts to open the device in this mode will fail, and an error code
64 will be returned.
65
66
67 Return Value
68 ------------
69
70
71 On success 0 is returned.
72
73 On error -1 is returned, and the ``errno`` variable is set
74 appropriately.
75
76 Generic error codes are described at the
77 :ref:`Generic Error Codes <gen-errors>` chapter.