Merge tag 'for-v5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux...
[linux-2.6-microblaze.git] / Documentation / userspace-api / media / dvb / dmx-get-stc.rst
1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2 .. c:namespace:: DTV.dmx
3
4 .. _DMX_GET_STC:
5
6 ===========
7 DMX_GET_STC
8 ===========
9
10 Name
11 ----
12
13 DMX_GET_STC
14
15 Synopsis
16 --------
17
18 .. c:macro:: DMX_GET_STC
19
20 ``int ioctl(int fd, DMX_GET_STC, struct dmx_stc *stc)``
21
22 Arguments
23 ---------
24
25 ``fd``
26     File descriptor returned by :c:func:`open()`.
27
28 ``stc``
29     Pointer to :c:type:`dmx_stc` where the stc data is to be stored.
30
31 Description
32 -----------
33
34 This ioctl call returns the current value of the system time counter
35 (which is driven by a PES filter of type :c:type:`DMX_PES_PCR <dmx_ts_pes>`).
36 Some hardware supports more than one STC, so you must specify which one by
37 setting the :c:type:`num <dmx_stc>` field of stc before the ioctl (range 0...n).
38 The result is returned in form of a ratio with a 64 bit numerator
39 and a 32 bit denominator, so the real 90kHz STC value is
40 ``stc->stc / stc->base``.
41
42 Return Value
43 ------------
44
45 On success 0 is returned.
46
47 On error -1 is returned, and the ``errno`` variable is set
48 appropriately.
49
50 .. tabularcolumns:: |p{2.5cm}|p{15.0cm}|
51
52 .. flat-table::
53     :header-rows:  0
54     :stub-columns: 0
55     :widths: 1 16
56
57     -  .. row 1
58
59        -  ``EINVAL``
60
61        -  Invalid stc number.
62
63 The generic error codes are described at the
64 :ref:`Generic Error Codes <gen-errors>` chapter.