1 // Copyright © 2015, Connor Hilarides 2 // Licensed under the MIT License <LICENSE.md> 3 //! Mappings for the contents of wstypes.h 4 ENUM!{enum VARENUM { 5 VT_EMPTY = 0, 6 VT_NULL = 1, 7 VT_I2 = 2, 8 VT_I4 = 3, 9 VT_R4 = 4, 10 VT_R8 = 5, 11 VT_CY = 6, 12 VT_DATE = 7, 13 VT_BSTR = 8, 14 VT_DISPATCH = 9, 15 VT_ERROR = 10, 16 VT_BOOL = 11, 17 VT_VARIANT = 12, 18 VT_UNKNOWN = 13, 19 VT_DECIMAL = 14, 20 VT_I1 = 16, 21 VT_UI1 = 17, 22 VT_UI2 = 18, 23 VT_UI4 = 19, 24 VT_I8 = 20, 25 VT_UI8 = 21, 26 VT_INT = 22, 27 VT_UINT = 23, 28 VT_VOID = 24, 29 VT_HRESULT = 25, 30 VT_PTR = 26, 31 VT_SAFEARRAY = 27, 32 VT_CARRAY = 28, 33 VT_USERDEFINED = 29, 34 VT_LPSTR = 30, 35 VT_LPWSTR = 31, 36 VT_RECORD = 36, 37 VT_INT_PTR = 37, 38 VT_UINT_PTR = 38, 39 VT_FILETIME = 64, 40 VT_BLOB = 65, 41 VT_STREAM = 66, 42 VT_STORAGE = 67, 43 VT_STREAMED_OBJECT = 68, 44 VT_STORED_OBJECT = 69, 45 VT_BLOB_OBJECT = 70, 46 VT_CF = 71, 47 VT_CLSID = 72, 48 VT_VERSIONED_STREAM = 73, 49 VT_BSTR_BLOB = 0xfff, 50 VT_VECTOR = 0x1000, 51 VT_ARRAY = 0x2000, 52 VT_BYREF = 0x4000, 53 VT_RESERVED = 0x8000, 54 VT_ILLEGAL = 0xffff, 55 }} 56 pub const VT_ILLEGALMASKED: VARENUM = VT_BSTR_BLOB; 57 pub const VT_TYPEMASK: VARENUM = VT_BSTR_BLOB; 58 pub type DATE = ::c_double; 59 STRUCT!{struct CY { 60 int64: ::LONGLONG, 61 }} 62 STRUCT!{struct DECIMAL { 63 wReserved: ::USHORT, 64 scale: ::BYTE, 65 sign: ::BYTE, 66 Hi32: ::ULONG, 67 Lo64: ::ULONGLONG, 68 }} 69 pub const DECIMAL_NEG: ::BYTE = 0x80; 70 pub type LPDECIMAL = *mut DECIMAL; 71 pub type VARTYPE = ::c_ushort; 72 pub type wireBSTR = *mut ::FLAGGED_WORD_BLOB; 73 pub type BSTR = *mut ::OLECHAR; 74 pub type LPBSTR = *mut BSTR; 75 pub type VARIANT_BOOL = ::c_short; 76