8 use vars qw(@ISA @EXPORT @EXPORT_OK);
14 my $module_declarations = {
15 "ImmAssociateContext" => ["long", ["long", "long"]],
16 "ImmConfigureIMEA" => ["long", ["long", "long", "long", "ptr"]],
17 "ImmConfigureIMEW" => ["long", ["long", "long", "long", "ptr"]],
18 "ImmCreateContext" => ["long", ["undef"]],
19 "ImmDestroyContext" => ["long", ["long"]],
20 "ImmEnumRegisterWordA" => ["long", ["long", "ptr", "str", "long", "str", "ptr"]],
21 "ImmEnumRegisterWordW" => ["long", ["long", "ptr", "wstr", "long", "wstr", "ptr"]],
22 "ImmEscapeA" => ["long", ["long", "long", "long", "ptr"]],
23 "ImmEscapeW" => ["long", ["long", "long", "long", "ptr"]],
24 "ImmGetCandidateListA" => ["long", ["long", "long", "ptr", "long"]],
25 "ImmGetCandidateListCountA" => ["long", ["long", "ptr"]],
26 "ImmGetCandidateListCountW" => ["long", ["long", "ptr"]],
27 "ImmGetCandidateListW" => ["long", ["long", "long", "ptr", "long"]],
28 "ImmGetCandidateWindow" => ["long", ["long", "long", "ptr"]],
29 "ImmGetCompositionFontA" => ["long", ["long", "ptr"]],
30 "ImmGetCompositionFontW" => ["long", ["long", "ptr"]],
31 "ImmGetCompositionStringA" => ["long", ["long", "long", "ptr", "long"]],
32 "ImmGetCompositionStringW" => ["long", ["long", "long", "ptr", "long"]],
33 "ImmGetCompositionWindow" => ["long", ["long", "ptr"]],
34 "ImmGetContext" => ["long", ["long"]],
35 "ImmGetConversionListA" => ["long", ["long", "long", "str", "ptr", "long", "long"]],
36 "ImmGetConversionListW" => ["long", ["long", "long", "wstr", "ptr", "long", "long"]],
37 "ImmGetConversionStatus" => ["long", ["long", "ptr", "ptr"]],
38 "ImmGetDefaultIMEWnd" => ["long", ["long"]],
39 "ImmGetDescriptionA" => ["long", ["long", "str", "long"]],
40 "ImmGetDescriptionW" => ["long", ["long", "wstr", "long"]],
41 "ImmGetGuideLineA" => ["long", ["long", "long", "str", "long"]],
42 "ImmGetGuideLineW" => ["long", ["long", "long", "wstr", "long"]],
43 "ImmGetIMEFileNameA" => ["long", ["long", "str", "long"]],
44 "ImmGetIMEFileNameW" => ["long", ["long", "wstr", "long"]],
45 "ImmGetOpenStatus" => ["long", ["long"]],
46 "ImmGetProperty" => ["long", ["long", "long"]],
47 "ImmGetRegisterWordStyleA" => ["long", ["long", "long", "ptr"]],
48 "ImmGetRegisterWordStyleW" => ["long", ["long", "long", "ptr"]],
49 "ImmGetStatusWindowPos" => ["long", ["long", "ptr"]],
50 "ImmGetVirtualKey" => ["long", ["long"]],
51 "ImmInstallIMEA" => ["long", ["str", "str"]],
52 "ImmInstallIMEW" => ["long", ["wstr", "wstr"]],
53 "ImmIsIME" => ["long", ["long"]],
54 "ImmIsUIMessageA" => ["long", ["long", "long", "long", "long"]],
55 "ImmIsUIMessageW" => ["long", ["long", "long", "long", "long"]],
56 "ImmNotifyIME" => ["long", ["long", "long", "long", "long"]],
57 "ImmRegisterWordA" => ["long", ["long", "str", "long", "str"]],
58 "ImmRegisterWordW" => ["long", ["long", "wstr", "long", "wstr"]],
59 "ImmReleaseContext" => ["long", ["long", "long"]],
60 "ImmSetCandidateWindow" => ["long", ["long", "ptr"]],
61 "ImmSetCompositionFontA" => ["long", ["long", "ptr"]],
62 "ImmSetCompositionFontW" => ["long", ["long", "ptr"]],
63 "ImmSetCompositionStringA" => ["long", ["long", "long", "ptr", "long", "ptr", "long"]],
64 "ImmSetCompositionStringW" => ["long", ["long", "long", "ptr", "long", "ptr", "long"]],
65 "ImmSetCompositionWindow" => ["long", ["long", "ptr"]],
66 "ImmSetConversionStatus" => ["long", ["long", "long", "long"]],
67 "ImmSetOpenStatus" => ["long", ["long", "long"]],
68 "ImmSetStatusWindowPos" => ["long", ["long", "ptr"]],
69 "ImmSimulateHotKey" => ["long", ["long", "long"]],
70 "ImmUnregisterWordA" => ["long", ["long", "str", "long", "str"]],
71 "ImmUnregisterWordW" => ["long", ["long", "wstr", "long", "wstr"]]
74 &wine::declare("imm32",%$module_declarations);
75 push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));