1/************************************************************************** 2 * 3 * Copyright 2009 VMware, Inc. 4 * All Rights Reserved. 5 * 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: 13 * 14 * The above copyright notice and this permission notice (including the 15 * next paragraph) shall be included in all copies or substantial portions 16 * of the Software. 17 * 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. 25 * 26 **************************************************************************/ 27 28/** 29 * @file 30 * SDK/DDK compatability. 31 * 32 * Different headers/defines on different Windows SDKs / DDKs, so define 33 * all used status here to keep the code portable. 34 * 35 * @author <jfonseca@vmware.com> 36 */ 37 38#ifndef VMW_WDDM_COMPAT_H_ 39#define VMW_WDDM_COMPAT_H_ 40 41#ifndef __in 42#define __in /**/ 43#endif 44 45#ifndef __out 46#define __out /**/ 47#endif 48 49#ifndef __inout 50#define __inout /**/ 51#endif 52 53#ifndef __in_opt 54#define __in_opt /**/ 55#endif 56 57#ifndef __inout_opt 58#define __inout_opt /**/ 59#endif 60 61#ifndef __ecount 62#define __ecount(x) /**/ 63#endif 64 65#ifndef __in_ecount 66#define __in_ecount(x) /**/ 67#endif 68 69#ifndef __deref_ecount 70#define __deref_ecount(x) /**/ 71#endif 72 73#ifndef __in_bcount 74#define __in_bcount(x) /**/ 75#endif 76 77#ifndef __out_bcount 78#define __out_bcount(x) /**/ 79#endif 80 81#ifndef __out_ecount_opt 82#define __out_ecount_opt(x) /**/ 83#endif 84 85#ifndef __deref_out 86#define __deref_out /**/ 87#endif 88 89#ifndef __in_range 90#define __in_range(x,y) /**/ 91#endif 92 93#ifndef __field_bcount 94#define __field_bcount(x) /**/ 95#endif 96 97#ifndef __out_bcount 98#define __out_bcount(x) /**/ 99#endif 100 101#ifndef __out_bcount_full_opt 102#define __out_bcount_full_opt(x) /**/ 103#endif 104 105#ifndef __out_ecount_part_z_opt 106#define __out_ecount_part_z_opt(x, y) /**/ 107#endif 108 109#ifndef __out_ecount_part_opt 110#define __out_ecount_part_opt(x, y) /**/ 111#endif 112 113#ifndef __field_ecount 114#define __field_ecount(x) /**/ 115#endif 116 117#ifndef __field_ecount_full 118#define __field_ecount_full(x) /**/ 119#endif 120 121#ifndef __checkReturn 122#define __checkReturn /**/ 123#endif 124 125#ifndef __drv_requiresIRQL 126#define __drv_requiresIRQL(x) /**/ 127#endif 128 129#ifndef __drv_minIRQL 130#define __drv_minIRQL(x) /**/ 131#endif 132 133#ifndef __drv_maxIRQL 134#define __drv_maxIRQL(x) /**/ 135#endif 136 137#ifdef __MINGW32__ 138#define __inline static __inline__ 139#endif 140 141#ifndef EXTERN_C 142#define EXTERN_C /**/ 143#endif 144 145#ifdef __MINGW32__ 146typedef unsigned char UINT8; 147#endif 148 149 150#ifndef NTSTATUS 151#define NTSTATUS LONG 152#endif 153 154typedef LARGE_INTEGER PHYSICAL_ADDRESS; 155 156#ifndef NT_SUCCESS 157#define NT_SUCCESS(_status) ((_status) >= 0) 158#endif 159 160#ifndef STATUS_SUCCESS 161#define STATUS_SUCCESS ((NTSTATUS)0x00000000L) 162#endif 163 164#ifndef STATUS_UNSUCCESSFUL 165#define STATUS_UNSUCCESSFUL ((NTSTATUS)0xC0000001L) 166#endif 167 168#ifndef STATUS_INVALID_PARAMETER 169#define STATUS_INVALID_PARAMETER ((NTSTATUS)0xC000000DL) 170#endif 171 172#ifndef STATUS_NO_MEMORY 173#define STATUS_NO_MEMORY ((NTSTATUS)0xC0000017L) 174#endif 175 176#ifndef STATUS_ILLEGAL_INSTRUCTION 177#define STATUS_ILLEGAL_INSTRUCTION ((NTSTATUS)0xC000001DL) 178#endif 179 180#ifndef STATUS_BUFFER_TOO_SMALL 181#define STATUS_BUFFER_TOO_SMALL ((NTSTATUS)0xC0000023L) 182#endif 183 184#ifndef STATUS_PRIVILEGED_INSTRUCTION 185#define STATUS_PRIVILEGED_INSTRUCTION ((NTSTATUS)0xC0000096L) 186#endif 187 188#ifndef STATUS_NOT_SUPPORTED 189#define STATUS_NOT_SUPPORTED ((NTSTATUS)0xC00000BBL) 190#endif 191 192#ifndef STATUS_DEVICE_REMOVED 193#define STATUS_DEVICE_REMOVED ((NTSTATUS)0xC00002B6L) 194#endif 195 196#ifndef STATUS_INVALID_USER_BUFFER 197#define STATUS_INVALID_USER_BUFFER ((NTSTATUS)0xC00000E8L) 198#endif 199 200#ifndef STATUS_GRAPHICS_NOT_EXCLUSIVE_MODE_OWNER 201#define STATUS_GRAPHICS_NOT_EXCLUSIVE_MODE_OWNER ((NTSTATUS)0xC01E0000L) 202#endif 203 204#ifndef STATUS_NO_VIDEO_MEMORY 205#define STATUS_NO_VIDEO_MEMORY ((NTSTATUS)0xC01E0100L) 206#endif 207 208#ifndef STATUS_GRAPHICS_ALLOCATION_BUSY 209#define STATUS_GRAPHICS_ALLOCATION_BUSY ((NTSTATUS)0xC01E0102L) 210#endif 211 212#ifndef STATUS_GRAPHICS_TOO_MANY_REFERENCES 213#define STATUS_GRAPHICS_TOO_MANY_REFERENCES ((NTSTATUS)0xC01E0103L) 214#endif 215 216#ifndef STATUS_GRAPHICS_ALLOCATION_INVALID 217#define STATUS_GRAPHICS_ALLOCATION_INVALID ((NTSTATUS)0xC01E0106L) 218#endif 219 220#ifndef STATUS_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION 221#define STATUS_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION ((NTSTATUS)0xC01E0109L) 222#endif 223 224#ifndef STATUS_GRAPHICS_CANT_RENDER_LOCKED_ALLOCATION 225#define STATUS_GRAPHICS_CANT_RENDER_LOCKED_ALLOCATION ((NTSTATUS)0xC01E0111L) 226#endif 227 228#ifndef STATUS_GRAPHICS_GPU_EXCEPTION_ON_DEVICE 229#define STATUS_GRAPHICS_GPU_EXCEPTION_ON_DEVICE ((NTSTATUS)0xC01E0200L) 230#endif 231 232#ifndef STATUS_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET 233#define STATUS_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET ((NTSTATUS)0xC01E0333L) 234#endif 235 236#endif /* VMW_WDDM_COMPAT_H_ */ 237