Print this page
update to acpica-unix2-20140114
acpica-unix2-20130823
PANKOVs restructure
   1 /******************************************************************************
   2  *
   3  * Name: acnamesp.h - Namespace subcomponent prototypes and defines
   4  *
   5  *****************************************************************************/
   6 
   7 /*
   8  * Copyright (C) 2000 - 2011, Intel Corp.
   9  * All rights reserved.
  10  *
  11  * Redistribution and use in source and binary forms, with or without
  12  * modification, are permitted provided that the following conditions
  13  * are met:
  14  * 1. Redistributions of source code must retain the above copyright
  15  *    notice, this list of conditions, and the following disclaimer,
  16  *    without modification.
  17  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
  18  *    substantially similar to the "NO WARRANTY" disclaimer below
  19  *    ("Disclaimer") and any redistribution must be conditioned upon
  20  *    including a substantially similar Disclaimer requirement for further
  21  *    binary redistribution.
  22  * 3. Neither the names of the above-listed copyright holders nor the names
  23  *    of any contributors may be used to endorse or promote products derived
  24  *    from this software without specific prior written permission.
  25  *
  26  * Alternatively, this software may be distributed under the terms of the
  27  * GNU General Public License ("GPL") version 2 as published by the Free
  28  * Software Foundation.


 100  */
 101 ACPI_STATUS
 102 AcpiNsLoadNamespace (
 103     void);
 104 
 105 ACPI_STATUS
 106 AcpiNsLoadTable (
 107     UINT32                  TableIndex,
 108     ACPI_NAMESPACE_NODE     *Node);
 109 
 110 
 111 /*
 112  * nswalk - walk the namespace
 113  */
 114 ACPI_STATUS
 115 AcpiNsWalkNamespace (
 116     ACPI_OBJECT_TYPE        Type,
 117     ACPI_HANDLE             StartObject,
 118     UINT32                  MaxDepth,
 119     UINT32                  Flags,
 120     ACPI_WALK_CALLBACK      PreOrderVisit,
 121     ACPI_WALK_CALLBACK      PostOrderVisit,
 122     void                    *Context,
 123     void                    **ReturnValue);
 124 
 125 ACPI_NAMESPACE_NODE *
 126 AcpiNsGetNextNode (
 127     ACPI_NAMESPACE_NODE     *Parent,
 128     ACPI_NAMESPACE_NODE     *Child);
 129 
 130 ACPI_NAMESPACE_NODE *
 131 AcpiNsGetNextNodeTyped (
 132     ACPI_OBJECT_TYPE        Type,
 133     ACPI_NAMESPACE_NODE     *Parent,
 134     ACPI_NAMESPACE_NODE     *Child);
 135 
 136 /*
 137  * nsparse - table parsing
 138  */
 139 ACPI_STATUS
 140 AcpiNsParseTable (
 141     UINT32                  TableIndex,


 187 
 188 void
 189 AcpiNsDeleteNamespaceByOwner (
 190     ACPI_OWNER_ID           OwnerId);
 191 
 192 void
 193 AcpiNsDetachObject (
 194     ACPI_NAMESPACE_NODE     *Node);
 195 
 196 void
 197 AcpiNsDeleteChildren (
 198     ACPI_NAMESPACE_NODE     *Parent);
 199 
 200 int
 201 AcpiNsCompareNames (
 202     char                    *Name1,
 203     char                    *Name2);
 204 
 205 
 206 /*





























 207  * nsdump - Namespace dump/print utilities
 208  */
 209 void
 210 AcpiNsDumpTables (
 211     ACPI_HANDLE             SearchBase,
 212     UINT32                  MaxDepth);
 213 
 214 void
 215 AcpiNsDumpEntry (
 216     ACPI_HANDLE             Handle,
 217     UINT32                  DebugLevel);
 218 
 219 void
 220 AcpiNsDumpPathname (
 221     ACPI_HANDLE             Handle,
 222     char                    *Msg,
 223     UINT32                  Level,
 224     UINT32                  Component);
 225 
 226 void
 227 AcpiNsPrintPathname (
 228     UINT32                  NumSegments,
 229     char                    *Pathname);
 230 
 231 ACPI_STATUS
 232 AcpiNsDumpOneObject (
 233     ACPI_HANDLE             ObjHandle,
 234     UINT32                  Level,
 235     void                    *Context,
 236     void                    **ReturnValue);
 237 
 238 void
 239 AcpiNsDumpObjects (
 240     ACPI_OBJECT_TYPE        Type,
 241     UINT8                   DisplayType,
 242     UINT32                  MaxDepth,
 243     ACPI_OWNER_ID           OwnerId,
 244     ACPI_HANDLE             StartHandle);
 245 







 246 

 247 /*
 248  * nseval - Namespace evaluation functions
 249  */
 250 ACPI_STATUS
 251 AcpiNsEvaluate (
 252     ACPI_EVALUATE_INFO      *Info);
 253 
 254 void
 255 AcpiNsExecModuleCodeList (
 256     void);
 257 
 258 
 259 /*
 260  * nspredef - Support for predefined/reserved names
 261  */
 262 ACPI_STATUS
 263 AcpiNsCheckPredefinedNames (

 264     ACPI_NAMESPACE_NODE     *Node,
 265     UINT32                  UserParamCount,
 266     ACPI_STATUS             ReturnStatus,
 267     ACPI_OPERAND_OBJECT     **ReturnObject);
 268 
 269 const ACPI_PREDEFINED_INFO *
 270 AcpiNsCheckForPredefinedName (
 271     ACPI_NAMESPACE_NODE     *Node);
 272 
 273 void
 274 AcpiNsCheckParameterCount (
 275     char                        *Pathname,
 276     ACPI_NAMESPACE_NODE         *Node,














 277     UINT32                      UserParamCount,
 278     const ACPI_PREDEFINED_INFO  *Info);

 279 






 280 

 281 /*









 282  * nsnames - Name and Scope manipulation
 283  */
 284 UINT32
 285 AcpiNsOpensScope (
 286     ACPI_OBJECT_TYPE        Type);
 287 
 288 ACPI_STATUS
 289 AcpiNsBuildExternalPath (
 290     ACPI_NAMESPACE_NODE     *Node,
 291     ACPI_SIZE               Size,
 292     char                    *NameBuffer);
 293 
 294 char *
 295 AcpiNsGetExternalPathname (
 296     ACPI_NAMESPACE_NODE     *Node);
 297 
 298 char *
 299 AcpiNsNameOfCurrentScope (
 300     ACPI_WALK_STATE         *WalkState);
 301 


 344     ACPI_OBJECT_HANDLER     Handler,
 345     void                    *Data);
 346 
 347 ACPI_STATUS
 348 AcpiNsDetachData (
 349     ACPI_NAMESPACE_NODE     *Node,
 350     ACPI_OBJECT_HANDLER     Handler);
 351 
 352 ACPI_STATUS
 353 AcpiNsGetAttachedData (
 354     ACPI_NAMESPACE_NODE     *Node,
 355     ACPI_OBJECT_HANDLER     Handler,
 356     void                    **Data);
 357 
 358 
 359 /*
 360  * nsrepair - General return object repair for all
 361  * predefined methods/objects
 362  */
 363 ACPI_STATUS
 364 AcpiNsRepairObject (
 365     ACPI_PREDEFINED_DATA    *Data,
 366     UINT32                  ExpectedBtypes,
 367     UINT32                  PackageIndex,
 368     ACPI_OPERAND_OBJECT     **ReturnObjectPtr);
 369 
 370 ACPI_STATUS
 371 AcpiNsRepairPackageList (
 372     ACPI_PREDEFINED_DATA    *Data,

 373     ACPI_OPERAND_OBJECT     **ObjDescPtr);
 374 
 375 ACPI_STATUS
 376 AcpiNsRepairNullElement (
 377     ACPI_PREDEFINED_DATA    *Data,
 378     UINT32                  ExpectedBtypes,
 379     UINT32                  PackageIndex,
 380     ACPI_OPERAND_OBJECT     **ReturnObjectPtr);
 381 
 382 void
 383 AcpiNsRemoveNullElements (
 384     ACPI_PREDEFINED_DATA    *Data,
 385     UINT8                   PackageType,
 386     ACPI_OPERAND_OBJECT     *ObjDesc);
 387 
 388 
 389 /*
 390  * nsrepair2 - Return object repair for specific
 391  * predefined methods/objects
 392  */
 393 ACPI_STATUS
 394 AcpiNsComplexRepairs (
 395     ACPI_PREDEFINED_DATA    *Data,
 396     ACPI_NAMESPACE_NODE     *Node,
 397     ACPI_STATUS             ValidateStatus,
 398     ACPI_OPERAND_OBJECT     **ReturnObjectPtr);
 399 
 400 
 401 /*
 402  * nssearch - Namespace searching and entry
 403  */
 404 ACPI_STATUS
 405 AcpiNsSearchAndEnter (
 406     UINT32                  EntryName,
 407     ACPI_WALK_STATE         *WalkState,
 408     ACPI_NAMESPACE_NODE     *Node,
 409     ACPI_INTERPRETER_MODE   InterpreterMode,
 410     ACPI_OBJECT_TYPE        Type,
 411     UINT32                  Flags,
 412     ACPI_NAMESPACE_NODE     **RetNode);
 413 
 414 ACPI_STATUS
 415 AcpiNsSearchOneScope (
 416     UINT32                  EntryName,
 417     ACPI_NAMESPACE_NODE     *Node,
 418     ACPI_OBJECT_TYPE        Type,
 419     ACPI_NAMESPACE_NODE     **RetNode);
 420 
 421 void
 422 AcpiNsInstallNode (
 423     ACPI_WALK_STATE         *WalkState,
 424     ACPI_NAMESPACE_NODE     *ParentNode,
 425     ACPI_NAMESPACE_NODE     *Node,
 426     ACPI_OBJECT_TYPE        Type);
 427 
 428 
 429 /*
 430  * nsutils - Utility functions
 431  */
 432 BOOLEAN
 433 AcpiNsValidRootPrefix (
 434     char                    Prefix);
 435 
 436 ACPI_OBJECT_TYPE
 437 AcpiNsGetType (
 438     ACPI_NAMESPACE_NODE     *Node);
 439 
 440 UINT32
 441 AcpiNsLocal (
 442     ACPI_OBJECT_TYPE        Type);
 443 
 444 void
 445 AcpiNsPrintNodePathname (
 446     ACPI_NAMESPACE_NODE     *Node,
 447     const char              *Msg);
 448 
 449 ACPI_STATUS
 450 AcpiNsBuildInternalName (
 451     ACPI_NAMESTRING_INFO    *Info);
 452 
 453 void
 454 AcpiNsGetInternalNameLength (
 455     ACPI_NAMESTRING_INFO    *Info);


   1 /******************************************************************************
   2  *
   3  * Name: acnamesp.h - Namespace subcomponent prototypes and defines
   4  *
   5  *****************************************************************************/
   6 
   7 /*
   8  * Copyright (C) 2000 - 2014, Intel Corp.
   9  * All rights reserved.
  10  *
  11  * Redistribution and use in source and binary forms, with or without
  12  * modification, are permitted provided that the following conditions
  13  * are met:
  14  * 1. Redistributions of source code must retain the above copyright
  15  *    notice, this list of conditions, and the following disclaimer,
  16  *    without modification.
  17  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
  18  *    substantially similar to the "NO WARRANTY" disclaimer below
  19  *    ("Disclaimer") and any redistribution must be conditioned upon
  20  *    including a substantially similar Disclaimer requirement for further
  21  *    binary redistribution.
  22  * 3. Neither the names of the above-listed copyright holders nor the names
  23  *    of any contributors may be used to endorse or promote products derived
  24  *    from this software without specific prior written permission.
  25  *
  26  * Alternatively, this software may be distributed under the terms of the
  27  * GNU General Public License ("GPL") version 2 as published by the Free
  28  * Software Foundation.


 100  */
 101 ACPI_STATUS
 102 AcpiNsLoadNamespace (
 103     void);
 104 
 105 ACPI_STATUS
 106 AcpiNsLoadTable (
 107     UINT32                  TableIndex,
 108     ACPI_NAMESPACE_NODE     *Node);
 109 
 110 
 111 /*
 112  * nswalk - walk the namespace
 113  */
 114 ACPI_STATUS
 115 AcpiNsWalkNamespace (
 116     ACPI_OBJECT_TYPE        Type,
 117     ACPI_HANDLE             StartObject,
 118     UINT32                  MaxDepth,
 119     UINT32                  Flags,
 120     ACPI_WALK_CALLBACK      DescendingCallback,
 121     ACPI_WALK_CALLBACK      AscendingCallback,
 122     void                    *Context,
 123     void                    **ReturnValue);
 124 
 125 ACPI_NAMESPACE_NODE *
 126 AcpiNsGetNextNode (
 127     ACPI_NAMESPACE_NODE     *Parent,
 128     ACPI_NAMESPACE_NODE     *Child);
 129 
 130 ACPI_NAMESPACE_NODE *
 131 AcpiNsGetNextNodeTyped (
 132     ACPI_OBJECT_TYPE        Type,
 133     ACPI_NAMESPACE_NODE     *Parent,
 134     ACPI_NAMESPACE_NODE     *Child);
 135 
 136 /*
 137  * nsparse - table parsing
 138  */
 139 ACPI_STATUS
 140 AcpiNsParseTable (
 141     UINT32                  TableIndex,


 187 
 188 void
 189 AcpiNsDeleteNamespaceByOwner (
 190     ACPI_OWNER_ID           OwnerId);
 191 
 192 void
 193 AcpiNsDetachObject (
 194     ACPI_NAMESPACE_NODE     *Node);
 195 
 196 void
 197 AcpiNsDeleteChildren (
 198     ACPI_NAMESPACE_NODE     *Parent);
 199 
 200 int
 201 AcpiNsCompareNames (
 202     char                    *Name1,
 203     char                    *Name2);
 204 
 205 
 206 /*
 207  * nsconvert - Dynamic object conversion routines
 208  */
 209 ACPI_STATUS
 210 AcpiNsConvertToInteger (
 211     ACPI_OPERAND_OBJECT     *OriginalObject,
 212     ACPI_OPERAND_OBJECT     **ReturnObject);
 213 
 214 ACPI_STATUS
 215 AcpiNsConvertToString (
 216     ACPI_OPERAND_OBJECT     *OriginalObject,
 217     ACPI_OPERAND_OBJECT     **ReturnObject);
 218 
 219 ACPI_STATUS
 220 AcpiNsConvertToBuffer (
 221     ACPI_OPERAND_OBJECT     *OriginalObject,
 222     ACPI_OPERAND_OBJECT     **ReturnObject);
 223 
 224 ACPI_STATUS
 225 AcpiNsConvertToUnicode (
 226     ACPI_OPERAND_OBJECT     *OriginalObject,
 227     ACPI_OPERAND_OBJECT     **ReturnObject);
 228 
 229 ACPI_STATUS
 230 AcpiNsConvertToResource (
 231     ACPI_OPERAND_OBJECT     *OriginalObject,
 232     ACPI_OPERAND_OBJECT     **ReturnObject);
 233 
 234 
 235 /*
 236  * nsdump - Namespace dump/print utilities
 237  */
 238 void
 239 AcpiNsDumpTables (
 240     ACPI_HANDLE             SearchBase,
 241     UINT32                  MaxDepth);
 242 
 243 void
 244 AcpiNsDumpEntry (
 245     ACPI_HANDLE             Handle,
 246     UINT32                  DebugLevel);
 247 
 248 void
 249 AcpiNsDumpPathname (
 250     ACPI_HANDLE             Handle,
 251     char                    *Msg,
 252     UINT32                  Level,
 253     UINT32                  Component);
 254 
 255 void
 256 AcpiNsPrintPathname (
 257     UINT32                  NumSegments,
 258     char                    *Pathname);
 259 
 260 ACPI_STATUS
 261 AcpiNsDumpOneObject (
 262     ACPI_HANDLE             ObjHandle,
 263     UINT32                  Level,
 264     void                    *Context,
 265     void                    **ReturnValue);
 266 
 267 void
 268 AcpiNsDumpObjects (
 269     ACPI_OBJECT_TYPE        Type,
 270     UINT8                   DisplayType,
 271     UINT32                  MaxDepth,
 272     ACPI_OWNER_ID           OwnerId,
 273     ACPI_HANDLE             StartHandle);
 274 
 275 void
 276 AcpiNsDumpObjectPaths (
 277     ACPI_OBJECT_TYPE        Type,
 278     UINT8                   DisplayType,
 279     UINT32                  MaxDepth,
 280     ACPI_OWNER_ID           OwnerId,
 281     ACPI_HANDLE             StartHandle);
 282 
 283 
 284 /*
 285  * nseval - Namespace evaluation functions
 286  */
 287 ACPI_STATUS
 288 AcpiNsEvaluate (
 289     ACPI_EVALUATE_INFO      *Info);
 290 
 291 void
 292 AcpiNsExecModuleCodeList (
 293     void);
 294 
 295 
 296 /*
 297  * nsarguments - Argument count/type checking for predefined/reserved names
 298  */
 299 void
 300 AcpiNsCheckArgumentCount (
 301     char                        *Pathname,
 302     ACPI_NAMESPACE_NODE         *Node,
 303     UINT32                      UserParamCount,
 304     const ACPI_PREDEFINED_INFO  *Info);

 305 




 306 void
 307 AcpiNsCheckAcpiCompliance (
 308     char                        *Pathname,
 309     ACPI_NAMESPACE_NODE         *Node,
 310     const ACPI_PREDEFINED_INFO  *Predefined);
 311 
 312 void
 313 AcpiNsCheckArgumentTypes (
 314     ACPI_EVALUATE_INFO          *Info);
 315 
 316 
 317 /*
 318  * nspredef - Return value checking for predefined/reserved names
 319  */
 320 ACPI_STATUS
 321 AcpiNsCheckReturnValue (
 322     ACPI_NAMESPACE_NODE         *Node,
 323     ACPI_EVALUATE_INFO          *Info,
 324     UINT32                      UserParamCount,
 325     ACPI_STATUS                 ReturnStatus,
 326     ACPI_OPERAND_OBJECT         **ReturnObject);
 327 
 328 ACPI_STATUS
 329 AcpiNsCheckObjectType (
 330     ACPI_EVALUATE_INFO          *Info,
 331     ACPI_OPERAND_OBJECT         **ReturnObjectPtr,
 332     UINT32                      ExpectedBtypes,
 333     UINT32                      PackageIndex);
 334 
 335 
 336 /*
 337  * nsprepkg - Validation of predefined name packages
 338  */
 339 ACPI_STATUS
 340 AcpiNsCheckPackage (
 341     ACPI_EVALUATE_INFO          *Info,
 342     ACPI_OPERAND_OBJECT         **ReturnObjectPtr);
 343 
 344 
 345 /*
 346  * nsnames - Name and Scope manipulation
 347  */
 348 UINT32
 349 AcpiNsOpensScope (
 350     ACPI_OBJECT_TYPE        Type);
 351 
 352 ACPI_STATUS
 353 AcpiNsBuildExternalPath (
 354     ACPI_NAMESPACE_NODE     *Node,
 355     ACPI_SIZE               Size,
 356     char                    *NameBuffer);
 357 
 358 char *
 359 AcpiNsGetExternalPathname (
 360     ACPI_NAMESPACE_NODE     *Node);
 361 
 362 char *
 363 AcpiNsNameOfCurrentScope (
 364     ACPI_WALK_STATE         *WalkState);
 365 


 408     ACPI_OBJECT_HANDLER     Handler,
 409     void                    *Data);
 410 
 411 ACPI_STATUS
 412 AcpiNsDetachData (
 413     ACPI_NAMESPACE_NODE     *Node,
 414     ACPI_OBJECT_HANDLER     Handler);
 415 
 416 ACPI_STATUS
 417 AcpiNsGetAttachedData (
 418     ACPI_NAMESPACE_NODE     *Node,
 419     ACPI_OBJECT_HANDLER     Handler,
 420     void                    **Data);
 421 
 422 
 423 /*
 424  * nsrepair - General return object repair for all
 425  * predefined methods/objects
 426  */
 427 ACPI_STATUS
 428 AcpiNsSimpleRepair (
 429     ACPI_EVALUATE_INFO      *Info,
 430     UINT32                  ExpectedBtypes,
 431     UINT32                  PackageIndex,
 432     ACPI_OPERAND_OBJECT     **ReturnObjectPtr);
 433 
 434 ACPI_STATUS
 435 AcpiNsWrapWithPackage (
 436     ACPI_EVALUATE_INFO      *Info,
 437     ACPI_OPERAND_OBJECT     *OriginalObject,
 438     ACPI_OPERAND_OBJECT     **ObjDescPtr);
 439 
 440 ACPI_STATUS
 441 AcpiNsRepairNullElement (
 442     ACPI_EVALUATE_INFO      *Info,
 443     UINT32                  ExpectedBtypes,
 444     UINT32                  PackageIndex,
 445     ACPI_OPERAND_OBJECT     **ReturnObjectPtr);
 446 
 447 void
 448 AcpiNsRemoveNullElements (
 449     ACPI_EVALUATE_INFO      *Info,
 450     UINT8                   PackageType,
 451     ACPI_OPERAND_OBJECT     *ObjDesc);
 452 
 453 
 454 /*
 455  * nsrepair2 - Return object repair for specific
 456  * predefined methods/objects
 457  */
 458 ACPI_STATUS
 459 AcpiNsComplexRepairs (
 460     ACPI_EVALUATE_INFO      *Info,
 461     ACPI_NAMESPACE_NODE     *Node,
 462     ACPI_STATUS             ValidateStatus,
 463     ACPI_OPERAND_OBJECT     **ReturnObjectPtr);
 464 
 465 
 466 /*
 467  * nssearch - Namespace searching and entry
 468  */
 469 ACPI_STATUS
 470 AcpiNsSearchAndEnter (
 471     UINT32                  EntryName,
 472     ACPI_WALK_STATE         *WalkState,
 473     ACPI_NAMESPACE_NODE     *Node,
 474     ACPI_INTERPRETER_MODE   InterpreterMode,
 475     ACPI_OBJECT_TYPE        Type,
 476     UINT32                  Flags,
 477     ACPI_NAMESPACE_NODE     **RetNode);
 478 
 479 ACPI_STATUS
 480 AcpiNsSearchOneScope (
 481     UINT32                  EntryName,
 482     ACPI_NAMESPACE_NODE     *Node,
 483     ACPI_OBJECT_TYPE        Type,
 484     ACPI_NAMESPACE_NODE     **RetNode);
 485 
 486 void
 487 AcpiNsInstallNode (
 488     ACPI_WALK_STATE         *WalkState,
 489     ACPI_NAMESPACE_NODE     *ParentNode,
 490     ACPI_NAMESPACE_NODE     *Node,
 491     ACPI_OBJECT_TYPE        Type);
 492 
 493 
 494 /*
 495  * nsutils - Utility functions
 496  */




 497 ACPI_OBJECT_TYPE
 498 AcpiNsGetType (
 499     ACPI_NAMESPACE_NODE     *Node);
 500 
 501 UINT32
 502 AcpiNsLocal (
 503     ACPI_OBJECT_TYPE        Type);
 504 
 505 void
 506 AcpiNsPrintNodePathname (
 507     ACPI_NAMESPACE_NODE     *Node,
 508     const char              *Msg);
 509 
 510 ACPI_STATUS
 511 AcpiNsBuildInternalName (
 512     ACPI_NAMESTRING_INFO    *Info);
 513 
 514 void
 515 AcpiNsGetInternalNameLength (
 516     ACPI_NAMESTRING_INFO    *Info);