/*========================== begin_copyright_notice ============================
Copyright (C) 2021 Intel Corporation

SPDX-License-Identifier: MIT
============================= end_copyright_notice ===========================*/

#ifndef _GTREPLAY_TYPES_H
#define _GTREPLAY_TYPES_H

#ifdef TARGET_WINDOWS
#define GTREPLAY_API __declspec(dllexport)
#else
#define GTREPLAY_API
#endif

#ifndef DLLEXP
#define DLLEXP GTREPLAY_API
#endif

#ifndef FASTCALL
#if defined (TARGET_WINDOWS)
#define FASTCALL __fastcall
#elif defined (TARGET_LINUX)
#define FASTCALL
#endif
#endif

typedef void* GTREPLAY_HANDLE;
typedef GTREPLAY_HANDLE GTReplayIns;
typedef GTREPLAY_HANDLE GTReplayBbl;
typedef GTREPLAY_HANDLE GTReplayState;
typedef GTREPLAY_HANDLE GTReplayKernel;

#define GTREPLAY_INVALID ((uint64_t)(-1))
#define GTREPLAY_INVALID_HANDLE ((GTREPLAY_HANDLE)(-1))
#define GTREPLAY_INVALID_ID ((uint32_t)(-1))
#define GTREPLAY_INVALID_ADDRESS 0xFFFFFFFFFFFFFFFF
#define GTREPLAY_INVALID_VALUE 0xFFFFFFFF

#endif // GTREPLAY_TYPES_H
