blob: 78e9d7fb7381f86eb077ebff73939174f6afb92c [file] [log] [blame]
/*
* Copyright (C) 2020 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "tpm_commands.h"
#include <tss2/tss2_tpm2_types.h>
#include <cstddef>
#include <string>
std::string TpmCommandName(std::uint32_t command_num) {
switch(command_num) {
#define MATCH_TPM_COMMAND(name) case name: return #name;
MATCH_TPM_COMMAND(TPM2_CC_NV_UndefineSpaceSpecial)
MATCH_TPM_COMMAND(TPM2_CC_EvictControl)
MATCH_TPM_COMMAND(TPM2_CC_HierarchyControl)
MATCH_TPM_COMMAND(TPM2_CC_NV_UndefineSpace)
MATCH_TPM_COMMAND(TPM2_CC_ChangeEPS)
MATCH_TPM_COMMAND(TPM2_CC_ChangePPS)
MATCH_TPM_COMMAND(TPM2_CC_Clear)
MATCH_TPM_COMMAND(TPM2_CC_ClearControl)
MATCH_TPM_COMMAND(TPM2_CC_ClockSet)
MATCH_TPM_COMMAND(TPM2_CC_HierarchyChangeAuth)
MATCH_TPM_COMMAND(TPM2_CC_NV_DefineSpace)
MATCH_TPM_COMMAND(TPM2_CC_PCR_Allocate)
MATCH_TPM_COMMAND(TPM2_CC_PCR_SetAuthPolicy)
MATCH_TPM_COMMAND(TPM2_CC_PP_Commands)
MATCH_TPM_COMMAND(TPM2_CC_SetPrimaryPolicy)
MATCH_TPM_COMMAND(TPM2_CC_FieldUpgradeStart)
MATCH_TPM_COMMAND(TPM2_CC_ClockRateAdjust)
MATCH_TPM_COMMAND(TPM2_CC_CreatePrimary)
MATCH_TPM_COMMAND(TPM2_CC_NV_GlobalWriteLock)
MATCH_TPM_COMMAND(TPM2_CC_GetCommandAuditDigest)
MATCH_TPM_COMMAND(TPM2_CC_NV_Increment)
MATCH_TPM_COMMAND(TPM2_CC_NV_SetBits)
MATCH_TPM_COMMAND(TPM2_CC_NV_Extend)
MATCH_TPM_COMMAND(TPM2_CC_NV_Write)
MATCH_TPM_COMMAND(TPM2_CC_NV_WriteLock)
MATCH_TPM_COMMAND(TPM2_CC_DictionaryAttackLockReset)
MATCH_TPM_COMMAND(TPM2_CC_DictionaryAttackParameters)
MATCH_TPM_COMMAND(TPM2_CC_NV_ChangeAuth)
MATCH_TPM_COMMAND(TPM2_CC_PCR_Event)
MATCH_TPM_COMMAND(TPM2_CC_PCR_Reset)
MATCH_TPM_COMMAND(TPM2_CC_SequenceComplete)
MATCH_TPM_COMMAND(TPM2_CC_SetAlgorithmSet)
MATCH_TPM_COMMAND(TPM2_CC_SetCommandCodeAuditStatus)
MATCH_TPM_COMMAND(TPM2_CC_FieldUpgradeData)
MATCH_TPM_COMMAND(TPM2_CC_IncrementalSelfTest)
MATCH_TPM_COMMAND(TPM2_CC_SelfTest)
MATCH_TPM_COMMAND(TPM2_CC_Startup)
MATCH_TPM_COMMAND(TPM2_CC_Shutdown)
MATCH_TPM_COMMAND(TPM2_CC_StirRandom)
MATCH_TPM_COMMAND(TPM2_CC_ActivateCredential)
MATCH_TPM_COMMAND(TPM2_CC_Certify)
MATCH_TPM_COMMAND(TPM2_CC_PolicyNV)
MATCH_TPM_COMMAND(TPM2_CC_CertifyCreation)
MATCH_TPM_COMMAND(TPM2_CC_Duplicate)
MATCH_TPM_COMMAND(TPM2_CC_GetTime)
MATCH_TPM_COMMAND(TPM2_CC_GetSessionAuditDigest)
MATCH_TPM_COMMAND(TPM2_CC_NV_Read)
MATCH_TPM_COMMAND(TPM2_CC_NV_ReadLock)
MATCH_TPM_COMMAND(TPM2_CC_ObjectChangeAuth)
MATCH_TPM_COMMAND(TPM2_CC_PolicySecret)
MATCH_TPM_COMMAND(TPM2_CC_Rewrap)
MATCH_TPM_COMMAND(TPM2_CC_Create)
MATCH_TPM_COMMAND(TPM2_CC_ECDH_ZGen)
MATCH_TPM_COMMAND(TPM2_CC_HMAC)
MATCH_TPM_COMMAND(TPM2_CC_Import)
MATCH_TPM_COMMAND(TPM2_CC_Load)
MATCH_TPM_COMMAND(TPM2_CC_Quote)
MATCH_TPM_COMMAND(TPM2_CC_RSA_Decrypt)
MATCH_TPM_COMMAND(TPM2_CC_HMAC_Start)
MATCH_TPM_COMMAND(TPM2_CC_SequenceUpdate)
MATCH_TPM_COMMAND(TPM2_CC_Sign)
MATCH_TPM_COMMAND(TPM2_CC_Unseal)
MATCH_TPM_COMMAND(TPM2_CC_PolicySigned)
MATCH_TPM_COMMAND(TPM2_CC_ContextLoad)
MATCH_TPM_COMMAND(TPM2_CC_ContextSave)
MATCH_TPM_COMMAND(TPM2_CC_ECDH_KeyGen)
MATCH_TPM_COMMAND(TPM2_CC_EncryptDecrypt)
MATCH_TPM_COMMAND(TPM2_CC_FlushContext)
MATCH_TPM_COMMAND(TPM2_CC_LoadExternal)
MATCH_TPM_COMMAND(TPM2_CC_MakeCredential)
MATCH_TPM_COMMAND(TPM2_CC_NV_ReadPublic)
MATCH_TPM_COMMAND(TPM2_CC_PolicyAuthorize)
MATCH_TPM_COMMAND(TPM2_CC_PolicyAuthValue)
MATCH_TPM_COMMAND(TPM2_CC_PolicyCommandCode)
MATCH_TPM_COMMAND(TPM2_CC_PolicyCounterTimer)
MATCH_TPM_COMMAND(TPM2_CC_PolicyCpHash)
MATCH_TPM_COMMAND(TPM2_CC_PolicyLocality)
MATCH_TPM_COMMAND(TPM2_CC_PolicyNameHash)
MATCH_TPM_COMMAND(TPM2_CC_PolicyOR)
MATCH_TPM_COMMAND(TPM2_CC_PolicyTicket)
MATCH_TPM_COMMAND(TPM2_CC_ReadPublic)
MATCH_TPM_COMMAND(TPM2_CC_RSA_Encrypt)
MATCH_TPM_COMMAND(TPM2_CC_StartAuthSession)
MATCH_TPM_COMMAND(TPM2_CC_VerifySignature)
MATCH_TPM_COMMAND(TPM2_CC_ECC_Parameters)
MATCH_TPM_COMMAND(TPM2_CC_FirmwareRead)
MATCH_TPM_COMMAND(TPM2_CC_GetCapability)
MATCH_TPM_COMMAND(TPM2_CC_GetRandom)
MATCH_TPM_COMMAND(TPM2_CC_GetTestResult)
MATCH_TPM_COMMAND(TPM2_CC_Hash)
MATCH_TPM_COMMAND(TPM2_CC_PCR_Read)
MATCH_TPM_COMMAND(TPM2_CC_PolicyPCR)
MATCH_TPM_COMMAND(TPM2_CC_PolicyRestart)
MATCH_TPM_COMMAND(TPM2_CC_ReadClock)
MATCH_TPM_COMMAND(TPM2_CC_PCR_Extend)
MATCH_TPM_COMMAND(TPM2_CC_PCR_SetAuthValue)
MATCH_TPM_COMMAND(TPM2_CC_NV_Certify)
MATCH_TPM_COMMAND(TPM2_CC_EventSequenceComplete)
MATCH_TPM_COMMAND(TPM2_CC_HashSequenceStart)
MATCH_TPM_COMMAND(TPM2_CC_PolicyPhysicalPresence)
MATCH_TPM_COMMAND(TPM2_CC_PolicyDuplicationSelect)
MATCH_TPM_COMMAND(TPM2_CC_PolicyGetDigest)
MATCH_TPM_COMMAND(TPM2_CC_TestParms)
MATCH_TPM_COMMAND(TPM2_CC_Commit)
MATCH_TPM_COMMAND(TPM2_CC_PolicyPassword)
MATCH_TPM_COMMAND(TPM2_CC_ZGen_2Phase)
MATCH_TPM_COMMAND(TPM2_CC_EC_Ephemeral)
MATCH_TPM_COMMAND(TPM2_CC_PolicyNvWritten)
MATCH_TPM_COMMAND(TPM2_CC_PolicyTemplate)
MATCH_TPM_COMMAND(TPM2_CC_CreateLoaded)
MATCH_TPM_COMMAND(TPM2_CC_PolicyAuthorizeNV)
MATCH_TPM_COMMAND(TPM2_CC_EncryptDecrypt2)
MATCH_TPM_COMMAND(TPM2_CC_AC_GetCapability)
MATCH_TPM_COMMAND(TPM2_CC_AC_Send)
MATCH_TPM_COMMAND(TPM2_CC_Policy_AC_SendSelect)
MATCH_TPM_COMMAND(TPM2_CC_Vendor_TCG_Test)
#undef MATCH_TPM_COMMAND
default:
return "Unknown";
}
}