// Copyright 2019-2021 The Khronos Group Inc.
//
// SPDX-License-Identifier: Apache-2.0

// "windows.h" for non-Windows compilation environment
typedef int DWORD;
typedef int HANDLE;
typedef int HINSTANCE;
typedef int HMONITOR;
typedef int HWND;
typedef int LPCWSTR;
typedef int SECURITY_ATTRIBUTES;

