diff options
author | Tomas Kukosa <tomas.kukosa@siemens.com> | 2008-08-13 15:19:08 +0000 |
---|---|---|
committer | Tomas Kukosa <tomas.kukosa@siemens.com> | 2008-08-13 15:19:08 +0000 |
commit | 39515048dccd8b71c0985b329abf0816a1254b19 (patch) | |
tree | a0013267a2ef7657f8a10853c94a8dadfaa0be63 /epan/dissectors/packet-xml.h | |
parent | a904b55928355a177c35483209d9337975617b88 (diff) |
supply dissected XML structure to caller dissector
svn path=/trunk/; revision=26005
Diffstat (limited to 'epan/dissectors/packet-xml.h')
-rw-r--r-- | epan/dissectors/packet-xml.h | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/epan/dissectors/packet-xml.h b/epan/dissectors/packet-xml.h new file mode 100644 index 0000000000..30e4c7dfa1 --- /dev/null +++ b/epan/dissectors/packet-xml.h @@ -0,0 +1,77 @@ +/* packet-xml.h + * wireshark's xml dissector . + * + * $Id$ + * + * Wireshark - Network traffic analyzer + * By Gerald Combs <gerald@wireshark.org> + * Copyright 1998 Gerald Combs + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ +#ifndef __PACKET_XML_H__ +#define __PACKET_XML_H__ + +typedef struct _xml_ns_t { + /* the name of this namespace */ + gchar* name; + + /* its fully qualified name */ + gchar* fqn; + + /* the contents of the whole element from <> to </> */ + int hf_tag; + + /* chunks of cdata from <> to </> excluding sub tags */ + int hf_cdata; + + /* the subtree for its sub items */ + gint ett; + + GHashTable* attributes; + /* key: the attribute name + value: hf_id of what's between quotes */ + + /* the namespace's namespaces */ + GHashTable* elements; + /* key: the element name + value: the child namespace */ + + GPtrArray* element_names; + /* imported directly from the parser and used while building the namespace */ + +} xml_ns_t; + +#define XML_FRAME_ROOT 0 +#define XML_FRAME_TAG 1 +#define XML_FRAME_XMPLI 2 +#define XML_FRAME_DTD_DOCTYPE 3 + +typedef struct _xml_frame_t { + int type; + struct _xml_frame_t* parent; + struct _xml_frame_t* firts_child; + struct _xml_frame_t* last_child; + struct _xml_frame_t* prev_sibling; + struct _xml_frame_t* next_sibling; + const gchar *name; + proto_tree* tree; + proto_item* item; + proto_item* last_item; + xml_ns_t* ns; + int start_offset; +} xml_frame_t; + +#endif /* __PACKET_XML_H__ */ |