eBPF for Windows
ebpf_program_attach_type_guids.h
Go to the documentation of this file.
1 // Copyright (c) Microsoft Corporation
2 // SPDX-License-Identifier: MIT
3 #pragma once
4 
5 #include "ebpf_windows.h"
6 
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 
24 #define EBPF_ATTACH_TYPE_BIND_GUID \
25  { \
26  0xb9707e04, 0x8127, 0x4c72, { 0x83, 0x3e, 0x05, 0xb1, 0xfb, 0x43, 0x94, 0x96 } \
27  }
33 
34 #define EBPF_ATTACH_TYPE_CGROUP_INET4_CONNECT_GUID \
35  { \
36  0xa82e37b1, 0xaee7, 0x11ec, { 0x9a, 0x30, 0x18, 0x60, 0x24, 0x89, 0xbe, 0xee } \
37  }
44  __declspec(selectany)
46 
47 #define EBPF_ATTACH_TYPE_CGROUP_INET6_CONNECT_GUID \
48  { \
49  0xa82e37b2, 0xaee7, 0x11ec, { 0x9a, 0x30, 0x18, 0x60, 0x24, 0x89, 0xbe, 0xee } \
50  }
57  __declspec(selectany)
59 
60 #define EBPF_ATTACH_TYPE_CGROUP_INET4_RECV_ACCEPT_GUID \
61  { \
62  0xa82e37b3, 0xaee7, 0x11ec, { 0x9a, 0x30, 0x18, 0x60, 0x24, 0x89, 0xbe, 0xee } \
63  }
70  __declspec(selectany)
72 
73 #define EBPF_ATTACH_TYPE_CGROUP_INET6_RECV_ACCEPT_GUID \
74  { \
75  0xa82e37b4, 0xaee7, 0x11ec, { 0x9a, 0x30, 0x18, 0x60, 0x24, 0x89, 0xbe, 0xee } \
76  }
83  __declspec(selectany)
85 
86 #define EBPF_ATTACH_TYPE_CGROUP_SOCK_OPS_GUID \
87  { \
88  0x837d02cd, 0x3251, 0x4632, { 0x8d, 0x94, 0x60, 0xd3, 0xb4, 0x57, 0x69, 0xf2 } \
89  }
95 
96 #define EBPF_ATTACH_TYPE_SAMPLE_GUID \
97  { \
98  0xf788ef4b, 0x207d, 0x4dc3, { 0x85, 0xcf, 0x0f, 0x2e, 0xa1, 0x07, 0x21, 0x3c } \
99  }
100 
106 
107 #define EBPF_ATTACH_TYPE_XDP_TEST_GUID \
108  { \
109  0x0dccc15d, 0xa5f9, 0x4dc1, { 0xac, 0x79, 0xfa, 0x25, 0xee, 0xf2, 0x15, 0xc3 } \
110  }
116 
117  //
118  // Program Types.
119  //
120 
122 
123 #define EBPF_PROGRAM_TYPE_XDP_GUID \
124  { \
125  0xf1832a85, 0x85d5, 0x45b0, { 0x98, 0xa0, 0x70, 0x69, 0xd6, 0x30, 0x13, 0xb0 } \
126  }
127 
137 
138 #define EBPF_PROGRAM_TYPE_BIND_GUID \
139  { \
140  0x608c517c, 0x6c52, 0x4a26, { 0xb6, 0x77, 0xbb, 0x1c, 0x34, 0x42, 0x5a, 0xdf } \
141  }
142 
152 
153 #define EBPF_PROGRAM_TYPE_CGROUP_SOCK_ADDR_GUID \
154  { \
155  0x92ec8e39, 0xaeec, 0x11ec, { 0x9a, 0x30, 0x18, 0x60, 0x24, 0x89, 0xbe, 0xee } \
156  }
157 
168  __declspec(selectany)
170 
171 #define EBPF_PROGRAM_TYPE_SOCK_OPS_GUID \
172  { \
173  0x43fb224d, 0x68f8, 0x46d6, { 0xaa, 0x3f, 0xc8, 0x56, 0x51, 0x8c, 0xbb, 0x32 } \
174  }
175 
181 
182 #define EBPF_PROGRAM_TYPE_SAMPLE_GUID \
183  { \
184  0xf788ef4a, 0x207d, 0x4dc3, { 0x85, 0xcf, 0x0f, 0x2e, 0xa1, 0x07, 0x21, 0x3c } \
185  }
186 
193 
194 #define EBPF_PROGRAM_TYPE_XDP_TEST_GUID \
195  { \
196  0xce8ccef8, 0x4241, 0x4975, { 0x98, 0x4d, 0xbb, 0x39, 0x21, 0xdf, 0xa7, 0x3c } \
197  }
198 
208 
209 #ifdef __cplusplus
210 }
211 #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:94
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:58
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:136
#define EBPF_ATTACH_TYPE_BIND_GUID
Definition: ebpf_program_attach_type_guids.h:24
#define EBPF_ATTACH_TYPE_XDP_TEST_GUID
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:105
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:84
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
#define EBPF_ATTACH_TYPE_CGROUP_INET4_RECV_ACCEPT_GUID
Definition: ebpf_program_attach_type_guids.h:60
#define EBPF_ATTACH_TYPE_CGROUP_INET6_RECV_ACCEPT_GUID
Definition: ebpf_program_attach_type_guids.h:73
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:207
#define EBPF_ATTACH_TYPE_CGROUP_INET6_CONNECT_GUID
Definition: ebpf_program_attach_type_guids.h:47
#define EBPF_PROGRAM_TYPE_SAMPLE_GUID
Definition: ebpf_program_attach_type_guids.h:182
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:192
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:45
ebpf_program_type_t EBPF_PROGRAM_TYPE_BIND
Program type for handling socket bind() requests.
Definition: ebpf_program_attach_type_guids.h:151
#define EBPF_ATTACH_TYPE_CGROUP_INET4_CONNECT_GUID
Definition: ebpf_program_attach_type_guids.h:34
#define EBPF_PROGRAM_TYPE_CGROUP_SOCK_ADDR_GUID
Definition: ebpf_program_attach_type_guids.h:153
ebpf_attach_type_t EBPF_ATTACH_TYPE_BIND
Attach type for handling socket bind() requests.
Definition: ebpf_program_attach_type_guids.h:32
#define EBPF_PROGRAM_TYPE_XDP_GUID
Definition: ebpf_program_attach_type_guids.h:123
#define EBPF_ATTACH_TYPE_SAMPLE_GUID
Definition: ebpf_program_attach_type_guids.h:96
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:71
#define EBPF_PROGRAM_TYPE_XDP_TEST_GUID
Definition: ebpf_program_attach_type_guids.h:194
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:115
#define EBPF_PROGRAM_TYPE_BIND_GUID
Definition: ebpf_program_attach_type_guids.h:138
ebpf_program_type_t EBPF_PROGRAM_TYPE_SOCK_OPS
Program type for handling socket event notifications.
Definition: ebpf_program_attach_type_guids.h:180
#define EBPF_ATTACH_TYPE_CGROUP_SOCK_OPS_GUID
Definition: ebpf_program_attach_type_guids.h:86
#define EBPF_PROGRAM_TYPE_SOCK_OPS_GUID
Definition: ebpf_program_attach_type_guids.h:171
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:169
ebpf_program_type_t EBPF_PROGRAM_TYPE_UNSPECIFIED
Definition: ebpf_program_attach_type_guids.h:121
GUID ebpf_attach_type_t
Definition: ebpf_windows.h:62
GUID ebpf_program_type_t
Definition: ebpf_windows.h:61