mirror of
https://git.rtems.org/rtems-docs/
synced 2025-07-24 04:34:25 +08:00
c-user: Add removed directive rtems_clock_get()
Be in line with Task Manager chapter. Update #2693.
This commit is contained in:
parent
02bded3f03
commit
e150e1689a
@ -184,20 +184,29 @@ RTEMS provides multiple directives which can be used by an application to obtain
|
|||||||
Calendar time operations will return an error code if invoked before the date
|
Calendar time operations will return an error code if invoked before the date
|
||||||
and time have been set.
|
and time have been set.
|
||||||
|
|
||||||
.. index:: rtems_clock_get
|
.. _ClockManagerAdviceClockGet:
|
||||||
|
|
||||||
Transition Advice for the Obsolete rtems_clock_get
|
Transition Advice for the Removed rtems_clock_get()
|
||||||
--------------------------------------------------
|
---------------------------------------------------
|
||||||
|
|
||||||
The method ``rtems_clock_get`` took an untyped pointer with an
|
The directive :ref:`rtems_clock_get` took an untyped pointer with an options
|
||||||
options argument to indicate the time information desired. This has
|
argument to indicate the time information desired. This has been replaced with
|
||||||
been replaced with a set of typed directives whose name is of the form
|
a set of typed directives:
|
||||||
``rtems_clock_get_INFORMATION`` where INFORMATION indicates the type of
|
|
||||||
information and possibly the format. These methods directly correspond to
|
|
||||||
what were previously referred to ask "clock options." These strongly typed
|
|
||||||
were available for multiple releases in parallel with ``rtems_clock_get``
|
|
||||||
until that method was removed.
|
|
||||||
|
|
||||||
|
* :ref:`rtems_clock_get_seconds_since_epoch`
|
||||||
|
|
||||||
|
* :ref:`rtems_clock_get_ticks_per_second`
|
||||||
|
|
||||||
|
* :ref:`rtems_clock_get_ticks_since_boot`
|
||||||
|
|
||||||
|
* :ref:`rtems_clock_get_tod`
|
||||||
|
|
||||||
|
* :ref:`rtems_clock_get_tod_timeval`
|
||||||
|
|
||||||
|
These directives directly correspond to what were previously referred to as
|
||||||
|
*clock options*. These strongly typed directives were available for multiple
|
||||||
|
releases in parallel with :c:func:`rtems_clock_get` until that directive was
|
||||||
|
removed.
|
||||||
|
|
||||||
Directives
|
Directives
|
||||||
==========
|
==========
|
||||||
@ -260,11 +269,11 @@ NOTES:
|
|||||||
|
|
||||||
\clearpage
|
\clearpage
|
||||||
|
|
||||||
.. _rtems_clock_get_tod:
|
|
||||||
|
|
||||||
.. index:: obtain the time of day
|
.. index:: obtain the time of day
|
||||||
.. index:: rtems_clock_get_tod
|
.. index:: rtems_clock_get_tod
|
||||||
|
|
||||||
|
.. _rtems_clock_get_tod:
|
||||||
|
|
||||||
CLOCK_GET_TOD - Get date and time in TOD format
|
CLOCK_GET_TOD - Get date and time in TOD format
|
||||||
-----------------------------------------------
|
-----------------------------------------------
|
||||||
|
|
||||||
@ -304,11 +313,11 @@ NOTES:
|
|||||||
|
|
||||||
\clearpage
|
\clearpage
|
||||||
|
|
||||||
.. _rtems_clock_get_tod_timeval:
|
|
||||||
|
|
||||||
.. index:: obtain the time of day
|
.. index:: obtain the time of day
|
||||||
.. index:: rtems_clock_get_tod_timeval
|
.. index:: rtems_clock_get_tod_timeval
|
||||||
|
|
||||||
|
.. _rtems_clock_get_tod_timeval:
|
||||||
|
|
||||||
CLOCK_GET_TOD_TIMEVAL - Get date and time in timeval format
|
CLOCK_GET_TOD_TIMEVAL - Get date and time in timeval format
|
||||||
-----------------------------------------------------------
|
-----------------------------------------------------------
|
||||||
|
|
||||||
@ -348,11 +357,11 @@ NOTES:
|
|||||||
|
|
||||||
\clearpage
|
\clearpage
|
||||||
|
|
||||||
.. _rtems_clock_get_seconds_since_epoch:
|
|
||||||
|
|
||||||
.. index:: obtain seconds since epoch
|
.. index:: obtain seconds since epoch
|
||||||
.. index:: rtems_clock_get_seconds_since_epoch
|
.. index:: rtems_clock_get_seconds_since_epoch
|
||||||
|
|
||||||
|
.. _rtems_clock_get_seconds_since_epoch:
|
||||||
|
|
||||||
CLOCK_GET_SECONDS_SINCE_EPOCH - Get seconds since epoch
|
CLOCK_GET_SECONDS_SINCE_EPOCH - Get seconds since epoch
|
||||||
-------------------------------------------------------
|
-------------------------------------------------------
|
||||||
|
|
||||||
@ -392,11 +401,11 @@ NOTES:
|
|||||||
|
|
||||||
\clearpage
|
\clearpage
|
||||||
|
|
||||||
.. _rtems_clock_get_ticks_per_second:
|
|
||||||
|
|
||||||
.. index:: obtain seconds since epoch
|
.. index:: obtain seconds since epoch
|
||||||
.. index:: rtems_clock_get_ticks_per_second
|
.. index:: rtems_clock_get_ticks_per_second
|
||||||
|
|
||||||
|
.. _rtems_clock_get_ticks_per_second:
|
||||||
|
|
||||||
CLOCK_GET_TICKS_PER_SECOND - Get ticks per second
|
CLOCK_GET_TICKS_PER_SECOND - Get ticks per second
|
||||||
-------------------------------------------------
|
-------------------------------------------------
|
||||||
|
|
||||||
@ -422,12 +431,12 @@ NOTES:
|
|||||||
|
|
||||||
\clearpage
|
\clearpage
|
||||||
|
|
||||||
.. _rtems_clock_get_ticks_since_boot:
|
|
||||||
|
|
||||||
.. index:: obtain ticks since boot
|
.. index:: obtain ticks since boot
|
||||||
.. index:: get current ticks counter value
|
.. index:: get current ticks counter value
|
||||||
.. index:: rtems_clock_get_ticks_since_boot
|
.. index:: rtems_clock_get_ticks_since_boot
|
||||||
|
|
||||||
|
.. _rtems_clock_get_ticks_since_boot:
|
||||||
|
|
||||||
CLOCK_GET_TICKS_SINCE_BOOT - Get current ticks counter value
|
CLOCK_GET_TICKS_SINCE_BOOT - Get current ticks counter value
|
||||||
------------------------------------------------------------
|
------------------------------------------------------------
|
||||||
|
|
||||||
@ -666,3 +675,81 @@ DESCRIPTION:
|
|||||||
|
|
||||||
NOTES:
|
NOTES:
|
||||||
This directive may be called from an ISR.
|
This directive may be called from an ISR.
|
||||||
|
|
||||||
|
Removed Directives
|
||||||
|
==================
|
||||||
|
|
||||||
|
.. raw:: latex
|
||||||
|
|
||||||
|
\clearpage
|
||||||
|
|
||||||
|
.. _rtems_clock_get:
|
||||||
|
|
||||||
|
CLOCK_GET - Get date and time information
|
||||||
|
-----------------------------------------
|
||||||
|
.. index:: obtain the time of day
|
||||||
|
.. index:: rtems_clock_get
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
|
||||||
|
This directive was removed in RTEMS 5.1. See also
|
||||||
|
:ref:`ClockManagerAdviceClockGet`.
|
||||||
|
|
||||||
|
CALLING SEQUENCE:
|
||||||
|
.. code-block:: c
|
||||||
|
|
||||||
|
rtems_status_code rtems_clock_get(
|
||||||
|
rtems_clock_get_options option,
|
||||||
|
void *time_buffer
|
||||||
|
);
|
||||||
|
|
||||||
|
DIRECTIVE STATUS CODES:
|
||||||
|
.. list-table::
|
||||||
|
:class: rtems-table
|
||||||
|
|
||||||
|
* - ``RTEMS_SUCCESSFUL``
|
||||||
|
- current time obtained successfully
|
||||||
|
* - ``RTEMS_NOT_DEFINED``
|
||||||
|
- system date and time is not set
|
||||||
|
* - ``RTEMS_INVALID_ADDRESS``
|
||||||
|
- ``time_buffer`` is NULL
|
||||||
|
|
||||||
|
DESCRIPTION:
|
||||||
|
This directive obtains the system date and time. If the caller is
|
||||||
|
attempting to obtain the date and time (i.e. option is set to either
|
||||||
|
``RTEMS_CLOCK_GET_SECONDS_SINCE_EPOCH``, ``RTEMS_CLOCK_GET_TOD``, or
|
||||||
|
``RTEMS_CLOCK_GET_TIME_VALUE``) and the date and time has not been set with
|
||||||
|
a previous call to ``rtems_clock_set``, then the ``RTEMS_NOT_DEFINED``
|
||||||
|
status code is returned. The caller can always obtain the number of ticks
|
||||||
|
per second (option is ``RTEMS_CLOCK_GET_TICKS_PER_SECOND``) and the number
|
||||||
|
of ticks since the executive was initialized option is
|
||||||
|
``RTEMS_CLOCK_GET_TICKS_SINCE_BOOT``).
|
||||||
|
|
||||||
|
The ``option`` argument may taken on any value of the enumerated type
|
||||||
|
``rtems_clock_get_options``. The data type expected for ``time_buffer`` is
|
||||||
|
based on the value of ``option`` as indicated below:
|
||||||
|
|
||||||
|
.. index:: rtems_clock_get_options
|
||||||
|
|
||||||
|
+-----------------------------------------+---------------------------+
|
||||||
|
| Option | Return type |
|
||||||
|
+=========================================+===========================+
|
||||||
|
| ``RTEMS_CLOCK_GET_TOD`` | ``(rtems_time_of_day *)`` |
|
||||||
|
+-----------------------------------------+---------------------------+
|
||||||
|
| ``RTEMS_CLOCK_GET_SECONDS_SINCE_EPOCH`` | ``(rtems_interval *)`` |
|
||||||
|
+-----------------------------------------+---------------------------+
|
||||||
|
| ``RTEMS_CLOCK_GET_TICKS_SINCE_BOOT`` | ``(rtems_interval *)`` |
|
||||||
|
+-----------------------------------------+---------------------------+
|
||||||
|
|``RTEMS_CLOCK_GET_TICKS_PER_SECOND`` | ``(rtems_interval *)`` |
|
||||||
|
+-----------------------------------------+---------------------------+
|
||||||
|
| ``RTEMS_CLOCK_GET_TIME_VALUE`` | ``(struct timeval *)`` |
|
||||||
|
+-----------------------------------------+---------------------------+
|
||||||
|
|
||||||
|
NOTES:
|
||||||
|
This directive is callable from an ISR.
|
||||||
|
|
||||||
|
This directive will not cause the running task to be preempted.
|
||||||
|
Re-initializing RTEMS causes the system date and time to be reset to an
|
||||||
|
uninitialized state. Another call to ``rtems_clock_set`` is required to
|
||||||
|
re-initialize the system date and time to application specific
|
||||||
|
specifications.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user