Azure IoT / azure_c_shared_utility

Dependents:   STM32F746_iothub_client_sample_mqtt f767zi_mqtt iothub_client_sample_amqp iothub_client_sample_http ... more

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers tickcounter.h Source File

tickcounter.h

00001 // Copyright (c) Microsoft. All rights reserved.
00002 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
00003 
00004 #ifndef TICKCOUNTER_H
00005 #define TICKCOUNTER_H
00006 
00007 #ifdef __cplusplus
00008 extern "C" {
00009 #endif /* __cplusplus */
00010 
00011 #include <stdint.h>
00012 
00013 #include "azure_c_shared_utility/umock_c_prod.h"
00014 
00015 #if _WIN32
00016     typedef uint_fast64_t tickcounter_ms_t; // Use 64-bit because of QueryPerformanceCounter call
00017 #else
00018     typedef uint_fast32_t tickcounter_ms_t;
00019 #endif
00020 
00021     typedef struct TICK_COUNTER_INSTANCE_TAG* TICK_COUNTER_HANDLE;
00022 
00023     MOCKABLE_FUNCTION(, TICK_COUNTER_HANDLE, tickcounter_create);
00024     MOCKABLE_FUNCTION(, void, tickcounter_destroy, TICK_COUNTER_HANDLE, tick_counter);
00025     MOCKABLE_FUNCTION(, int, tickcounter_get_current_ms, TICK_COUNTER_HANDLE, tick_counter, tickcounter_ms_t*, current_ms);
00026 
00027 #ifdef __cplusplus
00028 }
00029 #endif /* __cplusplus */
00030 
00031 #endif /* TICKCOUNTER_H */