1.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2.. c:namespace:: DTV.dmx
3
4.. _DMX_GET_STC:
5
6===========
7DMX_GET_STC
8===========
9
10Name
11----
12
13DMX_GET_STC
14
15Synopsis
16--------
17
18.. c:macro:: DMX_GET_STC
19
20``int ioctl(int fd, DMX_GET_STC, struct dmx_stc *stc)``
21
22Arguments
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
31Description
32-----------
33
34This 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>`).
36Some hardware supports more than one STC, so you must specify which one by
37setting the :c:type:`num <dmx_stc>` field of stc before the ioctl (range 0...n).
38The result is returned in form of a ratio with a 64 bit numerator
39and a 32 bit denominator, so the real 90kHz STC value is
40``stc->stc / stc->base``.
41
42Return Value
43------------
44
45On success 0 is returned.
46
47On error -1 is returned, and the ``errno`` variable is set
48appropriately.
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
63The generic error codes are described at the
64:ref:`Generic Error Codes <gen-errors>` chapter.
65