blob: 893961e38fbab29e58034013a8603bf52fb5965b [file] [log] [blame]
/* 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