acnamesp.h revision 199767f8919635c4928607450d9e0abb932109ce
/******************************************************************************
*
* Name: acnamesp.h - Namespace subcomponent prototypes and defines
*
*****************************************************************************/
/*
* Copyright (C) 2000 - 2015, Intel Corp.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions, and the following disclaimer,
* without modification.
* 2. Redistributions in binary form must reproduce at minimum a disclaimer
* substantially similar to the "NO WARRANTY" disclaimer below
* ("Disclaimer") and any redistribution must be conditioned upon
* including a substantially similar Disclaimer requirement for further
* binary redistribution.
* 3. Neither the names of the above-listed copyright holders nor the names
* of any contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* Alternatively, this software may be distributed under the terms of the
* GNU General Public License ("GPL") version 2 as published by the Free
* Software Foundation.
*
* NO WARRANTY
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGES.
*/
#ifndef __ACNAMESP_H__
#define __ACNAMESP_H__
/* To search the entire name space, pass this as SearchBase */
#define ACPI_NS_ALL ((ACPI_HANDLE)0)
/*
* Elements of AcpiNsProperties are bit significant
* and should be one-to-one with values of ACPI_OBJECT_TYPE
*/
#define ACPI_NS_NORMAL 0
/* Flags for AcpiNsLookup, AcpiNsSearchAndEnter */
#define ACPI_NS_NO_UPSEARCH 0
#define ACPI_NS_SEARCH_PARENT 0x01
#define ACPI_NS_DONT_OPEN_SCOPE 0x02
#define ACPI_NS_NO_PEER_SEARCH 0x04
#define ACPI_NS_ERROR_IF_FOUND 0x08
#define ACPI_NS_PREFIX_IS_SCOPE 0x10
#define ACPI_NS_EXTERNAL 0x20
#define ACPI_NS_TEMPORARY 0x40
#define ACPI_NS_OVERRIDE_IF_FOUND 0x80
/* Flags for AcpiNsWalkNamespace */
#define ACPI_NS_WALK_NO_UNLOCK 0
#define ACPI_NS_WALK_UNLOCK 0x01
#define ACPI_NS_WALK_TEMP_NODES 0x02
/* Object is not a package element */
/* Always emit warning message, not dependent on node flags */
#define ACPI_WARN_ALWAYS 0
/*
* nsinit - Namespace initialization
*/
void);
void);
/*
* nsload - Namespace loading
*/
void);
/*
* nswalk - walk the namespace
*/
void *Context,
void **ReturnValue);
/*
* nsparse - table parsing
*/
/*
* nsaccess - Top-level namespace access
*/
void);
char *Name,
/*
* nsalloc - Named object allocation/deallocation
*/
void
void
void
void
void
void
int
char *Name1,
char *Name2);
/*
* nsconvert - Dynamic object conversion routines
*/
/*
*/
void
void
void
char *Msg,
void
char *Pathname);
void *Context,
void **ReturnValue);
void
void
/*
* nseval - Namespace evaluation functions
*/
void
void);
/*
* nsarguments - Argument count/type checking for predefined/reserved names
*/
void
char *Pathname,
const ACPI_PREDEFINED_INFO *Info);
void
char *Pathname,
const ACPI_PREDEFINED_INFO *Predefined);
void
/*
* nspredef - Return value checking for predefined/reserved names
*/
/*
* nsprepkg - Validation of predefined name packages
*/
/*
* nsnames - Name and Scope manipulation
*/
char *
char *FullPath,
char *
char *
char *SearchFor);
const char *ExternalPathname,
/*
* nsobject - Object management for namespace nodes
*/
void *Data);
void **Data);
/*
* nsrepair - General return object repair for all
*/
void
/*
* nsrepair2 - Return object repair for specific
*/
/*
* nssearch - Namespace searching and entry
*/
void
/*
* nsutils - Utility functions
*/
void
const char *Msg);
void
const char *DottedName,
char **ConvertedName);
const char *InternalName,
char **ConvertedName);
void
void);
#endif /* __ACNAMESP_H__ */