#ifndef _UTILS_H_
#define _UTILS_H_

#pragma once

typedef struct _TimeInterval
{
	LARGE_INTEGER fr;
	LARGE_INTEGER t1;
	LARGE_INTEGER t2;
	DWORD mks;
	char str[256];
} TimeInterval;

BOOL SupportHPQ();
BOOL STTI(TimeInterval * t); // Start
BOOL SPTI(TimeInterval * t); // Stop

typedef struct _TimeIntervalCounter
{
	LARGE_INTEGER fr;
	LARGE_INTEGER t1;
	LARGE_INTEGER t2;
    LONGLONG total;
	DWORD mks;
	char str[256];
} TimeIntervalCounter;

BOOL StartTICounter(TimeIntervalCounter * t); // Start
BOOL PauseTICounter(TimeIntervalCounter * t); // Start
BOOL ResumeTICounter(TimeIntervalCounter * t); // Start
BOOL StopTICounter(TimeIntervalCounter * t); // Stop

#endif // _UTILS_H_