Tspi_TPM_GetCapability - get information on the capabilities of the TPM
Contents
Conforming To
Tspi_TPM_GetCapability conforms to the Trusted Computing Group Software Specification version 1.1 Golden
Description
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.
Name
Tspi_TPM_GetCapability - get information on the capabilities of the TPM
Notes
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 autho‐
rized). 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.
Parameters
hTPM
The hTPM parameter is used to specify the handle of the TPM object.
capArea
The capArea parameter is the flag indicating the attribute to query. Possible values are:
ulSubCapLength
The ulSubCapLength parameter is the length in bytes of the rgbSubCap parameter.
rgbSubCap
The rgbSubCap parameter is the data indicating the attribute to query. Possible values are:
pulRespDataLength
The pulRespDataLength parameter is the length in bytes of the prgbRespData parameter.
prgbRespData
The prgbRespData parameter receives a pointer to the actual data of the specified attribute.
Return Codes
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.
See Also
Tspi_TPM_GetCapabilitySigned(3), Tspi_TPM_GetEvent(3). TSS 1.1 2004-05-25 Tspi_TPM_GetCapability(3)
Synopsis
#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_RESULTTspi_TPM_GetCapability(TSS_HTPMhTPM,TSS_FLAGcapArea,UINT32ulSubCapLength,BYTE*rgbSubCap,UINT32*pulRespDataLength,BYTE**prgbRespData);
