1.. Permission is granted to copy, distribute and/or modify this
2.. document under the terms of the GNU Free Documentation License,
3.. Version 1.1 or any later version published by the Free Software
4.. Foundation, with no Invariant Sections, no Front-Cover Texts
5.. and no Back-Cover Texts. A copy of the license is included at
6.. Documentation/userspace-api/media/fdl-appendix.rst.
7..
8.. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections
9
10.. _DMX_GET_STC:
11
12===========
13DMX_GET_STC
14===========
15
16Name
17----
18
19DMX_GET_STC
20
21
22Synopsis
23--------
24
25.. c:function:: int ioctl( int fd, DMX_GET_STC, struct dmx_stc *stc)
26    :name: DMX_GET_STC
27
28Arguments
29---------
30
31``fd``
32    File descriptor returned by :c:func:`open() <dvb-dmx-open>`.
33
34``stc``
35    Pointer to :c:type:`dmx_stc` where the stc data is to be stored.
36
37
38Description
39-----------
40
41This ioctl call returns the current value of the system time counter
42(which is driven by a PES filter of type :c:type:`DMX_PES_PCR <dmx_ts_pes>`).
43Some hardware supports more than one STC, so you must specify which one by
44setting the :c:type:`num <dmx_stc>` field of stc before the ioctl (range 0...n).
45The result is returned in form of a ratio with a 64 bit numerator
46and a 32 bit denominator, so the real 90kHz STC value is
47``stc->stc / stc->base``.
48
49
50Return Value
51------------
52
53On success 0 is returned.
54
55On error -1 is returned, and the ``errno`` variable is set
56appropriately.
57
58.. tabularcolumns:: |p{2.5cm}|p{15.0cm}|
59
60.. flat-table::
61    :header-rows:  0
62    :stub-columns: 0
63    :widths: 1 16
64
65    -  .. row 1
66
67       -  ``EINVAL``
68
69       -  Invalid stc number.
70
71
72The generic error codes are described at the
73:ref:`Generic Error Codes <gen-errors>` chapter.
74