From b10d97ea615885438ae741467f95d841a2a8628e Mon Sep 17 00:00:00 2001 From: Github Action Date: Thu, 7 Dec 2023 21:57:26 +0000 Subject: [PATCH] Updated documentation Signed-off-by: Github Action --- ebpf__api_8h_source.html | 2 +- ebpf__extension__uuids_8h.html | 1 - ebpf__extension__uuids_8h_source.html | 36 ++- ebpf__program__attach__type__guids_8h.html | 2 - ...rogram__attach__type__guids_8h_source.html | 227 +++++++++--------- ebpf__program__types_8h_source.html | 215 +++++++++-------- ebpf__store__helper_8h.html | 78 +++--- ebpf__store__helper_8h_source.html | 90 +++---- ebpf__windows_8h_source.html | 2 +- globals_e.html | 13 +- globals_func.html | 9 +- search/all_10.js | 36 +-- search/all_11.js | 46 ++-- search/all_12.js | 42 ++-- search/all_13.js | 24 +- search/all_14.js | 16 +- search/all_15.js | 4 +- search/all_16.js | 20 +- search/all_17.js | 2 +- search/all_5.js | 57 ++--- search/all_6.js | 20 +- search/all_7.js | 8 +- search/all_8.js | 40 +-- search/all_9.js | 56 ++--- search/all_a.js | 6 +- search/all_b.js | 60 ++--- search/all_c.js | 44 ++-- search/all_d.js | 24 +- search/all_e.js | 8 +- search/all_f.js | 72 +++--- search/classes_0.js | 58 ++--- search/classes_1.js | 22 +- search/classes_2.js | 2 +- search/classes_3.js | 2 +- search/classes_4.js | 2 +- search/classes_5.js | 2 +- search/defines_0.js | 46 ++-- search/defines_1.js | 4 +- search/defines_10.js | 4 +- search/defines_2.js | 34 +-- search/defines_3.js | 2 +- search/defines_4.js | 2 +- search/defines_5.js | 76 +++--- search/defines_6.js | 2 +- search/defines_7.js | 18 +- search/defines_8.js | 12 +- search/defines_9.js | 2 +- search/defines_a.js | 6 +- search/defines_b.js | 2 +- search/defines_c.js | 2 +- search/defines_d.js | 4 +- search/defines_e.js | 2 +- search/defines_f.js | 2 +- search/enums_0.js | 12 +- search/enums_1.js | 14 +- search/enums_2.js | 12 +- search/enumvalues_0.js | 2 +- search/enumvalues_1.js | 184 +++++++------- search/enumvalues_2.js | 90 +++---- search/enumvalues_3.js | 4 +- search/enumvalues_4.js | 6 +- search/files_0.js | 14 +- search/files_1.js | 30 +-- search/files_2.js | 2 +- search/files_3.js | 6 +- search/files_4.js | 4 +- search/files_5.js | 2 +- search/files_6.js | 2 +- search/files_7.js | 2 +- search/files_8.js | 4 +- search/files_9.js | 2 +- search/functions_0.js | 8 +- search/functions_1.js | 214 ++++++++--------- search/functions_2.js | 2 +- search/functions_3.js | 63 ++--- search/functions_4.js | 18 +- search/functions_5.js | 4 +- search/functions_6.js | 6 +- search/pages_0.js | 2 +- search/typedefs_0.js | 22 +- search/typedefs_1.js | 20 +- search/typedefs_2.js | 72 +++--- search/typedefs_3.js | 2 +- search/typedefs_4.js | 2 +- search/typedefs_5.js | 2 +- search/typedefs_6.js | 6 +- search/typedefs_7.js | 8 +- search/typedefs_8.js | 10 +- search/typedefs_9.js | 6 +- search/typedefs_a.js | 8 +- search/typedefs_b.js | 6 +- search/variables_0.js | 4 +- search/variables_1.js | 26 +- search/variables_10.js | 32 +-- search/variables_11.js | 28 +-- search/variables_12.js | 36 +-- search/variables_13.js | 10 +- search/variables_14.js | 16 +- search/variables_15.js | 2 +- search/variables_16.js | 2 +- search/variables_17.js | 2 +- search/variables_2.js | 20 +- search/variables_3.js | 42 ++-- search/variables_4.js | 36 +-- search/variables_5.js | 62 ++--- search/variables_6.js | 18 +- search/variables_7.js | 4 +- search/variables_8.js | 18 +- search/variables_9.js | 32 +-- search/variables_a.js | 6 +- search/variables_b.js | 34 +-- search/variables_c.js | 32 +-- search/variables_d.js | 18 +- search/variables_e.js | 6 +- search/variables_f.js | 58 ++--- 115 files changed, 1506 insertions(+), 1479 deletions(-) diff --git a/ebpf__api_8h_source.html b/ebpf__api_8h_source.html index bc51da7733..092c6f62bb 100644 --- a/ebpf__api_8h_source.html +++ b/ebpf__api_8h_source.html @@ -324,7 +324,7 @@
GUID ebpf_attach_type_t
Definition: ebpf_windows.h:44
GUID ebpf_program_type_t
Definition: ebpf_windows.h:43
eBPF Map Information
Definition: ebpf_core_structs.h:21
-
Definition: ebpf_program_types.h:32
+
Definition: ebpf_program_types.h:39
Definition: ebpf_api.h:56
struct _ebpf_section_info * next
Definition: ebpf_api.h:57
_Field_z_ const char * section_name
Definition: ebpf_api.h:58
diff --git a/ebpf__extension__uuids_8h.html b/ebpf__extension__uuids_8h.html index e70603da59..99152693d6 100644 --- a/ebpf__extension__uuids_8h.html +++ b/ebpf__extension__uuids_8h.html @@ -72,7 +72,6 @@
#include "ebpf_windows.h"
-#include <stdint.h>

