rtems-docs/c-user/clock/removed-directives.rst

82 lines
3.1 KiB
ReStructuredText

.. SPDX-License-Identifier: CC-BY-SA-4.0
.. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
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.