ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

kdb_expr.c File Reference
#include <ntoskrnl.h>
#include <debug.h>

Go to the source code of this file.

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])

Generated on Sun May 27 2012 06:07:45 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.