dmi_entity_link

Synopsis

#include <opendmi/entity.h>

bool dmi_entity_link(dmi_entity_t *entity);

Description

The dmi_entity_link function resolves cross-references between SMBIOS entities. It invokes the type-specific link handler, which typically resolves handle-based references to other structures in the SMBIOS table.

This function should be called after dmi_entity_decode has been called on all entities, so that referenced entities are available for linking.

This function is idempotent: if linking has already been performed, it returns true immediately without repeating the operation.

Parameters

entity

Entity descriptor.

Return value

Returns true on success. Returns false if entity is nullptr, the entity has no specification, no link handler is registered, or the type-specific link handler fails.

Errors

DMI_ERROR_ENTITY_NOT_FOUND

Structure refers to a handle no structure has.

DMI_ERROR_ENTITY_TYPE_INVALID

Structure refers to a structure of a type it cannot refer to.

DMI_ERROR_OUT_OF_MEMORY

Memory is exhausted.

DMI_ERROR_ENTITY_LINK_FAILED

References of the structure cannot be resolved. Raised last on every failure but the one of a structure which has no references, after the errors telling why.