// 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 wldap32.c ; ./a.out > wldap32.h
	{"LdapGetLastError", "16"},
	{"LdapMapErrorToWin32", "18"},
	{"LdapUTF8ToUnicode", "29"},
	{"LdapUnicodeToUTF8", "53"},
	{"ber_alloc_t", "304"},
	{"ber_bvdup", "303"},
	{"ber_bvecfree", "302"},
	{"ber_bvfree", "54"},
	{"ber_first_element", "307"},
	{"ber_flatten", "309"},
	{"ber_free", "301"},
	{"ber_init", "300"},
	{"ber_next_element", "308"},
	{"ber_peek_tag", "306"},
	{"ber_printf", "310"},
	{"ber_scanf", "311"},
	{"ber_skip_tag", "305"},
	{"cldap_open", "17"},
	{"cldap_openA", "55"},
	{"cldap_openW", "28"},
	{"ldap_abandon", "10"},
	{"ldap_add", "11"},
	{"ldap_addA", "56"},
	{"ldap_addW", "42"},
	{"ldap_add_ext", "57"},
	{"ldap_add_extA", "58"},
	{"ldap_add_extW", "62"},
	{"ldap_add_ext_s", "63"},
	{"ldap_add_ext_sA", "64"},
	{"ldap_add_ext_sW", "65"},
	{"ldap_add_s", "44"},
	{"ldap_add_sA", "66"},
	{"ldap_add_sW", "69"},
	{"ldap_bind", "61"},
	{"ldap_bindA", "70"},
	{"ldap_bindW", "71"},
	{"ldap_bind_s", "45"},
	{"ldap_bind_sA", "72"},
	{"ldap_bind_sW", "73"},
	{"ldap_check_filterA", "230"},
	{"ldap_check_filterW", "231"},
	{"ldap_cleanup", "202"},
	{"ldap_close_extended_op", "74"},
	{"ldap_compare", "19"},
	{"ldap_compareA", "75"},
	{"ldap_compareW", "76"},
	{"ldap_compare_ext", "78"},
	{"ldap_compare_extA", "80"},
	{"ldap_compare_extW", "81"},
	{"ldap_compare_ext_s", "83"},
	{"ldap_compare_ext_sA", "84"},
	{"ldap_compare_ext_sW", "85"},
	{"ldap_compare_s", "52"},
	{"ldap_compare_sA", "86"},
	{"ldap_compare_sW", "87"},
	{"ldap_conn_from_msg", "312"},
	{"ldap_connect", "88"},
	{"ldap_control_free", "89"},
	{"ldap_control_freeA", "90"},
	{"ldap_control_freeW", "91"},
	{"ldap_controls_free", "92"},
	{"ldap_controls_freeA", "93"},
	{"ldap_controls_freeW", "94"},
	{"ldap_count_entries", "36"},
	{"ldap_count_references", "95"},
	{"ldap_count_values", "37"},
	{"ldap_count_valuesA", "96"},
	{"ldap_count_valuesW", "97"},
	{"ldap_count_values_len", "77"},
	{"ldap_create_page_control", "98"},
	{"ldap_create_page_controlA", "99"},
	{"ldap_create_page_controlW", "100"},
	{"ldap_create_sort_control", "101"},
	{"ldap_create_sort_controlA", "102"},
	{"ldap_create_sort_controlW", "103"},
	{"ldap_create_vlv_controlA", "320"},
	{"ldap_create_vlv_controlW", "319"},
	{"ldap_delete", "20"},
	{"ldap_deleteA", "104"},
	{"ldap_deleteW", "105"},
	{"ldap_delete_ext", "106"},
	{"ldap_delete_extA", "107"},
	{"ldap_delete_extW", "108"},
	{"ldap_delete_ext_s", "109"},
	{"ldap_delete_ext_sA", "110"},
	{"ldap_delete_ext_sW", "111"},
	{"ldap_delete_s", "47"},
	{"ldap_delete_sA", "112"},
	{"ldap_delete_sW", "113"},
	{"ldap_dn2ufn", "31"},
	{"ldap_dn2ufnA", "232"},
	{"ldap_dn2ufnW", "114"},
	{"ldap_encode_sort_controlA", "115"},
	{"ldap_encode_sort_controlW", "116"},
	{"ldap_err2string", "22"},
	{"ldap_err2stringA", "117"},
	{"ldap_err2stringW", "118"},
	{"ldap_escape_filter_element", "197"},
	{"ldap_escape_filter_elementA", "119"},
	{"ldap_escape_filter_elementW", "120"},
	{"ldap_explode_dn", "39"},
	{"ldap_explode_dnA", "121"},
	{"ldap_explode_dnW", "122"},
	{"ldap_extended_operation", "123"},
	{"ldap_extended_operationA", "124"},
	{"ldap_extended_operationW", "125"},
	{"ldap_extended_operation_sA", "333"},
	{"ldap_extended_operation_sW", "332"},
	{"ldap_first_attribute", "32"},
	{"ldap_first_attributeA", "126"},
	{"ldap_first_attributeW", "127"},
	{"ldap_first_entry", "26"},
	{"ldap_first_reference", "128"},
	{"ldap_free_controls", "129"},
	{"ldap_free_controlsA", "130"},
	{"ldap_free_controlsW", "131"},
	{"ldap_get_dn", "30"},
	{"ldap_get_dnA", "132"},
	{"ldap_get_dnW", "133"},
	{"ldap_get_next_page", "134"},
	{"ldap_get_next_page_s", "135"},
	{"ldap_get_option", "136"},
	{"ldap_get_optionA", "137"},
	{"ldap_get_optionW", "12"},
	{"ldap_get_paged_count", "138"},
	{"ldap_get_values", "34"},
	{"ldap_get_valuesA", "139"},
	{"ldap_get_valuesW", "140"},
	{"ldap_get_values_len", "35"},
	{"ldap_get_values_lenA", "141"},
	{"ldap_get_values_lenW", "142"},
	{"ldap_init", "143"},
	{"ldap_initA", "144"},
	{"ldap_initW", "145"},
	{"ldap_memfree", "200"},
	{"ldap_memfreeA", "146"},
	{"ldap_memfreeW", "147"},
	{"ldap_modify", "23"},
	{"ldap_modifyA", "148"},
	{"ldap_modifyW", "149"},
	{"ldap_modify_ext", "150"},
	{"ldap_modify_extA", "151"},
	{"ldap_modify_extW", "152"},
	{"ldap_modify_ext_s", "153"},
	{"ldap_modify_ext_sA", "154"},
	{"ldap_modify_ext_sW", "155"},
	{"ldap_modify_s", "48"},
	{"ldap_modify_sA", "156"},
	{"ldap_modify_sW", "157"},
	{"ldap_modrdn", "24"},
	{"ldap_modrdn2", "67"},
	{"ldap_modrdn2A", "158"},
	{"ldap_modrdn2W", "159"},
	{"ldap_modrdn2_s", "68"},
	{"ldap_modrdn2_sA", "160"},
	{"ldap_modrdn2_sW", "161"},
	{"ldap_modrdnA", "162"},
	{"ldap_modrdnW", "163"},
	{"ldap_modrdn_s", "49"},
	{"ldap_modrdn_sA", "164"},
	{"ldap_modrdn_sW", "165"},
	{"ldap_msgfree", "41"},
	{"ldap_next_attribute", "33"},
	{"ldap_next_attributeA", "166"},
	{"ldap_next_attributeW", "167"},
	{"ldap_next_entry", "27"},
	{"ldap_next_reference", "168"},
	{"ldap_open", "25"},
	{"ldap_openA", "169"},
	{"ldap_openW", "170"},
	{"ldap_parse_extended_resultA", "318"},
	{"ldap_parse_extended_resultW", "317"},
	{"ldap_parse_page_control", "171"},
	{"ldap_parse_page_controlA", "172"},
	{"ldap_parse_page_controlW", "173"},
	{"ldap_parse_reference", "174"},
	{"ldap_parse_referenceA", "175"},
	{"ldap_parse_referenceW", "176"},
	{"ldap_parse_result", "177"},
	{"ldap_parse_resultA", "178"},
	{"ldap_parse_resultW", "179"},
	{"ldap_parse_sort_control", "180"},
	{"ldap_parse_sort_controlA", "181"},
	{"ldap_parse_sort_controlW", "182"},
	{"ldap_parse_vlv_controlA", "322"},
	{"ldap_parse_vlv_controlW", "321"},
	{"ldap_perror", "82"},
	{"ldap_rename_ext", "183"},
	{"ldap_rename_extA", "184"},
	{"ldap_rename_extW", "185"},
	{"ldap_rename_ext_s", "186"},
	{"ldap_rename_ext_sA", "187"},
	{"ldap_rename_ext_sW", "188"},
	{"ldap_result", "40"},
	{"ldap_result2error", "21"},
	{"ldap_sasl_bindA", "315"},
	{"ldap_sasl_bindW", "313"},
	{"ldap_sasl_bind_sA", "316"},
	{"ldap_sasl_bind_sW", "314"},
	{"ldap_search", "43"},
	{"ldap_searchA", "189"},
	{"ldap_searchW", "190"},
	{"ldap_search_abandon_page", "191"},
	{"ldap_search_ext", "192"},
	{"ldap_search_extA", "193"},
	{"ldap_search_extW", "194"},
	{"ldap_search_ext_s", "195"},
	{"ldap_search_ext_sA", "196"},
	{"ldap_search_ext_sW", "203"},
	{"ldap_search_init_page", "204"},
	{"ldap_search_init_pageA", "205"},
	{"ldap_search_init_pageW", "206"},
	{"ldap_search_s", "50"},
	{"ldap_search_sA", "207"},
	{"ldap_search_sW", "208"},
	{"ldap_search_st", "51"},
	{"ldap_search_stA", "209"},
	{"ldap_search_stW", "210"},
	{"ldap_set_dbg_flags", "198"},
	{"ldap_set_dbg_routine", "199"},
	{"ldap_set_option", "211"},
	{"ldap_set_optionA", "212"},
	{"ldap_set_optionW", "14"},
	{"ldap_simple_bind", "59"},
	{"ldap_simple_bindA", "213"},
	{"ldap_simple_bindW", "214"},
	{"ldap_simple_bind_s", "60"},
	{"ldap_simple_bind_sA", "215"},
	{"ldap_simple_bind_sW", "216"},
	{"ldap_sslinit", "217"},
	{"ldap_sslinitA", "218"},
	{"ldap_sslinitW", "219"},
	{"ldap_start_tls_sA", "330"},
	{"ldap_start_tls_sW", "329"},
	{"ldap_startup", "201"},
	{"ldap_stop_tls_s", "331"},
	{"ldap_ufn2dn", "220"},
	{"ldap_ufn2dnA", "221"},
	{"ldap_ufn2dnW", "222"},
	{"ldap_unbind", "13"},
	{"ldap_unbind_s", "46"},
	{"ldap_value_free", "38"},
	{"ldap_value_freeA", "223"},
	{"ldap_value_freeW", "224"},
	{"ldap_value_free_len", "79"},
  {NULL, NULL}
};
typedef int (*GperfForeachCallback)(void *user, const char *k, const char *v);
int gperf_wldap32_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_wldap32_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_wldap32(x,y) gperf_wldap32_hash(x)
const unsigned int gperf_wldap32_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_wldap32 = {
  .name = "wldap32",
  .get = &gperf_wldap32_get,
  .hash = &gperf_wldap32_hash,
  .foreach = &gperf_wldap32_foreach
};

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