eBPF for Windows
Macros | Variables
ebpf_program_attach_type_guids.h File Reference
#include "ebpf_windows.h"

Go to the source code of this file.

Macros

#define EBPF_ATTACH_TYPE_BIND_GUID
 
#define EBPF_ATTACH_TYPE_CGROUP_INET4_CONNECT_GUID
 
#define EBPF_ATTACH_TYPE_CGROUP_INET6_CONNECT_GUID
 
#define EBPF_ATTACH_TYPE_CGROUP_INET4_RECV_ACCEPT_GUID
 
#define EBPF_ATTACH_TYPE_CGROUP_INET6_RECV_ACCEPT_GUID
 
#define EBPF_ATTACH_TYPE_CGROUP_SOCK_OPS_GUID
 
#define EBPF_ATTACH_TYPE_SAMPLE_GUID
 
#define EBPF_ATTACH_TYPE_XDP_TEST_GUID
 
#define EBPF_PROGRAM_TYPE_XDP_GUID
 
#define EBPF_PROGRAM_TYPE_BIND_GUID
 
#define EBPF_PROGRAM_TYPE_CGROUP_SOCK_ADDR_GUID
 
#define EBPF_PROGRAM_TYPE_SOCK_OPS_GUID
 
#define EBPF_PROGRAM_TYPE_SAMPLE_GUID
 
#define EBPF_PROGRAM_TYPE_XDP_TEST_GUID
 

Variables

ebpf_attach_type_t EBPF_ATTACH_TYPE_UNSPECIFIED = {0}
 
ebpf_attach_type_t EBPF_ATTACH_TYPE_XDP
 Attach type for handling incoming packets as early as possible. More...
 
ebpf_attach_type_t EBPF_ATTACH_TYPE_BIND = EBPF_ATTACH_TYPE_BIND_GUID
 Attach type for handling socket bind() requests. More...
 
ebpf_attach_type_t EBPF_ATTACH_TYPE_CGROUP_INET4_CONNECT = EBPF_ATTACH_TYPE_CGROUP_INET4_CONNECT_GUID
 The programs attached to the INET4_CONNECT hook will be invoked for connect() calls on TCP or UDP sockets or when a UDP socket sends a packet to a unique remote address/port tuple. More...
 
ebpf_attach_type_t EBPF_ATTACH_TYPE_CGROUP_INET6_CONNECT = EBPF_ATTACH_TYPE_CGROUP_INET6_CONNECT_GUID
 The programs attached to the INET6_CONNECT hook will be invoked for connect() calls on TCP or UDP sockets or when a UDP socket sends a packet to a unique remote address/port tuple. More...
 
ebpf_attach_type_t EBPF_ATTACH_TYPE_CGROUP_INET4_RECV_ACCEPT = EBPF_ATTACH_TYPE_CGROUP_INET4_RECV_ACCEPT_GUID
 The programs attached to the INET4_RECV_ACCEPT hook will get invoked for TCP accept() calls or for the first unicast UDP packet from a unique remote address/port tuple. More...
 
ebpf_attach_type_t EBPF_ATTACH_TYPE_CGROUP_INET6_RECV_ACCEPT = EBPF_ATTACH_TYPE_CGROUP_INET6_RECV_ACCEPT_GUID
 The programs attached to the INET6_RECV_ACCEPT hook will get invoked for TCP accept() calls or for the first unicast UDP packet from a unique remote address/port tuple. More...
 
ebpf_attach_type_t EBPF_ATTACH_TYPE_CGROUP_SOCK_OPS = EBPF_ATTACH_TYPE_CGROUP_SOCK_OPS_GUID
 Attach type for handling socket event notifications. More...
 
ebpf_attach_type_t EBPF_ATTACH_TYPE_SAMPLE = EBPF_ATTACH_TYPE_SAMPLE_GUID
 Attach type implemented by eBPF Sample Extension driver, used for testing. More...
 
ebpf_attach_type_t EBPF_ATTACH_TYPE_XDP_TEST = EBPF_ATTACH_TYPE_XDP_TEST_GUID
 Attach type for handling incoming packets as early as possible. More...
 
ebpf_program_type_t EBPF_PROGRAM_TYPE_UNSPECIFIED = {0}
 
