Compile fix if HAVE_OSS is not defined.
[wine/multimedia.git] / include / wtypes.h
blobc7428e15121bfb4fee316771191822c25b74c306
1 /*
2 * Defines the basic types used by COM interfaces.
3 */
5 #ifndef __WINE_WTYPES_H
6 #define __WINE_WTYPES_H
8 #include "basetsd.h"
9 #include "guiddef.h"
10 #include "rpc.h"
11 #include "rpcndr.h"
13 typedef WORD CLIPFORMAT, *LPCLIPFORMAT;
15 /* FIXME: does not belong here */
16 typedef CHAR OLECHAR16;
17 typedef LPSTR LPOLESTR16;
18 typedef LPCSTR LPCOLESTR16;
19 typedef OLECHAR16 *BSTR16;
20 typedef BSTR16 *LPBSTR16;
21 #define OLESTR16(x) x
23 typedef WCHAR OLECHAR;
24 typedef LPWSTR LPOLESTR;
25 typedef LPCWSTR LPCOLESTR;
26 typedef OLECHAR *BSTR;
27 typedef BSTR *LPBSTR;
28 #ifndef __WINE__
29 #define OLESTR(str) WINE_UNICODE_TEXT(str)
30 #endif
32 #ifndef _DWORDLONG_
33 #define _DWORDLONG_
34 typedef __uint64 DWORDLONG, *PDWORDLONG;
35 #endif
37 #ifndef _ULONGLONG_
38 #define _ULONGLONG_
39 typedef __int64 LONGLONG, *PLONGLONG;
40 typedef __uint64 ULONGLONG, *PULONGLONG;
41 #endif
43 typedef enum tagDVASPECT
45 DVASPECT_CONTENT = 1,
46 DVASPECT_THUMBNAIL = 2,
47 DVASPECT_ICON = 4,
48 DVASPECT_DOCPRINT = 8
49 } DVASPECT;
51 typedef enum tagSTGC
53 STGC_DEFAULT = 0,
54 STGC_OVERWRITE = 1,
55 STGC_ONLYIFCURRENT = 2,
56 STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4,
57 STGC_CONSOLIDATE = 8
58 } STGC;
60 typedef enum tagSTGMOVE
62 STGMOVE_MOVE = 0,
63 STGMOVE_COPY = 1,
64 STGMOVE_SHALLOWCOPY = 2
65 } STGMOVE;
68 typedef struct _COAUTHIDENTITY
70 USHORT* User;
71 ULONG UserLength;
72 USHORT* Domain;
73 ULONG DomainLength;
74 USHORT* Password;
75 ULONG PasswordLength;
76 ULONG Flags;
77 } COAUTHIDENTITY;
79 typedef struct _COAUTHINFO
81 DWORD dwAuthnSvc;
82 DWORD dwAuthzSvc;
83 LPWSTR pwszServerPrincName;
84 DWORD dwAuthnLevel;
85 DWORD dwImpersonationLevel;
86 COAUTHIDENTITY* pAuthIdentityData;
87 DWORD dwCapabilities;
88 } COAUTHINFO;
90 typedef struct _COSERVERINFO
92 DWORD dwReserved1;
93 LPWSTR pwszName;
94 COAUTHINFO* pAuthInfo;
95 DWORD dwReserved2;
96 } COSERVERINFO;
98 typedef enum tagCLSCTX
100 CLSCTX_INPROC_SERVER = 0x1,
101 CLSCTX_INPROC_HANDLER = 0x2,
102 CLSCTX_LOCAL_SERVER = 0x4,
103 CLSCTX_INPROC_SERVER16 = 0x8,
104 CLSCTX_REMOTE_SERVER = 0x10,
105 CLSCTX_INPROC_HANDLER16 = 0x20,
106 CLSCTX_INPROC_SERVERX86 = 0x40,
107 CLSCTX_INPROC_HANDLERX86 = 0x80,
108 CLSCTX_ESERVER_HANDLER = 0x100
109 } CLSCTX;
111 #define CLSCTX_INPROC (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER)
112 #define CLSCTX_ALL (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)
113 #define CLSCTX_SERVER (CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)
115 typedef enum tagMSHLFLAGS
117 MSHLFLAGS_NORMAL = 0,
118 MSHLFLAGS_TABLESTRONG = 1,
119 MSHLFLAGS_TABLEWEAK = 2,
120 MSHLFLAGS_NOPING = 4
121 } MSHLFLAGS;
123 typedef enum tagMSHCTX
125 MSHCTX_LOCAL = 0,
126 MSHCTX_NOSHAREDMEM = 1,
127 MSHCTX_DIFFERENTMACHINE = 2,
128 MSHCTX_INPROC = 3
129 } MSHCTX;
131 typedef unsigned short VARTYPE;
133 typedef ULONG PROPID;
135 #ifndef _tagBLOB_DEFINED
136 #define _tagBLOB_DEFINED
137 #define _BLOB_DEFINED
138 #define _LPBLOB_DEFINED
139 typedef struct tagBLOB
141 ULONG cbSize;
142 BYTE *pBlobData;
143 } BLOB, *LPBLOB;
144 #endif
146 #ifndef _tagCY_DEFINED
147 #define _tagCY_DEFINED
149 typedef union tagCY {
150 struct {
151 #ifdef BIG_ENDIAN
152 LONG Hi;
153 LONG Lo;
154 #else /* defined(BIG_ENDIAN) */
155 ULONG Lo;
156 LONG Hi;
157 #endif /* defined(BIG_ENDIAN) */
158 } DUMMYSTRUCTNAME;
159 LONGLONG int64;
160 } CY;
162 #endif /* _tagCY_DEFINED */
165 * 0 == FALSE and -1 == TRUE
167 #define VARIANT_TRUE ((VARIANT_BOOL)0xFFFF)
168 #define VARIANT_FALSE ((VARIANT_BOOL)0x0000)
169 typedef short VARIANT_BOOL,_VARIANT_BOOL;
171 typedef struct tagCLIPDATA
173 ULONG cbSize;
174 long ulClipFmt;
175 BYTE *pClipData;
176 } CLIPDATA;
178 /* Macro to calculate the size of the above pClipData */
179 #define CBPCLIPDATA(clipdata) ( (clipdata).cbSize - sizeof((clipdata).ulClipFmt) )
181 typedef LONG SCODE;
183 #ifndef _FILETIME_
184 #define _FILETIME_
185 /* 64 bit number of 100 nanoseconds intervals since January 1, 1601 */
186 typedef struct
188 DWORD dwLowDateTime;
189 DWORD dwHighDateTime;
190 } FILETIME, *LPFILETIME;
191 #endif /* _FILETIME_ */
193 #ifndef _SECURITY_DEFINED
194 #define _SECURITY_DEFINED
196 typedef struct {
197 BYTE Value[6];
198 } SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY;
200 typedef struct _SID {
201 BYTE Revision;
202 BYTE SubAuthorityCount;
203 SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
204 DWORD SubAuthority[1];
205 } SID,*PSID;
208 * ACL
211 typedef struct _ACL {
212 BYTE AclRevision;
213 BYTE Sbz1;
214 WORD AclSize;
215 WORD AceCount;
216 WORD Sbz2;
217 } ACL, *PACL;
219 typedef USHORT SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;
221 /* The security descriptor structure */
222 typedef struct {
223 BYTE Revision;
224 BYTE Sbz1;
225 SECURITY_DESCRIPTOR_CONTROL Control;
226 PSID Owner;
227 PSID Group;
228 PACL Sacl;
229 PACL Dacl;
230 } SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR;
232 #endif /* _SECURITY_DEFINED */
234 #ifndef _ROTFLAGS_DEFINED
235 #define _ROTFLAGS_DEFINED
236 #define ROTFLAGS_REGISTRATIONKEEPSALIVE 0x1
237 #define ROTFLAGS_ALLOWANYCLIENT 0x2
238 #endif /* !defined(_ROTFLAGS_DEFINED) */
240 #endif /* __WINE_WTYPES_H */