blob: 3bf6d8d93829a65138f8c6f2e3825a1b4156bd51 [file] [log] [blame]
// Copyright 2016 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.
syntax = "proto2";
package android.vts;
import "test/vts/proto/InterfaceSpecificationMessage.proto";
// Type of a command.
enum CommandType {
UNKNOWN_COMMAND_TYPE = 0;
// To get a list of available HAL modules.
LIST_HALS = 1;
// To set the host information (e.g., callback server port).
SET_HOST_INFO = 2;
// To check whether fuzzer's binder service is available.
CHECK_DRIVER_SERVICE = 101;
// To start a fuzzer binary service and select a HAL module.
LAUNCH_DRIVER_SERVICE = 102;
// To get a list of available functions.
LIST_APIS = 201;
// To call a function.
CALL_API = 202;
// To execute a shell command;
VTS_AGENT_COMMAND_EXECUTE_SHELL_COMMAND = 301;
}
// Type of a response.
enum ResponseCode {
UNKNOWN_RESPONSE_CODE = 0;
// successful
SUCCESS = 1;
// failed
FAIL = 2;
}
// VTS driver type.
enum VtsDriverType {
UKNOWN_VTS_DRIVER_TYPE = 0;
// for various HALs.
VTS_DRIVER_TYPE_HAL_CONVENTIONAL = 1;
VTS_DRIVER_TYPE_HAL_LEGACY = 2;
VTS_DRIVER_TYPE_HAL_HIDL = 3;
VTS_DRIVER_TYPE_HAL_HIDL_WRAPPED_CONVENTIONAL = 4;
// for shared libraries.
VTS_DRIVER_TYPE_LIB_SHARED = 11;
// for shell.
VTS_DRIVER_TYPE_SHELL = 21;
}
// To specify a command.
message AndroidSystemControlCommandMessage {
// Command type.
optional CommandType command_type = 1;
// for LIST_HALS
repeated bytes paths = 1001;
// for SET_HOST_INFO
optional int32 callback_port = 1101;
// for CHECK_DRIVER_SERVICE
// the binder service name
optional bytes service_name = 2001;
// for LAUNCH_DRIVER_SERVICE
optional VtsDriverType driver_type = 3001;
// The name of a target.
optional bytes file_path = 3002;
// Whether a target driver binary is 64-bits or 32-bits.
optional int32 bits = 3003;
// target class
optional int32 target_class = 3004;
// target type
optional int32 target_type = 3005;
// target version (should be divided by 100) - float has a compatibility issue
// between C/C++ and python protoc.
optional int32 target_version = 3006;
// the name of a HAL module to open.
optional bytes module_name = 3007;
// for LIST_APIS
// none
// for CALL_API and VTS_AGENT_COMMAND_INVOKE_SYSCALL
optional bytes arg = 4001;
// for VTS_AGENT_COMMAND_EXECUTE_SHELL_COMMAND
repeated bytes shell_command = 5001;
}
// To specify a response.
message AndroidSystemControlResponseMessage {
// Response type.
optional ResponseCode response_code = 1;
// The reason.
optional bytes reason = 1001;
// for the found component files.
repeated bytes file_names = 1002;
// for the found API specification.
optional bytes spec = 1003;
// for the API call result including result value, profiling data, and
// coverage measurement data.
optional bytes result = 1004;
repeated bytes stdout = 2001;
repeated bytes stderr = 2002;
repeated int32 exit_code = 2003;
}
// To specify a callback request message for the TCP server.
message AndroidSystemCallbackRequestMessage {
// callback id for the message sent to the TCP Server.
optional bytes id = 1;
// args
repeated VariableSpecificationMessage arg = 11;
}
// To specify a callback response message from the TCP server.
message AndroidSystemCallbackResponseMessage {
// Response code in a Callback response from TCP server.
optional ResponseCode response_code = 1;
}