ebpf_program_type_t EBPF_PROGRAM_TYPE_XDP = EBPF_PROGRAM_TYPE_XDP_GUID
 Program type for handling incoming packets as early as possible. More...
 
ebpf_program_type_t EBPF_PROGRAM_TYPE_BIND = EBPF_PROGRAM_TYPE_BIND_GUID
 Program type for handling socket bind() requests. More...
 
ebpf_program_type_t EBPF_PROGRAM_TYPE_CGROUP_SOCK_ADDR = EBPF_PROGRAM_TYPE_CGROUP_SOCK_ADDR_GUID
 Program type for handling various socket operations such as connect(), accept() etc. More...
 
ebpf_program_type_t EBPF_PROGRAM_TYPE_SOCK_OPS = EBPF_PROGRAM_TYPE_SOCK_OPS_GUID
 Program type for handling socket event notifications. More...
 
ebpf_program_type_t EBPF_PROGRAM_TYPE_SAMPLE = EBPF_PROGRAM_TYPE_SAMPLE_GUID
 Program type for handling calls from the eBPF sample extension. Used for testing. More...
 
ebpf_program_type_t EBPF_PROGRAM_TYPE_XDP_TEST = EBPF_PROGRAM_TYPE_XDP_TEST_GUID
 Program type for handling incoming packets as early as possible. More...
 

Macro Definition Documentation

◆ EBPF_ATTACH_TYPE_BIND_GUID

#define EBPF_ATTACH_TYPE_BIND_GUID
Value:
{ \
0xb9707e04, 0x8127, 0x4c72, { 0x83, 0x3e, 0x05, 0xb1, 0xfb, 0x43, 0x94, 0x96 } \
}

◆ EBPF_ATTACH_TYPE_CGROUP_INET4_CONNECT_GUID

#define EBPF_ATTACH_TYPE_CGROUP_INET4_CONNECT_GUID
Value:
{ \
0xa82e37b1, 0xaee7, 0x11ec, { 0x9a, 0x30, 0x18, 0x60, 0x24, 0x89, 0xbe, 0xee } \
}

◆ EBPF_ATTACH_TYPE_CGROUP_INET4_RECV_ACCEPT_GUID

#define EBPF_ATTACH_TYPE_CGROUP_INET4_RECV_ACCEPT_GUID
Value:
{ \
0xa82e37b3, 0xaee7, 0x11ec, { 0x9a, 0x30, 0x18, 0x60, 0x24, 0x89, 0xbe, 0xee } \
}

◆ EBPF_ATTACH_TYPE_CGROUP_INET6_CONNECT_GUID

#define EBPF_ATTACH_TYPE_CGROUP_INET6_CONNECT_GUID
Value:
{ \
0xa82e37b2, 0xaee7, 0x11ec, { 0x9a, 0x30, 0x18, 0x60, 0x24, 0x89, 0xbe, 0xee } \
}

◆ EBPF_ATTACH_TYPE_CGROUP_INET6_RECV_ACCEPT_GUID

#define EBPF_ATTACH_TYPE_CGROUP_INET6_RECV_ACCEPT_GUID
Value:
{ \
0xa82e37b4, 0xaee7, 0x11ec, { 0x9a, 0x30, 0x18, 0x60, 0x24, 0x89, 0xbe, 0xee } \
}

◆ EBPF_ATTACH_TYPE_CGROUP_SOCK_OPS_GUID

#define EBPF_ATTACH_TYPE_CGROUP_SOCK_OPS_GUID
Value:
{ \
0x837d02cd, 0x3251, 0x4632, { 0x8d, 0x94, 0x60, 0xd3, 0xb4, 0x57, 0x69, 0xf2 } \
}

◆ EBPF_ATTACH_TYPE_SAMPLE_GUID

#define EBPF_ATTACH_TYPE_SAMPLE_GUID
Value:
{ \
0xf788ef4b, 0x207d, 0x4dc3, { 0x85, 0xcf, 0x0f, 0x2e, 0xa1, 0x07, 0x21, 0x3c } \
}

◆ EBPF_ATTACH_TYPE_XDP_TEST_GUID

