blob: a87556512389b71fbd184be1444da265109fc477 [file] [log] [blame]
option optimize_for = LITE_RUNTIME;
package tpm_manager;
import "local_data.proto";
// The messages in this file correspond to the TpmManager D-Bus interface.
enum TpmManagerStatus {
STATUS_SUCCESS = 0;
STATUS_UNEXPECTED_DEVICE_ERROR = 1;
STATUS_NOT_AVAILABLE = 2;
}
// Input for the GetTpmStatus method.
message GetTpmStatusRequest {
}
// Output from the GetTpmStatus method.
message GetTpmStatusReply {
optional TpmManagerStatus status = 1;
// Whether a TPM is enabled on the system.
optional bool enabled = 2;
// Whether the TPM has been owned.
optional bool owned = 3;
// Local TPM management data (including the owner password if available).
optional LocalData local_data = 4;
// The current dictionary attack counter value.
optional int32 dictionary_attack_counter = 5;
// The current dictionary attack counter threshold.
optional int32 dictionary_attack_threshold = 6;
// Whether the TPM is in some form of dictionary attack lockout.
optional bool dictionary_attack_lockout_in_effect = 7;
// The number of seconds remaining in the lockout.
optional int32 dictionary_attack_lockout_seconds_remaining = 8;
}
// Input for the TakeOwnership method.
message TakeOwnershipRequest {
}
// Output from the TakeOwnership method.
message TakeOwnershipReply {
optional TpmManagerStatus status = 1;
}
// Input for the DefineNvram method.
message DefineNvramRequest {
optional int32 index = 1;
optional int32 length = 2;
}
// Output for the DefineNvram method.
message DefineNvramReply {
optional TpmManagerStatus status = 1;
}
// Input for the DestroyNvram method.
message DestroyNvramRequest {
optional int32 index = 1;
}
// Output for the DestroyNvram method.
message DestroyNvramReply {
optional TpmManagerStatus status = 1;
}
// Input for the WriteNvram method.
message WriteNvramRequest {
optional int32 index = 1;
optional bytes data = 2;
}
// Output for the WriteNvram method.
message WriteNvramReply {
optional TpmManagerStatus status = 1;
}
// Input for the ReadNvram method.
message ReadNvramRequest {
optional int32 index = 1;
}
// Output for the ReadNvram method.
message ReadNvramReply {
optional TpmManagerStatus status = 1;
optional bytes data = 2;
}
// Input for the IsNvramDefined method.
message IsNvramDefinedRequest {
optional int32 index = 1;
}
// Output for the IsNvramDefined method.
message IsNvramDefinedReply {
optional TpmManagerStatus status = 1;
optional bool is_defined = 2;
}
// Input for the IsNvramLocked method.
message IsNvramLockedRequest {
optional int32 index = 1;
}
// Output for the IsNvramLocked method.
message IsNvramLockedReply {
optional TpmManagerStatus status = 1;
optional bool is_locked = 2;
}
// Input for the GetNvramSize method.
message GetNvramSizeRequest {
optional int32 index = 1;
}
// Output for the GetNvramSize method.
message GetNvramSizeReply {
optional TpmManagerStatus status = 1;
optional int32 size = 2;
}