1
/**************************************************************************
3
* Copyright 2009 VMware, Inc.
6
* Permission is hereby granted, free of charge, to any person obtaining a
7
* copy of this software and associated documentation files (the
8
* "Software"), to deal in the Software without restriction, including
9
* without limitation the rights to use, copy, modify, merge, publish,
10
* distribute, sub license, and/or sell copies of the Software, and to
11
* permit persons to whom the Software is furnished to do so, subject to
12
* the following conditions:
14
* The above copyright notice and this permission notice (including the
15
* next paragraph) shall be included in all copies or substantial portions
18
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
19
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
21
* IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR
22
* ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26
**************************************************************************/
30
* SDK/DDK compatability.
32
* Different headers/defines on different Windows SDKs / DDKs, so define
33
* all used status here to keep the code portable.
35
* @author <jfonseca@vmware.com>
38
#ifndef VMW_WDDM_COMPAT_H_
39
#define VMW_WDDM_COMPAT_H_
58
#define __inout_opt /**/
62
#define __ecount(x) /**/
66
#define __in_ecount(x) /**/
69
#ifndef __deref_ecount
70
#define __deref_ecount(x) /**/
74
#define __in_bcount(x) /**/
78
#define __out_bcount(x) /**/
81
#ifndef __out_ecount_opt
82
#define __out_ecount_opt(x) /**/
86
#define __deref_out /**/
90
#define __in_range(x,y) /**/
93
#ifndef __field_bcount
94
#define __field_bcount(x) /**/
98
#define __out_bcount(x) /**/
101
#ifndef __out_bcount_full_opt
102
#define __out_bcount_full_opt(x) /**/
105
#ifndef __out_ecount_part_z_opt
106
#define __out_ecount_part_z_opt(x, y) /**/
109
#ifndef __out_ecount_part_opt
110
#define __out_ecount_part_opt(x, y) /**/
113
#ifndef __field_ecount
114
#define __field_ecount(x) /**/
117
#ifndef __field_ecount_full
118
#define __field_ecount_full(x) /**/
121
#ifndef __checkReturn
122
#define __checkReturn /**/
125
#ifndef __drv_requiresIRQL
126
#define __drv_requiresIRQL(x) /**/
129
#ifndef __drv_minIRQL
130
#define __drv_minIRQL(x) /**/
133
#ifndef __drv_maxIRQL
134
#define __drv_maxIRQL(x) /**/
138
#define __inline static __inline__
142
#define EXTERN_C /**/
146
typedef unsigned char UINT8;
151
#define NTSTATUS LONG
154
typedef LARGE_INTEGER PHYSICAL_ADDRESS;
157
#define NT_SUCCESS(_status) ((_status) >= 0)
160
#ifndef STATUS_SUCCESS
161
#define STATUS_SUCCESS ((NTSTATUS)0x00000000L)
164
#ifndef STATUS_UNSUCCESSFUL
165
#define STATUS_UNSUCCESSFUL ((NTSTATUS)0xC0000001L)
168
#ifndef STATUS_INVALID_PARAMETER
169
#define STATUS_INVALID_PARAMETER ((NTSTATUS)0xC000000DL)
172
#ifndef STATUS_NO_MEMORY
173
#define STATUS_NO_MEMORY ((NTSTATUS)0xC0000017L)
176
#ifndef STATUS_ILLEGAL_INSTRUCTION
177
#define STATUS_ILLEGAL_INSTRUCTION ((NTSTATUS)0xC000001DL)
180
#ifndef STATUS_BUFFER_TOO_SMALL
181
#define STATUS_BUFFER_TOO_SMALL ((NTSTATUS)0xC0000023L)
184
#ifndef STATUS_PRIVILEGED_INSTRUCTION
185
#define STATUS_PRIVILEGED_INSTRUCTION ((NTSTATUS)0xC0000096L)
188
#ifndef STATUS_NOT_SUPPORTED
189
#define STATUS_NOT_SUPPORTED ((NTSTATUS)0xC00000BBL)
192
#ifndef STATUS_DEVICE_REMOVED
193
#define STATUS_DEVICE_REMOVED ((NTSTATUS)0xC00002B6L)
196
#ifndef STATUS_INVALID_USER_BUFFER
197
#define STATUS_INVALID_USER_BUFFER ((NTSTATUS)0xC00000E8L)
200
#ifndef STATUS_GRAPHICS_NOT_EXCLUSIVE_MODE_OWNER
201
#define STATUS_GRAPHICS_NOT_EXCLUSIVE_MODE_OWNER ((NTSTATUS)0xC01E0000L)
204
#ifndef STATUS_NO_VIDEO_MEMORY
205
#define STATUS_NO_VIDEO_MEMORY ((NTSTATUS)0xC01E0100L)
208
#ifndef STATUS_GRAPHICS_ALLOCATION_BUSY
209
#define STATUS_GRAPHICS_ALLOCATION_BUSY ((NTSTATUS)0xC01E0102L)
212
#ifndef STATUS_GRAPHICS_TOO_MANY_REFERENCES
213
#define STATUS_GRAPHICS_TOO_MANY_REFERENCES ((NTSTATUS)0xC01E0103L)
216
#ifndef STATUS_GRAPHICS_ALLOCATION_INVALID
217
#define STATUS_GRAPHICS_ALLOCATION_INVALID ((NTSTATUS)0xC01E0106L)
220
#ifndef STATUS_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION
221
#define STATUS_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION ((NTSTATUS)0xC01E0109L)
224
#ifndef STATUS_GRAPHICS_CANT_RENDER_LOCKED_ALLOCATION
225
#define STATUS_GRAPHICS_CANT_RENDER_LOCKED_ALLOCATION ((NTSTATUS)0xC01E0111L)
228
#ifndef STATUS_GRAPHICS_GPU_EXCEPTION_ON_DEVICE
229
#define STATUS_GRAPHICS_GPU_EXCEPTION_ON_DEVICE ((NTSTATUS)0xC01E0200L)
232
#ifndef STATUS_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET
233
#define STATUS_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET ((NTSTATUS)0xC01E0333L)
236
#endif /* VMW_WDDM_COMPAT_H_ */