// 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; // Type of a command. enum VtsDriverCommandType { UNKNOWN_VTS_DRIVER_COMMAND_TYPE = 0; // To request to exit a driver. EXIT = 1; // To get the status of a driver. GET_STATUS = 2; // for a HAL driver // To request to load a HAL. LOAD_HAL = 101; // To get a list of available functions. LIST_FUNCTIONS = 102; // To call a function. CALL_FUNCTION = 103; // To get the value of an attribute. GET_ATTRIBUTE = 104; // To read the specification message of a component. VTS_DRIVER_COMMAND_READ_SPECIFICATION = 105; // for a shell driver // To execute a shell command. EXECUTE_COMMAND = 201; // To invoke a system call. INVOKE_SYSCALL = 202; } // Type of a response. enum VtsDriverResponseCode { UNKNOWN_VTS_DRIVER_RESPONSE_CODE = 0; // successful VTS_DRIVER_RESPONSE_SUCCESS = 1; // failed VTS_DRIVER_RESPONSE_FAIL = 2; } // To specify a command. message VtsDriverControlCommandMessage { // Command type. optional VtsDriverCommandType command_type = 1; // for EXIT // none // for GET_STATUS optional int32 status_type = 1101; // for LOAD_HAL // The name of a target. optional bytes file_path = 1201; // target class optional int32 target_class = 1202; // target type optional int32 target_type = 1203; // target version (should be divided by 100) - float has a compatibility issue // between C/C++ and python protoc. optional float target_version = 1204; // the name of a HAL module to open. optional bytes module_name = 1205; // the package of a HIDL HAL to open. optional bytes target_package = 1206; // the name of a target component (currently used for HIDL HALs only). optional bytes target_component_name = 1207; // the name of a HW Binder service to use (only needed for HIDL HAL). optional bytes hw_binder_service_name = 1221; // for LIST_FUNCTIONS // none // for CALL_FUNCTION optional bytes arg = 1401; // UID of a caller on the driver-side. optional bytes driver_caller_uid = 1501; // for EXECUTE_COMMAND repeated bytes shell_command = 2001; } // To specify a response. message VtsDriverControlResponseMessage { // Response type. optional VtsDriverResponseCode response_code = 1; // Return value. optional int32 return_value = 11; // Return message. optional bytes return_message = 12; // The stdout message for each command repeated bytes stdout = 1001; // The stderr message for each command repeated bytes stderr = 1002; // The exit code for each command repeated int32 exit_code = 1003; // The retrieved specifications. repeated bytes spec = 2001; }