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