eBPF for Windows
Loading...
Searching...
No Matches
ebpf_store_helper.h
Go to the documentation of this file.
1// Copyright (c) eBPF for Windows contributors
2// SPDX-License-Identifier: MIT
3
4#pragma once
5
7#include "ebpf_utilities.h"
8#include "ebpf_windows.h"
9
10#define GUID_STRING_LENGTH 38 // not including the null terminator.
11
12#ifdef __cplusplus
13extern "C"
14{
15#endif
16
17 typedef HKEY ebpf_store_key_t;
18
21 extern const wchar_t* ebpf_store_root_sub_key;
22
30
31#define EBPF_BTF_RESOLVED_FUNCTION_PROVIDER_INFO_CURRENT_VERSION 1
32#define EBPF_BTF_RESOLVED_FUNCTION_PROVIDER_INFO_CURRENT_VERSION_SIZE \
33 EBPF_SIZE_INCLUDING_FIELD(ebpf_btf_resolved_function_provider_info_t, btf_resolved_function_prototypes)
34#define EBPF_BTF_RESOLVED_FUNCTION_PROVIDER_INFO_CURRENT_VERSION_TOTAL_SIZE \
35 sizeof(ebpf_btf_resolved_function_provider_info_t)
36#define EBPF_BTF_RESOLVED_FUNCTION_PROVIDER_INFO_HEADER \
37 {EBPF_BTF_RESOLVED_FUNCTION_PROVIDER_INFO_CURRENT_VERSION, \
38 EBPF_BTF_RESOLVED_FUNCTION_PROVIDER_INFO_CURRENT_VERSION_SIZE, \
39 EBPF_BTF_RESOLVED_FUNCTION_PROVIDER_INFO_CURRENT_VERSION_TOTAL_SIZE}
40
51 _In_reads_(helper_info_count) ebpf_helper_function_prototype_t* helper_info, uint32_t helper_info_count);
52
63 _In_reads_(section_info_count) const ebpf_program_section_info_t* section_info, uint32_t section_info_count);
64
75 _In_reads_(program_info_count) const ebpf_program_info_t* program_info, uint32_t program_info_count);
76
86 _In_ const ebpf_btf_resolved_function_provider_info_t* provider_info);
87
97 _In_ const ebpf_btf_resolved_function_provider_info_t* provider_info);
98
108
118
119#ifdef __cplusplus
120}
121#endif
enum ebpf_result ebpf_result_t
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)
Update section information in the eBPF store.
ebpf_store_key_t ebpf_store_hkcu_root_key
HKEY ebpf_store_key_t
Definition ebpf_store_helper.h:17
ebpf_result_t ebpf_store_delete_program_information(const ebpf_program_info_t *program_info)
Delete program information from the eBPF store.
ebpf_result_t ebpf_store_delete_btf_resolved_function_provider_information(const ebpf_btf_resolved_function_provider_info_t *provider_info)
Delete BTF-resolved function provider information from the eBPF store.
ebpf_store_key_t ebpf_store_hklm_root_key
const wchar_t * ebpf_store_root_sub_key
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)
Update global helper information in the eBPF store.
ebpf_result_t ebpf_store_update_program_information_array(_In_reads_(program_info_count) const ebpf_program_info_t *program_info, uint32_t program_info_count)
Update program information in the eBPF store.
ebpf_result_t ebpf_store_delete_section_information(const ebpf_program_section_info_t *section_info)
Delete section information from the eBPF store.
ebpf_result_t ebpf_store_update_btf_resolved_function_provider_information(const ebpf_btf_resolved_function_provider_info_t *provider_info)
Update BTF-resolved function provider information in the eBPF store.
struct _ebpf_btf_resolved_function_provider_info ebpf_btf_resolved_function_provider_info_t
uint8_t GUID[16]
Definition ebpf_windows.h:12
Definition ebpf_program_types.h:50
Definition ebpf_store_helper.h:24
ebpf_extension_header_t header
Definition ebpf_store_helper.h:25
uint32_t btf_resolved_function_count
Definition ebpf_store_helper.h:27
const ebpf_btf_resolved_function_prototype_t * btf_resolved_function_prototypes
Definition ebpf_store_helper.h:28
GUID module_guid
Definition ebpf_store_helper.h:26
Header of an eBPF extension data structure. Every eBPF extension data structure must start with this ...
Definition ebpf_windows.h:222
Definition ebpf_program_types.h:37
Definition ebpf_program_types.h:71
Definition ebpf_program_types.h:138