| /* |
| * 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_OBJECT_FP_H |
| #define __TPM2_OBJECT_FP_H |
| |
| BOOL AreAttributesForParent(OBJECT *parentObject // IN: parent handle |
| ); |
| TPMI_YES_NO ObjectCapGetLoaded(TPMI_DH_OBJECT handle, // IN: start handle |
| UINT32 count, // IN: count of returned handles |
| TPML_HANDLE *handleList // OUT: list of handle |
| ); |
| UINT32 ObjectCapGetTransientAvail(void); |
| void ObjectCleanupEvict(void); |
| void ObjectComputeName(TPMT_PUBLIC *publicArea, // IN: public area of an object |
| TPM2B_NAME *name // OUT: name of the object |
| ); |
| void ObjectComputeQualifiedName( |
| TPM2B_NAME *parentQN, // IN: parent's qualified name |
| TPM_ALG_ID nameAlg, // IN: name hash |
| TPM2B_NAME *name, // IN: name of the object |
| TPM2B_NAME *qualifiedName // OUT: qualified name of the object |
| ); |
| TPM_RC ObjectContextLoad( |
| OBJECT *object, // IN: object structure from saved context |
| TPMI_DH_OBJECT *handle // OUT: object handle |
| ); |
| TPM_RC ObjectCreateEventSequence( |
| TPM2B_AUTH *auth, // IN: authValue |
| TPMI_DH_OBJECT *newHandle // OUT: sequence object handle |
| ); |
| TPM_RC ObjectCreateHMACSequence( |
| TPMI_ALG_HASH hashAlg, // IN: hash algorithm |
| TPM_HANDLE handle, // IN: the handle associated with sequence object |
| TPM2B_AUTH *auth, // IN: authValue |
| TPMI_DH_OBJECT *newHandle // OUT: HMAC sequence object handle |
| ); |
| TPM_RC ObjectCreateHashSequence( |
| TPMI_ALG_HASH hashAlg, // IN: hash algorithm |
| TPM2B_AUTH *auth, // IN: authValue |
| TPMI_DH_OBJECT *newHandle // OUT: sequence object handle |
| ); |
| TPMI_RH_HIERARCHY ObjectDataGetHierarchy(OBJECT *object // IN :object |
| ); |
| BOOL ObjectDataIsStorage( |
| TPMT_PUBLIC *publicArea // IN: public area of the object |
| ); |
| OBJECT *ObjectGet(TPMI_DH_OBJECT handle // IN: handle of the object |
| ); |
| TPMI_RH_HIERARCHY ObjectGetHierarchy(TPMI_DH_OBJECT handle // IN :object handle |
| ); |
| TPMI_ALG_HASH ObjectGetNameAlg( |
| TPMI_DH_OBJECT handle // IN: handle of the object |
| ); |
| TPM_RC ObjectLoadEvict(TPM_HANDLE *handle, // IN:OUT: evict object handle. If |
| // success, it will be replace by |
| // the loaded object handle |
| TPM_CC commandCode // IN: the command being processed |
| ); |
| void ObjectFlush(TPMI_DH_OBJECT handle // IN: handle to be freed |
| ); |
| void ObjectFlushHierarchy( |
| TPMI_RH_HIERARCHY hierarchy // IN: hierarchy to be flush |
| ); |
| OBJECT *ObjectGet(TPMI_DH_OBJECT handle // IN: handle of the object |
| ); |
| UINT16 ObjectGetName(TPMI_DH_OBJECT handle, // IN: handle of the object |
| NAME *name // OUT: name of the object |
| ); |
| void ObjectGetQualifiedName( |
| TPMI_DH_OBJECT handle, // IN: handle of the object |
| TPM2B_NAME *qualifiedName // OUT: qualified name of the object |
| ); |
| BOOL ObjectIsPresent(TPMI_DH_OBJECT handle // IN: handle to be checked |
| ); |
| BOOL ObjectIsSequence(OBJECT *object // IN: handle to be checked |
| ); |
| BOOL ObjectIsStorage(TPMI_DH_OBJECT handle // IN: object handle |
| ); |
| TPM_RC ObjectLoad( |
| TPMI_RH_HIERARCHY hierarchy, // IN: hierarchy to which the object belongs |
| TPMT_PUBLIC *publicArea, // IN: public area |
| TPMT_SENSITIVE *sensitive, // IN: sensitive area (may be null) |
| TPM2B_NAME *name, // IN: object's name (may be null) |
| TPM_HANDLE parentHandle, // IN: handle of parent |
| BOOL skipChecks, // IN: flag to indicate if it is OK to skip consistency |
| // checks. |
| TPMI_DH_OBJECT *handle // OUT: object handle |
| ); |
| void ObjectStartup(void); |
| void ObjectTerminateEvent(void); |
| |
| #endif // __TPM2_OBJECT_FP_H |