forked from microsoft/ebpf-for-windows
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnet_ebpf_ext_prog_info_provider.h
40 lines (34 loc) · 1.47 KB
/
net_ebpf_ext_prog_info_provider.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// 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);