int HashStr(const char* s, size_t n) { switch (n) { case 0: if (strcmp(s, "") == 0) return TAG46; break; case 4: switch (s[0]) { case 78: if (strcmp(s, "None") == 0) return WSMANTAG_ENUM_POLYMORPHISM_MODE_NONE; break; case 97: if (strcmp(s, "a:To") == 0) return WSMANTAG_TO; break; } break; case 6: if (strcmp(s, "n:Pull") == 0) return WSMANTAG_ENUM_PULL; break; case 7: if (strcmp(s, "Dialect") == 0) return WSMANTAG_ENUM_DIALIECT; break; case 8: switch (s[0]) { case 97: if (strcmp(s, "a:Action") == 0) return WSMANTAG_ACTION; break; case 115: if (strcmp(s, "s:Header") == 0) return WSMANTAG_HEADER; break; case 119: if (strcmp(s, "w:Filter") == 0) return WSMANTAG_ENUM_FILTER; break; } break; case 9: switch (s[4]) { case 100: if (strcmp(s, "a:Address") == 0) return WSMANTAG_ADDRESS; break; case 108: if (strcmp(s, "n:Release") == 0) return WSMANTAG_ENUM_RELEASE; break; case 112: if (strcmp(s, "a:ReplyTo") == 0) return WSMANTAG_REPLY_TO; break; } break; case 10: switch (s[0]) { case 105: if (strcmp(s, "i:Identify") == 0) return WSMANTAG_IDENTIFY; break; case 119: if (strcmp(s, "w:Selector") == 0) return WSMANTAG_SELECTOR; break; } break; case 11: switch (s[0]) { case 97: if (strcmp(s, "a:MessageID") == 0) return WSMANTAG_MESSAGE_ID; break; case 110: if (strcmp(s, "n:Enumerate") == 0) return WSMANTAG_ENUM_ENUMERATE; break; } break; case 12: if (strcmp(s, "EnumerateEPR") == 0) return WSMANTAG_ENUM_MODE_EPR; break; case 13: switch (s[2]) { case 77: if (strcmp(s, "w:MaxElements") == 0) return WSMANTAG_ENUM_MAX_ELEMENTS; if (strcmp(s, "n:MaxElements") == 0) return WSMANTAG_PULL_MAX_ELEMENTS; break; case 82: if (strcmp(s, "w:ResourceURI") == 0) return WSMANTAG_RESOURCE_URI; break; case 83: if (strcmp(s, "w:SelectorSet") == 0) return WSMANTAG_SELECTOR_SET; break; } break; case 15: if (strcmp(s, "EnumerateObject") == 0) return WSMANTAG_ENUM_MODE_OBJECT; break; case 17: switch (s[2]) { case 69: if (strcmp(s, "w:EnumerationMode") == 0) return WSMANTAG_ENUM_MODE; break; case 77: if (strcmp(s, "w:MaxEnvelopeSize") == 0) return WSMANTAG_MAX_ENVELOPE_SIZE; break; } break; case 18: if (strcmp(s, "b:PolymorphismMode") == 0) return WSMANTAG_ENUM_POLYMORPHISM_MODE; break; case 20: if (strcmp(s, "n:EnumerationContext") == 0) return WSMANTAG_PULL_ENUMERATION_CONTEXT; break; case 21: switch (s[0]) { case 69: if (strcmp(s, "EnumerateObjectAndEPR") == 0) return WSMANTAG_ENUM_MODE_OBJECT_AND_EPR; break; case 119: if (strcmp(s, "w:OptimizeEnumeration") == 0) return WSMANTAG_ENUM_OPTIMIZE_ENUMERATION; break; } break; case 25: switch (s[0]) { case 69: if (strcmp(s, "ExcludeSubClassProperties") == 0) return WSMANTAG_ENUM_POLYMORPHISM_MODE_EXCLUDE_PROPS; break; case 73: if (strcmp(s, "IncludeSubClassProperties") == 0) return WSMANTAG_ENUM_POLYMORPHISM_MODE_INCLUDE_PROPS; break; } break; case 50: switch (s[47]) { case 71: if (strcmp(s, "http://schemas.xmlsoap.org/ws/2004/09/transfer/Get") == 0) return WSMANTAG_ACTION_GET; break; case 80: if (strcmp(s, "http://schemas.xmlsoap.org/ws/2004/09/transfer/Put") == 0) return WSMANTAG_ACTION_PUT; break; } break; case 53: switch (s[47]) { case 67: if (strcmp(s, "http://schemas.xmlsoap.org/ws/2004/09/transfer/Create") == 0) return WSMANTAG_ACTION_CREATE; break; case 68: if (strcmp(s, "http://schemas.xmlsoap.org/ws/2004/09/transfer/Delete") == 0) return WSMANTAG_ACTION_DELETE; break; } break; case 54: if (strcmp(s, "http://schemas.xmlsoap.org/ws/2004/09/enumeration/Pull") == 0) return WSMANTAG_ACTION_PULL; break; case 57: if (strcmp(s, "http://schemas.xmlsoap.org/ws/2004/09/enumeration/Release") == 0) return WSMANTAG_ACTION_RELEASE; break; case 59: if (strcmp(s, "http://schemas.xmlsoap.org/ws/2004/09/enumeration/Enumerate") == 0) return WSMANTAG_ACTION_ENUMERATE; break; } /* Not found */ return 0; }