stopwatch.h (1549B)
1/** 2 * FreeRDP: A Remote Desktop Protocol Implementation 3 * Stopwatch Utils 4 * 5 * Copyright 2011 Stephen Erisman 6 * 7 * Licensed under the Apache License, Version 2.0 (the "License"); 8 * you may not use this file except in compliance with the License. 9 * You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, software 14 * distributed under the License is distributed on an "AS IS" BASIS, 15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 * See the License for the specific language governing permissions and 17 * limitations under the License. 18 */ 19 20#ifndef FREERDP_UTILS_STOPWATCH_H 21#define FREERDP_UTILS_STOPWATCH_H 22 23#include <freerdp/api.h> 24#include <freerdp/types.h> 25 26struct _STOPWATCH 27{ 28 UINT64 start; 29 UINT64 end; 30 UINT64 elapsed; 31 UINT32 count; 32}; 33typedef struct _STOPWATCH STOPWATCH; 34 35#ifdef __cplusplus 36extern "C" 37{ 38#endif 39 40 FREERDP_API STOPWATCH* stopwatch_create(void); 41 FREERDP_API void stopwatch_free(STOPWATCH* stopwatch); 42 43 FREERDP_API void stopwatch_start(STOPWATCH* stopwatch); 44 FREERDP_API void stopwatch_stop(STOPWATCH* stopwatch); 45 FREERDP_API void stopwatch_reset(STOPWATCH* stopwatch); 46 47 FREERDP_API double stopwatch_get_elapsed_time_in_seconds(STOPWATCH* stopwatch); 48 FREERDP_API void stopwatch_get_elapsed_time_in_useconds(STOPWATCH* stopwatch, UINT32* sec, 49 UINT32* usec); 50 51#ifdef __cplusplus 52} 53#endif 54 55#endif /* FREERDP_UTILS_STOPWATCH_H */