/*
 * Copyright (C) 2023 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

// Autogenerated by the ProtoZero C compiler plugin.
// Invoked by tools/gen_c_protos
// DO NOT EDIT.
#ifndef INCLUDE_PERFETTO_PUBLIC_PROTOS_CONFIG_DATA_SOURCE_CONFIG_PZC_H_
#define INCLUDE_PERFETTO_PUBLIC_PROTOS_CONFIG_DATA_SOURCE_CONFIG_PZC_H_

#include <stdbool.h>
#include <stdint.h>

#include "perfetto/public/pb_macros.h"

PERFETTO_PB_MSG_DECL(perfetto_protos_AndroidGameInterventionListConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_AndroidInputEventConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_AndroidLogConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_AndroidPolledStateConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_AndroidPowerConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_AndroidSdkSyspropGuardConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_AndroidSystemPropertyConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_AndroidUserListConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_AppWakelocksConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_ChromeConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_ChromiumHistogramSamplesConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_ChromiumSystemMetricsConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_CpuPerUidConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_EtwConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_FrozenFtraceConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_FtraceConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_GpuCounterConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_GpuRenderStagesConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_HeapprofdConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_InodeFileConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_InputMethodConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_InterceptorConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_JavaHprofConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_KernelWakelocksConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_NetworkPacketTraceConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_PackagesListConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_PerfEventConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_PixelModemConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_PriorityBoostConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_ProcessStatsConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_ProtoLogConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_ProtoVmConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_QnxConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_StatsdTracingConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_SurfaceFlingerLayersConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_SurfaceFlingerTransactionsConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_SysStatsConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_SystemInfoConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_TestConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_TrackEventConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_V8Config);
PERFETTO_PB_MSG_DECL(perfetto_protos_VulkanMemoryConfig);
PERFETTO_PB_MSG_DECL(perfetto_protos_WindowManagerConfig);

PERFETTO_PB_ENUM_IN_MSG(perfetto_protos_DataSourceConfig, SessionInitiator){
    PERFETTO_PB_ENUM_IN_MSG_ENTRY(perfetto_protos_DataSourceConfig,
                                  SESSION_INITIATOR_UNSPECIFIED) = 0,
    PERFETTO_PB_ENUM_IN_MSG_ENTRY(perfetto_protos_DataSourceConfig,
                                  SESSION_INITIATOR_TRUSTED_SYSTEM) = 1,
};

PERFETTO_PB_ENUM_IN_MSG(perfetto_protos_DataSourceConfig,
                        BufferExhaustedPolicy){
    PERFETTO_PB_ENUM_IN_MSG_ENTRY(perfetto_protos_DataSourceConfig,
                                  BUFFER_EXHAUSTED_UNSPECIFIED) = 0,
    PERFETTO_PB_ENUM_IN_MSG_ENTRY(perfetto_protos_DataSourceConfig,
                                  BUFFER_EXHAUSTED_DROP) = 1,
    PERFETTO_PB_ENUM_IN_MSG_ENTRY(perfetto_protos_DataSourceConfig,
                                  BUFFER_EXHAUSTED_STALL_THEN_ABORT) = 2,
    PERFETTO_PB_ENUM_IN_MSG_ENTRY(perfetto_protos_DataSourceConfig,
                                  BUFFER_EXHAUSTED_STALL_THEN_DROP) = 3,
};

PERFETTO_PB_MSG(perfetto_protos_DataSourceConfig);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  STRING,
                  const char*,
                  name,
                  1);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  VARINT,
                  uint32_t,
                  target_buffer,
                  2);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  STRING,
                  const char*,
                  target_buffer_name,
                  11);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  VARINT,
                  uint32_t,
                  trace_duration_ms,
                  3);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  VARINT,
                  bool,
                  prefer_suspend_clock_for_duration,
                  122);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  VARINT,
                  uint32_t,
                  stop_timeout_ms,
                  7);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  VARINT,
                  bool,
                  enable_extra_guardrails,
                  6);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  VARINT,
                  enum perfetto_protos_DataSourceConfig_SessionInitiator,
                  session_initiator,
                  8);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  VARINT,
                  uint64_t,
                  tracing_session_id,
                  4);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  VARINT,
                  enum perfetto_protos_DataSourceConfig_BufferExhaustedPolicy,
                  buffer_exhausted_policy,
                  9);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_PriorityBoostConfig,
                  priority_boost,
                  10);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_ProtoVmConfig,
                  protovm_config,
                  12);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_FtraceConfig,
                  ftrace_config,
                  100);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_InodeFileConfig,
                  inode_file_config,
                  102);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_ProcessStatsConfig,
                  process_stats_config,
                  103);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_SysStatsConfig,
                  sys_stats_config,
                  104);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_HeapprofdConfig,
                  heapprofd_config,
                  105);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_JavaHprofConfig,
                  java_hprof_config,
                  110);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_AndroidPowerConfig,
                  android_power_config,
                  106);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_AndroidLogConfig,
                  android_log_config,
                  107);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_GpuCounterConfig,
                  gpu_counter_config,
                  108);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_AndroidGameInterventionListConfig,
                  android_game_intervention_list_config,
                  116);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_PackagesListConfig,
                  packages_list_config,
                  109);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_PerfEventConfig,
                  perf_event_config,
                  111);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_VulkanMemoryConfig,
                  vulkan_memory_config,
                  112);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_TrackEventConfig,
                  track_event_config,
                  113);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_AndroidPolledStateConfig,
                  android_polled_state_config,
                  114);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_AndroidSystemPropertyConfig,
                  android_system_property_config,
                  118);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_StatsdTracingConfig,
                  statsd_tracing_config,
                  117);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_SystemInfoConfig,
                  system_info_config,
                  119);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_FrozenFtraceConfig,
                  frozen_ftrace_config,
                  136);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_ChromeConfig,
                  chrome_config,
                  101);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_V8Config,
                  v8_config,
                  127);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_InterceptorConfig,
                  interceptor_config,
                  115);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_NetworkPacketTraceConfig,
                  network_packet_trace_config,
                  120);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_SurfaceFlingerLayersConfig,
                  surfaceflinger_layers_config,
                  121);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_SurfaceFlingerTransactionsConfig,
                  surfaceflinger_transactions_config,
                  123);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_AndroidSdkSyspropGuardConfig,
                  android_sdk_sysprop_guard_config,
                  124);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_EtwConfig,
                  etw_config,
                  125);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_ProtoLogConfig,
                  protolog_config,
                  126);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_AndroidInputEventConfig,
                  android_input_event_config,
                  128);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_PixelModemConfig,
                  pixel_modem_config,
                  129);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_WindowManagerConfig,
                  windowmanager_config,
                  130);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_ChromiumSystemMetricsConfig,
                  chromium_system_metrics,
                  131);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_KernelWakelocksConfig,
                  kernel_wakelocks_config,
                  132);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_GpuRenderStagesConfig,
                  gpu_renderstages_config,
                  133);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_ChromiumHistogramSamplesConfig,
                  chromium_histogram_samples,
                  134);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_AppWakelocksConfig,
                  app_wakelocks_config,
                  135);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_CpuPerUidConfig,
                  cpu_per_uid_config,
                  137);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_AndroidUserListConfig,
                  user_list_config,
                  138);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_InputMethodConfig,
                  inputmethod_config,
                  139);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_QnxConfig,
                  qnx_config,
                  150);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  STRING,
                  const char*,
                  legacy_config,
                  1000);
PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
                  MSG,
                  perfetto_protos_TestConfig,
                  for_testing,
                  1001);

#endif  // INCLUDE_PERFETTO_PUBLIC_PROTOS_CONFIG_DATA_SOURCE_CONFIG_PZC_H_
