// SDB-CGEN V2.6.2
#include <ctype.h>
#include <stdio.h>
#include <string.h>

struct kv { const char *name; const char *value; };
static const struct kv kvs[] = {
// gcc -DMAIN=1 shlwapi.c ; ./a.out > shlwapi.h
	{"1", "ParseURLA"},
	{"10", "SHFreeShared"},
	{"12", "SHCreateMemStream"},
	{"14", "GetAcceptLanguagesA"},
	{"15", "GetAcceptLanguagesW"},
	{"151", "StrCmpNCA"},
	{"152", "StrCmpNCW"},
	{"153", "StrCmpNICA"},
	{"154", "StrCmpNICW"},
	{"155", "StrCmpCA"},
	{"156", "StrCmpCW"},
	{"157", "StrCmpICA"},
	{"158", "StrCmpICW"},
	{"16", "SHCreateThread"},
	{"163", "IUnknown_QueryStatus"},
	{"164", "IUnknown_Exec"},
	{"168", "ConnectToConnectionPoint"},
	{"169", "IUnknown_AtomicRelease"},
	{"172", "IUnknown_GetWindow"},
	{"174", "IUnknown_SetSite"},
	{"176", "IUnknown_QueryService"},
	{"184", "IStream_Read"},
	{"185", "SHMessageBoxCheckA"},
	{"191", "SHMessageBoxCheckW"},
	{"199", "IUnknown_Set"},
	{"2", "ParseURLW"},
	{"203", "SHStripMneumonicA"},
	{"204", "SHIsChildOrSelf"},
	{"212", "IStream_Write"},
	{"213", "IStream_Reset"},
	{"214", "IStream_Size"},
	{"215", "SHAnsiToUnicode"},
	{"217", "SHUnicodeToAnsi"},
	{"218", "SHUnicodeToAnsiCP"},
	{"219", "QISearch"},
	{"225", "SHStripMneumonicW"},
	{"236", "SHPinDllOfCLSID"},
	{"256", "IUnknown_GetSite"},
	{"270", "GUIDFromStringW"},
	{"276", "WhichPlatform"},
	{"278", "SHCreateWorkerWindowW"},
	{"280", "SHRegGetIntW"},
	{"281", "SHPackDispParamsV"},
	{"29", "IsCharSpaceW"},
	{"345", "SHAnsiToAnsi"},
	{"346", "SHUnicodeToUnicode"},
	{"353", "SHFormatDateTimeA"},
	{"354", "SHFormatDateTimeW"},
	{"377", "MLLoadLibraryA"},
	{"378", "MLLoadLibraryW"},
	{"388", "ShellMessageBoxW"},
	{"432", "SHSendMessageBroadcastA"},
	{"433", "SHSendMessageBroadcastW"},
	{"437", "IsOS"},
	{"446", "PathFileExistsAndAttributesW"},
	{"462", "UrlFixupW"},
	{"467", "SHRunIndirectRegClientCommand"},
	{"487", "SHLoadIndirectString"},
	{"500", "AssocCreate"},
	{"501", "AssocGetPerceivedType"},
	{"502", "AssocIsDangerous"},
	{"503", "AssocQueryKeyA"},
	{"504", "AssocQueryKeyW"},
	{"512", "IStream_ReadPidl"},
	{"513", "IStream_WritePidl"},
	{"515", "SHGetViewStatePropertyBag"},
	{"553", "IsInternetESCEnabled"},
	{"567", "SHPropertyBag_ReadStrAlloc"},
	{"568", "IStream_Copy"},
	{"569", "DelayLoadFailureHook"},
	{"570", "SHPropertyBag_WriteBSTR"},
	{"579", "AssocQueryStringA"},
	{"584", "AssocQueryStringByKeyA"},
	{"585", "AssocQueryStringByKeyW"},
	{"586", "AssocQueryStringW"},
	{"587", "ChrCmpIA"},
	{"588", "ChrCmpIW"},
	{"589", "ColorAdjustLuma"},
	{"590", "ColorHLSToRGB"},
	{"591", "ColorRGBToHLS"},
	{"592", "DllGetClassObject"},
	{"593", "DllGetVersion"},
	{"594", "GetMenuPosFromID"},
	{"595", "HashData"},
	{"596", "IStream_ReadStr"},
	{"597", "IStream_WriteStr"},
	{"607", "IntlStrEqWorkerA"},
	{"608", "IntlStrEqWorkerW"},
	{"609", "IsCharSpaceA"},
	{"610", "PathAddBackslashA"},
	{"612", "PathAddBackslashW"},
	{"615", "SHCreateThreadWithHandle"},
	{"620", "PathAddExtensionA"},
	{"622", "PathAddExtensionW"},
	{"623", "PathAppendA"},
	{"624", "PathAppendW"},
	{"625", "PathBuildRootA"},
	{"629", "SHRegGetValueFromHKCUHKLM"},
	{"630", "SHRegGetBoolValueFromHKCUHKLM"},
	{"649", "PathBuildRootW"},
	{"650", "PathCanonicalizeA"},
	{"651", "PathCanonicalizeW"},
	{"652", "PathCombineA"},
	{"653", "PathCombineW"},
	{"654", "PathCommonPrefixA"},
	{"655", "PathCommonPrefixW"},
	{"656", "PathCompactPathA"},
	{"657", "PathCompactPathExA"},
	{"658", "PathCompactPathExW"},
	{"659", "PathCompactPathW"},
	{"660", "PathCreateFromUrlA"},
	{"661", "PathCreateFromUrlAlloc"},
	{"662", "PathCreateFromUrlW"},
	{"663", "PathFileExistsA"},
	{"664", "PathFileExistsW"},
	{"665", "PathFindExtensionA"},
	{"666", "PathFindExtensionW"},
	{"667", "PathFindFileNameA"},
	{"668", "PathFindFileNameW"},
	{"669", "PathFindNextComponentA"},
	{"670", "PathFindNextComponentW"},
	{"671", "PathFindOnPathA"},
	{"672", "PathFindOnPathW"},
	{"673", "PathFindSuffixArrayA"},
	{"674", "PathFindSuffixArrayW"},
	{"675", "PathGetArgsA"},
	{"676", "PathGetArgsW"},
	{"677", "PathGetCharTypeA"},
	{"678", "PathGetCharTypeW"},
	{"679", "PathGetDriveNumberA"},
	{"680", "PathGetDriveNumberW"},
	{"681", "PathIsContentTypeA"},
	{"682", "PathIsContentTypeW"},
	{"683", "PathIsDirectoryA"},
	{"684", "PathIsDirectoryEmptyA"},
	{"685", "PathIsDirectoryEmptyW"},
	{"686", "PathIsDirectoryW"},
	{"687", "PathIsFileSpecA"},
	{"688", "PathIsFileSpecW"},
	{"689", "PathIsLFNFileSpecA"},
	{"690", "PathIsLFNFileSpecW"},
	{"691", "PathIsNetworkPathA"},
	{"692", "PathIsNetworkPathW"},
	{"693", "PathIsPrefixA"},
	{"694", "PathIsPrefixW"},
	{"695", "PathIsRelativeA"},
	{"696", "PathIsRelativeW"},
	{"697", "PathIsRootA"},
	{"698", "PathIsRootW"},
	{"699", "PathIsSameRootA"},
	{"7", "SHAllocShared"},
	{"700", "PathIsSameRootW"},
	{"701", "PathIsSystemFolderA"},
	{"702", "PathIsSystemFolderW"},
	{"703", "PathIsUNCA"},
	{"704", "PathIsUNCServerA"},
	{"705", "PathIsUNCServerShareA"},
	{"706", "PathIsUNCServerShareW"},
	{"707", "PathIsUNCServerW"},
	{"708", "PathIsUNCW"},
	{"709", "PathIsURLA"},
	{"710", "PathIsURLW"},
	{"711", "PathMakePrettyA"},
	{"712", "PathMakePrettyW"},
	{"713", "PathMakeSystemFolderA"},
	{"714", "PathMakeSystemFolderW"},
	{"715", "PathMatchSpecA"},
	{"716", "PathMatchSpecExA"},
	{"717", "PathMatchSpecExW"},
	{"718", "PathMatchSpecW"},
	{"719", "PathParseIconLocationA"},
	{"720", "PathParseIconLocationW"},
	{"721", "PathQuoteSpacesA"},
	{"722", "PathQuoteSpacesW"},
	{"723", "PathRelativePathToA"},
	{"724", "PathRelativePathToW"},
	{"725", "PathRemoveArgsA"},
	{"726", "PathRemoveArgsW"},
	{"727", "PathRemoveBackslashA"},
	{"728", "PathRemoveBackslashW"},
	{"729", "PathRemoveBlanksA"},
	{"730", "PathRemoveBlanksW"},
	{"731", "PathRemoveExtensionA"},
	{"732", "PathRemoveExtensionW"},
	{"733", "PathRemoveFileSpecA"},
	{"734", "PathRemoveFileSpecW"},
	{"735", "PathRenameExtensionA"},
	{"736", "PathRenameExtensionW"},
	{"737", "PathSearchAndQualifyA"},
	{"738", "PathSearchAndQualifyW"},
	{"739", "PathSetDlgItemPathA"},
	{"740", "PathSetDlgItemPathW"},
	{"741", "PathSkipRootA"},
	{"742", "PathSkipRootW"},
	{"743", "PathStripPathA"},
	{"744", "PathStripPathW"},
	{"745", "PathStripToRootA"},
	{"746", "PathStripToRootW"},
	{"747", "PathUnExpandEnvStringsA"},
	{"748", "PathUnExpandEnvStringsW"},
	{"749", "PathUndecorateA"},
	{"750", "PathUndecorateW"},
	{"751", "PathUnmakeSystemFolderA"},
	{"752", "PathUnmakeSystemFolderW"},
	{"753", "PathUnquoteSpacesA"},
	{"754", "PathUnquoteSpacesW"},
	{"755", "SHAutoComplete"},
	{"756", "SHCopyKeyA"},
	{"757", "SHCopyKeyW"},
	{"758", "SHCreateShellPalette"},
	{"759", "SHCreateStreamOnFileA"},
	{"760", "SHCreateStreamOnFileEx"},
	{"761", "SHCreateStreamOnFileW"},
	{"762", "SHCreateStreamWrapper"},
	{"763", "SHCreateThreadRef"},
	{"764", "SHDeleteEmptyKeyA"},
	{"765", "SHDeleteEmptyKeyW"},
	{"766", "SHDeleteKeyA"},
	{"767", "SHDeleteKeyW"},
	{"768", "SHDeleteOrphanKeyA"},
	{"769", "SHDeleteOrphanKeyW"},
	{"770", "SHDeleteValueA"},
	{"771", "SHDeleteValueW"},
	{"772", "SHEnumKeyExA"},
	{"773", "SHEnumKeyExW"},
	{"774", "SHEnumValueA"},
	{"775", "SHEnumValueW"},
	{"776", "SHGetInverseCMAP"},
	{"777", "SHGetThreadRef"},
	{"778", "SHGetValueA"},
	{"779", "SHGetValueW"},
	{"780", "SHIsLowMemoryMachine"},
	{"781", "SHOpenRegStream2A"},
	{"782", "SHOpenRegStream2W"},
	{"783", "SHOpenRegStreamA"},
	{"784", "SHOpenRegStreamW"},
	{"785", "SHQueryInfoKeyA"},
	{"786", "SHQueryInfoKeyW"},
	{"787", "SHQueryValueExA"},
	{"788", "SHQueryValueExW"},
	{"789", "SHRegCloseUSKey"},
	{"790", "SHRegCreateUSKeyA"},
	{"791", "SHRegCreateUSKeyW"},
	{"792", "SHRegDeleteEmptyUSKeyA"},
	{"793", "SHRegDeleteEmptyUSKeyW"},
	{"794", "SHRegDeleteUSValueA"},
	{"795", "SHRegDeleteUSValueW"},
	{"796", "SHRegDuplicateHKey"},
	{"797", "SHRegEnumUSKeyA"},
	{"798", "SHRegEnumUSKeyW"},
	{"799", "SHRegEnumUSValueA"},
	{"8", "SHLockShared"},
	{"800", "SHRegEnumUSValueW"},
	{"801", "SHRegGetBoolUSValueA"},
	{"802", "SHRegGetBoolUSValueW"},
	{"803", "SHRegGetPathA"},
	{"804", "SHRegGetPathW"},
	{"805", "SHRegGetUSValueA"},
	{"806", "SHRegGetUSValueW"},
	{"807", "SHRegGetValueA"},
	{"808", "SHRegGetValueW"},
	{"809", "SHRegOpenUSKeyA"},
	{"810", "SHRegOpenUSKeyW"},
	{"811", "SHRegQueryInfoUSKeyA"},
	{"812", "SHRegQueryInfoUSKeyW"},
	{"813", "SHRegQueryUSValueA"},
	{"814", "SHRegQueryUSValueW"},
	{"815", "SHRegSetPathA"},
	{"816", "SHRegSetPathW"},
	{"817", "SHRegSetUSValueA"},
	{"818", "SHRegSetUSValueW"},
	{"819", "SHRegWriteUSValueA"},
	{"820", "SHRegWriteUSValueW"},
	{"821", "SHRegisterValidateTemplate"},
	{"822", "SHReleaseThreadRef"},
	{"823", "SHSetThreadRef"},
	{"824", "SHSetValueA"},
	{"825", "SHSetValueW"},
	{"826", "SHSkipJunction"},
	{"827", "SHStrDupA"},
	{"828", "SHStrDupW"},
	{"829", "ShellMessageBoxA"},
	{"830", "StrCSpnA"},
	{"831", "StrCSpnIA"},
	{"832", "StrCSpnIW"},
	{"833", "StrCSpnW"},
	{"834", "StrCatBuffA"},
	{"835", "StrCatBuffW"},
	{"836", "StrCatChainW"},
	{"837", "StrCatW"},
	{"838", "StrChrA"},
	{"839", "StrChrIA"},
	{"840", "StrChrIW"},
	{"841", "StrChrNIW"},
	{"842", "StrChrNW"},
	{"843", "StrChrW"},
	{"844", "StrCmpIW"},
	{"845", "StrCmpLogicalW"},
	{"846", "StrCmpNA"},
	{"847", "StrCmpNIA"},
	{"848", "StrCmpNIW"},
	{"849", "StrCmpNW"},
	{"850", "StrCmpW"},
	{"851", "StrCpyNW"},
	{"852", "StrCpyW"},
	{"853", "StrDupA"},
	{"854", "StrDupW"},
	{"855", "StrFormatByteSize64A"},
	{"856", "StrFormatByteSizeA"},
	{"857", "StrFormatByteSizeEx"},
	{"858", "StrFormatByteSizeW"},
	{"859", "StrFormatKBSizeA"},
	{"860", "StrFormatKBSizeW"},
	{"861", "StrFromTimeIntervalA"},
	{"862", "StrFromTimeIntervalW"},
	{"863", "StrIsIntlEqualA"},
	{"864", "StrIsIntlEqualW"},
	{"865", "StrNCatA"},
	{"866", "StrNCatW"},
	{"867", "StrPBrkA"},
	{"868", "StrPBrkW"},
	{"869", "StrRChrA"},
	{"870", "StrRChrIA"},
	{"871", "StrRChrIW"},
	{"872", "StrRChrW"},
	{"873", "StrRStrIA"},
	{"874", "StrRStrIW"},
	{"875", "StrRetToBSTR"},
	{"876", "StrRetToBufA"},
	{"877", "StrRetToBufW"},
	{"878", "StrRetToStrA"},
	{"879", "StrRetToStrW"},
	{"880", "StrSpnA"},
	{"881", "StrSpnW"},
	{"882", "StrStrA"},
	{"883", "StrStrIA"},
	{"884", "StrStrIW"},
	{"885", "StrStrNIW"},
	{"886", "StrStrNW"},
	{"887", "StrStrW"},
	{"888", "StrToInt64ExA"},
	{"889", "StrToInt64ExW"},
	{"890", "StrToIntA"},
	{"891", "StrToIntExA"},
	{"892", "StrToIntExW"},
	{"893", "StrToIntW"},
	{"894", "StrTrimA"},
	{"895", "StrTrimW"},
	{"896", "UrlApplySchemeA"},
	{"897", "UrlApplySchemeW"},
	{"898", "UrlCanonicalizeA"},
	{"899", "UrlCanonicalizeW"},
	{"9", "SHUnlockShared"},
	{"900", "UrlCombineA"},
	{"901", "UrlCombineW"},
	{"902", "UrlCompareA"},
	{"903", "UrlCompareW"},
	{"904", "UrlCreateFromPathA"},
	{"905", "UrlCreateFromPathW"},
	{"906", "UrlEscapeA"},
	{"907", "UrlEscapeW"},
	{"908", "UrlGetLocationA"},
	{"909", "UrlGetLocationW"},
	{"910", "UrlGetPartA"},
	{"911", "UrlGetPartW"},
	{"912", "UrlHashA"},
	{"913", "UrlHashW"},
	{"914", "UrlIsA"},
	{"915", "UrlIsNoHistoryA"},
	{"916", "UrlIsNoHistoryW"},
	{"917", "UrlIsOpaqueA"},
	{"918", "UrlIsOpaqueW"},
	{"919", "UrlIsW"},
	{"920", "UrlUnescapeA"},
	{"921", "UrlUnescapeW"},
	{"922", "wnsprintfA"},
	{"923", "wnsprintfW"},
	{"924", "wvnsprintfA"},
	{"925", "wvnsprintfW"},
  {NULL, NULL}
};
typedef int (*GperfForeachCallback)(void *user, const char *k, const char *v);
int gperf_shlwapi_foreach(GperfForeachCallback cb, void *user) {
  int i = 0; while (kvs[i].name) {
  cb (user, kvs[i].name, kvs[i].value);
  i++;}
  return 0;
}
const char *gperf_shlwapi_get(const char *s) {
  int i = 0; while (kvs[i].name) {
  if (!strcmp (s, kvs[i].name)) return kvs[i].value;
  i++;}
  return NULL;
}
#define sdb_hash_c_shlwapi(x,y) gperf_shlwapi_hash(x)
const unsigned int gperf_shlwapi_hash(const char *s) {
  int sum = strlen (s);
  while (*s) { sum += *s; s++; }
  return sum;
}
struct {const char *name;void *get;void *hash;void *foreach;} gperf_shlwapi = {
  .name = "shlwapi",
  .get = &gperf_shlwapi_get,
  .hash = &gperf_shlwapi_hash,
  .foreach = &gperf_shlwapi_foreach
};

#if MAIN
int main () {
	const char *s = ((char*(*)(char*))gperf_shlwapi.get)("foo");
	printf ("%s\n", s);
}
#endif
