| package shlwapi; |
| |
| use strict; |
| |
| require Exporter; |
| |
| use wine; |
| use vars qw(@ISA @EXPORT @EXPORT_OK); |
| |
| @ISA = qw(Exporter); |
| @EXPORT = qw(); |
| @EXPORT_OK = qw(); |
| |
| my $module_declarations = { |
| "ChrCmpIA" => ["long", ["long", "long"]], |
| "ChrCmpIW" => ["long", ["long", "long"]], |
| "ColorHLSToRGB" => ["long", ["long", "long", "long"]], |
| "ColorRGBToHLS" => ["void", ["long", "ptr", "ptr", "ptr"]], |
| "DllGetVersion" => ["long", ["ptr"]], |
| "GetMenuPosFromID" => ["long", ["long", "long"]], |
| "HashData" => ["long", ["ptr", "long", "ptr", "long"]], |
| "PathAddBackslashA" => ["str", ["str"]], |
| "PathAddBackslashW" => ["wstr", ["wstr"]], |
| "PathAddExtensionA" => ["long", ["str", "str"]], |
| "PathAddExtensionW" => ["long", ["wstr", "wstr"]], |
| "PathAppendA" => ["long", ["str", "str"]], |
| "PathAppendW" => ["long", ["wstr", "wstr"]], |
| "PathBuildRootA" => ["str", ["str", "long"]], |
| "PathBuildRootW" => ["wstr", ["wstr", "long"]], |
| "PathCanonicalizeA" => ["long", ["str", "str"]], |
| "PathCanonicalizeW" => ["long", ["wstr", "wstr"]], |
| "PathCombineA" => ["str", ["str", "str", "str"]], |
| "PathCombineW" => ["wstr", ["wstr", "wstr", "wstr"]], |
| "PathCommonPrefixA" => ["long", ["str", "str", "str"]], |
| "PathCommonPrefixW" => ["long", ["wstr", "wstr", "wstr"]], |
| "PathCompactPathA" => ["long", ["long", "str", "long"]], |
| "PathCompactPathExA" => ["long", ["str", "str", "long", "long"]], |
| "PathCompactPathExW" => ["long", ["wstr", "wstr", "long", "long"]], |
| "PathCompactPathW" => ["long", ["long", "wstr", "long"]], |
| "PathCreateFromUrlA" => ["long", ["str", "str", "ptr", "long"]], |
| "PathCreateFromUrlW" => ["long", ["wstr", "wstr", "ptr", "long"]], |
| "PathFileExistsA" => ["long", ["str"]], |
| "PathFileExistsW" => ["long", ["wstr"]], |
| "PathFindExtensionA" => ["str", ["str"]], |
| "PathFindExtensionW" => ["wstr", ["wstr"]], |
| "PathFindFileNameA" => ["str", ["str"]], |
| "PathFindFileNameW" => ["wstr", ["wstr"]], |
| "PathFindNextComponentA" => ["str", ["str"]], |
| "PathFindNextComponentW" => ["wstr", ["wstr"]], |
| "PathFindOnPathA" => ["long", ["str", "ptr"]], |
| "PathFindOnPathW" => ["long", ["wstr", "ptr"]], |
| "PathGetArgsA" => ["str", ["str"]], |
| "PathGetArgsW" => ["wstr", ["wstr"]], |
| "PathGetCharTypeA" => ["long", ["long"]], |
| "PathGetCharTypeW" => ["long", ["long"]], |
| "PathGetDriveNumberA" => ["long", ["str"]], |
| "PathGetDriveNumberW" => ["long", ["wstr"]], |
| "PathIsContentTypeA" => ["long", ["str", "str"]], |
| "PathIsContentTypeW" => ["long", ["wstr", "wstr"]], |
| "PathIsDirectoryA" => ["long", ["str"]], |
| "PathIsDirectoryW" => ["long", ["wstr"]], |
| "PathIsFileSpecA" => ["long", ["str"]], |
| "PathIsFileSpecW" => ["long", ["wstr"]], |
| "PathIsPrefixA" => ["long", ["str", "str"]], |
| "PathIsPrefixW" => ["long", ["wstr", "wstr"]], |
| "PathIsRelativeA" => ["long", ["str"]], |
| "PathIsRelativeW" => ["long", ["wstr"]], |
| "PathIsRootA" => ["long", ["str"]], |
| "PathIsRootW" => ["long", ["wstr"]], |
| "PathIsSameRootA" => ["long", ["str", "str"]], |
| "PathIsSameRootW" => ["long", ["wstr", "wstr"]], |
| "PathIsSystemFolderA" => ["long", ["str", "long"]], |
| "PathIsSystemFolderW" => ["long", ["wstr", "long"]], |
| "PathIsUNCA" => ["long", ["str"]], |
| "PathIsUNCServerA" => ["long", ["str"]], |
| "PathIsUNCServerShareA" => ["long", ["str"]], |
| "PathIsUNCServerShareW" => ["long", ["wstr"]], |
| "PathIsUNCServerW" => ["long", ["wstr"]], |
| "PathIsUNCW" => ["long", ["wstr"]], |
| "PathIsURLA" => ["long", ["str"]], |
| "PathIsURLW" => ["long", ["wstr"]], |
| "PathMakePrettyA" => ["long", ["str"]], |
| "PathMakePrettyW" => ["long", ["wstr"]], |
| "PathMakeSystemFolderA" => ["long", ["str"]], |
| "PathMakeSystemFolderW" => ["long", ["wstr"]], |
| "PathMatchSpecA" => ["long", ["str", "str"]], |
| "PathMatchSpecW" => ["long", ["wstr", "wstr"]], |
| "PathParseIconLocationA" => ["long", ["str"]], |
| "PathParseIconLocationW" => ["long", ["wstr"]], |
| "PathQuoteSpacesA" => ["str", ["str"]], |
| "PathQuoteSpacesW" => ["wstr", ["wstr"]], |
| "PathRelativePathToA" => ["long", ["str", "str", "long", "str", "long"]], |
| "PathRelativePathToW" => ["long", ["wstr", "wstr", "long", "wstr", "long"]], |
| "PathRemoveArgsA" => ["void", ["str"]], |
| "PathRemoveArgsW" => ["void", ["wstr"]], |
| "PathRemoveBackslashA" => ["str", ["str"]], |
| "PathRemoveBackslashW" => ["wstr", ["wstr"]], |
| "PathRemoveBlanksA" => ["void", ["str"]], |
| "PathRemoveBlanksW" => ["void", ["wstr"]], |
| "PathRemoveExtensionA" => ["void", ["str"]], |
| "PathRemoveExtensionW" => ["void", ["wstr"]], |
| "PathRemoveFileSpecA" => ["long", ["str"]], |
| "PathRemoveFileSpecW" => ["long", ["wstr"]], |
| "PathRenameExtensionA" => ["long", ["str", "str"]], |
| "PathRenameExtensionW" => ["long", ["wstr", "wstr"]], |
| "PathSearchAndQualifyA" => ["long", ["str", "str", "long"]], |
| "PathSearchAndQualifyW" => ["long", ["wstr", "wstr", "long"]], |
| "PathSetDlgItemPathA" => ["long", ["long", "long", "str"]], |
| "PathSetDlgItemPathW" => ["long", ["long", "long", "wstr"]], |
| "PathSkipRootA" => ["str", ["str"]], |
| "PathSkipRootW" => ["wstr", ["wstr"]], |
| "PathStripPathA" => ["void", ["str"]], |
| "PathStripPathW" => ["void", ["wstr"]], |
| "PathStripToRootA" => ["long", ["str"]], |
| "PathStripToRootW" => ["long", ["wstr"]], |
| "PathUnmakeSystemFolderA" => ["long", ["str"]], |
| "PathUnmakeSystemFolderW" => ["long", ["wstr"]], |
| "PathUnquoteSpacesA" => ["void", ["str"]], |
| "PathUnquoteSpacesW" => ["void", ["wstr"]], |
| "SHCreateShellPalette" => ["long", ["long"]], |
| "SHDeleteEmptyKeyA" => ["long", ["long", "str"]], |
| "SHDeleteEmptyKeyW" => ["long", ["long", "wstr"]], |
| "SHDeleteKeyA" => ["long", ["long", "str"]], |
| "SHDeleteKeyW" => ["long", ["long", "wstr"]], |
| "SHDeleteOrphanKeyA" => ["long", ["long", "str"]], |
| "SHDeleteOrphanKeyW" => ["long", ["long", "wstr"]], |
| "SHDeleteValueA" => ["long", ["long", "str", "str"]], |
| "SHDeleteValueW" => ["long", ["long", "wstr", "wstr"]], |
| "SHEnumKeyExA" => ["long", ["long", "long", "str", "ptr"]], |
| "SHEnumKeyExW" => ["long", ["long", "long", "wstr", "ptr"]], |
| "SHEnumValueA" => ["long", ["long", "long", "str", "ptr", "ptr", "ptr", "ptr"]], |
| "SHEnumValueW" => ["long", ["long", "long", "wstr", "ptr", "ptr", "ptr", "ptr"]], |
| "SHGetInverseCMAP" => ["long", ["ptr", "long"]], |
| "SHGetValueA" => ["long", ["long", "str", "str", "ptr", "ptr", "ptr"]], |
| "SHGetValueW" => ["long", ["long", "wstr", "wstr", "ptr", "ptr", "ptr"]], |
| "SHIsLowMemoryMachine" => ["long", ["long"]], |
| "SHOpenRegStream2A" => ["ptr", ["long", "str", "str", "long"]], |
| "SHOpenRegStream2W" => ["ptr", ["long", "wstr", "wstr", "long"]], |
| "SHOpenRegStreamA" => ["ptr", ["long", "str", "str", "long"]], |
| "SHOpenRegStreamW" => ["ptr", ["long", "wstr", "wstr", "long"]], |
| "SHQueryInfoKeyA" => ["long", ["long", "ptr", "ptr", "ptr", "ptr"]], |
| "SHQueryInfoKeyW" => ["long", ["long", "ptr", "ptr", "ptr", "ptr"]], |
| "SHQueryValueExA" => ["long", ["long", "str", "ptr", "ptr", "ptr", "ptr"]], |
| "SHQueryValueExW" => ["long", ["long", "wstr", "ptr", "ptr", "ptr", "ptr"]], |
| "SHRegCloseUSKey" => ["long", ["long"]], |
| "SHRegDuplicateHKey" => ["long", ["long"]], |
| "SHRegEnumUSKeyA" => ["long", ["long", "long", "str", "ptr", "long"]], |
| "SHRegEnumUSKeyW" => ["long", ["long", "long", "wstr", "ptr", "long"]], |
| "SHRegGetBoolUSValueA" => ["long", ["str", "str", "long", "long"]], |
| "SHRegGetBoolUSValueW" => ["long", ["wstr", "wstr", "long", "long"]], |
| "SHRegGetPathA" => ["long", ["long", "str", "str", "str", "long"]], |
| "SHRegGetPathW" => ["long", ["long", "wstr", "wstr", "wstr", "long"]], |
| "SHRegGetUSValueA" => ["long", ["str", "str", "ptr", "ptr", "ptr", "long", "ptr", "long"]], |
| "SHRegGetUSValueW" => ["long", ["wstr", "wstr", "ptr", "ptr", "ptr", "long", "ptr", "long"]], |
| "SHRegOpenUSKeyA" => ["long", ["str", "long", "long", "ptr", "long"]], |
| "SHRegOpenUSKeyW" => ["long", ["wstr", "long", "long", "ptr", "long"]], |
| "SHRegQueryInfoUSKeyA" => ["long", ["long", "ptr", "ptr", "ptr", "ptr", "long"]], |
| "SHRegQueryInfoUSKeyW" => ["long", ["long", "ptr", "ptr", "ptr", "ptr", "long"]], |
| "SHRegQueryUSValueA" => ["long", ["long", "str", "ptr", "ptr", "ptr", "long", "ptr", "long"]], |
| "SHRegQueryUSValueW" => ["long", ["long", "wstr", "ptr", "ptr", "ptr", "long", "ptr", "long"]], |
| "SHRegSetPathA" => ["long", ["long", "str", "str", "str", "long"]], |
| "SHRegSetPathW" => ["long", ["long", "wstr", "wstr", "wstr", "long"]], |
| "SHRegWriteUSValueA" => ["long", ["long", "str", "long", "ptr", "long", "long"]], |
| "SHRegWriteUSValueW" => ["long", ["long", "wstr", "long", "ptr", "long", "long"]], |
| "SHSetValueA" => ["long", ["long", "str", "str", "long", "ptr", "long"]], |
| "SHSetValueW" => ["long", ["long", "wstr", "wstr", "long", "ptr", "long"]], |
| "StrCSpnA" => ["long", ["str", "str"]], |
| "StrCSpnW" => ["long", ["wstr", "wstr"]], |
| "StrCatBuffA" => ["str", ["str", "str", "long"]], |
| "StrCatBuffW" => ["wstr", ["wstr", "wstr", "long"]], |
| "StrCatW" => ["wstr", ["wstr", "wstr"]], |
| "StrChrA" => ["str", ["str", "long"]], |
| "StrChrW" => ["wstr", ["wstr", "long"]], |
| "StrCmpIW" => ["long", ["wstr", "wstr"]], |
| "StrCmpNA" => ["long", ["str", "str", "long"]], |
| "StrCmpNIA" => ["long", ["str", "str", "long"]], |
| "StrCmpNIW" => ["long", ["wstr", "wstr", "long"]], |
| "StrCmpNW" => ["long", ["wstr", "wstr", "long"]], |
| "StrCmpW" => ["long", ["wstr", "wstr"]], |
| "StrCpyNW" => ["wstr", ["wstr", "wstr", "long"]], |
| "StrCpyW" => ["wstr", ["wstr", "wstr"]], |
| "StrDupA" => ["str", ["str"]], |
| "StrDupW" => ["wstr", ["wstr"]], |
| "StrFormatByteSizeA" => ["str", ["long", "str", "long"]], |
| "StrFormatByteSizeW" => ["wstr", ["long", "wstr", "long"]], |
| "StrNCatA" => ["str", ["str", "str", "long"]], |
| "StrNCatW" => ["wstr", ["wstr", "wstr", "long"]], |
| "StrRChrA" => ["str", ["str", "str", "long"]], |
| "StrRChrIA" => ["str", ["str", "str", "long"]], |
| "StrRChrIW" => ["wstr", ["wstr", "wstr", "long"]], |
| "StrRChrW" => ["wstr", ["wstr", "wstr", "long"]], |
| "StrRetToBufA" => ["long", ["ptr", "ptr", "str", "long"]], |
| "StrRetToBufW" => ["long", ["ptr", "ptr", "wstr", "long"]], |
| "StrStrA" => ["str", ["str", "str"]], |
| "StrStrIA" => ["str", ["str", "str"]], |
| "StrStrIW" => ["wstr", ["wstr", "wstr"]], |
| "StrStrW" => ["wstr", ["wstr", "wstr"]], |
| "StrToIntA" => ["long", ["str"]], |
| "StrToIntExA" => ["long", ["str", "long", "ptr"]], |
| "StrToIntExW" => ["long", ["wstr", "long", "ptr"]], |
| "StrToIntW" => ["long", ["wstr"]], |
| "StrTrimA" => ["long", ["str", "str"]], |
| "UrlApplySchemeW" => ["long", ["wstr", "wstr", "ptr", "long"]], |
| "UrlCanonicalizeA" => ["long", ["str", "str", "ptr", "long"]], |
| "UrlCanonicalizeW" => ["long", ["wstr", "wstr", "ptr", "long"]], |
| "UrlCombineA" => ["long", ["str", "str", "str", "ptr", "long"]], |
| "UrlCombineW" => ["long", ["wstr", "wstr", "wstr", "ptr", "long"]], |
| "UrlCompareA" => ["long", ["str", "str", "long"]], |
| "UrlCompareW" => ["long", ["wstr", "wstr", "long"]], |
| "UrlEscapeA" => ["long", ["str", "str", "ptr", "long"]], |
| "UrlEscapeW" => ["long", ["wstr", "wstr", "ptr", "long"]], |
| "UrlGetLocationA" => ["str", ["str"]], |
| "UrlGetLocationW" => ["wstr", ["wstr"]], |
| "UrlGetPartA" => ["long", ["str", "str", "ptr", "long", "long"]], |
| "UrlGetPartW" => ["long", ["wstr", "wstr", "ptr", "long", "long"]], |
| "UrlHashA" => ["long", ["str", "ptr", "long"]], |
| "UrlIsA" => ["long", ["str", "long"]], |
| "UrlIsNoHistoryA" => ["long", ["str"]], |
| "UrlIsNoHistoryW" => ["long", ["wstr"]], |
| "UrlIsOpaqueA" => ["long", ["str"]], |
| "UrlIsOpaqueW" => ["long", ["wstr"]], |
| "UrlIsW" => ["long", ["wstr", "long"]], |
| "UrlUnescapeA" => ["long", ["str", "str", "ptr", "long"]], |
| "UrlUnescapeW" => ["long", ["wstr", "wstr", "ptr", "long"]], |
| "_SHGetInstanceExplorer\@4" => ["long", ["ptr"]] |
| }; |
| |
| &wine::declare("shlwapi",%$module_declarations); |
| push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations)); |
| 1; |