// @file sns_diag_sensor.proto
//
// Defines standard message types to communicate with the
// diag service
//
// Copyright (c) 2017 Qualcomm Technologies, Inc.
// All Rights Reserved.
// Confidential and Proprietary - Qualcomm Technologies, Inc.

syntax = "proto2";
import "nanopb.proto";
import "sns_std_type.proto";

enum sns_diag_sensor_msgid {
  option (nanopb_enumopt).long_names = false;

  SNS_DIAG_SENSOR_MSGID_SNS_DIAG_LOG_TRIGGER_REQ = 520;
}

// Log packets that can be triggered by the diag sensor
enum sns_diag_triggered_log_type {
  option (nanopb_enumopt).long_names = false;

  // Triggers generation of sns_diag_island_transition_log
  // Only one log is generated per request
  SNS_DIAG_TRIGGERED_LOG_TYPE_ISLAND_LOG = 1;

  // Triggers generation of sns_diag_mem_utilization_log
  // A single request will generate a log for each separate memory
  // pool in the system
  SNS_DIAG_TRIGGERED_LOG_TYPE_MEMORY_USAGE_LOG = 2;
}

// Trigger generation of log packets. Depending upon
// the type of log packet that is being triggered,
// multiple log packets can be triggered for each
// request.
//
// If the log packet that is triggered has been disabled
// no log will be generated.
message sns_diag_log_trigger_req {

  // User defined cookie
  // Used by test scripts to identify logs triggered
  // by messages sent to the SSC
  optional fixed64 cookie = 1;

  // The type of log packets that the diag sensor must
  // generate.
  required sns_diag_triggered_log_type log_type = 2;
}
