Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
\\$1
.. ..
1 TCG Software Stack Developer's Reference
#include <tss/platform.h> #include <tss/tcpa_defines.h> #include <tss/tcpa_typedef.h> #include <tss/tcpa_struct.h> #include <tss/tss_typedef.h> #include <tss/tss_structs.h> #include <tss/tspi.h> "TSS_RESULT Tspi_TPM_GetCapability(TSS_HTPM " hTPM ", TSS_FLAG " capArea "," " UINT32 " ulSubCapLength ", BYTE* " rgbSubCap ", " " UINT32* " pulRespDataLength ", BYTE** " prgbRespData ");"
Tspi_TPM_GetCapability gets information on various capabilities of the TPM. This command can be used to learn how many PCRs the TPM supports, etc.
The following Capability Areas and Sub-Capability Areas are supported by 1.1 TSS's: TSS_TPMCAP_ORD " - query whether an ordinal is supported by the TPM. " subCaps: TPM_ORD_* (see tcpa_literals.h) TSS_TPMCAP_FLAG " - query for the volatile and non-volatile flags inside the TPM. (Must be owner authorized). In this case, the 2 UINT32 values will be returned concatenated together in prgbRespData. " subCaps: ignored. TSS_TPMCAP_ALG " - query whether an algorithm is supported by the TPM. " subCaps: TSS_ALG_RSA TSS_ALG_DES TSS_ALG_3DES TSS_ALG_SHA TSS_ALG_HMAC TSS_ALG_AES TSS_TPMCAP_PROPERTY " - query a property of the TPM. " subCaps: TSS_TPMCAP_PROP_PCR TSS_TPMCAP_PROP_DIR TSS_TPMCAP_PROP_MANUFACTURER TSS_TPMCAP_PROP_SLOTS TSS_TPMCAP_VERSION " - get the TSS_VERSION structure tha identifies the TPM. " subCaps: ignored.
Tspi_TPM_GetCapability returns TSS_SUCCESS on success, otherwise one of the following values is returned:
TSS_E_INVALID_HANDLE hTPM is not a valid handle.
TSS_E_INTERNAL_ERROR An internal SW error has been detected.
TSS_E_BAD_PARAMETER One or more parameters is bad.
Tspi_TPM_GetCapability conforms to the Trusted Computing Group Software Specification version 1.1 Golden
Tspi_TPM_GetCapabilitySigned(3), Tspi_TPM_GetEvent(3).