---
name: "Tspi_TPM_DirWrite"
section: "3"
platform: "linux"
package: "libtspi-dev"
version: "0.3.15-0.4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Tspi_TPM_DirWrite"
---

# Tspi\_TPM\_DirWrite(3)

write to a Data Integrity Register

TCG Software Stack Developer's Reference

## NAME

Tspi\_TPM\_DirWrite - write to 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_DirWrite(TSS_HTPM hTPM,            UINT32 ulDirIndex,
                             UINT32   ulDirDataLength, BYTE*  rgbDirData);
```

## DESCRIPTION

**Tspi\_TPM\_DirWrite** writes a data integrity register. You need to know the DIR index and data you wish to write to the DIR prior to using this command.

## PARAMETERS

### hTPM

The *hTPM* parameter is used to specify the handle of the TPM object.

### ulDirIndex

The *ulDirIndex* parameter is the index of the DIR to write. To query the TPM for the number of DIR registers it supports, use [**Tspi\_TPM\_GetCapability**(3)](/Tspi_TPM_GetCapability/3.md).

### ulDirDataLength

The *ulDirDataLength* parameter is the length in bytes of the *rgbDirData* parameter.

### rgbDirData

The *rgbDirData* parameter is a pointer to memory containing the data to be written to the DIR.

## RETURN CODES

**Tspi\_TPM\_DirWrite** 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\_DirWrite** conforms to the Trusted Computing Group Software Specification version 1.1 Golden

## SEE ALSO

[**Tspi\_TPM\_GetCapability**(3)](/Tspi_TPM_GetCapability/3.md), [**Tspi\_TPM\_DirRead**(3)](/Tspi_TPM_DirRead/3.md).
