74 строки
1.3 KiB
C
74 строки
1.3 KiB
C
|
/*
|
||
|
* Copyright (c) Microsoft Corporation
|
||
|
* SPDX-License-Identifier: MIT
|
||
|
*/
|
||
|
|
||
|
/*++
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
Header file for structures/prototypes of the driver.
|
||
|
|
||
|
|
||
|
Environment:
|
||
|
|
||
|
Kernel mode
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
#include <ntddk.h>
|
||
|
|
||
|
//
|
||
|
// Shared function prototypes
|
||
|
//
|
||
|
|
||
|
/**
|
||
|
* @brief Register for the WFP callouts used to power hooks.
|
||
|
*
|
||
|
* @param[in] device_object Device object used by this driver.
|
||
|
* @retval STATUS_SUCCESS Operation succeeded.
|
||
|
* @retval FWP_E_* A Windows Filtering Platform (WFP) specific error.
|
||
|
*/
|
||
|
NTSTATUS
|
||
|
net_ebpf_ext_register_callouts(_Inout_ void* device_object);
|
||
|
|
||
|
/**
|
||
|
* @brief Unregister the WFP callouts.
|
||
|
*
|
||
|
*/
|
||
|
void
|
||
|
net_ebpf_ext_unregister_callouts(void);
|
||
|
|
||
|
/**
|
||
|
* @brief Register hook providers with eBPF core.
|
||
|
*
|
||
|
* @retval STATUS_SUCCESS Operation succeeded.
|
||
|
* @retval STATUS_UNSUCCESSFUL Operation failed.
|
||
|
*/
|
||
|
NTSTATUS
|
||
|
net_ebpf_ext_register_providers();
|
||
|
|
||
|
/**
|
||
|
* @brief Unregister hook providers from eBPF core.
|
||
|
*
|
||
|
*/
|
||
|
void
|
||
|
net_ebpf_ext_unregister_providers();
|
||
|
|
||
|
/**
|
||
|
* @brief Register program information providers with eBPF core.
|
||
|
*
|
||
|
* @retval STATUS_SUCCESS Operation succeeded.
|
||
|
* @retval STATUS_UNSUCCESSFUL Operation failed.
|
||
|
*/
|
||
|
NTSTATUS
|
||
|
net_ebpf_ext_program_information_provider_register();
|
||
|
|
||
|
/**
|
||
|
* @brief Unregister program information providers from eBPF core.
|
||
|
*
|
||
|
*/
|
||
|
void
|
||
|
net_ebpf_ext_program_information_provider_unregister();
|