35 #ifndef MESHCOP_TIMESTAMP_HPP_ 36 #define MESHCOP_TIMESTAMP_HPP_ 42 #include <openthread/platform/toolchain.h> 46 using ot::Encoding::BigEndian::HostSwap16;
63 void Init(
void) { memset(mSeconds, 0,
sizeof(mSeconds)); mTicks = 0; }
86 for (
size_t i = 0; i <
sizeof(mSeconds); i++) {
87 seconds = (seconds << 8) | mSeconds[i];
100 for (
size_t i = 0; i < sizeof(mSeconds); i++, aSeconds >>= 8) {
101 mSeconds[
sizeof(mSeconds) - 1 - i] = aSeconds & 0xff;
111 uint16_t
GetTicks(
void)
const {
return HostSwap16(mTicks) >> kTicksOffset; }
120 mTicks = HostSwap16((HostSwap16(mTicks) & ~kTicksMask) | ((aTicks << kTicksOffset) & kTicksMask));
129 bool GetAuthoritative(
void)
const {
return (HostSwap16(mTicks) & kAuthoritativeMask) != 0; }
138 mTicks = HostSwap16((HostSwap16(mTicks) & kTicksMask) | ((aAuthoritative << kAuthoritativeOffset) &
139 kAuthoritativeMask));
148 kTicksMask = 0x7fff << kTicksOffset,
149 kAuthoritativeOffset = 0,
150 kAuthoritativeMask = 1 << kAuthoritativeOffset,
158 #endif // MESHCOP_TIMESTAMP_HPP_ void SetTicks(uint16_t aTicks)
This method sets the Ticks value.
Definition: timestamp.hpp:119
uint16_t GetTicks(void) const
This method returns the Ticks value.
Definition: timestamp.hpp:111
int Compare(const Timestamp &aCompare) const
This method compares this timestamp to another.
Definition: timestamp.cpp:43
This file includes definitions for byte-ordering encoding.
void SetSeconds(uint64_t aSeconds)
This method sets the Seconds value.
Definition: timestamp.hpp:99
bool GetAuthoritative(void) const
This method returns the Authoritative value.
Definition: timestamp.hpp:129
void SetAuthoritative(bool aAuthoritative)
This method sets the Authoritative value.
Definition: timestamp.hpp:137
This class implements Timestamp generation and parsing.
Definition: timestamp.hpp:56
uint64_t GetSeconds(void) const
This method returns the Seconds value.
Definition: timestamp.hpp:83
This file includes compile-time configuration constants for OpenThread.
void Init(void)
This method initializes the Timestamp.
Definition: timestamp.hpp:63