96 lines
4.2 KiB
C
96 lines
4.2 KiB
C
/*
|
|
* 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
|