TSPI_PCRCOMPOSITE_GETPCRVALUE(3)
π Tspi_PcrComposite_GetPcrValue β the TCG Software Stack Developer's Reference, bestie edition π
okay so real talk, this one is from the TCG Software Stack Developer's Reference (manual page Tspi_PcrComposite_GetPcrValue(3), if you're being formal about it) and it is genuinely one of the most useful lil functions in the whole PCR composite situation. let's get into it π«Ά
β¨ NAME β¨
Tspi_PcrComposite_GetPcrValue β get the digest value of a given PCR index inside a PCR composite object. that's it, that's the whole job, and she does it flawlessly π
πΈ 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_PcrComposite_GetPcrValue(TSS_HPCRS hPcrComposite, UINT32 ulPcrIndex,
UINT32* ulPcrValueLength, BYTE** rgbPcrValue);
look at all those headers. six of them plus tss/tspi.h for β¨sparkleβ¨. include them all or the compiler will simply not know who you are.
π¦ DESCRIPTION π¦
Tspi_PcrComposite_GetPcrValue returns the digest value of a given PCR index inside a PCR composite object.
that's the vibe. you've got a composite object, you've got an index, you want the digest that lives at that index β this is the function that hands it to you. no cap, it's that straightforward, and honestly? we love a girl who knows what she wants. π
π PARAMETERS π
hPcrComposite
Handle of the PCR composite object instance where a PCR value should be returned. this is your entry ticket β it's the object you're pulling the value out of. if this handle is fake, everything downstream is fake too. π
ulPcrIndex
This parameter indicates the index of the PCR to read. basically you're pointing at a slot and saying "that one, give me that one." π«΅
ulPcrValueLength
The length (in bytes) of the rgbPcrValue parameter. so she's not just a value, she's a value with a measurement. iconic behavior, honestly.
rgbPcrValue
After successful completion this parameter recieves a pointer to the memory block containing the PCR value of the PCR indicated by ulPcrIndex.
π‘ heads up bestie: it says "recieves" in the original and I am not about to rewrite their typo out of existence β that's a pointer to a memory block, so treat it with the respect a pointer to a memory block deserves. π
π₯ RETURN CODES π₯
Tspi_PcrComposite_GetPcrValue returns TSS_SUCCESS on success, otherwise one of the following values are returned:
TSS_E_INVALID_HANDLEβ EitherhPcrCompositeorulPcrIndexis an invalid parameter.TSS_E_INTERNAL_ERRORβ An error occurred internal to the TSS.
so: TSS_SUCCESS = slay, we ate. TSS_E_INVALID_HANDLE = bestie, check your handles, either hPcrComposite or ulPcrIndex is not it. TSS_E_INTERNAL_ERROR = the TSS itself had a moment, and it's not your fault, it's internal to the TSS. π
π CONFORMING TO π
Tspi_PcrComposite_GetPcrValue conforms to the Trusted Computing Group Software Specification version 1.1 Golden.
standard girlie behavior. she follows the spec, she doesn't freestyle. β
π SEE ALSO π
the whole squad, fr fr β go read them too, they're the get-and-set besties to this get.
and that's the whole page, bestie!! this one shipped as TSS 1.1, dated 2004-05-26 β yes she's an elder but she's still serving β¨π stay safe out there, check your handles, and remember: the value comes after the success. periodt. π π
π¦ 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