//
// Copyright (C) 2018 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/filesystem/inode_file_map.proto (package perfetto.protos, syntax proto2)
/* eslint-disable */

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

/**
 * Describes the file protos/perfetto/trace/filesystem/inode_file_map.proto.
 */
export const file_protos_perfetto_trace_filesystem_inode_file_map: GenFile = /*@__PURE__*/
  fileDesc("CjVwcm90b3MvcGVyZmV0dG8vdHJhY2UvZmlsZXN5c3RlbS9pbm9kZV9maWxlX21hcC5wcm90bxIPcGVyZmV0dG8ucHJvdG9zIogCCgxJbm9kZUZpbGVNYXASFwoPYmxvY2tfZGV2aWNlX2lkGAEgASgEEhQKDG1vdW50X3BvaW50cxgCIAMoCRI0CgdlbnRyaWVzGAMgAygLMiMucGVyZmV0dG8ucHJvdG9zLklub2RlRmlsZU1hcC5FbnRyeRqSAQoFRW50cnkSFAoMaW5vZGVfbnVtYmVyGAEgASgEEg0KBXBhdGhzGAIgAygJEjYKBHR5cGUYAyABKA4yKC5wZXJmZXR0by5wcm90b3MuSW5vZGVGaWxlTWFwLkVudHJ5LlR5cGUiLAoEVHlwZRILCgdVTktOT1dOEAASCAoERklMRRABEg0KCURJUkVDVE9SWRAC");

/**
 * Represents the mapping between inode numbers in a block device and their path
 * on the filesystem
 *
 * @generated from message perfetto.protos.InodeFileMap
 */
export type InodeFileMap = Message<"perfetto.protos.InodeFileMap"> & {
  /**
   * @generated from field: optional uint64 block_device_id = 1;
   */
  blockDeviceId: bigint;

  /**
   * The mount points of the block device, e.g. ["system"].
   *
   * @generated from field: repeated string mount_points = 2;
   */
  mountPoints: string[];

  /**
   * The list of all the entries from the block device
   *
   * @generated from field: repeated perfetto.protos.InodeFileMap.Entry entries = 3;
   */
  entries: InodeFileMap_Entry[];
};

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

/**
 * Representation of Entry
 *
 * @generated from message perfetto.protos.InodeFileMap.Entry
 */
export type InodeFileMap_Entry = Message<"perfetto.protos.InodeFileMap.Entry"> & {
  /**
   * @generated from field: optional uint64 inode_number = 1;
   */
  inodeNumber: bigint;

  /**
   * The path to the file, e.g. "etc/file.xml"
   * List of strings for multiple hardlinks
   *
   * @generated from field: repeated string paths = 2;
   */
  paths: string[];

  /**
   * @generated from field: optional perfetto.protos.InodeFileMap.Entry.Type type = 3;
   */
  type: InodeFileMap_Entry_Type;
};

/**
 * Describes the message perfetto.protos.InodeFileMap.Entry.
 * Use `create(InodeFileMap_EntrySchema)` to create a new message.
 */
export const InodeFileMap_EntrySchema: GenMessage<InodeFileMap_Entry> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_filesystem_inode_file_map, 0, 0);

/**
 * The file type
 *
 * @generated from enum perfetto.protos.InodeFileMap.Entry.Type
 */
export enum InodeFileMap_Entry_Type {
  /**
   * @generated from enum value: UNKNOWN = 0;
   */
  UNKNOWN = 0,

  /**
   * @generated from enum value: FILE = 1;
   */
  FILE = 1,

  /**
   * @generated from enum value: DIRECTORY = 2;
   */
  DIRECTORY = 2,
}

/**
 * Describes the enum perfetto.protos.InodeFileMap.Entry.Type.
 */
export const InodeFileMap_Entry_TypeSchema: GenEnum<InodeFileMap_Entry_Type> = /*@__PURE__*/
  enumDesc(file_protos_perfetto_trace_filesystem_inode_file_map, 0, 0, 0);

