Home | History | Annotate | Download | only in common
      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