RTEMS: cpukit/include/rtems/score/todimpl.h File Reference

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
todimpl.h File Reference
Internal » SuperCore » Time of Day Handler

Time of Day Handler API. More...

`#include <rtems/score/status.h>`
`#include <rtems/score/timestamp.h>`
`#include <rtems/score/timecounterimpl.h>`
`#include <rtems/score/watchdog.h>`
`#include <sys/time.h>`
`#include <time.h>`

Go to the source code of this file.

## Data Structures
struct | TOD_Control
| TOD control. More...
struct | TOD_Hook
| Structure to manage each TOD action hook. More...

## Macros
#define | TOD_SECONDS_PER_MINUTE (uint32_t)60
#define | TOD_MINUTES_PER_HOUR (uint32_t)60
#define | TOD_MONTHS_PER_YEAR (uint32_t)12
#define | TOD_DAYS_PER_YEAR (uint32_t)365
#define | TOD_HOURS_PER_DAY (uint32_t)24
#define | TOD_SECONDS_PER_DAY
#define | TOD_SECONDS_PER_NON_LEAP_YEAR (365 * TOD_SECONDS_PER_DAY)
#define | TOD_MILLISECONDS_PER_SECOND (uint32_t)1000
#define | TOD_MICROSECONDS_PER_SECOND (uint32_t)1000000
#define | TOD_NANOSECONDS_PER_SECOND (uint32_t)1000000000
#define | TOD_NANOSECONDS_PER_MICROSECOND (uint32_t)1000
#define | TOD_SECONDS_1970_THROUGH_1988
#define | TOD_BASE_YEAR 1988
| Earliest year to which an time of day can be initialized.
#define | TOD_TICKS_PER_SECOND TOD_TICKS_PER_SECOND_method()
| Gets number of ticks in a second.

## Typedefs
typedef struct TOD_Hook | TOD_Hook
| Structure to manage each TOD action hook.

## Enumerations
enum | TOD_Action { TOD_ACTION_SET_CLOCK }
| Possible actions where a registered hook could be invoked. More...

## Functions
void | _TOD_Lock (void)
| Locks the time of day mutex.
void | _TOD_Unlock (void)
| Unlocks the time of day mutex.
Status_Control | _TOD_Set (const struct timespec *tod, ISR_lock_Context *lock_context)
| Sets the time of day.
uint32_t | TOD_TICKS_PER_SECOND_method (void)
| Gets number of ticks in a second.
RTEMS_INLINE_ROUTINE void | _TOD_Get_timeval (struct timeval *time)
| This routine returns a timeval based upon the internal timespec format TOD.
void | _TOD_Adjust (const struct timespec *delta)
| Adjusts the Time of Time.
RTEMS_INLINE_ROUTINE bool | _TOD_Is_set (void)
| Check if the TOD is Set.
void | _TOD_Hook_Register (TOD_Hook *hook)
| Add a TOD Action Hook.
void | _TOD_Hook_Unregister (TOD_Hook *hook)
| Remove a TOD Action Hook.
Status_Control | _TOD_Hook_Run (TOD_Action action, const struct timespec *tod)
| Run the TOD Action Hooks.

## Variables
TOD_Control | _TOD
| TOD Management information.
Chain_Control | _TOD_Hooks
| Set of registered methods for TOD Actions.

## Detailed Description

Time of Day Handler API.

## Macro Definition Documentation

## ◆ TOD_BASE_YEAR

#define TOD_BASE_YEAR 1988

Earliest year to which an time of day can be initialized.

The following constant define the earliest year to which an time of day can be initialized. This is considered the epoch.

## ◆ TOD_SECONDS_1970_THROUGH_1988

#define TOD_SECONDS_1970_THROUGH_1988

Value:
(((1987 - 1970 + 1) * TOD_SECONDS_PER_NON_LEAP_YEAR) + \
(4 * TOD_SECONDS_PER_DAY))
TOD_SECONDS_PER_NON_LEAP_YEAR
#define TOD_SECONDS_PER_NON_LEAP_YEAR
Definition: todimpl.h:82
TOD_SECONDS_PER_DAY
#define TOD_SECONDS_PER_DAY
Definition: todimpl.h:75

Seconds from January 1, 1970 to January 1, 1988. Used to account for differences between POSIX API and RTEMS core. The timespec format time is kept in POSIX compliant form.