Make GetCursorPos call XQueryPointer.
[wine] / include / urlmon.h
1 /*
2  * urlmon.h
3  */
4
5 #ifndef __WINE_URLMON_H
6 #define __WINE_URLMON_H
7
8 #include "winbase.h"
9 #include "wine/obj_base.h"
10
11 #ifdef __cplusplus
12 extern "C" {
13 #endif /* defined(__cplusplus) */
14
15 DEFINE_GUID(IID_IBinding, 0x79EAC9C0, 0xBAF9, 0x11CE,
16         0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B);
17 typedef struct IBinding IBinding,*LPBINDING;
18
19 DEFINE_GUID(IID_IBindStatusCallback, 0x79EAC9C1, 0xBAF9, 0x11CE,
20         0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B);
21
22 typedef struct IBindStatusCallback IBindStatusCallback,*LPBINDSTATUSCALLBACK;
23
24 typedef struct _tagBINDINFO {
25     ULONG cbSize;
26     LPWSTR szExtraInfo;
27     STGMEDIUM stgmedData;
28     DWORD dwBindVerb;
29     LPWSTR szCustomVerb;
30     DWORD cbStgmedData;
31     DWORD dwOptions;
32     DWORD dwOptionsFlags;
33     DWORD dwCodePage;
34     SECURITY_ATTRIBUTES securityAttributes;
35     IID iid;
36     IUnknown *pUnk;
37     DWORD dwReserved;
38 } BINDINFO;
39
40 typedef enum {
41     BSCF_FIRSTDATANOTIFICATION = 0x01,
42     BSCF_INTERMEDIATEDATANOTIFICATION = 0x02,
43     BSCF_LASTDATANOTIFICATION = 0x04,
44     BSCF_DATAFULLYAVAILABLE = 0x08,
45     BSCF_AVAILABLEDATASIZEUNKNOWN = 0x10
46 } BSCF;
47
48 #define MK_S_ASYNCHRONOUS 0x000401E8
49 #define S_ASYNCHRONOUS    MK_S_ASYNCHRONOUS
50
51 /*****************************************************************************
52  * IBinding interface
53  */
54 #define ICOM_INTERFACE IBinding
55 #define IBinding_METHODS \
56     ICOM_METHOD  (HRESULT,Abort) \
57     ICOM_METHOD  (HRESULT,Suspend) \
58     ICOM_METHOD  (HRESULT,Resume) \
59     ICOM_METHOD1 (HRESULT,SetPriority,       LONG,nPriority) \
60     ICOM_METHOD1 (HRESULT,GetPriority,       LONG*,pnPriority) \
61     ICOM_METHOD4 (HRESULT,GetBindResult,     CLSID*,pclsidProtocol, DWORD*,pdwResult, LPOLESTR*,pszResult, DWORD*,pdwReserved)
62 #define IBinding_IMETHODS \
63     IUnknown_IMETHODS \
64     IBinding_METHODS
65 ICOM_DEFINE(IBinding,IUnknown)
66 #undef ICOM_INTERFACE
67
68 /*** IUnknown methods ***/
69 #define IBinding_QueryInterface(p,a,b)      ICOM_CALL2(QueryInterface,p,a,b)
70 #define IBinding_AddRef(p)                  ICOM_CALL (AddRef,p)
71 #define IBinding_Release(p)                 ICOM_CALL (Release,p)
72 /*** IBinding methods ***/
73 #define IBinding_Abort(p)                   ICOM_CALL (Abort,p)
74 #define IBinding_Suspend(p)                 ICOM_CALL (Suspend,p)
75 #define IBinding_Resume(p)                  ICOM_CALL (Resume,p)
76 #define IBinding_SetPriority(p,a)           ICOM_CALL2(SetPriority,p,a)
77 #define IBinding_GetPriority(p,a)           ICOM_CALL2(GetPriority,p,a)
78 #define IBinding_GetBindResult(p,a,b,c,d)   ICOM_CALL4(GetBindResult,p,a,b,c,d)
79
80 /*****************************************************************************
81  * IBindStatusCallback interface
82  */
83 #define ICOM_INTERFACE IBindStatusCallback
84 #define IBindStatusCallback_METHODS \
85     ICOM_METHOD2 (HRESULT,OnStartBinding,    DWORD,dwReserved, IBinding*,pib) \
86     ICOM_METHOD1 (HRESULT,GetPriority,       LONG*,pnPriority) \
87     ICOM_METHOD  (HRESULT,OnLowResource) \
88     ICOM_METHOD4 (HRESULT,OnProgress,        ULONG,ulProgress, ULONG,ulProgressMax, ULONG,ulStatusCode, LPCWSTR,szStatusText) \
89     ICOM_METHOD2 (HRESULT,OnStopBinding,     HRESULT,hresult, LPCWSTR,szError) \
90     ICOM_METHOD2 (HRESULT,GetBindInfo,       DWORD*,grfBINDF, BINDINFO*,pbindinfo) \
91     ICOM_METHOD4 (HRESULT,OnDataAvailable,   DWORD,grfBSCF, DWORD,dwSize, FORMATETC*,pformatetc, STGMEDIUM*,pstgmed) \
92     ICOM_METHOD2 (HRESULT,OnObjectAvailable, REFIID,iid, IUnknown*,punk)
93 #define IBindStatusCallback_IMETHODS \
94     IUnknown_IMETHODS \
95     IBindStatusCallback_METHODS
96 ICOM_DEFINE(IBindStatusCallback,IUnknown)
97 #undef ICOM_INTERFACE
98
99 /*** IUnknown methods ***/
100 #define IBindStatusCallback_QueryInterface(p,a,b)      ICOM_CALL2(QueryInterface,p,a,b)
101 #define IBindStatusCallback_AddRef(p)                  ICOM_CALL (AddRef,p)
102 #define IBindStatusCallback_Release(p)                 ICOM_CALL (Release,p)
103 /*** IBindStatusCallback methods ***/
104 #define IBindStatusCallback_OnStartBinding(p,a,b)      ICOM_CALL2(OnStartBinding,p,a,b)
105 #define IBindStatusCallback_GetPriority(p,a)           ICOM_CALL1(GetPriority,p,a)
106 #define IBindStatusCallback_OnLowResource(p)           ICOM_CALL (OnLowResource,p)
107 #define IBindStatusCallback_OnProgress(p,a,b,c,d)      ICOM_CALL4(OnProgress,p,a,b,c,d)
108 #define IBindStatusCallback_OnStopBinding(p,a,b)       ICOM_CALL2(OnStopBinding,p,a,b)
109 #define IBindStatusCallback_GetBindInfo(p,a,b)         ICOM_CALL2(GetBindInfo,p,a,b)
110 #define IBindStatusCallback_OnDataAvailable(p,a,b,c,d) ICOM_CALL4(OnDataAvailable,p,a,b,c,d)
111 #define IBindStatusCallback_OnObjectAvailable(p,a,b)   ICOM_CALL2(OnObjectAvailable,p,a,b)
112
113 HRESULT WINAPI CreateURLMoniker(IMoniker *pmkContext, LPWSTR szURL, IMoniker **ppmk);
114 HRESULT WINAPI RegisterBindStatusCallback(IBindCtx *pbc, IBindStatusCallback *pbsc, IBindStatusCallback **ppbsc, DWORD dwReserved);
115
116 #ifdef __cplusplus
117 }      /* extern "C" */
118 #endif /* defined(__cplusplus) */
119
120 #endif /* __WINE_URLMON_H */
121