Go to the source code of this file.

diff --git a/ebpf__extension__uuids_8h_source.html b/ebpf__extension__uuids_8h_source.html index c4846eda52..7c2e5d4a7f 100644 --- a/ebpf__extension__uuids_8h_source.html +++ b/ebpf__extension__uuids_8h_source.html @@ -75,25 +75,23 @@
4 
5 #include "ebpf_windows.h"
6 
-
7 #include <stdint.h>
-
8 
-
9 #ifdef __cplusplus
-
10 extern "C"
-
11 {
-
12 #endif
-
15  /* 2934ad50-2154-44b6-9622-6c528c068411 */
-
16  __declspec(selectany) GUID EBPF_PROGRAM_INFO_EXTENSION_IID = {
-
17  0x2934ad50, 0x2154, 0x44b6, {0x96, 0x22, 0x6c, 0x52, 0x8c, 0x06, 0x84, 0x11}};
-
18 
-
21  /* 5d564054-2736-406d-8b22-12bcffaf0a9f */
-
22  __declspec(selectany) GUID EBPF_HOOK_EXTENSION_IID = {
-
23  0x5d564054, 0x2736, 0x406d, {0x8b, 0x22, 0x12, 0xbc, 0xff, 0xaf, 0x0a, 0x9f}};
-
24 
-
25 #ifdef __cplusplus
-
26 }
-
27 #endif
-
GUID EBPF_HOOK_EXTENSION_IID
NPI ID for eBPF hook extension.
Definition: ebpf_extension_uuids.h:22
-
GUID EBPF_PROGRAM_INFO_EXTENSION_IID
NPI ID for eBPF program information extension.
Definition: ebpf_extension_uuids.h:16
+
7 #ifdef __cplusplus
+
8 extern "C"
+
9 {
+
10 #endif
+
13  /* 2934ad50-2154-44b6-9622-6c528c068411 */
+
14  __declspec(selectany) GUID EBPF_PROGRAM_INFO_EXTENSION_IID = {
+
15  0x2934ad50, 0x2154, 0x44b6, {0x96, 0x22, 0x6c, 0x52, 0x8c, 0x06, 0x84, 0x11}};
+
16 
+
19  /* 5d564054-2736-406d-8b22-12bcffaf0a9f */
+
20  __declspec(selectany) GUID EBPF_HOOK_EXTENSION_IID = {
+
21  0x5d564054, 0x2736, 0x406d, {0x8b, 0x22, 0x12, 0xbc, 0xff, 0xaf, 0x0a, 0x9f}};
+
22 
+
23 #ifdef __cplusplus
+
24 }
+
25 #endif
+
GUID EBPF_HOOK_EXTENSION_IID
NPI ID for eBPF hook extension.
Definition: ebpf_extension_uuids.h:20
+
GUID EBPF_PROGRAM_INFO_EXTENSION_IID
NPI ID for eBPF program information extension.
Definition: ebpf_extension_uuids.h:14
uint8_t GUID[16]
Definition: ebpf_windows.h:13
diff --git a/ebpf__program__attach__type__guids_8h.html b/ebpf__program__attach__type__guids_8h.html index 04502c175b..cca5063fc1 100644 --- a/ebpf__program__attach__type__guids_8h.html +++ b/ebpf__program__attach__type__guids_8h.html @@ -73,8 +73,6 @@
#include "ebpf_windows.h"
-#include <stdbool.h>
-#include <stdint.h>

Go to the source code of this file.

