152#ifndef __ACPARSER_H__
153#define __ACPARSER_H__
156#define OP_HAS_RETURN_VALUE 1
160#define ACPI_VAR_ARGS ACPI_UINT32_MAX
163#define ACPI_PARSE_DELETE_TREE 0x0001
164#define ACPI_PARSE_NO_TREE_DELETE 0x0000
165#define ACPI_PARSE_TREE_MASK 0x0001
167#define ACPI_PARSE_LOAD_PASS1 0x0010
168#define ACPI_PARSE_LOAD_PASS2 0x0020
169#define ACPI_PARSE_EXECUTE 0x0030
170#define ACPI_PARSE_MODE_MASK 0x0030
172#define ACPI_PARSE_DEFERRED_OP 0x0100
173#define ACPI_PARSE_DISASSEMBLE 0x0200
175#define ACPI_PARSE_MODULE_LEVEL 0x0400
183extern const UINT8 AcpiGbl_ShortOpIndex[];
184extern const UINT8 AcpiGbl_LongOpIndex[];
192 ACPI_EVALUATE_INFO *Info);
196 ACPI_EVALUATE_INFO *Info);
203AcpiPsGetNextPackageEnd (
204 ACPI_PARSE_STATE *ParserState);
207AcpiPsGetNextNamestring (
208 ACPI_PARSE_STATE *ParserState);
211AcpiPsGetNextSimpleArg (
212 ACPI_PARSE_STATE *ParserState,
214 ACPI_PARSE_OBJECT *Arg);
217AcpiPsGetNextNamepath (
218 ACPI_WALK_STATE *WalkState,
219 ACPI_PARSE_STATE *ParserState,
220 ACPI_PARSE_OBJECT *Arg,
221 BOOLEAN PossibleMethodCall);
225#define ACPI_NOT_METHOD_CALL FALSE
226#define ACPI_POSSIBLE_METHOD_CALL TRUE
230 ACPI_WALK_STATE *WalkState,
231 ACPI_PARSE_STATE *ParserState,
233 ACPI_PARSE_OBJECT **ReturnArg);
241 ACPI_PARSE_OBJECT *Scope,
247 ACPI_PARSE_OBJECT *Op);
255 ACPI_WALK_STATE *WalkState,
257 ACPI_PARSE_OBJECT *UnnamedOp,
258 ACPI_PARSE_OBJECT **Op);
262 ACPI_WALK_STATE *WalkState,
264 ACPI_PARSE_OBJECT **NewOp);
268 ACPI_WALK_STATE *WalkState,
269 ACPI_PARSE_OBJECT **Op,
273AcpiPsCompleteFinalOp (
274 ACPI_WALK_STATE *WalkState,
275 ACPI_PARSE_OBJECT *Op,
282const ACPI_OPCODE_INFO *
291AcpiPsGetArgumentCount (
300 ACPI_WALK_STATE *WalkState);
308 ACPI_PARSE_STATE *state);
311AcpiPsCompleteThisOp (
312 ACPI_WALK_STATE *WalkState,
313 ACPI_PARSE_OBJECT *Op);
316AcpiPsNextParseState (
317 ACPI_WALK_STATE *WalkState,
318 ACPI_PARSE_OBJECT *Op,
319 ACPI_STATUS CallbackStatus);
327 ACPI_WALK_STATE *WalkState);
335 ACPI_PARSE_STATE *ParserState,
336 ACPI_PARSE_OBJECT *Root);
339AcpiPsGetParentScope (
340 ACPI_PARSE_STATE *state);
343AcpiPsHasCompletedScope (
344 ACPI_PARSE_STATE *ParserState);
348 ACPI_PARSE_STATE *ParserState,
349 ACPI_PARSE_OBJECT **Op,
355 ACPI_PARSE_STATE *ParserState,
356 ACPI_PARSE_OBJECT *Op,
357 UINT32 RemainingArgs,
362 ACPI_PARSE_STATE *state);
370 ACPI_PARSE_OBJECT *op,
371 ACPI_PARSE_OBJECT *arg);
375 ACPI_PARSE_OBJECT *Scope,
382 ACPI_PARSE_OBJECT *op,
387 ACPI_PARSE_OBJECT *Origin,
388 ACPI_PARSE_OBJECT *Op);
396 ACPI_PARSE_OBJECT *StartOp,
397 ACPI_PARSE_OBJECT *EndOp,
398 ACPI_OPERAND_OBJECT *MthDesc,
399 ACPI_NAMESPACE_NODE *StartNode,
400 ACPI_OPERAND_OBJECT **Params,
401 ACPI_OPERAND_OBJECT **CallerReturnDesc,
402 ACPI_OWNER_ID OwnerId,
403 ACPI_PARSE_DOWNWARDS DescendingCallback,
404 ACPI_PARSE_UPWARDS AscendingCallback);
408 ACPI_WALK_STATE *WalkState,
409 ACPI_PARSE_OBJECT *Op,
410 ACPI_PARSE_UPWARDS AscendingCallback);
413AcpiPsDeleteCompletedOp (
414 ACPI_WALK_STATE *WalkState);
417AcpiPsDeleteParseTree (
418 ACPI_PARSE_OBJECT *root);
430 ACPI_PARSE_OBJECT *op,
440 ACPI_PARSE_OBJECT *Op);
448 ACPI_PARSE_OBJECT *op);
452 ACPI_PARSE_OBJECT *op,
463 ACPI_PARSE_OBJECT *Op);
469 ACPI_PARSE_OBJECT *Op);
473 ACPI_PARSE_OBJECT *op);