blob: ac6aebf67e1a979922688bce156bf54ea6659b25 [file] [log] [blame]
// Copyright 2016 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include <endian.h>
#include "tpm-commands.h"
uint32_t tpm_init_getrandom(struct tpm_getrandom_cmd *cmd, uint32_t bytes_requested) {
cmd->hdr.tag = htobe16(TPM_TAG_RQU_COMMAND);
cmd->hdr.total_len = htobe32(sizeof(*cmd));
cmd->hdr.cmd_code = htobe32(TPM_ORD_GETRANDOM);
cmd->bytes_requested = htobe32(bytes_requested);
return sizeof(struct tpm_getrandom_resp) + bytes_requested;
}
uint32_t tpm_init_savestate(struct tpm_savestate_cmd *cmd) {
cmd->hdr.tag = htobe16(TPM_TAG_RQU_COMMAND);
cmd->hdr.total_len = htobe32(sizeof(*cmd));
cmd->hdr.cmd_code = htobe32(TPM_ORD_SAVESTATE);
return sizeof(struct tpm_savestate_resp);
}