ebpf-for-windows/netebpfext/net_ebpf_ext.h

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();