Tspi_TPM_DirRead(3)
π Tspi_TPM_DirRead π
okay bestie, welcome to the manual page for Tspi_TPM_DirRead(3) β straight out of the TCG Software Stack Developer's Reference β¨ this is your girl's guide to reading a Data Integrity Register, and yes, it's as iconic as it sounds π
πΈ NAME πΈ
Tspi_TPM_DirRead β Read a Data Integrity 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_DirRead(TSS_HTPM hTPM, UINT32 ulDirIndex,
UINT32* pulDirDataLength, BYTE** prgbDirData);
like, look at that signature. it's giving function. π
π¦ DESCRIPTION π¦
So Tspi_TPM_DirRead reads a data integrity register, periodt. And what even is a DIR, you ask? DIRs are non-volatile memory areas β meaning they persist across reboots, no cap, they stay put π«Ά β and they're maintained by the TPM itself. little memory vaults. obsessed.
π PARAMETERS π
hTPM
The hTPM parameter is how you specify the handle of the TPM object. that's your TPM's little name tag π
ulDirIndex
The ulDirIndex parameter is the index of the DIR you wanna read. and if you're sitting there like "bestie how many DIR registers does this TPM even have??" β you query the TPM for the number of DIR registers it supports using Tspi_TPM_GetCapability(3). iykyk. π₯
pulDirDataLength
The pulDirDataLength parameter receives the length in bytes of the prgbDirData parameter. it's the size tag, she's reporting back π
prgbDirData
The prgbDirData parameter receives a pointer to memory containing the DIR data. boom, that's the goods π
π RETURN CODES π
Tspi_TPM_DirRead returns TSS_SUCCESS on success, and otherwise one of these values comes back at you:
TSS_E_INVALID_HANDLEβhTPMis not a valid handle. bestie that's not a real handle πTSS_E_INTERNAL_ERRORβ an internal SW error has been detected. not her fault, something internal is going through it πTSS_E_BAD_PARAMETERβ one or more parameters is bad. check your args babe π
π CONFORMING TO π
Tspi_TPM_DirRead conforms to the Trusted Computing Group Software Specification version 1.1 Golden. standards! she has them! β
π SEE ALSO π
read one, write one β balance π§
fr fr that's the whole page β TSS 1.1, dated 2004-05-25, and that footer lives down at the bottom like the little signature it is. mwah, go read some registers 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) 2006 International Business Machines Corporation
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms