8 use vars qw(@ISA @EXPORT @EXPORT_OK);
14 my $module_declarations = {
15 "SetupCloseFileQueue" => ["long", ["long"]],
16 "SetupCloseInfFile" => ["void", ["long"]],
17 "SetupCommitFileQueueA" => ["long", ["long", "long", "ptr", "ptr"]],
18 "SetupCommitFileQueueW" => ["long", ["long", "long", "ptr", "ptr"]],
19 "SetupDefaultQueueCallbackA" => ["long", ["ptr", "long", "long", "long"]],
20 "SetupDefaultQueueCallbackW" => ["long", ["ptr", "long", "long", "long"]],
21 "SetupDiDestroyDeviceInfoList" => ["long", ["long"]],
22 "SetupDiEnumDeviceInfo" => ["long", ["long", "long", "ptr"]],
23 "SetupDiEnumDeviceInterfaces" => ["long", ["long", "ptr", "ptr", "long", "ptr"]],
24 "SetupDiGetClassDevsA" => ["long", ["ptr", "str", "long", "long"]],
25 "SetupDiGetDeviceInterfaceDetailA" => ["long", ["long", "ptr", "ptr", "long", "ptr", "ptr"]],
26 "SetupDiGetDeviceInterfaceDetailW" => ["long", ["long", "ptr", "ptr", "long", "ptr", "ptr"]],
27 "SetupDiGetDeviceRegistryPropertyA" => ["long", ["long", "ptr", "long", "ptr", "ptr", "long", "ptr"]],
28 "SetupFindFirstLineA" => ["long", ["long", "str", "str", "ptr"]],
29 "SetupFindFirstLineW" => ["long", ["long", "str", "str", "ptr"]],
30 "SetupFindNextLine" => ["long", ["ptr", "ptr"]],
31 "SetupFindNextMatchLineA" => ["long", ["ptr", "str", "ptr"]],
32 "SetupFindNextMatchLineW" => ["long", ["ptr", "str", "ptr"]],
33 "SetupGetBinaryField" => ["long", ["ptr", "long", "ptr", "long", "ptr"]],
34 "SetupGetFieldCount" => ["long", ["ptr"]],
35 "SetupGetFileQueueCount" => ["long", ["long", "long", "ptr"]],
36 "SetupGetFileQueueFlags" => ["long", ["long", "ptr"]],
37 "SetupGetIntField" => ["long", ["ptr", "long", "ptr"]],
38 "SetupGetLineByIndexA" => ["long", ["long", "str", "long", "ptr"]],
39 "SetupGetLineByIndexW" => ["long", ["long", "str", "long", "ptr"]],
40 "SetupGetLineCountA" => ["long", ["long", "str"]],
41 "SetupGetLineCountW" => ["long", ["long", "str"]],
42 "SetupGetLineTextA" => ["long", ["ptr", "long", "str", "str", "ptr", "long", "ptr"]],
43 "SetupGetLineTextW" => ["long", ["ptr", "long", "str", "str", "str", "long", "ptr"]],
44 "SetupGetMultiSzFieldA" => ["long", ["ptr", "long", "ptr", "long", "ptr"]],
45 "SetupGetMultiSzFieldW" => ["long", ["ptr", "long", "str", "long", "ptr"]],
46 "SetupGetStringFieldA" => ["long", ["ptr", "long", "ptr", "long", "ptr"]],
47 "SetupGetStringFieldW" => ["long", ["ptr", "long", "str", "long", "ptr"]],
48 "SetupInitDefaultQueueCallback" => ["ptr", ["long"]],
49 "SetupInitDefaultQueueCallbackEx" => ["ptr", ["long", "long", "long", "long", "ptr"]],
50 "SetupInstallFilesFromInfSectionA" => ["long", ["long", "long", "long", "str", "str", "long"]],
51 "SetupInstallFilesFromInfSectionW" => ["long", ["long", "long", "long", "str", "str", "long"]],
52 "SetupInstallFromInfSectionA" => ["long", ["long", "long", "str", "long", "long", "str", "long", "ptr", "ptr", "long", "ptr"]],
53 "SetupInstallFromInfSectionW" => ["long", ["long", "long", "str", "long", "long", "str", "long", "ptr", "ptr", "long", "ptr"]],
54 "SetupIterateCabinetA" => ["long", ["str", "long", "ptr", "ptr"]],
55 "SetupIterateCabinetW" => ["long", ["str", "long", "ptr", "ptr"]],
56 "SetupOpenAppendInfFileA" => ["long", ["str", "long", "ptr"]],
57 "SetupOpenAppendInfFileW" => ["long", ["str", "long", "ptr"]],
58 "SetupOpenFileQueue" => ["long", []],
59 "SetupOpenInfFileA" => ["long", ["str", "str", "long", "ptr"]],
60 "SetupOpenInfFileW" => ["long", ["str", "str", "long", "ptr"]],
61 "SetupQueueCopyA" => ["long", ["long", "str", "str", "str", "str", "str", "str", "str", "long"]],
62 "SetupQueueCopyIndirectA" => ["long", ["ptr"]],
63 "SetupQueueCopyIndirectW" => ["long", ["ptr"]],
64 "SetupQueueCopySectionA" => ["long", ["long", "str", "long", "long", "str", "long"]],
65 "SetupQueueCopySectionW" => ["long", ["long", "str", "long", "long", "str", "long"]],
66 "SetupQueueCopyW" => ["long", ["long", "str", "str", "str", "str", "str", "str", "str", "long"]],
67 "SetupQueueDefaultCopyA" => ["long", ["long", "long", "str", "str", "str", "long"]],
68 "SetupQueueDefaultCopyW" => ["long", ["long", "long", "str", "str", "str", "long"]],
69 "SetupQueueDeleteA" => ["long", ["long", "str", "str"]],
70 "SetupQueueDeleteSectionA" => ["long", ["long", "long", "long", "str"]],
71 "SetupQueueDeleteSectionW" => ["long", ["long", "long", "long", "str"]],
72 "SetupQueueDeleteW" => ["long", ["long", "str", "str"]],
73 "SetupQueueRenameA" => ["long", ["long", "str", "str", "str", "str"]],
74 "SetupQueueRenameSectionA" => ["long", ["long", "long", "long", "str"]],
75 "SetupQueueRenameSectionW" => ["long", ["long", "long", "long", "str"]],
76 "SetupQueueRenameW" => ["long", ["long", "str", "str", "str", "str"]],
77 "SetupScanFileQueueA" => ["long", ["long", "long", "long", "ptr", "ptr", "ptr"]],
78 "SetupScanFileQueueW" => ["long", ["long", "long", "long", "ptr", "ptr", "ptr"]],
79 "SetupSetDirectoryIdA" => ["long", ["long", "long", "str"]],
80 "SetupSetDirectoryIdW" => ["long", ["long", "long", "str"]],
81 "SetupSetFileQueueFlags" => ["long", ["long", "long", "long"]],
82 "SetupTermDefaultQueueCallback" => ["void", ["ptr"]]
85 &wine::declare("setupapi",%$module_declarations);
86 push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));