xref: /netbsd-src/crypto/external/cpl/trousers/dist/man/man3/Tspi_TPM_GetCapability.3 (revision 2d5f7628c5531eb583b9313ac2fd1cf8582b4479)
Copyright (C) 2004 International Business Machines Corporation
Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden

\\$1

.. ..

"\\$1" \\$2
..
"Tspi_TPM_GetCapability" 3 "2004-05-25" "TSS 1.1"

1 TCG Software Stack Developer's Reference

NAME
Tspi_TPM_GetCapability - get information on the capabilities of the TPM
"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_RESULT Tspi_TPM_GetCapability(TSS_HTPM " hTPM ", TSS_FLAG " capArea ","  " UINT32 " ulSubCapLength ", BYTE* " rgbSubCap ", "  " UINT32* " pulRespDataLength ", BYTE** " prgbRespData ");" 
"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.

"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.
"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 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.

"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.

"CONFORMING TO"

Tspi_TPM_GetCapability conforms to the Trusted Computing Group Software Specification version 1.1 Golden

"SEE ALSO"

Tspi_TPM_GetCapabilitySigned(3), Tspi_TPM_GetEvent(3).