/* * (c) Copyright, Real-Time Innovations, 2008-2024. * All rights reserved. * * No duplications, whole or partial, manual or electronic, may be made * without express written permission. Any such copies, or * revisions thereof, must display this notice unaltered. * This code contains trade secrets of Real-Time Innovations, Inc. */ #ifndef clock_monotonic_h #define clock_monotonic_h #include "clock/clock_interface.h" #include "clock/clock_dll.h" #ifdef __cplusplus extern "C" { #endif /*e \file * \brief monotonic clock. */ /*e \defgroup RTIMonotonicClockClass RTIMonotonicClock * \ingroup RTIClockClass * * Low resolution (generally not good enough to use in performance * measurement) clock. Not synchronized to any time standard. * * @see RTIHighResolutionClock */ struct RTIMonotonicClock; /*e \ingroup RTIMonotonicClockClass * \brief Destroy a previously created monotonic clock * * @pre unused monotonic clock * * @post if valid, made invalid and resource returned. * * @exception none. */ extern RTIClockDllExport void RTIMonotonicClock_delete(struct RTIClock *me); /*e \ingroup RTIMonotonicClockClass * \brief Create a new monotonic clock * * @pre Valid pointer to store the allocated clock pointer * * @post On success, the clock is created and ready to provide the current time. * * @exception RTI_LOG_PRECONDITION_FAILURE * @exception RTI_LOG_MALLOC_FAILURE * @exception RTI_LOG_CREATION_FAILURE_s * * @return Pointer to the newly created monotonic clock on success, NULL * otherwise. * * @see RTIMonotonicClock_delete */ extern RTIClockDllExport struct RTIClock *RTIMonotonicClock_new(void); extern RTIClockDllExport RTIBool RTIMonotonicClockUtility_isSupported(void); #ifdef __cplusplus } /* extern "C" */ #endif #endif /* clock_monotonic_h */