Vadim Bendebury | c4b77e0 | 2015-05-27 15:29:50 -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_OBJECT_FP_H |
| 8 | #define __TPM2_OBJECT_FP_H |
| 9 | |
Vadim Bendebury | bbd7900 | 2015-05-31 14:44:07 -0700 | [diff] [blame] | 10 | BOOL AreAttributesForParent( |
| 11 | OBJECT *parentObject // IN: parent handle |
| 12 | ); |
| 13 | TPMI_YES_NO ObjectCapGetLoaded( |
| 14 | TPMI_DH_OBJECT handle, // IN: start handle |
| 15 | UINT32 count, // IN: count of returned handles |
| 16 | TPML_HANDLE *handleList // OUT: list of handle |
| 17 | ); |
Vadim Bendebury | da72506 | 2015-05-31 14:41:18 -0700 | [diff] [blame] | 18 | void ObjectCleanupEvict( |
| 19 | void |
Vadim Bendebury | bbd7900 | 2015-05-31 14:44:07 -0700 | [diff] [blame] | 20 | ); |
Vadim Bendebury | 3743ac1 | 2015-05-29 22:44:14 -0700 | [diff] [blame] | 21 | void ObjectComputeName( |
| 22 | TPMT_PUBLIC *publicArea, // IN: public area of an object |
| 23 | TPM2B_NAME *name // OUT: name of the object |
| 24 | ); |
| 25 | TPM_RC ObjectContextLoad( |
| 26 | OBJECT *object, // IN: object structure from saved context |
| 27 | TPMI_DH_OBJECT *handle // OUT: object handle |
| 28 | ); |
Vadim Bendebury | cddcbfe | 2015-05-29 23:03:58 -0700 | [diff] [blame^] | 29 | TPM_RC ObjectCreateEventSequence( |
| 30 | TPM2B_AUTH *auth, // IN: authValue |
| 31 | TPMI_DH_OBJECT *newHandle // OUT: sequence object handle |
| 32 | ); |
Vadim Bendebury | d60f860 | 2015-05-29 23:03:11 -0700 | [diff] [blame] | 33 | TPM_RC ObjectCreateHMACSequence( |
| 34 | TPMI_ALG_HASH hashAlg, // IN: hash algorithm |
| 35 | TPM_HANDLE handle, // IN: the handle associated with sequence |
| 36 | // object |
| 37 | TPM2B_AUTH *auth, // IN: authValue |
| 38 | TPMI_DH_OBJECT *newHandle // OUT: HMAC sequence object handle |
| 39 | ); |
Vadim Bendebury | cddcbfe | 2015-05-29 23:03:58 -0700 | [diff] [blame^] | 40 | TPM_RC ObjectCreateHashSequence( |
| 41 | TPMI_ALG_HASH hashAlg, // IN: hash algorithm |
| 42 | TPM2B_AUTH *auth, // IN: authValue |
| 43 | TPMI_DH_OBJECT *newHandle // OUT: sequence object handle |
| 44 | ); |
Vadim Bendebury | 3743ac1 | 2015-05-29 22:44:14 -0700 | [diff] [blame] | 45 | TPMI_RH_HIERARCHY ObjectDataGetHierarchy( |
| 46 | OBJECT *object // IN :object |
| 47 | ); |
Vadim Bendebury | d60f860 | 2015-05-29 23:03:11 -0700 | [diff] [blame] | 48 | OBJECT* ObjectGet( |
| 49 | TPMI_DH_OBJECT handle // IN: handle of the object |
| 50 | ); |
Vadim Bendebury | 889ec83 | 2015-05-26 17:11:06 -0700 | [diff] [blame] | 51 | TPM_RC ObjectLoadEvict( |
| 52 | TPM_HANDLE *handle, // IN:OUT: evict object handle. If success, it |
| 53 | // will be replace by the loaded object handle |
| 54 | TPM_CC commandCode // IN: the command being processed |
| 55 | ); |
Vadim Bendebury | c34f4d9 | 2015-05-29 22:56:35 -0700 | [diff] [blame] | 56 | void ObjectFlush( |
| 57 | TPMI_DH_OBJECT handle // IN: handle to be freed |
| 58 | ); |
Vadim Bendebury | 59727bd | 2015-05-28 14:58:08 -0700 | [diff] [blame] | 59 | void ObjectFlushHierarchy( |
| 60 | TPMI_RH_HIERARCHY hierarchy // IN: hierarchy to be flush |
| 61 | ); |
Vadim Bendebury | c4b77e0 | 2015-05-27 15:29:50 -0700 | [diff] [blame] | 62 | OBJECT* ObjectGet( |
| 63 | TPMI_DH_OBJECT handle // IN: handle of the object |
| 64 | ); |
Vadim Bendebury | 1ba1328 | 2015-05-29 22:39:54 -0700 | [diff] [blame] | 65 | UINT16 ObjectGetName( |
| 66 | TPMI_DH_OBJECT handle, // IN: handle of the object |
| 67 | NAME *name // OUT: name of the object |
| 68 | ); |
Vadim Bendebury | b86371b | 2015-05-27 18:16:19 -0700 | [diff] [blame] | 69 | void ObjectGetQualifiedName( |
| 70 | TPMI_DH_OBJECT handle, // IN: handle of the object |
| 71 | TPM2B_NAME *qualifiedName // OUT: qualified name of the object |
| 72 | ); |
Vadim Bendebury | 889ec83 | 2015-05-26 17:11:06 -0700 | [diff] [blame] | 73 | BOOL ObjectIsPresent( |
| 74 | TPMI_DH_OBJECT handle // IN: handle to be checked |
| 75 | ); |
Vadim Bendebury | 3743ac1 | 2015-05-29 22:44:14 -0700 | [diff] [blame] | 76 | BOOL ObjectIsSequence( |
| 77 | OBJECT *object // IN: handle to be checked |
| 78 | ); |
Vadim Bendebury | 30f6dee | 2015-05-29 22:51:10 -0700 | [diff] [blame] | 79 | BOOL ObjectIsStorage( |
| 80 | TPMI_DH_OBJECT handle // IN: object handle |
| 81 | ); |
Vadim Bendebury | df6896c | 2015-05-29 22:48:49 -0700 | [diff] [blame] | 82 | TPM_RC ObjectLoad( |
| 83 | TPMI_RH_HIERARCHY hierarchy, // IN: hierarchy to which the object belongs |
| 84 | TPMT_PUBLIC *publicArea, // IN: public area |
| 85 | TPMT_SENSITIVE *sensitive, // IN: sensitive area (may be null) |
| 86 | TPM2B_NAME *name, // IN: object's name (may be null) |
| 87 | TPM_HANDLE parentHandle, // IN: handle of parent |
| 88 | BOOL skipChecks, // IN: flag to indicate if it is OK to skip |
| 89 | // consistency checks. |
| 90 | TPMI_DH_OBJECT *handle // OUT: object handle |
| 91 | ); |
Vadim Bendebury | da72506 | 2015-05-31 14:41:18 -0700 | [diff] [blame] | 92 | void ObjectTerminateEvent( |
| 93 | void |
| 94 | ); |
Vadim Bendebury | c4b77e0 | 2015-05-27 15:29:50 -0700 | [diff] [blame] | 95 | |
| 96 | #endif // __TPM2_OBJECT_FP_H |