/*
 * 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_TRACE_ANDROID_ANDROID_TRACK_EVENT_PZC_H_
#define INCLUDE_PERFETTO_PUBLIC_PROTOS_TRACE_ANDROID_ANDROID_TRACK_EVENT_PZC_H_

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

#include "perfetto/public/pb_macros.h"
#include "perfetto/public/protos/trace/track_event/track_event.pzc.h"

PERFETTO_PB_MSG(perfetto_protos_AndroidBitmap);
PERFETTO_PB_FIELD(perfetto_protos_AndroidBitmap, VARINT, int64_t, size, 1);
PERFETTO_PB_FIELD(perfetto_protos_AndroidBitmap, VARINT, int32_t, width, 2);
PERFETTO_PB_FIELD(perfetto_protos_AndroidBitmap, VARINT, int32_t, height, 3);
PERFETTO_PB_FIELD(perfetto_protos_AndroidBitmap, VARINT, int32_t, density, 4);
PERFETTO_PB_FIELD(perfetto_protos_AndroidBitmap, VARINT, int32_t, config, 5);
PERFETTO_PB_FIELD(perfetto_protos_AndroidBitmap,
                  VARINT,
                  int32_t,
                  mutable_pixels,
                  6);
PERFETTO_PB_FIELD(perfetto_protos_AndroidBitmap,
                  VARINT,
                  int32_t,
                  pixel_storage_type,
                  7);
PERFETTO_PB_FIELD(perfetto_protos_AndroidBitmap, VARINT, int64_t, id, 8);

PERFETTO_PB_MSG(perfetto_protos_AndroidJobSchedulerJob);
PERFETTO_PB_FIELD(perfetto_protos_AndroidJobSchedulerJob,
                  VARINT,
                  int32_t,
                  job_id,
                  1);
PERFETTO_PB_FIELD(perfetto_protos_AndroidJobSchedulerJob,
                  VARINT,
                  int32_t,
                  source_uid,
                  2);
PERFETTO_PB_FIELD(perfetto_protos_AndroidJobSchedulerJob,
                  VARINT,
                  int32_t,
                  proxy_uid,
                  3);
PERFETTO_PB_FIELD(perfetto_protos_AndroidJobSchedulerJob,
                  VARINT,
                  int32_t,
                  state,
                  4);
PERFETTO_PB_FIELD(perfetto_protos_AndroidJobSchedulerJob,
                  VARINT,
                  int32_t,
                  standby_bucket,
                  5);
PERFETTO_PB_FIELD(perfetto_protos_AndroidJobSchedulerJob,
                  VARINT,
                  int32_t,
                  requested_priority,
                  6);
PERFETTO_PB_FIELD(perfetto_protos_AndroidJobSchedulerJob,
                  VARINT,
                  int32_t,
                  effective_priority,
                  7);
PERFETTO_PB_FIELD(perfetto_protos_AndroidJobSchedulerJob,
                  VARINT,
                  int32_t,
                  num_previous_attempts,
                  8);
PERFETTO_PB_FIELD(perfetto_protos_AndroidJobSchedulerJob,
                  VARINT,
                  int64_t,
                  deadline_ms,
                  9);
PERFETTO_PB_FIELD(perfetto_protos_AndroidJobSchedulerJob,
                  VARINT,
                  int64_t,
                  delay_ms,
                  10);
PERFETTO_PB_FIELD(perfetto_protos_AndroidJobSchedulerJob,
                  VARINT,
                  int64_t,
                  job_start_latency_ms,
                  11);
PERFETTO_PB_FIELD(perfetto_protos_AndroidJobSchedulerJob,
                  VARINT,
                  int32_t,
                  num_uncompleted_work_items,
                  12);
PERFETTO_PB_FIELD(perfetto_protos_AndroidJobSchedulerJob,
                  VARINT,
                  int32_t,
                  proc_state,
                  13);
PERFETTO_PB_FIELD(perfetto_protos_AndroidJobSchedulerJob,
                  VARINT,
                  int64_t,
                  periodic_job_interval_ms,
                  14);
PERFETTO_PB_FIELD(perfetto_protos_AndroidJobSchedulerJob,
                  VARINT,
                  int64_t,
                  periodic_job_flex_interval_ms,
                  15);
PERFETTO_PB_FIELD(perfetto_protos_AndroidJobSchedulerJob,
                  VARINT,
                  int32_t,
                  num_reschedules_due_to_abandonment,
                  16);
PERFETTO_PB_FIELD(perfetto_protos_AndroidJobSchedulerJob,
                  VARINT,
                  int32_t,
                  back_off_policy_type,
                  17);
PERFETTO_PB_FIELD(perfetto_protos_AndroidJobSchedulerJob,
                  VARINT,
                  int32_t,
                  internal_stop_reason,
                  18);
PERFETTO_PB_FIELD(perfetto_protos_AndroidJobSchedulerJob,
                  VARINT,
                  int32_t,
                  public_stop_reason,
                  19);
PERFETTO_PB_FIELD(perfetto_protos_AndroidJobSchedulerJob,
                  VARINT,
                  int64_t,
                  job_state_flags,
                  20);

PERFETTO_PB_MSG(perfetto_protos_AndroidMessageQueue);
PERFETTO_PB_FIELD(perfetto_protos_AndroidMessageQueue,
                  STRING,
                  const char*,
                  sending_thread_name,
                  1);
PERFETTO_PB_FIELD(perfetto_protos_AndroidMessageQueue,
                  STRING,
                  const char*,
                  receiving_thread_name,
                  2);
PERFETTO_PB_FIELD(perfetto_protos_AndroidMessageQueue,
                  VARINT,
                  int32_t,
                  message_code,
                  3);
PERFETTO_PB_FIELD(perfetto_protos_AndroidMessageQueue,
                  VARINT,
                  uint64_t,
                  message_delay_ms,
                  4);

PERFETTO_PB_EXTENSION_FIELD(perfetto_protos_AndroidTrackEvent,
                            perfetto_protos_TrackEvent,
                            STRING,
                            const char*,
                            binder_service_name,
                            2001);
PERFETTO_PB_EXTENSION_FIELD(perfetto_protos_AndroidTrackEvent,
                            perfetto_protos_TrackEvent,
                            STRING,
                            const char*,
                            binder_interface_name,
                            2002);
PERFETTO_PB_EXTENSION_FIELD(perfetto_protos_AndroidTrackEvent,
                            perfetto_protos_TrackEvent,
                            STRING,
                            const char*,
                            apex_name,
                            2003);
PERFETTO_PB_EXTENSION_FIELD(perfetto_protos_AndroidTrackEvent,
                            perfetto_protos_TrackEvent,
                            MSG,
                            perfetto_protos_AndroidMessageQueue,
                            message_queue,
                            2004);
PERFETTO_PB_EXTENSION_FIELD(perfetto_protos_AndroidTrackEvent,
                            perfetto_protos_TrackEvent,
                            MSG,
                            perfetto_protos_AndroidBitmap,
                            bitmap,
                            2005);
PERFETTO_PB_EXTENSION_FIELD(perfetto_protos_AndroidTrackEvent,
                            perfetto_protos_TrackEvent,
                            MSG,
                            perfetto_protos_AndroidJobSchedulerJob,
                            job_scheduler_job,
                            2006);
#endif  // INCLUDE_PERFETTO_PUBLIC_PROTOS_TRACE_ANDROID_ANDROID_TRACK_EVENT_PZC_H_
