// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// The messages in this file comprise the DBus/Proto interface for bootlockboxd.

syntax = "proto2";

option optimize_for = LITE_RUNTIME;

package cryptohome;

enum BootLockboxErrorCode {
  BOOTLOCKBOX_ERROR_NOT_SET = 0;
  BOOTLOCKBOX_ERROR_CANNOT_STORE = 1;
  BOOTLOCKBOX_ERROR_CANNOT_READ = 2;
  BOOTLOCKBOX_ERROR_TPM_COMM_ERROR = 3;
}

message BootLockboxBaseReply {
  optional BootLockboxErrorCode error = 1;

  extensions 1000 to max;
}

message StoreBootLockboxRequest {
  // The key for the data.
  optional bytes key = 1;
  // The data to be stored.
  optional bytes data = 2;
}

message ReadBootLockboxRequest {
  // The key for the data to read.
  optional bytes key = 1;
}

message ReadBootLockboxReply {
  extend BootLockboxBaseReply {
    optional ReadBootLockboxReply reply = 1001;
  }
  optional bytes data = 1;
}

message FinalizeNVRamBootLockboxRequest {
}
