1 /******************************************************************************
2 *
3 * Module Name: acparser.h - AML Parser 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.
112 ACPI_PARSE_STATE *ParserState,
113 UINT32 ArgType,
114 ACPI_PARSE_OBJECT **ReturnArg);
115
116
117 /*
118 * psfind
119 */
120 ACPI_PARSE_OBJECT *
121 AcpiPsFindName (
122 ACPI_PARSE_OBJECT *Scope,
123 UINT32 Name,
124 UINT32 Opcode);
125
126 ACPI_PARSE_OBJECT*
127 AcpiPsGetParent (
128 ACPI_PARSE_OBJECT *Op);
129
130
131 /*
132 * psopcode - AML Opcode information
133 */
134 const ACPI_OPCODE_INFO *
135 AcpiPsGetOpcodeInfo (
136 UINT16 Opcode);
137
138 char *
139 AcpiPsGetOpcodeName (
140 UINT16 Opcode);
141
142 UINT8
143 AcpiPsGetArgumentCount (
144 UINT32 OpType);
145
146
147 /*
148 * psparse - top level parsing routines
149 */
150 ACPI_STATUS
151 AcpiPsParseAml (
152 ACPI_WALK_STATE *WalkState);
153
277 AcpiPsCreateScopeOp (
278 void);
279
280 void
281 AcpiPsInitOp (
282 ACPI_PARSE_OBJECT *op,
283 UINT16 opcode);
284
285 ACPI_PARSE_OBJECT *
286 AcpiPsAllocOp (
287 UINT16 opcode);
288
289 void
290 AcpiPsFreeOp (
291 ACPI_PARSE_OBJECT *Op);
292
293 BOOLEAN
294 AcpiPsIsLeadingChar (
295 UINT32 c);
296
297 BOOLEAN
298 AcpiPsIsPrefixChar (
299 UINT32 c);
300
301 UINT32
302 AcpiPsGetName(
303 ACPI_PARSE_OBJECT *op);
304
305 void
306 AcpiPsSetName(
307 ACPI_PARSE_OBJECT *op,
308 UINT32 name);
309
310
311 /*
312 * psdump - display parser tree
313 */
314 UINT32
315 AcpiPsSprintPath (
316 char *BufferStart,
317 UINT32 BufferSize,
318 ACPI_PARSE_OBJECT *Op);
319
320 UINT32
|
1 /******************************************************************************
2 *
3 * Module Name: acparser.h - AML Parser 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.
112 ACPI_PARSE_STATE *ParserState,
113 UINT32 ArgType,
114 ACPI_PARSE_OBJECT **ReturnArg);
115
116
117 /*
118 * psfind
119 */
120 ACPI_PARSE_OBJECT *
121 AcpiPsFindName (
122 ACPI_PARSE_OBJECT *Scope,
123 UINT32 Name,
124 UINT32 Opcode);
125
126 ACPI_PARSE_OBJECT*
127 AcpiPsGetParent (
128 ACPI_PARSE_OBJECT *Op);
129
130
131 /*
132 * psobject - support for parse object processing
133 */
134 ACPI_STATUS
135 AcpiPsBuildNamedOp (
136 ACPI_WALK_STATE *WalkState,
137 UINT8 *AmlOpStart,
138 ACPI_PARSE_OBJECT *UnnamedOp,
139 ACPI_PARSE_OBJECT **Op);
140
141 ACPI_STATUS
142 AcpiPsCreateOp (
143 ACPI_WALK_STATE *WalkState,
144 UINT8 *AmlOpStart,
145 ACPI_PARSE_OBJECT **NewOp);
146
147 ACPI_STATUS
148 AcpiPsCompleteOp (
149 ACPI_WALK_STATE *WalkState,
150 ACPI_PARSE_OBJECT **Op,
151 ACPI_STATUS Status);
152
153 ACPI_STATUS
154 AcpiPsCompleteFinalOp (
155 ACPI_WALK_STATE *WalkState,
156 ACPI_PARSE_OBJECT *Op,
157 ACPI_STATUS Status);
158
159
160 /*
161 * psopinfo - AML Opcode information
162 */
163 const ACPI_OPCODE_INFO *
164 AcpiPsGetOpcodeInfo (
165 UINT16 Opcode);
166
167 char *
168 AcpiPsGetOpcodeName (
169 UINT16 Opcode);
170
171 UINT8
172 AcpiPsGetArgumentCount (
173 UINT32 OpType);
174
175
176 /*
177 * psparse - top level parsing routines
178 */
179 ACPI_STATUS
180 AcpiPsParseAml (
181 ACPI_WALK_STATE *WalkState);
182
306 AcpiPsCreateScopeOp (
307 void);
308
309 void
310 AcpiPsInitOp (
311 ACPI_PARSE_OBJECT *op,
312 UINT16 opcode);
313
314 ACPI_PARSE_OBJECT *
315 AcpiPsAllocOp (
316 UINT16 opcode);
317
318 void
319 AcpiPsFreeOp (
320 ACPI_PARSE_OBJECT *Op);
321
322 BOOLEAN
323 AcpiPsIsLeadingChar (
324 UINT32 c);
325
326 UINT32
327 AcpiPsGetName(
328 ACPI_PARSE_OBJECT *op);
329
330 void
331 AcpiPsSetName(
332 ACPI_PARSE_OBJECT *op,
333 UINT32 name);
334
335
336 /*
337 * psdump - display parser tree
338 */
339 UINT32
340 AcpiPsSprintPath (
341 char *BufferStart,
342 UINT32 BufferSize,
343 ACPI_PARSE_OBJECT *Op);
344
345 UINT32
|