/* * (c) Copyright, Real-Time Innovations, 2002-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_highResolution_h #define clock_highResolution_h #include "clock/clock_interface.h" #include "clock/clock_dll.h" #ifdef __cplusplus extern "C" { #endif /** @internal \file * \brief high resolution clock for performance test. */ /** @internal \defgroup RTIHighResolutionClockClass RTIHighResolutionClock * \ingroup RTIClockClass * * Clock to use for performance measurement. May wrap quickly. */ /** @internal \ingroup RTIHighResolutionClockClass * \brief Destroy a previously created highResolution clock * * @pre unused highResolution clock * * @post if valid, made invalid and resource returned. * * @exception none. */ extern RTIClockDllExport void RTIHighResolutionClock_delete( struct RTIClock *me); /** @internal \ingroup RTIHighResolutionClockClass * \brief Create a new highResolution 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 clock on success, NULL otherwise. * * @see RTIHighResolutionClock_delete */ extern RTIClockDllExport struct RTIClock *RTIHighResolutionClock_new(void); #ifdef __cplusplus } /* extern "C" */ #endif #endif /* clock_highResolution_h */