/*
 * Copyright 2015 The Chromium OS 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 origin of this file is
 * https://github.com/tianocore/edk2.git:MdePkg/Include/IndustryStandard/Tpm20.h
 * published under BSD license. It can not be copied as is, as it collides
 * with some of the definitions of this package.
 */

#ifndef __TPM2_TPM_TYPES_H
#define __TPM2_TPM_TYPES_H

#include "Capabilities.h"
#include "Implementation.h"
typedef UINT32 TPM_SPEC;

#include "tpm_types.h"

/*
 * The below enum is just a pile of all return codes defined in functions in
 * part 4 of the spec.
 *
 * TODO: map these properly into Format-One error reporting.
 */
enum {
  RC_ActivateCredential_credentialBlob = 0,
  RC_ActivateCredential_keyHandle = 0,
  RC_ActivateCredential_secret = 0,
  RC_CertifyCreation_creationTicket = 0,
  RC_CertifyCreation_inScheme = 0,
  RC_CertifyCreation_signHandle = 0,
  RC_Certify_inScheme = 0,
  RC_Certify_signHandle = 0,
  RC_ClockSet_newTime = 0,
  RC_Commit_P1 = 0,
  RC_Commit_s2 = 0,
  RC_Commit_signHandle = 0,
  RC_Commit_y2 = 0,
  RC_ContextLoad_context = 0,
  RC_CreatePrimary_inPublic = (TPM_RC_P + TPM_RC_2),
  RC_CreatePrimary_inSensitive = (TPM_RC_P + TPM_RC_1),
  RC_Create_inPublic = (TPM_RC_P + TPM_RC_2),
  RC_Create_inSensitive = (TPM_RC_P + TPM_RC_1),
  RC_Create_parentHandle = (TPM_RC_H + TPM_RC_1),
  RC_Duplicate_encryptionKeyIn = 0,
  RC_Duplicate_newParentHandle = 0,
  RC_Duplicate_objectHandle = 0,
  RC_Duplicate_symmetricAlg = 0,
  RC_ECC_Parameters_curveID = (TPM_RC_P + TPM_RC_1),
  RC_ECDH_KeyGen_keyHandle = 0,
  RC_ECDH_ZGen_keyHandle = 0,
  RC_ECDH_ZGen_inPoint = 0,
  RC_EncryptDecrypt_inData = 0,
  RC_EncryptDecrypt_ivIn = 0,
  RC_EncryptDecrypt_keyHandle = (TPM_RC_H + TPM_RC_1),
  RC_EncryptDecrypt_mode = (TPM_RC_P + TPM_RC_2),
  RC_EventSequenceComplete_sequenceHandle = 0,
  RC_EvictControl_objectHandle = 0,
  RC_EvictControl_persistentHandle = 0,
  RC_GetCapability_property = (TPM_RC_P + TPM_RC_2),
  RC_GetCommandAuditDigest_signHandle = 0,
  RC_GetCommandAuditDigest_inScheme = 0,
  RC_GetSessionAuditDigest_inScheme = 0,
  RC_GetSessionAuditDigest_sessionHandle = 0,
  RC_GetSessionAuditDigest_signHandle = 0,
  RC_GetTime_inScheme = 0,
  RC_GetTime_signHandle = 0,
  RC_HMAC_handle = 0,
  RC_HMAC_hashAlg = (TPM_RC_P + TPM_RC_2),
  RC_HMAC_Start_handle = (TPM_RC_H + TPM_RC_1),
  RC_HMAC_Start_hashAlg = (TPM_RC_P + TPM_RC_2),
  RC_HierarchyChangeAuth_newAuth = 0,
  RC_Import_duplicate = 0,
  RC_Import_encryptionKey = 0,
  RC_Import_inSymSeed = 0,
  RC_Import_objectPublic = 0,
  RC_Import_parentHandle = 0,
  RC_IncrementalSelfTest_toTest = (TPM_RC_P + TPM_RC_1),
  RC_Load_inPrivate = 0,
  RC_Load_inPublic = 0,
  RC_Load_parentHandle = 0,
  RC_LoadExternal_hierarchy = 0,
  RC_LoadExternal_inPublic = 0,
  RC_MakeCredential_credential = 0,
  RC_MakeCredential_handle = 0,
  RC_NV_Certify_signHandle = 0,
  RC_NV_Certify_inScheme = 0,
  RC_NV_Certify_size = (TPM_RC_P + TPM_RC_3),
  RC_NV_ChangeAuth_newAuth = 0,
  RC_NV_DefineSpace_auth = 0,
  RC_NV_DefineSpace_authHandle = 0,
  RC_NV_DefineSpace_publicInfo = (TPM_RC_P + TPM_RC_2),
  RC_NV_Extend_nvIndex = 0,
  RC_NV_Increment_nvIndex = 0,
  RC_NV_Read_offset = (TPM_RC_P + TPM_RC_2),
  RC_NV_Read_size = (TPM_RC_P + TPM_RC_1),
  RC_NV_ReadLock_nvIndex = 0,
  RC_NV_SetBits_nvIndex = 0,
  RC_NV_UndefineSpace_nvIndex = 0,
  RC_NV_UndefineSpaceSpecial_nvIndex = 0,
  RC_NV_WriteLock_nvIndex = 0,
  RC_NV_Write_offset = (TPM_RC_P + TPM_RC_2),
  RC_ObjectChangeAuth_newAuth = 0,
  RC_ObjectChangeAuth_objectHandle = 0,
  RC_ObjectChangeAuth_parentHandle = 0,
  RC_PCR_SetAuthPolicy_authPolicy = 0,
  RC_PCR_SetAuthPolicy_pcrNum = 0,
  RC_PolicyAuthorize_approvedPolicy = 0,
  RC_PolicyAuthorize_checkTicket = 0,
  RC_PolicyAuthorize_keySign = 0,
  RC_PolicyCommandCode_code = (TPM_RC_P + TPM_RC_1),
  RC_PolicyCpHash_cpHashA = 0,
  RC_PolicyLocality_locality = 0,
  RC_PolicyNV_operandB = 0,
  RC_PolicyNameHash_nameHash = 0,
  RC_PolicyNvWritten_writtenSet= (TPM_RC_P + TPM_RC_1),
  RC_PolicyOR_pHashList = (TPM_RC_P + TPM_RC_1),
  RC_PolicyPCR_pcrDigest = (TPM_RC_P + TPM_RC_1),
  RC_PolicySecret_cpHashA = 0,
  RC_PolicySecret_expiration = 0,
  RC_PolicySecret_nonceTPM = 0,
  RC_PolicySigned_auth = 0,
  RC_PolicySigned_cpHashA = 0,
  RC_PolicySigned_expiration = 0,
  RC_PolicySigned_nonceTPM = 0,
  RC_PolicyTicket_cpHashA = 0,
  RC_PolicyTicket_policySession = 0,
  RC_PolicyTicket_ticket = 0,
  RC_PolicyTicket_timeout = 0,
  RC_Quote_inScheme = 0,
  RC_Quote_signHandle = 0,
  RC_RSA_Decrypt_inScheme = 0,
  RC_RSA_Decrypt_keyHandle = 0,
  RC_RSA_Decrypt_label = 0,
  RC_RSA_Encrypt_inScheme = (TPM_RC_P + TPM_RC_2),
  RC_RSA_Encrypt_keyHandle = (TPM_RC_H + TPM_RC_1),
  RC_RSA_Encrypt_label = (TPM_RC_P + TPM_RC_3),
  RC_Rewrap_inDuplicate = (TPM_RC_P + TPM_RC_1),
  RC_Rewrap_inSymSeed = (TPM_RC_P + TPM_RC_3),
  RC_Rewrap_newParent = (TPM_RC_H + TPM_RC_2),
  RC_Rewrap_oldParent = (TPM_RC_H + TPM_RC_1),
  RC_SequenceComplete_sequenceHandle = 0,
  RC_SequenceUpdate_sequenceHandle = 0,
  RC_SetCommandCodeAuditStatus_auditAlg = 0,
  RC_SetPrimaryPolicy_authPolicy = 0,
  RC_Shutdown_shutdownType = 0,
  RC_Sign_digest = 0,
  RC_Sign_inScheme = 0,
  RC_Sign_keyHandle = 0,
  RC_Sign_validation = 0,
  RC_StartAuthSession_bind = (TPM_RC_H + TPM_RC_2),
  RC_StartAuthSession_encryptedSalt = (TPM_RC_P + TPM_RC_2),
  RC_StartAuthSession_nonceCaller = (TPM_RC_P + TPM_RC_1),
  RC_StartAuthSession_symmetric = (TPM_RC_P + TPM_RC_4),
  RC_StartAuthSession_tpmKey = (TPM_RC_H + TPM_RC_1),
  RC_Startup_startupType = 0,
  RC_Unseal_itemHandle = 0,
  RC_VerifySignature_keyHandle = 0,
  RC_VerifySignature_signature = 0,
  RC_ZGen_2Phase_counter = 0,
  RC_ZGen_2Phase_inQeB = 0,
  RC_ZGen_2Phase_inQsB = 0,
  RC_ZGen_2Phase_inScheme = 0,
  RC_ZGen_2Phase_keyA = 0,
};

#endif  // __TPM2_TPM_TYPES_H
