Bitdefender Hypervisor Memory Introspection
rbtree.h File Reference
#include "introdefs.h"

Go to the source code of this file.

Data Structures

struct  _RBNODE
 
struct  _RBTREE
 

Macros

#define RBTREE_MAXIMUM_LEVEL   40
 

Typedefs

typedef enum _RbNodeColor RbNodeColor
 
typedef struct _RBNODE RBNODE
 
typedef struct _RBNODEPRBNODE
 
typedef void FUNC_RbTreeNodeFree(RBNODE *Node)
 
typedef FUNC_RbTreeNodeFreePFUNC_RbTreeNodeFree
 
typedef int FUNC_RbTreeNodeCompare(RBNODE *Left, RBNODE *Right)
 
typedef FUNC_RbTreeNodeComparePFUNC_RbTreeNodeCompare
 
typedef int FUNC_RbTreeNodeCustomCompare(RBNODE *Node, void *Key)
 
typedef FUNC_RbTreeNodeCustomComparePFUNC_RbTreeNodeCustomCompare
 
typedef BOOLEAN FUNC_RbTreeWalkCallback(RBNODE *Node, void *WalkContext)
 
typedef FUNC_RbTreeWalkCallbackPFUNC_RbTreeWalkCallback
 
typedef struct _RBTREE RBTREE
 
typedef struct _RBTREEPBTREE
 

Enumerations

enum  _RbNodeColor { ncBlack = 0, ncRed = 1 }
 

Functions

void RbPreinit (RBTREE *Tree)
 
INTSTATUS RbInit (RBTREE *Tree, PFUNC_RbTreeNodeFree NodeFree, PFUNC_RbTreeNodeCompare NodeCompare)
 
void RbUninit (RBTREE *Tree)
 
INTSTATUS RbInsertNode (RBTREE *Tree, RBNODE *Node)
 
INTSTATUS RbLookupNode (RBTREE *Tree, RBNODE *NodeToSearch, RBNODE **NodeFound)
 
INTSTATUS RbLookupNodeCustomCompare (RBTREE *Tree, PFUNC_RbTreeNodeCustomCompare CompareFunc, void *Key, RBNODE **NodeFound)
 
void RbDeleteNode (RBTREE *Tree, RBNODE *Node)
 
INTSTATUS RbWalkInorderTree (RBTREE *Tree, PFUNC_RbTreeWalkCallback Callback, void *WalkContext)
 

Macro Definition Documentation

◆ RBTREE_MAXIMUM_LEVEL

#define RBTREE_MAXIMUM_LEVEL   40

Definition at line 16 of file rbtree.h.

Referenced by RbUninit(), and RbWalkInorderTree().

Typedef Documentation

◆ FUNC_RbTreeNodeCompare

typedef int FUNC_RbTreeNodeCompare(RBNODE *Left, RBNODE *Right)

Definition at line 59 of file rbtree.h.

◆ FUNC_RbTreeNodeCustomCompare

typedef int FUNC_RbTreeNodeCustomCompare(RBNODE *Node, void *Key)

Definition at line 70 of file rbtree.h.

◆ FUNC_RbTreeNodeFree

typedef void FUNC_RbTreeNodeFree(RBNODE *Node)

Definition at line 47 of file rbtree.h.

◆ FUNC_RbTreeWalkCallback

typedef BOOLEAN FUNC_RbTreeWalkCallback(RBNODE *Node, void *WalkContext)

Definition at line 78 of file rbtree.h.

◆ PBTREE

typedef struct _RBTREE * PBTREE

◆ PFUNC_RbTreeNodeCompare

Definition at line 60 of file rbtree.h.

◆ PFUNC_RbTreeNodeCustomCompare

◆ PFUNC_RbTreeNodeFree

Definition at line 48 of file rbtree.h.

◆ PFUNC_RbTreeWalkCallback

Definition at line 79 of file rbtree.h.

◆ PRBNODE

typedef struct _RBNODE * PRBNODE

◆ RBNODE

typedef struct _RBNODE RBNODE

◆ RbNodeColor

typedef enum _RbNodeColor RbNodeColor

◆ RBTREE

typedef struct _RBTREE RBTREE

Enumeration Type Documentation

◆ _RbNodeColor

Enumerator
ncBlack 
ncRed 

Definition at line 21 of file rbtree.h.

Function Documentation

◆ RbDeleteNode()

void RbDeleteNode ( RBTREE Tree,
RBNODE Node 
)

◆ RbInit()

INTSTATUS RbInit ( RBTREE Tree,
PFUNC_RbTreeNodeFree  NodeFree,
PFUNC_RbTreeNodeCompare  NodeCompare 
)

◆ RbInsertNode()

INTSTATUS RbInsertNode ( RBTREE Tree,
RBNODE Node 
)

◆ RbLookupNode()

◆ RbLookupNodeCustomCompare()

INTSTATUS RbLookupNodeCustomCompare ( RBTREE Tree,
PFUNC_RbTreeNodeCustomCompare  CompareFunc,
void *  Key,
RBNODE **  NodeFound 
)

Definition at line 552 of file rbtree.c.

Referenced by IntWinUmModCacheExportFind(), IntWinVadFindByBase(), and IntWinVadFindByVa().

◆ RbPreinit()

void RbPreinit ( RBTREE Tree)

◆ RbUninit()

◆ RbWalkInorderTree()

INTSTATUS RbWalkInorderTree ( RBTREE Tree,
PFUNC_RbTreeWalkCallback  Callback,
void *  WalkContext 
)