1 // 2 // Copyright (C) 2015 The Android Open Source Project 3 // 4 // Licensed under the Apache License, Version 2.0 (the "License"); 5 // you may not use this file except in compliance with the License. 6 // You may obtain a copy of the License at 7 // 8 // http://www.apache.org/licenses/LICENSE-2.0 9 // 10 // Unless required by applicable law or agreed to in writing, software 11 // distributed under the License is distributed on an "AS IS" BASIS, 12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 // See the License for the specific language governing permissions and 14 // limitations under the License. 15 // 16 17 option optimize_for = LITE_RUNTIME; 18 package tpm_manager; 19 20 import "local_data.proto"; 21 import "tpm_manager_status.proto"; 22 23 // The messages in this file correspond to the D-Bus interface to handle 24 // ownership of the Tpm. 25 26 // Input for the GetTpmStatus method. 27 message GetTpmStatusRequest { 28 } 29 30 // Output from the GetTpmStatus method. 31 message GetTpmStatusReply { 32 optional TpmManagerStatus status = 1; 33 // Whether a TPM is enabled on the system. 34 optional bool enabled = 2; 35 // Whether the TPM has been owned. 36 optional bool owned = 3; 37 // Local TPM management data (including the owner password if available). 38 optional LocalData local_data = 4; 39 // The current dictionary attack counter value. 40 optional int32 dictionary_attack_counter = 5; 41 // The current dictionary attack counter threshold. 42 optional int32 dictionary_attack_threshold = 6; 43 // Whether the TPM is in some form of dictionary attack lockout. 44 optional bool dictionary_attack_lockout_in_effect = 7; 45 // The number of seconds remaining in the lockout. 46 optional int32 dictionary_attack_lockout_seconds_remaining = 8; 47 } 48 49 // Input for the TakeOwnership method. 50 message TakeOwnershipRequest { 51 } 52 53 // Output from the TakeOwnership method. 54 message TakeOwnershipReply { 55 optional TpmManagerStatus status = 1; 56 } 57 58 // Input for the RemoveOwnerDependency method. 59 message RemoveOwnerDependencyRequest { 60 optional bytes owner_dependency = 1; 61 } 62 63 // Output for the RemoveOwnerDependency method. 64 message RemoveOwnerDependencyReply { 65 optional TpmManagerStatus status = 1; 66 } 67