|
uint64_t | _Timespec_Get_as_nanoseconds (const struct timespec *time) |
| Get the timestamp as nanoseconds. More...
|
|
bool | _Timespec_Is_valid (const struct timespec *time) |
| Check if timespec is valid. More...
|
|
bool | _Timespec_Less_than (const struct timespec *lhs, const struct timespec *rhs) |
| The Timespec "less than" operator. More...
|
|
uint32_t | _Timespec_Add_to (struct timespec *time, const struct timespec *add) |
| Add two timespecs. More...
|
|
uint32_t | _Timespec_To_ticks (const struct timespec *time) |
| Convert timespec to number of ticks. More...
|
|
void | _Timespec_From_ticks (uint32_t ticks, struct timespec *time) |
| Convert ticks to timespec. More...
|
|
void | _Timespec_Subtract (const struct timespec *start, const struct timespec *end, struct timespec *result) |
| Subtract two timespec. More...
|
|
void | _Timespec_Divide_by_integer (const struct timespec *time, uint32_t iterations, struct timespec *result) |
| Divide timespec by an integer. More...
|
|
void | _Timespec_Divide (const struct timespec *lhs, const struct timespec *rhs, uint32_t *ival_percentage, uint32_t *fval_percentage) |
| Divide a timespec by anonther timespec. More...
|
|
This handler encapsulates functionality related to manipulating POSIX struct timespecs.
◆ _Timespec_Equal_to
#define _Timespec_Equal_to |
( |
|
lhs, |
|
|
|
rhs |
|
) |
| |
Value:( ((lhs)->tv_sec == (rhs)->tv_sec) && \
((lhs)->tv_nsec == (rhs)->tv_nsec) \
)
The Timespec "equal to" operator.
This method is the is equal to than operator for timespecs.
- Parameters
-
[in] | lhs | is the left hand side timespec |
[in] | rhs | is the right hand side timespec |
- Return values
-
This | method returns true if lhs is equal to rhs and false otherwise. |
◆ _Timespec_Get_nanoseconds
#define _Timespec_Get_nanoseconds |
( |
|
_time | ) |
((_time)->tv_nsec) |
Get nanoseconds portion of timespec.
This method returns the nanoseconds portion of the specified timespec
- Parameters
-
[in] | _time | points to the timespec |
- Return values
-
The | nanoseconds portion of _time. |
◆ _Timespec_Get_seconds
#define _Timespec_Get_seconds |
( |
|
_time | ) |
((_time)->tv_sec) |
Get seconds portion of timespec.
This method returns the seconds portion of the specified timespec
- Parameters
-
[in] | _time | points to the timespec |
- Return values
-
The | seconds portion of _time. |
◆ _Timespec_Greater_than
The Timespec "greater than" operator.
This method is the greater than operator for timespecs.
- Parameters
-
[in] | _lhs | is the left hand side timespec |
[in] | _rhs | is the right hand side timespec |
- Return values
-
This | method returns true if lhs is greater than the rhs and false otherwise. |
◆ _Timespec_Set
#define _Timespec_Set |
( |
|
_time, |
|
|
|
_seconds, |
|
|
|
_nanoseconds |
|
) |
| |
Value:do { \
(_time)->tv_sec = (_seconds); \
(_time)->tv_nsec = (_nanoseconds); \
} while (0)
Set timespec to seconds nanosecond.
This method sets the timespec to the specified seconds and nanoseconds value.
- Parameters
-
[in] | _time | points to the timespec instance to validate. |
[in] | _seconds | is the seconds portion of the timespec |
[in] | _nanoseconds | is the nanoseconds portion of the timespec |
◆ _Timespec_Set_to_zero
#define _Timespec_Set_to_zero |
( |
|
_time | ) |
|
Value:do { \
(_time)->tv_sec = 0; \
(_time)->tv_nsec = 0; \
} while (0)
Sets the Timespec to Zero.
This method sets the timespec to zero. value.
- Parameters
-
[in] | _time | points to the timespec instance to zero. |
◆ _Timespec_Add_to()
uint32_t _Timespec_Add_to |
( |
struct timespec * |
time, |
|
|
const struct timespec * |
add |
|
) |
| |
Add two timespecs.
This routine adds two timespecs. The second argument is added to the first.
- Parameters
-
[in] | time | is the base time to be added to |
[in] | add | is the timespec to add to the first argument |
- Return values
-
This | method returns the number of seconds time increased by. |
◆ _Timespec_Divide()
void _Timespec_Divide |
( |
const struct timespec * |
lhs, |
|
|
const struct timespec * |
rhs, |
|
|
uint32_t * |
ival_percentage, |
|
|
uint32_t * |
fval_percentage |
|
) |
| |
Divide a timespec by anonther timespec.
This routine divides a timespec by another timespec. The intended use is for calculating percentages to three decimal points.
- Parameters
-
[in] | lhs | is the left hand number |
[in] | rhs | is the right hand number |
[in] | ival_percentage | is the integer portion of the average |
[in] | fval_percentage | is the thousandths of percentage |
- Return values
-
This | method fills in result. |
◆ _Timespec_Divide_by_integer()
void _Timespec_Divide_by_integer |
( |
const struct timespec * |
time, |
|
|
uint32_t |
iterations, |
|
|
struct timespec * |
result |
|
) |
| |
Divide timespec by an integer.
This routine divides a timespec by an integer value. The expected use is to assist in benchmark calculations where you typically divide a duration by a number of iterations.
- Parameters
-
[in] | time | is the total |
[in] | iterations | is the number of iterations |
[in] | result | is the average time. |
- Return values
-
This | method fills in result. |
◆ _Timespec_From_ticks()
void _Timespec_From_ticks |
( |
uint32_t |
ticks, |
|
|
struct timespec * |
time |
|
) |
| |
Convert ticks to timespec.
This routine converts the ticks value to the corresponding timespec format time.
- Parameters
-
[in] | time | is the timespec format time result |
[in] | ticks | is the number of ticks to convert |
◆ _Timespec_Get_as_nanoseconds()
uint64_t _Timespec_Get_as_nanoseconds |
( |
const struct timespec * |
time | ) |
|
Get the timestamp as nanoseconds.
This method returns the timestamp as nanoseconds.
- Parameters
-
[in] | time | points to the timestamp. |
- Return values
-
◆ _Timespec_Is_valid()
bool _Timespec_Is_valid |
( |
const struct timespec * |
time | ) |
|
Check if timespec is valid.
This method determines the validity of a timespec.
- Parameters
-
[in] | time | is the timespec instance to validate. |
- Return values
-
This | method returns true if time is valid and false otherwise. |
◆ _Timespec_Less_than()
bool _Timespec_Less_than |
( |
const struct timespec * |
lhs, |
|
|
const struct timespec * |
rhs |
|
) |
| |
The Timespec "less than" operator.
This method is the less than operator for timespecs.
- Parameters
-
[in] | lhs | is the left hand side timespec |
[in] | rhs | is the right hand side timespec |
- Return values
-
This | method returns true if lhs is less than the rhs and false otherwise. |
◆ _Timespec_Subtract()
void _Timespec_Subtract |
( |
const struct timespec * |
start, |
|
|
const struct timespec * |
end, |
|
|
struct timespec * |
result |
|
) |
| |
Subtract two timespec.
This routine subtracts two timespecs. result is set to end - start.
- Parameters
-
[in] | start | is the starting time |
[in] | end | is the ending time |
[in] | result | is the difference between starting and ending time. |
- Return values
-
This | method fills in result. |
◆ _Timespec_To_ticks()
uint32_t _Timespec_To_ticks |
( |
const struct timespec * |
time | ) |
|
Convert timespec to number of ticks.
This routine convert the time timespec to the corresponding number of clock ticks.
- Parameters
-
[in] | time | is the time to be converted |
- Return values
-
This | method returns the number of ticks computed. |
This routines converts a timespec to the corresponding number of ticks.
We should ensure the ticks not be truncated by integer division. We need to have it be greater than or equal to the requested time. It should not be shorter.