Fix getauxval error at qemu
[platform/upstream/glib.git] / gio / gwin32api-iterator.h
1 /*
2  * SPDX-FileCopyrightText: This file has no copyright assigned and is placed in the Public Domain.
3  * SPDX-License-Identifier: CC0-1.0
4  *
5  * This file is part of the w64 mingw-runtime package.
6  * No warranty is given; refer to https://github.com/kinke/mingw-w64-crt/blob/master/DISCLAIMER.PD.
7  */
8
9 typedef interface IIterator IIterator;
10 typedef interface IIterable IIterable;
11
12 /* IIterator */
13 typedef struct IIteratorVtbl {
14   BEGIN_INTERFACE
15
16   /*** IUnknown methods ***/
17   HRESULT (STDMETHODCALLTYPE *QueryInterface)(
18     IIterator *This,
19     REFIID riid,
20     void **ppvObject);
21
22   ULONG (STDMETHODCALLTYPE *AddRef)(
23     IIterator *This);
24
25   ULONG (STDMETHODCALLTYPE *Release)(
26     IIterator *This);
27
28   /*** IInspectable methods ***/
29   HRESULT (STDMETHODCALLTYPE *GetIids)(
30     IIterator *This,
31     UINT32 *count,
32     IID **ids);
33
34   HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
35     IIterator *This,
36     HSTRING *className);
37
38   HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
39     IIterator *This,
40     TrustLevel *trustLevel);
41
42   /*** IIterator methods ***/
43   HRESULT (STDMETHODCALLTYPE *get_Current)(
44     IIterator *This,
45     IUnknown **current);
46
47   HRESULT (STDMETHODCALLTYPE *get_HasCurrent)(
48     IIterator *This,
49     CHAR *hasCurrent);
50
51   HRESULT (STDMETHODCALLTYPE *MoveNext)(
52     IIterator *This,
53     CHAR *hasCurrent);
54
55   HRESULT (STDMETHODCALLTYPE *GetMany)(
56     IIterator *This,
57     UINT capacity,
58     void *value,
59     UINT *actual);
60
61   END_INTERFACE
62 } IIteratorVtbl;
63
64 interface IIterator {
65   CONST_VTBL IIteratorVtbl* lpVtbl;
66 };
67
68 /*** IUnknown methods ***/
69 #define IIterator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
70 #define IIterator_AddRef(This) (This)->lpVtbl->AddRef(This)
71 #define IIterator_Release(This) (This)->lpVtbl->Release(This)
72 /*** IInspectable methods ***/
73 #define IIterator_GetIids(This,count,ids) (This)->lpVtbl->GetIids(This,count,ids)
74 #define IIterator_GetRuntimeClassName(This,name) (This)->lpVtbl->GetRuntimeClassName(This,name)
75 #define IIterator_GetTrustLevel(This,level) (This)->lpVtbl->GetTrustLevel(This,level)
76 /*** IIterator methods ***/
77 #define IIterator_get_Current(This,current) (This)->lpVtbl->get_Current(This,current)
78 #define IIterator_get_HasCurrent(This,hasCurrent) (This)->lpVtbl->get_HasCurrent(This,hasCurrent)
79 #define IIterator_MoveNext(This,hasCurrent) (This)->lpVtbl->MoveNext(This,hasCurrent)
80 #define IIterator_GetMany(This,capacity,value,actual) (This)->lpVtbl->GetMany(This,capacity,value,actual)
81
82 /* IIterable */
83 typedef struct IIterableVtbl {
84   BEGIN_INTERFACE
85
86   /*** IUnknown methods ***/
87   HRESULT (STDMETHODCALLTYPE *QueryInterface)(
88     IIterable *This,
89     REFIID riid,
90     void **ppvObject);
91
92   ULONG (STDMETHODCALLTYPE *AddRef)(
93     IIterable *This);
94
95   ULONG (STDMETHODCALLTYPE *Release)(
96     IIterable *This);
97
98   /*** IInspectable methods ***/
99   HRESULT (STDMETHODCALLTYPE *GetIids)(
100     IIterable *This,
101     UINT32 *count,
102     IID **ids);
103
104   HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
105     IIterable *This,
106     HSTRING *className);
107
108   HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
109     IIterable *This,
110     TrustLevel *trustLevel);
111
112   /*** IIterable methods ***/
113   HRESULT (STDMETHODCALLTYPE *First)(
114     IIterable *This,
115     IIterator **first);
116
117   END_INTERFACE
118 } IIterableVtbl;
119
120 interface IIterable {
121   CONST_VTBL IIterableVtbl* lpVtbl;
122 };
123
124 /*** IUnknown methods ***/
125 #define IIterable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
126 #define IIterable_AddRef(This) (This)->lpVtbl->AddRef(This)
127 #define IIterable_Release(This) (This)->lpVtbl->Release(This)
128 /*** IInspectable methods ***/
129 #define IIterable_GetIids(This,count,ids) (This)->lpVtbl->GetIids(This,count,ids)
130 #define IIterable_GetRuntimeClassName(This,name) (This)->lpVtbl->GetRuntimeClassName(This,name)
131 #define IIterable_GetTrustLevel(This,level) (This)->lpVtbl->GetTrustLevel(This,level)
132 /*** IIterable methods ***/
133 #define IIterable_First(This,retval) (This)->lpVtbl->First(This,retval)