| Zephyr API Documentation
    2.7.0-rc2
    A Scalable Open Source RTOS | 
Utilities supporting operation on time data structures. More...
Go to the source code of this file.
| Data Structures | |
| struct | timeutil_sync_config | 
| Immutable state for synchronizing two clocks.  More... | |
| struct | timeutil_sync_instant | 
| Representation of an instant in two time scales.  More... | |
| struct | timeutil_sync_state | 
| State required to convert instants between time scales.  More... | |
| Functions | |
| int64_t | timeutil_timegm64 (const struct tm *tm) | 
| Convert broken-down time to a POSIX epoch offset in seconds.  More... | |
| time_t | timeutil_timegm (const struct tm *tm) | 
| Convert broken-down time to a POSIX epoch offset in seconds.  More... | |
| int | timeutil_sync_state_update (struct timeutil_sync_state *tsp, const struct timeutil_sync_instant *inst) | 
| Record a new instant in the time synchronization state.  More... | |
| int | timeutil_sync_state_set_skew (struct timeutil_sync_state *tsp, float skew, const struct timeutil_sync_instant *base) | 
| Update the state with a new skew and possibly base value.  More... | |
| float | timeutil_sync_estimate_skew (const struct timeutil_sync_state *tsp) | 
| Estimate the skew based on current state.  More... | |
| int | timeutil_sync_ref_from_local (const struct timeutil_sync_state *tsp, uint64_t local, uint64_t *refp) | 
| Interpolate a reference timescale instant from a local instant.  More... | |
| int | timeutil_sync_local_from_ref (const struct timeutil_sync_state *tsp, uint64_t ref, int64_t *localp) | 
| Interpolate a local timescale instant from a reference instant.  More... | |
| int32_t | timeutil_sync_skew_to_ppb (float skew) | 
| Convert from a skew to an error in parts-per-billion.  More... | |
Utilities supporting operation on time data structures.
POSIX defines gmtime() to convert from time_t to struct tm, but all inverse transformations are non-standard or require access to time zone information. timeutil_timegm() implements the functionality of the GNU extension timegm() function, but changes the error value as EOVERFLOW is not a standard C error identifier.
timeutil_timegm64() is provided to support full precision conversion on platforms where time_t is limited to 32 bits.