1 /* 2 * IDL Compiler 3 * 4 * Copyright 2004 Ove Kaaven 5 * 6 * This library is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public 8 * License as published by the Free Software Foundation; either 9 * version 2.1 of the License, or (at your option) any later version. 10 * 11 * This library is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public 17 * License along with this library; if not, write to the Free Software 18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 19 */ 20 21 #ifndef __WIDL_TYPELIB_H 22 #define __WIDL_TYPELIB_H 23 24 extern void start_typelib(typelib_t *typelib_type); 25 extern void end_typelib(void); 26 extern void add_importlib(const char *name); 27 28 /* Copied from wtypes.h. Not included directly because that would create a 29 * circular dependency (after all, wtypes.h is generated by widl...) */ 30 31 enum VARENUM { 32 VT_EMPTY = 0, 33 VT_NULL = 1, 34 VT_I2 = 2, 35 VT_I4 = 3, 36 VT_R4 = 4, 37 VT_R8 = 5, 38 VT_CY = 6, 39 VT_DATE = 7, 40 VT_BSTR = 8, 41 VT_DISPATCH = 9, 42 VT_ERROR = 10, 43 VT_BOOL = 11, 44 VT_VARIANT = 12, 45 VT_UNKNOWN = 13, 46 VT_DECIMAL = 14, 47 VT_I1 = 16, 48 VT_UI1 = 17, 49 VT_UI2 = 18, 50 VT_UI4 = 19, 51 VT_I8 = 20, 52 VT_UI8 = 21, 53 VT_INT = 22, 54 VT_UINT = 23, 55 VT_VOID = 24, 56 VT_HRESULT = 25, 57 VT_PTR = 26, 58 VT_SAFEARRAY = 27, 59 VT_CARRAY = 28, 60 VT_USERDEFINED = 29, 61 VT_LPSTR = 30, 62 VT_LPWSTR = 31, 63 VT_RECORD = 36, 64 VT_INT_PTR = 37, 65 VT_UINT_PTR = 38, 66 VT_FILETIME = 64, 67 VT_BLOB = 65, 68 VT_STREAM = 66, 69 VT_STORAGE = 67, 70 VT_STREAMED_OBJECT = 68, 71 VT_STORED_OBJECT = 69, 72 VT_BLOB_OBJECT = 70, 73 VT_CF = 71, 74 VT_CLSID = 72, 75 VT_VERSIONED_STREAM = 73, 76 VT_BSTR_BLOB = 0xfff, 77 VT_VECTOR = 0x1000, 78 VT_ARRAY = 0x2000, 79 VT_BYREF = 0x4000, 80 VT_RESERVED = 0x8000, 81 VT_ILLEGAL = 0xffff, 82 VT_ILLEGALMASKED = 0xfff, 83 VT_TYPEMASK = 0xfff 84 }; 85 extern unsigned short get_type_vt(type_t *t); 86 87 extern int create_msft_typelib(typelib_t *typelib); 88 extern int create_sltg_typelib(typelib_t *typelib); 89 #endif 90