widl: Generate class forward declaration for coclasses.
[wine.git] / tools / widl / typelib.h
blob18e6cdbcc56f3845b142265fc837ec0c1b23685e
1 /*
2 * IDL Compiler
4 * Copyright 2004 Ove Kaaven
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.
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.
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
21 #ifndef __WIDL_TYPELIB_H
22 #define __WIDL_TYPELIB_H
24 extern void start_typelib(typelib_t *typelib_type);
25 extern void end_typelib(void);
26 extern void add_importlib(const char *name);
28 /* Copied from wtypes.h. Not included directly because that would create a
29 * circular dependency (after all, wtypes.h is generated by widl...) */
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
85 extern unsigned short get_type_vt(type_t *t);
87 extern int create_msft_typelib(typelib_t *typelib);
88 #endif