blob: 527a38dc6005d2a74593bbaf6833cb653b75c9ed [file] [log] [blame]
Vadim Bendeburyb86371b2015-05-27 18:16:19 -07001/*
2 * Copyright 2015 The Chromium OS Authors. All rights reserved.
3 * Use of this source code is governed by a BSD-style license that can be
4 * found in the LICENSE file.
5 */
6
7#ifndef __TPM2_NV_FP_H
8#define __TPM2_NV_FP_H
9
Vadim Bendebury0d658a02015-05-29 22:55:38 -070010TPM_RC NvAddEvictObject(
11 TPMI_DH_OBJECT evictHandle, // IN: new evict handle
12 OBJECT *object // IN: object to be added
13 );
Vadim Bendeburyda725062015-05-31 14:41:18 -070014void NvCheckState(void);
15BOOL NvCommit(
16 void
17 );
Vadim Bendebury0d658a02015-05-29 22:55:38 -070018void NvDeleteEntity(
19 TPM_HANDLE handle // IN: handle of entity to be deleted
20 );
Vadim Bendebury59727bd2015-05-28 14:58:08 -070021void NvFlushHierarchy(
22 TPMI_RH_HIERARCHY hierarchy // IN: hierarchy to be flushed.
23);
Vadim Bendebury889ec832015-05-26 17:11:06 -070024void NvGetIndexInfo(
25 TPMI_RH_NV_INDEX handle, // IN: handle
26 NV_INDEX *nvIndex // OUT: NV index structure
27 );
28UINT16 NvGetName(
29 TPMI_RH_NV_INDEX handle, // IN: handle of the index
30 NAME *name // OUT: name of the index
31 );
Vadim Bendeburybbd79002015-05-31 14:44:07 -070032TPMI_YES_NO NvCapGetIndex(
33 TPMI_DH_OBJECT handle, // IN: start handle
34 UINT32 count, // IN: maximum number of returned handle
35 TPML_HANDLE *handleList // OUT: list of handle
36);
37TPMI_YES_NO NvCapGetPersistent(
38 TPMI_DH_OBJECT handle, // IN: start handle
39 UINT32 count, // IN: maximum number of returned handle
40 TPML_HANDLE *handleList // OUT: list of handle
41);
Vadim Bendebury889ec832015-05-26 17:11:06 -070042TPM_RC NvIndexIsAccessible(
43 TPMI_RH_NV_INDEX handle, // IN: handle
44 TPM_CC commandCode // IN: the command
45 );
Vadim Bendebury62f9d012015-05-31 15:54:32 -070046void NvInit(
47 void
48 );
Vadim Bendeburyb86371b2015-05-27 18:16:19 -070049TPM_RC NvIsAvailable(
50 void
51);
Vadim Bendebury0d658a02015-05-29 22:55:38 -070052BOOL NvIsOwnerPersistentHandle(
53 TPM_HANDLE handle // IN: handle
54 );
55BOOL NvIsPlatformPersistentHandle(
56 TPM_HANDLE handle // IN: handle
57 );
Vadim Bendebury59727bd2015-05-28 14:58:08 -070058void NvWriteReserved(
Vadim Bendeburyda725062015-05-31 14:41:18 -070059 NV_RESERVE type, // IN: type of reserved data
Vadim Bendebury59727bd2015-05-28 14:58:08 -070060 void *buffer // IN: data buffer
61 );
Vadim Bendeburyda725062015-05-31 14:41:18 -070062
Vadim Bendeburyb86371b2015-05-27 18:16:19 -070063#endif // __TPM2_NV_FP_H