40 строки
1.5 KiB
C
40 строки
1.5 KiB
C
// Copyright (c) Microsoft Corporation
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
#pragma once
|
|
|
|
#include "net_ebpf_ext.h"
|
|
|
|
typedef struct _net_ebpf_extension_program_info_provider net_ebpf_extension_program_info_provider_t;
|
|
|
|
/**
|
|
* @brief Data structure for program info NPI provider registration parameters.
|
|
*/
|
|
typedef struct _net_ebpf_extension_program_info_provider_parameters
|
|
{
|
|
const NPI_MODULEID* provider_module_id; ///< NPI provider module ID.
|
|
const ebpf_extension_data_t* provider_data; ///< Program info NPI provider data (contains ebpf_program_data_t).
|
|
} net_ebpf_extension_program_info_provider_parameters_t;
|
|
|
|
/**
|
|
* @brief Register the program information NPI provider.
|
|
*
|
|
* @param[in] provider_characteristics Pointer to the NPI provider characteristics struct.
|
|
* @param[in,out] provider_context Pointer to the provider context being registered.
|
|
*
|
|
* @retval STATUS_SUCCESS Operation succeeded.
|
|
* @retval STATUS_NO_MEMORY Not enough memory to allocate resources.
|
|
*/
|
|
NTSTATUS
|
|
net_ebpf_extension_program_info_provider_register(
|
|
_In_ const net_ebpf_extension_program_info_provider_parameters_t* parameters,
|
|
_Outptr_ net_ebpf_extension_program_info_provider_t** provider_context);
|
|
|
|
/**
|
|
* @brief Unregister the program information NPI provider.
|
|
*
|
|
* @param[in] provider_context Pointer to the provider context being un-registered.
|
|
*/
|
|
void
|
|
net_ebpf_extension_program_info_provider_unregister(
|
|
_Frees_ptr_opt_ net_ebpf_extension_program_info_provider_t* provider_context); |