2020-08-26 15:03:09 +08:00
|
|
|
.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
|
2020-09-24 22:56:00 +08:00
|
|
|
.. c:namespace:: DTV.ca
|
2018-08-30 22:15:26 +08:00
|
|
|
|
2016-07-05 21:37:31 +08:00
|
|
|
.. _ca_fopen:
|
|
|
|
|
2017-09-02 00:28:16 +08:00
|
|
|
====================
|
|
|
|
Digital TV CA open()
|
|
|
|
====================
|
2016-07-05 21:37:31 +08:00
|
|
|
|
2016-07-06 02:14:35 +08:00
|
|
|
Name
|
2016-07-05 18:58:48 +08:00
|
|
|
----
|
2016-07-05 21:37:31 +08:00
|
|
|
|
2017-09-02 00:28:16 +08:00
|
|
|
Digital TV CA open()
|
2016-07-05 21:37:31 +08:00
|
|
|
|
2016-07-06 02:14:35 +08:00
|
|
|
Synopsis
|
2016-07-05 21:37:31 +08:00
|
|
|
--------
|
|
|
|
|
2016-08-20 03:56:15 +08:00
|
|
|
.. c:function:: int open(const char *name, int flags)
|
2016-07-05 21:37:31 +08:00
|
|
|
|
2016-07-06 02:14:35 +08:00
|
|
|
Arguments
|
2016-07-05 18:58:48 +08:00
|
|
|
---------
|
2016-07-05 21:37:31 +08:00
|
|
|
|
2016-08-20 03:56:15 +08:00
|
|
|
``name``
|
2017-09-02 00:28:16 +08:00
|
|
|
Name of specific Digital TV CA device.
|
2016-08-20 03:56:15 +08:00
|
|
|
|
|
|
|
``flags``
|
|
|
|
A bit-wise OR of the following flags:
|
|
|
|
|
2017-09-02 00:21:49 +08:00
|
|
|
.. tabularcolumns:: |p{2.5cm}|p{15.0cm}|
|
|
|
|
|
2016-07-05 21:37:31 +08:00
|
|
|
.. flat-table::
|
|
|
|
:header-rows: 0
|
|
|
|
:stub-columns: 0
|
2017-09-02 00:21:49 +08:00
|
|
|
:widths: 1 16
|
2016-07-05 21:37:31 +08:00
|
|
|
|
2017-09-02 00:21:49 +08:00
|
|
|
- - ``O_RDONLY``
|
2016-08-20 03:56:15 +08:00
|
|
|
- read-only access
|
2016-07-05 21:37:31 +08:00
|
|
|
|
2017-09-02 00:21:49 +08:00
|
|
|
- - ``O_RDWR``
|
2016-08-20 03:56:15 +08:00
|
|
|
- read/write access
|
2016-07-05 21:37:31 +08:00
|
|
|
|
2017-09-02 00:21:49 +08:00
|
|
|
- - ``O_NONBLOCK``
|
2016-08-20 03:56:15 +08:00
|
|
|
- open in non-blocking mode
|
|
|
|
(blocking mode is the default)
|
2016-07-05 21:37:31 +08:00
|
|
|
|
2016-07-06 02:14:35 +08:00
|
|
|
Description
|
2016-07-05 18:58:48 +08:00
|
|
|
-----------
|
2016-07-05 21:37:31 +08:00
|
|
|
|
2017-09-02 00:23:17 +08:00
|
|
|
This system call opens a named ca device (e.g. ``/dev/dvb/adapter?/ca?``)
|
|
|
|
for subsequent use.
|
2016-07-05 21:37:31 +08:00
|
|
|
|
2017-09-02 00:21:49 +08:00
|
|
|
When an ``open()`` call has succeeded, the device will be ready for use. The
|
2016-07-05 18:58:48 +08:00
|
|
|
significance of blocking or non-blocking mode is described in the
|
|
|
|
documentation for functions where there is a difference. It does not
|
2017-09-02 00:21:49 +08:00
|
|
|
affect the semantics of the ``open()`` call itself. A device opened in
|
2016-07-05 18:58:48 +08:00
|
|
|
blocking mode can later be put into non-blocking mode (and vice versa)
|
2017-09-02 00:21:49 +08:00
|
|
|
using the ``F_SETFL`` command of the ``fcntl`` system call. This is a
|
|
|
|
standard system call, documented in the Linux manual page for fcntl.
|
|
|
|
Only one user can open the CA Device in ``O_RDWR`` mode. All other
|
|
|
|
attempts to open the device in this mode will fail, and an error code
|
|
|
|
will be returned.
|
2016-07-05 18:58:48 +08:00
|
|
|
|
2016-07-06 02:14:35 +08:00
|
|
|
Return Value
|
2016-07-05 18:58:48 +08:00
|
|
|
------------
|
2016-07-05 21:37:31 +08:00
|
|
|
|
2017-09-02 00:15:43 +08:00
|
|
|
On success 0 is returned.
|
2016-07-05 21:37:31 +08:00
|
|
|
|
2017-09-02 00:15:43 +08:00
|
|
|
On error -1 is returned, and the ``errno`` variable is set
|
|
|
|
appropriately.
|
2016-07-05 21:37:31 +08:00
|
|
|
|
2017-09-02 00:15:43 +08:00
|
|
|
Generic error codes are described at the
|
|
|
|
:ref:`Generic Error Codes <gen-errors>` chapter.
|