Lines Matching refs:opcode

44 EvalResult OpcodeEval(PolicyOpcode* opcode, const ParameterSet* pp,
56 EvalResult OpcodeEval<OP_ALWAYS_FALSE>(PolicyOpcode* opcode,
59 UNREFERENCED_PARAMETER(opcode);
74 EvalResult OpcodeEval<OP_ALWAYS_TRUE>(PolicyOpcode* opcode,
77 UNREFERENCED_PARAMETER(opcode);
90 PolicyOpcode* opcode = MakeBase(OP_ACTION, options, 0);
91 if (NULL == opcode) return NULL;
92 opcode->SetArgument(0, action);
93 return opcode;
97 EvalResult OpcodeEval<OP_ACTION>(PolicyOpcode* opcode,
103 opcode->GetArgument(0, &action);
116 PolicyOpcode* opcode = MakeBase(OP_NUMBER_MATCH, options, selected_param);
117 if (NULL == opcode) return NULL;
118 opcode->SetArgument(0, match);
119 opcode->SetArgument(1, ULONG_TYPE);
120 return opcode;
126 PolicyOpcode* opcode = MakeBase(OP_NUMBER_MATCH, options, selected_param);
127 if (NULL == opcode) return NULL;
128 opcode->SetArgument(0, match);
129 opcode->SetArgument(1, VOIDPTR_TYPE);
130 return opcode;
134 EvalResult OpcodeEval<OP_NUMBER_MATCH>(PolicyOpcode* opcode,
141 opcode->GetArgument(0, &match_ulong);
147 opcode->GetArgument(0, &match_ptr);
167 PolicyOpcode* opcode = MakeBase(OP_ULONG_MATCH_RANGE, options,
169 if (NULL == opcode) return NULL;
170 opcode->SetArgument(0, lower_bound);
171 opcode->SetArgument(1, upper_bound);
172 return opcode;
176 EvalResult OpcodeEval<OP_ULONG_MATCH_RANGE>(PolicyOpcode* opcode,
185 opcode->GetArgument(0, &lower_bound);
186 opcode->GetArgument(1, &upper_bound);
199 PolicyOpcode* opcode = MakeBase(OP_ULONG_AND_MATCH, options, selected_param);
200 if (NULL == opcode) return NULL;
201 opcode->SetArgument(0, match);
202 return opcode;
206 EvalResult OpcodeEval<OP_ULONG_AND_MATCH>(PolicyOpcode* opcode,
214 opcode->GetArgument(0, &number);
241 PolicyOpcode* opcode = MakeBase(OP_WSTRING_MATCH, options, selected_param);
242 if (NULL == opcode) {
245 ptrdiff_t delta_str = AllocRelative(opcode, match_str, wcslen(match_str)+1);
249 opcode->SetArgument(0, delta_str);
250 opcode->SetArgument(1, lenght);
251 opcode->SetArgument(2, start_position);
252 opcode->SetArgument(3, match_opts);
253 return opcode;
257 EvalResult OpcodeEval<OP_WSTRING_MATCH>(PolicyOpcode* opcode,
269 opcode->GetArgument(1, &match_len);
270 opcode->GetArgument(2, &start_position);
271 opcode->GetArgument(3, &match_opts);
273 const wchar_t* match_str = opcode->GetRelativeString(0);
359 // Create opcode using placement-new on the buffer memory.
360 PolicyOpcode* opcode = new(memory_top_) PolicyOpcode();
362 // Fill in the standard fields, that every opcode has.
364 opcode->opcode_id_ = opcode_id;
365 opcode->options_ = static_cast<int16>(options);
366 opcode->parameter_ = selected_param;
367 return opcode;
389 // This function is the one and only entry for evaluating any opcode. It is
390 // in charge of applying any relevant opcode options and calling EvaluateInner
410 // Apply the general options regardless of the particular type of opcode.