2#ifndef SCRIPT_ENGINE_COMMON_DEFINITIONS_H
3#define SCRIPT_ENGINE_COMMON_DEFINITIONS_H
7 long long unsigned Type;
8 long long unsigned Len;
35 long long unsigned Tag;
53#define SYMBOL_UNDEFINED 0
54#define SYMBOL_GLOBAL_ID_TYPE 1
55#define SYMBOL_LOCAL_ID_TYPE 2
56#define SYMBOL_NUM_TYPE 3
57#define SYMBOL_REGISTER_TYPE 4
58#define SYMBOL_PSEUDO_REG_TYPE 5
59#define SYMBOL_SEMANTIC_RULE_TYPE 6
60#define SYMBOL_TEMP_TYPE 7
61#define SYMBOL_STRING_TYPE 8
62#define SYMBOL_VARIABLE_COUNT_TYPE 9
63#define SYMBOL_INVALID 10
64#define SYMBOL_WSTRING_TYPE 11
65#define SYMBOL_FUNCTION_PARAMETER_ID_TYPE 12
66#define SYMBOL_RETURN_ADDRESS_TYPE 13
67#define SYMBOL_STACK_TEMP_TYPE 14
68#define SYMBOL_FUNCTION_PARAMETER_TYPE 15
69#define SYMBOL_STACK_INDEX_TYPE 16
70#define SYMBOL_STACK_BASE_INDEX_TYPE 17
71#define SYMBOL_RETURN_VALUE_TYPE 18
73static const char *
const SymbolTypeNames[] = {
75"SYMBOL_GLOBAL_ID_TYPE",
76"SYMBOL_LOCAL_ID_TYPE",
78"SYMBOL_REGISTER_TYPE",
79"SYMBOL_PSEUDO_REG_TYPE",
80"SYMBOL_SEMANTIC_RULE_TYPE",
83"SYMBOL_VARIABLE_COUNT_TYPE",
86"SYMBOL_FUNCTION_PARAMETER_ID_TYPE",
87"SYMBOL_RETURN_ADDRESS_TYPE",
88"SYMBOL_STACK_TEMP_TYPE",
89"SYMBOL_FUNCTION_PARAMETER_TYPE",
90"SYMBOL_STACK_INDEX_TYPE",
91"SYMBOL_STACK_BASE_INDEX_TYPE",
92"SYMBOL_RETURN_VALUE_TYPE"
95#define SYMBOL_MEM_VALID_CHECK_MASK (1 << 31)
96#define INVALID 0x80000000
97#define LALR_ACCEPT 0x7fffffff
101#define FUNC_UNDEFINED 0
104#define FUNC_REFERENCE 3
105#define FUNC_DEREFERENCE 4
122#define FUNC_START_OF_IF 21
126#define FUNC_JMP_TO_END_AND_JZCOMPLETED 25
127#define FUNC_END_OF_IF 26
128#define FUNC_START_OF_WHILE 27
129#define FUNC_END_OF_WHILE 28
130#define FUNC_VARGSTART 29
132#define FUNC_START_OF_DO_WHILE 31
134#define FUNC_START_OF_DO_WHILE_COMMANDS 33
135#define FUNC_END_OF_DO_WHILE 34
136#define FUNC_START_OF_FOR 35
137#define FUNC_FOR_INC_DEC 36
138#define FUNC_START_OF_FOR_OMMANDS 37
139#define FUNC_IGNORE_LVALUE 38
150#define FUNC_UNSIGNED 49
151#define FUNC_SIGNED 50
153#define FUNC_DOUBLE 52
155#define FUNC_FORMATS 54
156#define FUNC_EVENT_ENABLE 55
157#define FUNC_EVENT_DISABLE 56
158#define FUNC_EVENT_CLEAR 57
159#define FUNC_TEST_STATEMENT 58
160#define FUNC_SPINLOCK_LOCK 59
161#define FUNC_SPINLOCK_UNLOCK 60
162#define FUNC_EVENT_SC 61
163#define FUNC_PRINTF 62
166#define FUNC_EVENT_TRACE_STEP 65
167#define FUNC_EVENT_TRACE_STEP_IN 66
168#define FUNC_EVENT_TRACE_STEP_OUT 67
169#define FUNC_EVENT_TRACE_INSTRUMENTATION_STEP 68
170#define FUNC_EVENT_TRACE_INSTRUMENTATION_STEP_IN 69
171#define FUNC_SPINLOCK_LOCK_CUSTOM_WAIT 70
172#define FUNC_EVENT_INJECT 71
182#define FUNC_CHECK_ADDRESS 81
183#define FUNC_DISASSEMBLE_LEN 82
184#define FUNC_DISASSEMBLE_LEN32 83
185#define FUNC_DISASSEMBLE_LEN64 84
186#define FUNC_INTERLOCKED_INCREMENT 85
187#define FUNC_INTERLOCKED_DECREMENT 86
188#define FUNC_PHYSICAL_TO_VIRTUAL 87
189#define FUNC_VIRTUAL_TO_PHYSICAL 88
193#define FUNC_INTERLOCKED_EXCHANGE 92
194#define FUNC_INTERLOCKED_EXCHANGE_ADD 93
195#define FUNC_INTERLOCKED_COMPARE_EXCHANGE 94
196#define FUNC_STRLEN 95
197#define FUNC_STRCMP 96
198#define FUNC_MEMCMP 97
199#define FUNC_STRNCMP 98
200#define FUNC_WCSLEN 99
201#define FUNC_WCSCMP 100
202#define FUNC_EVENT_INJECT_ERROR_CODE 101
203#define FUNC_MEMCPY 102
204#define FUNC_WCSNCMP 103
206static const char *
const FunctionNames[] = {
232"FUNC_JMP_TO_END_AND_JZCOMPLETED",
234"FUNC_START_OF_WHILE",
238"FUNC_START_OF_DO_WHILE",
240"FUNC_START_OF_DO_WHILE_COMMANDS",
241"FUNC_END_OF_DO_WHILE",
244"FUNC_START_OF_FOR_OMMANDS",
265"FUNC_TEST_STATEMENT",
267"FUNC_SPINLOCK_UNLOCK",
272"FUNC_EVENT_TRACE_STEP",
273"FUNC_EVENT_TRACE_STEP_IN",
274"FUNC_EVENT_TRACE_STEP_OUT",
275"FUNC_EVENT_TRACE_INSTRUMENTATION_STEP",
276"FUNC_EVENT_TRACE_INSTRUMENTATION_STEP_IN",
277"FUNC_SPINLOCK_LOCK_CUSTOM_WAIT",
289"FUNC_DISASSEMBLE_LEN",
290"FUNC_DISASSEMBLE_LEN32",
291"FUNC_DISASSEMBLE_LEN64",
292"FUNC_INTERLOCKED_INCREMENT",
293"FUNC_INTERLOCKED_DECREMENT",
294"FUNC_PHYSICAL_TO_VIRTUAL",
295"FUNC_VIRTUAL_TO_PHYSICAL",
299"FUNC_INTERLOCKED_EXCHANGE",
300"FUNC_INTERLOCKED_EXCHANGE_ADD",
301"FUNC_INTERLOCKED_COMPARE_EXCHANGE",
308"FUNC_EVENT_INJECT_ERROR_CODE",
437static const char *
const RegistersNames[] = {
438"rax",
"eax",
"ax",
"ah",
"al",
"rcx",
"ecx",
"cx",
439"ch",
"cl",
"rdx",
"edx",
"dx",
"dh",
"dl",
"rbx",
440"ebx",
"bx",
"bh",
"bl",
"rsp",
"esp",
"sp",
"spl",
441"rbp",
"ebp",
"bp",
"bpl",
"rsi",
"esi",
"si",
"sil",
442"rdi",
"edi",
"di",
"dil",
"r8",
"r8d",
"r8w",
"r8h",
443"r8l",
"r9",
"r9d",
"r9w",
"r9h",
"r9l",
"r10",
"r10d",
444"r10w",
"r10h",
"r10l",
"r11",
"r11d",
"r11w",
"r11h",
"r11l",
445"r12",
"r12d",
"r12w",
"r12h",
"r12l",
"r13",
"r13d",
"r13w",
446"r13h",
"r13l",
"r14",
"r14d",
"r14w",
"r14h",
"r14l",
"r15",
447"r15d",
"r15w",
"r15h",
"r15l",
"ds",
"es",
"fs",
"gs",
448"cs",
"ss",
"rflags",
"eflags",
"flags",
"cf",
"pf",
"af",
449"zf",
"sf",
"tf",
"if",
"df",
"of",
"iopl",
"nt",
450"rf",
"vm",
"ac",
"vif",
"vip",
"id",
"rip",
"eip",
451"ip",
"idtr",
"ldtr",
"gdtr",
"tr",
"cr0",
"cr2",
"cr3",
452"cr4",
"cr8",
"dr0",
"dr1",
"dr2",
"dr3",
"dr6",
"dr7"
455#define PSEUDO_REGISTER_PID 0
456#define PSEUDO_REGISTER_TID 1
457#define PSEUDO_REGISTER_PNAME 2
458#define PSEUDO_REGISTER_CORE 3
459#define PSEUDO_REGISTER_PROC 4
460#define PSEUDO_REGISTER_THREAD 5
461#define PSEUDO_REGISTER_PEB 6
462#define PSEUDO_REGISTER_TEB 7
463#define PSEUDO_REGISTER_IP 8
464#define PSEUDO_REGISTER_BUFFER 9
465#define PSEUDO_REGISTER_CONTEXT 10
466#define PSEUDO_REGISTER_EVENT_TAG 11
467#define PSEUDO_REGISTER_EVENT_ID 12
468#define PSEUDO_REGISTER_EVENT_STAGE 13
469#define PSEUDO_REGISTER_DATE 14
470#define PSEUDO_REGISTER_TIME 15
struct USER_DEFINED_FUNCTION_NODE * PUSER_DEFINED_FUNCTION_NODE
struct SYMBOL_MAP SYMBOL_MAP
REGS_ENUM
Definition ScriptEngineCommonDefinitions.h:313
@ REGISTER_DIL
Definition ScriptEngineCommonDefinitions.h:349
@ REGISTER_DR1
Definition ScriptEngineCommonDefinitions.h:429
@ REGISTER_R12W
Definition ScriptEngineCommonDefinitions.h:372
@ REGISTER_EDI
Definition ScriptEngineCommonDefinitions.h:347
@ REGISTER_R14W
Definition ScriptEngineCommonDefinitions.h:382
@ REGISTER_BPL
Definition ScriptEngineCommonDefinitions.h:341
@ REGISTER_CF
Definition ScriptEngineCommonDefinitions.h:399
@ REGISTER_R8D
Definition ScriptEngineCommonDefinitions.h:351
@ REGISTER_DI
Definition ScriptEngineCommonDefinitions.h:348
@ REGISTER_R14L
Definition ScriptEngineCommonDefinitions.h:384
@ REGISTER_RDX
Definition ScriptEngineCommonDefinitions.h:324
@ REGISTER_R10H
Definition ScriptEngineCommonDefinitions.h:363
@ REGISTER_BH
Definition ScriptEngineCommonDefinitions.h:332
@ REGISTER_R12D
Definition ScriptEngineCommonDefinitions.h:371
@ REGISTER_GDTR
Definition ScriptEngineCommonDefinitions.h:421
@ REGISTER_R10
Definition ScriptEngineCommonDefinitions.h:360
@ REGISTER_DR3
Definition ScriptEngineCommonDefinitions.h:431
@ REGISTER_CR4
Definition ScriptEngineCommonDefinitions.h:426
@ REGISTER_CS
Definition ScriptEngineCommonDefinitions.h:394
@ REGISTER_BL
Definition ScriptEngineCommonDefinitions.h:333
@ REGISTER_AL
Definition ScriptEngineCommonDefinitions.h:318
@ REGISTER_IOPL
Definition ScriptEngineCommonDefinitions.h:408
@ REGISTER_CH
Definition ScriptEngineCommonDefinitions.h:322
@ REGISTER_RF
Definition ScriptEngineCommonDefinitions.h:410
@ REGISTER_DR6
Definition ScriptEngineCommonDefinitions.h:432
@ REGISTER_R12
Definition ScriptEngineCommonDefinitions.h:370
@ REGISTER_CL
Definition ScriptEngineCommonDefinitions.h:323
@ REGISTER_RBX
Definition ScriptEngineCommonDefinitions.h:329
@ REGISTER_TR
Definition ScriptEngineCommonDefinitions.h:422
@ REGISTER_PF
Definition ScriptEngineCommonDefinitions.h:400
@ REGISTER_ZF
Definition ScriptEngineCommonDefinitions.h:402
@ REGISTER_R14H
Definition ScriptEngineCommonDefinitions.h:383
@ REGISTER_EIP
Definition ScriptEngineCommonDefinitions.h:417
@ REGISTER_R9
Definition ScriptEngineCommonDefinitions.h:355
@ REGISTER_R12H
Definition ScriptEngineCommonDefinitions.h:373
@ REGISTER_R14D
Definition ScriptEngineCommonDefinitions.h:381
@ REGISTER_ESP
Definition ScriptEngineCommonDefinitions.h:335
@ REGISTER_IDTR
Definition ScriptEngineCommonDefinitions.h:419
@ REGISTER_RIP
Definition ScriptEngineCommonDefinitions.h:416
@ REGISTER_DL
Definition ScriptEngineCommonDefinitions.h:328
@ REGISTER_R11
Definition ScriptEngineCommonDefinitions.h:365
@ REGISTER_NT
Definition ScriptEngineCommonDefinitions.h:409
@ REGISTER_FS
Definition ScriptEngineCommonDefinitions.h:392
@ REGISTER_SPL
Definition ScriptEngineCommonDefinitions.h:337
@ REGISTER_OF
Definition ScriptEngineCommonDefinitions.h:407
@ REGISTER_DH
Definition ScriptEngineCommonDefinitions.h:327
@ REGISTER_R15
Definition ScriptEngineCommonDefinitions.h:385
@ REGISTER_LDTR
Definition ScriptEngineCommonDefinitions.h:420
@ REGISTER_AF
Definition ScriptEngineCommonDefinitions.h:401
@ REGISTER_CR8
Definition ScriptEngineCommonDefinitions.h:427
@ REGISTER_IP
Definition ScriptEngineCommonDefinitions.h:418
@ REGISTER_R8
Definition ScriptEngineCommonDefinitions.h:350
@ REGISTER_SS
Definition ScriptEngineCommonDefinitions.h:395
@ REGISTER_DR2
Definition ScriptEngineCommonDefinitions.h:430
@ REGISTER_R8L
Definition ScriptEngineCommonDefinitions.h:354
@ REGISTER_RAX
Definition ScriptEngineCommonDefinitions.h:314
@ REGISTER_R13
Definition ScriptEngineCommonDefinitions.h:375
@ REGISTER_R11D
Definition ScriptEngineCommonDefinitions.h:366
@ REGISTER_R13H
Definition ScriptEngineCommonDefinitions.h:378
@ REGISTER_EBX
Definition ScriptEngineCommonDefinitions.h:330
@ REGISTER_GS
Definition ScriptEngineCommonDefinitions.h:393
@ REGISTER_DR0
Definition ScriptEngineCommonDefinitions.h:428
@ REGISTER_R9L
Definition ScriptEngineCommonDefinitions.h:359
@ REGISTER_R15D
Definition ScriptEngineCommonDefinitions.h:386
@ REGISTER_CR2
Definition ScriptEngineCommonDefinitions.h:424
@ REGISTER_SF
Definition ScriptEngineCommonDefinitions.h:403
@ REGISTER_DX
Definition ScriptEngineCommonDefinitions.h:326
@ REGISTER_TF
Definition ScriptEngineCommonDefinitions.h:404
@ REGISTER_R9D
Definition ScriptEngineCommonDefinitions.h:356
@ REGISTER_ESI
Definition ScriptEngineCommonDefinitions.h:343
@ REGISTER_R15H
Definition ScriptEngineCommonDefinitions.h:388
@ REGISTER_RSI
Definition ScriptEngineCommonDefinitions.h:342
@ REGISTER_SIL
Definition ScriptEngineCommonDefinitions.h:345
@ REGISTER_BP
Definition ScriptEngineCommonDefinitions.h:340
@ REGISTER_AC
Definition ScriptEngineCommonDefinitions.h:412
@ REGISTER_R10L
Definition ScriptEngineCommonDefinitions.h:364
@ REGISTER_R13D
Definition ScriptEngineCommonDefinitions.h:376
@ REGISTER_R10D
Definition ScriptEngineCommonDefinitions.h:361
@ REGISTER_EFLAGS
Definition ScriptEngineCommonDefinitions.h:397
@ REGISTER_CR0
Definition ScriptEngineCommonDefinitions.h:423
@ REGISTER_DF
Definition ScriptEngineCommonDefinitions.h:406
@ REGISTER_R11H
Definition ScriptEngineCommonDefinitions.h:368
@ REGISTER_VM
Definition ScriptEngineCommonDefinitions.h:411
@ REGISTER_R15L
Definition ScriptEngineCommonDefinitions.h:389
@ REGISTER_R9H
Definition ScriptEngineCommonDefinitions.h:358
@ REGISTER_VIP
Definition ScriptEngineCommonDefinitions.h:414
@ REGISTER_SI
Definition ScriptEngineCommonDefinitions.h:344
@ REGISTER_R10W
Definition ScriptEngineCommonDefinitions.h:362
@ REGISTER_EAX
Definition ScriptEngineCommonDefinitions.h:315
@ REGISTER_CX
Definition ScriptEngineCommonDefinitions.h:321
@ REGISTER_BX
Definition ScriptEngineCommonDefinitions.h:331
@ REGISTER_IF
Definition ScriptEngineCommonDefinitions.h:405
@ REGISTER_R13L
Definition ScriptEngineCommonDefinitions.h:379
@ REGISTER_ES
Definition ScriptEngineCommonDefinitions.h:391
@ REGISTER_AX
Definition ScriptEngineCommonDefinitions.h:316
@ REGISTER_R12L
Definition ScriptEngineCommonDefinitions.h:374
@ REGISTER_RCX
Definition ScriptEngineCommonDefinitions.h:319
@ REGISTER_R8W
Definition ScriptEngineCommonDefinitions.h:352
@ REGISTER_R8H
Definition ScriptEngineCommonDefinitions.h:353
@ REGISTER_ID
Definition ScriptEngineCommonDefinitions.h:415
@ REGISTER_EDX
Definition ScriptEngineCommonDefinitions.h:325
@ REGISTER_RFLAGS
Definition ScriptEngineCommonDefinitions.h:396
@ REGISTER_VIF
Definition ScriptEngineCommonDefinitions.h:413
@ REGISTER_R11L
Definition ScriptEngineCommonDefinitions.h:369
@ REGISTER_R14
Definition ScriptEngineCommonDefinitions.h:380
@ REGISTER_R15W
Definition ScriptEngineCommonDefinitions.h:387
@ REGISTER_CR3
Definition ScriptEngineCommonDefinitions.h:425
@ REGISTER_SP
Definition ScriptEngineCommonDefinitions.h:336
@ REGISTER_DR7
Definition ScriptEngineCommonDefinitions.h:433
@ REGISTER_FLAGS
Definition ScriptEngineCommonDefinitions.h:398
@ REGISTER_RDI
Definition ScriptEngineCommonDefinitions.h:346
@ REGISTER_ECX
Definition ScriptEngineCommonDefinitions.h:320
@ REGISTER_R13W
Definition ScriptEngineCommonDefinitions.h:377
@ REGISTER_R11W
Definition ScriptEngineCommonDefinitions.h:367
@ REGISTER_DS
Definition ScriptEngineCommonDefinitions.h:390
@ REGISTER_RSP
Definition ScriptEngineCommonDefinitions.h:334
@ REGISTER_EBP
Definition ScriptEngineCommonDefinitions.h:339
@ REGISTER_AH
Definition ScriptEngineCommonDefinitions.h:317
@ REGISTER_RBP
Definition ScriptEngineCommonDefinitions.h:338
@ REGISTER_R9W
Definition ScriptEngineCommonDefinitions.h:357
struct ACTION_BUFFER ACTION_BUFFER
struct SYMBOL_BUFFER * PSYMBOL_BUFFER
struct SYMBOL_BUFFER SYMBOL_BUFFER
struct ACTION_BUFFER * PACTION_BUFFER
struct USER_DEFINED_FUNCTION_NODE USER_DEFINED_FUNCTION_NODE
struct HWDBG_SHORT_SYMBOL HWDBG_SHORT_SYMBOL
struct SYMBOL_MAP * PSYMBOL_MAP
struct HWDBG_SHORT_SYMBOL * PHWDBG_SHORT_SYMBOL
Definition ScriptEngineCommonDefinitions.h:34
long long unsigned Context
Definition ScriptEngineCommonDefinitions.h:38
long long unsigned Tag
Definition ScriptEngineCommonDefinitions.h:35
long long unsigned CurrentAction
Definition ScriptEngineCommonDefinitions.h:36
char CallingStage
Definition ScriptEngineCommonDefinitions.h:39
char ImmediatelySendTheResults
Definition ScriptEngineCommonDefinitions.h:37
Definition ScriptEngineCommonDefinitions.h:15
long long unsigned Type
Definition ScriptEngineCommonDefinitions.h:16
long long unsigned Value
Definition ScriptEngineCommonDefinitions.h:17
Definition ScriptEngineCommonDefinitions.h:21
char * Message
Definition ScriptEngineCommonDefinitions.h:25
unsigned int Pointer
Definition ScriptEngineCommonDefinitions.h:23
PSYMBOL Head
Definition ScriptEngineCommonDefinitions.h:22
unsigned int Size
Definition ScriptEngineCommonDefinitions.h:24
Definition ScriptEngineCommonDefinitions.h:29
long long unsigned Type
Definition ScriptEngineCommonDefinitions.h:31
char * Name
Definition ScriptEngineCommonDefinitions.h:30
Definition ScriptEngineCommonDefinitions.h:6
long long unsigned Value
Definition ScriptEngineCommonDefinitions.h:10
long long unsigned VariableType
Definition ScriptEngineCommonDefinitions.h:9
long long unsigned Len
Definition ScriptEngineCommonDefinitions.h:8
long long unsigned Type
Definition ScriptEngineCommonDefinitions.h:7
Definition ScriptEngineCommonDefinitions.h:43
long long unsigned ParameterNumber
Definition ScriptEngineCommonDefinitions.h:48
long long unsigned StackTempNumber
Definition ScriptEngineCommonDefinitions.h:49
char * Name
Definition ScriptEngineCommonDefinitions.h:44
struct USER_DEFINED_FUNCTION_NODE * NextNode
Definition ScriptEngineCommonDefinitions.h:50
long long unsigned Address
Definition ScriptEngineCommonDefinitions.h:45
long long unsigned VariableType
Definition ScriptEngineCommonDefinitions.h:46
PSYMBOL_BUFFER ParameterBuffer
Definition ScriptEngineCommonDefinitions.h:47