/* Automatically generated nanopb constant definitions */
/* Generated by nanopb-0.4.5 */

#include "event.pb.h"
#if PB_PROTO_HEADER_VERSION != 40
#error Regenerate this file with the current version of nanopb generator.
#endif

PB_BIND(schema_SocketIp, schema_SocketIp, AUTO)


PB_BIND(schema_Socket, schema_Socket, AUTO)


PB_BIND(schema_Overlay, schema_Overlay, AUTO)


PB_BIND(schema_File, schema_File, AUTO)


PB_BIND(schema_ProcessArguments, schema_ProcessArguments, AUTO)


PB_BIND(schema_Descriptor, schema_Descriptor, AUTO)


PB_BIND(schema_Streams, schema_Streams, 2)


PB_BIND(schema_Process, schema_Process, 2)


PB_BIND(schema_Container, schema_Container, AUTO)


PB_BIND(schema_ExecuteEvent, schema_ExecuteEvent, 2)


PB_BIND(schema_CloneEvent, schema_CloneEvent, 2)


PB_BIND(schema_EnumerateProcessEvent, schema_EnumerateProcessEvent, 2)


PB_BIND(schema_MemoryExecEvent, schema_MemoryExecEvent, 2)


PB_BIND(schema_ContainerInfoEvent, schema_ContainerInfoEvent, AUTO)


PB_BIND(schema_ExitEvent, schema_ExitEvent, AUTO)


PB_BIND(schema_Event, schema_Event, 2)


PB_BIND(schema_ContainerReport, schema_ContainerReport, AUTO)




