/******************************************************************************* * * FUNCTION: acpi_ps_create_scope_op * * PARAMETERS: None * * RETURN: A new Scope object, null on failure * * DESCRIPTION: Create a Scope and associated namepath op with the root name *
******************************************************************************/ union acpi_parse_object *acpi_ps_create_scope_op(u8 *aml)
{ union acpi_parse_object *scope_op;
scope_op = acpi_ps_alloc_op(AML_SCOPE_OP, aml); if (!scope_op) { return (NULL);
}
/******************************************************************************* * * FUNCTION: acpi_ps_init_op * * PARAMETERS: op - A newly allocated Op object * opcode - Opcode to store in the Op * * RETURN: None * * DESCRIPTION: Initialize a parse (Op) object *
******************************************************************************/
/******************************************************************************* * * FUNCTION: acpi_ps_alloc_op * * PARAMETERS: opcode - Opcode that will be stored in the new Op * aml - Address of the opcode * * RETURN: Pointer to the new Op, null on failure * * DESCRIPTION: Allocate an acpi_op, choose op type (and thus size) based on * opcode. A cache of opcodes is available for the pure * GENERIC_OP, since this is by far the most commonly used. *
******************************************************************************/
union acpi_parse_object *acpi_ps_alloc_op(u16 opcode, u8 *aml)
{ union acpi_parse_object *op; conststruct acpi_opcode_info *op_info;
u8 flags = ACPI_PARSEOP_GENERIC;
if (opcode == AML_SCOPE_OP) {
acpi_gbl_current_scope = op;
}
if (acpi_gbl_capture_comments) {
ASL_CV_TRANSFER_COMMENTS(op);
}
}
return (op);
}
/******************************************************************************* * * FUNCTION: acpi_ps_free_op * * PARAMETERS: op - Op to be freed * * RETURN: None. * * DESCRIPTION: Free an Op object. Either put it on the GENERIC_OP cache list * or actually free it. *
******************************************************************************/
/******************************************************************************* * * FUNCTION: Utility functions * * DESCRIPTION: Low level character and object functions *
******************************************************************************/
/* * Is "c" a namestring lead character?
*/
u8 acpi_ps_is_leading_char(u32 c)
{ return ((u8) (c == '_' || (c >= 'A' && c <= 'Z')));
}
/* * Get op's name (4-byte name segment) or 0 if unnamed
*/
u32 acpi_ps_get_name(union acpi_parse_object * op)
{
/* The "generic" object has no name associated with it */
if (op->common.flags & ACPI_PARSEOP_GENERIC) { return (0);
}
/* Only the "Extended" parse objects have a name */
return (op->named.name);
}
/* * Set op's name
*/ void acpi_ps_set_name(union acpi_parse_object *op, u32 name)
{
/* The "generic" object has no name associated with it */
if (op->common.flags & ACPI_PARSEOP_GENERIC) { return;
}
op->named.name = name;
}
Messung V0.5
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.1Bemerkung:
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.