master
 1/**
 2 * This file is part of the mingw-w64 runtime package.
 3 * No warranty is given; refer to the file DISCLAIMER within this package.
 4 */
 5
 6#include <winapifamily.h>
 7
 8#ifndef __WSDXMLDOM_H__
 9#define __WSDXMLDOM_H__
10
11#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
12
13typedef struct _WSDXML_TYPE {
14  const WCHAR *Uri;
15  const BYTE *Table;
16} WSDXML_TYPE;
17
18typedef struct _WSDXML_NAMESPACE {
19  const WCHAR *Uri;
20  const WCHAR *PreferredPrefix;
21  struct _WSDXML_NAME *Names;
22  WORD NamesCount;
23  WORD Encoding;
24} WSDXML_NAMESPACE;
25
26typedef struct _WSDXML_NAME {
27  WSDXML_NAMESPACE *Space;
28  WCHAR *LocalName;
29} WSDXML_NAME;
30
31typedef struct _WSDXML_PREFIX_MAPPING {
32  DWORD Refs;
33  struct _WSDXML_PREFIX_MAPPING *Next;
34  WSDXML_NAMESPACE *Space;
35  WCHAR *Prefix;
36} WSDXML_PREFIX_MAPPING;
37
38typedef struct _WSDXML_ATTRIBUTE {
39  struct _WSDXML_ELEMENT *Element;
40  struct _WSDXML_ATTRIBUTE *Next;
41  WSDXML_NAME *Name;
42  WCHAR *Value;
43} WSDXML_ATTRIBUTE;
44
45typedef struct _WSDXML_NODE {
46  enum {
47    ElementType,
48    TextType
49  } Type;
50  struct _WSDXML_ELEMENT *Parent;
51  struct _WSDXML_NODE *Next;
52} WSDXML_NODE;
53
54typedef struct _WSDXML_ELEMENT {
55  WSDXML_NODE Node;
56  WSDXML_NAME *Name;
57  WSDXML_ATTRIBUTE *FirstAttribute;
58  WSDXML_NODE *FirstChild;
59  WSDXML_PREFIX_MAPPING *PrefixMappings;
60} WSDXML_ELEMENT;
61
62typedef struct _WSDXML_TEXT {
63  WSDXML_NODE Node;
64  WCHAR *Text;
65} WSDXML_TEXT;
66
67typedef struct _WSDXML_ELEMENT_LIST {
68  struct _WSDXML_ELEMENT_LIST *Next;
69  WSDXML_ELEMENT *Element;
70} WSDXML_ELEMENT_LIST;
71
72#endif
73#endif