#define EBPF_ATTACH_TYPE_XDP_TEST_GUID
Value:
{ \
0x0dccc15d, 0xa5f9, 0x4dc1, { 0xac, 0x79, 0xfa, 0x25, 0xee, 0xf2, 0x15, 0xc3 } \
}

◆ EBPF_PROGRAM_TYPE_BIND_GUID

#define EBPF_PROGRAM_TYPE_BIND_GUID
Value:
{ \
0x608c517c, 0x6c52, 0x4a26, { 0xb6, 0x77, 0xbb, 0x1c, 0x34, 0x42, 0x5a, 0xdf } \
}

◆ EBPF_PROGRAM_TYPE_CGROUP_SOCK_ADDR_GUID

#define EBPF_PROGRAM_TYPE_CGROUP_SOCK_ADDR_GUID
Value:
{ \
0x92ec8e39, 0xaeec, 0x11ec, { 0x9a, 0x30, 0x18, 0x60, 0x24, 0x89, 0xbe, 0xee } \
}

◆ EBPF_PROGRAM_TYPE_SAMPLE_GUID

#define EBPF_PROGRAM_TYPE_SAMPLE_GUID
Value:
{ \
0xf788ef4a, 0x207d, 0x4dc3, { 0x85, 0xcf, 0x0f, 0x2e, 0xa1, 0x07, 0x21, 0x3c } \
}

◆ EBPF_PROGRAM_TYPE_SOCK_OPS_GUID

#define EBPF_PROGRAM_TYPE_SOCK_OPS_GUID
Value:
{ \
0x43fb224d, 0x68f8, 0x46d6, { 0xaa, 0x3f, 0xc8, 0x56, 0x51, 0x8c, 0xbb, 0x32 } \
}

◆ EBPF_PROGRAM_TYPE_XDP_GUID

#define EBPF_PROGRAM_TYPE_XDP_GUID
Value:
{ \
0xf1832a85, 0x85d5, 0x45b0, { 0x98, 0xa0, 0x70, 0x69, 0xd6, 0x30, 0x13, 0xb0 } \
}

◆ EBPF_PROGRAM_TYPE_XDP_TEST_GUID

#define EBPF_PROGRAM_TYPE_XDP_TEST_GUID
Value:
{ \
0xce8ccef8, 0x4241, 0x4975, { 0x98, 0x4d, 0xbb, 0x39, 0x21, 0xdf, 0xa7, 0x3c } \
}

Variable Documentation

◆ EBPF_ATTACH_TYPE_BIND

Attach type for handling socket bind() requests.

Program type: EBPF_PROGRAM_TYPE_BIND

◆ EBPF_ATTACH_TYPE_CGROUP_INET4_CONNECT

ebpf_attach_type_t EBPF_ATTACH_TYPE_CGROUP_INET4_CONNECT = EBPF_ATTACH_TYPE_CGROUP_INET4_CONNECT_GUID

The programs attached to the INET4_CONNECT hook will be invoked for connect() calls on TCP or UDP sockets or when a UDP socket sends a packet to a unique remote address/port tuple.

Program type: EBPF_PROGRAM_TYPE_CGROUP_SOCK_ADDR

◆ EBPF_ATTACH_TYPE_CGROUP_INET4_RECV_ACCEPT

ebpf_attach_type_t EBPF_ATTACH_TYPE_CGROUP_INET4_RECV_ACCEPT = EBPF_ATTACH_TYPE_CGROUP_INET4_RECV_ACCEPT_GUID

The programs attached to the INET4_RECV_ACCEPT hook will get invoked for TCP accept() calls or for the first unicast UDP packet from a unique remote address/port tuple.

Program type: EBPF_PROGRAM_TYPE_CGROUP_SOCK_ADDR

◆ EBPF_ATTACH_TYPE_CGROUP_INET6_CONNECT

ebpf_attach_type_t EBPF_ATTACH_TYPE_CGROUP_INET6_CONNECT = EBPF_ATTACH_TYPE_CGROUP_INET6_CONNECT_GUID

The programs attached to the INET6_CONNECT hook will be invoked for connect() calls on TCP or UDP sockets or when a UDP socket sends a packet to a unique remote address/port tuple.

