//
// Copyright (C) 2019 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.

// @generated by protoc-gen-es v2.2.2 with parameter "target=ts"
// @generated from file protos/perfetto/trace/system_info.proto (package perfetto.protos, syntax proto2)
/* eslint-disable */

import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file protos/perfetto/trace/system_info.proto.
 */
export const file_protos_perfetto_trace_system_info: GenFile = /*@__PURE__*/
  fileDesc("Cidwcm90b3MvcGVyZmV0dG8vdHJhY2Uvc3lzdGVtX2luZm8ucHJvdG8SD3BlcmZldHRvLnByb3RvcyJNCgdVdHNuYW1lEg8KB3N5c25hbWUYASABKAkSDwoHdmVyc2lvbhgCIAEoCRIPCgdyZWxlYXNlGAMgASgJEg8KB21hY2hpbmUYBCABKAkiogMKClN5c3RlbUluZm8SKQoHdXRzbmFtZRgBIAEoCzIYLnBlcmZldHRvLnByb3Rvcy5VdHNuYW1lEiEKGWFuZHJvaWRfYnVpbGRfZmluZ2VycHJpbnQYAiABKAkSIwobYW5kcm9pZF9kZXZpY2VfbWFudWZhY3R1cmVyGA4gASgJEhkKEWFuZHJvaWRfc29jX21vZGVsGAkgASgJEh8KF2FuZHJvaWRfZ3Vlc3Rfc29jX21vZGVsGA0gASgJEiEKGWFuZHJvaWRfaGFyZHdhcmVfcmV2aXNpb24YCiABKAkSHQoVYW5kcm9pZF9zdG9yYWdlX21vZGVsGAsgASgJEhkKEWFuZHJvaWRfcmFtX21vZGVsGAwgASgJEh8KF3RyYWNpbmdfc2VydmljZV92ZXJzaW9uGAQgASgJEhsKE2FuZHJvaWRfc2RrX3ZlcnNpb24YBSABKAQSEQoJcGFnZV9zaXplGAYgASgNEhAKCG51bV9jcHVzGAggASgNEhkKEXRpbWV6b25lX29mZl9taW5zGAcgASgFEgoKAmh6GAMgASgD");

/**
 * @generated from message perfetto.protos.Utsname
 */
export type Utsname = Message<"perfetto.protos.Utsname"> & {
  /**
   * @generated from field: optional string sysname = 1;
   */
  sysname: string;

  /**
   * @generated from field: optional string version = 2;
   */
  version: string;

  /**
   * @generated from field: optional string release = 3;
   */
  release: string;

  /**
   * @generated from field: optional string machine = 4;
   */
  machine: string;
};

/**
 * Describes the message perfetto.protos.Utsname.
 * Use `create(UtsnameSchema)` to create a new message.
 */
export const UtsnameSchema: GenMessage<Utsname> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_system_info, 0);

/**
 * Next id: 15;
 *
 * @generated from message perfetto.protos.SystemInfo
 */
export type SystemInfo = Message<"perfetto.protos.SystemInfo"> & {
  /**
   * @generated from field: optional perfetto.protos.Utsname utsname = 1;
   */
  utsname?: Utsname;

  /**
   * @generated from field: optional string android_build_fingerprint = 2;
   */
  androidBuildFingerprint: string;

  /**
   * The manufacturer of the product/hardware.
   * Source : "ro.product.manufacturer"
   * Introduced after Android W in Nov 2024 and is not supported on older
   * versions.
   *
   * @generated from field: optional string android_device_manufacturer = 14;
   */
  androidDeviceManufacturer: string;

  /**
   * The SoC model from which trace is collected
   *
   * @generated from field: optional string android_soc_model = 9;
   */
  androidSocModel: string;

  /**
   * The guest SoC model from which trace is collected in case of VMs
   *
   * @generated from field: optional string android_guest_soc_model = 13;
   */
  androidGuestSocModel: string;

  /**
   * The hardware reversion from android device
   *
   * @generated from field: optional string android_hardware_revision = 10;
   */
  androidHardwareRevision: string;

  /**
   * The storage component from android_device. This field has been introduced
   * after Android W in Aug 2024 and is not supported on older versions.
   *
   * @generated from field: optional string android_storage_model = 11;
   */
  androidStorageModel: string;

  /**
   * The RAM component information from android device. This field has been
   * introduced after Android W in Aug 2024 and is not supported on older
   * versions.
   *
   * @generated from field: optional string android_ram_model = 12;
   */
  androidRamModel: string;

  /**
   * The version of traced (the same returned by `traced --version`).
   * This is a human readable string with and its format varies depending on
   * the build system and the repo (standalone vs AOSP).
   * This is intended for human debugging only.
   *
   * @generated from field: optional string tracing_service_version = 4;
   */
  tracingServiceVersion: string;

  /**
   * The Android SDK vesion (e.g. 21 for L, 31 for S etc).
   * Introduced in Android T.
   *
   * @generated from field: optional uint64 android_sdk_version = 5;
   */
  androidSdkVersion: bigint;

  /**
   * Kernel page size - sysconf(_SC_PAGESIZE).
   *
   * @generated from field: optional uint32 page_size = 6;
   */
  pageSize: number;

  /**
   * Number of cpus - sysconf(_SC_NPROCESSORS_CONF).
   * Might be different to the number of online cpus.
   * Introduced in perfetto v44.
   *
   * @generated from field: optional uint32 num_cpus = 8;
   */
  numCpus: number;

  /**
   * The timezone offset from UTC, as per strftime("%z"), in minutes.
   * Introduced in v38 / Android V.
   *
   * @generated from field: optional int32 timezone_off_mins = 7;
   */
  timezoneOffMins: number;

  /**
   * Ticks per second - sysconf(_SC_CLK_TCK).
   * Not serialised as of perfetto v44.
   *
   * @generated from field: optional int64 hz = 3;
   */
  hz: bigint;
};

/**
 * Describes the message perfetto.protos.SystemInfo.
 * Use `create(SystemInfoSchema)` to create a new message.
 */
export const SystemInfoSchema: GenMessage<SystemInfo> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_system_info, 1);

