typelib.h 2.2 KB

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