/* * Copyright 2015 The Chromium OS Authors. All rights reserved. * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef __TPM2_NV_FP_H #define __TPM2_NV_FP_H TPM_RC NvAddEvictObject(TPMI_DH_OBJECT evictHandle, // IN: new evict handle OBJECT *object // IN: object to be added ); UINT32 NvCapGetCounterAvail(void); UINT32 NvCapGetCounterNumber(void); UINT32 NvCapGetIndexNumber(void); UINT32 NvCapGetPersistentAvail(void); UINT32 NvCapGetPersistentNumber(void); void NvCheckState(void); BOOL NvCommit(void); TPM_RC NvDefineIndex( TPMS_NV_PUBLIC *publicArea, // IN: A template for an area to create. TPM2B_AUTH *authValue // IN: The initial authorization value ); void NvDeleteEntity(TPM_HANDLE handle // IN: handle of entity to be deleted ); void NvEntityStartup(STARTUP_TYPE type // IN: start up type ); void NvFlushHierarchy( TPMI_RH_HIERARCHY hierarchy // IN: hierarchy to be flushed. ); TPM_RC NvGetEvictObject(TPM_HANDLE handle, // IN: handle OBJECT *object // OUT: object data ); void NvGetIndexData(TPMI_RH_NV_INDEX handle, // IN: handle NV_INDEX *nvIndex, // IN: RAM image of index header UINT32 offset, // IN: offset of NV data UINT16 size, // IN: size of NV data void *data // OUT: data buffer ); void NvGetIndexInfo(TPMI_RH_NV_INDEX handle, // IN: handle NV_INDEX *nvIndex // OUT: NV index structure ); void NvGetIntIndexData(TPMI_RH_NV_INDEX handle, // IN: handle NV_INDEX *nvIndex, // IN: RAM image of NV Index header UINT64 *data // IN: UINT64 pointer for counter or bit ); UINT16 NvGetName(TPMI_RH_NV_INDEX handle, // IN: handle of the index NAME *name // OUT: name of the index ); TPMI_YES_NO NvCapGetIndex( TPMI_DH_OBJECT handle, // IN: start handle UINT32 count, // IN: maximum number of returned handle TPML_HANDLE *handleList // OUT: list of handle ); TPMI_YES_NO NvCapGetPersistent( TPMI_DH_OBJECT handle, // IN: start handle UINT32 count, // IN: maximum number of returned handle TPML_HANDLE *handleList // OUT: list of handle ); TPM_RC NvIndexIsAccessible(TPMI_RH_NV_INDEX handle, // IN: handle TPM_CC commandCode // IN: the command ); void NvInit(void); UINT64 NvInitialCounter(void); TPM_RC NvIsAvailable(void); BOOL NvIsOwnerPersistentHandle(TPM_HANDLE handle // IN: handle ); BOOL NvIsPlatformPersistentHandle(TPM_HANDLE handle // IN: handle ); BOOL NvIsUndefinedIndex(TPMI_RH_NV_INDEX handle // IN: handle ); BOOL NvPowerOn(void); void NvReadPersistent(void); void NvReadReserved(NV_RESERVE type, // IN: type of reserved data void *buffer // OUT: buffer receives the data. ); void NvSetGlobalLock(void); void NvStateSave(void); TPM_RC NvWriteIndexData(TPMI_RH_NV_INDEX handle, // IN: handle NV_INDEX *nvIndex, // IN: RAM copy of NV Index UINT32 offset, // IN: offset of NV data UINT32 size, // IN: size of NV data void *data // OUT: data buffer ); TPM_RC NvWriteIndexInfo(TPMI_RH_NV_INDEX handle, // IN: handle NV_INDEX *nvIndex // IN: NV Index info to be written ); void NvWriteReserved(NV_RESERVE type, // IN: type of reserved data void *buffer // IN: data buffer ); #endif // __TPM2_NV_FP_H