2020-10-13 19:40:52 +02:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0
|
|
|
|
*
|
|
|
|
* Copyright (C) 2018-2020 WireGuard LLC. All Rights Reserved.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "api.h"
|
|
|
|
#include <Windows.h>
|
|
|
|
|
2020-10-13 19:55:41 +02:00
|
|
|
#define WINTUN_HWID L"Wintun"
|
|
|
|
|
2020-10-15 12:52:01 +02:00
|
|
|
/**
|
|
|
|
* Tests if any of the hardware IDs match ours.
|
|
|
|
*
|
|
|
|
* @param Hwids Multi-string containing a list of hardware IDs.
|
|
|
|
*
|
|
|
|
* @return TRUE on match; FALSE otherwise.
|
|
|
|
*/
|
2020-10-13 19:40:52 +02:00
|
|
|
BOOL
|
2020-10-15 11:32:06 +02:00
|
|
|
DriverIsOurHardwareID(_In_z_ const WCHAR *Hwids);
|
2020-10-13 19:40:52 +02:00
|
|
|
|
2020-10-15 12:52:01 +02:00
|
|
|
/**
|
|
|
|
* Tests if hardware ID or any of the compatible IDs match ours.
|
|
|
|
*
|
|
|
|
* @param DrvInfoDetailData Detailed information about a particular driver information structure.
|
|
|
|
*
|
|
|
|
* @return TRUE on match; FALSE otherwise.
|
|
|
|
*/
|
2020-10-15 11:32:06 +02:00
|
|
|
BOOL
|
|
|
|
DriverIsOurDrvInfoDetail(_In_ const SP_DRVINFO_DETAIL_DATA_W *DrvInfoDetailData);
|
2020-10-13 19:42:30 +02:00
|
|
|
|
2020-10-14 09:09:27 +02:00
|
|
|
#if defined(HAVE_EV) || defined(HAVE_WHQL)
|
|
|
|
|
2020-10-15 12:52:01 +02:00
|
|
|
/**
|
|
|
|
* Queries the version of the driver this wintun.dll is packing.
|
|
|
|
*
|
|
|
|
* DriverDate Pointer to a variable to receive the driver date.
|
|
|
|
*
|
|
|
|
* DriverVersion Pointer to a variable to receive the driver version.
|
|
|
|
*
|
|
|
|
* @return ERROR_SUCCESS on success; Win32 error code otherwise.
|
|
|
|
*/
|
|
|
|
WINTUN_STATUS
|
|
|
|
DriverGetVersion(_Out_ FILETIME *DriverDate, _Out_ DWORDLONG *DriverVersion);
|
2020-10-14 12:51:15 +02:00
|
|
|
|
2020-10-15 12:52:01 +02:00
|
|
|
/**
|
|
|
|
* Installs or updates Wintun driver.
|
|
|
|
*
|
|
|
|
* @return ERROR_SUCCESS on success; Win32 error code otherwise.
|
|
|
|
*/
|
2020-10-13 19:42:30 +02:00
|
|
|
WINTUN_STATUS DriverInstallOrUpdate(VOID);
|
|
|
|
|
2020-10-15 12:52:01 +02:00
|
|
|
/**
|
|
|
|
* Uninstalls Wintun driver.
|
|
|
|
*
|
|
|
|
* @return ERROR_SUCCESS on success; Win32 error code otherwise.
|
|
|
|
*/
|
2020-10-13 19:42:30 +02:00
|
|
|
WINTUN_STATUS DriverUninstall(VOID);
|
2020-10-14 09:09:27 +02:00
|
|
|
|
2020-10-15 12:52:01 +02:00
|
|
|
#endif
|