14#ifndef CONFIGURATION_MANAGER_OBJECT_H_
15#define CONFIGURATION_MANAGER_OBJECT_H_
69#define FMT_CM_OBJECT_ID "0x%lx"
73#define OBJECT_ID_MASK 0xFF
77#define NAMESPACE_ID_MASK 0xF
81#define NAMESPACE_ID_BIT_SHIFT 28
122#define GET_CM_NAMESPACE_ID(CmObjectId) \
123 (((CmObjectId) >> NAMESPACE_ID_BIT_SHIFT) & \
132#define GET_CM_OBJECT_ID(CmObjectId) ((CmObjectId) & OBJECT_ID_MASK)
142#define CREATE_CM_OBJECT_ID(NameSpaceId, ObjectId) \
143 ((((NameSpaceId) & NAMESPACE_ID_MASK) << NAMESPACE_ID_BIT_SHIFT) | \
144 ((ObjectId) & OBJECT_ID_MASK))
153#define CREATE_CM_STD_OBJECT_ID(ObjectId) \
154 (CREATE_CM_OBJECT_ID (EObjNameSpaceStandard, ObjectId))
163#define CREATE_CM_ARM_OBJECT_ID(ObjectId) \
164 (CREATE_CM_OBJECT_ID (EObjNameSpaceArm, ObjectId))
173#define CREATE_CM_ARCH_COMMON_OBJECT_ID(ObjectId) \
174 (CREATE_CM_OBJECT_ID (EObjNameSpaceArchCommon, ObjectId))
183#define CREATE_CM_OEM_OBJECT_ID(ObjectId) \
184 (CREATE_CM_OBJECT_ID (EObjNameSpaceOem, ObjectId))
193#define CREATE_CM_X64_OBJECT_ID(ObjectId) \
194 (CREATE_CM_OBJECT_ID (EObjNameSpaceX64, ObjectId))
struct CmObjDescriptor CM_OBJ_DESCRIPTOR
@ EObjNameSpaceArm
ARM Objects Namespace.
@ EObjNameSpaceOem
OEM Objects Namespace.
@ EObjNameSpaceX64
X64 Objects Namespace.
@ EObjNameSpaceArchCommon
Arch Common Objects Namespace.
@ EObjNameSpaceStandard
Standard Objects Namespace.
enum ObjectNameSpaceID EOBJECT_NAMESPACE_ID
VOID * Data
Pointer to the described Object or Object List.
UINT32 Size
Size of the described Object or Object List.
UINT32 Count
Count of objects in the list.
CM_OBJECT_ID ObjectId
Object Id.