本文整理匯總了C++中AcpiUtCreateGenericState函數的典型用法代碼示例。如果您正苦於以下問題:C++ AcpiUtCreateGenericState函數的具體用法?C++ AcpiUtCreateGenericState怎麽用?C++ AcpiUtCreateGenericState使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了AcpiUtCreateGenericState函數的14個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C++代碼示例。
示例1: AcpiUtCreateControlState
ACPI_GENERIC_STATE *
AcpiUtCreateControlState (
void)
{
ACPI_GENERIC_STATE *State;
ACPI_FUNCTION_TRACE (UtCreateControlState);
/* Create the generic state object */
State = AcpiUtCreateGenericState ();
if (!State)
{
return_PTR (NULL);
}
/* Init fields specific to the control struct */
State->Common.DescriptorType = ACPI_DESC_TYPE_STATE_CONTROL;
State->Common.State = ACPI_CONTROL_CONDITIONAL_EXECUTING;
return_PTR (State);
}
示例2: AcpiUtCreateUpdateState
ACPI_GENERIC_STATE *
AcpiUtCreateUpdateState (
ACPI_OPERAND_OBJECT *Object,
UINT16 Action)
{
ACPI_GENERIC_STATE *State;
ACPI_FUNCTION_TRACE_PTR (UtCreateUpdateState, Object);
/* Create the generic state object */
State = AcpiUtCreateGenericState ();
if (!State)
{
return_PTR (NULL);
}
/* Init fields specific to the update struct */
State->Common.DescriptorType = ACPI_DESC_TYPE_STATE_UPDATE;
State->Update.Object = Object;
State->Update.Value = Action;
return_PTR (State);
}
示例3: AcpiUtCreatePkgState
ACPI_GENERIC_STATE *
AcpiUtCreatePkgState (
void *InternalObject,
void *ExternalObject,
UINT16 Index)
{
ACPI_GENERIC_STATE *State;
ACPI_FUNCTION_TRACE_PTR (UtCreatePkgState, InternalObject);
/* Create the generic state object */
State = AcpiUtCreateGenericState ();
if (!State)
{
return_PTR (NULL);
}
/* Init fields specific to the update struct */
State->Common.DescriptorType = ACPI_DESC_TYPE_STATE_PACKAGE;
State->Pkg.SourceObject = (ACPI_OPERAND_OBJECT *) InternalObject;
State->Pkg.DestObject = ExternalObject;
State->Pkg.Index= Index;
State->Pkg.NumPackages = 1;
return_PTR (State);
}
示例4: AcpiPsInitScope
ACPI_STATUS
AcpiPsInitScope (
ACPI_PARSE_STATE *ParserState,
ACPI_PARSE_OBJECT *RootOp)
{
ACPI_GENERIC_STATE *Scope;
ACPI_FUNCTION_TRACE_PTR (PsInitScope, RootOp);
Scope = AcpiUtCreateGenericState ();
if (!Scope)
{
return_ACPI_STATUS (AE_NO_MEMORY);
}
Scope->Common.DescriptorType = ACPI_DESC_TYPE_STATE_RPSCOPE;
Scope->ParseScope.Op = RootOp;
Scope->ParseScope.ArgCount = ACPI_VAR_ARGS;
Scope->ParseScope.ArgEnd = ParserState->AmlEnd;
Scope->ParseScope.PkgEnd = ParserState->AmlEnd;
ParserState->Scope = Scope;
ParserState->StartOp = RootOp;
return_ACPI_STATUS (AE_OK);
}
示例5: AcpiUtCreateThreadState
ACPI_THREAD_STATE *
AcpiUtCreateThreadState (
void)
{
ACPI_GENERIC_STATE *State;
ACPI_FUNCTION_TRACE (UtCreateThreadState);
/* Create the generic state object */
State = AcpiUtCreateGenericState ();
if (!State)
{
return_PTR (NULL);
}
/* Init fields specific to the update struct */
State->Common.DescriptorType = ACPI_DESC_TYPE_STATE_THREAD;
State->Thread.ThreadId = AcpiOsGetThreadId ();
/* Check for invalid thread ID - zero is very bad, it will break things */
if (!State->Thread.ThreadId)
{
ACPI_ERROR ((AE_INFO, "Invalid zero ID from AcpiOsGetThreadId"));
State->Thread.ThreadId = (ACPI_THREAD_ID) 1;
}
return_PTR ((ACPI_THREAD_STATE *) State);
}
示例6: AcpiUtCreateThreadState
ACPI_THREAD_STATE *
AcpiUtCreateThreadState (
void)
{
ACPI_GENERIC_STATE *State;
ACPI_FUNCTION_TRACE ("UtCreateThreadState");
/* Create the generic state object */
State = AcpiUtCreateGenericState ();
if (!State)
{
return_PTR (NULL);
}
/* Init fields specific to the update struct */
State->Common.DataType = ACPI_DESC_TYPE_STATE_THREAD;
State->Thread.ThreadId = AcpiOsGetThreadId ();
return_PTR ((ACPI_THREAD_STATE *) State);
}
示例7: AcpiUtCreateControlState
ACPI_GENERIC_STATE *
AcpiUtCreateControlState (
void)
{
ACPI_GENERIC_STATE *State;
FUNCTION_TRACE ("UtCreateControlState");
/* Create the generic state object */
State = AcpiUtCreateGenericState ();
if (!State)
{
return (NULL);
}
/* Init fields specific to the control struct */
State->Common.State = CONTROL_CONDITIONAL_EXECUTING;
return_PTR (State);
}
示例8: AcpiUtCreateUpdateState
ACPI_GENERIC_STATE *
AcpiUtCreateUpdateState (
ACPI_OPERAND_OBJECT *Object,
UINT16 Action)
{
ACPI_GENERIC_STATE *State;
FUNCTION_TRACE_PTR ("UtCreateUpdateState", Object);
/* Create the generic state object */
State = AcpiUtCreateGenericState ();
if (!State)
{
return (NULL);
}
/* Init fields specific to the update struct */
State->Update.Object = Object;
State->Update.Value = Action;
return_PTR (State);
}
示例9: AcpiPsPushScope
ACPI_STATUS
AcpiPsPushScope (
ACPI_PARSE_STATE *ParserState,
ACPI_PARSE_OBJECT *Op,
UINT32 RemainingArgs,
UINT32 ArgCount)
{
ACPI_GENERIC_STATE *Scope;
ACPI_FUNCTION_TRACE_PTR (PsPushScope, Op);
Scope = AcpiUtCreateGenericState ();
if (!Scope)
{
return_ACPI_STATUS (AE_NO_MEMORY);
}
Scope->Common.DescriptorType = ACPI_DESC_TYPE_STATE_PSCOPE;
Scope->ParseScope.Op = Op;
Scope->ParseScope.ArgList = RemainingArgs;
Scope->ParseScope.ArgCount = ArgCount;
Scope->ParseScope.PkgEnd = ParserState->PkgEnd;
/* Push onto scope stack */
AcpiUtPushGenericState (&ParserState->Scope, Scope);
if (ArgCount == ACPI_VAR_ARGS)
{
/* Multiple arguments */
Scope->ParseScope.ArgEnd = ParserState->PkgEnd;
}
else
{
/* Single argument */
Scope->ParseScope.ArgEnd = ACPI_TO_POINTER (ACPI_MAX_PTR);
}
return_ACPI_STATUS (AE_OK);
}
示例10: AcpiDsResultStackPush
static ACPI_STATUS
AcpiDsResultStackPush (
ACPI_WALK_STATE *WalkState)
{
ACPI_GENERIC_STATE *State;
ACPI_FUNCTION_NAME (DsResultStackPush);
/* Check for stack overflow */
if (((UINT32) WalkState->ResultSize + ACPI_RESULTS_FRAME_OBJ_NUM) >
ACPI_RESULTS_OBJ_NUM_MAX)
{
ACPI_ERROR ((AE_INFO, "Result stack overflow: State=%p Num=%u",
WalkState, WalkState->ResultSize));
return (AE_STACK_OVERFLOW);
}
State = AcpiUtCreateGenericState ();
if (!State)
{
return (AE_NO_MEMORY);
}
State->Common.DescriptorType = ACPI_DESC_TYPE_STATE_RESULT;
AcpiUtPushGenericState (&WalkState->Results, State);
/* Increase the length of the result stack by the length of frame */
WalkState->ResultSize += ACPI_RESULTS_FRAME_OBJ_NUM;
ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "Results=%p State=%p\n",
State, WalkState));
return (AE_OK);
}
示例11: AcpiDsScopeStackPush
ACPI_STATUS
AcpiDsScopeStackPush (
ACPI_NAMESPACE_NODE *Node,
ACPI_OBJECT_TYPE Type,
ACPI_WALK_STATE *WalkState)
{
ACPI_GENERIC_STATE *ScopeInfo;
ACPI_GENERIC_STATE *OldScopeInfo;
ACPI_FUNCTION_TRACE (DsScopeStackPush);
if (!Node)
{
/* Invalid scope */
ACPI_ERROR ((AE_INFO, "Null scope parameter"));
return_ACPI_STATUS (AE_BAD_PARAMETER);
}
/* Make sure object type is valid */
if (!AcpiUtValidObjectType (Type))
{
ACPI_WARNING ((AE_INFO,
"Invalid object type: 0x%X", Type));
}
/* Allocate a new scope object */
ScopeInfo = AcpiUtCreateGenericState ();
if (!ScopeInfo)
{
return_ACPI_STATUS (AE_NO_MEMORY);
}
/* Init new scope object */
ScopeInfo->Common.DescriptorType = ACPI_DESC_TYPE_STATE_WSCOPE;
ScopeInfo->Scope.Node = Node;
ScopeInfo->Common.Value = (UINT16) Type;
WalkState->ScopeDepth++;
ACPI_DEBUG_PRINT ((ACPI_DB_EXEC,
"[%.2d] Pushed scope ", (UINT32) WalkState->ScopeDepth));
OldScopeInfo = WalkState->ScopeInfo;
if (OldScopeInfo)
{
ACPI_DEBUG_PRINT_RAW ((ACPI_DB_EXEC,
"[%4.4s] (%s)",
AcpiUtGetNodeName (OldScopeInfo->Scope.Node),
AcpiUtGetTypeName (OldScopeInfo->Common.Value)));
}
else
{
ACPI_DEBUG_PRINT_RAW ((ACPI_DB_EXEC, ACPI_NAMESPACE_ROOT));
}
ACPI_DEBUG_PRINT_RAW ((ACPI_DB_EXEC,
", New scope -> [%4.4s] (%s)\n",
AcpiUtGetNodeName (ScopeInfo->Scope.Node),
AcpiUtGetTypeName (ScopeInfo->Common.Value)));
/* Push new scope object onto stack */
AcpiUtPushGenericState (&WalkState->ScopeInfo, ScopeInfo);
return_ACPI_STATUS (AE_OK);
}
示例12: AcpiEvQueueNotifyRequest
ACPI_STATUS
AcpiEvQueueNotifyRequest (
ACPI_NAMESPACE_NODE *Node,
UINT32 NotifyValue)
{
ACPI_OPERAND_OBJECT *ObjDesc;
ACPI_OPERAND_OBJECT *HandlerListHead = NULL;
ACPI_GENERIC_STATE *Info;
UINT8 HandlerListId = 0;
ACPI_STATUS Status = AE_OK;
ACPI_FUNCTION_NAME (EvQueueNotifyRequest);
/* Are Notifies allowed on this object? */
if (!AcpiEvIsNotifyObject (Node))
{
return (AE_TYPE);
}
/* Get the correct notify list type (System or Device) */
if (NotifyValue <= ACPI_MAX_SYS_NOTIFY)
{
HandlerListId = ACPI_SYSTEM_HANDLER_LIST;
}
else
{
HandlerListId = ACPI_DEVICE_HANDLER_LIST;
}
/* Get the notify object attached to the namespace Node */
ObjDesc = AcpiNsGetAttachedObject (Node);
if (ObjDesc)
{
/* We have an attached object, Get the correct handler list */
HandlerListHead = ObjDesc->CommonNotify.NotifyList[HandlerListId];
}
/*
* If there is no notify handler (Global or Local)
* for this object, just ignore the notify
*/
if (!AcpiGbl_GlobalNotify[HandlerListId].Handler && !HandlerListHead)
{
ACPI_DEBUG_PRINT ((ACPI_DB_INFO,
"No notify handler for Notify, ignoring (%4.4s, %X) node %p\n",
AcpiUtGetNodeName (Node), NotifyValue, Node));
return (AE_OK);
}
/* Setup notify info and schedule the notify dispatcher */
Info = AcpiUtCreateGenericState ();
if (!Info)
{
return (AE_NO_MEMORY);
}
Info->Common.DescriptorType = ACPI_DESC_TYPE_STATE_NOTIFY;
Info->Notify.Node = Node;
Info->Notify.Value = (UINT16) NotifyValue;
Info->Notify.HandlerListId = HandlerListId;
Info->Notify.HandlerListHead = HandlerListHead;
Info->Notify.Global = &AcpiGbl_GlobalNotify[HandlerListId];
ACPI_DEBUG_PRINT ((ACPI_DB_INFO,
"Dispatching Notify on [%4.4s] (%s) Value 0x%2.2X (%s) Node %p\n",
AcpiUtGetNodeName (Node), AcpiUtGetTypeName (Node->Type),
NotifyValue, AcpiUtGetNotifyName (NotifyValue, ACPI_TYPE_ANY), Node));
Status = AcpiOsExecute (OSL_NOTIFY_HANDLER, AcpiEvNotifyDispatch,
Info);
if (ACPI_FAILURE (Status))
{
AcpiUtDeleteGenericState (Info);
}
return (Status);
}
示例13: AcpiEvQueueNotifyRequest
ACPI_STATUS
AcpiEvQueueNotifyRequest (
ACPI_NAMESPACE_NODE *Node,
UINT32 NotifyValue)
{
ACPI_OPERAND_OBJECT *ObjDesc;
ACPI_OPERAND_OBJECT *HandlerObj = NULL;
ACPI_GENERIC_STATE *NotifyInfo;
ACPI_STATUS Status = AE_OK;
ACPI_FUNCTION_NAME (EvQueueNotifyRequest);
/*
* For value 3 (Ejection Request), some device method may need to be run.
* For value 2 (Device Wake) if _PRW exists, the _PS0 method may need
* to be run.
* For value 0x80 (Status Change) on the power button or sleep button,
* initiate soft-off or sleep operation?
*/
ACPI_DEBUG_PRINT ((ACPI_DB_INFO,
"Dispatching Notify on [%4.4s] Node %p Value 0x%2.2X (%s)\n",
AcpiUtGetNodeName (Node), Node, NotifyValue,
AcpiUtGetNotifyName (NotifyValue)));
/* Get the notify object attached to the NS Node */
ObjDesc = AcpiNsGetAttachedObject (Node);
if (ObjDesc)
{
/* We have the notify object, Get the right handler */
switch (Node->Type)
{
/* Notify allowed only on these types */
case ACPI_TYPE_DEVICE:
case ACPI_TYPE_THERMAL:
case ACPI_TYPE_PROCESSOR:
if (NotifyValue <= ACPI_MAX_SYS_NOTIFY)
{
HandlerObj = ObjDesc->CommonNotify.SystemNotify;
}
else
{
HandlerObj = ObjDesc->CommonNotify.DeviceNotify;
}
break;
default:
/* All other types are not supported */
return (AE_TYPE);
}
}
/*
* If there is any handler to run, schedule the dispatcher.
* Check for:
* 1) Global system notify handler
* 2) Global device notify handler
* 3) Per-device notify handler
*/
if ((AcpiGbl_SystemNotify.Handler &&
(NotifyValue <= ACPI_MAX_SYS_NOTIFY)) ||
(AcpiGbl_DeviceNotify.Handler &&
(NotifyValue > ACPI_MAX_SYS_NOTIFY)) ||
HandlerObj)
{
NotifyInfo = AcpiUtCreateGenericState ();
if (!NotifyInfo)
{
return (AE_NO_MEMORY);
}
if (!HandlerObj)
{
ACPI_DEBUG_PRINT ((ACPI_DB_INFO,
"Executing system notify handler for Notify (%4.4s, %X) "
"node %p\n",
AcpiUtGetNodeName (Node), NotifyValue, Node));
}
NotifyInfo->Common.DescriptorType = ACPI_DESC_TYPE_STATE_NOTIFY;
NotifyInfo->Notify.Node = Node;
NotifyInfo->Notify.Value = (UINT16) NotifyValue;
NotifyInfo->Notify.HandlerObj = HandlerObj;
Status = AcpiOsExecute (
OSL_NOTIFY_HANDLER, AcpiEvNotifyDispatch, NotifyInfo);
if (ACPI_FAILURE (Status))
{
AcpiUtDeleteGenericState (NotifyInfo);
}
}
else
{
//.........這裏部分代碼省略.........
示例14: AcpiDsScopeStackPush
ACPI_STATUS
AcpiDsScopeStackPush (
ACPI_NAMESPACE_NODE *Node,
ACPI_OBJECT_TYPE Type,
ACPI_WALK_STATE *WalkState)
{
ACPI_GENERIC_STATE *ScopeInfo;
ACPI_GENERIC_STATE *OldScopeInfo;
ACPI_FUNCTION_TRACE ("DsScopeStackPush");
if (!Node)
{
/* Invalid scope */
ACPI_REPORT_ERROR (("DsScopeStackPush: null scope passed\n"));
return_ACPI_STATUS (AE_BAD_PARAMETER);
}
/* Make sure object type is valid */
if (!AcpiUtValidObjectType (Type))
{
ACPI_REPORT_WARNING (("DsScopeStackPush: type code out of range\n"));
}
/* Allocate a new scope object */
ScopeInfo = AcpiUtCreateGenericState ();
if (!ScopeInfo)
{
return_ACPI_STATUS (AE_NO_MEMORY);
}
/* Init new scope object */
ScopeInfo->Common.DataType = ACPI_DESC_TYPE_STATE_WSCOPE;
ScopeInfo->Scope.Node = Node;
ScopeInfo->Common.Value = (UINT16) Type;
WalkState->ScopeDepth++;
ACPI_DEBUG_PRINT ((ACPI_DB_EXEC,
"[%.2d] Pushed scope ", (UINT32) WalkState->ScopeDepth));
OldScopeInfo = WalkState->ScopeInfo;
if (OldScopeInfo)
{
ACPI_DEBUG_PRINT_RAW ((ACPI_DB_EXEC,
"[%4.4s] (%10s)",
OldScopeInfo->Scope.Node->Name.Ascii,
AcpiUtGetTypeName (OldScopeInfo->Common.Value)));
}
else
{
ACPI_DEBUG_PRINT_RAW ((ACPI_DB_EXEC,
"[\\___] (%10s)", "ROOT"));
}
ACPI_DEBUG_PRINT_RAW ((ACPI_DB_EXEC,
", New scope -> [%4.4s] (%s)\n",
ScopeInfo->Scope.Node->Name.Ascii,
AcpiUtGetTypeName (ScopeInfo->Common.Value)));
/* Push new scope object onto stack */
AcpiUtPushGenericState (&WalkState->ScopeInfo, ScopeInfo);
return_ACPI_STATUS (AE_OK);
}