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 #ifdef __REACTOS__ 25 extern void start_typelib(typelib_t *typelib_type); 26 extern void end_typelib(void); 27 extern void add_importlib(const char *name); 28 #else 29 extern void add_importlib(const char *name, typelib_t *typelib); 30 #endif 31 32 /* Copied from wtypes.h. Not included directly because that would create a 33 * circular dependency (after all, wtypes.h is generated by widl...) */ 34 35 enum VARENUM { 36 VT_EMPTY = 0, 37 VT_NULL = 1, 38 VT_I2 = 2, 39 VT_I4 = 3, 40 VT_R4 = 4, 41 VT_R8 = 5, 42 VT_CY = 6, 43 VT_DATE = 7, 44 VT_BSTR = 8, 45 VT_DISPATCH = 9, 46 VT_ERROR = 10, 47 VT_BOOL = 11, 48 VT_VARIANT = 12, 49 VT_UNKNOWN = 13, 50 VT_DECIMAL = 14, 51 VT_I1 = 16, 52 VT_UI1 = 17, 53 VT_UI2 = 18, 54 VT_UI4 = 19, 55 VT_I8 = 20, 56 VT_UI8 = 21, 57 VT_INT = 22, 58 VT_UINT = 23, 59 VT_VOID = 24, 60 VT_HRESULT = 25, 61 VT_PTR = 26, 62 VT_SAFEARRAY = 27, 63 VT_CARRAY = 28, 64 VT_USERDEFINED = 29, 65 VT_LPSTR = 30, 66 VT_LPWSTR = 31, 67 VT_RECORD = 36, 68 VT_INT_PTR = 37, 69 VT_UINT_PTR = 38, 70 VT_FILETIME = 64, 71 VT_BLOB = 65, 72 VT_STREAM = 66, 73 VT_STORAGE = 67, 74 VT_STREAMED_OBJECT = 68, 75 VT_STORED_OBJECT = 69, 76 VT_BLOB_OBJECT = 70, 77 VT_CF = 71, 78 VT_CLSID = 72, 79 VT_VERSIONED_STREAM = 73, 80 VT_BSTR_BLOB = 0xfff, 81 VT_VECTOR = 0x1000, 82 VT_ARRAY = 0x2000, 83 VT_BYREF = 0x4000, 84 VT_RESERVED = 0x8000, 85 VT_ILLEGAL = 0xffff, 86 VT_ILLEGALMASKED = 0xfff, 87 VT_TYPEMASK = 0xfff 88 }; 89 extern unsigned short get_type_vt(type_t *t); 90 91 extern int create_msft_typelib(typelib_t *typelib); 92 extern int create_sltg_typelib(typelib_t *typelib); 93 #endif 94