Tspi_TPM_PcrRead(3)
β¨ Tspi_TPM_PcrRead β¨
okay bestie, gather round π«Ά this one's from the TCG Software Stack Developer's Reference, and it lives in the Library Functions Manual (section 3, obviously, iykyk). It's giving β¨PCR loreβ¨ and honestly? iconic.
πΈ NAME πΈ
Tspi_TPM_PcrRead β read the value in a PCR register π
π¦ 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_PcrRead(TSS_HTPM hTPM, UINT32 ulPcrIndex,
UINT32* pulPcrValueLength, BYTE** prgbPcrValue);
look at all those headers, not me being obsessed with a well-organized include block π the way it just stacks them, periodt.
π DESCRIPTION π
So like, Tspi_TPM_PcrRead reads a PCR register to find the current values. That's it, that's the vibe β you ask the register what it's holding rn and it tells you. π
π PARAMETERS π
hTPM
The hTPM parameter is used to specify the handle of the TPM object. The command to get the TPM to test itself will be sent here. π«‘
ulPcrIndex
The ulPcrIndex parameter is the index of the PCR to read. Which drawer are we opening, bestie? ποΈ
pulPcrValueLength
The pulPcrValueLength parameter receives the length in bytes of the prgbPcrValue parameter. It's the little "how much stuff did we get" receipt π§Ύβ¨
prgbPcrValue
The prgbPcrValue parameter receives a pointer to the memory block containing the PCR data. the actual goods π
π₯ RETURN CODES π₯
Tspi_TPM_PcrRead returns TSS_SUCCESS on success, otherwise one of the following values is returned:
TSS_E_INVALID_HANDLEβhTPMis not a valid handle. bestie that handle is NOT it πTSS_E_INTERNAL_ERRORβ An internal SW error has been detected. uh oh π something deep down went sidewaysTSS_E_BAD_PARAMETERβ One or more parameters is bad. naughty parameters, jail π¨
π CONFORMING TO π
Tspi_TPM_PcrRead conforms to the Trusted Computing Group Software Specification version 1.1 Golden. standards queen behavior β¨
π SEE ALSO π
Tspi_TPM_PcrExtend(3)β the sibling, the partner in crime π§π
aaaand that's the whole page, no skips, no crumbs left behind π This was TSS 1.1, dated 2004-05-25, and honestly it ate. slay, bye bestie! π β¨
π¦ 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