27 #ifndef EMBB_BASE_C_DURATION_H_ 28 #define EMBB_BASE_C_DURATION_H_ 30 #include <embb/base/c/errors.h> 54 typedef struct embb_duration_t {
58 unsigned long long seconds;
62 unsigned long nanoseconds;
70 #define EMBB_DURATION_INIT 72 #define EMBB_DURATION_INIT {0, 0} 112 embb_duration_t* duration,
114 unsigned long long nanoseconds
129 embb_duration_t* duration,
131 unsigned long long microseconds
146 embb_duration_t* duration,
148 unsigned long long milliseconds
163 embb_duration_t* duration,
165 unsigned long long seconds
179 embb_duration_t* lhs,
181 const embb_duration_t* rhs
195 const embb_duration_t* duration,
197 unsigned long long* nanoseconds
211 const embb_duration_t* duration,
213 unsigned long long* microseconds
227 const embb_duration_t* duration,
229 unsigned long long* milliseconds
243 const embb_duration_t* duration,
245 unsigned long long* seconds
260 const embb_duration_t* lhs,
262 const embb_duration_t* rhs
int embb_duration_set_milliseconds(embb_duration_t *duration, unsigned long long milliseconds)
Sets duration from millisecond ticks.
int embb_duration_add(embb_duration_t *lhs, const embb_duration_t *rhs)
Adds two durations.
int embb_duration_as_microseconds(const embb_duration_t *duration, unsigned long long *microseconds)
Converts duration to microsecond ticks.
int embb_duration_compare(const embb_duration_t *lhs, const embb_duration_t *rhs)
Compares two durations.
int embb_duration_set_nanoseconds(embb_duration_t *duration, unsigned long long nanoseconds)
Set duration from nanosecond ticks.
int embb_duration_set_microseconds(embb_duration_t *duration, unsigned long long microseconds)
Sets duration from microsecond ticks.
int embb_duration_set_seconds(embb_duration_t *duration, unsigned long long seconds)
Sets duration from second ticks.
int embb_duration_as_milliseconds(const embb_duration_t *duration, unsigned long long *milliseconds)
Converts duration to millisecond ticks.
const embb_duration_t * embb_duration_max()
Returns duration with maximum ticks representable by implementation.
const embb_duration_t * embb_duration_zero()
Returns duration of length zero.
opaque_type embb_duration_t
Opaque type representing a relative time duration.
Definition: duration.h:52
int embb_duration_as_seconds(const embb_duration_t *duration, unsigned long long *seconds)
Converts duration to second ticks.
int embb_duration_as_nanoseconds(const embb_duration_t *duration, unsigned long long *nanoseconds)
Converts duration to nanosecond ticks.
const embb_duration_t * embb_duration_min()
Returns duration with minimum ticks representable by implementation.