# XML Node Path
[XML Tree]

## Typedefs

typedef GWEN_XMLNODE_PATH | GWEN_XMLNODE_PATH

## Functions

GWENHYWFAR_API int | GWEN_XMLNode_Path_Dive (GWEN_XMLNODE_PATH *np, GWEN_XMLNODE *n)
GWENHYWFAR_API void | GWEN_XMLNode_Path_Dump (GWEN_XMLNODE_PATH *np)
GWENHYWFAR_API GWEN_XMLNODE_PATH * | GWEN_XMLNode_Path_dup (const GWEN_XMLNODE_PATH *np)
GWENHYWFAR_API void | GWEN_XMLNode_Path_free (GWEN_XMLNODE_PATH *np)
GWENHYWFAR_API GWEN_XMLNODE_PATH * | GWEN_XMLNode_Path_new ()
GWENHYWFAR_API GWEN_XMLNODE * | GWEN_XMLNode_Path_Surface (GWEN_XMLNODE_PATH *np)

## Detailed Description

This is used by the message engine module (Message Engine). A path consists of a list of nodes which are used while decoding/encoding a message. A GWEN_XMLNODE_PATH serves as a LIFO stack (last-in-first-out).

## Typedef Documentation

typedef struct GWEN_XMLNODE_PATH GWEN_XMLNODE_PATH

## Function Documentation

GWENHYWFAR_API int GWEN_XMLNode_Path_Dive | ( | GWEN_XMLNODE_PATH * | np,
|  | GWEN_XMLNODE * | n
| ) |

| Adds a node to the path.

GWENHYWFAR_API void GWEN_XMLNode_Path_Dump | ( | GWEN_XMLNODE_PATH * | np | ) |

| Dumps the contents of all XML nodes in the path.

GWENHYWFAR_API GWEN_XMLNODE_PATH* GWEN_XMLNode_Path_dup | ( | const GWEN_XMLNODE_PATH * | np | ) |

GWENHYWFAR_API void GWEN_XMLNode_Path_free | ( | GWEN_XMLNODE_PATH * | np | ) |

GWENHYWFAR_API GWEN_XMLNODE_PATH* GWEN_XMLNode_Path_new | ( |  | ) |

GWENHYWFAR_API GWEN_XMLNODE* GWEN_XMLNode_Path_Surface | ( | GWEN_XMLNODE_PATH * | np | ) |

| Removes and returns the last added node (or 0 if that would bring us beyond the root).