Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

110 lines
2.9 KiB

  1. /*++
  2. Copyright (c) 1997 Microsoft Corporation
  3. Module Name:
  4. data.h
  5. Abstract:
  6. Data file for AML
  7. Author:
  8. Michael Tsang
  9. Stephane Plante
  10. Environment:
  11. Any
  12. Revision History:
  13. --*/
  14. #ifndef _DATA_H_
  15. #define _DATA_H_
  16. #define STACK_GROWTH_RATE 8
  17. #define STACK_SIGNATURE '_SGP'
  18. #define STRING_GROWTH_RATE 32
  19. #define STRING_SIGNATURE ')SGP'
  20. //
  21. // This is the size of an individual name segment
  22. //
  23. #define NAMESEG ULONG
  24. //
  25. // This is for the ArgumentType Table
  26. //
  27. #define ARGTYPE_NAME 'N'
  28. #define ARGTYPE_DATAOBJECT 'O'
  29. #define ARGTYPE_DWORD 'D'
  30. #define ARGTYPE_WORD 'W'
  31. #define ARGTYPE_BYTE 'B'
  32. #define ARGTYPE_SUPERNAME 'S'
  33. #define ARGTYPE_OPCODE 'C'
  34. //
  35. // This is for the term group table
  36. //
  37. #define TC_NAMESPACE_MODIFIER 0x01
  38. #define TC_NAMED_OBJECT 0x02
  39. #define TC_OPCODE_TYPE1 0x03
  40. #define TC_OPCODE_TYPE2 0x04
  41. #define TC_OTHER 0x05
  42. //
  43. // Opcode Flag table
  44. //
  45. #define OF_NORMAL_OBJECT 0x00000000
  46. #define OF_VARIABLE_LIST 0x00000001
  47. #define OF_ARG_OBJECT 0x00000002
  48. #define OF_LOCAL_OBJECT 0x00000003
  49. #define OF_CONST_OBJECT 0x00000004
  50. #define OF_NAME_OBJECT 0x00000005
  51. #define OF_DATA_OBJECT 0x00000006
  52. #define OF_DEBUG_OBJECT 0x00000007
  53. #define OF_REF_OBJECT 0x00000008
  54. #define OF_PROCESS_UNASM 0x00000000
  55. #define OF_UNASM_FIELDLIST 0x00000000
  56. //
  57. // Scope Flags
  58. //
  59. #define SC_FLAG_NESTED 0x00000001
  60. //
  61. // These are the various values allowed for the states
  62. //
  63. #define SC_FUNCTION_HANDLER 0x00
  64. #define SC_PARSE_ARGUMENT 0x01
  65. #define SC_PARSE_ARGUMENT_OBJECT 0x02
  66. #define SC_PARSE_BUFFER 0x03
  67. #define SC_PARSE_BYTE 0x04
  68. #define SC_PARSE_CODE_OBJECT 0x05
  69. #define SC_PARSE_CONST_OBJECT 0x06
  70. #define SC_PARSE_DATA 0x07
  71. #define SC_PARSE_DELIMITER 0x08
  72. #define SC_PARSE_DWORD 0x09
  73. #define SC_PARSE_FIELD 0x0A
  74. #define SC_PARSE_LOCAL_OBJECT 0x0B
  75. #define SC_PARSE_NAME 0x0C
  76. #define SC_PARSE_NAME_OBJECT 0x0D
  77. #define SC_PARSE_OPCODE 0x0E
  78. #define SC_PARSE_PACKAGE 0x0F
  79. #define SC_PARSE_POP 0x10
  80. #define SC_PARSE_PUSH 0x11
  81. #define SC_PARSE_SUPER_NAME 0x12
  82. #define SC_PARSE_TRAILING_ARGUMENT 0x13
  83. #define SC_PARSE_TRAILING_BUFFER 0x14
  84. #define SC_PARSE_TRAILING_PACKAGE 0x15
  85. #define SC_PARSE_VARIABLE_OBJECT 0x16
  86. #define SC_PARSE_WORD 0x17
  87. #define SC_MAX_TABLE 0x18
  88. #endif