eBPF for Windows
Data Structures | Typedefs
ebpf_extension.h File Reference
#include "ebpf_result.h"
#include "ebpf_structs.h"
#include "ebpf_windows.h"

Go to the source code of this file.

Data Structures

struct  _ebpf_extension_dispatch_table
 
struct  _ebpf_extension_program_dispatch_table
 
struct  _ebpf_extension_data
 
struct  _ebpf_attach_provider_data
 
struct  _ebpf_execution_context_state
 

Typedefs

typedef ebpf_result_t(* _ebpf_extension_dispatch_function) ()
 
typedef struct _ebpf_extension_dispatch_table ebpf_extension_dispatch_table_t
 
typedef ebpf_result_t(* ebpf_program_invoke_function_t) (const void *extension_client_binding_context, _Inout_ void *program_context, uint32_t *result)
 Invoke the eBPF program. More...
 
typedef ebpf_result_t(* ebpf_program_batch_begin_invoke_function_t) (const void *extension_client_binding_context, size_t state_size, _Out_writes_(state_size) void *state)
 Prepare the eBPF program for batch invocation. More...
 
typedef ebpf_result_t(* ebpf_program_batch_invoke_function_t) (const void *extension_client_binding_context, _Inout_ void *program_context, uint32_t *result, const void *state)
 Invoke the eBPF program in batch mode. More...
 
typedef ebpf_result_t(* ebpf_program_batch_end_invoke_function_t) (const void *extension_client_binding_context, _Inout_ void *state)
 Clean up the eBPF program after batch invocation. More...
 
typedef struct _ebpf_extension_program_dispatch_table ebpf_extension_program_dispatch_table_t
 
typedef struct _ebpf_extension_data ebpf_extension_data_t
 
typedef struct _ebpf_attach_provider_data ebpf_attach_provider_data_t
 
typedef struct _ebpf_execution_context_state ebpf_execution_context_state_t
 

Typedef Documentation

◆ _ebpf_extension_dispatch_function

typedef ebpf_result_t(* _ebpf_extension_dispatch_function) ()

◆ ebpf_attach_provider_data_t

◆ ebpf_execution_context_state_t

◆ ebpf_extension_data_t

◆ ebpf_extension_dispatch_table_t

◆ ebpf_extension_program_dispatch_table_t

◆ ebpf_program_batch_begin_invoke_function_t

typedef ebpf_result_t(* ebpf_program_batch_begin_invoke_function_t) (const void *extension_client_binding_context, size_t state_size, _Out_writes_(state_size) void *state)

Prepare the eBPF program for batch invocation.

Parameters
[in]extension_client_binding_contextThe context provided by the extension client when the binding was created.
[in]state_sizeThe size of the state to be allocated, which should be greater than or equal to sizeof(ebpf_execution_context_state_t).
[out]stateThe state to be used for batch invocation.
Return values
EBPF_SUCCESSThe operation was successful.
EBPF_NO_MEMORYThe operation failed due to lack of memory.
EBPF_EXTENSION_FAILED_TO_LOADThe required extension is not loaded.

◆ ebpf_program_batch_end_invoke_function_t

typedef ebpf_result_t(* ebpf_program_batch_end_invoke_function_t) (const void *extension_client_binding_context, _Inout_ void *state)

Clean up the eBPF program after batch invocation.

Parameters
[in]extension_client_binding_contextThe context provided by the extension client when the binding was created.
[in,out]stateThe state to be used for batch invocation.
Return values
EBPF_SUCCESSThe operation was successful.

◆ ebpf_program_batch_invoke_function_t

typedef ebpf_result_t(* ebpf_program_batch_invoke_function_t) (const void *extension_client_binding_context, _Inout_ void *program_context, uint32_t *result, const void *state)

Invoke the eBPF program in batch mode.

Parameters
[in]extension_client_binding_contextThe context provided by the extension client when the binding was created.
[in,out]program_contextThe context for this invocation of the eBPF program.
[out]resultThe result of the eBPF program.
[in]stateThe state to be used for batch invocation.
Return values
EBPF_SUCCESSThe operation was successful.

◆ ebpf_program_invoke_function_t

typedef ebpf_result_t(* ebpf_program_invoke_function_t) (const void *extension_client_binding_context, _Inout_ void *program_context, uint32_t *result)

Invoke the eBPF program.

Parameters
[in]extension_client_binding_contextThe context provided by the extension client when the binding was created.
[in,out]program_contextThe context for this invocation of the eBPF program.
[out]resultThe result of the eBPF program.
Return values
EBPF_SUCCESSThe operation was successful.
EBPF_NO_MEMORYThe operation failed due to lack of memory.
EBPF_EXTENSION_FAILED_TO_LOADThe required extension is not loaded.