diff --git a/ebpf__program__attach__type__guids_8h_source.html b/ebpf__program__attach__type__guids_8h_source.html index ffc751967b..6ded3576b9 100644 --- a/ebpf__program__attach__type__guids_8h_source.html +++ b/ebpf__program__attach__type__guids_8h_source.html @@ -75,121 +75,118 @@
4 
5 #include "ebpf_windows.h"
6 
-
7 #include <stdbool.h>
-
8 #include <stdint.h>
-
9 
-
10 #ifdef __cplusplus
-
11 extern "C"
-
12 {
-
13 #endif
-
14  //
-
15  // Attach Types.
-
16  //
-
17 
-
18  __declspec(selectany) ebpf_attach_type_t EBPF_ATTACH_TYPE_UNSPECIFIED = {0};
-
19 
-
24  __declspec(selectany) ebpf_attach_type_t EBPF_ATTACH_TYPE_XDP = {
-
25  0x85e0d8ef, 0x579e, 0x4931, {0xb0, 0x72, 0x8e, 0xe2, 0x26, 0xbb, 0x2e, 0x9d}};
-
26 
-
31  __declspec(selectany) ebpf_attach_type_t EBPF_ATTACH_TYPE_BIND = {
-
32  0xb9707e04, 0x8127, 0x4c72, {0x83, 0x3e, 0x05, 0xb1, 0xfb, 0x43, 0x94, 0x96}};
-
33 
- -
41  0xa82e37b1, 0xaee7, 0x11ec, {0x9a, 0x30, 0x18, 0x60, 0x24, 0x89, 0xbe, 0xee}};
-
42 
- -
50  0xa82e37b2, 0xaee7, 0x11ec, {0x9a, 0x30, 0x18, 0x60, 0x24, 0x89, 0xbe, 0xee}};
-
51 
- -
59  0xa82e37b3, 0xaee7, 0x11ec, {0x9a, 0x30, 0x18, 0x60, 0x24, 0x89, 0xbe, 0xee}};
-
60 
- -
68  0xa82e37b4, 0xaee7, 0x11ec, {0x9a, 0x30, 0x18, 0x60, 0x24, 0x89, 0xbe, 0xee}};
-
69 
- -
75  0x837d02cd, 0x3251, 0x4632, {0x8d, 0x94, 0x60, 0xd3, 0xb4, 0x57, 0x69, 0xf2}};
-
76 
-
81  __declspec(selectany) ebpf_attach_type_t EBPF_ATTACH_TYPE_SAMPLE = {
-
82  0xf788ef4b, 0x207d, 0x4dc3, {0x85, 0xcf, 0x0f, 0x2e, 0xa1, 0x07, 0x21, 0x3c}};
-
83 
- -
89  0x0dccc15d, 0xa5f9, 0x4dc1, {0xac, 0x79, 0xfa, 0x25, 0xee, 0xf2, 0x15, 0xc3}};
-
90 
-
91  //
-
92  // Program Types.
-
93  //
-
94 
- -
96 
-
97 #define EBPF_PROGRAM_TYPE_XDP_GUID \
-
98  { \
-
99  0xf1832a85, 0x85d5, 0x45b0, { 0x98, 0xa0, 0x70, 0x69, 0xd6, 0x30, 0x13, 0xb0 } \
-
100  }
-
101 
- -
111 
-
112 #define EBPF_PROGRAM_TYPE_BIND_GUID \
-
113  { \
-
114  0x608c517c, 0x6c52, 0x4a26, { 0xb6, 0x77, 0xbb, 0x1c, 0x34, 0x42, 0x5a, 0xdf } \
-
115  }
-
116 
- -
126 
-
127 #define EBPF_PROGRAM_TYPE_CGROUP_SOCK_ADDR_GUID \
-
128  { \
-
129  0x92ec8e39, 0xaeec, 0x11ec, { 0x9a, 0x30, 0x18, 0x60, 0x24, 0x89, 0xbe, 0xee } \
-
130  }
-
131 
-
142  __declspec(selectany)
- -
144 
-
145 #define EBPF_PROGRAM_TYPE_SOCK_OPS_GUID \
-
146  { \
-
147  0x43fb224d, 0x68f8, 0x46d6, { 0xaa, 0x3f, 0xc8, 0x56, 0x51, 0x8c, 0xbb, 0x32 } \
-
148  }
-
149 
- -
155 
-
156 #define EBPF_PROGRAM_TYPE_SAMPLE_GUID \
-
157  { \
-
158  0xf788ef4a, 0x207d, 0x4dc3, { 0x85, 0xcf, 0x0f, 0x2e, 0xa1, 0x07, 0x21, 0x3c } \
-
159  }
-
160 
- -
167 
-
168 #define EBPF_PROGRAM_TYPE_XDP_TEST_GUID \
-
169  { \
-
170  0xce8ccef8, 0x4241, 0x4975, { 0x98, 0x4d, 0xbb, 0x39, 0x21, 0xdf, 0xa7, 0x3c } \
-
171  }
-
172 
- -
182 
-
183 #ifdef __cplusplus
-
184 }
-
185 #endif
-
ebpf_attach_type_t EBPF_ATTACH_TYPE_CGROUP_SOCK_OPS
Attach type for handling socket event notifications.
Definition: ebpf_program_attach_type_guids.h:74
-
ebpf_attach_type_t EBPF_ATTACH_TYPE_CGROUP_INET6_CONNECT
The programs attached to the INET6_CONNECT hook will be invoked for connect() calls on TCP or UDP soc...
Definition: ebpf_program_attach_type_guids.h:49
-
ebpf_program_type_t EBPF_PROGRAM_TYPE_XDP
Program type for handling incoming packets as early as possible.
Definition: ebpf_program_attach_type_guids.h:110
-
ebpf_attach_type_t EBPF_ATTACH_TYPE_SAMPLE
Attach type implemented by eBPF Sample Extension driver, used for testing.
Definition: ebpf_program_attach_type_guids.h:81
-
ebpf_attach_type_t EBPF_ATTACH_TYPE_CGROUP_INET6_RECV_ACCEPT
The programs attached to the INET6_RECV_ACCEPT hook will get invoked for TCP accept() calls or for th...
Definition: ebpf_program_attach_type_guids.h:67
-
ebpf_attach_type_t EBPF_ATTACH_TYPE_XDP
Attach type for handling incoming packets as early as possible.
Definition: ebpf_program_attach_type_guids.h:24
-
ebpf_program_type_t EBPF_PROGRAM_TYPE_XDP_TEST
Program type for handling incoming packets as early as possible.
Definition: ebpf_program_attach_type_guids.h:181
-
#define EBPF_PROGRAM_TYPE_SAMPLE_GUID
Definition: ebpf_program_attach_type_guids.h:156
-
ebpf_attach_type_t EBPF_ATTACH_TYPE_UNSPECIFIED
Definition: ebpf_program_attach_type_guids.h:18
-
ebpf_program_type_t EBPF_PROGRAM_TYPE_SAMPLE
Program type for handling calls from the eBPF sample extension. Used for testing.
Definition: ebpf_program_attach_type_guids.h:166
-
ebpf_attach_type_t EBPF_ATTACH_TYPE_CGROUP_INET4_CONNECT
The programs attached to the INET4_CONNECT hook will be invoked for connect() calls on TCP or UDP soc...
Definition: ebpf_program_attach_type_guids.h:40
-
ebpf_program_type_t EBPF_PROGRAM_TYPE_BIND
Program type for handling socket bind() requests.
Definition: ebpf_program_attach_type_guids.h:125
-
#define EBPF_PROGRAM_TYPE_CGROUP_SOCK_ADDR_GUID
Definition: ebpf_program_attach_type_guids.h:127
-
ebpf_attach_type_t EBPF_ATTACH_TYPE_BIND
Attach type for handling socket bind() requests.
Definition: ebpf_program_attach_type_guids.h:31
-
#define EBPF_PROGRAM_TYPE_XDP_GUID
Definition: ebpf_program_attach_type_guids.h:97
-
ebpf_attach_type_t EBPF_ATTACH_TYPE_CGROUP_INET4_RECV_ACCEPT
The programs attached to the INET4_RECV_ACCEPT hook will get invoked for TCP accept() calls or for th...
Definition: ebpf_program_attach_type_guids.h:58
-
#define EBPF_PROGRAM_TYPE_XDP_TEST_GUID
Definition: ebpf_program_attach_type_guids.h:168
-
ebpf_attach_type_t EBPF_ATTACH_TYPE_XDP_TEST
Attach type for handling incoming packets as early as possible.
Definition: ebpf_program_attach_type_guids.h:88
-
#define EBPF_PROGRAM_TYPE_BIND_GUID
Definition: ebpf_program_attach_type_guids.h:112
-
ebpf_program_type_t EBPF_PROGRAM_TYPE_SOCK_OPS
Program type for handling socket event notifications.
Definition: ebpf_program_attach_type_guids.h:154
-
#define EBPF_PROGRAM_TYPE_SOCK_OPS_GUID
Definition: ebpf_program_attach_type_guids.h:145
-
ebpf_program_type_t EBPF_PROGRAM_TYPE_CGROUP_SOCK_ADDR
Program type for handling various socket operations such as connect(), accept() etc.
Definition: ebpf_program_attach_type_guids.h:143
-
ebpf_program_type_t EBPF_PROGRAM_TYPE_UNSPECIFIED
Definition: ebpf_program_attach_type_guids.h:95
+
7 #ifdef __cplusplus
+
8 extern "C"
+
9 {
+
10 #endif
+
11  //
+
12  // Attach Types.
+
13  //
+
14 
+
15  __declspec(selectany) ebpf_attach_type_t EBPF_ATTACH_TYPE_UNSPECIFIED = {0};
+
16 
+
21  __declspec(selectany) ebpf_attach_type_t EBPF_ATTACH_TYPE_XDP = {
+
22  0x85e0d8ef, 0x579e, 0x4931, {0xb0, 0x72, 0x8e, 0xe2, 0x26, 0xbb, 0x2e, 0x9d}};
+
23 
+
28  __declspec(selectany) ebpf_attach_type_t EBPF_ATTACH_TYPE_BIND = {
+
29  0xb9707e04, 0x8127, 0x4c72, {0x83, 0x3e, 0x05, 0xb1, 0xfb, 0x43, 0x94, 0x96}};
+
30 
+ +
38  0xa82e37b1, 0xaee7, 0x11ec, {0x9a, 0x30, 0x18, 0x60, 0x24, 0x89, 0xbe, 0xee}};
+
39 
+ +
47  0xa82e37b2, 0xaee7, 0x11ec, {0x9a, 0x30, 0x18, 0x60, 0x24, 0x89, 0xbe, 0xee}};
+
48 
+ +
56  0xa82e37b3, 0xaee7, 0x11ec, {0x9a, 0x30, 0x18, 0x60, 0x24, 0x89, 0xbe, 0xee}};
+
57 
+ +
65  0xa82e37b4, 0xaee7, 0x11ec, {0x9a, 0x30, 0x18, 0x60, 0x24, 0x89, 0xbe, 0xee}};
+
66 
+ +
72  0x837d02cd, 0x3251, 0x4632, {0x8d, 0x94, 0x60, 0xd3, 0xb4, 0x57, 0x69, 0xf2}};
+
73 
+
78  __declspec(selectany) ebpf_attach_type_t EBPF_ATTACH_TYPE_SAMPLE = {
+
79  0xf788ef4b, 0x207d, 0x4dc3, {0x85, 0xcf, 0x0f, 0x2e, 0xa1, 0x07, 0x21, 0x3c}};
+
80 
+ +
86  0x0dccc15d, 0xa5f9, 0x4dc1, {0xac, 0x79, 0xfa, 0x25, 0xee, 0xf2, 0x15, 0xc3}};
+
87 
+
88  //
+
89  // Program Types.
+
90  //
+
91 
+ +
93 
+
94 #define EBPF_PROGRAM_TYPE_XDP_GUID \
+
95  { \
+
96  0xf1832a85, 0x85d5, 0x45b0, { 0x98, 0xa0, 0x70, 0x69, 0xd6, 0x30, 0x13, 0xb0 } \
+
97  }
+
98 
+ +
108 
+
109 #define EBPF_PROGRAM_TYPE_BIND_GUID \
+
110  { \
+
111  0x608c517c, 0x6c52, 0x4a26, { 0xb6, 0x77, 0xbb, 0x1c, 0x34, 0x42, 0x5a, 0xdf } \
+
112  }
+
113 
+ +
123 
+
124 #define EBPF_PROGRAM_TYPE_CGROUP_SOCK_ADDR_GUID \
+
125  { \
+
126  0x92ec8e39, 0xaeec, 0x11ec, { 0x9a, 0x30, 0x18, 0x60, 0x24, 0x89, 0xbe, 0xee } \
+
127  }
+
128 
+
139  __declspec(selectany)
+ +
141 
+
142 #define EBPF_PROGRAM_TYPE_SOCK_OPS_GUID \
+
143  { \
+
144  0x43fb224d, 0x68f8, 0x46d6, { 0xaa, 0x3f, 0xc8, 0x56, 0x51, 0x8c, 0xbb, 0x32 } \
+
145  }
+
146 
+ +
152 
+
153 #define EBPF_PROGRAM_TYPE_SAMPLE_GUID \
+
154  { \
+
155  0xf788ef4a, 0x207d, 0x4dc3, { 0x85, 0xcf, 0x0f, 0x2e, 0xa1, 0x07, 0x21, 0x3c } \
+
156  }
+
157 
+ +
164 
+
165 #define EBPF_PROGRAM_TYPE_XDP_TEST_GUID \
+
166  { \
+
167  0xce8ccef8, 0x4241, 0x4975, { 0x98, 0x4d, 0xbb, 0x39, 0x21, 0xdf, 0xa7, 0x3c } \
+
168  }
+
169 
+ +
179 
+
180 #ifdef __cplusplus
+
181 }
+
182 #endif
+
ebpf_attach_type_t EBPF_ATTACH_TYPE_CGROUP_SOCK_OPS
Attach type for handling socket event notifications.
Definition: ebpf_program_attach_type_guids.h:71
+
ebpf_attach_type_t EBPF_ATTACH_TYPE_CGROUP_INET6_CONNECT
The programs attached to the INET6_CONNECT hook will be invoked for connect() calls on TCP or UDP soc...
Definition: ebpf_program_attach_type_guids.h:46
+
ebpf_program_type_t EBPF_PROGRAM_TYPE_XDP
Program type for handling incoming packets as early as possible.
Definition: ebpf_program_attach_type_guids.h:107
+
ebpf_attach_type_t EBPF_ATTACH_TYPE_SAMPLE
Attach type implemented by eBPF Sample Extension driver, used for testing.
Definition: ebpf_program_attach_type_guids.h:78
+
ebpf_attach_type_t EBPF_ATTACH_TYPE_CGROUP_INET6_RECV_ACCEPT
The programs attached to the INET6_RECV_ACCEPT hook will get invoked for TCP accept() calls or for th...
Definition: ebpf_program_attach_type_guids.h:64
+
ebpf_attach_type_t EBPF_ATTACH_TYPE_XDP
Attach type for handling incoming packets as early as possible.
Definition: ebpf_program_attach_type_guids.h:21
+
ebpf_program_type_t EBPF_PROGRAM_TYPE_XDP_TEST
Program type for handling incoming packets as early as possible.
Definition: ebpf_program_attach_type_guids.h:178
+
#define EBPF_PROGRAM_TYPE_SAMPLE_GUID
Definition: ebpf_program_attach_type_guids.h:153
+
ebpf_attach_type_t EBPF_ATTACH_TYPE_UNSPECIFIED
Definition: ebpf_program_attach_type_guids.h:15
+
ebpf_program_type_t EBPF_PROGRAM_TYPE_SAMPLE
Program type for handling calls from the eBPF sample extension. Used for testing.
Definition: ebpf_program_attach_type_guids.h:163
+
ebpf_attach_type_t EBPF_ATTACH_TYPE_CGROUP_INET4_CONNECT
The programs attached to the INET4_CONNECT hook will be invoked for connect() calls on TCP or UDP soc...
Definition: ebpf_program_attach_type_guids.h:37
+
ebpf_program_type_t EBPF_PROGRAM_TYPE_BIND
Program type for handling socket bind() requests.
Definition: ebpf_program_attach_type_guids.h:122
+
#define EBPF_PROGRAM_TYPE_CGROUP_SOCK_ADDR_GUID
Definition: ebpf_program_attach_type_guids.h:124
+
ebpf_attach_type_t EBPF_ATTACH_TYPE_BIND
Attach type for handling socket bind() requests.
Definition: ebpf_program_attach_type_guids.h:28
+
#define EBPF_PROGRAM_TYPE_XDP_GUID
Definition: ebpf_program_attach_type_guids.h:94
+
ebpf_attach_type_t EBPF_ATTACH_TYPE_CGROUP_INET4_RECV_ACCEPT
The programs attached to the INET4_RECV_ACCEPT hook will get invoked for TCP accept() calls or for th...
Definition: ebpf_program_attach_type_guids.h:55
+
#define EBPF_PROGRAM_TYPE_XDP_TEST_GUID
Definition: ebpf_program_attach_type_guids.h:165
+
ebpf_attach_type_t EBPF_ATTACH_TYPE_XDP_TEST
Attach type for handling incoming packets as early as possible.
Definition: ebpf_program_attach_type_guids.h:85
+
#define EBPF_PROGRAM_TYPE_BIND_GUID
Definition: ebpf_program_attach_type_guids.h:109
+
ebpf_program_type_t EBPF_PROGRAM_TYPE_SOCK_OPS
Program type for handling socket event notifications.
Definition: ebpf_program_attach_type_guids.h:151
+
#define EBPF_PROGRAM_TYPE_SOCK_OPS_GUID
Definition: ebpf_program_attach_type_guids.h:142
+
ebpf_program_type_t EBPF_PROGRAM_TYPE_CGROUP_SOCK_ADDR
Program type for handling various socket operations such as connect(), accept() etc.
Definition: ebpf_program_attach_type_guids.h:140
+
ebpf_program_type_t EBPF_PROGRAM_TYPE_UNSPECIFIED
Definition: ebpf_program_attach_type_guids.h:92
GUID ebpf_attach_type_t
Definition: ebpf_windows.h:44
GUID ebpf_program_type_t
Definition: ebpf_windows.h:43
diff --git a/ebpf__program__types_8h_source.html b/ebpf__program__types_8h_source.html index 1d5841896b..8ba59cb4a5 100644 --- a/ebpf__program__types_8h_source.html +++ b/ebpf__program__types_8h_source.html @@ -77,81 +77,88 @@
6 #include "ebpf_result.h"
7 
8 #include <guiddef.h>
-
9 #include <stdint.h>
-
10 
-
11 #define EBPF_MAX_PROGRAM_DESCRIPTOR_NAME_LENGTH 256
-
12 #define EBPF_MAX_HELPER_FUNCTION_NAME_LENGTH 256
-
13 
- -
15 {
-
16  const char* name;
-
17  const ebpf_context_descriptor_t* context_descriptor;
- -
19  uint32_t bpf_prog_type;
- - -
22 
- -
24 {
-
25  uint32_t helper_id;
-
26  const char* name;
-
27  ebpf_return_type_t return_type;
-
28  ebpf_argument_type_t arguments[5];
- -
30 
-
31 typedef struct _ebpf_program_info
-
32 {
- - - - - - -
39 
- -
41 {
- - - -
45 
- -
47  _In_reads_bytes_opt_(data_size_in) const uint8_t* data_in,
-
48  size_t data_size_in,
-
49  _In_reads_bytes_opt_(context_size_in) const uint8_t* context_in,
-
50  size_t context_size_in,
-
51  _Outptr_ void** context);
+
9 #if !defined(NO_CRT) && !defined(_NO_CRT_STDIO_INLINE)
+
10 #include <stdint.h>
+
11 #else
+
12 typedef unsigned char uint8_t;
+
13 typedef unsigned int uint32_t;
+
14 typedef unsigned long long uint64_t;
+
15 typedef unsigned short wchar_t;
+
16 #endif
+
17 
+
18 #define EBPF_MAX_PROGRAM_DESCRIPTOR_NAME_LENGTH 256
+
19 #define EBPF_MAX_HELPER_FUNCTION_NAME_LENGTH 256
+
20 
+ +
22 {
+
23  const char* name;
+
24  const ebpf_context_descriptor_t* context_descriptor;
+ +
26  uint32_t bpf_prog_type;
+ + +
29 
+ +
31 {
+
32  uint32_t helper_id;
+
33  const char* name;
+
34  ebpf_return_type_t return_type;
+
35  ebpf_argument_type_t arguments[5];
+ +
37 
+
38 typedef struct _ebpf_program_info
+
39 {
+ + + + + + +
46 
+ +
48 {
+ + +
52 
- -
54  _In_ void* context,
-
55  _Out_writes_bytes_to_opt_(*data_size_out, *data_size_out) uint8_t* data_out,
-
56  _Inout_ size_t* data_size_out,
-
57  _Out_writes_bytes_to_opt_(*context_size_out, *context_size_out) uint8_t* context_out,
-
58  _Inout_ size_t* context_size_out);
+ +
54  _In_reads_bytes_opt_(data_size_in) const uint8_t* data_in,
+
55  size_t data_size_in,
+
56  _In_reads_bytes_opt_(context_size_in) const uint8_t* context_in,
+
57  size_t context_size_in,
+
58  _Outptr_ void** context);
59 
-
60 typedef struct _ebpf_program_data
-
61 {
- - - - - - - -
70  uint8_t required_irql;
- -
72 
- -
74 {
-
75  const wchar_t* section_name;
- -
77  const GUID* attach_type;
-
78  uint32_t bpf_program_type;
-
79  uint32_t bpf_attach_type;
- + +
61  _In_ void* context,
+
62  _Out_writes_bytes_to_opt_(*data_size_out, *data_size_out) uint8_t* data_out,
+
63  _Inout_ size_t* data_size_out,
+
64  _Out_writes_bytes_to_opt_(*context_size_out, *context_size_out) uint8_t* context_out,
+
65  _Inout_ size_t* context_size_out);
+
66 
+
67 typedef struct _ebpf_program_data
+
68 {
+ + + + + + + +
77  uint8_t required_irql;
+ +
79 
+ +
81 {
+
82  const wchar_t* section_name;
+ +
84  const GUID* attach_type;
+
85  uint32_t bpf_program_type;
+
86  uint32_t bpf_attach_type;
+
struct _ebpf_program_type_descriptor ebpf_program_type_descriptor_t
-
ebpf_result_t(* ebpf_program_context_create_t)(_In_reads_bytes_opt_(data_size_in) const uint8_t *data_in, size_t data_size_in, _In_reads_bytes_opt_(context_size_in) const uint8_t *context_in, size_t context_size_in, void **context)
Definition: ebpf_program_types.h:46
+
ebpf_result_t(* ebpf_program_context_create_t)(_In_reads_bytes_opt_(data_size_in) const uint8_t *data_in, size_t data_size_in, _In_reads_bytes_opt_(context_size_in) const uint8_t *context_in, size_t context_size_in, void **context)
Definition: ebpf_program_types.h:53
struct _ebpf_program_data ebpf_program_data_t
-
void(* ebpf_program_context_destroy_t)(void *context, _Out_writes_bytes_to_opt_(*data_size_out, *data_size_out) uint8_t *data_out, _Inout_ size_t *data_size_out, _Out_writes_bytes_to_opt_(*context_size_out, *context_size_out) uint8_t *context_out, _Inout_ size_t *context_size_out)
Definition: ebpf_program_types.h:53
+
void(* ebpf_program_context_destroy_t)(void *context, _Out_writes_bytes_to_opt_(*data_size_out, *data_size_out) uint8_t *data_out, _Inout_ size_t *data_size_out, _Out_writes_bytes_to_opt_(*context_size_out, *context_size_out) uint8_t *context_out, _Inout_ size_t *context_size_out)
Definition: ebpf_program_types.h:60
struct _ebpf_helper_function_prototype ebpf_helper_function_prototype_t
struct _ebpf_helper_function_addresses ebpf_helper_function_addresses_t
struct _ebpf_program_section_info ebpf_program_section_info_t
@@ -159,39 +166,39 @@
enum ebpf_result ebpf_result_t
uint8_t GUID[16]
Definition: ebpf_windows.h:13
-
Definition: ebpf_program_types.h:41
-
uint64_t * helper_function_address
Definition: ebpf_program_types.h:43
-
uint32_t helper_function_count
Definition: ebpf_program_types.h:42
-
Definition: ebpf_program_types.h:24
-
ebpf_argument_type_t arguments[5]
Definition: ebpf_program_types.h:28
-
ebpf_return_type_t return_type
Definition: ebpf_program_types.h:27
-
const char * name
Definition: ebpf_program_types.h:26
-
uint32_t helper_id
Definition: ebpf_program_types.h:25
-
Definition: ebpf_program_types.h:61
-
const ebpf_program_info_t * program_info
Pointer to program information.
Definition: ebpf_program_types.h:62
-
ebpf_program_context_destroy_t context_destroy
Pointer to context destroy function.
Definition: ebpf_program_types.h:69
-
const ebpf_helper_function_addresses_t * global_helper_function_addresses
Pointer to global helper function addresses being overriden.
Definition: ebpf_program_types.h:67
-
ebpf_program_context_create_t context_create
Pointer to context create function.
Definition: ebpf_program_types.h:68
-
const ebpf_helper_function_addresses_t * program_type_specific_helper_function_addresses
Definition: ebpf_program_types.h:64
-
uint8_t required_irql
IRQL at which the program is invoked.
Definition: ebpf_program_types.h:70
-
Definition: ebpf_program_types.h:32
-
const ebpf_helper_function_prototype_t * global_helper_prototype
Definition: ebpf_program_types.h:37
-
const ebpf_helper_function_prototype_t * program_type_specific_helper_prototype
Definition: ebpf_program_types.h:35
-
ebpf_program_type_descriptor_t program_type_descriptor
Definition: ebpf_program_types.h:33
-
uint32_t count_of_program_type_specific_helpers
Definition: ebpf_program_types.h:34
-
uint32_t count_of_global_helpers
Definition: ebpf_program_types.h:36
-
Definition: ebpf_program_types.h:74
-
const GUID * attach_type
Definition: ebpf_program_types.h:77
-
const wchar_t * section_name
Definition: ebpf_program_types.h:75
-
const GUID * program_type
Definition: ebpf_program_types.h:76
-
uint32_t bpf_attach_type
Definition: ebpf_program_types.h:79
-
uint32_t bpf_program_type
Definition: ebpf_program_types.h:78
-
Definition: ebpf_program_types.h:15
-
uint32_t bpf_prog_type
Definition: ebpf_program_types.h:19
-
const char * name
Definition: ebpf_program_types.h:16
-
GUID program_type
Definition: ebpf_program_types.h:18
-
char is_privileged
Definition: ebpf_program_types.h:20
-
const ebpf_context_descriptor_t * context_descriptor
Definition: ebpf_program_types.h:17
+
Definition: ebpf_program_types.h:48
+
uint64_t * helper_function_address
Definition: ebpf_program_types.h:50
+
uint32_t helper_function_count
Definition: ebpf_program_types.h:49
+
Definition: ebpf_program_types.h:31
+
ebpf_argument_type_t arguments[5]
Definition: ebpf_program_types.h:35
+
ebpf_return_type_t return_type
Definition: ebpf_program_types.h:34
+
const char * name
Definition: ebpf_program_types.h:33
+
uint32_t helper_id
Definition: ebpf_program_types.h:32
+
Definition: ebpf_program_types.h:68
+
const ebpf_program_info_t * program_info
Pointer to program information.
Definition: ebpf_program_types.h:69
+
ebpf_program_context_destroy_t context_destroy
Pointer to context destroy function.
Definition: ebpf_program_types.h:76
+
const ebpf_helper_function_addresses_t * global_helper_function_addresses
Pointer to global helper function addresses being overriden.
Definition: ebpf_program_types.h:74
+
ebpf_program_context_create_t context_create
Pointer to context create function.
Definition: ebpf_program_types.h:75
+
const ebpf_helper_function_addresses_t * program_type_specific_helper_function_addresses
Definition: ebpf_program_types.h:71
+
uint8_t required_irql
IRQL at which the program is invoked.
Definition: ebpf_program_types.h:77
+
Definition: ebpf_program_types.h:39
+
const ebpf_helper_function_prototype_t * global_helper_prototype
Definition: ebpf_program_types.h:44
+
const ebpf_helper_function_prototype_t * program_type_specific_helper_prototype
Definition: ebpf_program_types.h:42
+
ebpf_program_type_descriptor_t program_type_descriptor
Definition: ebpf_program_types.h:40
+
uint32_t count_of_program_type_specific_helpers
Definition: ebpf_program_types.h:41
+
uint32_t count_of_global_helpers
Definition: ebpf_program_types.h:43
+
Definition: ebpf_program_types.h:81
+
const GUID * attach_type
Definition: ebpf_program_types.h:84
+
const wchar_t * section_name
Definition: ebpf_program_types.h:82
+
const GUID * program_type
Definition: ebpf_program_types.h:83
+
uint32_t bpf_attach_type
Definition: ebpf_program_types.h:86
+
uint32_t bpf_program_type
Definition: ebpf_program_types.h:85
+
Definition: ebpf_program_types.h:22
+
uint32_t bpf_prog_type
Definition: ebpf_program_types.h:26
+
const char * name
Definition: ebpf_program_types.h:23
+
GUID program_type
Definition: ebpf_program_types.h:25
+
char is_privileged
Definition: ebpf_program_types.h:27
+
const ebpf_context_descriptor_t * context_descriptor
Definition: ebpf_program_types.h:24
@@ -94,9 +93,6 @@
- - - @@ -106,6 +102,12 @@ + + + + + +

Functions

ebpf_result_t ebpf_store_update_helper_prototype (ebpf_store_key_t helper_info_key, const ebpf_helper_function_prototype_t *helper_info)
 Update the provider prototype information in the eBPF store. More...
 
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. More...
 
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)
 Update program information in the eBPF store. More...
 
ebpf_result_t ebpf_store_delete_program_information (const ebpf_program_info_t *program_info)
 Delete program information from the eBPF store. More...
 
ebpf_result_t ebpf_store_delete_section_information (const ebpf_program_section_info_t *section_info)
 Delete section information from the eBPF store. More...
 
@@ -145,37 +147,53 @@

Function Documentation

- -

◆ ebpf_store_update_global_helper_information()

+ +

◆ ebpf_store_delete_program_information()

Variables

- + - - - - - + + - - +
ebpf_result_t ebpf_store_update_global_helper_information ebpf_result_t ebpf_store_delete_program_information (_In_reads_(helper_info_count) ebpf_helper_function_prototype_thelper_info,
const ebpf_program_info_tprogram_info) uint32_t helper_info_count 
+
+ +

Delete program information from the eBPF store.

+
Parameters
+ + +
[in]program_infoPointer to the program information.
+
+
+
Returns
Status of the operation.
+ +
+ + +

◆ ebpf_store_delete_section_information()

+ +
+
+ + + + + - -
ebpf_result_t ebpf_store_delete_section_information (const ebpf_program_section_info_tsection_info) )
-

Update global helper information in the eBPF store.

+

Delete section information from the eBPF store.

Parameters
- - +
[in]helper_infoPointer to an array of helper function prototypes.
[in]helper_info_countCount of helper function prototypes.
[in]section_infoPointer to the section information.
@@ -183,23 +201,23 @@

-

◆ ebpf_store_update_helper_prototype()

+ +

◆ ebpf_store_update_global_helper_information()

- + - - + + - - + + @@ -209,11 +227,11 @@

-

Update the provider prototype information in the eBPF store.

+

Update global helper information in the eBPF store.

Parameters

ebpf_result_t ebpf_store_update_helper_prototype ebpf_result_t ebpf_store_update_global_helper_information (ebpf_store_key_t helper_info_key, _In_reads_(helper_info_count) ebpf_helper_function_prototype_thelper_info,
const ebpf_helper_function_prototype_thelper_info uint32_t helper_info_count 
- - + +
[in]helper_info_keyPointer to the store key to be initialized.
[in]helper_infoPointer to the helper function prototype.
[in]helper_infoPointer to an array of helper function prototypes.
[in]helper_info_countCount of helper function prototypes.
diff --git a/ebpf__store__helper_8h_source.html b/ebpf__store__helper_8h_source.html index b8b339ce6c..6c449363ac 100644 --- a/ebpf__store__helper_8h_source.html +++ b/ebpf__store__helper_8h_source.html @@ -75,60 +75,62 @@
4 #pragma once
5 
6 #include "ebpf_program_types.h"
-
7 #include "ebpf_shared_framework.h"
-
8 #include "ebpf_windows.h"
-
9 #ifdef USER_MODE
-
10 #include "ebpf_utilities.h"
-
11 #else
+
7 #include "ebpf_windows.h"
+
8 #ifdef USER_MODE
+
9 #include "ebpf_utilities.h"
+
10 #else
+
11 #include <ntifs.h>
12 #include <minwindef.h>
-
13 #include <wdm.h>
-
14 #endif
-
15 
-
16 #define GUID_STRING_LENGTH 38 // not including the null terminator.
-
17 
-
18 #ifdef __cplusplus
-
19 extern "C"
-
20 {
-
21 #endif
-
22 
-
23  typedef HKEY ebpf_store_key_t;
-
24 
- -
26  extern const wchar_t* ebpf_store_root_sub_key;
-
27 
- - -
38  ebpf_store_key_t helper_info_key, _In_ const ebpf_helper_function_prototype_t* helper_info);
-
39 
- - -
50  _In_reads_(helper_info_count) ebpf_helper_function_prototype_t* helper_info, uint32_t helper_info_count);
-
51 
- - -
62  _In_reads_(section_info_count) const ebpf_program_section_info_t* section_info, uint32_t section_info_count);
-
63 
- - -
74  _In_reads_(program_info_count) const ebpf_program_info_t* program_info, uint32_t program_info_count);
-
75 
-
76 #ifdef __cplusplus
-
77 }
-
78 #endif
+
13 #endif
+
14 
+
15 #define GUID_STRING_LENGTH 38 // not including the null terminator.
+
16 
+
17 #ifdef __cplusplus
+
18 extern "C"
+
19 {
+
20 #endif
+
21 
+
22  typedef HKEY ebpf_store_key_t;
+
23 
+ +
25  extern const wchar_t* ebpf_store_root_sub_key;
+
26 
+ + +
37  _In_reads_(helper_info_count) ebpf_helper_function_prototype_t* helper_info, uint32_t helper_info_count);
+
38 
+ + +
49  _In_reads_(section_info_count) const ebpf_program_section_info_t* section_info, uint32_t section_info_count);
+
50 
+ + +
61  _In_reads_(program_info_count) const ebpf_program_info_t* program_info, uint32_t program_info_count);
+
62 
+ + +
72 
+ + +
82 
+
83 #ifdef __cplusplus
+
84 }
+
85 #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_result_t ebpf_store_update_program_information(_In_reads_(program_info_count) const ebpf_program_info_t *program_info, uint32_t program_info_count)
Update program information in the eBPF store.
-
HKEY ebpf_store_key_t
Definition: ebpf_store_helper.h:23
-
ebpf_result_t ebpf_store_update_helper_prototype(ebpf_store_key_t helper_info_key, const ebpf_helper_function_prototype_t *helper_info)
Update the provider prototype information in the eBPF store.
+
HKEY ebpf_store_key_t
Definition: ebpf_store_helper.h:22
ebpf_store_key_t ebpf_store_root_key
+
ebpf_result_t ebpf_store_delete_program_information(const ebpf_program_info_t *program_info)
Delete program information from the eBPF store.
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_delete_section_information(const ebpf_program_section_info_t *section_info)
Delete section information from the eBPF store.
-
Definition: ebpf_program_types.h:24
-
Definition: ebpf_program_types.h:32
-
Definition: ebpf_program_types.h:74
+
Definition: ebpf_program_types.h:31
+
Definition: ebpf_program_types.h:39
+
Definition: ebpf_program_types.h:81