Program type: EBPF_PROGRAM_TYPE_CGROUP_SOCK_ADDR

◆ EBPF_ATTACH_TYPE_CGROUP_INET6_RECV_ACCEPT

ebpf_attach_type_t EBPF_ATTACH_TYPE_CGROUP_INET6_RECV_ACCEPT = EBPF_ATTACH_TYPE_CGROUP_INET6_RECV_ACCEPT_GUID

The programs attached to the INET6_RECV_ACCEPT hook will get invoked for TCP accept() calls or for the first unicast UDP packet from a unique remote address/port tuple.

Program type: EBPF_PROGRAM_TYPE_CGROUP_SOCK_ADDR

◆ EBPF_ATTACH_TYPE_CGROUP_SOCK_OPS

ebpf_attach_type_t EBPF_ATTACH_TYPE_CGROUP_SOCK_OPS = EBPF_ATTACH_TYPE_CGROUP_SOCK_OPS_GUID

Attach type for handling socket event notifications.

Program type: EBPF_PROGRAM_TYPE_SOCK_OPS

◆ EBPF_ATTACH_TYPE_SAMPLE

Attach type implemented by eBPF Sample Extension driver, used for testing.

Program type: EBPF_ATTACH_TYPE_SAMPLE

◆ EBPF_ATTACH_TYPE_UNSPECIFIED

ebpf_attach_type_t EBPF_ATTACH_TYPE_UNSPECIFIED = {0}

◆ EBPF_ATTACH_TYPE_XDP

ebpf_attach_type_t EBPF_ATTACH_TYPE_XDP
Initial value:
= {
0x85e0d8ef, 0x579e, 0x4931, {0xb0, 0x72, 0x8e, 0xe2, 0x26, 0xbb, 0x2e, 0x9d}}

Attach type for handling incoming packets as early as possible.

Program type: EBPF_PROGRAM_TYPE_XDP

◆ EBPF_ATTACH_TYPE_XDP_TEST

Attach type for handling incoming packets as early as possible.

Program type: EBPF_PROGRAM_TYPE_XDP_TEST

◆ EBPF_PROGRAM_TYPE_BIND

Program type for handling socket bind() requests.

eBPF program prototype: bind_hook_t

Attach type(s): EBPF_ATTACH_TYPE_BIND

Helpers available: see bpf_helpers.h

◆ EBPF_PROGRAM_TYPE_CGROUP_SOCK_ADDR

ebpf_program_type_t EBPF_PROGRAM_TYPE_CGROUP_SOCK_ADDR = EBPF_PROGRAM_TYPE_CGROUP_SOCK_ADDR_GUID

Program type for handling various socket operations such as connect(), accept() etc.

eBPF program prototype: sock_addr_hook_t

Attach type(s): EBPF_ATTACH_TYPE_CGROUP_INET4_CONNECT EBPF_ATTACH_TYPE_CGROUP_INET6_CONNECT EBPF_ATTACH_TYPE_CGROUP_INET4_RECV_ACCEPT EBPF_ATTACH_TYPE_CGROUP_INET6_RECV_ACCEPT

◆ EBPF_PROGRAM_TYPE_SAMPLE

Program type for handling calls from the eBPF sample extension. Used for testing.

Attach type(s): EBPF_ATTACH_TYPE_SAMPLE

◆ EBPF_PROGRAM_TYPE_SOCK_OPS

Program type for handling socket event notifications.

Attach type(s): EBPF_ATTACH_TYPE_CGROUP_SOCK_OPS

◆ EBPF_PROGRAM_TYPE_UNSPECIFIED

ebpf_program_type_t EBPF_PROGRAM_TYPE_UNSPECIFIED = {0}

◆ EBPF_PROGRAM_TYPE_XDP

Program type for handling incoming packets as early as possible.

eBPF program prototype: xdp_hook_t

Attach type(s): EBPF_ATTACH_TYPE_XDP

Helpers available: see bpf_helpers.h

◆ EBPF_PROGRAM_TYPE_XDP_TEST

Program type for handling incoming packets as early as possible.

eBPF program prototype: xdp_test_hook_t

Attach type(s): EBPF_ATTACH_TYPE_XDP_TEST

Helpers available: see bpf_helpers.h