Data Structures |
| struct | PRPN_OP |
| struct | PRPN_STACK |
Defines |
| #define | NDEBUG |
| #define | stricmp _stricmp |
| #define | RTL_FIELD_SIZE(type, field) (sizeof(((type *)0)->field)) |
| #define | CONST_STRCPY(dst, src) do { if ((dst)) { memcpy(dst, src, sizeof(src)); } } while (0); |
| #define | RPN_OP_STACK_SIZE 256 |
| #define | RPN_VALUE_STACK_SIZE 256 |
Typedefs |
| typedef ULONGLONG(* | RPN_BINARY_OPERATOR )(ULONGLONG a, ULONGLONG b) |
Enumerations |
| enum | RPN_OP_TYPE {
RpnOpNop,
RpnOpBinaryOperator,
RpnOpUnaryOperator,
RpnOpImmediate,
RpnOpRegister,
RpnOpDereference
} |
Functions |
| ULONGLONG | RpnBinaryOperatorAdd (ULONGLONG a, ULONGLONG b) |
| ULONGLONG | RpnBinaryOperatorSub (ULONGLONG a, ULONGLONG b) |
| ULONGLONG | RpnBinaryOperatorMul (ULONGLONG a, ULONGLONG b) |
| ULONGLONG | RpnBinaryOperatorDiv (ULONGLONG a, ULONGLONG b) |
| ULONGLONG | RpnBinaryOperatorMod (ULONGLONG a, ULONGLONG b) |
| ULONGLONG | RpnBinaryOperatorEquals (ULONGLONG a, ULONGLONG b) |
| ULONGLONG | RpnBinaryOperatorNotEquals (ULONGLONG a, ULONGLONG b) |
| ULONGLONG | RpnBinaryOperatorLessThan (ULONGLONG a, ULONGLONG b) |
| ULONGLONG | RpnBinaryOperatorLessThanOrEquals (ULONGLONG a, ULONGLONG b) |
| ULONGLONG | RpnBinaryOperatorGreaterThan (ULONGLONG a, ULONGLONG b) |
| ULONGLONG | RpnBinaryOperatorGreaterThanOrEquals (ULONGLONG a, ULONGLONG b) |
| VOID | RpnpDumpStack (IN PRPN_STACK Stack) |
| | Dumps the given RPN stack content.
|
| static VOID | RpnpClearStack (OUT PRPN_STACK Stack) |
| | Clears the given RPN stack.
|
| static BOOLEAN | RpnpPushStack (IN OUT PRPN_STACK Stack, IN PRPN_OP Op) |
| | Pushes an RPN_OP onto the stack.
|
| static BOOLEAN | RpnpPopStack (IN OUT PRPN_STACK Stack, OUT PRPN_OP Op OPTIONAL) |
| | Pops the top op from the stack.
|
| static BOOLEAN | RpnpTopStack (IN PRPN_STACK Stack, OUT PRPN_OP Op) |
| | Gets the top op from the stack (not popping it)
|
| static BOOLEAN | RpnpParseExpression (IN PRPN_STACK Stack, IN PCHAR Expression, OUT PCHAR *End OPTIONAL, IN ULONG CharacterOffset, OUT PLONG ErrOffset OPTIONAL, OUT PCHAR ErrMsg OPTIONAL) |
| | Parses an expression.
|
| static BOOLEAN | RpnpEvaluateStack (IN PRPN_STACK Stack, IN PKDB_KTRAP_FRAME TrapFrame, OUT PULONGLONG Result, OUT PLONG ErrOffset OPTIONAL, OUT PCHAR ErrMsg OPTIONAL) |
| | Evaluates the RPN op stack and returns the result.
|
| BOOLEAN | KdbpRpnEvaluateExpression (IN PCHAR Expression, IN PKDB_KTRAP_FRAME TrapFrame, OUT PULONGLONG Result, OUT PLONG ErrOffset OPTIONAL, OUT PCHAR ErrMsg OPTIONAL) |
| | Evaluates the given expression.
|
| PVOID | KdbpRpnParseExpression (IN PCHAR Expression, OUT PLONG ErrOffset OPTIONAL, OUT PCHAR ErrMsg OPTIONAL) |
| | Parses the given expression and returns a "handle" to it.
|
| BOOLEAN | KdbpRpnEvaluateParsedExpression (IN PVOID Expression, IN PKDB_KTRAP_FRAME TrapFrame, OUT PULONGLONG Result, OUT PLONG ErrOffset OPTIONAL, OUT PCHAR ErrMsg OPTIONAL) |
| | Evaluates the given expression and returns the result.
|
Variables |
| struct { |
| ULONG Size |
| ULONG Sp |
| RPN_OP Ops [RPN_OP_STACK_SIZE] |
| } | RpnStack |
| struct { |
| PCHAR Name |
| UCHAR Offset |
| UCHAR Size |
| } | RegisterToTrapFrame [] |
| static const INT | RegisterToTrapFrameCount = sizeof (RegisterToTrapFrame) / sizeof (RegisterToTrapFrame[0]) |