Vadim Bendebury | b86371b | 2015-05-27 18:16:19 -0700 | [diff] [blame] | 1 | /* |
| 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 Bendebury | 0d658a0 | 2015-05-29 22:55:38 -0700 | [diff] [blame] | 10 | TPM_RC NvAddEvictObject( |
| 11 | TPMI_DH_OBJECT evictHandle, // IN: new evict handle |
| 12 | OBJECT *object // IN: object to be added |
| 13 | ); |
Vadim Bendebury | 6c73a9e | 2015-05-31 16:06:18 -0700 | [diff] [blame] | 14 | UINT32 NvCapGetPersistentNumber( |
| 15 | void |
| 16 | ); |
Vadim Bendebury | da72506 | 2015-05-31 14:41:18 -0700 | [diff] [blame] | 17 | void NvCheckState(void); |
| 18 | BOOL NvCommit( |
| 19 | void |
| 20 | ); |
Vadim Bendebury | 76970b1 | 2015-05-31 18:40:37 -0700 | [diff] [blame] | 21 | TPM_RC NvDefineIndex( |
| 22 | TPMS_NV_PUBLIC *publicArea, // IN: A template for an area to create. |
| 23 | TPM2B_AUTH *authValue // IN: The initial authorization value |
| 24 | ); |
Vadim Bendebury | 0d658a0 | 2015-05-29 22:55:38 -0700 | [diff] [blame] | 25 | void NvDeleteEntity( |
| 26 | TPM_HANDLE handle // IN: handle of entity to be deleted |
| 27 | ); |
Vadim Bendebury | 59727bd | 2015-05-28 14:58:08 -0700 | [diff] [blame] | 28 | void NvFlushHierarchy( |
| 29 | TPMI_RH_HIERARCHY hierarchy // IN: hierarchy to be flushed. |
| 30 | ); |
Vadim Bendebury | 5f32063 | 2015-06-01 10:20:42 -0700 | [diff] [blame] | 31 | TPM_RC NvGetEvictObject( |
| 32 | TPM_HANDLE handle, // IN: handle |
| 33 | OBJECT *object // OUT: object data |
| 34 | ); |
Vadim Bendebury | d302849 | 2015-05-31 18:15:44 -0700 | [diff] [blame] | 35 | void NvGetIndexData( |
| 36 | TPMI_RH_NV_INDEX handle, // IN: handle |
| 37 | NV_INDEX *nvIndex, // IN: RAM image of index header |
| 38 | UINT32 offset, // IN: offset of NV data |
| 39 | UINT16 size, // IN: size of NV data |
| 40 | void *data // OUT: data buffer |
| 41 | ); |
Vadim Bendebury | 889ec83 | 2015-05-26 17:11:06 -0700 | [diff] [blame] | 42 | void NvGetIndexInfo( |
| 43 | TPMI_RH_NV_INDEX handle, // IN: handle |
| 44 | NV_INDEX *nvIndex // OUT: NV index structure |
| 45 | ); |
Vadim Bendebury | 6c73a9e | 2015-05-31 16:06:18 -0700 | [diff] [blame] | 46 | void NvGetIntIndexData( |
| 47 | TPMI_RH_NV_INDEX handle, // IN: handle |
| 48 | NV_INDEX *nvIndex, // IN: RAM image of NV Index header |
| 49 | UINT64 *data // IN: UINT64 pointer for counter or bit |
| 50 | ); |
Vadim Bendebury | 889ec83 | 2015-05-26 17:11:06 -0700 | [diff] [blame] | 51 | UINT16 NvGetName( |
| 52 | TPMI_RH_NV_INDEX handle, // IN: handle of the index |
| 53 | NAME *name // OUT: name of the index |
| 54 | ); |
Vadim Bendebury | bbd7900 | 2015-05-31 14:44:07 -0700 | [diff] [blame] | 55 | TPMI_YES_NO NvCapGetIndex( |
| 56 | TPMI_DH_OBJECT handle, // IN: start handle |
| 57 | UINT32 count, // IN: maximum number of returned handle |
| 58 | TPML_HANDLE *handleList // OUT: list of handle |
| 59 | ); |
| 60 | TPMI_YES_NO NvCapGetPersistent( |
| 61 | TPMI_DH_OBJECT handle, // IN: start handle |
| 62 | UINT32 count, // IN: maximum number of returned handle |
| 63 | TPML_HANDLE *handleList // OUT: list of handle |
| 64 | ); |
Vadim Bendebury | 889ec83 | 2015-05-26 17:11:06 -0700 | [diff] [blame] | 65 | TPM_RC NvIndexIsAccessible( |
| 66 | TPMI_RH_NV_INDEX handle, // IN: handle |
| 67 | TPM_CC commandCode // IN: the command |
| 68 | ); |
Vadim Bendebury | 62f9d01 | 2015-05-31 15:54:32 -0700 | [diff] [blame] | 69 | void NvInit( |
| 70 | void |
| 71 | ); |
Vadim Bendebury | 483dcb8 | 2015-05-31 18:56:26 -0700 | [diff] [blame] | 72 | UINT64 NvInitialCounter( |
| 73 | void |
| 74 | ); |
Vadim Bendebury | b86371b | 2015-05-27 18:16:19 -0700 | [diff] [blame] | 75 | TPM_RC NvIsAvailable( |
| 76 | void |
| 77 | ); |
Vadim Bendebury | 0d658a0 | 2015-05-29 22:55:38 -0700 | [diff] [blame] | 78 | BOOL NvIsOwnerPersistentHandle( |
| 79 | TPM_HANDLE handle // IN: handle |
| 80 | ); |
| 81 | BOOL NvIsPlatformPersistentHandle( |
| 82 | TPM_HANDLE handle // IN: handle |
| 83 | ); |
Vadim Bendebury | 76970b1 | 2015-05-31 18:40:37 -0700 | [diff] [blame] | 84 | BOOL NvIsUndefinedIndex( |
| 85 | TPMI_RH_NV_INDEX handle // IN: handle |
| 86 | ); |
Vadim Bendebury | c2e73a6 | 2015-05-31 18:50:44 -0700 | [diff] [blame] | 87 | void NvSetGlobalLock( |
| 88 | void |
| 89 | ); |
Vadim Bendebury | 6c73a9e | 2015-05-31 16:06:18 -0700 | [diff] [blame] | 90 | TPM_RC NvWriteIndexData( |
| 91 | TPMI_RH_NV_INDEX handle, // IN: handle |
| 92 | NV_INDEX *nvIndex, // IN: RAM copy of NV Index |
| 93 | UINT32 offset, // IN: offset of NV data |
| 94 | UINT32 size, // IN: size of NV data |
| 95 | void *data // OUT: data buffer |
| 96 | ); |
Vadim Bendebury | 779600f | 2015-05-31 18:24:59 -0700 | [diff] [blame] | 97 | TPM_RC NvWriteIndexInfo( |
| 98 | TPMI_RH_NV_INDEX handle, // IN: handle |
| 99 | NV_INDEX *nvIndex // IN: NV Index info to be written |
| 100 | ); |
Vadim Bendebury | 59727bd | 2015-05-28 14:58:08 -0700 | [diff] [blame] | 101 | void NvWriteReserved( |
Vadim Bendebury | da72506 | 2015-05-31 14:41:18 -0700 | [diff] [blame] | 102 | NV_RESERVE type, // IN: type of reserved data |
Vadim Bendebury | 59727bd | 2015-05-28 14:58:08 -0700 | [diff] [blame] | 103 | void *buffer // IN: data buffer |
| 104 | ); |
Vadim Bendebury | da72506 | 2015-05-31 14:41:18 -0700 | [diff] [blame] | 105 | |
Vadim Bendebury | b86371b | 2015-05-27 18:16:19 -0700 | [diff] [blame] | 106 | #endif // __TPM2_NV_FP_H |