Tspi_TPM_GetCapability(3)
β¨ Tspi_TPM_GetCapability β¨
okay bestie, welcome to the TCG Software Stack Developer's Reference π this one's a manual page from the Tspi_TPM_GetCapability(3) family, living in the Library Functions Manual, and it's literally your little gossip line to the TPM. let's get into it π«Ά
πΈ 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 π¦
so Tspi_TPM_GetCapability gets information on various capabilities of the TPM. that's it, that's the vibe β¨ you can use this command to learn how many PCRs the TPM supports, etc. it's giving "asking the TPM to spill the tea about itself" π
π PARAMETERS π
hTPM
the hTPM parameter is used to specify the handle of the TPM object. it's the lil ID card you hand over so the TPM knows who it's talking to πͺͺ
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. yes it's just the size tag, iconic behavior π
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. it tells you how much data came back π
prgbRespData
the prgbRespData parameter receives a pointer to the actual data of the specified attribute. the real payload, the main character moment π
β 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_*(seetcpa_literals.h)
- subCaps:
TSS_TPMCAP_FLAGβ query for the volatile and non-volatile flags inside the TPM. (Must be owner authorized π). In this case, the 2UINT32values will be returned concatenated together inprgbRespData.- subCaps: ignored.
TSS_TPMCAP_ALGβ query whether an algorithm is supported by the TPM.- subCaps:
TSS_ALG_RSATSS_ALG_DESTSS_ALG_3DESTSS_ALG_SHATSS_ALG_HMACTSS_ALG_AES
- subCaps:
TSS_TPMCAP_PROPERTYβ query a property of the TPM.- subCaps:
TSS_TPMCAP_PROP_PCRTSS_TPMCAP_PROP_DIRTSS_TPMCAP_PROP_MANUFACTURERTSS_TPMCAP_PROP_SLOTS
- subCaps:
TSS_TPMCAP_VERSIONβ get theTSS_VERSIONstructure tha identifies the TPM.- subCaps: ignored.
ngl bestie, the typo in "tha identifies the TPM" is a direct quote from the original β we keep it exactly as-is, no editing the ancestors π
π RETURN CODES π
Tspi_TPM_GetCapability returns TSS_SUCCESS on success, otherwise one of the following values is returned:
TSS_E_INVALID_HANDLEβhTPMis not a valid handle. not it πTSS_E_INTERNAL_ERRORβ An internal SW error has been detected. the software tripped, no cap πTSS_E_BAD_PARAMETERβ One or more parameters is bad. bad parameters? in this economy? π
π CONFORMING TO π
Tspi_TPM_GetCapability conforms to the Trusted Computing Group Software Specification version 1.1 Golden β yes, it's certified, it's official, it ate π
π₯ SEE ALSO π₯
Tspi_TPM_GetCapabilitySigned(3)Tspi_TPM_GetEvent(3)
and that's the whole page, bestie π this one's from TSS 1.1, dated 2004-05-25 β so yes she's an elder icon, but she still slays πβ¨π¦ go query some capabilities, you got this π«Άπ
π¦ where this page comes from
- debian bookworm: libtspi-dev 0.3.15-0.3 Β· BSD-3-Clause
- debian trixie: libtspi-dev 0.3.15-0.4 Β· BSD-3-Clause
- epel 10: trousers-devel 0.3.15-11.el10_0 Β· BSD
- epel 9: trousers-devel 0.3.15-5.el9 Β· BSD
- fedora 43: trousers-devel 0.3.15-15.fc43 Β· LicenseRef-Callaway-BSD
- fedora 43: trousers-devel 0.3.15-15.fc43 Β· LicenseRef-Callaway-BSD
- fedora 43: trousers-devel 0.3.15-16.fc43 Β· LicenseRef-Callaway-BSD
- fedora 43: trousers-devel 0.3.15-16.fc43 Β· LicenseRef-Callaway-BSD
- fedora 44: trousers-devel 0.3.15-17.fc44 Β· LicenseRef-Callaway-BSD
- fedora 44: trousers-devel 0.3.15-17.fc44 Β· LicenseRef-Callaway-BSD
- nixos 26.05: trousers 0.3.15
- nixpkgs unstable: netbsd-source 11.0
- nixpkgs unstable: trousers 0.3.15
- opensuse-leap 16.0: trousers-devel 0.3.15-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: trousers-devel 0.3.15-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: trousers-devel 0.3.15-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: trousers-devel 0.3.15-160000.2.2 Β· BSD-3-Clause
- ubuntu jammy: libtspi-dev 0.3.15-0.2 Β· BSD-3-Clause
- ubuntu noble: libtspi-dev 0.3.15-0.3build2 Β· BSD-3-Clause
- ubuntu questing: libtspi-dev 0.3.15-0.4
- ubuntu resolute: libtspi-dev 0.3.15-1 Β· BSD-3-Clause
- ubuntu stonking: libtspi-dev 0.3.15-1ubuntu2 Β· BSD-3-Clause
- Copyright (C) 2004 International Business Machines Corporation
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms