| rcutils
    master
    C API providing common utilities and data structures. | 
#include <stdint.h>#include "rcutils/macros.h"#include "rcutils/types.h"#include "rcutils/visibility_control.h"Go to the source code of this file.
| Macros | |
| #define | RCUTILS_S_TO_NS(seconds) (seconds * (1000 * 1000 * 1000)) | 
| Convenience macro to convert seconds to nanoseconds.  More... | |
| #define | RCUTILS_MS_TO_NS(milliseconds) (milliseconds * (1000 * 1000)) | 
| Convenience macro to convert milliseconds to nanoseconds.  More... | |
| #define | RCUTILS_US_TO_NS(microseconds) (microseconds * 1000) | 
| Convenience macro to convert microseconds to nanoseconds.  More... | |
| #define | RCUTILS_NS_TO_S(nanoseconds) (nanoseconds / (1000 * 1000 * 1000)) | 
| Convenience macro to convert nanoseconds to seconds.  More... | |
| #define | RCUTILS_NS_TO_MS(nanoseconds) (nanoseconds / (1000 * 1000)) | 
| Convenience macro to convert nanoseconds to milliseconds.  More... | |
| #define | RCUTILS_NS_TO_US(nanoseconds) (nanoseconds / 1000) | 
| Convenience macro to convert nanoseconds to microseconds.  More... | |
| Typedefs | |
| typedef uint64_t | rcutils_time_point_value_t | 
| A single point in time, measured in nanoseconds since the Unix epoch.  More... | |
| typedef int64_t | rcutils_duration_value_t | 
| A duration of time, measured in nanoseconds.  More... | |
| Functions | |
| rcutils_ret_t | rcutils_system_time_now (rcutils_time_point_value_t *now) | 
| rcutils_ret_t | rcutils_steady_time_now (rcutils_time_point_value_t *now) | 
| Retrieve the current time as a rcutils_time_point_value_t object.  More... | |
| #define RCUTILS_S_TO_NS | ( | seconds | ) | (seconds * (1000 * 1000 * 1000)) | 
Convenience macro to convert seconds to nanoseconds.
| #define RCUTILS_MS_TO_NS | ( | milliseconds | ) | (milliseconds * (1000 * 1000)) | 
Convenience macro to convert milliseconds to nanoseconds.
| #define RCUTILS_US_TO_NS | ( | microseconds | ) | (microseconds * 1000) | 
Convenience macro to convert microseconds to nanoseconds.
| #define RCUTILS_NS_TO_S | ( | nanoseconds | ) | (nanoseconds / (1000 * 1000 * 1000)) | 
Convenience macro to convert nanoseconds to seconds.
| #define RCUTILS_NS_TO_MS | ( | nanoseconds | ) | (nanoseconds / (1000 * 1000)) | 
Convenience macro to convert nanoseconds to milliseconds.
| #define RCUTILS_NS_TO_US | ( | nanoseconds | ) | (nanoseconds / 1000) | 
Convenience macro to convert nanoseconds to microseconds.
| typedef uint64_t rcutils_time_point_value_t | 
A single point in time, measured in nanoseconds since the Unix epoch.
| typedef int64_t rcutils_duration_value_t | 
A duration of time, measured in nanoseconds.
| rcutils_ret_t rcutils_system_time_now | ( | rcutils_time_point_value_t * | now | ) | 
This function returns the time from a system clock. The closest equivalent would be to std::chrono::system_clock::now();
The resolution (e.g. nanoseconds vs microseconds) is not guaranteed.
The now argument must point to an allocated rcutils_time_point_value_t object, as the result is copied into this variable.
| Attribute | Adherence — | 
|---|---|
| Allocates Memory | No | 
| Thread-Safe | Yes | 
| Uses Atomics | No | 
| Lock-Free | Yes | 
| [out] | now | a datafield in which the current time is stored | 
RCUTILS_RET_OK if the current time was successfully obtained, or RCUTILS_RET_INVALID_ARGUMENT if any arguments are invalid, or RCUTILS_RET_ERROR an unspecified error occur. | rcutils_ret_t rcutils_steady_time_now | ( | rcutils_time_point_value_t * | now | ) | 
Retrieve the current time as a rcutils_time_point_value_t object.
This function returns the time from a monotonically increasing clock. The closest equivalent would be to std::chrono::steady_clock::now();
The resolution (e.g. nanoseconds vs microseconds) is not guaranteed.
The now argument must point to an allocated rcutils_time_point_value_t object, as the result is copied into this variable.
| Attribute | Adherence — | 
|---|---|
| Allocates Memory | No | 
| Thread-Safe | Yes | 
| Uses Atomics | No | 
| Lock-Free | Yes | 
| [out] | now | a struct in which the current time is stored | 
RCUTILS_RET_OK if the current time was successfully obtained, or RCUTILS_RET_INVALID_ARGUMENT if any arguments are invalid, or RCUTILS_RET_ERROR an unspecified error occur.  1.8.14
 1.8.14