2022-07-01 02:53:03 +03:00
|
|
|
// Copyright (c) Microsoft Corporation
|
|
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "ebpf_program_types.h"
|
2023-09-05 20:57:21 +03:00
|
|
|
#include "ebpf_utilities.h"
|
2023-12-12 16:53:04 +03:00
|
|
|
#include "ebpf_windows.h"
|
2022-07-01 02:53:03 +03:00
|
|
|
|
2023-08-07 22:53:24 +03:00
|
|
|
#define GUID_STRING_LENGTH 38 // not including the null terminator.
|
2022-07-01 02:53:03 +03:00
|
|
|
|
2023-08-07 22:53:24 +03:00
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C"
|
2022-07-01 02:53:03 +03:00
|
|
|
{
|
2023-08-07 22:53:24 +03:00
|
|
|
#endif
|
2022-07-01 02:53:03 +03:00
|
|
|
|
2023-08-07 22:53:24 +03:00
|
|
|
typedef HKEY ebpf_store_key_t;
|
2022-07-01 02:53:03 +03:00
|
|
|
|
2023-08-07 22:53:24 +03:00
|
|
|
extern ebpf_store_key_t ebpf_store_root_key;
|
|
|
|
extern const wchar_t* ebpf_store_root_sub_key;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Update global helper information in the eBPF store.
|
|
|
|
*
|
|
|
|
* @param[in] helper_info Pointer to an array of helper function prototypes.
|
|
|
|
* @param[in] helper_info_count Count of helper function prototypes.
|
|
|
|
*
|
|
|
|
* @returns Status of the operation.
|
|
|
|
*/
|
|
|
|
ebpf_result_t
|
|
|
|
ebpf_store_update_global_helper_information(
|
|
|
|
_In_reads_(helper_info_count) ebpf_helper_function_prototype_t* helper_info, uint32_t helper_info_count);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Update section information in the eBPF store.
|
|
|
|
*
|
|
|
|
* @param[in] section_info Pointer to an array of section information.
|
|
|
|
* @param[in] section_info_count Count of section information entries.
|
|
|
|
*
|
|
|
|
* @returns Status of the operation.
|
|
|
|
*/
|
|
|
|
ebpf_result_t
|
|
|
|
ebpf_store_update_section_information(
|
|
|
|
_In_reads_(section_info_count) const ebpf_program_section_info_t* section_info, uint32_t section_info_count);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Update program information in the eBPF store.
|
|
|
|
*
|
|
|
|
* @param[in] program_info Pointer to an array of program information.
|
|
|
|
* @param[in] program_info_count Count of program information entries.
|
|
|
|
*
|
|
|
|
* @returns Status of the operation.
|
|
|
|
*/
|
|
|
|
ebpf_result_t
|
|
|
|
ebpf_store_update_program_information(
|
|
|
|
_In_reads_(program_info_count) const ebpf_program_info_t* program_info, uint32_t program_info_count);
|
|
|
|
|
2023-12-08 00:10:19 +03:00
|
|
|
/**
|
|
|
|
* @brief Delete program information from the eBPF store.
|
|
|
|
*
|
|
|
|
* @param[in] program_info Pointer to the program information.
|
|
|
|
*
|
|
|
|
* @returns Status of the operation.
|
|
|
|
*/
|
|
|
|
ebpf_result_t
|
|
|
|
ebpf_store_delete_program_information(_In_ const ebpf_program_info_t* program_info);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Delete section information from the eBPF store.
|
|
|
|
*
|
|
|
|
* @param[in] section_info Pointer to the section information.
|
|
|
|
*
|
|
|
|
* @returns Status of the operation.
|
|
|
|
*/
|
|
|
|
ebpf_result_t
|
|
|
|
ebpf_store_delete_section_information(_In_ const ebpf_program_section_info_t* section_info);
|
|
|
|
|
2023-08-07 22:53:24 +03:00
|
|
|
#ifdef __cplusplus
|
2022-07-01 02:53:03 +03:00
|
|
|
}
|
2023-08-07 22:53:24 +03:00
|
|
|
#endif
|