| /* Automatically generated nanopb header */ |
| /* Generated by nanopb-0.4.5 */ |
| |
| #ifndef PB_SCHEMA_CONFIG_PB_H_INCLUDED |
| #define PB_SCHEMA_CONFIG_PB_H_INCLUDED |
| #include <pb.h> |
| |
| #if PB_PROTO_HEADER_VERSION != 40 |
| #error Regenerate this file with the current version of nanopb generator. |
| #endif |
| |
| /* Enum definitions */ |
| typedef enum _schema_ConfigurationResponse_ErrorCode { |
| schema_ConfigurationResponse_ErrorCode_NO_ERROR = 0, |
| schema_ConfigurationResponse_ErrorCode_UNKNOWN = 2 |
| } schema_ConfigurationResponse_ErrorCode; |
| |
| /* Struct definitions */ |
| /* Report success or failure of previous ConfigurationRequest */ |
| typedef struct _schema_ConfigurationResponse { |
| schema_ConfigurationResponse_ErrorCode error; |
| pb_callback_t msg; |
| uint64_t version; /* Version of the LSM */ |
| uint32_t kernel_version; /* LINUX_VERSION_CODE */ |
| } schema_ConfigurationResponse; |
| |
| /* Collect information about running containers */ |
| typedef struct _schema_ContainerCollectorConfig { |
| bool enabled; |
| } schema_ContainerCollectorConfig; |
| |
| typedef struct _schema_ExecuteCollectorConfig { |
| bool enabled; |
| /* truncate argv/envp if cumulative length exceeds limit */ |
| uint32_t argv_limit; |
| uint32_t envp_limit; |
| /* If specified, only report the named environment variables. An |
| empty envp_allowlist indicates that all environment variables |
| should be reported up to a cumulative total of envp_limit bytes. */ |
| pb_callback_t envp_allowlist; |
| } schema_ExecuteCollectorConfig; |
| |
| /* Collect information about executable memory mappings. */ |
| typedef struct _schema_MemExecCollectorConfig { |
| bool enabled; |
| } schema_MemExecCollectorConfig; |
| |
| /* Convey configuration information to Guest LSM */ |
| typedef struct _schema_ConfigurationRequest { |
| bool has_container_config; |
| schema_ContainerCollectorConfig container_config; |
| bool has_execute_config; |
| schema_ExecuteCollectorConfig execute_config; |
| bool has_memexec_config; |
| schema_MemExecCollectorConfig memexec_config; |
| } schema_ConfigurationRequest; |
| |
| |
| /* Helper constants for enums */ |
| #define _schema_ConfigurationResponse_ErrorCode_MIN schema_ConfigurationResponse_ErrorCode_NO_ERROR |
| #define _schema_ConfigurationResponse_ErrorCode_MAX schema_ConfigurationResponse_ErrorCode_UNKNOWN |
| #define _schema_ConfigurationResponse_ErrorCode_ARRAYSIZE ((schema_ConfigurationResponse_ErrorCode)(schema_ConfigurationResponse_ErrorCode_UNKNOWN+1)) |
| |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /* Initializer values for message structs */ |
| #define schema_ContainerCollectorConfig_init_default {0} |
| #define schema_ExecuteCollectorConfig_init_default {0, 0, 0, {{NULL}, NULL}} |
| #define schema_MemExecCollectorConfig_init_default {0} |
| #define schema_ConfigurationRequest_init_default {false, schema_ContainerCollectorConfig_init_default, false, schema_ExecuteCollectorConfig_init_default, false, schema_MemExecCollectorConfig_init_default} |
| #define schema_ConfigurationResponse_init_default {_schema_ConfigurationResponse_ErrorCode_MIN, {{NULL}, NULL}, 0, 0} |
| #define schema_ContainerCollectorConfig_init_zero {0} |
| #define schema_ExecuteCollectorConfig_init_zero {0, 0, 0, {{NULL}, NULL}} |
| #define schema_MemExecCollectorConfig_init_zero {0} |
| #define schema_ConfigurationRequest_init_zero {false, schema_ContainerCollectorConfig_init_zero, false, schema_ExecuteCollectorConfig_init_zero, false, schema_MemExecCollectorConfig_init_zero} |
| #define schema_ConfigurationResponse_init_zero {_schema_ConfigurationResponse_ErrorCode_MIN, {{NULL}, NULL}, 0, 0} |
| |
| /* Field tags (for use in manual encoding/decoding) */ |
| #define schema_ConfigurationResponse_error_tag 1 |
| #define schema_ConfigurationResponse_msg_tag 2 |
| #define schema_ConfigurationResponse_version_tag 3 |
| #define schema_ConfigurationResponse_kernel_version_tag 4 |
| #define schema_ContainerCollectorConfig_enabled_tag 1 |
| #define schema_ExecuteCollectorConfig_enabled_tag 1 |
| #define schema_ExecuteCollectorConfig_argv_limit_tag 2 |
| #define schema_ExecuteCollectorConfig_envp_limit_tag 3 |
| #define schema_ExecuteCollectorConfig_envp_allowlist_tag 4 |
| #define schema_MemExecCollectorConfig_enabled_tag 1 |
| #define schema_ConfigurationRequest_container_config_tag 1 |
| #define schema_ConfigurationRequest_execute_config_tag 2 |
| #define schema_ConfigurationRequest_memexec_config_tag 3 |
| |
| /* Struct field encoding specification for nanopb */ |
| #define schema_ContainerCollectorConfig_FIELDLIST(X, a) \ |
| X(a, STATIC, SINGULAR, BOOL, enabled, 1) |
| #define schema_ContainerCollectorConfig_CALLBACK NULL |
| #define schema_ContainerCollectorConfig_DEFAULT NULL |
| |
| #define schema_ExecuteCollectorConfig_FIELDLIST(X, a) \ |
| X(a, STATIC, SINGULAR, BOOL, enabled, 1) \ |
| X(a, STATIC, SINGULAR, UINT32, argv_limit, 2) \ |
| X(a, STATIC, SINGULAR, UINT32, envp_limit, 3) \ |
| X(a, CALLBACK, REPEATED, STRING, envp_allowlist, 4) |
| #define schema_ExecuteCollectorConfig_CALLBACK pb_default_field_callback |
| #define schema_ExecuteCollectorConfig_DEFAULT NULL |
| |
| #define schema_MemExecCollectorConfig_FIELDLIST(X, a) \ |
| X(a, STATIC, SINGULAR, BOOL, enabled, 1) |
| #define schema_MemExecCollectorConfig_CALLBACK NULL |
| #define schema_MemExecCollectorConfig_DEFAULT NULL |
| |
| #define schema_ConfigurationRequest_FIELDLIST(X, a) \ |
| X(a, STATIC, OPTIONAL, MESSAGE, container_config, 1) \ |
| X(a, STATIC, OPTIONAL, MESSAGE, execute_config, 2) \ |
| X(a, STATIC, OPTIONAL, MESSAGE, memexec_config, 3) |
| #define schema_ConfigurationRequest_CALLBACK NULL |
| #define schema_ConfigurationRequest_DEFAULT NULL |
| #define schema_ConfigurationRequest_container_config_MSGTYPE schema_ContainerCollectorConfig |
| #define schema_ConfigurationRequest_execute_config_MSGTYPE schema_ExecuteCollectorConfig |
| #define schema_ConfigurationRequest_memexec_config_MSGTYPE schema_MemExecCollectorConfig |
| |
| #define schema_ConfigurationResponse_FIELDLIST(X, a) \ |
| X(a, STATIC, SINGULAR, UENUM, error, 1) \ |
| X(a, CALLBACK, SINGULAR, STRING, msg, 2) \ |
| X(a, STATIC, SINGULAR, UINT64, version, 3) \ |
| X(a, STATIC, SINGULAR, UINT32, kernel_version, 4) |
| #define schema_ConfigurationResponse_CALLBACK pb_default_field_callback |
| #define schema_ConfigurationResponse_DEFAULT NULL |
| |
| extern const pb_msgdesc_t schema_ContainerCollectorConfig_msg; |
| extern const pb_msgdesc_t schema_ExecuteCollectorConfig_msg; |
| extern const pb_msgdesc_t schema_MemExecCollectorConfig_msg; |
| extern const pb_msgdesc_t schema_ConfigurationRequest_msg; |
| extern const pb_msgdesc_t schema_ConfigurationResponse_msg; |
| |
| /* Defines for backwards compatibility with code written before nanopb-0.4.0 */ |
| #define schema_ContainerCollectorConfig_fields &schema_ContainerCollectorConfig_msg |
| #define schema_ExecuteCollectorConfig_fields &schema_ExecuteCollectorConfig_msg |
| #define schema_MemExecCollectorConfig_fields &schema_MemExecCollectorConfig_msg |
| #define schema_ConfigurationRequest_fields &schema_ConfigurationRequest_msg |
| #define schema_ConfigurationResponse_fields &schema_ConfigurationResponse_msg |
| |
| /* Maximum encoded size of messages (where known) */ |
| /* schema_ExecuteCollectorConfig_size depends on runtime parameters */ |
| /* schema_ConfigurationRequest_size depends on runtime parameters */ |
| /* schema_ConfigurationResponse_size depends on runtime parameters */ |
| #define schema_ContainerCollectorConfig_size 2 |
| #define schema_MemExecCollectorConfig_size 2 |
| |
| #ifdef __cplusplus |
| } /* extern "C" */ |
| #endif |
| |
| #endif |