//! NOTE: this file is autogenerated, DO NOT MODIFY //-------------------------------------------------------------------------------- // Section: Constants (891) //-------------------------------------------------------------------------------- pub const ALL_SERVICE_TYPES = @as(u32, 0); pub const HIGHLEVEL_SERVICE_TYPES = @as(u32, 1); pub const LOWLEVEL_SERVICE_TYPES = @as(u32, 2); pub const ALL_SERVICES = @as(u32, 0); pub const ONLINE_SERVICES = @as(u32, 1); pub const OFFLINE_SERVICES = @as(u32, 2); pub const MAX_LEADBYTES = @as(u32, 12); pub const MAX_DEFAULTCHAR = @as(u32, 2); pub const HIGH_SURROGATE_START = @as(u32, 55296); pub const HIGH_SURROGATE_END = @as(u32, 56319); pub const LOW_SURROGATE_START = @as(u32, 56320); pub const LOW_SURROGATE_END = @as(u32, 57343); pub const WC_COMPOSITECHECK = @as(u32, 512); pub const WC_DISCARDNS = @as(u32, 16); pub const WC_SEPCHARS = @as(u32, 32); pub const WC_DEFAULTCHAR = @as(u32, 64); pub const WC_ERR_INVALID_CHARS = @as(u32, 128); pub const WC_NO_BEST_FIT_CHARS = @as(u32, 1024); pub const CT_CTYPE1 = @as(u32, 1); pub const CT_CTYPE2 = @as(u32, 2); pub const CT_CTYPE3 = @as(u32, 4); pub const C1_UPPER = @as(u32, 1); pub const C1_LOWER = @as(u32, 2); pub const C1_DIGIT = @as(u32, 4); pub const C1_SPACE = @as(u32, 8); pub const C1_PUNCT = @as(u32, 16); pub const C1_CNTRL = @as(u32, 32); pub const C1_BLANK = @as(u32, 64); pub const C1_XDIGIT = @as(u32, 128); pub const C1_ALPHA = @as(u32, 256); pub const C1_DEFINED = @as(u32, 512); pub const C2_LEFTTORIGHT = @as(u32, 1); pub const C2_RIGHTTOLEFT = @as(u32, 2); pub const C2_EUROPENUMBER = @as(u32, 3); pub const C2_EUROPESEPARATOR = @as(u32, 4); pub const C2_EUROPETERMINATOR = @as(u32, 5); pub const C2_ARABICNUMBER = @as(u32, 6); pub const C2_COMMONSEPARATOR = @as(u32, 7); pub const C2_BLOCKSEPARATOR = @as(u32, 8); pub const C2_SEGMENTSEPARATOR = @as(u32, 9); pub const C2_WHITESPACE = @as(u32, 10); pub const C2_OTHERNEUTRAL = @as(u32, 11); pub const C2_NOTAPPLICABLE = @as(u32, 0); pub const C3_NONSPACING = @as(u32, 1); pub const C3_DIACRITIC = @as(u32, 2); pub const C3_VOWELMARK = @as(u32, 4); pub const C3_SYMBOL = @as(u32, 8); pub const C3_KATAKANA = @as(u32, 16); pub const C3_HIRAGANA = @as(u32, 32); pub const C3_HALFWIDTH = @as(u32, 64); pub const C3_FULLWIDTH = @as(u32, 128); pub const C3_IDEOGRAPH = @as(u32, 256); pub const C3_KASHIDA = @as(u32, 512); pub const C3_LEXICAL = @as(u32, 1024); pub const C3_HIGHSURROGATE = @as(u32, 2048); pub const C3_LOWSURROGATE = @as(u32, 4096); pub const C3_ALPHA = @as(u32, 32768); pub const C3_NOTAPPLICABLE = @as(u32, 0); pub const LCMAP_LOWERCASE = @as(u32, 256); pub const LCMAP_UPPERCASE = @as(u32, 512); pub const LCMAP_TITLECASE = @as(u32, 768); pub const LCMAP_SORTKEY = @as(u32, 1024); pub const LCMAP_BYTEREV = @as(u32, 2048); pub const LCMAP_HIRAGANA = @as(u32, 1048576); pub const LCMAP_KATAKANA = @as(u32, 2097152); pub const LCMAP_HALFWIDTH = @as(u32, 4194304); pub const LCMAP_FULLWIDTH = @as(u32, 8388608); pub const LCMAP_LINGUISTIC_CASING = @as(u32, 16777216); pub const LCMAP_SIMPLIFIED_CHINESE = @as(u32, 33554432); pub const LCMAP_TRADITIONAL_CHINESE = @as(u32, 67108864); pub const LCMAP_SORTHANDLE = @as(u32, 536870912); pub const LCMAP_HASH = @as(u32, 262144); pub const FIND_STARTSWITH = @as(u32, 1048576); pub const FIND_ENDSWITH = @as(u32, 2097152); pub const FIND_FROMSTART = @as(u32, 4194304); pub const FIND_FROMEND = @as(u32, 8388608); pub const LCID_ALTERNATE_SORTS = @as(u32, 4); pub const LOCALE_ALL = @as(u32, 0); pub const LOCALE_WINDOWS = @as(u32, 1); pub const LOCALE_SUPPLEMENTAL = @as(u32, 2); pub const LOCALE_ALTERNATE_SORTS = @as(u32, 4); pub const LOCALE_REPLACEMENT = @as(u32, 8); pub const LOCALE_NEUTRALDATA = @as(u32, 16); pub const LOCALE_SPECIFICDATA = @as(u32, 32); pub const CSTR_LESS_THAN = @as(u32, 1); pub const CSTR_EQUAL = @as(u32, 2); pub const CSTR_GREATER_THAN = @as(u32, 3); pub const CP_ACP = @as(u32, 0); pub const CP_OEMCP = @as(u32, 1); pub const CP_MACCP = @as(u32, 2); pub const CP_THREAD_ACP = @as(u32, 3); pub const CP_SYMBOL = @as(u32, 42); pub const CP_UTF7 = @as(u32, 65000); pub const CP_UTF8 = @as(u32, 65001); pub const CTRY_DEFAULT = @as(u32, 0); pub const CTRY_ALBANIA = @as(u32, 355); pub const CTRY_ALGERIA = @as(u32, 213); pub const CTRY_ARGENTINA = @as(u32, 54); pub const CTRY_ARMENIA = @as(u32, 374); pub const CTRY_AUSTRALIA = @as(u32, 61); pub const CTRY_AUSTRIA = @as(u32, 43); pub const CTRY_AZERBAIJAN = @as(u32, 994); pub const CTRY_BAHRAIN = @as(u32, 973); pub const CTRY_BELARUS = @as(u32, 375); pub const CTRY_BELGIUM = @as(u32, 32); pub const CTRY_BELIZE = @as(u32, 501); pub const CTRY_BOLIVIA = @as(u32, 591); pub const CTRY_BRAZIL = @as(u32, 55); pub const CTRY_BRUNEI_DARUSSALAM = @as(u32, 673); pub const CTRY_BULGARIA = @as(u32, 359); pub const CTRY_CANADA = @as(u32, 2); pub const CTRY_CARIBBEAN = @as(u32, 1); pub const CTRY_CHILE = @as(u32, 56); pub const CTRY_COLOMBIA = @as(u32, 57); pub const CTRY_COSTA_RICA = @as(u32, 506); pub const CTRY_CROATIA = @as(u32, 385); pub const CTRY_CZECH = @as(u32, 420); pub const CTRY_DENMARK = @as(u32, 45); pub const CTRY_DOMINICAN_REPUBLIC = @as(u32, 1); pub const CTRY_ECUADOR = @as(u32, 593); pub const CTRY_EGYPT = @as(u32, 20); pub const CTRY_EL_SALVADOR = @as(u32, 503); pub const CTRY_ESTONIA = @as(u32, 372); pub const CTRY_FAEROE_ISLANDS = @as(u32, 298); pub const CTRY_FINLAND = @as(u32, 358); pub const CTRY_FRANCE = @as(u32, 33); pub const CTRY_GEORGIA = @as(u32, 995); pub const CTRY_GERMANY = @as(u32, 49); pub const CTRY_GREECE = @as(u32, 30); pub const CTRY_GUATEMALA = @as(u32, 502); pub const CTRY_HONDURAS = @as(u32, 504); pub const CTRY_HONG_KONG = @as(u32, 852); pub const CTRY_HUNGARY = @as(u32, 36); pub const CTRY_ICELAND = @as(u32, 354); pub const CTRY_INDIA = @as(u32, 91); pub const CTRY_INDONESIA = @as(u32, 62); pub const CTRY_IRAN = @as(u32, 981); pub const CTRY_IRAQ = @as(u32, 964); pub const CTRY_IRELAND = @as(u32, 353); pub const CTRY_ISRAEL = @as(u32, 972); pub const CTRY_ITALY = @as(u32, 39); pub const CTRY_JAMAICA = @as(u32, 1); pub const CTRY_JAPAN = @as(u32, 81); pub const CTRY_JORDAN = @as(u32, 962); pub const CTRY_KAZAKSTAN = @as(u32, 7); pub const CTRY_KENYA = @as(u32, 254); pub const CTRY_KUWAIT = @as(u32, 965); pub const CTRY_KYRGYZSTAN = @as(u32, 996); pub const CTRY_LATVIA = @as(u32, 371); pub const CTRY_LEBANON = @as(u32, 961); pub const CTRY_LIBYA = @as(u32, 218); pub const CTRY_LIECHTENSTEIN = @as(u32, 41); pub const CTRY_LITHUANIA = @as(u32, 370); pub const CTRY_LUXEMBOURG = @as(u32, 352); pub const CTRY_MACAU = @as(u32, 853); pub const CTRY_MACEDONIA = @as(u32, 389); pub const CTRY_MALAYSIA = @as(u32, 60); pub const CTRY_MALDIVES = @as(u32, 960); pub const CTRY_MEXICO = @as(u32, 52); pub const CTRY_MONACO = @as(u32, 33); pub const CTRY_MONGOLIA = @as(u32, 976); pub const CTRY_MOROCCO = @as(u32, 212); pub const CTRY_NETHERLANDS = @as(u32, 31); pub const CTRY_NEW_ZEALAND = @as(u32, 64); pub const CTRY_NICARAGUA = @as(u32, 505); pub const CTRY_NORWAY = @as(u32, 47); pub const CTRY_OMAN = @as(u32, 968); pub const CTRY_PAKISTAN = @as(u32, 92); pub const CTRY_PANAMA = @as(u32, 507); pub const CTRY_PARAGUAY = @as(u32, 595); pub const CTRY_PERU = @as(u32, 51); pub const CTRY_PHILIPPINES = @as(u32, 63); pub const CTRY_POLAND = @as(u32, 48); pub const CTRY_PORTUGAL = @as(u32, 351); pub const CTRY_PRCHINA = @as(u32, 86); pub const CTRY_PUERTO_RICO = @as(u32, 1); pub const CTRY_QATAR = @as(u32, 974); pub const CTRY_ROMANIA = @as(u32, 40); pub const CTRY_RUSSIA = @as(u32, 7); pub const CTRY_SAUDI_ARABIA = @as(u32, 966); pub const CTRY_SERBIA = @as(u32, 381); pub const CTRY_SINGAPORE = @as(u32, 65); pub const CTRY_SLOVAK = @as(u32, 421); pub const CTRY_SLOVENIA = @as(u32, 386); pub const CTRY_SOUTH_AFRICA = @as(u32, 27); pub const CTRY_SOUTH_KOREA = @as(u32, 82); pub const CTRY_SPAIN = @as(u32, 34); pub const CTRY_SWEDEN = @as(u32, 46); pub const CTRY_SWITZERLAND = @as(u32, 41); pub const CTRY_SYRIA = @as(u32, 963); pub const CTRY_TAIWAN = @as(u32, 886); pub const CTRY_TATARSTAN = @as(u32, 7); pub const CTRY_THAILAND = @as(u32, 66); pub const CTRY_TRINIDAD_Y_TOBAGO = @as(u32, 1); pub const CTRY_TUNISIA = @as(u32, 216); pub const CTRY_TURKEY = @as(u32, 90); pub const CTRY_UAE = @as(u32, 971); pub const CTRY_UKRAINE = @as(u32, 380); pub const CTRY_UNITED_KINGDOM = @as(u32, 44); pub const CTRY_UNITED_STATES = @as(u32, 1); pub const CTRY_URUGUAY = @as(u32, 598); pub const CTRY_UZBEKISTAN = @as(u32, 7); pub const CTRY_VENEZUELA = @as(u32, 58); pub const CTRY_VIET_NAM = @as(u32, 84); pub const CTRY_YEMEN = @as(u32, 967); pub const CTRY_ZIMBABWE = @as(u32, 263); pub const LOCALE_NOUSEROVERRIDE = @as(u32, 2147483648); pub const LOCALE_USE_CP_ACP = @as(u32, 1073741824); pub const LOCALE_RETURN_NUMBER = @as(u32, 536870912); pub const LOCALE_RETURN_GENITIVE_NAMES = @as(u32, 268435456); pub const LOCALE_ALLOW_NEUTRAL_NAMES = @as(u32, 134217728); pub const LOCALE_SLOCALIZEDDISPLAYNAME = @as(u32, 2); pub const LOCALE_SENGLISHDISPLAYNAME = @as(u32, 114); pub const LOCALE_SNATIVEDISPLAYNAME = @as(u32, 115); pub const LOCALE_SLOCALIZEDLANGUAGENAME = @as(u32, 111); pub const LOCALE_SENGLISHLANGUAGENAME = @as(u32, 4097); pub const LOCALE_SNATIVELANGUAGENAME = @as(u32, 4); pub const LOCALE_SLOCALIZEDCOUNTRYNAME = @as(u32, 6); pub const LOCALE_SENGLISHCOUNTRYNAME = @as(u32, 4098); pub const LOCALE_SNATIVECOUNTRYNAME = @as(u32, 8); pub const LOCALE_IDIALINGCODE = @as(u32, 5); pub const LOCALE_SLIST = @as(u32, 12); pub const LOCALE_IMEASURE = @as(u32, 13); pub const LOCALE_SDECIMAL = @as(u32, 14); pub const LOCALE_STHOUSAND = @as(u32, 15); pub const LOCALE_SGROUPING = @as(u32, 16); pub const LOCALE_IDIGITS = @as(u32, 17); pub const LOCALE_ILZERO = @as(u32, 18); pub const LOCALE_INEGNUMBER = @as(u32, 4112); pub const LOCALE_SNATIVEDIGITS = @as(u32, 19); pub const LOCALE_SCURRENCY = @as(u32, 20); pub const LOCALE_SINTLSYMBOL = @as(u32, 21); pub const LOCALE_SMONDECIMALSEP = @as(u32, 22); pub const LOCALE_SMONTHOUSANDSEP = @as(u32, 23); pub const LOCALE_SMONGROUPING = @as(u32, 24); pub const LOCALE_ICURRDIGITS = @as(u32, 25); pub const LOCALE_ICURRENCY = @as(u32, 27); pub const LOCALE_INEGCURR = @as(u32, 28); pub const LOCALE_SSHORTDATE = @as(u32, 31); pub const LOCALE_SLONGDATE = @as(u32, 32); pub const LOCALE_STIMEFORMAT = @as(u32, 4099); pub const LOCALE_SAM = @as(u32, 40); pub const LOCALE_SPM = @as(u32, 41); pub const LOCALE_ICALENDARTYPE = @as(u32, 4105); pub const LOCALE_IOPTIONALCALENDAR = @as(u32, 4107); pub const LOCALE_IFIRSTDAYOFWEEK = @as(u32, 4108); pub const LOCALE_IFIRSTWEEKOFYEAR = @as(u32, 4109); pub const LOCALE_SDAYNAME1 = @as(u32, 42); pub const LOCALE_SDAYNAME2 = @as(u32, 43); pub const LOCALE_SDAYNAME3 = @as(u32, 44); pub const LOCALE_SDAYNAME4 = @as(u32, 45); pub const LOCALE_SDAYNAME5 = @as(u32, 46); pub const LOCALE_SDAYNAME6 = @as(u32, 47); pub const LOCALE_SDAYNAME7 = @as(u32, 48); pub const LOCALE_SABBREVDAYNAME1 = @as(u32, 49); pub const LOCALE_SABBREVDAYNAME2 = @as(u32, 50); pub const LOCALE_SABBREVDAYNAME3 = @as(u32, 51); pub const LOCALE_SABBREVDAYNAME4 = @as(u32, 52); pub const LOCALE_SABBREVDAYNAME5 = @as(u32, 53); pub const LOCALE_SABBREVDAYNAME6 = @as(u32, 54); pub const LOCALE_SABBREVDAYNAME7 = @as(u32, 55); pub const LOCALE_SMONTHNAME1 = @as(u32, 56); pub const LOCALE_SMONTHNAME2 = @as(u32, 57); pub const LOCALE_SMONTHNAME3 = @as(u32, 58); pub const LOCALE_SMONTHNAME4 = @as(u32, 59); pub const LOCALE_SMONTHNAME5 = @as(u32, 60); pub const LOCALE_SMONTHNAME6 = @as(u32, 61); pub const LOCALE_SMONTHNAME7 = @as(u32, 62); pub const LOCALE_SMONTHNAME8 = @as(u32, 63); pub const LOCALE_SMONTHNAME9 = @as(u32, 64); pub const LOCALE_SMONTHNAME10 = @as(u32, 65); pub const LOCALE_SMONTHNAME11 = @as(u32, 66); pub const LOCALE_SMONTHNAME12 = @as(u32, 67); pub const LOCALE_SMONTHNAME13 = @as(u32, 4110); pub const LOCALE_SABBREVMONTHNAME1 = @as(u32, 68); pub const LOCALE_SABBREVMONTHNAME2 = @as(u32, 69); pub const LOCALE_SABBREVMONTHNAME3 = @as(u32, 70); pub const LOCALE_SABBREVMONTHNAME4 = @as(u32, 71); pub const LOCALE_SABBREVMONTHNAME5 = @as(u32, 72); pub const LOCALE_SABBREVMONTHNAME6 = @as(u32, 73); pub const LOCALE_SABBREVMONTHNAME7 = @as(u32, 74); pub const LOCALE_SABBREVMONTHNAME8 = @as(u32, 75); pub const LOCALE_SABBREVMONTHNAME9 = @as(u32, 76); pub const LOCALE_SABBREVMONTHNAME10 = @as(u32, 77); pub const LOCALE_SABBREVMONTHNAME11 = @as(u32, 78); pub const LOCALE_SABBREVMONTHNAME12 = @as(u32, 79); pub const LOCALE_SABBREVMONTHNAME13 = @as(u32, 4111); pub const LOCALE_SPOSITIVESIGN = @as(u32, 80); pub const LOCALE_SNEGATIVESIGN = @as(u32, 81); pub const LOCALE_IPOSSIGNPOSN = @as(u32, 82); pub const LOCALE_INEGSIGNPOSN = @as(u32, 83); pub const LOCALE_IPOSSYMPRECEDES = @as(u32, 84); pub const LOCALE_IPOSSEPBYSPACE = @as(u32, 85); pub const LOCALE_INEGSYMPRECEDES = @as(u32, 86); pub const LOCALE_INEGSEPBYSPACE = @as(u32, 87); pub const LOCALE_FONTSIGNATURE = @as(u32, 88); pub const LOCALE_SISO639LANGNAME = @as(u32, 89); pub const LOCALE_SISO3166CTRYNAME = @as(u32, 90); pub const LOCALE_IPAPERSIZE = @as(u32, 4106); pub const LOCALE_SENGCURRNAME = @as(u32, 4103); pub const LOCALE_SNATIVECURRNAME = @as(u32, 4104); pub const LOCALE_SYEARMONTH = @as(u32, 4102); pub const LOCALE_SSORTNAME = @as(u32, 4115); pub const LOCALE_IDIGITSUBSTITUTION = @as(u32, 4116); pub const LOCALE_SNAME = @as(u32, 92); pub const LOCALE_SDURATION = @as(u32, 93); pub const LOCALE_SSHORTESTDAYNAME1 = @as(u32, 96); pub const LOCALE_SSHORTESTDAYNAME2 = @as(u32, 97); pub const LOCALE_SSHORTESTDAYNAME3 = @as(u32, 98); pub const LOCALE_SSHORTESTDAYNAME4 = @as(u32, 99); pub const LOCALE_SSHORTESTDAYNAME5 = @as(u32, 100); pub const LOCALE_SSHORTESTDAYNAME6 = @as(u32, 101); pub const LOCALE_SSHORTESTDAYNAME7 = @as(u32, 102); pub const LOCALE_SISO639LANGNAME2 = @as(u32, 103); pub const LOCALE_SISO3166CTRYNAME2 = @as(u32, 104); pub const LOCALE_SNAN = @as(u32, 105); pub const LOCALE_SPOSINFINITY = @as(u32, 106); pub const LOCALE_SNEGINFINITY = @as(u32, 107); pub const LOCALE_SSCRIPTS = @as(u32, 108); pub const LOCALE_SPARENT = @as(u32, 109); pub const LOCALE_SCONSOLEFALLBACKNAME = @as(u32, 110); pub const LOCALE_IREADINGLAYOUT = @as(u32, 112); pub const LOCALE_INEUTRAL = @as(u32, 113); pub const LOCALE_INEGATIVEPERCENT = @as(u32, 116); pub const LOCALE_IPOSITIVEPERCENT = @as(u32, 117); pub const LOCALE_SPERCENT = @as(u32, 118); pub const LOCALE_SPERMILLE = @as(u32, 119); pub const LOCALE_SMONTHDAY = @as(u32, 120); pub const LOCALE_SSHORTTIME = @as(u32, 121); pub const LOCALE_SOPENTYPELANGUAGETAG = @as(u32, 122); pub const LOCALE_SSORTLOCALE = @as(u32, 123); pub const LOCALE_SRELATIVELONGDATE = @as(u32, 124); pub const LOCALE_ICONSTRUCTEDLOCALE = @as(u32, 125); pub const LOCALE_SSHORTESTAM = @as(u32, 126); pub const LOCALE_SSHORTESTPM = @as(u32, 127); pub const LOCALE_IUSEUTF8LEGACYACP = @as(u32, 1638); pub const LOCALE_IUSEUTF8LEGACYOEMCP = @as(u32, 2457); pub const LOCALE_IDEFAULTCODEPAGE = @as(u32, 11); pub const LOCALE_IDEFAULTANSICODEPAGE = @as(u32, 4100); pub const LOCALE_IDEFAULTMACCODEPAGE = @as(u32, 4113); pub const LOCALE_IDEFAULTEBCDICCODEPAGE = @as(u32, 4114); pub const LOCALE_ILANGUAGE = @as(u32, 1); pub const LOCALE_SABBREVLANGNAME = @as(u32, 3); pub const LOCALE_SABBREVCTRYNAME = @as(u32, 7); pub const LOCALE_IGEOID = @as(u32, 91); pub const LOCALE_IDEFAULTLANGUAGE = @as(u32, 9); pub const LOCALE_IDEFAULTCOUNTRY = @as(u32, 10); pub const LOCALE_IINTLCURRDIGITS = @as(u32, 26); pub const LOCALE_SDATE = @as(u32, 29); pub const LOCALE_STIME = @as(u32, 30); pub const LOCALE_IDATE = @as(u32, 33); pub const LOCALE_ILDATE = @as(u32, 34); pub const LOCALE_ITIME = @as(u32, 35); pub const LOCALE_ITIMEMARKPOSN = @as(u32, 4101); pub const LOCALE_ICENTURY = @as(u32, 36); pub const LOCALE_ITLZERO = @as(u32, 37); pub const LOCALE_IDAYLZERO = @as(u32, 38); pub const LOCALE_IMONLZERO = @as(u32, 39); pub const LOCALE_SKEYBOARDSTOINSTALL = @as(u32, 94); pub const LOCALE_SLANGUAGE = @as(u32, 2); pub const LOCALE_SLANGDISPLAYNAME = @as(u32, 111); pub const LOCALE_SENGLANGUAGE = @as(u32, 4097); pub const LOCALE_SNATIVELANGNAME = @as(u32, 4); pub const LOCALE_SCOUNTRY = @as(u32, 6); pub const LOCALE_SENGCOUNTRY = @as(u32, 4098); pub const LOCALE_SNATIVECTRYNAME = @as(u32, 8); pub const LOCALE_ICOUNTRY = @as(u32, 5); pub const LOCALE_S1159 = @as(u32, 40); pub const LOCALE_S2359 = @as(u32, 41); pub const CAL_NOUSEROVERRIDE = @as(u32, 2147483648); pub const CAL_USE_CP_ACP = @as(u32, 1073741824); pub const CAL_RETURN_NUMBER = @as(u32, 536870912); pub const CAL_RETURN_GENITIVE_NAMES = @as(u32, 268435456); pub const CAL_ICALINTVALUE = @as(u32, 1); pub const CAL_SCALNAME = @as(u32, 2); pub const CAL_IYEAROFFSETRANGE = @as(u32, 3); pub const CAL_SERASTRING = @as(u32, 4); pub const CAL_SSHORTDATE = @as(u32, 5); pub const CAL_SLONGDATE = @as(u32, 6); pub const CAL_SDAYNAME1 = @as(u32, 7); pub const CAL_SDAYNAME2 = @as(u32, 8); pub const CAL_SDAYNAME3 = @as(u32, 9); pub const CAL_SDAYNAME4 = @as(u32, 10); pub const CAL_SDAYNAME5 = @as(u32, 11); pub const CAL_SDAYNAME6 = @as(u32, 12); pub const CAL_SDAYNAME7 = @as(u32, 13); pub const CAL_SABBREVDAYNAME1 = @as(u32, 14); pub const CAL_SABBREVDAYNAME2 = @as(u32, 15); pub const CAL_SABBREVDAYNAME3 = @as(u32, 16); pub const CAL_SABBREVDAYNAME4 = @as(u32, 17); pub const CAL_SABBREVDAYNAME5 = @as(u32, 18); pub const CAL_SABBREVDAYNAME6 = @as(u32, 19); pub const CAL_SABBREVDAYNAME7 = @as(u32, 20); pub const CAL_SMONTHNAME1 = @as(u32, 21); pub const CAL_SMONTHNAME2 = @as(u32, 22); pub const CAL_SMONTHNAME3 = @as(u32, 23); pub const CAL_SMONTHNAME4 = @as(u32, 24); pub const CAL_SMONTHNAME5 = @as(u32, 25); pub const CAL_SMONTHNAME6 = @as(u32, 26); pub const CAL_SMONTHNAME7 = @as(u32, 27); pub const CAL_SMONTHNAME8 = @as(u32, 28); pub const CAL_SMONTHNAME9 = @as(u32, 29); pub const CAL_SMONTHNAME10 = @as(u32, 30); pub const CAL_SMONTHNAME11 = @as(u32, 31); pub const CAL_SMONTHNAME12 = @as(u32, 32); pub const CAL_SMONTHNAME13 = @as(u32, 33); pub const CAL_SABBREVMONTHNAME1 = @as(u32, 34); pub const CAL_SABBREVMONTHNAME2 = @as(u32, 35); pub const CAL_SABBREVMONTHNAME3 = @as(u32, 36); pub const CAL_SABBREVMONTHNAME4 = @as(u32, 37); pub const CAL_SABBREVMONTHNAME5 = @as(u32, 38); pub const CAL_SABBREVMONTHNAME6 = @as(u32, 39); pub const CAL_SABBREVMONTHNAME7 = @as(u32, 40); pub const CAL_SABBREVMONTHNAME8 = @as(u32, 41); pub const CAL_SABBREVMONTHNAME9 = @as(u32, 42); pub const CAL_SABBREVMONTHNAME10 = @as(u32, 43); pub const CAL_SABBREVMONTHNAME11 = @as(u32, 44); pub const CAL_SABBREVMONTHNAME12 = @as(u32, 45); pub const CAL_SABBREVMONTHNAME13 = @as(u32, 46); pub const CAL_SYEARMONTH = @as(u32, 47); pub const CAL_ITWODIGITYEARMAX = @as(u32, 48); pub const CAL_SSHORTESTDAYNAME1 = @as(u32, 49); pub const CAL_SSHORTESTDAYNAME2 = @as(u32, 50); pub const CAL_SSHORTESTDAYNAME3 = @as(u32, 51); pub const CAL_SSHORTESTDAYNAME4 = @as(u32, 52); pub const CAL_SSHORTESTDAYNAME5 = @as(u32, 53); pub const CAL_SSHORTESTDAYNAME6 = @as(u32, 54); pub const CAL_SSHORTESTDAYNAME7 = @as(u32, 55); pub const CAL_SMONTHDAY = @as(u32, 56); pub const CAL_SABBREVERASTRING = @as(u32, 57); pub const CAL_SRELATIVELONGDATE = @as(u32, 58); pub const CAL_SENGLISHERANAME = @as(u32, 59); pub const CAL_SENGLISHABBREVERANAME = @as(u32, 60); pub const CAL_SJAPANESEERAFIRSTYEAR = @as(u32, 61); pub const ENUM_ALL_CALENDARS = @as(u32, 4294967295); pub const CAL_GREGORIAN = @as(u32, 1); pub const CAL_GREGORIAN_US = @as(u32, 2); pub const CAL_JAPAN = @as(u32, 3); pub const CAL_TAIWAN = @as(u32, 4); pub const CAL_KOREA = @as(u32, 5); pub const CAL_HIJRI = @as(u32, 6); pub const CAL_THAI = @as(u32, 7); pub const CAL_HEBREW = @as(u32, 8); pub const CAL_GREGORIAN_ME_FRENCH = @as(u32, 9); pub const CAL_GREGORIAN_ARABIC = @as(u32, 10); pub const CAL_GREGORIAN_XLIT_ENGLISH = @as(u32, 11); pub const CAL_GREGORIAN_XLIT_FRENCH = @as(u32, 12); pub const CAL_PERSIAN = @as(u32, 22); pub const CAL_UMALQURA = @as(u32, 23); pub const LGRPID_WESTERN_EUROPE = @as(u32, 1); pub const LGRPID_CENTRAL_EUROPE = @as(u32, 2); pub const LGRPID_BALTIC = @as(u32, 3); pub const LGRPID_GREEK = @as(u32, 4); pub const LGRPID_CYRILLIC = @as(u32, 5); pub const LGRPID_TURKIC = @as(u32, 6); pub const LGRPID_TURKISH = @as(u32, 6); pub const LGRPID_JAPANESE = @as(u32, 7); pub const LGRPID_KOREAN = @as(u32, 8); pub const LGRPID_TRADITIONAL_CHINESE = @as(u32, 9); pub const LGRPID_SIMPLIFIED_CHINESE = @as(u32, 10); pub const LGRPID_THAI = @as(u32, 11); pub const LGRPID_HEBREW = @as(u32, 12); pub const LGRPID_ARABIC = @as(u32, 13); pub const LGRPID_VIETNAMESE = @as(u32, 14); pub const LGRPID_INDIC = @as(u32, 15); pub const LGRPID_GEORGIAN = @as(u32, 16); pub const LGRPID_ARMENIAN = @as(u32, 17); pub const MUI_LANGUAGE_ID = @as(u32, 4); pub const MUI_LANGUAGE_NAME = @as(u32, 8); pub const MUI_MERGE_SYSTEM_FALLBACK = @as(u32, 16); pub const MUI_MERGE_USER_FALLBACK = @as(u32, 32); pub const MUI_THREAD_LANGUAGES = @as(u32, 64); pub const MUI_CONSOLE_FILTER = @as(u32, 256); pub const MUI_COMPLEX_SCRIPT_FILTER = @as(u32, 512); pub const MUI_RESET_FILTERS = @as(u32, 1); pub const MUI_USER_PREFERRED_UI_LANGUAGES = @as(u32, 16); pub const MUI_USE_INSTALLED_LANGUAGES = @as(u32, 32); pub const MUI_USE_SEARCH_ALL_LANGUAGES = @as(u32, 64); pub const MUI_LANG_NEUTRAL_PE_FILE = @as(u32, 256); pub const MUI_NON_LANG_NEUTRAL_FILE = @as(u32, 512); pub const MUI_MACHINE_LANGUAGE_SETTINGS = @as(u32, 1024); pub const MUI_FILETYPE_NOT_LANGUAGE_NEUTRAL = @as(u32, 1); pub const MUI_FILETYPE_LANGUAGE_NEUTRAL_MAIN = @as(u32, 2); pub const MUI_FILETYPE_LANGUAGE_NEUTRAL_MUI = @as(u32, 4); pub const MUI_QUERY_TYPE = @as(u32, 1); pub const MUI_QUERY_CHECKSUM = @as(u32, 2); pub const MUI_QUERY_LANGUAGE_NAME = @as(u32, 4); pub const MUI_QUERY_RESOURCE_TYPES = @as(u32, 8); pub const MUI_FILEINFO_VERSION = @as(u32, 1); pub const MUI_FULL_LANGUAGE = @as(u32, 1); pub const MUI_PARTIAL_LANGUAGE = @as(u32, 2); pub const MUI_LIP_LANGUAGE = @as(u32, 4); pub const MUI_LANGUAGE_INSTALLED = @as(u32, 32); pub const MUI_LANGUAGE_LICENSED = @as(u32, 64); pub const GEOID_NOT_AVAILABLE = @as(i32, -1); pub const SORTING_PARADIGM_NLS = @as(u32, 0); pub const SORTING_PARADIGM_ICU = @as(u32, 16777216); pub const IDN_ALLOW_UNASSIGNED = @as(u32, 1); pub const IDN_USE_STD3_ASCII_RULES = @as(u32, 2); pub const IDN_EMAIL_ADDRESS = @as(u32, 4); pub const IDN_RAW_PUNYCODE = @as(u32, 8); pub const VS_ALLOW_LATIN = @as(u32, 1); pub const GSS_ALLOW_INHERITED_COMMON = @as(u32, 1); pub const MUI_FORMAT_REG_COMPAT = @as(u32, 1); pub const MUI_FORMAT_INF_COMPAT = @as(u32, 2); pub const MUI_VERIFY_FILE_EXISTS = @as(u32, 4); pub const MUI_SKIP_STRING_CACHE = @as(u32, 8); pub const MUI_IMMUTABLE_LOOKUP = @as(u32, 16); pub const LOCALE_NAME_INVARIANT = null; pub const LOCALE_NAME_SYSTEM_DEFAULT = "!x-sys-default-locale"; pub const MIN_SPELLING_NTDDI = @as(u32, 100794368); pub const SCRIPT_UNDEFINED = @as(u32, 0); pub const USP_E_SCRIPT_NOT_IN_FONT = @import("zig.zig").typedConst(HRESULT, @as(i32, -2147220992)); pub const SGCM_RTL = @as(u32, 1); pub const SSA_PASSWORD = @as(u32, 1); pub const SSA_TAB = @as(u32, 2); pub const SSA_CLIP = @as(u32, 4); pub const SSA_FIT = @as(u32, 8); pub const SSA_DZWG = @as(u32, 16); pub const SSA_FALLBACK = @as(u32, 32); pub const SSA_BREAK = @as(u32, 64); pub const SSA_GLYPHS = @as(u32, 128); pub const SSA_RTL = @as(u32, 256); pub const SSA_GCP = @as(u32, 512); pub const SSA_HOTKEY = @as(u32, 1024); pub const SSA_METAFILE = @as(u32, 2048); pub const SSA_LINK = @as(u32, 4096); pub const SSA_HIDEHOTKEY = @as(u32, 8192); pub const SSA_HOTKEYONLY = @as(u32, 9216); pub const SSA_FULLMEASURE = @as(u32, 67108864); pub const SSA_LPKANSIFALLBACK = @as(u32, 134217728); pub const SSA_PIDX = @as(u32, 268435456); pub const SSA_LAYOUTRTL = @as(u32, 536870912); pub const SSA_DONTGLYPH = @as(u32, 1073741824); pub const SSA_NOKASHIDA = @as(u32, 2147483648); pub const SCRIPT_DIGITSUBSTITUTE_CONTEXT = @as(u32, 0); pub const SCRIPT_DIGITSUBSTITUTE_NONE = @as(u32, 1); pub const SCRIPT_DIGITSUBSTITUTE_NATIONAL = @as(u32, 2); pub const SCRIPT_DIGITSUBSTITUTE_TRADITIONAL = @as(u32, 3); pub const UNISCRIBE_OPENTYPE = @as(u32, 256); pub const SCRIPT_TAG_UNKNOWN = @as(u32, 0); pub const MUI_LANGUAGE_EXACT = @as(u32, 16); pub const NLS_CP_CPINFO = @as(u32, 268435456); pub const NLS_CP_MBTOWC = @as(u32, 1073741824); pub const NLS_CP_WCTOMB = @as(u32, 2147483648); pub const U_DISABLE_RENAMING = @as(u32, 1); pub const U_SHOW_CPLUSPLUS_API = @as(u32, 0); pub const U_DEFAULT_SHOW_DRAFT = @as(u32, 0); pub const U_HIDE_DRAFT_API = @as(u32, 1); pub const U_HIDE_DEPRECATED_API = @as(u32, 1); pub const U_HIDE_OBSOLETE_API = @as(u32, 1); pub const U_HIDE_INTERNAL_API = @as(u32, 1); pub const U_NO_DEFAULT_INCLUDE_UTF_HEADERS = @as(u32, 1); pub const U_DEBUG = @as(u32, 1); pub const UCLN_NO_AUTO_CLEANUP = @as(u32, 1); pub const U_OVERRIDE_CXX_ALLOCATION = @as(u32, 1); pub const U_ENABLE_TRACING = @as(u32, 0); pub const UCONFIG_ENABLE_PLUGINS = @as(u32, 0); pub const U_ENABLE_DYLOAD = @as(u32, 1); pub const U_CHECK_DYLOAD = @as(u32, 1); pub const U_HAVE_LIB_SUFFIX = @as(u32, 1); pub const U_LIB_SUFFIX_C_NAME_STRING = null; pub const UCONFIG_ONLY_COLLATION = @as(u32, 0); pub const UCONFIG_NO_BREAK_ITERATION = @as(u32, 1); pub const UCONFIG_NO_IDNA = @as(u32, 1); pub const UCONFIG_NO_FORMATTING = @as(u32, 1); pub const UCONFIG_NO_TRANSLITERATION = @as(u32, 1); pub const UCONFIG_NO_REGULAR_EXPRESSIONS = @as(u32, 1); pub const UCONFIG_NO_FILE_IO = @as(u32, 0); pub const UCONFIG_NO_CONVERSION = @as(u32, 0); pub const UCONFIG_NO_LEGACY_CONVERSION = @as(u32, 1); pub const UCONFIG_ONLY_HTML_CONVERSION = @as(u32, 0); pub const UCONFIG_NO_NORMALIZATION = @as(u32, 0); pub const UCONFIG_NO_COLLATION = @as(u32, 1); pub const UCONFIG_NO_SERVICE = @as(u32, 0); pub const UCONFIG_HAVE_PARSEALLINPUT = @as(u32, 1); pub const UCONFIG_NO_FILTERED_BREAK_ITERATION = @as(u32, 0); pub const U_PF_UNKNOWN = @as(u32, 0); pub const U_PF_WINDOWS = @as(u32, 1000); pub const U_PF_MINGW = @as(u32, 1800); pub const U_PF_CYGWIN = @as(u32, 1900); pub const U_PF_HPUX = @as(u32, 2100); pub const U_PF_SOLARIS = @as(u32, 2600); pub const U_PF_BSD = @as(u32, 3000); pub const U_PF_AIX = @as(u32, 3100); pub const U_PF_IRIX = @as(u32, 3200); pub const U_PF_DARWIN = @as(u32, 3500); pub const U_PF_IPHONE = @as(u32, 3550); pub const U_PF_QNX = @as(u32, 3700); pub const U_PF_LINUX = @as(u32, 4000); pub const U_PF_BROWSER_NATIVE_CLIENT = @as(u32, 4020); pub const U_PF_ANDROID = @as(u32, 4050); pub const U_PF_FUCHSIA = @as(u32, 4100); pub const U_PF_EMSCRIPTEN = @as(u32, 5010); pub const U_PF_OS390 = @as(u32, 9000); pub const U_PF_OS400 = @as(u32, 9400); pub const U_PLATFORM = @as(u32, 1800); pub const U_PLATFORM_USES_ONLY_WIN32_API = @as(u32, 1); pub const U_PLATFORM_HAS_WIN32_API = @as(u32, 1); pub const U_PLATFORM_IMPLEMENTS_POSIX = @as(u32, 0); pub const U_PLATFORM_IS_LINUX_BASED = @as(u32, 1); pub const U_PLATFORM_IS_DARWIN_BASED = @as(u32, 1); pub const U_HAVE_STDINT_H = @as(u32, 1); pub const U_HAVE_INTTYPES_H = @as(u32, 1); pub const U_GCC_MAJOR_MINOR = @as(u32, 0); pub const U_IS_BIG_ENDIAN = @as(u32, 0); pub const U_HAVE_PLACEMENT_NEW = @as(u32, 0); pub const U_HAVE_DEBUG_LOCATION_NEW = @as(u32, 1); pub const U_CPLUSPLUS_VERSION = @as(u32, 0); pub const U_ASCII_FAMILY = @as(u32, 0); pub const U_EBCDIC_FAMILY = @as(u32, 1); pub const U_CHARSET_FAMILY = @as(u32, 1); pub const U_CHARSET_IS_UTF8 = @as(u32, 1); pub const U_HAVE_WCHAR_H = @as(u32, 0); pub const U_SIZEOF_WCHAR_T = @as(u32, 1); pub const U_HAVE_WCSCPY = @as(u32, 0); pub const U_HAVE_CHAR16_T = @as(u32, 1); pub const U_DEFINE_FALSE_AND_TRUE = @as(u32, 1); pub const U_SIZEOF_UCHAR = @as(u32, 2); pub const U_CHAR16_IS_TYPEDEF = @as(u32, 1); pub const U_SENTINEL = @as(i32, -1); pub const U8_LEAD3_T1_BITS = " 000000000000\x1000"; pub const U8_LEAD4_T1_BITS = "\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x0f\x0f\x0f\x00\x00\x00\x00"; pub const U8_MAX_LENGTH = @as(u32, 4); pub const U16_MAX_LENGTH = @as(u32, 2); pub const U_HIDE_OBSOLETE_UTF_OLD_H = @as(u32, 0); pub const UTF_SIZE = @as(u32, 16); pub const UTF8_ERROR_VALUE_1 = @as(u32, 21); pub const UTF8_ERROR_VALUE_2 = @as(u32, 159); pub const UTF_ERROR_VALUE = @as(u32, 65535); pub const UTF8_MAX_CHAR_LENGTH = @as(u32, 4); pub const UTF16_MAX_CHAR_LENGTH = @as(u32, 2); pub const UTF32_MAX_CHAR_LENGTH = @as(u32, 1); pub const UTF_MAX_CHAR_LENGTH = @as(u32, 2); pub const U_COPYRIGHT_STRING_LENGTH = @as(u32, 128); pub const U_MAX_VERSION_LENGTH = @as(u32, 4); pub const U_MAX_VERSION_STRING_LENGTH = @as(u32, 20); pub const U_MILLIS_PER_SECOND = @as(u32, 1000); pub const U_MILLIS_PER_MINUTE = @as(u32, 60000); pub const U_MILLIS_PER_HOUR = @as(u32, 3600000); pub const U_MILLIS_PER_DAY = @as(u32, 86400000); pub const U_COMBINED_IMPLEMENTATION = @as(u32, 1); pub const U_SHAPE_LENGTH_GROW_SHRINK = @as(u32, 0); pub const U_SHAPE_LAMALEF_RESIZE = @as(u32, 0); pub const U_SHAPE_LENGTH_FIXED_SPACES_NEAR = @as(u32, 1); pub const U_SHAPE_LAMALEF_NEAR = @as(u32, 1); pub const U_SHAPE_LENGTH_FIXED_SPACES_AT_END = @as(u32, 2); pub const U_SHAPE_LAMALEF_END = @as(u32, 2); pub const U_SHAPE_LENGTH_FIXED_SPACES_AT_BEGINNING = @as(u32, 3); pub const U_SHAPE_LAMALEF_BEGIN = @as(u32, 3); pub const U_SHAPE_LAMALEF_AUTO = @as(u32, 65536); pub const U_SHAPE_LENGTH_MASK = @as(u32, 65539); pub const U_SHAPE_LAMALEF_MASK = @as(u32, 65539); pub const U_SHAPE_TEXT_DIRECTION_LOGICAL = @as(u32, 0); pub const U_SHAPE_TEXT_DIRECTION_VISUAL_RTL = @as(u32, 0); pub const U_SHAPE_TEXT_DIRECTION_VISUAL_LTR = @as(u32, 4); pub const U_SHAPE_TEXT_DIRECTION_MASK = @as(u32, 4); pub const U_SHAPE_LETTERS_NOOP = @as(u32, 0); pub const U_SHAPE_LETTERS_SHAPE = @as(u32, 8); pub const U_SHAPE_LETTERS_UNSHAPE = @as(u32, 16); pub const U_SHAPE_LETTERS_SHAPE_TASHKEEL_ISOLATED = @as(u32, 24); pub const U_SHAPE_LETTERS_MASK = @as(u32, 24); pub const U_SHAPE_DIGITS_NOOP = @as(u32, 0); pub const U_SHAPE_DIGITS_EN2AN = @as(u32, 32); pub const U_SHAPE_DIGITS_AN2EN = @as(u32, 64); pub const U_SHAPE_DIGITS_ALEN2AN_INIT_LR = @as(u32, 96); pub const U_SHAPE_DIGITS_ALEN2AN_INIT_AL = @as(u32, 128); pub const U_SHAPE_DIGITS_RESERVED = @as(u32, 160); pub const U_SHAPE_DIGITS_MASK = @as(u32, 224); pub const U_SHAPE_DIGIT_TYPE_AN = @as(u32, 0); pub const U_SHAPE_DIGIT_TYPE_AN_EXTENDED = @as(u32, 256); pub const U_SHAPE_DIGIT_TYPE_RESERVED = @as(u32, 512); pub const U_SHAPE_DIGIT_TYPE_MASK = @as(u32, 768); pub const U_SHAPE_AGGREGATE_TASHKEEL = @as(u32, 16384); pub const U_SHAPE_AGGREGATE_TASHKEEL_NOOP = @as(u32, 0); pub const U_SHAPE_AGGREGATE_TASHKEEL_MASK = @as(u32, 16384); pub const U_SHAPE_PRESERVE_PRESENTATION = @as(u32, 32768); pub const U_SHAPE_PRESERVE_PRESENTATION_NOOP = @as(u32, 0); pub const U_SHAPE_PRESERVE_PRESENTATION_MASK = @as(u32, 32768); pub const U_SHAPE_SEEN_TWOCELL_NEAR = @as(u32, 2097152); pub const U_SHAPE_SEEN_MASK = @as(u32, 7340032); pub const U_SHAPE_YEHHAMZA_TWOCELL_NEAR = @as(u32, 16777216); pub const U_SHAPE_YEHHAMZA_MASK = @as(u32, 58720256); pub const U_SHAPE_TASHKEEL_BEGIN = @as(u32, 262144); pub const U_SHAPE_TASHKEEL_END = @as(u32, 393216); pub const U_SHAPE_TASHKEEL_RESIZE = @as(u32, 524288); pub const U_SHAPE_TASHKEEL_REPLACE_BY_TATWEEL = @as(u32, 786432); pub const U_SHAPE_TASHKEEL_MASK = @as(u32, 917504); pub const U_SHAPE_SPACES_RELATIVE_TO_TEXT_BEGIN_END = @as(u32, 67108864); pub const U_SHAPE_SPACES_RELATIVE_TO_TEXT_MASK = @as(u32, 67108864); pub const U_SHAPE_TAIL_NEW_UNICODE = @as(u32, 134217728); pub const U_SHAPE_TAIL_TYPE_MASK = @as(u32, 134217728); pub const ULOC_CHINESE = "zh"; pub const ULOC_ENGLISH = "en"; pub const ULOC_FRENCH = "fr"; pub const ULOC_GERMAN = "de"; pub const ULOC_ITALIAN = "it"; pub const ULOC_JAPANESE = "ja"; pub const ULOC_KOREAN = "ko"; pub const ULOC_SIMPLIFIED_CHINESE = "zh_CN"; pub const ULOC_TRADITIONAL_CHINESE = "zh_TW"; pub const ULOC_CANADA = "en_CA"; pub const ULOC_CANADA_FRENCH = "fr_CA"; pub const ULOC_CHINA = "zh_CN"; pub const ULOC_PRC = "zh_CN"; pub const ULOC_FRANCE = "fr_FR"; pub const ULOC_GERMANY = "de_DE"; pub const ULOC_ITALY = "it_IT"; pub const ULOC_JAPAN = "ja_JP"; pub const ULOC_KOREA = "ko_KR"; pub const ULOC_TAIWAN = "zh_TW"; pub const ULOC_UK = "en_GB"; pub const ULOC_US = "en_US"; pub const ULOC_LANG_CAPACITY = @as(u32, 12); pub const ULOC_COUNTRY_CAPACITY = @as(u32, 4); pub const ULOC_FULLNAME_CAPACITY = @as(u32, 157); pub const ULOC_SCRIPT_CAPACITY = @as(u32, 6); pub const ULOC_KEYWORDS_CAPACITY = @as(u32, 96); pub const ULOC_KEYWORD_AND_VALUES_CAPACITY = @as(u32, 100); pub const ULOC_KEYWORD_SEPARATOR_UNICODE = @as(u32, 64); pub const ULOC_KEYWORD_ASSIGN_UNICODE = @as(u32, 61); pub const ULOC_KEYWORD_ITEM_SEPARATOR_UNICODE = @as(u32, 59); pub const UCNV_SUB_STOP_ON_ILLEGAL = "i"; pub const UCNV_SKIP_STOP_ON_ILLEGAL = "i"; pub const UCNV_ESCAPE_JAVA = "J"; pub const UCNV_ESCAPE_C = "C"; pub const UCNV_ESCAPE_XML_DEC = "D"; pub const UCNV_ESCAPE_XML_HEX = "X"; pub const UCNV_ESCAPE_UNICODE = "U"; pub const UCNV_ESCAPE_CSS2 = "S"; pub const UCNV_MAX_CONVERTER_NAME_LENGTH = @as(u32, 60); pub const UCNV_SI = @as(u32, 15); pub const UCNV_SO = @as(u32, 14); pub const UCNV_OPTION_SEP_STRING = ","; pub const UCNV_VALUE_SEP_STRING = "="; pub const UCNV_LOCALE_OPTION_STRING = ",locale="; pub const UCNV_VERSION_OPTION_STRING = ",version="; pub const UCNV_SWAP_LFNL_OPTION_STRING = ",swaplfnl"; pub const U_FOLD_CASE_DEFAULT = @as(u32, 0); pub const U_FOLD_CASE_EXCLUDE_SPECIAL_I = @as(u32, 1); pub const U_TITLECASE_WHOLE_STRING = @as(u32, 32); pub const U_TITLECASE_SENTENCES = @as(u32, 64); pub const U_TITLECASE_NO_LOWERCASE = @as(u32, 256); pub const U_TITLECASE_NO_BREAK_ADJUSTMENT = @as(u32, 512); pub const U_TITLECASE_ADJUST_TO_CASED = @as(u32, 1024); pub const U_EDITS_NO_RESET = @as(u32, 8192); pub const U_OMIT_UNCHANGED_TEXT = @as(u32, 16384); pub const U_COMPARE_CODE_POINT_ORDER = @as(u32, 32768); pub const U_COMPARE_IGNORE_CASE = @as(u32, 65536); pub const UNORM_INPUT_IS_FCD = @as(u32, 131072); pub const UCHAR_MIN_VALUE = @as(u32, 0); pub const UCHAR_MAX_VALUE = @as(u32, 1114111); pub const UBIDI_DEFAULT_LTR = @as(u32, 254); pub const UBIDI_DEFAULT_RTL = @as(u32, 255); pub const UBIDI_MAX_EXPLICIT_LEVEL = @as(u32, 125); pub const UBIDI_LEVEL_OVERRIDE = @as(u32, 128); pub const UBIDI_MAP_NOWHERE = @as(i32, -1); pub const UBIDI_KEEP_BASE_COMBINING = @as(u32, 1); pub const UBIDI_DO_MIRRORING = @as(u32, 2); pub const UBIDI_INSERT_LRM_FOR_NUMERIC = @as(u32, 4); pub const UBIDI_REMOVE_BIDI_CONTROLS = @as(u32, 8); pub const UBIDI_OUTPUT_REVERSE = @as(u32, 16); pub const USPREP_DEFAULT = @as(u32, 0); pub const USPREP_ALLOW_UNASSIGNED = @as(u32, 1); pub const U_ICU_VERSION_BUNDLE = "icuver"; pub const U_ICU_DATA_KEY = "DataVersion"; pub const UCAL_UNKNOWN_ZONE_ID = "Etc/Unknown"; pub const UDAT_YEAR = "y"; pub const UDAT_QUARTER = "QQQQ"; pub const UDAT_ABBR_QUARTER = "QQQ"; pub const UDAT_YEAR_QUARTER = "yQQQQ"; pub const UDAT_YEAR_ABBR_QUARTER = "yQQQ"; pub const UDAT_MONTH = "MMMM"; pub const UDAT_ABBR_MONTH = "MMM"; pub const UDAT_NUM_MONTH = "M"; pub const UDAT_YEAR_MONTH = "yMMMM"; pub const UDAT_YEAR_ABBR_MONTH = "yMMM"; pub const UDAT_YEAR_NUM_MONTH = "yM"; pub const UDAT_DAY = "d"; pub const UDAT_YEAR_MONTH_DAY = "yMMMMd"; pub const UDAT_YEAR_ABBR_MONTH_DAY = "yMMMd"; pub const UDAT_YEAR_NUM_MONTH_DAY = "yMd"; pub const UDAT_WEEKDAY = "EEEE"; pub const UDAT_ABBR_WEEKDAY = "E"; pub const UDAT_YEAR_MONTH_WEEKDAY_DAY = "yMMMMEEEEd"; pub const UDAT_YEAR_ABBR_MONTH_WEEKDAY_DAY = "yMMMEd"; pub const UDAT_YEAR_NUM_MONTH_WEEKDAY_DAY = "yMEd"; pub const UDAT_MONTH_DAY = "MMMMd"; pub const UDAT_ABBR_MONTH_DAY = "MMMd"; pub const UDAT_NUM_MONTH_DAY = "Md"; pub const UDAT_MONTH_WEEKDAY_DAY = "MMMMEEEEd"; pub const UDAT_ABBR_MONTH_WEEKDAY_DAY = "MMMEd"; pub const UDAT_NUM_MONTH_WEEKDAY_DAY = "MEd"; pub const UDAT_HOUR = "j"; pub const UDAT_HOUR24 = "H"; pub const UDAT_MINUTE = "m"; pub const UDAT_HOUR_MINUTE = "jm"; pub const UDAT_HOUR24_MINUTE = "Hm"; pub const UDAT_SECOND = "s"; pub const UDAT_HOUR_MINUTE_SECOND = "jms"; pub const UDAT_HOUR24_MINUTE_SECOND = "Hms"; pub const UDAT_MINUTE_SECOND = "ms"; pub const UDAT_LOCATION_TZ = "VVVV"; pub const UDAT_GENERIC_TZ = "vvvv"; pub const UDAT_ABBR_GENERIC_TZ = "v"; pub const UDAT_SPECIFIC_TZ = "zzzz"; pub const UDAT_ABBR_SPECIFIC_TZ = "z"; pub const UDAT_ABBR_UTC_TZ = "ZZZZ"; pub const USEARCH_DONE = @as(i32, -1); pub const U_HAVE_STD_STRING = @as(u32, 0); pub const UCONFIG_FORMAT_FASTPATHS_49 = @as(u32, 1); pub const U_PLATFORM_HAS_WINUWP_API = @as(u32, 0); pub const U_IOSTREAM_SOURCE = @as(u32, 199711); pub const U_HAVE_RVALUE_REFERENCES = @as(u32, 1); pub const U_USING_ICU_NAMESPACE = @as(u32, 1); pub const U_ICUDATA_TYPE_LETTER = "e"; pub const U_UNICODE_VERSION = "8.0"; pub const CANITER_SKIP_ZEROES = @as(u32, 1); pub const NUMSYS_NAME_CAPACITY = @as(u32, 8); pub const U_HAVE_RBNF = @as(u32, 0); pub const IME_CMODE_ALPHANUMERIC = @as(u32, 0); pub const IME_CMODE_NATIVE = @as(u32, 1); pub const IME_CMODE_CHINESE = @as(u32, 1); pub const IME_CMODE_HANGUL = @as(u32, 1); pub const IME_CMODE_JAPANESE = @as(u32, 1); pub const IME_CMODE_KATAKANA = @as(u32, 2); pub const IME_CMODE_LANGUAGE = @as(u32, 3); pub const IME_CMODE_FULLSHAPE = @as(u32, 8); pub const IME_CMODE_ROMAN = @as(u32, 16); pub const IME_CMODE_CHARCODE = @as(u32, 32); pub const IME_CMODE_HANJACONVERT = @as(u32, 64); pub const IME_CMODE_NATIVESYMBOL = @as(u32, 128); pub const MAX_MIMECP_NAME = @as(u32, 64); pub const MAX_MIMECSET_NAME = @as(u32, 50); pub const MAX_MIMEFACE_NAME = @as(u32, 32); pub const MAX_RFC1766_NAME = @as(u32, 6); pub const MAX_LOCALE_NAME = @as(u32, 32); pub const MAX_SCRIPT_NAME = @as(u32, 48); pub const CPIOD_PEEK = @as(i32, 1073741824); pub const CPIOD_FORCE_PROMPT = @as(i32, -2147483648); pub const UITER_UNKNOWN_INDEX = @as(i32, -2); pub const UCPTRIE_FAST_SHIFT = @as(i32, 6); pub const UCPTRIE_FAST_DATA_BLOCK_LENGTH = @as(i32, 64); pub const UCPTRIE_FAST_DATA_MASK = @as(i32, 63); pub const UCPTRIE_SMALL_MAX = @as(i32, 4095); pub const UCPTRIE_ERROR_VALUE_NEG_DATA_OFFSET = @as(i32, 1); pub const UCPTRIE_HIGH_VALUE_NEG_DATA_OFFSET = @as(i32, 2); pub const UTEXT_PROVIDER_LENGTH_IS_EXPENSIVE = @as(i32, 1); pub const UTEXT_PROVIDER_STABLE_CHUNKS = @as(i32, 2); pub const UTEXT_PROVIDER_WRITABLE = @as(i32, 3); pub const UTEXT_PROVIDER_HAS_META_DATA = @as(i32, 4); pub const UTEXT_PROVIDER_OWNS_TEXT = @as(i32, 5); pub const UTEXT_MAGIC = @as(i32, 878368812); pub const USET_IGNORE_SPACE = @as(i32, 1); pub const USET_CASE_INSENSITIVE = @as(i32, 2); pub const USET_ADD_CASE_MAPPINGS = @as(i32, 4); pub const USET_SERIALIZED_STATIC_ARRAY_CAPACITY = @as(i32, 8); pub const U_PARSE_CONTEXT_LEN = @as(i32, 16); pub const UIDNA_DEFAULT = @as(i32, 0); pub const UIDNA_USE_STD3_RULES = @as(i32, 2); pub const UIDNA_CHECK_BIDI = @as(i32, 4); pub const UIDNA_CHECK_CONTEXTJ = @as(i32, 8); pub const UIDNA_NONTRANSITIONAL_TO_ASCII = @as(i32, 16); pub const UIDNA_NONTRANSITIONAL_TO_UNICODE = @as(i32, 32); pub const UIDNA_CHECK_CONTEXTO = @as(i32, 64); pub const UIDNA_ERROR_EMPTY_LABEL = @as(i32, 1); pub const UIDNA_ERROR_LABEL_TOO_LONG = @as(i32, 2); pub const UIDNA_ERROR_DOMAIN_NAME_TOO_LONG = @as(i32, 4); pub const UIDNA_ERROR_LEADING_HYPHEN = @as(i32, 8); pub const UIDNA_ERROR_TRAILING_HYPHEN = @as(i32, 16); pub const UIDNA_ERROR_HYPHEN_3_4 = @as(i32, 32); pub const UIDNA_ERROR_LEADING_COMBINING_MARK = @as(i32, 64); pub const UIDNA_ERROR_DISALLOWED = @as(i32, 128); pub const UIDNA_ERROR_PUNYCODE = @as(i32, 256); pub const UIDNA_ERROR_LABEL_HAS_DOT = @as(i32, 512); pub const UIDNA_ERROR_INVALID_ACE_LABEL = @as(i32, 1024); pub const UIDNA_ERROR_BIDI = @as(i32, 2048); pub const UIDNA_ERROR_CONTEXTJ = @as(i32, 4096); pub const UIDNA_ERROR_CONTEXTO_PUNCTUATION = @as(i32, 8192); pub const UIDNA_ERROR_CONTEXTO_DIGITS = @as(i32, 16384); pub const ELS_GUID_LANGUAGE_DETECTION = Guid.initString("cf7e00b1-909b-4d95-a8f4-611f7c377702"); pub const ELS_GUID_SCRIPT_DETECTION = Guid.initString("2d64b439-6caf-4f6b-b688-e5d0f4faa7d7"); pub const ELS_GUID_TRANSLITERATION_HANT_TO_HANS = Guid.initString("a3a8333b-f4fc-42f6-a0c4-0462fe7317cb"); pub const ELS_GUID_TRANSLITERATION_HANS_TO_HANT = Guid.initString("3caccdc8-5590-42dc-9a7b-b5a6b5b3b63b"); pub const ELS_GUID_TRANSLITERATION_MALAYALAM_TO_LATIN = Guid.initString("d8b983b1-f8bf-4a2b-bcd5-5b5ea20613e1"); pub const ELS_GUID_TRANSLITERATION_DEVANAGARI_TO_LATIN = Guid.initString("c4a4dcfe-2661-4d02-9835-f48187109803"); pub const ELS_GUID_TRANSLITERATION_CYRILLIC_TO_LATIN = Guid.initString("3dd12a98-5afd-4903-a13f-e17e6c0bfe01"); pub const ELS_GUID_TRANSLITERATION_BENGALI_TO_LATIN = Guid.initString("f4dfd825-91a4-489f-855e-9ad9bee55727"); pub const ELS_GUID_TRANSLITERATION_HANGUL_DECOMPOSITION = Guid.initString("4ba2a721-e43d-41b7-b330-536ae1e48863"); pub const UMSGPAT_ARG_NAME_NOT_NUMBER = @as(i32, -1); pub const UMSGPAT_ARG_NAME_NOT_VALID = @as(i32, -2); //-------------------------------------------------------------------------------- // Section: Types (359) //-------------------------------------------------------------------------------- pub const FOLD_STRING_MAP_FLAGS = enum(u32) { COMPOSITE = 64, EXPAND_LIGATURES = 8192, FOLDCZONE = 16, FOLDDIGITS = 128, PRECOMPOSED = 32, _, pub fn initFlags(o: struct { COMPOSITE: u1 = 0, EXPAND_LIGATURES: u1 = 0, FOLDCZONE: u1 = 0, FOLDDIGITS: u1 = 0, PRECOMPOSED: u1 = 0, }) FOLD_STRING_MAP_FLAGS { return @as(FOLD_STRING_MAP_FLAGS, @enumFromInt( (if (o.COMPOSITE == 1) @intFromEnum(FOLD_STRING_MAP_FLAGS.COMPOSITE) else 0) | (if (o.EXPAND_LIGATURES == 1) @intFromEnum(FOLD_STRING_MAP_FLAGS.EXPAND_LIGATURES) else 0) | (if (o.FOLDCZONE == 1) @intFromEnum(FOLD_STRING_MAP_FLAGS.FOLDCZONE) else 0) | (if (o.FOLDDIGITS == 1) @intFromEnum(FOLD_STRING_MAP_FLAGS.FOLDDIGITS) else 0) | (if (o.PRECOMPOSED == 1) @intFromEnum(FOLD_STRING_MAP_FLAGS.PRECOMPOSED) else 0) )); } }; pub const MAP_COMPOSITE = FOLD_STRING_MAP_FLAGS.COMPOSITE; pub const MAP_EXPAND_LIGATURES = FOLD_STRING_MAP_FLAGS.EXPAND_LIGATURES; pub const MAP_FOLDCZONE = FOLD_STRING_MAP_FLAGS.FOLDCZONE; pub const MAP_FOLDDIGITS = FOLD_STRING_MAP_FLAGS.FOLDDIGITS; pub const MAP_PRECOMPOSED = FOLD_STRING_MAP_FLAGS.PRECOMPOSED; pub const ENUM_DATE_FORMATS_FLAGS = enum(u32) { SHORTDATE = 1, LONGDATE = 2, YEARMONTH = 8, MONTHDAY = 128, AUTOLAYOUT = 64, LTRREADING = 16, RTLREADING = 32, USE_ALT_CALENDAR = 4, }; pub const DATE_SHORTDATE = ENUM_DATE_FORMATS_FLAGS.SHORTDATE; pub const DATE_LONGDATE = ENUM_DATE_FORMATS_FLAGS.LONGDATE; pub const DATE_YEARMONTH = ENUM_DATE_FORMATS_FLAGS.YEARMONTH; pub const DATE_MONTHDAY = ENUM_DATE_FORMATS_FLAGS.MONTHDAY; pub const DATE_AUTOLAYOUT = ENUM_DATE_FORMATS_FLAGS.AUTOLAYOUT; pub const DATE_LTRREADING = ENUM_DATE_FORMATS_FLAGS.LTRREADING; pub const DATE_RTLREADING = ENUM_DATE_FORMATS_FLAGS.RTLREADING; pub const DATE_USE_ALT_CALENDAR = ENUM_DATE_FORMATS_FLAGS.USE_ALT_CALENDAR; pub const TRANSLATE_CHARSET_INFO_FLAGS = enum(u32) { CHARSET = 1, CODEPAGE = 2, FONTSIG = 3, LOCALE = 4096, }; pub const TCI_SRCCHARSET = TRANSLATE_CHARSET_INFO_FLAGS.CHARSET; pub const TCI_SRCCODEPAGE = TRANSLATE_CHARSET_INFO_FLAGS.CODEPAGE; pub const TCI_SRCFONTSIG = TRANSLATE_CHARSET_INFO_FLAGS.FONTSIG; pub const TCI_SRCLOCALE = TRANSLATE_CHARSET_INFO_FLAGS.LOCALE; pub const TIME_FORMAT_FLAGS = enum(u32) { NOMINUTESORSECONDS = 1, NOSECONDS = 2, NOTIMEMARKER = 4, FORCE24HOURFORMAT = 8, _, pub fn initFlags(o: struct { NOMINUTESORSECONDS: u1 = 0, NOSECONDS: u1 = 0, NOTIMEMARKER: u1 = 0, FORCE24HOURFORMAT: u1 = 0, }) TIME_FORMAT_FLAGS { return @as(TIME_FORMAT_FLAGS, @enumFromInt( (if (o.NOMINUTESORSECONDS == 1) @intFromEnum(TIME_FORMAT_FLAGS.NOMINUTESORSECONDS) else 0) | (if (o.NOSECONDS == 1) @intFromEnum(TIME_FORMAT_FLAGS.NOSECONDS) else 0) | (if (o.NOTIMEMARKER == 1) @intFromEnum(TIME_FORMAT_FLAGS.NOTIMEMARKER) else 0) | (if (o.FORCE24HOURFORMAT == 1) @intFromEnum(TIME_FORMAT_FLAGS.FORCE24HOURFORMAT) else 0) )); } }; pub const TIME_NOMINUTESORSECONDS = TIME_FORMAT_FLAGS.NOMINUTESORSECONDS; pub const TIME_NOSECONDS = TIME_FORMAT_FLAGS.NOSECONDS; pub const TIME_NOTIMEMARKER = TIME_FORMAT_FLAGS.NOTIMEMARKER; pub const TIME_FORCE24HOURFORMAT = TIME_FORMAT_FLAGS.FORCE24HOURFORMAT; pub const ENUM_SYSTEM_LANGUAGE_GROUPS_FLAGS = enum(u32) { INSTALLED = 1, SUPPORTED = 2, }; pub const LGRPID_INSTALLED = ENUM_SYSTEM_LANGUAGE_GROUPS_FLAGS.INSTALLED; pub const LGRPID_SUPPORTED = ENUM_SYSTEM_LANGUAGE_GROUPS_FLAGS.SUPPORTED; pub const MULTI_BYTE_TO_WIDE_CHAR_FLAGS = enum(u32) { COMPOSITE = 2, ERR_INVALID_CHARS = 8, PRECOMPOSED = 1, USEGLYPHCHARS = 4, _, pub fn initFlags(o: struct { COMPOSITE: u1 = 0, ERR_INVALID_CHARS: u1 = 0, PRECOMPOSED: u1 = 0, USEGLYPHCHARS: u1 = 0, }) MULTI_BYTE_TO_WIDE_CHAR_FLAGS { return @as(MULTI_BYTE_TO_WIDE_CHAR_FLAGS, @enumFromInt( (if (o.COMPOSITE == 1) @intFromEnum(MULTI_BYTE_TO_WIDE_CHAR_FLAGS.COMPOSITE) else 0) | (if (o.ERR_INVALID_CHARS == 1) @intFromEnum(MULTI_BYTE_TO_WIDE_CHAR_FLAGS.ERR_INVALID_CHARS) else 0) | (if (o.PRECOMPOSED == 1) @intFromEnum(MULTI_BYTE_TO_WIDE_CHAR_FLAGS.PRECOMPOSED) else 0) | (if (o.USEGLYPHCHARS == 1) @intFromEnum(MULTI_BYTE_TO_WIDE_CHAR_FLAGS.USEGLYPHCHARS) else 0) )); } }; pub const MB_COMPOSITE = MULTI_BYTE_TO_WIDE_CHAR_FLAGS.COMPOSITE; pub const MB_ERR_INVALID_CHARS = MULTI_BYTE_TO_WIDE_CHAR_FLAGS.ERR_INVALID_CHARS; pub const MB_PRECOMPOSED = MULTI_BYTE_TO_WIDE_CHAR_FLAGS.PRECOMPOSED; pub const MB_USEGLYPHCHARS = MULTI_BYTE_TO_WIDE_CHAR_FLAGS.USEGLYPHCHARS; pub const COMPARE_STRING_FLAGS = enum(u32) { LINGUISTIC_IGNORECASE = 16, LINGUISTIC_IGNOREDIACRITIC = 32, NORM_IGNORECASE = 1, NORM_IGNOREKANATYPE = 65536, NORM_IGNORENONSPACE = 2, NORM_IGNORESYMBOLS = 4, NORM_IGNOREWIDTH = 131072, NORM_LINGUISTIC_CASING = 134217728, SORT_DIGITSASNUMBERS = 8, SORT_STRINGSORT = 4096, _, pub fn initFlags(o: struct { LINGUISTIC_IGNORECASE: u1 = 0, LINGUISTIC_IGNOREDIACRITIC: u1 = 0, NORM_IGNORECASE: u1 = 0, NORM_IGNOREKANATYPE: u1 = 0, NORM_IGNORENONSPACE: u1 = 0, NORM_IGNORESYMBOLS: u1 = 0, NORM_IGNOREWIDTH: u1 = 0, NORM_LINGUISTIC_CASING: u1 = 0, SORT_DIGITSASNUMBERS: u1 = 0, SORT_STRINGSORT: u1 = 0, }) COMPARE_STRING_FLAGS { return @as(COMPARE_STRING_FLAGS, @enumFromInt( (if (o.LINGUISTIC_IGNORECASE == 1) @intFromEnum(COMPARE_STRING_FLAGS.LINGUISTIC_IGNORECASE) else 0) | (if (o.LINGUISTIC_IGNOREDIACRITIC == 1) @intFromEnum(COMPARE_STRING_FLAGS.LINGUISTIC_IGNOREDIACRITIC) else 0) | (if (o.NORM_IGNORECASE == 1) @intFromEnum(COMPARE_STRING_FLAGS.NORM_IGNORECASE) else 0) | (if (o.NORM_IGNOREKANATYPE == 1) @intFromEnum(COMPARE_STRING_FLAGS.NORM_IGNOREKANATYPE) else 0) | (if (o.NORM_IGNORENONSPACE == 1) @intFromEnum(COMPARE_STRING_FLAGS.NORM_IGNORENONSPACE) else 0) | (if (o.NORM_IGNORESYMBOLS == 1) @intFromEnum(COMPARE_STRING_FLAGS.NORM_IGNORESYMBOLS) else 0) | (if (o.NORM_IGNOREWIDTH == 1) @intFromEnum(COMPARE_STRING_FLAGS.NORM_IGNOREWIDTH) else 0) | (if (o.NORM_LINGUISTIC_CASING == 1) @intFromEnum(COMPARE_STRING_FLAGS.NORM_LINGUISTIC_CASING) else 0) | (if (o.SORT_DIGITSASNUMBERS == 1) @intFromEnum(COMPARE_STRING_FLAGS.SORT_DIGITSASNUMBERS) else 0) | (if (o.SORT_STRINGSORT == 1) @intFromEnum(COMPARE_STRING_FLAGS.SORT_STRINGSORT) else 0) )); } }; pub const LINGUISTIC_IGNORECASE = COMPARE_STRING_FLAGS.LINGUISTIC_IGNORECASE; pub const LINGUISTIC_IGNOREDIACRITIC = COMPARE_STRING_FLAGS.LINGUISTIC_IGNOREDIACRITIC; pub const NORM_IGNORECASE = COMPARE_STRING_FLAGS.NORM_IGNORECASE; pub const NORM_IGNOREKANATYPE = COMPARE_STRING_FLAGS.NORM_IGNOREKANATYPE; pub const NORM_IGNORENONSPACE = COMPARE_STRING_FLAGS.NORM_IGNORENONSPACE; pub const NORM_IGNORESYMBOLS = COMPARE_STRING_FLAGS.NORM_IGNORESYMBOLS; pub const NORM_IGNOREWIDTH = COMPARE_STRING_FLAGS.NORM_IGNOREWIDTH; pub const NORM_LINGUISTIC_CASING = COMPARE_STRING_FLAGS.NORM_LINGUISTIC_CASING; pub const SORT_DIGITSASNUMBERS = COMPARE_STRING_FLAGS.SORT_DIGITSASNUMBERS; pub const SORT_STRINGSORT = COMPARE_STRING_FLAGS.SORT_STRINGSORT; pub const IS_VALID_LOCALE_FLAGS = enum(u32) { INSTALLED = 1, SUPPORTED = 2, }; pub const LCID_INSTALLED = IS_VALID_LOCALE_FLAGS.INSTALLED; pub const LCID_SUPPORTED = IS_VALID_LOCALE_FLAGS.SUPPORTED; pub const ENUM_SYSTEM_CODE_PAGES_FLAGS = enum(u32) { INSTALLED = 1, SUPPORTED = 2, }; pub const CP_INSTALLED = ENUM_SYSTEM_CODE_PAGES_FLAGS.INSTALLED; pub const CP_SUPPORTED = ENUM_SYSTEM_CODE_PAGES_FLAGS.SUPPORTED; pub const SCRIPT_IS_COMPLEX_FLAGS = enum(u32) { ASCIIDIGIT = 2, COMPLEX = 1, NEUTRAL = 4, }; pub const SIC_ASCIIDIGIT = SCRIPT_IS_COMPLEX_FLAGS.ASCIIDIGIT; pub const SIC_COMPLEX = SCRIPT_IS_COMPLEX_FLAGS.COMPLEX; pub const SIC_NEUTRAL = SCRIPT_IS_COMPLEX_FLAGS.NEUTRAL; pub const IS_TEXT_UNICODE_RESULT = enum(u32) { ASCII16 = 1, REVERSE_ASCII16 = 16, STATISTICS = 2, REVERSE_STATISTICS = 32, CONTROLS = 4, REVERSE_CONTROLS = 64, SIGNATURE = 8, REVERSE_SIGNATURE = 128, ILLEGAL_CHARS = 256, ODD_LENGTH = 512, NULL_BYTES = 4096, UNICODE_MASK = 15, REVERSE_MASK = 240, NOT_UNICODE_MASK = 3840, NOT_ASCII_MASK = 61440, _, pub fn initFlags(o: struct { ASCII16: u1 = 0, REVERSE_ASCII16: u1 = 0, STATISTICS: u1 = 0, REVERSE_STATISTICS: u1 = 0, CONTROLS: u1 = 0, REVERSE_CONTROLS: u1 = 0, SIGNATURE: u1 = 0, REVERSE_SIGNATURE: u1 = 0, ILLEGAL_CHARS: u1 = 0, ODD_LENGTH: u1 = 0, NULL_BYTES: u1 = 0, UNICODE_MASK: u1 = 0, REVERSE_MASK: u1 = 0, NOT_UNICODE_MASK: u1 = 0, NOT_ASCII_MASK: u1 = 0, }) IS_TEXT_UNICODE_RESULT { return @as(IS_TEXT_UNICODE_RESULT, @enumFromInt( (if (o.ASCII16 == 1) @intFromEnum(IS_TEXT_UNICODE_RESULT.ASCII16) else 0) | (if (o.REVERSE_ASCII16 == 1) @intFromEnum(IS_TEXT_UNICODE_RESULT.REVERSE_ASCII16) else 0) | (if (o.STATISTICS == 1) @intFromEnum(IS_TEXT_UNICODE_RESULT.STATISTICS) else 0) | (if (o.REVERSE_STATISTICS == 1) @intFromEnum(IS_TEXT_UNICODE_RESULT.REVERSE_STATISTICS) else 0) | (if (o.CONTROLS == 1) @intFromEnum(IS_TEXT_UNICODE_RESULT.CONTROLS) else 0) | (if (o.REVERSE_CONTROLS == 1) @intFromEnum(IS_TEXT_UNICODE_RESULT.REVERSE_CONTROLS) else 0) | (if (o.SIGNATURE == 1) @intFromEnum(IS_TEXT_UNICODE_RESULT.SIGNATURE) else 0) | (if (o.REVERSE_SIGNATURE == 1) @intFromEnum(IS_TEXT_UNICODE_RESULT.REVERSE_SIGNATURE) else 0) | (if (o.ILLEGAL_CHARS == 1) @intFromEnum(IS_TEXT_UNICODE_RESULT.ILLEGAL_CHARS) else 0) | (if (o.ODD_LENGTH == 1) @intFromEnum(IS_TEXT_UNICODE_RESULT.ODD_LENGTH) else 0) | (if (o.NULL_BYTES == 1) @intFromEnum(IS_TEXT_UNICODE_RESULT.NULL_BYTES) else 0) | (if (o.UNICODE_MASK == 1) @intFromEnum(IS_TEXT_UNICODE_RESULT.UNICODE_MASK) else 0) | (if (o.REVERSE_MASK == 1) @intFromEnum(IS_TEXT_UNICODE_RESULT.REVERSE_MASK) else 0) | (if (o.NOT_UNICODE_MASK == 1) @intFromEnum(IS_TEXT_UNICODE_RESULT.NOT_UNICODE_MASK) else 0) | (if (o.NOT_ASCII_MASK == 1) @intFromEnum(IS_TEXT_UNICODE_RESULT.NOT_ASCII_MASK) else 0) )); } }; pub const IS_TEXT_UNICODE_ASCII16 = IS_TEXT_UNICODE_RESULT.ASCII16; pub const IS_TEXT_UNICODE_REVERSE_ASCII16 = IS_TEXT_UNICODE_RESULT.REVERSE_ASCII16; pub const IS_TEXT_UNICODE_STATISTICS = IS_TEXT_UNICODE_RESULT.STATISTICS; pub const IS_TEXT_UNICODE_REVERSE_STATISTICS = IS_TEXT_UNICODE_RESULT.REVERSE_STATISTICS; pub const IS_TEXT_UNICODE_CONTROLS = IS_TEXT_UNICODE_RESULT.CONTROLS; pub const IS_TEXT_UNICODE_REVERSE_CONTROLS = IS_TEXT_UNICODE_RESULT.REVERSE_CONTROLS; pub const IS_TEXT_UNICODE_SIGNATURE = IS_TEXT_UNICODE_RESULT.SIGNATURE; pub const IS_TEXT_UNICODE_REVERSE_SIGNATURE = IS_TEXT_UNICODE_RESULT.REVERSE_SIGNATURE; pub const IS_TEXT_UNICODE_ILLEGAL_CHARS = IS_TEXT_UNICODE_RESULT.ILLEGAL_CHARS; pub const IS_TEXT_UNICODE_ODD_LENGTH = IS_TEXT_UNICODE_RESULT.ODD_LENGTH; pub const IS_TEXT_UNICODE_NULL_BYTES = IS_TEXT_UNICODE_RESULT.NULL_BYTES; pub const IS_TEXT_UNICODE_UNICODE_MASK = IS_TEXT_UNICODE_RESULT.UNICODE_MASK; pub const IS_TEXT_UNICODE_REVERSE_MASK = IS_TEXT_UNICODE_RESULT.REVERSE_MASK; pub const IS_TEXT_UNICODE_NOT_UNICODE_MASK = IS_TEXT_UNICODE_RESULT.NOT_UNICODE_MASK; pub const IS_TEXT_UNICODE_NOT_ASCII_MASK = IS_TEXT_UNICODE_RESULT.NOT_ASCII_MASK; // TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information? pub const HIMC = *opaque{}; // TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information? pub const HIMCC = *opaque{}; // TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information? pub const HSAVEDUILANGUAGES = *opaque{}; pub const FONTSIGNATURE = extern struct { fsUsb: [4]u32, fsCsb: [2]u32, }; pub const CHARSETINFO = extern struct { ciCharset: u32, ciACP: u32, fs: FONTSIGNATURE, }; pub const LOCALESIGNATURE = extern struct { lsUsb: [4]u32, lsCsbDefault: [2]u32, lsCsbSupported: [2]u32, }; pub const NEWTEXTMETRICEXA = extern struct { ntmTm: NEWTEXTMETRICA, ntmFontSig: FONTSIGNATURE, }; pub const NEWTEXTMETRICEXW = extern struct { ntmTm: NEWTEXTMETRICW, ntmFontSig: FONTSIGNATURE, }; pub const ENUMTEXTMETRICA = extern struct { etmNewTextMetricEx: NEWTEXTMETRICEXA, etmAxesList: AXESLISTA, }; pub const ENUMTEXTMETRICW = extern struct { etmNewTextMetricEx: NEWTEXTMETRICEXW, etmAxesList: AXESLISTW, }; pub const CPINFO = extern struct { MaxCharSize: u32, DefaultChar: [2]u8, LeadByte: [12]u8, }; pub const CPINFOEXA = extern struct { MaxCharSize: u32, DefaultChar: [2]u8, LeadByte: [12]u8, UnicodeDefaultChar: u16, CodePage: u32, CodePageName: [260]CHAR, }; pub const CPINFOEXW = extern struct { MaxCharSize: u32, DefaultChar: [2]u8, LeadByte: [12]u8, UnicodeDefaultChar: u16, CodePage: u32, CodePageName: [260]u16, }; pub const NUMBERFMTA = extern struct { NumDigits: u32, LeadingZero: u32, Grouping: u32, lpDecimalSep: ?PSTR, lpThousandSep: ?PSTR, NegativeOrder: u32, }; pub const NUMBERFMTW = extern struct { NumDigits: u32, LeadingZero: u32, Grouping: u32, lpDecimalSep: ?PWSTR, lpThousandSep: ?PWSTR, NegativeOrder: u32, }; pub const CURRENCYFMTA = extern struct { NumDigits: u32, LeadingZero: u32, Grouping: u32, lpDecimalSep: ?PSTR, lpThousandSep: ?PSTR, NegativeOrder: u32, PositiveOrder: u32, lpCurrencySymbol: ?PSTR, }; pub const CURRENCYFMTW = extern struct { NumDigits: u32, LeadingZero: u32, Grouping: u32, lpDecimalSep: ?PWSTR, lpThousandSep: ?PWSTR, NegativeOrder: u32, PositiveOrder: u32, lpCurrencySymbol: ?PWSTR, }; pub const SYSNLS_FUNCTION = enum(i32) { G = 1, }; pub const COMPARE_STRING = SYSNLS_FUNCTION.G; pub const NLSVERSIONINFO = extern struct { dwNLSVersionInfoSize: u32, dwNLSVersion: u32, dwDefinedVersion: u32, dwEffectiveId: u32, guidCustomVersion: Guid, }; pub const NLSVERSIONINFOEX = extern struct { dwNLSVersionInfoSize: u32, dwNLSVersion: u32, dwDefinedVersion: u32, dwEffectiveId: u32, guidCustomVersion: Guid, }; pub const SYSGEOTYPE = enum(i32) { NATION = 1, LATITUDE = 2, LONGITUDE = 3, ISO2 = 4, ISO3 = 5, RFC1766 = 6, LCID = 7, FRIENDLYNAME = 8, OFFICIALNAME = 9, TIMEZONES = 10, OFFICIALLANGUAGES = 11, ISO_UN_NUMBER = 12, PARENT = 13, DIALINGCODE = 14, CURRENCYCODE = 15, CURRENCYSYMBOL = 16, NAME = 17, ID = 18, }; pub const GEO_NATION = SYSGEOTYPE.NATION; pub const GEO_LATITUDE = SYSGEOTYPE.LATITUDE; pub const GEO_LONGITUDE = SYSGEOTYPE.LONGITUDE; pub const GEO_ISO2 = SYSGEOTYPE.ISO2; pub const GEO_ISO3 = SYSGEOTYPE.ISO3; pub const GEO_RFC1766 = SYSGEOTYPE.RFC1766; pub const GEO_LCID = SYSGEOTYPE.LCID; pub const GEO_FRIENDLYNAME = SYSGEOTYPE.FRIENDLYNAME; pub const GEO_OFFICIALNAME = SYSGEOTYPE.OFFICIALNAME; pub const GEO_TIMEZONES = SYSGEOTYPE.TIMEZONES; pub const GEO_OFFICIALLANGUAGES = SYSGEOTYPE.OFFICIALLANGUAGES; pub const GEO_ISO_UN_NUMBER = SYSGEOTYPE.ISO_UN_NUMBER; pub const GEO_PARENT = SYSGEOTYPE.PARENT; pub const GEO_DIALINGCODE = SYSGEOTYPE.DIALINGCODE; pub const GEO_CURRENCYCODE = SYSGEOTYPE.CURRENCYCODE; pub const GEO_CURRENCYSYMBOL = SYSGEOTYPE.CURRENCYSYMBOL; pub const GEO_NAME = SYSGEOTYPE.NAME; pub const GEO_ID = SYSGEOTYPE.ID; pub const SYSGEOCLASS = enum(i32) { NATION = 16, REGION = 14, ALL = 0, }; pub const GEOCLASS_NATION = SYSGEOCLASS.NATION; pub const GEOCLASS_REGION = SYSGEOCLASS.REGION; pub const GEOCLASS_ALL = SYSGEOCLASS.ALL; pub const LOCALE_ENUMPROCA = switch (@import("builtin").zig_backend) { .stage1 => fn( param0: ?PSTR, ) callconv(@import("std").os.windows.WINAPI) BOOL, else => *const fn( param0: ?PSTR, ) callconv(@import("std").os.windows.WINAPI) BOOL, } ; pub const LOCALE_ENUMPROCW = switch (@import("builtin").zig_backend) { .stage1 => fn( param0: ?PWSTR, ) callconv(@import("std").os.windows.WINAPI) BOOL, else => *const fn( param0: ?PWSTR, ) callconv(@import("std").os.windows.WINAPI) BOOL, } ; pub const NORM_FORM = enum(i32) { Other = 0, C = 1, D = 2, KC = 5, KD = 6, }; pub const NormalizationOther = NORM_FORM.Other; pub const NormalizationC = NORM_FORM.C; pub const NormalizationD = NORM_FORM.D; pub const NormalizationKC = NORM_FORM.KC; pub const NormalizationKD = NORM_FORM.KD; pub const LANGUAGEGROUP_ENUMPROCA = switch (@import("builtin").zig_backend) { .stage1 => fn( param0: u32, param1: ?PSTR, param2: ?PSTR, param3: u32, param4: isize, ) callconv(@import("std").os.windows.WINAPI) BOOL, else => *const fn( param0: u32, param1: ?PSTR, param2: ?PSTR, param3: u32, param4: isize, ) callconv(@import("std").os.windows.WINAPI) BOOL, } ; pub const LANGGROUPLOCALE_ENUMPROCA = switch (@import("builtin").zig_backend) { .stage1 => fn( param0: u32, param1: u32, param2: ?PSTR, param3: isize, ) callconv(@import("std").os.windows.WINAPI) BOOL, else => *const fn( param0: u32, param1: u32, param2: ?PSTR, param3: isize, ) callconv(@import("std").os.windows.WINAPI) BOOL, } ; pub const UILANGUAGE_ENUMPROCA = switch (@import("builtin").zig_backend) { .stage1 => fn( param0: ?PSTR, param1: isize, ) callconv(@import("std").os.windows.WINAPI) BOOL, else => *const fn( param0: ?PSTR, param1: isize, ) callconv(@import("std").os.windows.WINAPI) BOOL, } ; pub const CODEPAGE_ENUMPROCA = switch (@import("builtin").zig_backend) { .stage1 => fn( param0: ?PSTR, ) callconv(@import("std").os.windows.WINAPI) BOOL, else => *const fn( param0: ?PSTR, ) callconv(@import("std").os.windows.WINAPI) BOOL, } ; pub const DATEFMT_ENUMPROCA = switch (@import("builtin").zig_backend) { .stage1 => fn( param0: ?PSTR, ) callconv(@import("std").os.windows.WINAPI) BOOL, else => *const fn( param0: ?PSTR, ) callconv(@import("std").os.windows.WINAPI) BOOL, } ; pub const DATEFMT_ENUMPROCEXA = switch (@import("builtin").zig_backend) { .stage1 => fn( param0: ?PSTR, param1: u32, ) callconv(@import("std").os.windows.WINAPI) BOOL, else => *const fn( param0: ?PSTR, param1: u32, ) callconv(@import("std").os.windows.WINAPI) BOOL, } ; pub const TIMEFMT_ENUMPROCA = switch (@import("builtin").zig_backend) { .stage1 => fn( param0: ?PSTR, ) callconv(@import("std").os.windows.WINAPI) BOOL, else => *const fn( param0: ?PSTR, ) callconv(@import("std").os.windows.WINAPI) BOOL, } ; pub const CALINFO_ENUMPROCA = switch (@import("builtin").zig_backend) { .stage1 => fn( param0: ?PSTR, ) callconv(@import("std").os.windows.WINAPI) BOOL, else => *const fn( param0: ?PSTR, ) callconv(@import("std").os.windows.WINAPI) BOOL, } ; pub const CALINFO_ENUMPROCEXA = switch (@import("builtin").zig_backend) { .stage1 => fn( param0: ?PSTR, param1: u32, ) callconv(@import("std").os.windows.WINAPI) BOOL, else => *const fn( param0: ?PSTR, param1: u32, ) callconv(@import("std").os.windows.WINAPI) BOOL, } ; pub const LANGUAGEGROUP_ENUMPROCW = switch (@import("builtin").zig_backend) { .stage1 => fn( param0: u32, param1: ?PWSTR, param2: ?PWSTR, param3: u32, param4: isize, ) callconv(@import("std").os.windows.WINAPI) BOOL, else => *const fn( param0: u32, param1: ?PWSTR, param2: ?PWSTR, param3: u32, param4: isize, ) callconv(@import("std").os.windows.WINAPI) BOOL, } ; pub const LANGGROUPLOCALE_ENUMPROCW = switch (@import("builtin").zig_backend) { .stage1 => fn( param0: u32, param1: u32, param2: ?PWSTR, param3: isize, ) callconv(@import("std").os.windows.WINAPI) BOOL, else => *const fn( param0: u32, param1: u32, param2: ?PWSTR, param3: isize, ) callconv(@import("std").os.windows.WINAPI) BOOL, } ; pub const UILANGUAGE_ENUMPROCW = switch (@import("builtin").zig_backend) { .stage1 => fn( param0: ?PWSTR, param1: isize, ) callconv(@import("std").os.windows.WINAPI) BOOL, else => *const fn( param0: ?PWSTR, param1: isize, ) callconv(@import("std").os.windows.WINAPI) BOOL, } ; pub const CODEPAGE_ENUMPROCW = switch (@import("builtin").zig_backend) { .stage1 => fn( param0: ?PWSTR, ) callconv(@import("std").os.windows.WINAPI) BOOL, else => *const fn( param0: ?PWSTR, ) callconv(@import("std").os.windows.WINAPI) BOOL, } ; pub const DATEFMT_ENUMPROCW = switch (@import("builtin").zig_backend) { .stage1 => fn( param0: ?PWSTR, ) callconv(@import("std").os.windows.WINAPI) BOOL, else => *const fn( param0: ?PWSTR, ) callconv(@import("std").os.windows.WINAPI) BOOL, } ; pub const DATEFMT_ENUMPROCEXW = switch (@import("builtin").zig_backend) { .stage1 => fn( param0: ?PWSTR, param1: u32, ) callconv(@import("std").os.windows.WINAPI) BOOL, else => *const fn( param0: ?PWSTR, param1: u32, ) callconv(@import("std").os.windows.WINAPI) BOOL, } ; pub const TIMEFMT_ENUMPROCW = switch (@import("builtin").zig_backend) { .stage1 => fn( param0: ?PWSTR, ) callconv(@import("std").os.windows.WINAPI) BOOL, else => *const fn( param0: ?PWSTR, ) callconv(@import("std").os.windows.WINAPI) BOOL, } ; pub const CALINFO_ENUMPROCW = switch (@import("builtin").zig_backend) { .stage1 => fn( param0: ?PWSTR, ) callconv(@import("std").os.windows.WINAPI) BOOL, else => *const fn( param0: ?PWSTR, ) callconv(@import("std").os.windows.WINAPI) BOOL, } ; pub const CALINFO_ENUMPROCEXW = switch (@import("builtin").zig_backend) { .stage1 => fn( param0: ?PWSTR, param1: u32, ) callconv(@import("std").os.windows.WINAPI) BOOL, else => *const fn( param0: ?PWSTR, param1: u32, ) callconv(@import("std").os.windows.WINAPI) BOOL, } ; pub const GEO_ENUMPROC = switch (@import("builtin").zig_backend) { .stage1 => fn( param0: i32, ) callconv(@import("std").os.windows.WINAPI) BOOL, else => *const fn( param0: i32, ) callconv(@import("std").os.windows.WINAPI) BOOL, } ; pub const GEO_ENUMNAMEPROC = switch (@import("builtin").zig_backend) { .stage1 => fn( param0: ?PWSTR, param1: LPARAM, ) callconv(@import("std").os.windows.WINAPI) BOOL, else => *const fn( param0: ?PWSTR, param1: LPARAM, ) callconv(@import("std").os.windows.WINAPI) BOOL, } ; pub const FILEMUIINFO = extern struct { dwSize: u32, dwVersion: u32, dwFileType: u32, pChecksum: [16]u8, pServiceChecksum: [16]u8, dwLanguageNameOffset: u32, dwTypeIDMainSize: u32, dwTypeIDMainOffset: u32, dwTypeNameMainOffset: u32, dwTypeIDMUISize: u32, dwTypeIDMUIOffset: u32, dwTypeNameMUIOffset: u32, abBuffer: [8]u8, }; pub const CALINFO_ENUMPROCEXEX = switch (@import("builtin").zig_backend) { .stage1 => fn( param0: ?PWSTR, param1: u32, param2: ?PWSTR, param3: LPARAM, ) callconv(@import("std").os.windows.WINAPI) BOOL, else => *const fn( param0: ?PWSTR, param1: u32, param2: ?PWSTR, param3: LPARAM, ) callconv(@import("std").os.windows.WINAPI) BOOL, } ; pub const DATEFMT_ENUMPROCEXEX = switch (@import("builtin").zig_backend) { .stage1 => fn( param0: ?PWSTR, param1: u32, param2: LPARAM, ) callconv(@import("std").os.windows.WINAPI) BOOL, else => *const fn( param0: ?PWSTR, param1: u32, param2: LPARAM, ) callconv(@import("std").os.windows.WINAPI) BOOL, } ; pub const TIMEFMT_ENUMPROCEX = switch (@import("builtin").zig_backend) { .stage1 => fn( param0: ?PWSTR, param1: LPARAM, ) callconv(@import("std").os.windows.WINAPI) BOOL, else => *const fn( param0: ?PWSTR, param1: LPARAM, ) callconv(@import("std").os.windows.WINAPI) BOOL, } ; pub const LOCALE_ENUMPROCEX = switch (@import("builtin").zig_backend) { .stage1 => fn( param0: ?PWSTR, param1: u32, param2: LPARAM, ) callconv(@import("std").os.windows.WINAPI) BOOL, else => *const fn( param0: ?PWSTR, param1: u32, param2: LPARAM, ) callconv(@import("std").os.windows.WINAPI) BOOL, } ; pub const PFN_MAPPINGCALLBACKPROC = switch (@import("builtin").zig_backend) { .stage1 => fn( pBag: ?*MAPPING_PROPERTY_BAG, data: ?*anyopaque, dwDataSize: u32, Result: HRESULT, ) callconv(@import("std").os.windows.WINAPI) void, else => *const fn( pBag: ?*MAPPING_PROPERTY_BAG, data: ?*anyopaque, dwDataSize: u32, Result: HRESULT, ) callconv(@import("std").os.windows.WINAPI) void, } ; pub const MAPPING_SERVICE_INFO = extern struct { Size: usize, pszCopyright: ?PWSTR, wMajorVersion: u16, wMinorVersion: u16, wBuildVersion: u16, wStepVersion: u16, dwInputContentTypesCount: u32, prgInputContentTypes: ?*?PWSTR, dwOutputContentTypesCount: u32, prgOutputContentTypes: ?*?PWSTR, dwInputLanguagesCount: u32, prgInputLanguages: ?*?PWSTR, dwOutputLanguagesCount: u32, prgOutputLanguages: ?*?PWSTR, dwInputScriptsCount: u32, prgInputScripts: ?*?PWSTR, dwOutputScriptsCount: u32, prgOutputScripts: ?*?PWSTR, guid: Guid, pszCategory: ?PWSTR, pszDescription: ?PWSTR, dwPrivateDataSize: u32, pPrivateData: ?*anyopaque, pContext: ?*anyopaque, _bitfield: u32, }; pub const MAPPING_ENUM_OPTIONS = extern struct { Size: usize, pszCategory: ?PWSTR, pszInputLanguage: ?PWSTR, pszOutputLanguage: ?PWSTR, pszInputScript: ?PWSTR, pszOutputScript: ?PWSTR, pszInputContentType: ?PWSTR, pszOutputContentType: ?PWSTR, pGuid: ?*Guid, _bitfield: u32, }; pub const MAPPING_OPTIONS = extern struct { Size: usize, pszInputLanguage: ?PWSTR, pszOutputLanguage: ?PWSTR, pszInputScript: ?PWSTR, pszOutputScript: ?PWSTR, pszInputContentType: ?PWSTR, pszOutputContentType: ?PWSTR, pszUILanguage: ?PWSTR, pfnRecognizeCallback: ?PFN_MAPPINGCALLBACKPROC, pRecognizeCallerData: ?*anyopaque, dwRecognizeCallerDataSize: u32, pfnActionCallback: ?PFN_MAPPINGCALLBACKPROC, pActionCallerData: ?*anyopaque, dwActionCallerDataSize: u32, dwServiceFlag: u32, _bitfield: u32, }; pub const MAPPING_DATA_RANGE = extern struct { dwStartIndex: u32, dwEndIndex: u32, pszDescription: ?PWSTR, dwDescriptionLength: u32, pData: ?*anyopaque, dwDataSize: u32, pszContentType: ?PWSTR, prgActionIds: ?*?PWSTR, dwActionsCount: u32, prgActionDisplayNames: ?*?PWSTR, }; pub const MAPPING_PROPERTY_BAG = extern struct { Size: usize, prgResultRanges: ?*MAPPING_DATA_RANGE, dwRangesCount: u32, pServiceData: ?*anyopaque, dwServiceDataSize: u32, pCallerData: ?*anyopaque, dwCallerDataSize: u32, pContext: ?*anyopaque, }; const CLSID_SpellCheckerFactory_Value = Guid.initString("7ab36653-1796-484b-bdfa-e74f1db7c1dc"); pub const CLSID_SpellCheckerFactory = &CLSID_SpellCheckerFactory_Value; pub const WORDLIST_TYPE = enum(i32) { IGNORE = 0, ADD = 1, EXCLUDE = 2, AUTOCORRECT = 3, }; pub const WORDLIST_TYPE_IGNORE = WORDLIST_TYPE.IGNORE; pub const WORDLIST_TYPE_ADD = WORDLIST_TYPE.ADD; pub const WORDLIST_TYPE_EXCLUDE = WORDLIST_TYPE.EXCLUDE; pub const WORDLIST_TYPE_AUTOCORRECT = WORDLIST_TYPE.AUTOCORRECT; pub const CORRECTIVE_ACTION = enum(i32) { NONE = 0, GET_SUGGESTIONS = 1, REPLACE = 2, DELETE = 3, }; pub const CORRECTIVE_ACTION_NONE = CORRECTIVE_ACTION.NONE; pub const CORRECTIVE_ACTION_GET_SUGGESTIONS = CORRECTIVE_ACTION.GET_SUGGESTIONS; pub const CORRECTIVE_ACTION_REPLACE = CORRECTIVE_ACTION.REPLACE; pub const CORRECTIVE_ACTION_DELETE = CORRECTIVE_ACTION.DELETE; // TODO: this type is limited to platform 'windows8.0' const IID_ISpellingError_Value = Guid.initString("b7c82d61-fbe8-4b47-9b27-6c0d2e0de0a3"); pub const IID_ISpellingError = &IID_ISpellingError_Value; pub const ISpellingError = extern struct { pub const VTable = extern struct { base: IUnknown.VTable, // TODO: this function has a "SpecialName", should Zig do anything with this? get_StartIndex: switch (@import("builtin").zig_backend) { // TODO: this function has a "SpecialName", should Zig do anything with this? .stage1 => fn( self: *const ISpellingError, value: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, // TODO: this function has a "SpecialName", should Zig do anything with this? else => *const fn( self: *const ISpellingError, value: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, // TODO: this function has a "SpecialName", should Zig do anything with this? get_Length: switch (@import("builtin").zig_backend) { // TODO: this function has a "SpecialName", should Zig do anything with this? .stage1 => fn( self: *const ISpellingError, value: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, // TODO: this function has a "SpecialName", should Zig do anything with this? else => *const fn( self: *const ISpellingError, value: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, // TODO: this function has a "SpecialName", should Zig do anything with this? get_CorrectiveAction: switch (@import("builtin").zig_backend) { // TODO: this function has a "SpecialName", should Zig do anything with this? .stage1 => fn( self: *const ISpellingError, value: ?*CORRECTIVE_ACTION, ) callconv(@import("std").os.windows.WINAPI) HRESULT, // TODO: this function has a "SpecialName", should Zig do anything with this? else => *const fn( self: *const ISpellingError, value: ?*CORRECTIVE_ACTION, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, // TODO: this function has a "SpecialName", should Zig do anything with this? get_Replacement: switch (@import("builtin").zig_backend) { // TODO: this function has a "SpecialName", should Zig do anything with this? .stage1 => fn( self: *const ISpellingError, value: ?*?PWSTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT, // TODO: this function has a "SpecialName", should Zig do anything with this? else => *const fn( self: *const ISpellingError, value: ?*?PWSTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, }; vtable: *const VTable, pub fn MethodMixin(comptime T: type) type { return struct { pub usingnamespace IUnknown.MethodMixin(T); // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellingError_get_StartIndex(self: *const T, value: ?*u32) callconv(.Inline) HRESULT { return @as(*const ISpellingError.VTable, @ptrCast(self.vtable)).get_StartIndex(@as(*const ISpellingError, @ptrCast(self)), value); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellingError_get_Length(self: *const T, value: ?*u32) callconv(.Inline) HRESULT { return @as(*const ISpellingError.VTable, @ptrCast(self.vtable)).get_Length(@as(*const ISpellingError, @ptrCast(self)), value); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellingError_get_CorrectiveAction(self: *const T, value: ?*CORRECTIVE_ACTION) callconv(.Inline) HRESULT { return @as(*const ISpellingError.VTable, @ptrCast(self.vtable)).get_CorrectiveAction(@as(*const ISpellingError, @ptrCast(self)), value); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellingError_get_Replacement(self: *const T, value: ?*?PWSTR) callconv(.Inline) HRESULT { return @as(*const ISpellingError.VTable, @ptrCast(self.vtable)).get_Replacement(@as(*const ISpellingError, @ptrCast(self)), value); } };} pub usingnamespace MethodMixin(@This()); }; // TODO: this type is limited to platform 'windows8.0' const IID_IEnumSpellingError_Value = Guid.initString("803e3bd4-2828-4410-8290-418d1d73c762"); pub const IID_IEnumSpellingError = &IID_IEnumSpellingError_Value; pub const IEnumSpellingError = extern struct { pub const VTable = extern struct { base: IUnknown.VTable, Next: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IEnumSpellingError, value: ?*?*ISpellingError, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IEnumSpellingError, value: ?*?*ISpellingError, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, }; vtable: *const VTable, pub fn MethodMixin(comptime T: type) type { return struct { pub usingnamespace IUnknown.MethodMixin(T); // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IEnumSpellingError_Next(self: *const T, value: ?*?*ISpellingError) callconv(.Inline) HRESULT { return @as(*const IEnumSpellingError.VTable, @ptrCast(self.vtable)).Next(@as(*const IEnumSpellingError, @ptrCast(self)), value); } };} pub usingnamespace MethodMixin(@This()); }; // TODO: this type is limited to platform 'windows8.0' const IID_IOptionDescription_Value = Guid.initString("432e5f85-35cf-4606-a801-6f70277e1d7a"); pub const IID_IOptionDescription = &IID_IOptionDescription_Value; pub const IOptionDescription = extern struct { pub const VTable = extern struct { base: IUnknown.VTable, // TODO: this function has a "SpecialName", should Zig do anything with this? get_Id: switch (@import("builtin").zig_backend) { // TODO: this function has a "SpecialName", should Zig do anything with this? .stage1 => fn( self: *const IOptionDescription, value: ?*?PWSTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT, // TODO: this function has a "SpecialName", should Zig do anything with this? else => *const fn( self: *const IOptionDescription, value: ?*?PWSTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, // TODO: this function has a "SpecialName", should Zig do anything with this? get_Heading: switch (@import("builtin").zig_backend) { // TODO: this function has a "SpecialName", should Zig do anything with this? .stage1 => fn( self: *const IOptionDescription, value: ?*?PWSTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT, // TODO: this function has a "SpecialName", should Zig do anything with this? else => *const fn( self: *const IOptionDescription, value: ?*?PWSTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, // TODO: this function has a "SpecialName", should Zig do anything with this? get_Description: switch (@import("builtin").zig_backend) { // TODO: this function has a "SpecialName", should Zig do anything with this? .stage1 => fn( self: *const IOptionDescription, value: ?*?PWSTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT, // TODO: this function has a "SpecialName", should Zig do anything with this? else => *const fn( self: *const IOptionDescription, value: ?*?PWSTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, // TODO: this function has a "SpecialName", should Zig do anything with this? get_Labels: switch (@import("builtin").zig_backend) { // TODO: this function has a "SpecialName", should Zig do anything with this? .stage1 => fn( self: *const IOptionDescription, value: ?*?*IEnumString, ) callconv(@import("std").os.windows.WINAPI) HRESULT, // TODO: this function has a "SpecialName", should Zig do anything with this? else => *const fn( self: *const IOptionDescription, value: ?*?*IEnumString, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, }; vtable: *const VTable, pub fn MethodMixin(comptime T: type) type { return struct { pub usingnamespace IUnknown.MethodMixin(T); // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IOptionDescription_get_Id(self: *const T, value: ?*?PWSTR) callconv(.Inline) HRESULT { return @as(*const IOptionDescription.VTable, @ptrCast(self.vtable)).get_Id(@as(*const IOptionDescription, @ptrCast(self)), value); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IOptionDescription_get_Heading(self: *const T, value: ?*?PWSTR) callconv(.Inline) HRESULT { return @as(*const IOptionDescription.VTable, @ptrCast(self.vtable)).get_Heading(@as(*const IOptionDescription, @ptrCast(self)), value); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IOptionDescription_get_Description(self: *const T, value: ?*?PWSTR) callconv(.Inline) HRESULT { return @as(*const IOptionDescription.VTable, @ptrCast(self.vtable)).get_Description(@as(*const IOptionDescription, @ptrCast(self)), value); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IOptionDescription_get_Labels(self: *const T, value: ?*?*IEnumString) callconv(.Inline) HRESULT { return @as(*const IOptionDescription.VTable, @ptrCast(self.vtable)).get_Labels(@as(*const IOptionDescription, @ptrCast(self)), value); } };} pub usingnamespace MethodMixin(@This()); }; // TODO: this type is limited to platform 'windows8.0' const IID_ISpellCheckerChangedEventHandler_Value = Guid.initString("0b83a5b0-792f-4eab-9799-acf52c5ed08a"); pub const IID_ISpellCheckerChangedEventHandler = &IID_ISpellCheckerChangedEventHandler_Value; pub const ISpellCheckerChangedEventHandler = extern struct { pub const VTable = extern struct { base: IUnknown.VTable, Invoke: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const ISpellCheckerChangedEventHandler, sender: ?*ISpellChecker, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const ISpellCheckerChangedEventHandler, sender: ?*ISpellChecker, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, }; vtable: *const VTable, pub fn MethodMixin(comptime T: type) type { return struct { pub usingnamespace IUnknown.MethodMixin(T); // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellCheckerChangedEventHandler_Invoke(self: *const T, sender: ?*ISpellChecker) callconv(.Inline) HRESULT { return @as(*const ISpellCheckerChangedEventHandler.VTable, @ptrCast(self.vtable)).Invoke(@as(*const ISpellCheckerChangedEventHandler, @ptrCast(self)), sender); } };} pub usingnamespace MethodMixin(@This()); }; // TODO: this type is limited to platform 'windows8.0' const IID_ISpellChecker_Value = Guid.initString("b6fd0b71-e2bc-4653-8d05-f197e412770b"); pub const IID_ISpellChecker = &IID_ISpellChecker_Value; pub const ISpellChecker = extern struct { pub const VTable = extern struct { base: IUnknown.VTable, // TODO: this function has a "SpecialName", should Zig do anything with this? get_LanguageTag: switch (@import("builtin").zig_backend) { // TODO: this function has a "SpecialName", should Zig do anything with this? .stage1 => fn( self: *const ISpellChecker, value: ?*?PWSTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT, // TODO: this function has a "SpecialName", should Zig do anything with this? else => *const fn( self: *const ISpellChecker, value: ?*?PWSTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, Check: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const ISpellChecker, text: ?[*:0]const u16, value: ?*?*IEnumSpellingError, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const ISpellChecker, text: ?[*:0]const u16, value: ?*?*IEnumSpellingError, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, Suggest: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const ISpellChecker, word: ?[*:0]const u16, value: ?*?*IEnumString, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const ISpellChecker, word: ?[*:0]const u16, value: ?*?*IEnumString, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, Add: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const ISpellChecker, word: ?[*:0]const u16, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const ISpellChecker, word: ?[*:0]const u16, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, Ignore: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const ISpellChecker, word: ?[*:0]const u16, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const ISpellChecker, word: ?[*:0]const u16, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, AutoCorrect: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const ISpellChecker, from: ?[*:0]const u16, to: ?[*:0]const u16, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const ISpellChecker, from: ?[*:0]const u16, to: ?[*:0]const u16, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, GetOptionValue: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const ISpellChecker, optionId: ?[*:0]const u16, value: ?*u8, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const ISpellChecker, optionId: ?[*:0]const u16, value: ?*u8, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, // TODO: this function has a "SpecialName", should Zig do anything with this? get_OptionIds: switch (@import("builtin").zig_backend) { // TODO: this function has a "SpecialName", should Zig do anything with this? .stage1 => fn( self: *const ISpellChecker, value: ?*?*IEnumString, ) callconv(@import("std").os.windows.WINAPI) HRESULT, // TODO: this function has a "SpecialName", should Zig do anything with this? else => *const fn( self: *const ISpellChecker, value: ?*?*IEnumString, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, // TODO: this function has a "SpecialName", should Zig do anything with this? get_Id: switch (@import("builtin").zig_backend) { // TODO: this function has a "SpecialName", should Zig do anything with this? .stage1 => fn( self: *const ISpellChecker, value: ?*?PWSTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT, // TODO: this function has a "SpecialName", should Zig do anything with this? else => *const fn( self: *const ISpellChecker, value: ?*?PWSTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, // TODO: this function has a "SpecialName", should Zig do anything with this? get_LocalizedName: switch (@import("builtin").zig_backend) { // TODO: this function has a "SpecialName", should Zig do anything with this? .stage1 => fn( self: *const ISpellChecker, value: ?*?PWSTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT, // TODO: this function has a "SpecialName", should Zig do anything with this? else => *const fn( self: *const ISpellChecker, value: ?*?PWSTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, // TODO: this function has a "SpecialName", should Zig do anything with this? add_SpellCheckerChanged: switch (@import("builtin").zig_backend) { // TODO: this function has a "SpecialName", should Zig do anything with this? .stage1 => fn( self: *const ISpellChecker, handler: ?*ISpellCheckerChangedEventHandler, eventCookie: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, // TODO: this function has a "SpecialName", should Zig do anything with this? else => *const fn( self: *const ISpellChecker, handler: ?*ISpellCheckerChangedEventHandler, eventCookie: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, // TODO: this function has a "SpecialName", should Zig do anything with this? remove_SpellCheckerChanged: switch (@import("builtin").zig_backend) { // TODO: this function has a "SpecialName", should Zig do anything with this? .stage1 => fn( self: *const ISpellChecker, eventCookie: u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, // TODO: this function has a "SpecialName", should Zig do anything with this? else => *const fn( self: *const ISpellChecker, eventCookie: u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, GetOptionDescription: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const ISpellChecker, optionId: ?[*:0]const u16, value: ?*?*IOptionDescription, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const ISpellChecker, optionId: ?[*:0]const u16, value: ?*?*IOptionDescription, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, ComprehensiveCheck: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const ISpellChecker, text: ?[*:0]const u16, value: ?*?*IEnumSpellingError, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const ISpellChecker, text: ?[*:0]const u16, value: ?*?*IEnumSpellingError, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, }; vtable: *const VTable, pub fn MethodMixin(comptime T: type) type { return struct { pub usingnamespace IUnknown.MethodMixin(T); // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellChecker_get_LanguageTag(self: *const T, value: ?*?PWSTR) callconv(.Inline) HRESULT { return @as(*const ISpellChecker.VTable, @ptrCast(self.vtable)).get_LanguageTag(@as(*const ISpellChecker, @ptrCast(self)), value); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellChecker_Check(self: *const T, text: ?[*:0]const u16, value: ?*?*IEnumSpellingError) callconv(.Inline) HRESULT { return @as(*const ISpellChecker.VTable, @ptrCast(self.vtable)).Check(@as(*const ISpellChecker, @ptrCast(self)), text, value); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellChecker_Suggest(self: *const T, word: ?[*:0]const u16, value: ?*?*IEnumString) callconv(.Inline) HRESULT { return @as(*const ISpellChecker.VTable, @ptrCast(self.vtable)).Suggest(@as(*const ISpellChecker, @ptrCast(self)), word, value); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellChecker_Add(self: *const T, word: ?[*:0]const u16) callconv(.Inline) HRESULT { return @as(*const ISpellChecker.VTable, @ptrCast(self.vtable)).Add(@as(*const ISpellChecker, @ptrCast(self)), word); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellChecker_Ignore(self: *const T, word: ?[*:0]const u16) callconv(.Inline) HRESULT { return @as(*const ISpellChecker.VTable, @ptrCast(self.vtable)).Ignore(@as(*const ISpellChecker, @ptrCast(self)), word); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellChecker_AutoCorrect(self: *const T, from: ?[*:0]const u16, to: ?[*:0]const u16) callconv(.Inline) HRESULT { return @as(*const ISpellChecker.VTable, @ptrCast(self.vtable)).AutoCorrect(@as(*const ISpellChecker, @ptrCast(self)), from, to); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellChecker_GetOptionValue(self: *const T, optionId: ?[*:0]const u16, value: ?*u8) callconv(.Inline) HRESULT { return @as(*const ISpellChecker.VTable, @ptrCast(self.vtable)).GetOptionValue(@as(*const ISpellChecker, @ptrCast(self)), optionId, value); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellChecker_get_OptionIds(self: *const T, value: ?*?*IEnumString) callconv(.Inline) HRESULT { return @as(*const ISpellChecker.VTable, @ptrCast(self.vtable)).get_OptionIds(@as(*const ISpellChecker, @ptrCast(self)), value); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellChecker_get_Id(self: *const T, value: ?*?PWSTR) callconv(.Inline) HRESULT { return @as(*const ISpellChecker.VTable, @ptrCast(self.vtable)).get_Id(@as(*const ISpellChecker, @ptrCast(self)), value); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellChecker_get_LocalizedName(self: *const T, value: ?*?PWSTR) callconv(.Inline) HRESULT { return @as(*const ISpellChecker.VTable, @ptrCast(self.vtable)).get_LocalizedName(@as(*const ISpellChecker, @ptrCast(self)), value); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellChecker_add_SpellCheckerChanged(self: *const T, handler: ?*ISpellCheckerChangedEventHandler, eventCookie: ?*u32) callconv(.Inline) HRESULT { return @as(*const ISpellChecker.VTable, @ptrCast(self.vtable)).add_SpellCheckerChanged(@as(*const ISpellChecker, @ptrCast(self)), handler, eventCookie); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellChecker_remove_SpellCheckerChanged(self: *const T, eventCookie: u32) callconv(.Inline) HRESULT { return @as(*const ISpellChecker.VTable, @ptrCast(self.vtable)).remove_SpellCheckerChanged(@as(*const ISpellChecker, @ptrCast(self)), eventCookie); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellChecker_GetOptionDescription(self: *const T, optionId: ?[*:0]const u16, value: ?*?*IOptionDescription) callconv(.Inline) HRESULT { return @as(*const ISpellChecker.VTable, @ptrCast(self.vtable)).GetOptionDescription(@as(*const ISpellChecker, @ptrCast(self)), optionId, value); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellChecker_ComprehensiveCheck(self: *const T, text: ?[*:0]const u16, value: ?*?*IEnumSpellingError) callconv(.Inline) HRESULT { return @as(*const ISpellChecker.VTable, @ptrCast(self.vtable)).ComprehensiveCheck(@as(*const ISpellChecker, @ptrCast(self)), text, value); } };} pub usingnamespace MethodMixin(@This()); }; // TODO: this type is limited to platform 'windows10.0.10240' const IID_ISpellChecker2_Value = Guid.initString("e7ed1c71-87f7-4378-a840-c9200dacee47"); pub const IID_ISpellChecker2 = &IID_ISpellChecker2_Value; pub const ISpellChecker2 = extern struct { pub const VTable = extern struct { base: ISpellChecker.VTable, Remove: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const ISpellChecker2, word: ?[*:0]const u16, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const ISpellChecker2, word: ?[*:0]const u16, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, }; vtable: *const VTable, pub fn MethodMixin(comptime T: type) type { return struct { pub usingnamespace ISpellChecker.MethodMixin(T); // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellChecker2_Remove(self: *const T, word: ?[*:0]const u16) callconv(.Inline) HRESULT { return @as(*const ISpellChecker2.VTable, @ptrCast(self.vtable)).Remove(@as(*const ISpellChecker2, @ptrCast(self)), word); } };} pub usingnamespace MethodMixin(@This()); }; // TODO: this type is limited to platform 'windows8.0' const IID_ISpellCheckerFactory_Value = Guid.initString("8e018a9d-2415-4677-bf08-794ea61f94bb"); pub const IID_ISpellCheckerFactory = &IID_ISpellCheckerFactory_Value; pub const ISpellCheckerFactory = extern struct { pub const VTable = extern struct { base: IUnknown.VTable, // TODO: this function has a "SpecialName", should Zig do anything with this? get_SupportedLanguages: switch (@import("builtin").zig_backend) { // TODO: this function has a "SpecialName", should Zig do anything with this? .stage1 => fn( self: *const ISpellCheckerFactory, value: ?*?*IEnumString, ) callconv(@import("std").os.windows.WINAPI) HRESULT, // TODO: this function has a "SpecialName", should Zig do anything with this? else => *const fn( self: *const ISpellCheckerFactory, value: ?*?*IEnumString, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, IsSupported: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const ISpellCheckerFactory, languageTag: ?[*:0]const u16, value: ?*BOOL, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const ISpellCheckerFactory, languageTag: ?[*:0]const u16, value: ?*BOOL, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, CreateSpellChecker: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const ISpellCheckerFactory, languageTag: ?[*:0]const u16, value: ?*?*ISpellChecker, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const ISpellCheckerFactory, languageTag: ?[*:0]const u16, value: ?*?*ISpellChecker, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, }; vtable: *const VTable, pub fn MethodMixin(comptime T: type) type { return struct { pub usingnamespace IUnknown.MethodMixin(T); // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellCheckerFactory_get_SupportedLanguages(self: *const T, value: ?*?*IEnumString) callconv(.Inline) HRESULT { return @as(*const ISpellCheckerFactory.VTable, @ptrCast(self.vtable)).get_SupportedLanguages(@as(*const ISpellCheckerFactory, @ptrCast(self)), value); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellCheckerFactory_IsSupported(self: *const T, languageTag: ?[*:0]const u16, value: ?*BOOL) callconv(.Inline) HRESULT { return @as(*const ISpellCheckerFactory.VTable, @ptrCast(self.vtable)).IsSupported(@as(*const ISpellCheckerFactory, @ptrCast(self)), languageTag, value); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellCheckerFactory_CreateSpellChecker(self: *const T, languageTag: ?[*:0]const u16, value: ?*?*ISpellChecker) callconv(.Inline) HRESULT { return @as(*const ISpellCheckerFactory.VTable, @ptrCast(self.vtable)).CreateSpellChecker(@as(*const ISpellCheckerFactory, @ptrCast(self)), languageTag, value); } };} pub usingnamespace MethodMixin(@This()); }; // TODO: this type is limited to platform 'windows8.0' const IID_IUserDictionariesRegistrar_Value = Guid.initString("aa176b85-0e12-4844-8e1a-eef1da77f586"); pub const IID_IUserDictionariesRegistrar = &IID_IUserDictionariesRegistrar_Value; pub const IUserDictionariesRegistrar = extern struct { pub const VTable = extern struct { base: IUnknown.VTable, RegisterUserDictionary: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IUserDictionariesRegistrar, dictionaryPath: ?[*:0]const u16, languageTag: ?[*:0]const u16, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IUserDictionariesRegistrar, dictionaryPath: ?[*:0]const u16, languageTag: ?[*:0]const u16, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, UnregisterUserDictionary: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IUserDictionariesRegistrar, dictionaryPath: ?[*:0]const u16, languageTag: ?[*:0]const u16, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IUserDictionariesRegistrar, dictionaryPath: ?[*:0]const u16, languageTag: ?[*:0]const u16, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, }; vtable: *const VTable, pub fn MethodMixin(comptime T: type) type { return struct { pub usingnamespace IUnknown.MethodMixin(T); // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IUserDictionariesRegistrar_RegisterUserDictionary(self: *const T, dictionaryPath: ?[*:0]const u16, languageTag: ?[*:0]const u16) callconv(.Inline) HRESULT { return @as(*const IUserDictionariesRegistrar.VTable, @ptrCast(self.vtable)).RegisterUserDictionary(@as(*const IUserDictionariesRegistrar, @ptrCast(self)), dictionaryPath, languageTag); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IUserDictionariesRegistrar_UnregisterUserDictionary(self: *const T, dictionaryPath: ?[*:0]const u16, languageTag: ?[*:0]const u16) callconv(.Inline) HRESULT { return @as(*const IUserDictionariesRegistrar.VTable, @ptrCast(self.vtable)).UnregisterUserDictionary(@as(*const IUserDictionariesRegistrar, @ptrCast(self)), dictionaryPath, languageTag); } };} pub usingnamespace MethodMixin(@This()); }; // TODO: this type is limited to platform 'windows8.0' const IID_ISpellCheckProvider_Value = Guid.initString("73e976e0-8ed4-4eb1-80d7-1be0a16b0c38"); pub const IID_ISpellCheckProvider = &IID_ISpellCheckProvider_Value; pub const ISpellCheckProvider = extern struct { pub const VTable = extern struct { base: IUnknown.VTable, // TODO: this function has a "SpecialName", should Zig do anything with this? get_LanguageTag: switch (@import("builtin").zig_backend) { // TODO: this function has a "SpecialName", should Zig do anything with this? .stage1 => fn( self: *const ISpellCheckProvider, value: ?*?PWSTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT, // TODO: this function has a "SpecialName", should Zig do anything with this? else => *const fn( self: *const ISpellCheckProvider, value: ?*?PWSTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, Check: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const ISpellCheckProvider, text: ?[*:0]const u16, value: ?*?*IEnumSpellingError, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const ISpellCheckProvider, text: ?[*:0]const u16, value: ?*?*IEnumSpellingError, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, Suggest: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const ISpellCheckProvider, word: ?[*:0]const u16, value: ?*?*IEnumString, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const ISpellCheckProvider, word: ?[*:0]const u16, value: ?*?*IEnumString, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, GetOptionValue: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const ISpellCheckProvider, optionId: ?[*:0]const u16, value: ?*u8, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const ISpellCheckProvider, optionId: ?[*:0]const u16, value: ?*u8, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, SetOptionValue: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const ISpellCheckProvider, optionId: ?[*:0]const u16, value: u8, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const ISpellCheckProvider, optionId: ?[*:0]const u16, value: u8, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, // TODO: this function has a "SpecialName", should Zig do anything with this? get_OptionIds: switch (@import("builtin").zig_backend) { // TODO: this function has a "SpecialName", should Zig do anything with this? .stage1 => fn( self: *const ISpellCheckProvider, value: ?*?*IEnumString, ) callconv(@import("std").os.windows.WINAPI) HRESULT, // TODO: this function has a "SpecialName", should Zig do anything with this? else => *const fn( self: *const ISpellCheckProvider, value: ?*?*IEnumString, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, // TODO: this function has a "SpecialName", should Zig do anything with this? get_Id: switch (@import("builtin").zig_backend) { // TODO: this function has a "SpecialName", should Zig do anything with this? .stage1 => fn( self: *const ISpellCheckProvider, value: ?*?PWSTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT, // TODO: this function has a "SpecialName", should Zig do anything with this? else => *const fn( self: *const ISpellCheckProvider, value: ?*?PWSTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, // TODO: this function has a "SpecialName", should Zig do anything with this? get_LocalizedName: switch (@import("builtin").zig_backend) { // TODO: this function has a "SpecialName", should Zig do anything with this? .stage1 => fn( self: *const ISpellCheckProvider, value: ?*?PWSTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT, // TODO: this function has a "SpecialName", should Zig do anything with this? else => *const fn( self: *const ISpellCheckProvider, value: ?*?PWSTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, GetOptionDescription: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const ISpellCheckProvider, optionId: ?[*:0]const u16, value: ?*?*IOptionDescription, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const ISpellCheckProvider, optionId: ?[*:0]const u16, value: ?*?*IOptionDescription, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, InitializeWordlist: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const ISpellCheckProvider, wordlistType: WORDLIST_TYPE, words: ?*IEnumString, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const ISpellCheckProvider, wordlistType: WORDLIST_TYPE, words: ?*IEnumString, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, }; vtable: *const VTable, pub fn MethodMixin(comptime T: type) type { return struct { pub usingnamespace IUnknown.MethodMixin(T); // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellCheckProvider_get_LanguageTag(self: *const T, value: ?*?PWSTR) callconv(.Inline) HRESULT { return @as(*const ISpellCheckProvider.VTable, @ptrCast(self.vtable)).get_LanguageTag(@as(*const ISpellCheckProvider, @ptrCast(self)), value); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellCheckProvider_Check(self: *const T, text: ?[*:0]const u16, value: ?*?*IEnumSpellingError) callconv(.Inline) HRESULT { return @as(*const ISpellCheckProvider.VTable, @ptrCast(self.vtable)).Check(@as(*const ISpellCheckProvider, @ptrCast(self)), text, value); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellCheckProvider_Suggest(self: *const T, word: ?[*:0]const u16, value: ?*?*IEnumString) callconv(.Inline) HRESULT { return @as(*const ISpellCheckProvider.VTable, @ptrCast(self.vtable)).Suggest(@as(*const ISpellCheckProvider, @ptrCast(self)), word, value); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellCheckProvider_GetOptionValue(self: *const T, optionId: ?[*:0]const u16, value: ?*u8) callconv(.Inline) HRESULT { return @as(*const ISpellCheckProvider.VTable, @ptrCast(self.vtable)).GetOptionValue(@as(*const ISpellCheckProvider, @ptrCast(self)), optionId, value); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellCheckProvider_SetOptionValue(self: *const T, optionId: ?[*:0]const u16, value: u8) callconv(.Inline) HRESULT { return @as(*const ISpellCheckProvider.VTable, @ptrCast(self.vtable)).SetOptionValue(@as(*const ISpellCheckProvider, @ptrCast(self)), optionId, value); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellCheckProvider_get_OptionIds(self: *const T, value: ?*?*IEnumString) callconv(.Inline) HRESULT { return @as(*const ISpellCheckProvider.VTable, @ptrCast(self.vtable)).get_OptionIds(@as(*const ISpellCheckProvider, @ptrCast(self)), value); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellCheckProvider_get_Id(self: *const T, value: ?*?PWSTR) callconv(.Inline) HRESULT { return @as(*const ISpellCheckProvider.VTable, @ptrCast(self.vtable)).get_Id(@as(*const ISpellCheckProvider, @ptrCast(self)), value); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellCheckProvider_get_LocalizedName(self: *const T, value: ?*?PWSTR) callconv(.Inline) HRESULT { return @as(*const ISpellCheckProvider.VTable, @ptrCast(self.vtable)).get_LocalizedName(@as(*const ISpellCheckProvider, @ptrCast(self)), value); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellCheckProvider_GetOptionDescription(self: *const T, optionId: ?[*:0]const u16, value: ?*?*IOptionDescription) callconv(.Inline) HRESULT { return @as(*const ISpellCheckProvider.VTable, @ptrCast(self.vtable)).GetOptionDescription(@as(*const ISpellCheckProvider, @ptrCast(self)), optionId, value); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellCheckProvider_InitializeWordlist(self: *const T, wordlistType: WORDLIST_TYPE, words: ?*IEnumString) callconv(.Inline) HRESULT { return @as(*const ISpellCheckProvider.VTable, @ptrCast(self.vtable)).InitializeWordlist(@as(*const ISpellCheckProvider, @ptrCast(self)), wordlistType, words); } };} pub usingnamespace MethodMixin(@This()); }; const IID_IComprehensiveSpellCheckProvider_Value = Guid.initString("0c58f8de-8e94-479e-9717-70c42c4ad2c3"); pub const IID_IComprehensiveSpellCheckProvider = &IID_IComprehensiveSpellCheckProvider_Value; pub const IComprehensiveSpellCheckProvider = extern struct { pub const VTable = extern struct { base: IUnknown.VTable, ComprehensiveCheck: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IComprehensiveSpellCheckProvider, text: ?[*:0]const u16, value: ?*?*IEnumSpellingError, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IComprehensiveSpellCheckProvider, text: ?[*:0]const u16, value: ?*?*IEnumSpellingError, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, }; vtable: *const VTable, pub fn MethodMixin(comptime T: type) type { return struct { pub usingnamespace IUnknown.MethodMixin(T); // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IComprehensiveSpellCheckProvider_ComprehensiveCheck(self: *const T, text: ?[*:0]const u16, value: ?*?*IEnumSpellingError) callconv(.Inline) HRESULT { return @as(*const IComprehensiveSpellCheckProvider.VTable, @ptrCast(self.vtable)).ComprehensiveCheck(@as(*const IComprehensiveSpellCheckProvider, @ptrCast(self)), text, value); } };} pub usingnamespace MethodMixin(@This()); }; // TODO: this type is limited to platform 'windows8.0' const IID_ISpellCheckProviderFactory_Value = Guid.initString("9f671e11-77d6-4c92-aefb-615215e3a4be"); pub const IID_ISpellCheckProviderFactory = &IID_ISpellCheckProviderFactory_Value; pub const ISpellCheckProviderFactory = extern struct { pub const VTable = extern struct { base: IUnknown.VTable, // TODO: this function has a "SpecialName", should Zig do anything with this? get_SupportedLanguages: switch (@import("builtin").zig_backend) { // TODO: this function has a "SpecialName", should Zig do anything with this? .stage1 => fn( self: *const ISpellCheckProviderFactory, value: ?*?*IEnumString, ) callconv(@import("std").os.windows.WINAPI) HRESULT, // TODO: this function has a "SpecialName", should Zig do anything with this? else => *const fn( self: *const ISpellCheckProviderFactory, value: ?*?*IEnumString, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, IsSupported: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const ISpellCheckProviderFactory, languageTag: ?[*:0]const u16, value: ?*BOOL, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const ISpellCheckProviderFactory, languageTag: ?[*:0]const u16, value: ?*BOOL, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, CreateSpellCheckProvider: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const ISpellCheckProviderFactory, languageTag: ?[*:0]const u16, value: ?*?*ISpellCheckProvider, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const ISpellCheckProviderFactory, languageTag: ?[*:0]const u16, value: ?*?*ISpellCheckProvider, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, }; vtable: *const VTable, pub fn MethodMixin(comptime T: type) type { return struct { pub usingnamespace IUnknown.MethodMixin(T); // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellCheckProviderFactory_get_SupportedLanguages(self: *const T, value: ?*?*IEnumString) callconv(.Inline) HRESULT { return @as(*const ISpellCheckProviderFactory.VTable, @ptrCast(self.vtable)).get_SupportedLanguages(@as(*const ISpellCheckProviderFactory, @ptrCast(self)), value); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellCheckProviderFactory_IsSupported(self: *const T, languageTag: ?[*:0]const u16, value: ?*BOOL) callconv(.Inline) HRESULT { return @as(*const ISpellCheckProviderFactory.VTable, @ptrCast(self.vtable)).IsSupported(@as(*const ISpellCheckProviderFactory, @ptrCast(self)), languageTag, value); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn ISpellCheckProviderFactory_CreateSpellCheckProvider(self: *const T, languageTag: ?[*:0]const u16, value: ?*?*ISpellCheckProvider) callconv(.Inline) HRESULT { return @as(*const ISpellCheckProviderFactory.VTable, @ptrCast(self.vtable)).CreateSpellCheckProvider(@as(*const ISpellCheckProviderFactory, @ptrCast(self)), languageTag, value); } };} pub usingnamespace MethodMixin(@This()); }; pub const SCRIPT_CONTROL = extern struct { _bitfield: u32, }; pub const SCRIPT_STATE = extern struct { _bitfield: u16, }; pub const SCRIPT_ANALYSIS = extern struct { _bitfield: u16, s: SCRIPT_STATE, }; pub const SCRIPT_ITEM = extern struct { iCharPos: i32, a: SCRIPT_ANALYSIS, }; pub const SCRIPT_JUSTIFY = enum(i32) { NONE = 0, ARABIC_BLANK = 1, CHARACTER = 2, RESERVED1 = 3, BLANK = 4, RESERVED2 = 5, RESERVED3 = 6, ARABIC_NORMAL = 7, ARABIC_KASHIDA = 8, ARABIC_ALEF = 9, ARABIC_HA = 10, ARABIC_RA = 11, ARABIC_BA = 12, ARABIC_BARA = 13, ARABIC_SEEN = 14, ARABIC_SEEN_M = 15, }; pub const SCRIPT_JUSTIFY_NONE = SCRIPT_JUSTIFY.NONE; pub const SCRIPT_JUSTIFY_ARABIC_BLANK = SCRIPT_JUSTIFY.ARABIC_BLANK; pub const SCRIPT_JUSTIFY_CHARACTER = SCRIPT_JUSTIFY.CHARACTER; pub const SCRIPT_JUSTIFY_RESERVED1 = SCRIPT_JUSTIFY.RESERVED1; pub const SCRIPT_JUSTIFY_BLANK = SCRIPT_JUSTIFY.BLANK; pub const SCRIPT_JUSTIFY_RESERVED2 = SCRIPT_JUSTIFY.RESERVED2; pub const SCRIPT_JUSTIFY_RESERVED3 = SCRIPT_JUSTIFY.RESERVED3; pub const SCRIPT_JUSTIFY_ARABIC_NORMAL = SCRIPT_JUSTIFY.ARABIC_NORMAL; pub const SCRIPT_JUSTIFY_ARABIC_KASHIDA = SCRIPT_JUSTIFY.ARABIC_KASHIDA; pub const SCRIPT_JUSTIFY_ARABIC_ALEF = SCRIPT_JUSTIFY.ARABIC_ALEF; pub const SCRIPT_JUSTIFY_ARABIC_HA = SCRIPT_JUSTIFY.ARABIC_HA; pub const SCRIPT_JUSTIFY_ARABIC_RA = SCRIPT_JUSTIFY.ARABIC_RA; pub const SCRIPT_JUSTIFY_ARABIC_BA = SCRIPT_JUSTIFY.ARABIC_BA; pub const SCRIPT_JUSTIFY_ARABIC_BARA = SCRIPT_JUSTIFY.ARABIC_BARA; pub const SCRIPT_JUSTIFY_ARABIC_SEEN = SCRIPT_JUSTIFY.ARABIC_SEEN; pub const SCRIPT_JUSTIFY_ARABIC_SEEN_M = SCRIPT_JUSTIFY.ARABIC_SEEN_M; pub const SCRIPT_VISATTR = extern struct { _bitfield: u16, }; pub const GOFFSET = extern struct { du: i32, dv: i32, }; pub const SCRIPT_LOGATTR = extern struct { _bitfield: u8, }; pub const SCRIPT_PROPERTIES = extern struct { _bitfield1: u32, _bitfield2: u32, }; pub const SCRIPT_FONTPROPERTIES = extern struct { cBytes: i32, wgBlank: u16, wgDefault: u16, wgInvalid: u16, wgKashida: u16, iKashidaWidth: i32, }; pub const SCRIPT_TABDEF = extern struct { cTabStops: i32, iScale: i32, pTabStops: ?*i32, iTabOrigin: i32, }; pub const SCRIPT_DIGITSUBSTITUTE = extern struct { _bitfield1: u32, _bitfield2: u32, dwReserved: u32, }; pub const opentype_feature_record = extern struct { tagFeature: u32, lParameter: i32, }; pub const textrange_properties = extern struct { potfRecords: ?*opentype_feature_record, cotfRecords: i32, }; pub const script_charprop = extern struct { _bitfield: u16, }; pub const script_glyphprop = extern struct { sva: SCRIPT_VISATTR, reserved: u16, }; pub const UErrorCode = enum(i32) { USING_FALLBACK_WARNING = -128, // ERROR_WARNING_START = -128, this enum value conflicts with USING_FALLBACK_WARNING USING_DEFAULT_WARNING = -127, SAFECLONE_ALLOCATED_WARNING = -126, STATE_OLD_WARNING = -125, STRING_NOT_TERMINATED_WARNING = -124, SORT_KEY_TOO_SHORT_WARNING = -123, AMBIGUOUS_ALIAS_WARNING = -122, DIFFERENT_UCA_VERSION = -121, PLUGIN_CHANGED_LEVEL_WARNING = -120, ZERO_ERROR = 0, ILLEGAL_ARGUMENT_ERROR = 1, MISSING_RESOURCE_ERROR = 2, INVALID_FORMAT_ERROR = 3, FILE_ACCESS_ERROR = 4, INTERNAL_PROGRAM_ERROR = 5, MESSAGE_PARSE_ERROR = 6, MEMORY_ALLOCATION_ERROR = 7, INDEX_OUTOFBOUNDS_ERROR = 8, PARSE_ERROR = 9, INVALID_CHAR_FOUND = 10, TRUNCATED_CHAR_FOUND = 11, ILLEGAL_CHAR_FOUND = 12, INVALID_TABLE_FORMAT = 13, INVALID_TABLE_FILE = 14, BUFFER_OVERFLOW_ERROR = 15, UNSUPPORTED_ERROR = 16, RESOURCE_TYPE_MISMATCH = 17, ILLEGAL_ESCAPE_SEQUENCE = 18, UNSUPPORTED_ESCAPE_SEQUENCE = 19, NO_SPACE_AVAILABLE = 20, CE_NOT_FOUND_ERROR = 21, PRIMARY_TOO_LONG_ERROR = 22, STATE_TOO_OLD_ERROR = 23, TOO_MANY_ALIASES_ERROR = 24, ENUM_OUT_OF_SYNC_ERROR = 25, INVARIANT_CONVERSION_ERROR = 26, INVALID_STATE_ERROR = 27, COLLATOR_VERSION_MISMATCH = 28, USELESS_COLLATOR_ERROR = 29, NO_WRITE_PERMISSION = 30, BAD_VARIABLE_DEFINITION = 65536, // PARSE_ERROR_START = 65536, this enum value conflicts with BAD_VARIABLE_DEFINITION MALFORMED_RULE = 65537, MALFORMED_SET = 65538, MALFORMED_SYMBOL_REFERENCE = 65539, MALFORMED_UNICODE_ESCAPE = 65540, MALFORMED_VARIABLE_DEFINITION = 65541, MALFORMED_VARIABLE_REFERENCE = 65542, MISMATCHED_SEGMENT_DELIMITERS = 65543, MISPLACED_ANCHOR_START = 65544, MISPLACED_CURSOR_OFFSET = 65545, MISPLACED_QUANTIFIER = 65546, MISSING_OPERATOR = 65547, MISSING_SEGMENT_CLOSE = 65548, MULTIPLE_ANTE_CONTEXTS = 65549, MULTIPLE_CURSORS = 65550, MULTIPLE_POST_CONTEXTS = 65551, TRAILING_BACKSLASH = 65552, UNDEFINED_SEGMENT_REFERENCE = 65553, UNDEFINED_VARIABLE = 65554, UNQUOTED_SPECIAL = 65555, UNTERMINATED_QUOTE = 65556, RULE_MASK_ERROR = 65557, MISPLACED_COMPOUND_FILTER = 65558, MULTIPLE_COMPOUND_FILTERS = 65559, INVALID_RBT_SYNTAX = 65560, INVALID_PROPERTY_PATTERN = 65561, MALFORMED_PRAGMA = 65562, UNCLOSED_SEGMENT = 65563, ILLEGAL_CHAR_IN_SEGMENT = 65564, VARIABLE_RANGE_EXHAUSTED = 65565, VARIABLE_RANGE_OVERLAP = 65566, ILLEGAL_CHARACTER = 65567, INTERNAL_TRANSLITERATOR_ERROR = 65568, INVALID_ID = 65569, INVALID_FUNCTION = 65570, UNEXPECTED_TOKEN = 65792, // FMT_PARSE_ERROR_START = 65792, this enum value conflicts with UNEXPECTED_TOKEN MULTIPLE_DECIMAL_SEPARATORS = 65793, // MULTIPLE_DECIMAL_SEPERATORS = 65793, this enum value conflicts with MULTIPLE_DECIMAL_SEPARATORS MULTIPLE_EXPONENTIAL_SYMBOLS = 65794, MALFORMED_EXPONENTIAL_PATTERN = 65795, MULTIPLE_PERCENT_SYMBOLS = 65796, MULTIPLE_PERMILL_SYMBOLS = 65797, MULTIPLE_PAD_SPECIFIERS = 65798, PATTERN_SYNTAX_ERROR = 65799, ILLEGAL_PAD_POSITION = 65800, UNMATCHED_BRACES = 65801, UNSUPPORTED_PROPERTY = 65802, UNSUPPORTED_ATTRIBUTE = 65803, ARGUMENT_TYPE_MISMATCH = 65804, DUPLICATE_KEYWORD = 65805, UNDEFINED_KEYWORD = 65806, DEFAULT_KEYWORD_MISSING = 65807, DECIMAL_NUMBER_SYNTAX_ERROR = 65808, FORMAT_INEXACT_ERROR = 65809, NUMBER_ARG_OUTOFBOUNDS_ERROR = 65810, NUMBER_SKELETON_SYNTAX_ERROR = 65811, BRK_INTERNAL_ERROR = 66048, // BRK_ERROR_START = 66048, this enum value conflicts with BRK_INTERNAL_ERROR BRK_HEX_DIGITS_EXPECTED = 66049, BRK_SEMICOLON_EXPECTED = 66050, BRK_RULE_SYNTAX = 66051, BRK_UNCLOSED_SET = 66052, BRK_ASSIGN_ERROR = 66053, BRK_VARIABLE_REDFINITION = 66054, BRK_MISMATCHED_PAREN = 66055, BRK_NEW_LINE_IN_QUOTED_STRING = 66056, BRK_UNDEFINED_VARIABLE = 66057, BRK_INIT_ERROR = 66058, BRK_RULE_EMPTY_SET = 66059, BRK_UNRECOGNIZED_OPTION = 66060, BRK_MALFORMED_RULE_TAG = 66061, REGEX_INTERNAL_ERROR = 66304, // REGEX_ERROR_START = 66304, this enum value conflicts with REGEX_INTERNAL_ERROR REGEX_RULE_SYNTAX = 66305, REGEX_INVALID_STATE = 66306, REGEX_BAD_ESCAPE_SEQUENCE = 66307, REGEX_PROPERTY_SYNTAX = 66308, REGEX_UNIMPLEMENTED = 66309, REGEX_MISMATCHED_PAREN = 66310, REGEX_NUMBER_TOO_BIG = 66311, REGEX_BAD_INTERVAL = 66312, REGEX_MAX_LT_MIN = 66313, REGEX_INVALID_BACK_REF = 66314, REGEX_INVALID_FLAG = 66315, REGEX_LOOK_BEHIND_LIMIT = 66316, REGEX_SET_CONTAINS_STRING = 66317, REGEX_MISSING_CLOSE_BRACKET = 66319, REGEX_INVALID_RANGE = 66320, REGEX_STACK_OVERFLOW = 66321, REGEX_TIME_OUT = 66322, REGEX_STOPPED_BY_CALLER = 66323, REGEX_PATTERN_TOO_BIG = 66324, REGEX_INVALID_CAPTURE_GROUP_NAME = 66325, IDNA_PROHIBITED_ERROR = 66560, // IDNA_ERROR_START = 66560, this enum value conflicts with IDNA_PROHIBITED_ERROR IDNA_UNASSIGNED_ERROR = 66561, IDNA_CHECK_BIDI_ERROR = 66562, IDNA_STD3_ASCII_RULES_ERROR = 66563, IDNA_ACE_PREFIX_ERROR = 66564, IDNA_VERIFICATION_ERROR = 66565, IDNA_LABEL_TOO_LONG_ERROR = 66566, IDNA_ZERO_LENGTH_LABEL_ERROR = 66567, IDNA_DOMAIN_NAME_TOO_LONG_ERROR = 66568, // STRINGPREP_PROHIBITED_ERROR = 66560, this enum value conflicts with IDNA_PROHIBITED_ERROR // STRINGPREP_UNASSIGNED_ERROR = 66561, this enum value conflicts with IDNA_UNASSIGNED_ERROR // STRINGPREP_CHECK_BIDI_ERROR = 66562, this enum value conflicts with IDNA_CHECK_BIDI_ERROR PLUGIN_ERROR_START = 66816, // PLUGIN_TOO_HIGH = 66816, this enum value conflicts with PLUGIN_ERROR_START PLUGIN_DIDNT_SET_LEVEL = 66817, }; pub const U_USING_FALLBACK_WARNING = UErrorCode.USING_FALLBACK_WARNING; pub const U_ERROR_WARNING_START = UErrorCode.USING_FALLBACK_WARNING; pub const U_USING_DEFAULT_WARNING = UErrorCode.USING_DEFAULT_WARNING; pub const U_SAFECLONE_ALLOCATED_WARNING = UErrorCode.SAFECLONE_ALLOCATED_WARNING; pub const U_STATE_OLD_WARNING = UErrorCode.STATE_OLD_WARNING; pub const U_STRING_NOT_TERMINATED_WARNING = UErrorCode.STRING_NOT_TERMINATED_WARNING; pub const U_SORT_KEY_TOO_SHORT_WARNING = UErrorCode.SORT_KEY_TOO_SHORT_WARNING; pub const U_AMBIGUOUS_ALIAS_WARNING = UErrorCode.AMBIGUOUS_ALIAS_WARNING; pub const U_DIFFERENT_UCA_VERSION = UErrorCode.DIFFERENT_UCA_VERSION; pub const U_PLUGIN_CHANGED_LEVEL_WARNING = UErrorCode.PLUGIN_CHANGED_LEVEL_WARNING; pub const U_ZERO_ERROR = UErrorCode.ZERO_ERROR; pub const U_ILLEGAL_ARGUMENT_ERROR = UErrorCode.ILLEGAL_ARGUMENT_ERROR; pub const U_MISSING_RESOURCE_ERROR = UErrorCode.MISSING_RESOURCE_ERROR; pub const U_INVALID_FORMAT_ERROR = UErrorCode.INVALID_FORMAT_ERROR; pub const U_FILE_ACCESS_ERROR = UErrorCode.FILE_ACCESS_ERROR; pub const U_INTERNAL_PROGRAM_ERROR = UErrorCode.INTERNAL_PROGRAM_ERROR; pub const U_MESSAGE_PARSE_ERROR = UErrorCode.MESSAGE_PARSE_ERROR; pub const U_MEMORY_ALLOCATION_ERROR = UErrorCode.MEMORY_ALLOCATION_ERROR; pub const U_INDEX_OUTOFBOUNDS_ERROR = UErrorCode.INDEX_OUTOFBOUNDS_ERROR; pub const U_PARSE_ERROR = UErrorCode.PARSE_ERROR; pub const U_INVALID_CHAR_FOUND = UErrorCode.INVALID_CHAR_FOUND; pub const U_TRUNCATED_CHAR_FOUND = UErrorCode.TRUNCATED_CHAR_FOUND; pub const U_ILLEGAL_CHAR_FOUND = UErrorCode.ILLEGAL_CHAR_FOUND; pub const U_INVALID_TABLE_FORMAT = UErrorCode.INVALID_TABLE_FORMAT; pub const U_INVALID_TABLE_FILE = UErrorCode.INVALID_TABLE_FILE; pub const U_BUFFER_OVERFLOW_ERROR = UErrorCode.BUFFER_OVERFLOW_ERROR; pub const U_UNSUPPORTED_ERROR = UErrorCode.UNSUPPORTED_ERROR; pub const U_RESOURCE_TYPE_MISMATCH = UErrorCode.RESOURCE_TYPE_MISMATCH; pub const U_ILLEGAL_ESCAPE_SEQUENCE = UErrorCode.ILLEGAL_ESCAPE_SEQUENCE; pub const U_UNSUPPORTED_ESCAPE_SEQUENCE = UErrorCode.UNSUPPORTED_ESCAPE_SEQUENCE; pub const U_NO_SPACE_AVAILABLE = UErrorCode.NO_SPACE_AVAILABLE; pub const U_CE_NOT_FOUND_ERROR = UErrorCode.CE_NOT_FOUND_ERROR; pub const U_PRIMARY_TOO_LONG_ERROR = UErrorCode.PRIMARY_TOO_LONG_ERROR; pub const U_STATE_TOO_OLD_ERROR = UErrorCode.STATE_TOO_OLD_ERROR; pub const U_TOO_MANY_ALIASES_ERROR = UErrorCode.TOO_MANY_ALIASES_ERROR; pub const U_ENUM_OUT_OF_SYNC_ERROR = UErrorCode.ENUM_OUT_OF_SYNC_ERROR; pub const U_INVARIANT_CONVERSION_ERROR = UErrorCode.INVARIANT_CONVERSION_ERROR; pub const U_INVALID_STATE_ERROR = UErrorCode.INVALID_STATE_ERROR; pub const U_COLLATOR_VERSION_MISMATCH = UErrorCode.COLLATOR_VERSION_MISMATCH; pub const U_USELESS_COLLATOR_ERROR = UErrorCode.USELESS_COLLATOR_ERROR; pub const U_NO_WRITE_PERMISSION = UErrorCode.NO_WRITE_PERMISSION; pub const U_BAD_VARIABLE_DEFINITION = UErrorCode.BAD_VARIABLE_DEFINITION; pub const U_PARSE_ERROR_START = UErrorCode.BAD_VARIABLE_DEFINITION; pub const U_MALFORMED_RULE = UErrorCode.MALFORMED_RULE; pub const U_MALFORMED_SET = UErrorCode.MALFORMED_SET; pub const U_MALFORMED_SYMBOL_REFERENCE = UErrorCode.MALFORMED_SYMBOL_REFERENCE; pub const U_MALFORMED_UNICODE_ESCAPE = UErrorCode.MALFORMED_UNICODE_ESCAPE; pub const U_MALFORMED_VARIABLE_DEFINITION = UErrorCode.MALFORMED_VARIABLE_DEFINITION; pub const U_MALFORMED_VARIABLE_REFERENCE = UErrorCode.MALFORMED_VARIABLE_REFERENCE; pub const U_MISMATCHED_SEGMENT_DELIMITERS = UErrorCode.MISMATCHED_SEGMENT_DELIMITERS; pub const U_MISPLACED_ANCHOR_START = UErrorCode.MISPLACED_ANCHOR_START; pub const U_MISPLACED_CURSOR_OFFSET = UErrorCode.MISPLACED_CURSOR_OFFSET; pub const U_MISPLACED_QUANTIFIER = UErrorCode.MISPLACED_QUANTIFIER; pub const U_MISSING_OPERATOR = UErrorCode.MISSING_OPERATOR; pub const U_MISSING_SEGMENT_CLOSE = UErrorCode.MISSING_SEGMENT_CLOSE; pub const U_MULTIPLE_ANTE_CONTEXTS = UErrorCode.MULTIPLE_ANTE_CONTEXTS; pub const U_MULTIPLE_CURSORS = UErrorCode.MULTIPLE_CURSORS; pub const U_MULTIPLE_POST_CONTEXTS = UErrorCode.MULTIPLE_POST_CONTEXTS; pub const U_TRAILING_BACKSLASH = UErrorCode.TRAILING_BACKSLASH; pub const U_UNDEFINED_SEGMENT_REFERENCE = UErrorCode.UNDEFINED_SEGMENT_REFERENCE; pub const U_UNDEFINED_VARIABLE = UErrorCode.UNDEFINED_VARIABLE; pub const U_UNQUOTED_SPECIAL = UErrorCode.UNQUOTED_SPECIAL; pub const U_UNTERMINATED_QUOTE = UErrorCode.UNTERMINATED_QUOTE; pub const U_RULE_MASK_ERROR = UErrorCode.RULE_MASK_ERROR; pub const U_MISPLACED_COMPOUND_FILTER = UErrorCode.MISPLACED_COMPOUND_FILTER; pub const U_MULTIPLE_COMPOUND_FILTERS = UErrorCode.MULTIPLE_COMPOUND_FILTERS; pub const U_INVALID_RBT_SYNTAX = UErrorCode.INVALID_RBT_SYNTAX; pub const U_INVALID_PROPERTY_PATTERN = UErrorCode.INVALID_PROPERTY_PATTERN; pub const U_MALFORMED_PRAGMA = UErrorCode.MALFORMED_PRAGMA; pub const U_UNCLOSED_SEGMENT = UErrorCode.UNCLOSED_SEGMENT; pub const U_ILLEGAL_CHAR_IN_SEGMENT = UErrorCode.ILLEGAL_CHAR_IN_SEGMENT; pub const U_VARIABLE_RANGE_EXHAUSTED = UErrorCode.VARIABLE_RANGE_EXHAUSTED; pub const U_VARIABLE_RANGE_OVERLAP = UErrorCode.VARIABLE_RANGE_OVERLAP; pub const U_ILLEGAL_CHARACTER = UErrorCode.ILLEGAL_CHARACTER; pub const U_INTERNAL_TRANSLITERATOR_ERROR = UErrorCode.INTERNAL_TRANSLITERATOR_ERROR; pub const U_INVALID_ID = UErrorCode.INVALID_ID; pub const U_INVALID_FUNCTION = UErrorCode.INVALID_FUNCTION; pub const U_UNEXPECTED_TOKEN = UErrorCode.UNEXPECTED_TOKEN; pub const U_FMT_PARSE_ERROR_START = UErrorCode.UNEXPECTED_TOKEN; pub const U_MULTIPLE_DECIMAL_SEPARATORS = UErrorCode.MULTIPLE_DECIMAL_SEPARATORS; pub const U_MULTIPLE_DECIMAL_SEPERATORS = UErrorCode.MULTIPLE_DECIMAL_SEPARATORS; pub const U_MULTIPLE_EXPONENTIAL_SYMBOLS = UErrorCode.MULTIPLE_EXPONENTIAL_SYMBOLS; pub const U_MALFORMED_EXPONENTIAL_PATTERN = UErrorCode.MALFORMED_EXPONENTIAL_PATTERN; pub const U_MULTIPLE_PERCENT_SYMBOLS = UErrorCode.MULTIPLE_PERCENT_SYMBOLS; pub const U_MULTIPLE_PERMILL_SYMBOLS = UErrorCode.MULTIPLE_PERMILL_SYMBOLS; pub const U_MULTIPLE_PAD_SPECIFIERS = UErrorCode.MULTIPLE_PAD_SPECIFIERS; pub const U_PATTERN_SYNTAX_ERROR = UErrorCode.PATTERN_SYNTAX_ERROR; pub const U_ILLEGAL_PAD_POSITION = UErrorCode.ILLEGAL_PAD_POSITION; pub const U_UNMATCHED_BRACES = UErrorCode.UNMATCHED_BRACES; pub const U_UNSUPPORTED_PROPERTY = UErrorCode.UNSUPPORTED_PROPERTY; pub const U_UNSUPPORTED_ATTRIBUTE = UErrorCode.UNSUPPORTED_ATTRIBUTE; pub const U_ARGUMENT_TYPE_MISMATCH = UErrorCode.ARGUMENT_TYPE_MISMATCH; pub const U_DUPLICATE_KEYWORD = UErrorCode.DUPLICATE_KEYWORD; pub const U_UNDEFINED_KEYWORD = UErrorCode.UNDEFINED_KEYWORD; pub const U_DEFAULT_KEYWORD_MISSING = UErrorCode.DEFAULT_KEYWORD_MISSING; pub const U_DECIMAL_NUMBER_SYNTAX_ERROR = UErrorCode.DECIMAL_NUMBER_SYNTAX_ERROR; pub const U_FORMAT_INEXACT_ERROR = UErrorCode.FORMAT_INEXACT_ERROR; pub const U_NUMBER_ARG_OUTOFBOUNDS_ERROR = UErrorCode.NUMBER_ARG_OUTOFBOUNDS_ERROR; pub const U_NUMBER_SKELETON_SYNTAX_ERROR = UErrorCode.NUMBER_SKELETON_SYNTAX_ERROR; pub const U_BRK_INTERNAL_ERROR = UErrorCode.BRK_INTERNAL_ERROR; pub const U_BRK_ERROR_START = UErrorCode.BRK_INTERNAL_ERROR; pub const U_BRK_HEX_DIGITS_EXPECTED = UErrorCode.BRK_HEX_DIGITS_EXPECTED; pub const U_BRK_SEMICOLON_EXPECTED = UErrorCode.BRK_SEMICOLON_EXPECTED; pub const U_BRK_RULE_SYNTAX = UErrorCode.BRK_RULE_SYNTAX; pub const U_BRK_UNCLOSED_SET = UErrorCode.BRK_UNCLOSED_SET; pub const U_BRK_ASSIGN_ERROR = UErrorCode.BRK_ASSIGN_ERROR; pub const U_BRK_VARIABLE_REDFINITION = UErrorCode.BRK_VARIABLE_REDFINITION; pub const U_BRK_MISMATCHED_PAREN = UErrorCode.BRK_MISMATCHED_PAREN; pub const U_BRK_NEW_LINE_IN_QUOTED_STRING = UErrorCode.BRK_NEW_LINE_IN_QUOTED_STRING; pub const U_BRK_UNDEFINED_VARIABLE = UErrorCode.BRK_UNDEFINED_VARIABLE; pub const U_BRK_INIT_ERROR = UErrorCode.BRK_INIT_ERROR; pub const U_BRK_RULE_EMPTY_SET = UErrorCode.BRK_RULE_EMPTY_SET; pub const U_BRK_UNRECOGNIZED_OPTION = UErrorCode.BRK_UNRECOGNIZED_OPTION; pub const U_BRK_MALFORMED_RULE_TAG = UErrorCode.BRK_MALFORMED_RULE_TAG; pub const U_REGEX_INTERNAL_ERROR = UErrorCode.REGEX_INTERNAL_ERROR; pub const U_REGEX_ERROR_START = UErrorCode.REGEX_INTERNAL_ERROR; pub const U_REGEX_RULE_SYNTAX = UErrorCode.REGEX_RULE_SYNTAX; pub const U_REGEX_INVALID_STATE = UErrorCode.REGEX_INVALID_STATE; pub const U_REGEX_BAD_ESCAPE_SEQUENCE = UErrorCode.REGEX_BAD_ESCAPE_SEQUENCE; pub const U_REGEX_PROPERTY_SYNTAX = UErrorCode.REGEX_PROPERTY_SYNTAX; pub const U_REGEX_UNIMPLEMENTED = UErrorCode.REGEX_UNIMPLEMENTED; pub const U_REGEX_MISMATCHED_PAREN = UErrorCode.REGEX_MISMATCHED_PAREN; pub const U_REGEX_NUMBER_TOO_BIG = UErrorCode.REGEX_NUMBER_TOO_BIG; pub const U_REGEX_BAD_INTERVAL = UErrorCode.REGEX_BAD_INTERVAL; pub const U_REGEX_MAX_LT_MIN = UErrorCode.REGEX_MAX_LT_MIN; pub const U_REGEX_INVALID_BACK_REF = UErrorCode.REGEX_INVALID_BACK_REF; pub const U_REGEX_INVALID_FLAG = UErrorCode.REGEX_INVALID_FLAG; pub const U_REGEX_LOOK_BEHIND_LIMIT = UErrorCode.REGEX_LOOK_BEHIND_LIMIT; pub const U_REGEX_SET_CONTAINS_STRING = UErrorCode.REGEX_SET_CONTAINS_STRING; pub const U_REGEX_MISSING_CLOSE_BRACKET = UErrorCode.REGEX_MISSING_CLOSE_BRACKET; pub const U_REGEX_INVALID_RANGE = UErrorCode.REGEX_INVALID_RANGE; pub const U_REGEX_STACK_OVERFLOW = UErrorCode.REGEX_STACK_OVERFLOW; pub const U_REGEX_TIME_OUT = UErrorCode.REGEX_TIME_OUT; pub const U_REGEX_STOPPED_BY_CALLER = UErrorCode.REGEX_STOPPED_BY_CALLER; pub const U_REGEX_PATTERN_TOO_BIG = UErrorCode.REGEX_PATTERN_TOO_BIG; pub const U_REGEX_INVALID_CAPTURE_GROUP_NAME = UErrorCode.REGEX_INVALID_CAPTURE_GROUP_NAME; pub const U_IDNA_PROHIBITED_ERROR = UErrorCode.IDNA_PROHIBITED_ERROR; pub const U_IDNA_ERROR_START = UErrorCode.IDNA_PROHIBITED_ERROR; pub const U_IDNA_UNASSIGNED_ERROR = UErrorCode.IDNA_UNASSIGNED_ERROR; pub const U_IDNA_CHECK_BIDI_ERROR = UErrorCode.IDNA_CHECK_BIDI_ERROR; pub const U_IDNA_STD3_ASCII_RULES_ERROR = UErrorCode.IDNA_STD3_ASCII_RULES_ERROR; pub const U_IDNA_ACE_PREFIX_ERROR = UErrorCode.IDNA_ACE_PREFIX_ERROR; pub const U_IDNA_VERIFICATION_ERROR = UErrorCode.IDNA_VERIFICATION_ERROR; pub const U_IDNA_LABEL_TOO_LONG_ERROR = UErrorCode.IDNA_LABEL_TOO_LONG_ERROR; pub const U_IDNA_ZERO_LENGTH_LABEL_ERROR = UErrorCode.IDNA_ZERO_LENGTH_LABEL_ERROR; pub const U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR = UErrorCode.IDNA_DOMAIN_NAME_TOO_LONG_ERROR; pub const U_STRINGPREP_PROHIBITED_ERROR = UErrorCode.IDNA_PROHIBITED_ERROR; pub const U_STRINGPREP_UNASSIGNED_ERROR = UErrorCode.IDNA_UNASSIGNED_ERROR; pub const U_STRINGPREP_CHECK_BIDI_ERROR = UErrorCode.IDNA_CHECK_BIDI_ERROR; pub const U_PLUGIN_ERROR_START = UErrorCode.PLUGIN_ERROR_START; pub const U_PLUGIN_TOO_HIGH = UErrorCode.PLUGIN_ERROR_START; pub const U_PLUGIN_DIDNT_SET_LEVEL = UErrorCode.PLUGIN_DIDNT_SET_LEVEL; pub const UTraceLevel = enum(i32) { OFF = -1, ERROR = 0, WARNING = 3, OPEN_CLOSE = 5, INFO = 7, VERBOSE = 9, }; pub const UTRACE_OFF = UTraceLevel.OFF; pub const UTRACE_ERROR = UTraceLevel.ERROR; pub const UTRACE_WARNING = UTraceLevel.WARNING; pub const UTRACE_OPEN_CLOSE = UTraceLevel.OPEN_CLOSE; pub const UTRACE_INFO = UTraceLevel.INFO; pub const UTRACE_VERBOSE = UTraceLevel.VERBOSE; pub const UTraceFunctionNumber = enum(i32) { FUNCTION_START = 0, // U_INIT = 0, this enum value conflicts with FUNCTION_START U_CLEANUP = 1, CONVERSION_START = 4096, // UCNV_OPEN = 4096, this enum value conflicts with CONVERSION_START UCNV_OPEN_PACKAGE = 4097, UCNV_OPEN_ALGORITHMIC = 4098, UCNV_CLONE = 4099, UCNV_CLOSE = 4100, UCNV_FLUSH_CACHE = 4101, UCNV_LOAD = 4102, UCNV_UNLOAD = 4103, COLLATION_START = 8192, // UCOL_OPEN = 8192, this enum value conflicts with COLLATION_START UCOL_CLOSE = 8193, UCOL_STRCOLL = 8194, UCOL_GET_SORTKEY = 8195, UCOL_GETLOCALE = 8196, UCOL_NEXTSORTKEYPART = 8197, UCOL_STRCOLLITER = 8198, UCOL_OPEN_FROM_SHORT_STRING = 8199, UCOL_STRCOLLUTF8 = 8200, UDATA_START = 12288, // UDATA_RESOURCE = 12288, this enum value conflicts with UDATA_START UDATA_BUNDLE = 12289, UDATA_DATA_FILE = 12290, UDATA_RES_FILE = 12291, }; pub const UTRACE_FUNCTION_START = UTraceFunctionNumber.FUNCTION_START; pub const UTRACE_U_INIT = UTraceFunctionNumber.FUNCTION_START; pub const UTRACE_U_CLEANUP = UTraceFunctionNumber.U_CLEANUP; pub const UTRACE_CONVERSION_START = UTraceFunctionNumber.CONVERSION_START; pub const UTRACE_UCNV_OPEN = UTraceFunctionNumber.CONVERSION_START; pub const UTRACE_UCNV_OPEN_PACKAGE = UTraceFunctionNumber.UCNV_OPEN_PACKAGE; pub const UTRACE_UCNV_OPEN_ALGORITHMIC = UTraceFunctionNumber.UCNV_OPEN_ALGORITHMIC; pub const UTRACE_UCNV_CLONE = UTraceFunctionNumber.UCNV_CLONE; pub const UTRACE_UCNV_CLOSE = UTraceFunctionNumber.UCNV_CLOSE; pub const UTRACE_UCNV_FLUSH_CACHE = UTraceFunctionNumber.UCNV_FLUSH_CACHE; pub const UTRACE_UCNV_LOAD = UTraceFunctionNumber.UCNV_LOAD; pub const UTRACE_UCNV_UNLOAD = UTraceFunctionNumber.UCNV_UNLOAD; pub const UTRACE_COLLATION_START = UTraceFunctionNumber.COLLATION_START; pub const UTRACE_UCOL_OPEN = UTraceFunctionNumber.COLLATION_START; pub const UTRACE_UCOL_CLOSE = UTraceFunctionNumber.UCOL_CLOSE; pub const UTRACE_UCOL_STRCOLL = UTraceFunctionNumber.UCOL_STRCOLL; pub const UTRACE_UCOL_GET_SORTKEY = UTraceFunctionNumber.UCOL_GET_SORTKEY; pub const UTRACE_UCOL_GETLOCALE = UTraceFunctionNumber.UCOL_GETLOCALE; pub const UTRACE_UCOL_NEXTSORTKEYPART = UTraceFunctionNumber.UCOL_NEXTSORTKEYPART; pub const UTRACE_UCOL_STRCOLLITER = UTraceFunctionNumber.UCOL_STRCOLLITER; pub const UTRACE_UCOL_OPEN_FROM_SHORT_STRING = UTraceFunctionNumber.UCOL_OPEN_FROM_SHORT_STRING; pub const UTRACE_UCOL_STRCOLLUTF8 = UTraceFunctionNumber.UCOL_STRCOLLUTF8; pub const UTRACE_UDATA_START = UTraceFunctionNumber.UDATA_START; pub const UTRACE_UDATA_RESOURCE = UTraceFunctionNumber.UDATA_START; pub const UTRACE_UDATA_BUNDLE = UTraceFunctionNumber.UDATA_BUNDLE; pub const UTRACE_UDATA_DATA_FILE = UTraceFunctionNumber.UDATA_DATA_FILE; pub const UTRACE_UDATA_RES_FILE = UTraceFunctionNumber.UDATA_RES_FILE; pub const UTraceEntry = switch (@import("builtin").zig_backend) { .stage1 => fn( context: ?*const anyopaque, fnNumber: i32, ) callconv(@import("std").os.windows.WINAPI) void, else => *const fn( context: ?*const anyopaque, fnNumber: i32, ) callconv(@import("std").os.windows.WINAPI) void, } ; pub const UTraceExit = switch (@import("builtin").zig_backend) { .stage1 => fn( context: ?*const anyopaque, fnNumber: i32, fmt: ?[*:0]const u8, args: ?*i8, ) callconv(@import("std").os.windows.WINAPI) void, else => *const fn( context: ?*const anyopaque, fnNumber: i32, fmt: ?[*:0]const u8, args: ?*i8, ) callconv(@import("std").os.windows.WINAPI) void, } ; pub const UTraceData = switch (@import("builtin").zig_backend) { .stage1 => fn( context: ?*const anyopaque, fnNumber: i32, level: i32, fmt: ?[*:0]const u8, args: ?*i8, ) callconv(@import("std").os.windows.WINAPI) void, else => *const fn( context: ?*const anyopaque, fnNumber: i32, level: i32, fmt: ?[*:0]const u8, args: ?*i8, ) callconv(@import("std").os.windows.WINAPI) void, } ; pub const UStringTrieResult = enum(i32) { NO_MATCH = 0, NO_VALUE = 1, FINAL_VALUE = 2, INTERMEDIATE_VALUE = 3, }; pub const USTRINGTRIE_NO_MATCH = UStringTrieResult.NO_MATCH; pub const USTRINGTRIE_NO_VALUE = UStringTrieResult.NO_VALUE; pub const USTRINGTRIE_FINAL_VALUE = UStringTrieResult.FINAL_VALUE; pub const USTRINGTRIE_INTERMEDIATE_VALUE = UStringTrieResult.INTERMEDIATE_VALUE; pub const UScriptCode = enum(i32) { INVALID_CODE = -1, COMMON = 0, INHERITED = 1, ARABIC = 2, ARMENIAN = 3, BENGALI = 4, BOPOMOFO = 5, CHEROKEE = 6, COPTIC = 7, CYRILLIC = 8, DESERET = 9, DEVANAGARI = 10, ETHIOPIC = 11, GEORGIAN = 12, GOTHIC = 13, GREEK = 14, GUJARATI = 15, GURMUKHI = 16, HAN = 17, HANGUL = 18, HEBREW = 19, HIRAGANA = 20, KANNADA = 21, KATAKANA = 22, KHMER = 23, LAO = 24, LATIN = 25, MALAYALAM = 26, MONGOLIAN = 27, MYANMAR = 28, OGHAM = 29, OLD_ITALIC = 30, ORIYA = 31, RUNIC = 32, SINHALA = 33, SYRIAC = 34, TAMIL = 35, TELUGU = 36, THAANA = 37, THAI = 38, TIBETAN = 39, CANADIAN_ABORIGINAL = 40, // UCAS = 40, this enum value conflicts with CANADIAN_ABORIGINAL YI = 41, TAGALOG = 42, HANUNOO = 43, BUHID = 44, TAGBANWA = 45, BRAILLE = 46, CYPRIOT = 47, LIMBU = 48, LINEAR_B = 49, OSMANYA = 50, SHAVIAN = 51, TAI_LE = 52, UGARITIC = 53, KATAKANA_OR_HIRAGANA = 54, BUGINESE = 55, GLAGOLITIC = 56, KHAROSHTHI = 57, SYLOTI_NAGRI = 58, NEW_TAI_LUE = 59, TIFINAGH = 60, OLD_PERSIAN = 61, BALINESE = 62, BATAK = 63, BLISSYMBOLS = 64, BRAHMI = 65, CHAM = 66, CIRTH = 67, OLD_CHURCH_SLAVONIC_CYRILLIC = 68, DEMOTIC_EGYPTIAN = 69, HIERATIC_EGYPTIAN = 70, EGYPTIAN_HIEROGLYPHS = 71, KHUTSURI = 72, SIMPLIFIED_HAN = 73, TRADITIONAL_HAN = 74, PAHAWH_HMONG = 75, OLD_HUNGARIAN = 76, HARAPPAN_INDUS = 77, JAVANESE = 78, KAYAH_LI = 79, LATIN_FRAKTUR = 80, LATIN_GAELIC = 81, LEPCHA = 82, LINEAR_A = 83, MANDAIC = 84, // MANDAEAN = 84, this enum value conflicts with MANDAIC MAYAN_HIEROGLYPHS = 85, MEROITIC_HIEROGLYPHS = 86, // MEROITIC = 86, this enum value conflicts with MEROITIC_HIEROGLYPHS NKO = 87, ORKHON = 88, OLD_PERMIC = 89, PHAGS_PA = 90, PHOENICIAN = 91, MIAO = 92, // PHONETIC_POLLARD = 92, this enum value conflicts with MIAO RONGORONGO = 93, SARATI = 94, ESTRANGELO_SYRIAC = 95, WESTERN_SYRIAC = 96, EASTERN_SYRIAC = 97, TENGWAR = 98, VAI = 99, VISIBLE_SPEECH = 100, CUNEIFORM = 101, UNWRITTEN_LANGUAGES = 102, UNKNOWN = 103, CARIAN = 104, JAPANESE = 105, LANNA = 106, LYCIAN = 107, LYDIAN = 108, OL_CHIKI = 109, REJANG = 110, SAURASHTRA = 111, SIGN_WRITING = 112, SUNDANESE = 113, MOON = 114, MEITEI_MAYEK = 115, IMPERIAL_ARAMAIC = 116, AVESTAN = 117, CHAKMA = 118, KOREAN = 119, KAITHI = 120, MANICHAEAN = 121, INSCRIPTIONAL_PAHLAVI = 122, PSALTER_PAHLAVI = 123, BOOK_PAHLAVI = 124, INSCRIPTIONAL_PARTHIAN = 125, SAMARITAN = 126, TAI_VIET = 127, MATHEMATICAL_NOTATION = 128, SYMBOLS = 129, BAMUM = 130, LISU = 131, NAKHI_GEBA = 132, OLD_SOUTH_ARABIAN = 133, BASSA_VAH = 134, DUPLOYAN = 135, ELBASAN = 136, GRANTHA = 137, KPELLE = 138, LOMA = 139, MENDE = 140, MEROITIC_CURSIVE = 141, OLD_NORTH_ARABIAN = 142, NABATAEAN = 143, PALMYRENE = 144, KHUDAWADI = 145, // SINDHI = 145, this enum value conflicts with KHUDAWADI WARANG_CITI = 146, AFAKA = 147, JURCHEN = 148, MRO = 149, NUSHU = 150, SHARADA = 151, SORA_SOMPENG = 152, TAKRI = 153, TANGUT = 154, WOLEAI = 155, ANATOLIAN_HIEROGLYPHS = 156, KHOJKI = 157, TIRHUTA = 158, CAUCASIAN_ALBANIAN = 159, MAHAJANI = 160, AHOM = 161, HATRAN = 162, MODI = 163, MULTANI = 164, PAU_CIN_HAU = 165, SIDDHAM = 166, ADLAM = 167, BHAIKSUKI = 168, MARCHEN = 169, NEWA = 170, OSAGE = 171, HAN_WITH_BOPOMOFO = 172, JAMO = 173, SYMBOLS_EMOJI = 174, MASARAM_GONDI = 175, SOYOMBO = 176, ZANABAZAR_SQUARE = 177, DOGRA = 178, GUNJALA_GONDI = 179, MAKASAR = 180, MEDEFAIDRIN = 181, HANIFI_ROHINGYA = 182, SOGDIAN = 183, OLD_SOGDIAN = 184, ELYMAIC = 185, NYIAKENG_PUACHUE_HMONG = 186, NANDINAGARI = 187, WANCHO = 188, CHORASMIAN = 189, DIVES_AKURU = 190, KHITAN_SMALL_SCRIPT = 191, YEZIDI = 192, }; pub const USCRIPT_INVALID_CODE = UScriptCode.INVALID_CODE; pub const USCRIPT_COMMON = UScriptCode.COMMON; pub const USCRIPT_INHERITED = UScriptCode.INHERITED; pub const USCRIPT_ARABIC = UScriptCode.ARABIC; pub const USCRIPT_ARMENIAN = UScriptCode.ARMENIAN; pub const USCRIPT_BENGALI = UScriptCode.BENGALI; pub const USCRIPT_BOPOMOFO = UScriptCode.BOPOMOFO; pub const USCRIPT_CHEROKEE = UScriptCode.CHEROKEE; pub const USCRIPT_COPTIC = UScriptCode.COPTIC; pub const USCRIPT_CYRILLIC = UScriptCode.CYRILLIC; pub const USCRIPT_DESERET = UScriptCode.DESERET; pub const USCRIPT_DEVANAGARI = UScriptCode.DEVANAGARI; pub const USCRIPT_ETHIOPIC = UScriptCode.ETHIOPIC; pub const USCRIPT_GEORGIAN = UScriptCode.GEORGIAN; pub const USCRIPT_GOTHIC = UScriptCode.GOTHIC; pub const USCRIPT_GREEK = UScriptCode.GREEK; pub const USCRIPT_GUJARATI = UScriptCode.GUJARATI; pub const USCRIPT_GURMUKHI = UScriptCode.GURMUKHI; pub const USCRIPT_HAN = UScriptCode.HAN; pub const USCRIPT_HANGUL = UScriptCode.HANGUL; pub const USCRIPT_HEBREW = UScriptCode.HEBREW; pub const USCRIPT_HIRAGANA = UScriptCode.HIRAGANA; pub const USCRIPT_KANNADA = UScriptCode.KANNADA; pub const USCRIPT_KATAKANA = UScriptCode.KATAKANA; pub const USCRIPT_KHMER = UScriptCode.KHMER; pub const USCRIPT_LAO = UScriptCode.LAO; pub const USCRIPT_LATIN = UScriptCode.LATIN; pub const USCRIPT_MALAYALAM = UScriptCode.MALAYALAM; pub const USCRIPT_MONGOLIAN = UScriptCode.MONGOLIAN; pub const USCRIPT_MYANMAR = UScriptCode.MYANMAR; pub const USCRIPT_OGHAM = UScriptCode.OGHAM; pub const USCRIPT_OLD_ITALIC = UScriptCode.OLD_ITALIC; pub const USCRIPT_ORIYA = UScriptCode.ORIYA; pub const USCRIPT_RUNIC = UScriptCode.RUNIC; pub const USCRIPT_SINHALA = UScriptCode.SINHALA; pub const USCRIPT_SYRIAC = UScriptCode.SYRIAC; pub const USCRIPT_TAMIL = UScriptCode.TAMIL; pub const USCRIPT_TELUGU = UScriptCode.TELUGU; pub const USCRIPT_THAANA = UScriptCode.THAANA; pub const USCRIPT_THAI = UScriptCode.THAI; pub const USCRIPT_TIBETAN = UScriptCode.TIBETAN; pub const USCRIPT_CANADIAN_ABORIGINAL = UScriptCode.CANADIAN_ABORIGINAL; pub const USCRIPT_UCAS = UScriptCode.CANADIAN_ABORIGINAL; pub const USCRIPT_YI = UScriptCode.YI; pub const USCRIPT_TAGALOG = UScriptCode.TAGALOG; pub const USCRIPT_HANUNOO = UScriptCode.HANUNOO; pub const USCRIPT_BUHID = UScriptCode.BUHID; pub const USCRIPT_TAGBANWA = UScriptCode.TAGBANWA; pub const USCRIPT_BRAILLE = UScriptCode.BRAILLE; pub const USCRIPT_CYPRIOT = UScriptCode.CYPRIOT; pub const USCRIPT_LIMBU = UScriptCode.LIMBU; pub const USCRIPT_LINEAR_B = UScriptCode.LINEAR_B; pub const USCRIPT_OSMANYA = UScriptCode.OSMANYA; pub const USCRIPT_SHAVIAN = UScriptCode.SHAVIAN; pub const USCRIPT_TAI_LE = UScriptCode.TAI_LE; pub const USCRIPT_UGARITIC = UScriptCode.UGARITIC; pub const USCRIPT_KATAKANA_OR_HIRAGANA = UScriptCode.KATAKANA_OR_HIRAGANA; pub const USCRIPT_BUGINESE = UScriptCode.BUGINESE; pub const USCRIPT_GLAGOLITIC = UScriptCode.GLAGOLITIC; pub const USCRIPT_KHAROSHTHI = UScriptCode.KHAROSHTHI; pub const USCRIPT_SYLOTI_NAGRI = UScriptCode.SYLOTI_NAGRI; pub const USCRIPT_NEW_TAI_LUE = UScriptCode.NEW_TAI_LUE; pub const USCRIPT_TIFINAGH = UScriptCode.TIFINAGH; pub const USCRIPT_OLD_PERSIAN = UScriptCode.OLD_PERSIAN; pub const USCRIPT_BALINESE = UScriptCode.BALINESE; pub const USCRIPT_BATAK = UScriptCode.BATAK; pub const USCRIPT_BLISSYMBOLS = UScriptCode.BLISSYMBOLS; pub const USCRIPT_BRAHMI = UScriptCode.BRAHMI; pub const USCRIPT_CHAM = UScriptCode.CHAM; pub const USCRIPT_CIRTH = UScriptCode.CIRTH; pub const USCRIPT_OLD_CHURCH_SLAVONIC_CYRILLIC = UScriptCode.OLD_CHURCH_SLAVONIC_CYRILLIC; pub const USCRIPT_DEMOTIC_EGYPTIAN = UScriptCode.DEMOTIC_EGYPTIAN; pub const USCRIPT_HIERATIC_EGYPTIAN = UScriptCode.HIERATIC_EGYPTIAN; pub const USCRIPT_EGYPTIAN_HIEROGLYPHS = UScriptCode.EGYPTIAN_HIEROGLYPHS; pub const USCRIPT_KHUTSURI = UScriptCode.KHUTSURI; pub const USCRIPT_SIMPLIFIED_HAN = UScriptCode.SIMPLIFIED_HAN; pub const USCRIPT_TRADITIONAL_HAN = UScriptCode.TRADITIONAL_HAN; pub const USCRIPT_PAHAWH_HMONG = UScriptCode.PAHAWH_HMONG; pub const USCRIPT_OLD_HUNGARIAN = UScriptCode.OLD_HUNGARIAN; pub const USCRIPT_HARAPPAN_INDUS = UScriptCode.HARAPPAN_INDUS; pub const USCRIPT_JAVANESE = UScriptCode.JAVANESE; pub const USCRIPT_KAYAH_LI = UScriptCode.KAYAH_LI; pub const USCRIPT_LATIN_FRAKTUR = UScriptCode.LATIN_FRAKTUR; pub const USCRIPT_LATIN_GAELIC = UScriptCode.LATIN_GAELIC; pub const USCRIPT_LEPCHA = UScriptCode.LEPCHA; pub const USCRIPT_LINEAR_A = UScriptCode.LINEAR_A; pub const USCRIPT_MANDAIC = UScriptCode.MANDAIC; pub const USCRIPT_MANDAEAN = UScriptCode.MANDAIC; pub const USCRIPT_MAYAN_HIEROGLYPHS = UScriptCode.MAYAN_HIEROGLYPHS; pub const USCRIPT_MEROITIC_HIEROGLYPHS = UScriptCode.MEROITIC_HIEROGLYPHS; pub const USCRIPT_MEROITIC = UScriptCode.MEROITIC_HIEROGLYPHS; pub const USCRIPT_NKO = UScriptCode.NKO; pub const USCRIPT_ORKHON = UScriptCode.ORKHON; pub const USCRIPT_OLD_PERMIC = UScriptCode.OLD_PERMIC; pub const USCRIPT_PHAGS_PA = UScriptCode.PHAGS_PA; pub const USCRIPT_PHOENICIAN = UScriptCode.PHOENICIAN; pub const USCRIPT_MIAO = UScriptCode.MIAO; pub const USCRIPT_PHONETIC_POLLARD = UScriptCode.MIAO; pub const USCRIPT_RONGORONGO = UScriptCode.RONGORONGO; pub const USCRIPT_SARATI = UScriptCode.SARATI; pub const USCRIPT_ESTRANGELO_SYRIAC = UScriptCode.ESTRANGELO_SYRIAC; pub const USCRIPT_WESTERN_SYRIAC = UScriptCode.WESTERN_SYRIAC; pub const USCRIPT_EASTERN_SYRIAC = UScriptCode.EASTERN_SYRIAC; pub const USCRIPT_TENGWAR = UScriptCode.TENGWAR; pub const USCRIPT_VAI = UScriptCode.VAI; pub const USCRIPT_VISIBLE_SPEECH = UScriptCode.VISIBLE_SPEECH; pub const USCRIPT_CUNEIFORM = UScriptCode.CUNEIFORM; pub const USCRIPT_UNWRITTEN_LANGUAGES = UScriptCode.UNWRITTEN_LANGUAGES; pub const USCRIPT_UNKNOWN = UScriptCode.UNKNOWN; pub const USCRIPT_CARIAN = UScriptCode.CARIAN; pub const USCRIPT_JAPANESE = UScriptCode.JAPANESE; pub const USCRIPT_LANNA = UScriptCode.LANNA; pub const USCRIPT_LYCIAN = UScriptCode.LYCIAN; pub const USCRIPT_LYDIAN = UScriptCode.LYDIAN; pub const USCRIPT_OL_CHIKI = UScriptCode.OL_CHIKI; pub const USCRIPT_REJANG = UScriptCode.REJANG; pub const USCRIPT_SAURASHTRA = UScriptCode.SAURASHTRA; pub const USCRIPT_SIGN_WRITING = UScriptCode.SIGN_WRITING; pub const USCRIPT_SUNDANESE = UScriptCode.SUNDANESE; pub const USCRIPT_MOON = UScriptCode.MOON; pub const USCRIPT_MEITEI_MAYEK = UScriptCode.MEITEI_MAYEK; pub const USCRIPT_IMPERIAL_ARAMAIC = UScriptCode.IMPERIAL_ARAMAIC; pub const USCRIPT_AVESTAN = UScriptCode.AVESTAN; pub const USCRIPT_CHAKMA = UScriptCode.CHAKMA; pub const USCRIPT_KOREAN = UScriptCode.KOREAN; pub const USCRIPT_KAITHI = UScriptCode.KAITHI; pub const USCRIPT_MANICHAEAN = UScriptCode.MANICHAEAN; pub const USCRIPT_INSCRIPTIONAL_PAHLAVI = UScriptCode.INSCRIPTIONAL_PAHLAVI; pub const USCRIPT_PSALTER_PAHLAVI = UScriptCode.PSALTER_PAHLAVI; pub const USCRIPT_BOOK_PAHLAVI = UScriptCode.BOOK_PAHLAVI; pub const USCRIPT_INSCRIPTIONAL_PARTHIAN = UScriptCode.INSCRIPTIONAL_PARTHIAN; pub const USCRIPT_SAMARITAN = UScriptCode.SAMARITAN; pub const USCRIPT_TAI_VIET = UScriptCode.TAI_VIET; pub const USCRIPT_MATHEMATICAL_NOTATION = UScriptCode.MATHEMATICAL_NOTATION; pub const USCRIPT_SYMBOLS = UScriptCode.SYMBOLS; pub const USCRIPT_BAMUM = UScriptCode.BAMUM; pub const USCRIPT_LISU = UScriptCode.LISU; pub const USCRIPT_NAKHI_GEBA = UScriptCode.NAKHI_GEBA; pub const USCRIPT_OLD_SOUTH_ARABIAN = UScriptCode.OLD_SOUTH_ARABIAN; pub const USCRIPT_BASSA_VAH = UScriptCode.BASSA_VAH; pub const USCRIPT_DUPLOYAN = UScriptCode.DUPLOYAN; pub const USCRIPT_ELBASAN = UScriptCode.ELBASAN; pub const USCRIPT_GRANTHA = UScriptCode.GRANTHA; pub const USCRIPT_KPELLE = UScriptCode.KPELLE; pub const USCRIPT_LOMA = UScriptCode.LOMA; pub const USCRIPT_MENDE = UScriptCode.MENDE; pub const USCRIPT_MEROITIC_CURSIVE = UScriptCode.MEROITIC_CURSIVE; pub const USCRIPT_OLD_NORTH_ARABIAN = UScriptCode.OLD_NORTH_ARABIAN; pub const USCRIPT_NABATAEAN = UScriptCode.NABATAEAN; pub const USCRIPT_PALMYRENE = UScriptCode.PALMYRENE; pub const USCRIPT_KHUDAWADI = UScriptCode.KHUDAWADI; pub const USCRIPT_SINDHI = UScriptCode.KHUDAWADI; pub const USCRIPT_WARANG_CITI = UScriptCode.WARANG_CITI; pub const USCRIPT_AFAKA = UScriptCode.AFAKA; pub const USCRIPT_JURCHEN = UScriptCode.JURCHEN; pub const USCRIPT_MRO = UScriptCode.MRO; pub const USCRIPT_NUSHU = UScriptCode.NUSHU; pub const USCRIPT_SHARADA = UScriptCode.SHARADA; pub const USCRIPT_SORA_SOMPENG = UScriptCode.SORA_SOMPENG; pub const USCRIPT_TAKRI = UScriptCode.TAKRI; pub const USCRIPT_TANGUT = UScriptCode.TANGUT; pub const USCRIPT_WOLEAI = UScriptCode.WOLEAI; pub const USCRIPT_ANATOLIAN_HIEROGLYPHS = UScriptCode.ANATOLIAN_HIEROGLYPHS; pub const USCRIPT_KHOJKI = UScriptCode.KHOJKI; pub const USCRIPT_TIRHUTA = UScriptCode.TIRHUTA; pub const USCRIPT_CAUCASIAN_ALBANIAN = UScriptCode.CAUCASIAN_ALBANIAN; pub const USCRIPT_MAHAJANI = UScriptCode.MAHAJANI; pub const USCRIPT_AHOM = UScriptCode.AHOM; pub const USCRIPT_HATRAN = UScriptCode.HATRAN; pub const USCRIPT_MODI = UScriptCode.MODI; pub const USCRIPT_MULTANI = UScriptCode.MULTANI; pub const USCRIPT_PAU_CIN_HAU = UScriptCode.PAU_CIN_HAU; pub const USCRIPT_SIDDHAM = UScriptCode.SIDDHAM; pub const USCRIPT_ADLAM = UScriptCode.ADLAM; pub const USCRIPT_BHAIKSUKI = UScriptCode.BHAIKSUKI; pub const USCRIPT_MARCHEN = UScriptCode.MARCHEN; pub const USCRIPT_NEWA = UScriptCode.NEWA; pub const USCRIPT_OSAGE = UScriptCode.OSAGE; pub const USCRIPT_HAN_WITH_BOPOMOFO = UScriptCode.HAN_WITH_BOPOMOFO; pub const USCRIPT_JAMO = UScriptCode.JAMO; pub const USCRIPT_SYMBOLS_EMOJI = UScriptCode.SYMBOLS_EMOJI; pub const USCRIPT_MASARAM_GONDI = UScriptCode.MASARAM_GONDI; pub const USCRIPT_SOYOMBO = UScriptCode.SOYOMBO; pub const USCRIPT_ZANABAZAR_SQUARE = UScriptCode.ZANABAZAR_SQUARE; pub const USCRIPT_DOGRA = UScriptCode.DOGRA; pub const USCRIPT_GUNJALA_GONDI = UScriptCode.GUNJALA_GONDI; pub const USCRIPT_MAKASAR = UScriptCode.MAKASAR; pub const USCRIPT_MEDEFAIDRIN = UScriptCode.MEDEFAIDRIN; pub const USCRIPT_HANIFI_ROHINGYA = UScriptCode.HANIFI_ROHINGYA; pub const USCRIPT_SOGDIAN = UScriptCode.SOGDIAN; pub const USCRIPT_OLD_SOGDIAN = UScriptCode.OLD_SOGDIAN; pub const USCRIPT_ELYMAIC = UScriptCode.ELYMAIC; pub const USCRIPT_NYIAKENG_PUACHUE_HMONG = UScriptCode.NYIAKENG_PUACHUE_HMONG; pub const USCRIPT_NANDINAGARI = UScriptCode.NANDINAGARI; pub const USCRIPT_WANCHO = UScriptCode.WANCHO; pub const USCRIPT_CHORASMIAN = UScriptCode.CHORASMIAN; pub const USCRIPT_DIVES_AKURU = UScriptCode.DIVES_AKURU; pub const USCRIPT_KHITAN_SMALL_SCRIPT = UScriptCode.KHITAN_SMALL_SCRIPT; pub const USCRIPT_YEZIDI = UScriptCode.YEZIDI; pub const UScriptUsage = enum(i32) { NOT_ENCODED = 0, UNKNOWN = 1, EXCLUDED = 2, LIMITED_USE = 3, ASPIRATIONAL = 4, RECOMMENDED = 5, }; pub const USCRIPT_USAGE_NOT_ENCODED = UScriptUsage.NOT_ENCODED; pub const USCRIPT_USAGE_UNKNOWN = UScriptUsage.UNKNOWN; pub const USCRIPT_USAGE_EXCLUDED = UScriptUsage.EXCLUDED; pub const USCRIPT_USAGE_LIMITED_USE = UScriptUsage.LIMITED_USE; pub const USCRIPT_USAGE_ASPIRATIONAL = UScriptUsage.ASPIRATIONAL; pub const USCRIPT_USAGE_RECOMMENDED = UScriptUsage.RECOMMENDED; pub const UReplaceableCallbacks = extern struct { length: isize, charAt: isize, char32At: isize, replace: isize, extract: isize, copy: isize, }; pub const UFieldPosition = extern struct { field: i32, beginIndex: i32, endIndex: i32, }; pub const UCharIteratorOrigin = enum(i32) { START = 0, CURRENT = 1, LIMIT = 2, ZERO = 3, LENGTH = 4, }; pub const UITER_START = UCharIteratorOrigin.START; pub const UITER_CURRENT = UCharIteratorOrigin.CURRENT; pub const UITER_LIMIT = UCharIteratorOrigin.LIMIT; pub const UITER_ZERO = UCharIteratorOrigin.ZERO; pub const UITER_LENGTH = UCharIteratorOrigin.LENGTH; // TODO: this function pointer causes dependency loop problems, so it's stubbed out pub const UCharIteratorGetIndex = switch (@import("builtin").zig_backend) { .stage1 => fn() callconv(@import("std").os.windows.WINAPI) void, else => *const fn() callconv(@import("std").os.windows.WINAPI) void}; // TODO: this function pointer causes dependency loop problems, so it's stubbed out pub const UCharIteratorMove = switch (@import("builtin").zig_backend) { .stage1 => fn() callconv(@import("std").os.windows.WINAPI) void, else => *const fn() callconv(@import("std").os.windows.WINAPI) void}; // TODO: this function pointer causes dependency loop problems, so it's stubbed out pub const UCharIteratorHasNext = switch (@import("builtin").zig_backend) { .stage1 => fn() callconv(@import("std").os.windows.WINAPI) void, else => *const fn() callconv(@import("std").os.windows.WINAPI) void}; // TODO: this function pointer causes dependency loop problems, so it's stubbed out pub const UCharIteratorHasPrevious = switch (@import("builtin").zig_backend) { .stage1 => fn() callconv(@import("std").os.windows.WINAPI) void, else => *const fn() callconv(@import("std").os.windows.WINAPI) void}; // TODO: this function pointer causes dependency loop problems, so it's stubbed out pub const UCharIteratorCurrent = switch (@import("builtin").zig_backend) { .stage1 => fn() callconv(@import("std").os.windows.WINAPI) void, else => *const fn() callconv(@import("std").os.windows.WINAPI) void}; // TODO: this function pointer causes dependency loop problems, so it's stubbed out pub const UCharIteratorNext = switch (@import("builtin").zig_backend) { .stage1 => fn() callconv(@import("std").os.windows.WINAPI) void, else => *const fn() callconv(@import("std").os.windows.WINAPI) void}; // TODO: this function pointer causes dependency loop problems, so it's stubbed out pub const UCharIteratorPrevious = switch (@import("builtin").zig_backend) { .stage1 => fn() callconv(@import("std").os.windows.WINAPI) void, else => *const fn() callconv(@import("std").os.windows.WINAPI) void}; // TODO: this function pointer causes dependency loop problems, so it's stubbed out pub const UCharIteratorReserved = switch (@import("builtin").zig_backend) { .stage1 => fn() callconv(@import("std").os.windows.WINAPI) void, else => *const fn() callconv(@import("std").os.windows.WINAPI) void}; // TODO: this function pointer causes dependency loop problems, so it's stubbed out pub const UCharIteratorGetState = switch (@import("builtin").zig_backend) { .stage1 => fn() callconv(@import("std").os.windows.WINAPI) void, else => *const fn() callconv(@import("std").os.windows.WINAPI) void}; // TODO: this function pointer causes dependency loop problems, so it's stubbed out pub const UCharIteratorSetState = switch (@import("builtin").zig_backend) { .stage1 => fn() callconv(@import("std").os.windows.WINAPI) void, else => *const fn() callconv(@import("std").os.windows.WINAPI) void}; pub const UCharIterator = extern struct { context: ?*const anyopaque, length: i32, start: i32, index: i32, limit: i32, reservedField: i32, getIndex: ?UCharIteratorGetIndex, move: ?UCharIteratorMove, hasNext: ?UCharIteratorHasNext, hasPrevious: ?UCharIteratorHasPrevious, current: ?UCharIteratorCurrent, next: ?UCharIteratorNext, previous: ?UCharIteratorPrevious, reservedFn: ?UCharIteratorReserved, getState: ?UCharIteratorGetState, setState: ?UCharIteratorSetState, }; pub const UEnumeration = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const ULocDataLocaleType = enum(i32) { ACTUAL_LOCALE = 0, VALID_LOCALE = 1, }; pub const ULOC_ACTUAL_LOCALE = ULocDataLocaleType.ACTUAL_LOCALE; pub const ULOC_VALID_LOCALE = ULocDataLocaleType.VALID_LOCALE; pub const ULocAvailableType = enum(i32) { DEFAULT = 0, ONLY_LEGACY_ALIASES = 1, WITH_LEGACY_ALIASES = 2, }; pub const ULOC_AVAILABLE_DEFAULT = ULocAvailableType.DEFAULT; pub const ULOC_AVAILABLE_ONLY_LEGACY_ALIASES = ULocAvailableType.ONLY_LEGACY_ALIASES; pub const ULOC_AVAILABLE_WITH_LEGACY_ALIASES = ULocAvailableType.WITH_LEGACY_ALIASES; pub const ULayoutType = enum(i32) { LTR = 0, RTL = 1, TTB = 2, BTT = 3, UNKNOWN = 4, }; pub const ULOC_LAYOUT_LTR = ULayoutType.LTR; pub const ULOC_LAYOUT_RTL = ULayoutType.RTL; pub const ULOC_LAYOUT_TTB = ULayoutType.TTB; pub const ULOC_LAYOUT_BTT = ULayoutType.BTT; pub const ULOC_LAYOUT_UNKNOWN = ULayoutType.UNKNOWN; pub const UAcceptResult = enum(i32) { FAILED = 0, VALID = 1, FALLBACK = 2, }; pub const ULOC_ACCEPT_FAILED = UAcceptResult.FAILED; pub const ULOC_ACCEPT_VALID = UAcceptResult.VALID; pub const ULOC_ACCEPT_FALLBACK = UAcceptResult.FALLBACK; pub const UResourceBundle = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UResType = enum(i32) { NONE = -1, STRING = 0, BINARY = 1, TABLE = 2, ALIAS = 3, INT = 7, ARRAY = 8, INT_VECTOR = 14, }; pub const URES_NONE = UResType.NONE; pub const URES_STRING = UResType.STRING; pub const URES_BINARY = UResType.BINARY; pub const URES_TABLE = UResType.TABLE; pub const URES_ALIAS = UResType.ALIAS; pub const URES_INT = UResType.INT; pub const URES_ARRAY = UResType.ARRAY; pub const URES_INT_VECTOR = UResType.INT_VECTOR; pub const UDisplayContextType = enum(i32) { DIALECT_HANDLING = 0, CAPITALIZATION = 1, DISPLAY_LENGTH = 2, SUBSTITUTE_HANDLING = 3, }; pub const UDISPCTX_TYPE_DIALECT_HANDLING = UDisplayContextType.DIALECT_HANDLING; pub const UDISPCTX_TYPE_CAPITALIZATION = UDisplayContextType.CAPITALIZATION; pub const UDISPCTX_TYPE_DISPLAY_LENGTH = UDisplayContextType.DISPLAY_LENGTH; pub const UDISPCTX_TYPE_SUBSTITUTE_HANDLING = UDisplayContextType.SUBSTITUTE_HANDLING; pub const UDisplayContext = enum(i32) { STANDARD_NAMES = 0, DIALECT_NAMES = 1, CAPITALIZATION_NONE = 256, CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE = 257, CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE = 258, CAPITALIZATION_FOR_UI_LIST_OR_MENU = 259, CAPITALIZATION_FOR_STANDALONE = 260, LENGTH_FULL = 512, LENGTH_SHORT = 513, SUBSTITUTE = 768, NO_SUBSTITUTE = 769, }; pub const UDISPCTX_STANDARD_NAMES = UDisplayContext.STANDARD_NAMES; pub const UDISPCTX_DIALECT_NAMES = UDisplayContext.DIALECT_NAMES; pub const UDISPCTX_CAPITALIZATION_NONE = UDisplayContext.CAPITALIZATION_NONE; pub const UDISPCTX_CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE = UDisplayContext.CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE; pub const UDISPCTX_CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE = UDisplayContext.CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE; pub const UDISPCTX_CAPITALIZATION_FOR_UI_LIST_OR_MENU = UDisplayContext.CAPITALIZATION_FOR_UI_LIST_OR_MENU; pub const UDISPCTX_CAPITALIZATION_FOR_STANDALONE = UDisplayContext.CAPITALIZATION_FOR_STANDALONE; pub const UDISPCTX_LENGTH_FULL = UDisplayContext.LENGTH_FULL; pub const UDISPCTX_LENGTH_SHORT = UDisplayContext.LENGTH_SHORT; pub const UDISPCTX_SUBSTITUTE = UDisplayContext.SUBSTITUTE; pub const UDISPCTX_NO_SUBSTITUTE = UDisplayContext.NO_SUBSTITUTE; pub const UDialectHandling = enum(i32) { STANDARD_NAMES = 0, DIALECT_NAMES = 1, }; pub const ULDN_STANDARD_NAMES = UDialectHandling.STANDARD_NAMES; pub const ULDN_DIALECT_NAMES = UDialectHandling.DIALECT_NAMES; pub const ULocaleDisplayNames = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UCurrencyUsage = enum(i32) { STANDARD = 0, CASH = 1, }; pub const UCURR_USAGE_STANDARD = UCurrencyUsage.STANDARD; pub const UCURR_USAGE_CASH = UCurrencyUsage.CASH; pub const UCurrNameStyle = enum(i32) { SYMBOL_NAME = 0, LONG_NAME = 1, NARROW_SYMBOL_NAME = 2, }; pub const UCURR_SYMBOL_NAME = UCurrNameStyle.SYMBOL_NAME; pub const UCURR_LONG_NAME = UCurrNameStyle.LONG_NAME; pub const UCURR_NARROW_SYMBOL_NAME = UCurrNameStyle.NARROW_SYMBOL_NAME; pub const UCurrCurrencyType = enum(i32) { ALL = 2147483647, COMMON = 1, UNCOMMON = 2, DEPRECATED = 4, NON_DEPRECATED = 8, }; pub const UCURR_ALL = UCurrCurrencyType.ALL; pub const UCURR_COMMON = UCurrCurrencyType.COMMON; pub const UCURR_UNCOMMON = UCurrCurrencyType.UNCOMMON; pub const UCURR_DEPRECATED = UCurrCurrencyType.DEPRECATED; pub const UCURR_NON_DEPRECATED = UCurrCurrencyType.NON_DEPRECATED; pub const UCPMap = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UCPMapRangeOption = enum(i32) { NORMAL = 0, FIXED_LEAD_SURROGATES = 1, FIXED_ALL_SURROGATES = 2, }; pub const UCPMAP_RANGE_NORMAL = UCPMapRangeOption.NORMAL; pub const UCPMAP_RANGE_FIXED_LEAD_SURROGATES = UCPMapRangeOption.FIXED_LEAD_SURROGATES; pub const UCPMAP_RANGE_FIXED_ALL_SURROGATES = UCPMapRangeOption.FIXED_ALL_SURROGATES; pub const UCPMapValueFilter = switch (@import("builtin").zig_backend) { .stage1 => fn( context: ?*const anyopaque, value: u32, ) callconv(@import("std").os.windows.WINAPI) u32, else => *const fn( context: ?*const anyopaque, value: u32, ) callconv(@import("std").os.windows.WINAPI) u32, } ; pub const UCPTrieData = extern union { ptr0: ?*const anyopaque, ptr16: ?*const u16, ptr32: ?*const u32, ptr8: ?*const u8, }; pub const UCPTrie = extern struct { index: ?*const u16, data: UCPTrieData, indexLength: i32, dataLength: i32, highStart: i32, shifted12HighStart: u16, type: i8, valueWidth: i8, reserved32: u32, reserved16: u16, index3NullOffset: u16, dataNullOffset: i32, nullValue: u32, }; pub const UCPTrieType = enum(i32) { ANY = -1, FAST = 0, SMALL = 1, }; pub const UCPTRIE_TYPE_ANY = UCPTrieType.ANY; pub const UCPTRIE_TYPE_FAST = UCPTrieType.FAST; pub const UCPTRIE_TYPE_SMALL = UCPTrieType.SMALL; pub const UCPTrieValueWidth = enum(i32) { ANY = -1, @"16" = 0, @"32" = 1, @"8" = 2, }; pub const UCPTRIE_VALUE_BITS_ANY = UCPTrieValueWidth.ANY; pub const UCPTRIE_VALUE_BITS_16 = UCPTrieValueWidth.@"16"; pub const UCPTRIE_VALUE_BITS_32 = UCPTrieValueWidth.@"32"; pub const UCPTRIE_VALUE_BITS_8 = UCPTrieValueWidth.@"8"; pub const UMutableCPTrie = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UConverter = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UConverterCallbackReason = enum(i32) { UNASSIGNED = 0, ILLEGAL = 1, IRREGULAR = 2, RESET = 3, CLOSE = 4, CLONE = 5, }; pub const UCNV_UNASSIGNED = UConverterCallbackReason.UNASSIGNED; pub const UCNV_ILLEGAL = UConverterCallbackReason.ILLEGAL; pub const UCNV_IRREGULAR = UConverterCallbackReason.IRREGULAR; pub const UCNV_RESET = UConverterCallbackReason.RESET; pub const UCNV_CLOSE = UConverterCallbackReason.CLOSE; pub const UCNV_CLONE = UConverterCallbackReason.CLONE; pub const UConverterFromUnicodeArgs = extern struct { size: u16, flush: i8, converter: ?*UConverter, source: ?*const u16, sourceLimit: ?*const u16, target: ?PSTR, targetLimit: ?[*:0]const u8, offsets: ?*i32, }; pub const UConverterToUnicodeArgs = extern struct { size: u16, flush: i8, converter: ?*UConverter, source: ?[*:0]const u8, sourceLimit: ?[*:0]const u8, target: ?*u16, targetLimit: ?*const u16, offsets: ?*i32, }; pub const USet = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UConverterType = enum(i32) { UNSUPPORTED_CONVERTER = -1, SBCS = 0, DBCS = 1, MBCS = 2, LATIN_1 = 3, UTF8 = 4, UTF16_BigEndian = 5, UTF16_LittleEndian = 6, UTF32_BigEndian = 7, UTF32_LittleEndian = 8, EBCDIC_STATEFUL = 9, ISO_2022 = 10, LMBCS_1 = 11, LMBCS_2 = 12, LMBCS_3 = 13, LMBCS_4 = 14, LMBCS_5 = 15, LMBCS_6 = 16, LMBCS_8 = 17, LMBCS_11 = 18, LMBCS_16 = 19, LMBCS_17 = 20, LMBCS_18 = 21, LMBCS_19 = 22, // LMBCS_LAST = 22, this enum value conflicts with LMBCS_19 HZ = 23, SCSU = 24, ISCII = 25, US_ASCII = 26, UTF7 = 27, BOCU1 = 28, UTF16 = 29, UTF32 = 30, CESU8 = 31, IMAP_MAILBOX = 32, COMPOUND_TEXT = 33, NUMBER_OF_SUPPORTED_CONVERTER_TYPES = 34, }; pub const UCNV_UNSUPPORTED_CONVERTER = UConverterType.UNSUPPORTED_CONVERTER; pub const UCNV_SBCS = UConverterType.SBCS; pub const UCNV_DBCS = UConverterType.DBCS; pub const UCNV_MBCS = UConverterType.MBCS; pub const UCNV_LATIN_1 = UConverterType.LATIN_1; pub const UCNV_UTF8 = UConverterType.UTF8; pub const UCNV_UTF16_BigEndian = UConverterType.UTF16_BigEndian; pub const UCNV_UTF16_LittleEndian = UConverterType.UTF16_LittleEndian; pub const UCNV_UTF32_BigEndian = UConverterType.UTF32_BigEndian; pub const UCNV_UTF32_LittleEndian = UConverterType.UTF32_LittleEndian; pub const UCNV_EBCDIC_STATEFUL = UConverterType.EBCDIC_STATEFUL; pub const UCNV_ISO_2022 = UConverterType.ISO_2022; pub const UCNV_LMBCS_1 = UConverterType.LMBCS_1; pub const UCNV_LMBCS_2 = UConverterType.LMBCS_2; pub const UCNV_LMBCS_3 = UConverterType.LMBCS_3; pub const UCNV_LMBCS_4 = UConverterType.LMBCS_4; pub const UCNV_LMBCS_5 = UConverterType.LMBCS_5; pub const UCNV_LMBCS_6 = UConverterType.LMBCS_6; pub const UCNV_LMBCS_8 = UConverterType.LMBCS_8; pub const UCNV_LMBCS_11 = UConverterType.LMBCS_11; pub const UCNV_LMBCS_16 = UConverterType.LMBCS_16; pub const UCNV_LMBCS_17 = UConverterType.LMBCS_17; pub const UCNV_LMBCS_18 = UConverterType.LMBCS_18; pub const UCNV_LMBCS_19 = UConverterType.LMBCS_19; pub const UCNV_LMBCS_LAST = UConverterType.LMBCS_19; pub const UCNV_HZ = UConverterType.HZ; pub const UCNV_SCSU = UConverterType.SCSU; pub const UCNV_ISCII = UConverterType.ISCII; pub const UCNV_US_ASCII = UConverterType.US_ASCII; pub const UCNV_UTF7 = UConverterType.UTF7; pub const UCNV_BOCU1 = UConverterType.BOCU1; pub const UCNV_UTF16 = UConverterType.UTF16; pub const UCNV_UTF32 = UConverterType.UTF32; pub const UCNV_CESU8 = UConverterType.CESU8; pub const UCNV_IMAP_MAILBOX = UConverterType.IMAP_MAILBOX; pub const UCNV_COMPOUND_TEXT = UConverterType.COMPOUND_TEXT; pub const UCNV_NUMBER_OF_SUPPORTED_CONVERTER_TYPES = UConverterType.NUMBER_OF_SUPPORTED_CONVERTER_TYPES; pub const UConverterPlatform = enum(i32) { UNKNOWN = -1, IBM = 0, }; pub const UCNV_UNKNOWN = UConverterPlatform.UNKNOWN; pub const UCNV_IBM = UConverterPlatform.IBM; pub const UConverterToUCallback = switch (@import("builtin").zig_backend) { .stage1 => fn( context: ?*const anyopaque, args: ?*UConverterToUnicodeArgs, codeUnits: ?[*:0]const u8, length: i32, reason: UConverterCallbackReason, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void, else => *const fn( context: ?*const anyopaque, args: ?*UConverterToUnicodeArgs, codeUnits: ?[*:0]const u8, length: i32, reason: UConverterCallbackReason, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void, } ; pub const UConverterFromUCallback = switch (@import("builtin").zig_backend) { .stage1 => fn( context: ?*const anyopaque, args: ?*UConverterFromUnicodeArgs, codeUnits: ?*const u16, length: i32, codePoint: i32, reason: UConverterCallbackReason, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void, else => *const fn( context: ?*const anyopaque, args: ?*UConverterFromUnicodeArgs, codeUnits: ?*const u16, length: i32, codePoint: i32, reason: UConverterCallbackReason, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void, } ; pub const UConverterUnicodeSet = enum(i32) { SET = 0, AND_FALLBACK_SET = 1, }; pub const UCNV_ROUNDTRIP_SET = UConverterUnicodeSet.SET; pub const UCNV_ROUNDTRIP_AND_FALLBACK_SET = UConverterUnicodeSet.AND_FALLBACK_SET; pub const UMemAllocFn = switch (@import("builtin").zig_backend) { .stage1 => fn( context: ?*const anyopaque, size: usize, ) callconv(@import("std").os.windows.WINAPI) ?*anyopaque, else => *const fn( context: ?*const anyopaque, size: usize, ) callconv(@import("std").os.windows.WINAPI) ?*anyopaque, } ; pub const UMemReallocFn = switch (@import("builtin").zig_backend) { .stage1 => fn( context: ?*const anyopaque, mem: ?*anyopaque, size: usize, ) callconv(@import("std").os.windows.WINAPI) ?*anyopaque, else => *const fn( context: ?*const anyopaque, mem: ?*anyopaque, size: usize, ) callconv(@import("std").os.windows.WINAPI) ?*anyopaque, } ; pub const UMemFreeFn = switch (@import("builtin").zig_backend) { .stage1 => fn( context: ?*const anyopaque, mem: ?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) void, else => *const fn( context: ?*const anyopaque, mem: ?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) void, } ; pub const UProperty = enum(i32) { ALPHABETIC = 0, // BINARY_START = 0, this enum value conflicts with ALPHABETIC ASCII_HEX_DIGIT = 1, BIDI_CONTROL = 2, BIDI_MIRRORED = 3, DASH = 4, DEFAULT_IGNORABLE_CODE_POINT = 5, DEPRECATED = 6, DIACRITIC = 7, EXTENDER = 8, FULL_COMPOSITION_EXCLUSION = 9, GRAPHEME_BASE = 10, GRAPHEME_EXTEND = 11, GRAPHEME_LINK = 12, HEX_DIGIT = 13, HYPHEN = 14, ID_CONTINUE = 15, ID_START = 16, IDEOGRAPHIC = 17, IDS_BINARY_OPERATOR = 18, IDS_TRINARY_OPERATOR = 19, JOIN_CONTROL = 20, LOGICAL_ORDER_EXCEPTION = 21, LOWERCASE = 22, MATH = 23, NONCHARACTER_CODE_POINT = 24, QUOTATION_MARK = 25, RADICAL = 26, SOFT_DOTTED = 27, TERMINAL_PUNCTUATION = 28, UNIFIED_IDEOGRAPH = 29, UPPERCASE = 30, WHITE_SPACE = 31, XID_CONTINUE = 32, XID_START = 33, CASE_SENSITIVE = 34, S_TERM = 35, VARIATION_SELECTOR = 36, NFD_INERT = 37, NFKD_INERT = 38, NFC_INERT = 39, NFKC_INERT = 40, SEGMENT_STARTER = 41, PATTERN_SYNTAX = 42, PATTERN_WHITE_SPACE = 43, POSIX_ALNUM = 44, POSIX_BLANK = 45, POSIX_GRAPH = 46, POSIX_PRINT = 47, POSIX_XDIGIT = 48, CASED = 49, CASE_IGNORABLE = 50, CHANGES_WHEN_LOWERCASED = 51, CHANGES_WHEN_UPPERCASED = 52, CHANGES_WHEN_TITLECASED = 53, CHANGES_WHEN_CASEFOLDED = 54, CHANGES_WHEN_CASEMAPPED = 55, CHANGES_WHEN_NFKC_CASEFOLDED = 56, EMOJI = 57, EMOJI_PRESENTATION = 58, EMOJI_MODIFIER = 59, EMOJI_MODIFIER_BASE = 60, EMOJI_COMPONENT = 61, REGIONAL_INDICATOR = 62, PREPENDED_CONCATENATION_MARK = 63, EXTENDED_PICTOGRAPHIC = 64, BIDI_CLASS = 4096, // INT_START = 4096, this enum value conflicts with BIDI_CLASS BLOCK = 4097, CANONICAL_COMBINING_CLASS = 4098, DECOMPOSITION_TYPE = 4099, EAST_ASIAN_WIDTH = 4100, GENERAL_CATEGORY = 4101, JOINING_GROUP = 4102, JOINING_TYPE = 4103, LINE_BREAK = 4104, NUMERIC_TYPE = 4105, SCRIPT = 4106, HANGUL_SYLLABLE_TYPE = 4107, NFD_QUICK_CHECK = 4108, NFKD_QUICK_CHECK = 4109, NFC_QUICK_CHECK = 4110, NFKC_QUICK_CHECK = 4111, LEAD_CANONICAL_COMBINING_CLASS = 4112, TRAIL_CANONICAL_COMBINING_CLASS = 4113, GRAPHEME_CLUSTER_BREAK = 4114, SENTENCE_BREAK = 4115, WORD_BREAK = 4116, BIDI_PAIRED_BRACKET_TYPE = 4117, INDIC_POSITIONAL_CATEGORY = 4118, INDIC_SYLLABIC_CATEGORY = 4119, VERTICAL_ORIENTATION = 4120, GENERAL_CATEGORY_MASK = 8192, // MASK_START = 8192, this enum value conflicts with GENERAL_CATEGORY_MASK NUMERIC_VALUE = 12288, // DOUBLE_START = 12288, this enum value conflicts with NUMERIC_VALUE AGE = 16384, // STRING_START = 16384, this enum value conflicts with AGE BIDI_MIRRORING_GLYPH = 16385, CASE_FOLDING = 16386, LOWERCASE_MAPPING = 16388, NAME = 16389, SIMPLE_CASE_FOLDING = 16390, SIMPLE_LOWERCASE_MAPPING = 16391, SIMPLE_TITLECASE_MAPPING = 16392, SIMPLE_UPPERCASE_MAPPING = 16393, TITLECASE_MAPPING = 16394, UPPERCASE_MAPPING = 16396, BIDI_PAIRED_BRACKET = 16397, SCRIPT_EXTENSIONS = 28672, // OTHER_PROPERTY_START = 28672, this enum value conflicts with SCRIPT_EXTENSIONS INVALID_CODE = -1, }; pub const UCHAR_ALPHABETIC = UProperty.ALPHABETIC; pub const UCHAR_BINARY_START = UProperty.ALPHABETIC; pub const UCHAR_ASCII_HEX_DIGIT = UProperty.ASCII_HEX_DIGIT; pub const UCHAR_BIDI_CONTROL = UProperty.BIDI_CONTROL; pub const UCHAR_BIDI_MIRRORED = UProperty.BIDI_MIRRORED; pub const UCHAR_DASH = UProperty.DASH; pub const UCHAR_DEFAULT_IGNORABLE_CODE_POINT = UProperty.DEFAULT_IGNORABLE_CODE_POINT; pub const UCHAR_DEPRECATED = UProperty.DEPRECATED; pub const UCHAR_DIACRITIC = UProperty.DIACRITIC; pub const UCHAR_EXTENDER = UProperty.EXTENDER; pub const UCHAR_FULL_COMPOSITION_EXCLUSION = UProperty.FULL_COMPOSITION_EXCLUSION; pub const UCHAR_GRAPHEME_BASE = UProperty.GRAPHEME_BASE; pub const UCHAR_GRAPHEME_EXTEND = UProperty.GRAPHEME_EXTEND; pub const UCHAR_GRAPHEME_LINK = UProperty.GRAPHEME_LINK; pub const UCHAR_HEX_DIGIT = UProperty.HEX_DIGIT; pub const UCHAR_HYPHEN = UProperty.HYPHEN; pub const UCHAR_ID_CONTINUE = UProperty.ID_CONTINUE; pub const UCHAR_ID_START = UProperty.ID_START; pub const UCHAR_IDEOGRAPHIC = UProperty.IDEOGRAPHIC; pub const UCHAR_IDS_BINARY_OPERATOR = UProperty.IDS_BINARY_OPERATOR; pub const UCHAR_IDS_TRINARY_OPERATOR = UProperty.IDS_TRINARY_OPERATOR; pub const UCHAR_JOIN_CONTROL = UProperty.JOIN_CONTROL; pub const UCHAR_LOGICAL_ORDER_EXCEPTION = UProperty.LOGICAL_ORDER_EXCEPTION; pub const UCHAR_LOWERCASE = UProperty.LOWERCASE; pub const UCHAR_MATH = UProperty.MATH; pub const UCHAR_NONCHARACTER_CODE_POINT = UProperty.NONCHARACTER_CODE_POINT; pub const UCHAR_QUOTATION_MARK = UProperty.QUOTATION_MARK; pub const UCHAR_RADICAL = UProperty.RADICAL; pub const UCHAR_SOFT_DOTTED = UProperty.SOFT_DOTTED; pub const UCHAR_TERMINAL_PUNCTUATION = UProperty.TERMINAL_PUNCTUATION; pub const UCHAR_UNIFIED_IDEOGRAPH = UProperty.UNIFIED_IDEOGRAPH; pub const UCHAR_UPPERCASE = UProperty.UPPERCASE; pub const UCHAR_WHITE_SPACE = UProperty.WHITE_SPACE; pub const UCHAR_XID_CONTINUE = UProperty.XID_CONTINUE; pub const UCHAR_XID_START = UProperty.XID_START; pub const UCHAR_CASE_SENSITIVE = UProperty.CASE_SENSITIVE; pub const UCHAR_S_TERM = UProperty.S_TERM; pub const UCHAR_VARIATION_SELECTOR = UProperty.VARIATION_SELECTOR; pub const UCHAR_NFD_INERT = UProperty.NFD_INERT; pub const UCHAR_NFKD_INERT = UProperty.NFKD_INERT; pub const UCHAR_NFC_INERT = UProperty.NFC_INERT; pub const UCHAR_NFKC_INERT = UProperty.NFKC_INERT; pub const UCHAR_SEGMENT_STARTER = UProperty.SEGMENT_STARTER; pub const UCHAR_PATTERN_SYNTAX = UProperty.PATTERN_SYNTAX; pub const UCHAR_PATTERN_WHITE_SPACE = UProperty.PATTERN_WHITE_SPACE; pub const UCHAR_POSIX_ALNUM = UProperty.POSIX_ALNUM; pub const UCHAR_POSIX_BLANK = UProperty.POSIX_BLANK; pub const UCHAR_POSIX_GRAPH = UProperty.POSIX_GRAPH; pub const UCHAR_POSIX_PRINT = UProperty.POSIX_PRINT; pub const UCHAR_POSIX_XDIGIT = UProperty.POSIX_XDIGIT; pub const UCHAR_CASED = UProperty.CASED; pub const UCHAR_CASE_IGNORABLE = UProperty.CASE_IGNORABLE; pub const UCHAR_CHANGES_WHEN_LOWERCASED = UProperty.CHANGES_WHEN_LOWERCASED; pub const UCHAR_CHANGES_WHEN_UPPERCASED = UProperty.CHANGES_WHEN_UPPERCASED; pub const UCHAR_CHANGES_WHEN_TITLECASED = UProperty.CHANGES_WHEN_TITLECASED; pub const UCHAR_CHANGES_WHEN_CASEFOLDED = UProperty.CHANGES_WHEN_CASEFOLDED; pub const UCHAR_CHANGES_WHEN_CASEMAPPED = UProperty.CHANGES_WHEN_CASEMAPPED; pub const UCHAR_CHANGES_WHEN_NFKC_CASEFOLDED = UProperty.CHANGES_WHEN_NFKC_CASEFOLDED; pub const UCHAR_EMOJI = UProperty.EMOJI; pub const UCHAR_EMOJI_PRESENTATION = UProperty.EMOJI_PRESENTATION; pub const UCHAR_EMOJI_MODIFIER = UProperty.EMOJI_MODIFIER; pub const UCHAR_EMOJI_MODIFIER_BASE = UProperty.EMOJI_MODIFIER_BASE; pub const UCHAR_EMOJI_COMPONENT = UProperty.EMOJI_COMPONENT; pub const UCHAR_REGIONAL_INDICATOR = UProperty.REGIONAL_INDICATOR; pub const UCHAR_PREPENDED_CONCATENATION_MARK = UProperty.PREPENDED_CONCATENATION_MARK; pub const UCHAR_EXTENDED_PICTOGRAPHIC = UProperty.EXTENDED_PICTOGRAPHIC; pub const UCHAR_BIDI_CLASS = UProperty.BIDI_CLASS; pub const UCHAR_INT_START = UProperty.BIDI_CLASS; pub const UCHAR_BLOCK = UProperty.BLOCK; pub const UCHAR_CANONICAL_COMBINING_CLASS = UProperty.CANONICAL_COMBINING_CLASS; pub const UCHAR_DECOMPOSITION_TYPE = UProperty.DECOMPOSITION_TYPE; pub const UCHAR_EAST_ASIAN_WIDTH = UProperty.EAST_ASIAN_WIDTH; pub const UCHAR_GENERAL_CATEGORY = UProperty.GENERAL_CATEGORY; pub const UCHAR_JOINING_GROUP = UProperty.JOINING_GROUP; pub const UCHAR_JOINING_TYPE = UProperty.JOINING_TYPE; pub const UCHAR_LINE_BREAK = UProperty.LINE_BREAK; pub const UCHAR_NUMERIC_TYPE = UProperty.NUMERIC_TYPE; pub const UCHAR_SCRIPT = UProperty.SCRIPT; pub const UCHAR_HANGUL_SYLLABLE_TYPE = UProperty.HANGUL_SYLLABLE_TYPE; pub const UCHAR_NFD_QUICK_CHECK = UProperty.NFD_QUICK_CHECK; pub const UCHAR_NFKD_QUICK_CHECK = UProperty.NFKD_QUICK_CHECK; pub const UCHAR_NFC_QUICK_CHECK = UProperty.NFC_QUICK_CHECK; pub const UCHAR_NFKC_QUICK_CHECK = UProperty.NFKC_QUICK_CHECK; pub const UCHAR_LEAD_CANONICAL_COMBINING_CLASS = UProperty.LEAD_CANONICAL_COMBINING_CLASS; pub const UCHAR_TRAIL_CANONICAL_COMBINING_CLASS = UProperty.TRAIL_CANONICAL_COMBINING_CLASS; pub const UCHAR_GRAPHEME_CLUSTER_BREAK = UProperty.GRAPHEME_CLUSTER_BREAK; pub const UCHAR_SENTENCE_BREAK = UProperty.SENTENCE_BREAK; pub const UCHAR_WORD_BREAK = UProperty.WORD_BREAK; pub const UCHAR_BIDI_PAIRED_BRACKET_TYPE = UProperty.BIDI_PAIRED_BRACKET_TYPE; pub const UCHAR_INDIC_POSITIONAL_CATEGORY = UProperty.INDIC_POSITIONAL_CATEGORY; pub const UCHAR_INDIC_SYLLABIC_CATEGORY = UProperty.INDIC_SYLLABIC_CATEGORY; pub const UCHAR_VERTICAL_ORIENTATION = UProperty.VERTICAL_ORIENTATION; pub const UCHAR_GENERAL_CATEGORY_MASK = UProperty.GENERAL_CATEGORY_MASK; pub const UCHAR_MASK_START = UProperty.GENERAL_CATEGORY_MASK; pub const UCHAR_NUMERIC_VALUE = UProperty.NUMERIC_VALUE; pub const UCHAR_DOUBLE_START = UProperty.NUMERIC_VALUE; pub const UCHAR_AGE = UProperty.AGE; pub const UCHAR_STRING_START = UProperty.AGE; pub const UCHAR_BIDI_MIRRORING_GLYPH = UProperty.BIDI_MIRRORING_GLYPH; pub const UCHAR_CASE_FOLDING = UProperty.CASE_FOLDING; pub const UCHAR_LOWERCASE_MAPPING = UProperty.LOWERCASE_MAPPING; pub const UCHAR_NAME = UProperty.NAME; pub const UCHAR_SIMPLE_CASE_FOLDING = UProperty.SIMPLE_CASE_FOLDING; pub const UCHAR_SIMPLE_LOWERCASE_MAPPING = UProperty.SIMPLE_LOWERCASE_MAPPING; pub const UCHAR_SIMPLE_TITLECASE_MAPPING = UProperty.SIMPLE_TITLECASE_MAPPING; pub const UCHAR_SIMPLE_UPPERCASE_MAPPING = UProperty.SIMPLE_UPPERCASE_MAPPING; pub const UCHAR_TITLECASE_MAPPING = UProperty.TITLECASE_MAPPING; pub const UCHAR_UPPERCASE_MAPPING = UProperty.UPPERCASE_MAPPING; pub const UCHAR_BIDI_PAIRED_BRACKET = UProperty.BIDI_PAIRED_BRACKET; pub const UCHAR_SCRIPT_EXTENSIONS = UProperty.SCRIPT_EXTENSIONS; pub const UCHAR_OTHER_PROPERTY_START = UProperty.SCRIPT_EXTENSIONS; pub const UCHAR_INVALID_CODE = UProperty.INVALID_CODE; pub const UCharCategory = enum(i32) { UNASSIGNED = 0, // GENERAL_OTHER_TYPES = 0, this enum value conflicts with UNASSIGNED UPPERCASE_LETTER = 1, LOWERCASE_LETTER = 2, TITLECASE_LETTER = 3, MODIFIER_LETTER = 4, OTHER_LETTER = 5, NON_SPACING_MARK = 6, ENCLOSING_MARK = 7, COMBINING_SPACING_MARK = 8, DECIMAL_DIGIT_NUMBER = 9, LETTER_NUMBER = 10, OTHER_NUMBER = 11, SPACE_SEPARATOR = 12, LINE_SEPARATOR = 13, PARAGRAPH_SEPARATOR = 14, CONTROL_CHAR = 15, FORMAT_CHAR = 16, PRIVATE_USE_CHAR = 17, SURROGATE = 18, DASH_PUNCTUATION = 19, START_PUNCTUATION = 20, END_PUNCTUATION = 21, CONNECTOR_PUNCTUATION = 22, OTHER_PUNCTUATION = 23, MATH_SYMBOL = 24, CURRENCY_SYMBOL = 25, MODIFIER_SYMBOL = 26, OTHER_SYMBOL = 27, INITIAL_PUNCTUATION = 28, FINAL_PUNCTUATION = 29, CHAR_CATEGORY_COUNT = 30, }; pub const U_UNASSIGNED = UCharCategory.UNASSIGNED; pub const U_GENERAL_OTHER_TYPES = UCharCategory.UNASSIGNED; pub const U_UPPERCASE_LETTER = UCharCategory.UPPERCASE_LETTER; pub const U_LOWERCASE_LETTER = UCharCategory.LOWERCASE_LETTER; pub const U_TITLECASE_LETTER = UCharCategory.TITLECASE_LETTER; pub const U_MODIFIER_LETTER = UCharCategory.MODIFIER_LETTER; pub const U_OTHER_LETTER = UCharCategory.OTHER_LETTER; pub const U_NON_SPACING_MARK = UCharCategory.NON_SPACING_MARK; pub const U_ENCLOSING_MARK = UCharCategory.ENCLOSING_MARK; pub const U_COMBINING_SPACING_MARK = UCharCategory.COMBINING_SPACING_MARK; pub const U_DECIMAL_DIGIT_NUMBER = UCharCategory.DECIMAL_DIGIT_NUMBER; pub const U_LETTER_NUMBER = UCharCategory.LETTER_NUMBER; pub const U_OTHER_NUMBER = UCharCategory.OTHER_NUMBER; pub const U_SPACE_SEPARATOR = UCharCategory.SPACE_SEPARATOR; pub const U_LINE_SEPARATOR = UCharCategory.LINE_SEPARATOR; pub const U_PARAGRAPH_SEPARATOR = UCharCategory.PARAGRAPH_SEPARATOR; pub const U_CONTROL_CHAR = UCharCategory.CONTROL_CHAR; pub const U_FORMAT_CHAR = UCharCategory.FORMAT_CHAR; pub const U_PRIVATE_USE_CHAR = UCharCategory.PRIVATE_USE_CHAR; pub const U_SURROGATE = UCharCategory.SURROGATE; pub const U_DASH_PUNCTUATION = UCharCategory.DASH_PUNCTUATION; pub const U_START_PUNCTUATION = UCharCategory.START_PUNCTUATION; pub const U_END_PUNCTUATION = UCharCategory.END_PUNCTUATION; pub const U_CONNECTOR_PUNCTUATION = UCharCategory.CONNECTOR_PUNCTUATION; pub const U_OTHER_PUNCTUATION = UCharCategory.OTHER_PUNCTUATION; pub const U_MATH_SYMBOL = UCharCategory.MATH_SYMBOL; pub const U_CURRENCY_SYMBOL = UCharCategory.CURRENCY_SYMBOL; pub const U_MODIFIER_SYMBOL = UCharCategory.MODIFIER_SYMBOL; pub const U_OTHER_SYMBOL = UCharCategory.OTHER_SYMBOL; pub const U_INITIAL_PUNCTUATION = UCharCategory.INITIAL_PUNCTUATION; pub const U_FINAL_PUNCTUATION = UCharCategory.FINAL_PUNCTUATION; pub const U_CHAR_CATEGORY_COUNT = UCharCategory.CHAR_CATEGORY_COUNT; pub const UCharDirection = enum(i32) { LEFT_TO_RIGHT = 0, RIGHT_TO_LEFT = 1, EUROPEAN_NUMBER = 2, EUROPEAN_NUMBER_SEPARATOR = 3, EUROPEAN_NUMBER_TERMINATOR = 4, ARABIC_NUMBER = 5, COMMON_NUMBER_SEPARATOR = 6, BLOCK_SEPARATOR = 7, SEGMENT_SEPARATOR = 8, WHITE_SPACE_NEUTRAL = 9, OTHER_NEUTRAL = 10, LEFT_TO_RIGHT_EMBEDDING = 11, LEFT_TO_RIGHT_OVERRIDE = 12, RIGHT_TO_LEFT_ARABIC = 13, RIGHT_TO_LEFT_EMBEDDING = 14, RIGHT_TO_LEFT_OVERRIDE = 15, POP_DIRECTIONAL_FORMAT = 16, DIR_NON_SPACING_MARK = 17, BOUNDARY_NEUTRAL = 18, FIRST_STRONG_ISOLATE = 19, LEFT_TO_RIGHT_ISOLATE = 20, RIGHT_TO_LEFT_ISOLATE = 21, POP_DIRECTIONAL_ISOLATE = 22, }; pub const U_LEFT_TO_RIGHT = UCharDirection.LEFT_TO_RIGHT; pub const U_RIGHT_TO_LEFT = UCharDirection.RIGHT_TO_LEFT; pub const U_EUROPEAN_NUMBER = UCharDirection.EUROPEAN_NUMBER; pub const U_EUROPEAN_NUMBER_SEPARATOR = UCharDirection.EUROPEAN_NUMBER_SEPARATOR; pub const U_EUROPEAN_NUMBER_TERMINATOR = UCharDirection.EUROPEAN_NUMBER_TERMINATOR; pub const U_ARABIC_NUMBER = UCharDirection.ARABIC_NUMBER; pub const U_COMMON_NUMBER_SEPARATOR = UCharDirection.COMMON_NUMBER_SEPARATOR; pub const U_BLOCK_SEPARATOR = UCharDirection.BLOCK_SEPARATOR; pub const U_SEGMENT_SEPARATOR = UCharDirection.SEGMENT_SEPARATOR; pub const U_WHITE_SPACE_NEUTRAL = UCharDirection.WHITE_SPACE_NEUTRAL; pub const U_OTHER_NEUTRAL = UCharDirection.OTHER_NEUTRAL; pub const U_LEFT_TO_RIGHT_EMBEDDING = UCharDirection.LEFT_TO_RIGHT_EMBEDDING; pub const U_LEFT_TO_RIGHT_OVERRIDE = UCharDirection.LEFT_TO_RIGHT_OVERRIDE; pub const U_RIGHT_TO_LEFT_ARABIC = UCharDirection.RIGHT_TO_LEFT_ARABIC; pub const U_RIGHT_TO_LEFT_EMBEDDING = UCharDirection.RIGHT_TO_LEFT_EMBEDDING; pub const U_RIGHT_TO_LEFT_OVERRIDE = UCharDirection.RIGHT_TO_LEFT_OVERRIDE; pub const U_POP_DIRECTIONAL_FORMAT = UCharDirection.POP_DIRECTIONAL_FORMAT; pub const U_DIR_NON_SPACING_MARK = UCharDirection.DIR_NON_SPACING_MARK; pub const U_BOUNDARY_NEUTRAL = UCharDirection.BOUNDARY_NEUTRAL; pub const U_FIRST_STRONG_ISOLATE = UCharDirection.FIRST_STRONG_ISOLATE; pub const U_LEFT_TO_RIGHT_ISOLATE = UCharDirection.LEFT_TO_RIGHT_ISOLATE; pub const U_RIGHT_TO_LEFT_ISOLATE = UCharDirection.RIGHT_TO_LEFT_ISOLATE; pub const U_POP_DIRECTIONAL_ISOLATE = UCharDirection.POP_DIRECTIONAL_ISOLATE; pub const UBidiPairedBracketType = enum(i32) { NONE = 0, OPEN = 1, CLOSE = 2, }; pub const U_BPT_NONE = UBidiPairedBracketType.NONE; pub const U_BPT_OPEN = UBidiPairedBracketType.OPEN; pub const U_BPT_CLOSE = UBidiPairedBracketType.CLOSE; pub const UBlockCode = enum(i32) { NO_BLOCK = 0, BASIC_LATIN = 1, LATIN_1_SUPPLEMENT = 2, LATIN_EXTENDED_A = 3, LATIN_EXTENDED_B = 4, IPA_EXTENSIONS = 5, SPACING_MODIFIER_LETTERS = 6, COMBINING_DIACRITICAL_MARKS = 7, GREEK = 8, CYRILLIC = 9, ARMENIAN = 10, HEBREW = 11, ARABIC = 12, SYRIAC = 13, THAANA = 14, DEVANAGARI = 15, BENGALI = 16, GURMUKHI = 17, GUJARATI = 18, ORIYA = 19, TAMIL = 20, TELUGU = 21, KANNADA = 22, MALAYALAM = 23, SINHALA = 24, THAI = 25, LAO = 26, TIBETAN = 27, MYANMAR = 28, GEORGIAN = 29, HANGUL_JAMO = 30, ETHIOPIC = 31, CHEROKEE = 32, UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS = 33, OGHAM = 34, RUNIC = 35, KHMER = 36, MONGOLIAN = 37, LATIN_EXTENDED_ADDITIONAL = 38, GREEK_EXTENDED = 39, GENERAL_PUNCTUATION = 40, SUPERSCRIPTS_AND_SUBSCRIPTS = 41, CURRENCY_SYMBOLS = 42, COMBINING_MARKS_FOR_SYMBOLS = 43, LETTERLIKE_SYMBOLS = 44, NUMBER_FORMS = 45, ARROWS = 46, MATHEMATICAL_OPERATORS = 47, MISCELLANEOUS_TECHNICAL = 48, CONTROL_PICTURES = 49, OPTICAL_CHARACTER_RECOGNITION = 50, ENCLOSED_ALPHANUMERICS = 51, BOX_DRAWING = 52, BLOCK_ELEMENTS = 53, GEOMETRIC_SHAPES = 54, MISCELLANEOUS_SYMBOLS = 55, DINGBATS = 56, BRAILLE_PATTERNS = 57, CJK_RADICALS_SUPPLEMENT = 58, KANGXI_RADICALS = 59, IDEOGRAPHIC_DESCRIPTION_CHARACTERS = 60, CJK_SYMBOLS_AND_PUNCTUATION = 61, HIRAGANA = 62, KATAKANA = 63, BOPOMOFO = 64, HANGUL_COMPATIBILITY_JAMO = 65, KANBUN = 66, BOPOMOFO_EXTENDED = 67, ENCLOSED_CJK_LETTERS_AND_MONTHS = 68, CJK_COMPATIBILITY = 69, CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A = 70, CJK_UNIFIED_IDEOGRAPHS = 71, YI_SYLLABLES = 72, YI_RADICALS = 73, HANGUL_SYLLABLES = 74, HIGH_SURROGATES = 75, HIGH_PRIVATE_USE_SURROGATES = 76, LOW_SURROGATES = 77, PRIVATE_USE_AREA = 78, // PRIVATE_USE = 78, this enum value conflicts with PRIVATE_USE_AREA CJK_COMPATIBILITY_IDEOGRAPHS = 79, ALPHABETIC_PRESENTATION_FORMS = 80, ARABIC_PRESENTATION_FORMS_A = 81, COMBINING_HALF_MARKS = 82, CJK_COMPATIBILITY_FORMS = 83, SMALL_FORM_VARIANTS = 84, ARABIC_PRESENTATION_FORMS_B = 85, SPECIALS = 86, HALFWIDTH_AND_FULLWIDTH_FORMS = 87, OLD_ITALIC = 88, GOTHIC = 89, DESERET = 90, BYZANTINE_MUSICAL_SYMBOLS = 91, MUSICAL_SYMBOLS = 92, MATHEMATICAL_ALPHANUMERIC_SYMBOLS = 93, CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B = 94, CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT = 95, TAGS = 96, CYRILLIC_SUPPLEMENT = 97, // CYRILLIC_SUPPLEMENTARY = 97, this enum value conflicts with CYRILLIC_SUPPLEMENT TAGALOG = 98, HANUNOO = 99, BUHID = 100, TAGBANWA = 101, MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A = 102, SUPPLEMENTAL_ARROWS_A = 103, SUPPLEMENTAL_ARROWS_B = 104, MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B = 105, SUPPLEMENTAL_MATHEMATICAL_OPERATORS = 106, KATAKANA_PHONETIC_EXTENSIONS = 107, VARIATION_SELECTORS = 108, SUPPLEMENTARY_PRIVATE_USE_AREA_A = 109, SUPPLEMENTARY_PRIVATE_USE_AREA_B = 110, LIMBU = 111, TAI_LE = 112, KHMER_SYMBOLS = 113, PHONETIC_EXTENSIONS = 114, MISCELLANEOUS_SYMBOLS_AND_ARROWS = 115, YIJING_HEXAGRAM_SYMBOLS = 116, LINEAR_B_SYLLABARY = 117, LINEAR_B_IDEOGRAMS = 118, AEGEAN_NUMBERS = 119, UGARITIC = 120, SHAVIAN = 121, OSMANYA = 122, CYPRIOT_SYLLABARY = 123, TAI_XUAN_JING_SYMBOLS = 124, VARIATION_SELECTORS_SUPPLEMENT = 125, ANCIENT_GREEK_MUSICAL_NOTATION = 126, ANCIENT_GREEK_NUMBERS = 127, ARABIC_SUPPLEMENT = 128, BUGINESE = 129, CJK_STROKES = 130, COMBINING_DIACRITICAL_MARKS_SUPPLEMENT = 131, COPTIC = 132, ETHIOPIC_EXTENDED = 133, ETHIOPIC_SUPPLEMENT = 134, GEORGIAN_SUPPLEMENT = 135, GLAGOLITIC = 136, KHAROSHTHI = 137, MODIFIER_TONE_LETTERS = 138, NEW_TAI_LUE = 139, OLD_PERSIAN = 140, PHONETIC_EXTENSIONS_SUPPLEMENT = 141, SUPPLEMENTAL_PUNCTUATION = 142, SYLOTI_NAGRI = 143, TIFINAGH = 144, VERTICAL_FORMS = 145, NKO = 146, BALINESE = 147, LATIN_EXTENDED_C = 148, LATIN_EXTENDED_D = 149, PHAGS_PA = 150, PHOENICIAN = 151, CUNEIFORM = 152, CUNEIFORM_NUMBERS_AND_PUNCTUATION = 153, COUNTING_ROD_NUMERALS = 154, SUNDANESE = 155, LEPCHA = 156, OL_CHIKI = 157, CYRILLIC_EXTENDED_A = 158, VAI = 159, CYRILLIC_EXTENDED_B = 160, SAURASHTRA = 161, KAYAH_LI = 162, REJANG = 163, CHAM = 164, ANCIENT_SYMBOLS = 165, PHAISTOS_DISC = 166, LYCIAN = 167, CARIAN = 168, LYDIAN = 169, MAHJONG_TILES = 170, DOMINO_TILES = 171, SAMARITAN = 172, UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED = 173, TAI_THAM = 174, VEDIC_EXTENSIONS = 175, LISU = 176, BAMUM = 177, COMMON_INDIC_NUMBER_FORMS = 178, DEVANAGARI_EXTENDED = 179, HANGUL_JAMO_EXTENDED_A = 180, JAVANESE = 181, MYANMAR_EXTENDED_A = 182, TAI_VIET = 183, MEETEI_MAYEK = 184, HANGUL_JAMO_EXTENDED_B = 185, IMPERIAL_ARAMAIC = 186, OLD_SOUTH_ARABIAN = 187, AVESTAN = 188, INSCRIPTIONAL_PARTHIAN = 189, INSCRIPTIONAL_PAHLAVI = 190, OLD_TURKIC = 191, RUMI_NUMERAL_SYMBOLS = 192, KAITHI = 193, EGYPTIAN_HIEROGLYPHS = 194, ENCLOSED_ALPHANUMERIC_SUPPLEMENT = 195, ENCLOSED_IDEOGRAPHIC_SUPPLEMENT = 196, CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C = 197, MANDAIC = 198, BATAK = 199, ETHIOPIC_EXTENDED_A = 200, BRAHMI = 201, BAMUM_SUPPLEMENT = 202, KANA_SUPPLEMENT = 203, PLAYING_CARDS = 204, MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS = 205, EMOTICONS = 206, TRANSPORT_AND_MAP_SYMBOLS = 207, ALCHEMICAL_SYMBOLS = 208, CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D = 209, ARABIC_EXTENDED_A = 210, ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS = 211, CHAKMA = 212, MEETEI_MAYEK_EXTENSIONS = 213, MEROITIC_CURSIVE = 214, MEROITIC_HIEROGLYPHS = 215, MIAO = 216, SHARADA = 217, SORA_SOMPENG = 218, SUNDANESE_SUPPLEMENT = 219, TAKRI = 220, BASSA_VAH = 221, CAUCASIAN_ALBANIAN = 222, COPTIC_EPACT_NUMBERS = 223, COMBINING_DIACRITICAL_MARKS_EXTENDED = 224, DUPLOYAN = 225, ELBASAN = 226, GEOMETRIC_SHAPES_EXTENDED = 227, GRANTHA = 228, KHOJKI = 229, KHUDAWADI = 230, LATIN_EXTENDED_E = 231, LINEAR_A = 232, MAHAJANI = 233, MANICHAEAN = 234, MENDE_KIKAKUI = 235, MODI = 236, MRO = 237, MYANMAR_EXTENDED_B = 238, NABATAEAN = 239, OLD_NORTH_ARABIAN = 240, OLD_PERMIC = 241, ORNAMENTAL_DINGBATS = 242, PAHAWH_HMONG = 243, PALMYRENE = 244, PAU_CIN_HAU = 245, PSALTER_PAHLAVI = 246, SHORTHAND_FORMAT_CONTROLS = 247, SIDDHAM = 248, SINHALA_ARCHAIC_NUMBERS = 249, SUPPLEMENTAL_ARROWS_C = 250, TIRHUTA = 251, WARANG_CITI = 252, AHOM = 253, ANATOLIAN_HIEROGLYPHS = 254, CHEROKEE_SUPPLEMENT = 255, CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E = 256, EARLY_DYNASTIC_CUNEIFORM = 257, HATRAN = 258, MULTANI = 259, OLD_HUNGARIAN = 260, SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS = 261, SUTTON_SIGNWRITING = 262, ADLAM = 263, BHAIKSUKI = 264, CYRILLIC_EXTENDED_C = 265, GLAGOLITIC_SUPPLEMENT = 266, IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION = 267, MARCHEN = 268, MONGOLIAN_SUPPLEMENT = 269, NEWA = 270, OSAGE = 271, TANGUT = 272, TANGUT_COMPONENTS = 273, CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F = 274, KANA_EXTENDED_A = 275, MASARAM_GONDI = 276, NUSHU = 277, SOYOMBO = 278, SYRIAC_SUPPLEMENT = 279, ZANABAZAR_SQUARE = 280, CHESS_SYMBOLS = 281, DOGRA = 282, GEORGIAN_EXTENDED = 283, GUNJALA_GONDI = 284, HANIFI_ROHINGYA = 285, INDIC_SIYAQ_NUMBERS = 286, MAKASAR = 287, MAYAN_NUMERALS = 288, MEDEFAIDRIN = 289, OLD_SOGDIAN = 290, SOGDIAN = 291, EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS = 292, ELYMAIC = 293, NANDINAGARI = 294, NYIAKENG_PUACHUE_HMONG = 295, OTTOMAN_SIYAQ_NUMBERS = 296, SMALL_KANA_EXTENSION = 297, SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A = 298, TAMIL_SUPPLEMENT = 299, WANCHO = 300, CHORASMIAN = 301, CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G = 302, DIVES_AKURU = 303, KHITAN_SMALL_SCRIPT = 304, LISU_SUPPLEMENT = 305, SYMBOLS_FOR_LEGACY_COMPUTING = 306, TANGUT_SUPPLEMENT = 307, YEZIDI = 308, INVALID_CODE = -1, }; pub const UBLOCK_NO_BLOCK = UBlockCode.NO_BLOCK; pub const UBLOCK_BASIC_LATIN = UBlockCode.BASIC_LATIN; pub const UBLOCK_LATIN_1_SUPPLEMENT = UBlockCode.LATIN_1_SUPPLEMENT; pub const UBLOCK_LATIN_EXTENDED_A = UBlockCode.LATIN_EXTENDED_A; pub const UBLOCK_LATIN_EXTENDED_B = UBlockCode.LATIN_EXTENDED_B; pub const UBLOCK_IPA_EXTENSIONS = UBlockCode.IPA_EXTENSIONS; pub const UBLOCK_SPACING_MODIFIER_LETTERS = UBlockCode.SPACING_MODIFIER_LETTERS; pub const UBLOCK_COMBINING_DIACRITICAL_MARKS = UBlockCode.COMBINING_DIACRITICAL_MARKS; pub const UBLOCK_GREEK = UBlockCode.GREEK; pub const UBLOCK_CYRILLIC = UBlockCode.CYRILLIC; pub const UBLOCK_ARMENIAN = UBlockCode.ARMENIAN; pub const UBLOCK_HEBREW = UBlockCode.HEBREW; pub const UBLOCK_ARABIC = UBlockCode.ARABIC; pub const UBLOCK_SYRIAC = UBlockCode.SYRIAC; pub const UBLOCK_THAANA = UBlockCode.THAANA; pub const UBLOCK_DEVANAGARI = UBlockCode.DEVANAGARI; pub const UBLOCK_BENGALI = UBlockCode.BENGALI; pub const UBLOCK_GURMUKHI = UBlockCode.GURMUKHI; pub const UBLOCK_GUJARATI = UBlockCode.GUJARATI; pub const UBLOCK_ORIYA = UBlockCode.ORIYA; pub const UBLOCK_TAMIL = UBlockCode.TAMIL; pub const UBLOCK_TELUGU = UBlockCode.TELUGU; pub const UBLOCK_KANNADA = UBlockCode.KANNADA; pub const UBLOCK_MALAYALAM = UBlockCode.MALAYALAM; pub const UBLOCK_SINHALA = UBlockCode.SINHALA; pub const UBLOCK_THAI = UBlockCode.THAI; pub const UBLOCK_LAO = UBlockCode.LAO; pub const UBLOCK_TIBETAN = UBlockCode.TIBETAN; pub const UBLOCK_MYANMAR = UBlockCode.MYANMAR; pub const UBLOCK_GEORGIAN = UBlockCode.GEORGIAN; pub const UBLOCK_HANGUL_JAMO = UBlockCode.HANGUL_JAMO; pub const UBLOCK_ETHIOPIC = UBlockCode.ETHIOPIC; pub const UBLOCK_CHEROKEE = UBlockCode.CHEROKEE; pub const UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS = UBlockCode.UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS; pub const UBLOCK_OGHAM = UBlockCode.OGHAM; pub const UBLOCK_RUNIC = UBlockCode.RUNIC; pub const UBLOCK_KHMER = UBlockCode.KHMER; pub const UBLOCK_MONGOLIAN = UBlockCode.MONGOLIAN; pub const UBLOCK_LATIN_EXTENDED_ADDITIONAL = UBlockCode.LATIN_EXTENDED_ADDITIONAL; pub const UBLOCK_GREEK_EXTENDED = UBlockCode.GREEK_EXTENDED; pub const UBLOCK_GENERAL_PUNCTUATION = UBlockCode.GENERAL_PUNCTUATION; pub const UBLOCK_SUPERSCRIPTS_AND_SUBSCRIPTS = UBlockCode.SUPERSCRIPTS_AND_SUBSCRIPTS; pub const UBLOCK_CURRENCY_SYMBOLS = UBlockCode.CURRENCY_SYMBOLS; pub const UBLOCK_COMBINING_MARKS_FOR_SYMBOLS = UBlockCode.COMBINING_MARKS_FOR_SYMBOLS; pub const UBLOCK_LETTERLIKE_SYMBOLS = UBlockCode.LETTERLIKE_SYMBOLS; pub const UBLOCK_NUMBER_FORMS = UBlockCode.NUMBER_FORMS; pub const UBLOCK_ARROWS = UBlockCode.ARROWS; pub const UBLOCK_MATHEMATICAL_OPERATORS = UBlockCode.MATHEMATICAL_OPERATORS; pub const UBLOCK_MISCELLANEOUS_TECHNICAL = UBlockCode.MISCELLANEOUS_TECHNICAL; pub const UBLOCK_CONTROL_PICTURES = UBlockCode.CONTROL_PICTURES; pub const UBLOCK_OPTICAL_CHARACTER_RECOGNITION = UBlockCode.OPTICAL_CHARACTER_RECOGNITION; pub const UBLOCK_ENCLOSED_ALPHANUMERICS = UBlockCode.ENCLOSED_ALPHANUMERICS; pub const UBLOCK_BOX_DRAWING = UBlockCode.BOX_DRAWING; pub const UBLOCK_BLOCK_ELEMENTS = UBlockCode.BLOCK_ELEMENTS; pub const UBLOCK_GEOMETRIC_SHAPES = UBlockCode.GEOMETRIC_SHAPES; pub const UBLOCK_MISCELLANEOUS_SYMBOLS = UBlockCode.MISCELLANEOUS_SYMBOLS; pub const UBLOCK_DINGBATS = UBlockCode.DINGBATS; pub const UBLOCK_BRAILLE_PATTERNS = UBlockCode.BRAILLE_PATTERNS; pub const UBLOCK_CJK_RADICALS_SUPPLEMENT = UBlockCode.CJK_RADICALS_SUPPLEMENT; pub const UBLOCK_KANGXI_RADICALS = UBlockCode.KANGXI_RADICALS; pub const UBLOCK_IDEOGRAPHIC_DESCRIPTION_CHARACTERS = UBlockCode.IDEOGRAPHIC_DESCRIPTION_CHARACTERS; pub const UBLOCK_CJK_SYMBOLS_AND_PUNCTUATION = UBlockCode.CJK_SYMBOLS_AND_PUNCTUATION; pub const UBLOCK_HIRAGANA = UBlockCode.HIRAGANA; pub const UBLOCK_KATAKANA = UBlockCode.KATAKANA; pub const UBLOCK_BOPOMOFO = UBlockCode.BOPOMOFO; pub const UBLOCK_HANGUL_COMPATIBILITY_JAMO = UBlockCode.HANGUL_COMPATIBILITY_JAMO; pub const UBLOCK_KANBUN = UBlockCode.KANBUN; pub const UBLOCK_BOPOMOFO_EXTENDED = UBlockCode.BOPOMOFO_EXTENDED; pub const UBLOCK_ENCLOSED_CJK_LETTERS_AND_MONTHS = UBlockCode.ENCLOSED_CJK_LETTERS_AND_MONTHS; pub const UBLOCK_CJK_COMPATIBILITY = UBlockCode.CJK_COMPATIBILITY; pub const UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A = UBlockCode.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A; pub const UBLOCK_CJK_UNIFIED_IDEOGRAPHS = UBlockCode.CJK_UNIFIED_IDEOGRAPHS; pub const UBLOCK_YI_SYLLABLES = UBlockCode.YI_SYLLABLES; pub const UBLOCK_YI_RADICALS = UBlockCode.YI_RADICALS; pub const UBLOCK_HANGUL_SYLLABLES = UBlockCode.HANGUL_SYLLABLES; pub const UBLOCK_HIGH_SURROGATES = UBlockCode.HIGH_SURROGATES; pub const UBLOCK_HIGH_PRIVATE_USE_SURROGATES = UBlockCode.HIGH_PRIVATE_USE_SURROGATES; pub const UBLOCK_LOW_SURROGATES = UBlockCode.LOW_SURROGATES; pub const UBLOCK_PRIVATE_USE_AREA = UBlockCode.PRIVATE_USE_AREA; pub const UBLOCK_PRIVATE_USE = UBlockCode.PRIVATE_USE_AREA; pub const UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS = UBlockCode.CJK_COMPATIBILITY_IDEOGRAPHS; pub const UBLOCK_ALPHABETIC_PRESENTATION_FORMS = UBlockCode.ALPHABETIC_PRESENTATION_FORMS; pub const UBLOCK_ARABIC_PRESENTATION_FORMS_A = UBlockCode.ARABIC_PRESENTATION_FORMS_A; pub const UBLOCK_COMBINING_HALF_MARKS = UBlockCode.COMBINING_HALF_MARKS; pub const UBLOCK_CJK_COMPATIBILITY_FORMS = UBlockCode.CJK_COMPATIBILITY_FORMS; pub const UBLOCK_SMALL_FORM_VARIANTS = UBlockCode.SMALL_FORM_VARIANTS; pub const UBLOCK_ARABIC_PRESENTATION_FORMS_B = UBlockCode.ARABIC_PRESENTATION_FORMS_B; pub const UBLOCK_SPECIALS = UBlockCode.SPECIALS; pub const UBLOCK_HALFWIDTH_AND_FULLWIDTH_FORMS = UBlockCode.HALFWIDTH_AND_FULLWIDTH_FORMS; pub const UBLOCK_OLD_ITALIC = UBlockCode.OLD_ITALIC; pub const UBLOCK_GOTHIC = UBlockCode.GOTHIC; pub const UBLOCK_DESERET = UBlockCode.DESERET; pub const UBLOCK_BYZANTINE_MUSICAL_SYMBOLS = UBlockCode.BYZANTINE_MUSICAL_SYMBOLS; pub const UBLOCK_MUSICAL_SYMBOLS = UBlockCode.MUSICAL_SYMBOLS; pub const UBLOCK_MATHEMATICAL_ALPHANUMERIC_SYMBOLS = UBlockCode.MATHEMATICAL_ALPHANUMERIC_SYMBOLS; pub const UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B = UBlockCode.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B; pub const UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT = UBlockCode.CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT; pub const UBLOCK_TAGS = UBlockCode.TAGS; pub const UBLOCK_CYRILLIC_SUPPLEMENT = UBlockCode.CYRILLIC_SUPPLEMENT; pub const UBLOCK_CYRILLIC_SUPPLEMENTARY = UBlockCode.CYRILLIC_SUPPLEMENT; pub const UBLOCK_TAGALOG = UBlockCode.TAGALOG; pub const UBLOCK_HANUNOO = UBlockCode.HANUNOO; pub const UBLOCK_BUHID = UBlockCode.BUHID; pub const UBLOCK_TAGBANWA = UBlockCode.TAGBANWA; pub const UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A = UBlockCode.MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A; pub const UBLOCK_SUPPLEMENTAL_ARROWS_A = UBlockCode.SUPPLEMENTAL_ARROWS_A; pub const UBLOCK_SUPPLEMENTAL_ARROWS_B = UBlockCode.SUPPLEMENTAL_ARROWS_B; pub const UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B = UBlockCode.MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B; pub const UBLOCK_SUPPLEMENTAL_MATHEMATICAL_OPERATORS = UBlockCode.SUPPLEMENTAL_MATHEMATICAL_OPERATORS; pub const UBLOCK_KATAKANA_PHONETIC_EXTENSIONS = UBlockCode.KATAKANA_PHONETIC_EXTENSIONS; pub const UBLOCK_VARIATION_SELECTORS = UBlockCode.VARIATION_SELECTORS; pub const UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_A = UBlockCode.SUPPLEMENTARY_PRIVATE_USE_AREA_A; pub const UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_B = UBlockCode.SUPPLEMENTARY_PRIVATE_USE_AREA_B; pub const UBLOCK_LIMBU = UBlockCode.LIMBU; pub const UBLOCK_TAI_LE = UBlockCode.TAI_LE; pub const UBLOCK_KHMER_SYMBOLS = UBlockCode.KHMER_SYMBOLS; pub const UBLOCK_PHONETIC_EXTENSIONS = UBlockCode.PHONETIC_EXTENSIONS; pub const UBLOCK_MISCELLANEOUS_SYMBOLS_AND_ARROWS = UBlockCode.MISCELLANEOUS_SYMBOLS_AND_ARROWS; pub const UBLOCK_YIJING_HEXAGRAM_SYMBOLS = UBlockCode.YIJING_HEXAGRAM_SYMBOLS; pub const UBLOCK_LINEAR_B_SYLLABARY = UBlockCode.LINEAR_B_SYLLABARY; pub const UBLOCK_LINEAR_B_IDEOGRAMS = UBlockCode.LINEAR_B_IDEOGRAMS; pub const UBLOCK_AEGEAN_NUMBERS = UBlockCode.AEGEAN_NUMBERS; pub const UBLOCK_UGARITIC = UBlockCode.UGARITIC; pub const UBLOCK_SHAVIAN = UBlockCode.SHAVIAN; pub const UBLOCK_OSMANYA = UBlockCode.OSMANYA; pub const UBLOCK_CYPRIOT_SYLLABARY = UBlockCode.CYPRIOT_SYLLABARY; pub const UBLOCK_TAI_XUAN_JING_SYMBOLS = UBlockCode.TAI_XUAN_JING_SYMBOLS; pub const UBLOCK_VARIATION_SELECTORS_SUPPLEMENT = UBlockCode.VARIATION_SELECTORS_SUPPLEMENT; pub const UBLOCK_ANCIENT_GREEK_MUSICAL_NOTATION = UBlockCode.ANCIENT_GREEK_MUSICAL_NOTATION; pub const UBLOCK_ANCIENT_GREEK_NUMBERS = UBlockCode.ANCIENT_GREEK_NUMBERS; pub const UBLOCK_ARABIC_SUPPLEMENT = UBlockCode.ARABIC_SUPPLEMENT; pub const UBLOCK_BUGINESE = UBlockCode.BUGINESE; pub const UBLOCK_CJK_STROKES = UBlockCode.CJK_STROKES; pub const UBLOCK_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT = UBlockCode.COMBINING_DIACRITICAL_MARKS_SUPPLEMENT; pub const UBLOCK_COPTIC = UBlockCode.COPTIC; pub const UBLOCK_ETHIOPIC_EXTENDED = UBlockCode.ETHIOPIC_EXTENDED; pub const UBLOCK_ETHIOPIC_SUPPLEMENT = UBlockCode.ETHIOPIC_SUPPLEMENT; pub const UBLOCK_GEORGIAN_SUPPLEMENT = UBlockCode.GEORGIAN_SUPPLEMENT; pub const UBLOCK_GLAGOLITIC = UBlockCode.GLAGOLITIC; pub const UBLOCK_KHAROSHTHI = UBlockCode.KHAROSHTHI; pub const UBLOCK_MODIFIER_TONE_LETTERS = UBlockCode.MODIFIER_TONE_LETTERS; pub const UBLOCK_NEW_TAI_LUE = UBlockCode.NEW_TAI_LUE; pub const UBLOCK_OLD_PERSIAN = UBlockCode.OLD_PERSIAN; pub const UBLOCK_PHONETIC_EXTENSIONS_SUPPLEMENT = UBlockCode.PHONETIC_EXTENSIONS_SUPPLEMENT; pub const UBLOCK_SUPPLEMENTAL_PUNCTUATION = UBlockCode.SUPPLEMENTAL_PUNCTUATION; pub const UBLOCK_SYLOTI_NAGRI = UBlockCode.SYLOTI_NAGRI; pub const UBLOCK_TIFINAGH = UBlockCode.TIFINAGH; pub const UBLOCK_VERTICAL_FORMS = UBlockCode.VERTICAL_FORMS; pub const UBLOCK_NKO = UBlockCode.NKO; pub const UBLOCK_BALINESE = UBlockCode.BALINESE; pub const UBLOCK_LATIN_EXTENDED_C = UBlockCode.LATIN_EXTENDED_C; pub const UBLOCK_LATIN_EXTENDED_D = UBlockCode.LATIN_EXTENDED_D; pub const UBLOCK_PHAGS_PA = UBlockCode.PHAGS_PA; pub const UBLOCK_PHOENICIAN = UBlockCode.PHOENICIAN; pub const UBLOCK_CUNEIFORM = UBlockCode.CUNEIFORM; pub const UBLOCK_CUNEIFORM_NUMBERS_AND_PUNCTUATION = UBlockCode.CUNEIFORM_NUMBERS_AND_PUNCTUATION; pub const UBLOCK_COUNTING_ROD_NUMERALS = UBlockCode.COUNTING_ROD_NUMERALS; pub const UBLOCK_SUNDANESE = UBlockCode.SUNDANESE; pub const UBLOCK_LEPCHA = UBlockCode.LEPCHA; pub const UBLOCK_OL_CHIKI = UBlockCode.OL_CHIKI; pub const UBLOCK_CYRILLIC_EXTENDED_A = UBlockCode.CYRILLIC_EXTENDED_A; pub const UBLOCK_VAI = UBlockCode.VAI; pub const UBLOCK_CYRILLIC_EXTENDED_B = UBlockCode.CYRILLIC_EXTENDED_B; pub const UBLOCK_SAURASHTRA = UBlockCode.SAURASHTRA; pub const UBLOCK_KAYAH_LI = UBlockCode.KAYAH_LI; pub const UBLOCK_REJANG = UBlockCode.REJANG; pub const UBLOCK_CHAM = UBlockCode.CHAM; pub const UBLOCK_ANCIENT_SYMBOLS = UBlockCode.ANCIENT_SYMBOLS; pub const UBLOCK_PHAISTOS_DISC = UBlockCode.PHAISTOS_DISC; pub const UBLOCK_LYCIAN = UBlockCode.LYCIAN; pub const UBLOCK_CARIAN = UBlockCode.CARIAN; pub const UBLOCK_LYDIAN = UBlockCode.LYDIAN; pub const UBLOCK_MAHJONG_TILES = UBlockCode.MAHJONG_TILES; pub const UBLOCK_DOMINO_TILES = UBlockCode.DOMINO_TILES; pub const UBLOCK_SAMARITAN = UBlockCode.SAMARITAN; pub const UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED = UBlockCode.UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED; pub const UBLOCK_TAI_THAM = UBlockCode.TAI_THAM; pub const UBLOCK_VEDIC_EXTENSIONS = UBlockCode.VEDIC_EXTENSIONS; pub const UBLOCK_LISU = UBlockCode.LISU; pub const UBLOCK_BAMUM = UBlockCode.BAMUM; pub const UBLOCK_COMMON_INDIC_NUMBER_FORMS = UBlockCode.COMMON_INDIC_NUMBER_FORMS; pub const UBLOCK_DEVANAGARI_EXTENDED = UBlockCode.DEVANAGARI_EXTENDED; pub const UBLOCK_HANGUL_JAMO_EXTENDED_A = UBlockCode.HANGUL_JAMO_EXTENDED_A; pub const UBLOCK_JAVANESE = UBlockCode.JAVANESE; pub const UBLOCK_MYANMAR_EXTENDED_A = UBlockCode.MYANMAR_EXTENDED_A; pub const UBLOCK_TAI_VIET = UBlockCode.TAI_VIET; pub const UBLOCK_MEETEI_MAYEK = UBlockCode.MEETEI_MAYEK; pub const UBLOCK_HANGUL_JAMO_EXTENDED_B = UBlockCode.HANGUL_JAMO_EXTENDED_B; pub const UBLOCK_IMPERIAL_ARAMAIC = UBlockCode.IMPERIAL_ARAMAIC; pub const UBLOCK_OLD_SOUTH_ARABIAN = UBlockCode.OLD_SOUTH_ARABIAN; pub const UBLOCK_AVESTAN = UBlockCode.AVESTAN; pub const UBLOCK_INSCRIPTIONAL_PARTHIAN = UBlockCode.INSCRIPTIONAL_PARTHIAN; pub const UBLOCK_INSCRIPTIONAL_PAHLAVI = UBlockCode.INSCRIPTIONAL_PAHLAVI; pub const UBLOCK_OLD_TURKIC = UBlockCode.OLD_TURKIC; pub const UBLOCK_RUMI_NUMERAL_SYMBOLS = UBlockCode.RUMI_NUMERAL_SYMBOLS; pub const UBLOCK_KAITHI = UBlockCode.KAITHI; pub const UBLOCK_EGYPTIAN_HIEROGLYPHS = UBlockCode.EGYPTIAN_HIEROGLYPHS; pub const UBLOCK_ENCLOSED_ALPHANUMERIC_SUPPLEMENT = UBlockCode.ENCLOSED_ALPHANUMERIC_SUPPLEMENT; pub const UBLOCK_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT = UBlockCode.ENCLOSED_IDEOGRAPHIC_SUPPLEMENT; pub const UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C = UBlockCode.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C; pub const UBLOCK_MANDAIC = UBlockCode.MANDAIC; pub const UBLOCK_BATAK = UBlockCode.BATAK; pub const UBLOCK_ETHIOPIC_EXTENDED_A = UBlockCode.ETHIOPIC_EXTENDED_A; pub const UBLOCK_BRAHMI = UBlockCode.BRAHMI; pub const UBLOCK_BAMUM_SUPPLEMENT = UBlockCode.BAMUM_SUPPLEMENT; pub const UBLOCK_KANA_SUPPLEMENT = UBlockCode.KANA_SUPPLEMENT; pub const UBLOCK_PLAYING_CARDS = UBlockCode.PLAYING_CARDS; pub const UBLOCK_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS = UBlockCode.MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS; pub const UBLOCK_EMOTICONS = UBlockCode.EMOTICONS; pub const UBLOCK_TRANSPORT_AND_MAP_SYMBOLS = UBlockCode.TRANSPORT_AND_MAP_SYMBOLS; pub const UBLOCK_ALCHEMICAL_SYMBOLS = UBlockCode.ALCHEMICAL_SYMBOLS; pub const UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D = UBlockCode.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D; pub const UBLOCK_ARABIC_EXTENDED_A = UBlockCode.ARABIC_EXTENDED_A; pub const UBLOCK_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS = UBlockCode.ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS; pub const UBLOCK_CHAKMA = UBlockCode.CHAKMA; pub const UBLOCK_MEETEI_MAYEK_EXTENSIONS = UBlockCode.MEETEI_MAYEK_EXTENSIONS; pub const UBLOCK_MEROITIC_CURSIVE = UBlockCode.MEROITIC_CURSIVE; pub const UBLOCK_MEROITIC_HIEROGLYPHS = UBlockCode.MEROITIC_HIEROGLYPHS; pub const UBLOCK_MIAO = UBlockCode.MIAO; pub const UBLOCK_SHARADA = UBlockCode.SHARADA; pub const UBLOCK_SORA_SOMPENG = UBlockCode.SORA_SOMPENG; pub const UBLOCK_SUNDANESE_SUPPLEMENT = UBlockCode.SUNDANESE_SUPPLEMENT; pub const UBLOCK_TAKRI = UBlockCode.TAKRI; pub const UBLOCK_BASSA_VAH = UBlockCode.BASSA_VAH; pub const UBLOCK_CAUCASIAN_ALBANIAN = UBlockCode.CAUCASIAN_ALBANIAN; pub const UBLOCK_COPTIC_EPACT_NUMBERS = UBlockCode.COPTIC_EPACT_NUMBERS; pub const UBLOCK_COMBINING_DIACRITICAL_MARKS_EXTENDED = UBlockCode.COMBINING_DIACRITICAL_MARKS_EXTENDED; pub const UBLOCK_DUPLOYAN = UBlockCode.DUPLOYAN; pub const UBLOCK_ELBASAN = UBlockCode.ELBASAN; pub const UBLOCK_GEOMETRIC_SHAPES_EXTENDED = UBlockCode.GEOMETRIC_SHAPES_EXTENDED; pub const UBLOCK_GRANTHA = UBlockCode.GRANTHA; pub const UBLOCK_KHOJKI = UBlockCode.KHOJKI; pub const UBLOCK_KHUDAWADI = UBlockCode.KHUDAWADI; pub const UBLOCK_LATIN_EXTENDED_E = UBlockCode.LATIN_EXTENDED_E; pub const UBLOCK_LINEAR_A = UBlockCode.LINEAR_A; pub const UBLOCK_MAHAJANI = UBlockCode.MAHAJANI; pub const UBLOCK_MANICHAEAN = UBlockCode.MANICHAEAN; pub const UBLOCK_MENDE_KIKAKUI = UBlockCode.MENDE_KIKAKUI; pub const UBLOCK_MODI = UBlockCode.MODI; pub const UBLOCK_MRO = UBlockCode.MRO; pub const UBLOCK_MYANMAR_EXTENDED_B = UBlockCode.MYANMAR_EXTENDED_B; pub const UBLOCK_NABATAEAN = UBlockCode.NABATAEAN; pub const UBLOCK_OLD_NORTH_ARABIAN = UBlockCode.OLD_NORTH_ARABIAN; pub const UBLOCK_OLD_PERMIC = UBlockCode.OLD_PERMIC; pub const UBLOCK_ORNAMENTAL_DINGBATS = UBlockCode.ORNAMENTAL_DINGBATS; pub const UBLOCK_PAHAWH_HMONG = UBlockCode.PAHAWH_HMONG; pub const UBLOCK_PALMYRENE = UBlockCode.PALMYRENE; pub const UBLOCK_PAU_CIN_HAU = UBlockCode.PAU_CIN_HAU; pub const UBLOCK_PSALTER_PAHLAVI = UBlockCode.PSALTER_PAHLAVI; pub const UBLOCK_SHORTHAND_FORMAT_CONTROLS = UBlockCode.SHORTHAND_FORMAT_CONTROLS; pub const UBLOCK_SIDDHAM = UBlockCode.SIDDHAM; pub const UBLOCK_SINHALA_ARCHAIC_NUMBERS = UBlockCode.SINHALA_ARCHAIC_NUMBERS; pub const UBLOCK_SUPPLEMENTAL_ARROWS_C = UBlockCode.SUPPLEMENTAL_ARROWS_C; pub const UBLOCK_TIRHUTA = UBlockCode.TIRHUTA; pub const UBLOCK_WARANG_CITI = UBlockCode.WARANG_CITI; pub const UBLOCK_AHOM = UBlockCode.AHOM; pub const UBLOCK_ANATOLIAN_HIEROGLYPHS = UBlockCode.ANATOLIAN_HIEROGLYPHS; pub const UBLOCK_CHEROKEE_SUPPLEMENT = UBlockCode.CHEROKEE_SUPPLEMENT; pub const UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E = UBlockCode.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E; pub const UBLOCK_EARLY_DYNASTIC_CUNEIFORM = UBlockCode.EARLY_DYNASTIC_CUNEIFORM; pub const UBLOCK_HATRAN = UBlockCode.HATRAN; pub const UBLOCK_MULTANI = UBlockCode.MULTANI; pub const UBLOCK_OLD_HUNGARIAN = UBlockCode.OLD_HUNGARIAN; pub const UBLOCK_SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS = UBlockCode.SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS; pub const UBLOCK_SUTTON_SIGNWRITING = UBlockCode.SUTTON_SIGNWRITING; pub const UBLOCK_ADLAM = UBlockCode.ADLAM; pub const UBLOCK_BHAIKSUKI = UBlockCode.BHAIKSUKI; pub const UBLOCK_CYRILLIC_EXTENDED_C = UBlockCode.CYRILLIC_EXTENDED_C; pub const UBLOCK_GLAGOLITIC_SUPPLEMENT = UBlockCode.GLAGOLITIC_SUPPLEMENT; pub const UBLOCK_IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION = UBlockCode.IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION; pub const UBLOCK_MARCHEN = UBlockCode.MARCHEN; pub const UBLOCK_MONGOLIAN_SUPPLEMENT = UBlockCode.MONGOLIAN_SUPPLEMENT; pub const UBLOCK_NEWA = UBlockCode.NEWA; pub const UBLOCK_OSAGE = UBlockCode.OSAGE; pub const UBLOCK_TANGUT = UBlockCode.TANGUT; pub const UBLOCK_TANGUT_COMPONENTS = UBlockCode.TANGUT_COMPONENTS; pub const UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F = UBlockCode.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F; pub const UBLOCK_KANA_EXTENDED_A = UBlockCode.KANA_EXTENDED_A; pub const UBLOCK_MASARAM_GONDI = UBlockCode.MASARAM_GONDI; pub const UBLOCK_NUSHU = UBlockCode.NUSHU; pub const UBLOCK_SOYOMBO = UBlockCode.SOYOMBO; pub const UBLOCK_SYRIAC_SUPPLEMENT = UBlockCode.SYRIAC_SUPPLEMENT; pub const UBLOCK_ZANABAZAR_SQUARE = UBlockCode.ZANABAZAR_SQUARE; pub const UBLOCK_CHESS_SYMBOLS = UBlockCode.CHESS_SYMBOLS; pub const UBLOCK_DOGRA = UBlockCode.DOGRA; pub const UBLOCK_GEORGIAN_EXTENDED = UBlockCode.GEORGIAN_EXTENDED; pub const UBLOCK_GUNJALA_GONDI = UBlockCode.GUNJALA_GONDI; pub const UBLOCK_HANIFI_ROHINGYA = UBlockCode.HANIFI_ROHINGYA; pub const UBLOCK_INDIC_SIYAQ_NUMBERS = UBlockCode.INDIC_SIYAQ_NUMBERS; pub const UBLOCK_MAKASAR = UBlockCode.MAKASAR; pub const UBLOCK_MAYAN_NUMERALS = UBlockCode.MAYAN_NUMERALS; pub const UBLOCK_MEDEFAIDRIN = UBlockCode.MEDEFAIDRIN; pub const UBLOCK_OLD_SOGDIAN = UBlockCode.OLD_SOGDIAN; pub const UBLOCK_SOGDIAN = UBlockCode.SOGDIAN; pub const UBLOCK_EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS = UBlockCode.EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS; pub const UBLOCK_ELYMAIC = UBlockCode.ELYMAIC; pub const UBLOCK_NANDINAGARI = UBlockCode.NANDINAGARI; pub const UBLOCK_NYIAKENG_PUACHUE_HMONG = UBlockCode.NYIAKENG_PUACHUE_HMONG; pub const UBLOCK_OTTOMAN_SIYAQ_NUMBERS = UBlockCode.OTTOMAN_SIYAQ_NUMBERS; pub const UBLOCK_SMALL_KANA_EXTENSION = UBlockCode.SMALL_KANA_EXTENSION; pub const UBLOCK_SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A = UBlockCode.SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A; pub const UBLOCK_TAMIL_SUPPLEMENT = UBlockCode.TAMIL_SUPPLEMENT; pub const UBLOCK_WANCHO = UBlockCode.WANCHO; pub const UBLOCK_CHORASMIAN = UBlockCode.CHORASMIAN; pub const UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G = UBlockCode.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G; pub const UBLOCK_DIVES_AKURU = UBlockCode.DIVES_AKURU; pub const UBLOCK_KHITAN_SMALL_SCRIPT = UBlockCode.KHITAN_SMALL_SCRIPT; pub const UBLOCK_LISU_SUPPLEMENT = UBlockCode.LISU_SUPPLEMENT; pub const UBLOCK_SYMBOLS_FOR_LEGACY_COMPUTING = UBlockCode.SYMBOLS_FOR_LEGACY_COMPUTING; pub const UBLOCK_TANGUT_SUPPLEMENT = UBlockCode.TANGUT_SUPPLEMENT; pub const UBLOCK_YEZIDI = UBlockCode.YEZIDI; pub const UBLOCK_INVALID_CODE = UBlockCode.INVALID_CODE; pub const UEastAsianWidth = enum(i32) { NEUTRAL = 0, AMBIGUOUS = 1, HALFWIDTH = 2, FULLWIDTH = 3, NARROW = 4, WIDE = 5, }; pub const U_EA_NEUTRAL = UEastAsianWidth.NEUTRAL; pub const U_EA_AMBIGUOUS = UEastAsianWidth.AMBIGUOUS; pub const U_EA_HALFWIDTH = UEastAsianWidth.HALFWIDTH; pub const U_EA_FULLWIDTH = UEastAsianWidth.FULLWIDTH; pub const U_EA_NARROW = UEastAsianWidth.NARROW; pub const U_EA_WIDE = UEastAsianWidth.WIDE; pub const UCharNameChoice = enum(i32) { UNICODE_CHAR_NAME = 0, EXTENDED_CHAR_NAME = 2, CHAR_NAME_ALIAS = 3, }; pub const U_UNICODE_CHAR_NAME = UCharNameChoice.UNICODE_CHAR_NAME; pub const U_EXTENDED_CHAR_NAME = UCharNameChoice.EXTENDED_CHAR_NAME; pub const U_CHAR_NAME_ALIAS = UCharNameChoice.CHAR_NAME_ALIAS; pub const UPropertyNameChoice = enum(i32) { SHORT_PROPERTY_NAME = 0, LONG_PROPERTY_NAME = 1, }; pub const U_SHORT_PROPERTY_NAME = UPropertyNameChoice.SHORT_PROPERTY_NAME; pub const U_LONG_PROPERTY_NAME = UPropertyNameChoice.LONG_PROPERTY_NAME; pub const UDecompositionType = enum(i32) { NONE = 0, CANONICAL = 1, COMPAT = 2, CIRCLE = 3, FINAL = 4, FONT = 5, FRACTION = 6, INITIAL = 7, ISOLATED = 8, MEDIAL = 9, NARROW = 10, NOBREAK = 11, SMALL = 12, SQUARE = 13, SUB = 14, SUPER = 15, VERTICAL = 16, WIDE = 17, }; pub const U_DT_NONE = UDecompositionType.NONE; pub const U_DT_CANONICAL = UDecompositionType.CANONICAL; pub const U_DT_COMPAT = UDecompositionType.COMPAT; pub const U_DT_CIRCLE = UDecompositionType.CIRCLE; pub const U_DT_FINAL = UDecompositionType.FINAL; pub const U_DT_FONT = UDecompositionType.FONT; pub const U_DT_FRACTION = UDecompositionType.FRACTION; pub const U_DT_INITIAL = UDecompositionType.INITIAL; pub const U_DT_ISOLATED = UDecompositionType.ISOLATED; pub const U_DT_MEDIAL = UDecompositionType.MEDIAL; pub const U_DT_NARROW = UDecompositionType.NARROW; pub const U_DT_NOBREAK = UDecompositionType.NOBREAK; pub const U_DT_SMALL = UDecompositionType.SMALL; pub const U_DT_SQUARE = UDecompositionType.SQUARE; pub const U_DT_SUB = UDecompositionType.SUB; pub const U_DT_SUPER = UDecompositionType.SUPER; pub const U_DT_VERTICAL = UDecompositionType.VERTICAL; pub const U_DT_WIDE = UDecompositionType.WIDE; pub const UJoiningType = enum(i32) { NON_JOINING = 0, JOIN_CAUSING = 1, DUAL_JOINING = 2, LEFT_JOINING = 3, RIGHT_JOINING = 4, TRANSPARENT = 5, }; pub const U_JT_NON_JOINING = UJoiningType.NON_JOINING; pub const U_JT_JOIN_CAUSING = UJoiningType.JOIN_CAUSING; pub const U_JT_DUAL_JOINING = UJoiningType.DUAL_JOINING; pub const U_JT_LEFT_JOINING = UJoiningType.LEFT_JOINING; pub const U_JT_RIGHT_JOINING = UJoiningType.RIGHT_JOINING; pub const U_JT_TRANSPARENT = UJoiningType.TRANSPARENT; pub const UJoiningGroup = enum(i32) { NO_JOINING_GROUP = 0, AIN = 1, ALAPH = 2, ALEF = 3, BEH = 4, BETH = 5, DAL = 6, DALATH_RISH = 7, E = 8, FEH = 9, FINAL_SEMKATH = 10, GAF = 11, GAMAL = 12, HAH = 13, TEH_MARBUTA_GOAL = 14, // HAMZA_ON_HEH_GOAL = 14, this enum value conflicts with TEH_MARBUTA_GOAL HE = 15, HEH = 16, HEH_GOAL = 17, HETH = 18, KAF = 19, KAPH = 20, KNOTTED_HEH = 21, LAM = 22, LAMADH = 23, MEEM = 24, MIM = 25, NOON = 26, NUN = 27, PE = 28, QAF = 29, QAPH = 30, REH = 31, REVERSED_PE = 32, SAD = 33, SADHE = 34, SEEN = 35, SEMKATH = 36, SHIN = 37, SWASH_KAF = 38, SYRIAC_WAW = 39, TAH = 40, TAW = 41, TEH_MARBUTA = 42, TETH = 43, WAW = 44, YEH = 45, YEH_BARREE = 46, YEH_WITH_TAIL = 47, YUDH = 48, YUDH_HE = 49, ZAIN = 50, FE = 51, KHAPH = 52, ZHAIN = 53, BURUSHASKI_YEH_BARREE = 54, FARSI_YEH = 55, NYA = 56, ROHINGYA_YEH = 57, MANICHAEAN_ALEPH = 58, MANICHAEAN_AYIN = 59, MANICHAEAN_BETH = 60, MANICHAEAN_DALETH = 61, MANICHAEAN_DHAMEDH = 62, MANICHAEAN_FIVE = 63, MANICHAEAN_GIMEL = 64, MANICHAEAN_HETH = 65, MANICHAEAN_HUNDRED = 66, MANICHAEAN_KAPH = 67, MANICHAEAN_LAMEDH = 68, MANICHAEAN_MEM = 69, MANICHAEAN_NUN = 70, MANICHAEAN_ONE = 71, MANICHAEAN_PE = 72, MANICHAEAN_QOPH = 73, MANICHAEAN_RESH = 74, MANICHAEAN_SADHE = 75, MANICHAEAN_SAMEKH = 76, MANICHAEAN_TAW = 77, MANICHAEAN_TEN = 78, MANICHAEAN_TETH = 79, MANICHAEAN_THAMEDH = 80, MANICHAEAN_TWENTY = 81, MANICHAEAN_WAW = 82, MANICHAEAN_YODH = 83, MANICHAEAN_ZAYIN = 84, STRAIGHT_WAW = 85, AFRICAN_FEH = 86, AFRICAN_NOON = 87, AFRICAN_QAF = 88, MALAYALAM_BHA = 89, MALAYALAM_JA = 90, MALAYALAM_LLA = 91, MALAYALAM_LLLA = 92, MALAYALAM_NGA = 93, MALAYALAM_NNA = 94, MALAYALAM_NNNA = 95, MALAYALAM_NYA = 96, MALAYALAM_RA = 97, MALAYALAM_SSA = 98, MALAYALAM_TTA = 99, HANIFI_ROHINGYA_KINNA_YA = 100, HANIFI_ROHINGYA_PA = 101, }; pub const U_JG_NO_JOINING_GROUP = UJoiningGroup.NO_JOINING_GROUP; pub const U_JG_AIN = UJoiningGroup.AIN; pub const U_JG_ALAPH = UJoiningGroup.ALAPH; pub const U_JG_ALEF = UJoiningGroup.ALEF; pub const U_JG_BEH = UJoiningGroup.BEH; pub const U_JG_BETH = UJoiningGroup.BETH; pub const U_JG_DAL = UJoiningGroup.DAL; pub const U_JG_DALATH_RISH = UJoiningGroup.DALATH_RISH; pub const U_JG_E = UJoiningGroup.E; pub const U_JG_FEH = UJoiningGroup.FEH; pub const U_JG_FINAL_SEMKATH = UJoiningGroup.FINAL_SEMKATH; pub const U_JG_GAF = UJoiningGroup.GAF; pub const U_JG_GAMAL = UJoiningGroup.GAMAL; pub const U_JG_HAH = UJoiningGroup.HAH; pub const U_JG_TEH_MARBUTA_GOAL = UJoiningGroup.TEH_MARBUTA_GOAL; pub const U_JG_HAMZA_ON_HEH_GOAL = UJoiningGroup.TEH_MARBUTA_GOAL; pub const U_JG_HE = UJoiningGroup.HE; pub const U_JG_HEH = UJoiningGroup.HEH; pub const U_JG_HEH_GOAL = UJoiningGroup.HEH_GOAL; pub const U_JG_HETH = UJoiningGroup.HETH; pub const U_JG_KAF = UJoiningGroup.KAF; pub const U_JG_KAPH = UJoiningGroup.KAPH; pub const U_JG_KNOTTED_HEH = UJoiningGroup.KNOTTED_HEH; pub const U_JG_LAM = UJoiningGroup.LAM; pub const U_JG_LAMADH = UJoiningGroup.LAMADH; pub const U_JG_MEEM = UJoiningGroup.MEEM; pub const U_JG_MIM = UJoiningGroup.MIM; pub const U_JG_NOON = UJoiningGroup.NOON; pub const U_JG_NUN = UJoiningGroup.NUN; pub const U_JG_PE = UJoiningGroup.PE; pub const U_JG_QAF = UJoiningGroup.QAF; pub const U_JG_QAPH = UJoiningGroup.QAPH; pub const U_JG_REH = UJoiningGroup.REH; pub const U_JG_REVERSED_PE = UJoiningGroup.REVERSED_PE; pub const U_JG_SAD = UJoiningGroup.SAD; pub const U_JG_SADHE = UJoiningGroup.SADHE; pub const U_JG_SEEN = UJoiningGroup.SEEN; pub const U_JG_SEMKATH = UJoiningGroup.SEMKATH; pub const U_JG_SHIN = UJoiningGroup.SHIN; pub const U_JG_SWASH_KAF = UJoiningGroup.SWASH_KAF; pub const U_JG_SYRIAC_WAW = UJoiningGroup.SYRIAC_WAW; pub const U_JG_TAH = UJoiningGroup.TAH; pub const U_JG_TAW = UJoiningGroup.TAW; pub const U_JG_TEH_MARBUTA = UJoiningGroup.TEH_MARBUTA; pub const U_JG_TETH = UJoiningGroup.TETH; pub const U_JG_WAW = UJoiningGroup.WAW; pub const U_JG_YEH = UJoiningGroup.YEH; pub const U_JG_YEH_BARREE = UJoiningGroup.YEH_BARREE; pub const U_JG_YEH_WITH_TAIL = UJoiningGroup.YEH_WITH_TAIL; pub const U_JG_YUDH = UJoiningGroup.YUDH; pub const U_JG_YUDH_HE = UJoiningGroup.YUDH_HE; pub const U_JG_ZAIN = UJoiningGroup.ZAIN; pub const U_JG_FE = UJoiningGroup.FE; pub const U_JG_KHAPH = UJoiningGroup.KHAPH; pub const U_JG_ZHAIN = UJoiningGroup.ZHAIN; pub const U_JG_BURUSHASKI_YEH_BARREE = UJoiningGroup.BURUSHASKI_YEH_BARREE; pub const U_JG_FARSI_YEH = UJoiningGroup.FARSI_YEH; pub const U_JG_NYA = UJoiningGroup.NYA; pub const U_JG_ROHINGYA_YEH = UJoiningGroup.ROHINGYA_YEH; pub const U_JG_MANICHAEAN_ALEPH = UJoiningGroup.MANICHAEAN_ALEPH; pub const U_JG_MANICHAEAN_AYIN = UJoiningGroup.MANICHAEAN_AYIN; pub const U_JG_MANICHAEAN_BETH = UJoiningGroup.MANICHAEAN_BETH; pub const U_JG_MANICHAEAN_DALETH = UJoiningGroup.MANICHAEAN_DALETH; pub const U_JG_MANICHAEAN_DHAMEDH = UJoiningGroup.MANICHAEAN_DHAMEDH; pub const U_JG_MANICHAEAN_FIVE = UJoiningGroup.MANICHAEAN_FIVE; pub const U_JG_MANICHAEAN_GIMEL = UJoiningGroup.MANICHAEAN_GIMEL; pub const U_JG_MANICHAEAN_HETH = UJoiningGroup.MANICHAEAN_HETH; pub const U_JG_MANICHAEAN_HUNDRED = UJoiningGroup.MANICHAEAN_HUNDRED; pub const U_JG_MANICHAEAN_KAPH = UJoiningGroup.MANICHAEAN_KAPH; pub const U_JG_MANICHAEAN_LAMEDH = UJoiningGroup.MANICHAEAN_LAMEDH; pub const U_JG_MANICHAEAN_MEM = UJoiningGroup.MANICHAEAN_MEM; pub const U_JG_MANICHAEAN_NUN = UJoiningGroup.MANICHAEAN_NUN; pub const U_JG_MANICHAEAN_ONE = UJoiningGroup.MANICHAEAN_ONE; pub const U_JG_MANICHAEAN_PE = UJoiningGroup.MANICHAEAN_PE; pub const U_JG_MANICHAEAN_QOPH = UJoiningGroup.MANICHAEAN_QOPH; pub const U_JG_MANICHAEAN_RESH = UJoiningGroup.MANICHAEAN_RESH; pub const U_JG_MANICHAEAN_SADHE = UJoiningGroup.MANICHAEAN_SADHE; pub const U_JG_MANICHAEAN_SAMEKH = UJoiningGroup.MANICHAEAN_SAMEKH; pub const U_JG_MANICHAEAN_TAW = UJoiningGroup.MANICHAEAN_TAW; pub const U_JG_MANICHAEAN_TEN = UJoiningGroup.MANICHAEAN_TEN; pub const U_JG_MANICHAEAN_TETH = UJoiningGroup.MANICHAEAN_TETH; pub const U_JG_MANICHAEAN_THAMEDH = UJoiningGroup.MANICHAEAN_THAMEDH; pub const U_JG_MANICHAEAN_TWENTY = UJoiningGroup.MANICHAEAN_TWENTY; pub const U_JG_MANICHAEAN_WAW = UJoiningGroup.MANICHAEAN_WAW; pub const U_JG_MANICHAEAN_YODH = UJoiningGroup.MANICHAEAN_YODH; pub const U_JG_MANICHAEAN_ZAYIN = UJoiningGroup.MANICHAEAN_ZAYIN; pub const U_JG_STRAIGHT_WAW = UJoiningGroup.STRAIGHT_WAW; pub const U_JG_AFRICAN_FEH = UJoiningGroup.AFRICAN_FEH; pub const U_JG_AFRICAN_NOON = UJoiningGroup.AFRICAN_NOON; pub const U_JG_AFRICAN_QAF = UJoiningGroup.AFRICAN_QAF; pub const U_JG_MALAYALAM_BHA = UJoiningGroup.MALAYALAM_BHA; pub const U_JG_MALAYALAM_JA = UJoiningGroup.MALAYALAM_JA; pub const U_JG_MALAYALAM_LLA = UJoiningGroup.MALAYALAM_LLA; pub const U_JG_MALAYALAM_LLLA = UJoiningGroup.MALAYALAM_LLLA; pub const U_JG_MALAYALAM_NGA = UJoiningGroup.MALAYALAM_NGA; pub const U_JG_MALAYALAM_NNA = UJoiningGroup.MALAYALAM_NNA; pub const U_JG_MALAYALAM_NNNA = UJoiningGroup.MALAYALAM_NNNA; pub const U_JG_MALAYALAM_NYA = UJoiningGroup.MALAYALAM_NYA; pub const U_JG_MALAYALAM_RA = UJoiningGroup.MALAYALAM_RA; pub const U_JG_MALAYALAM_SSA = UJoiningGroup.MALAYALAM_SSA; pub const U_JG_MALAYALAM_TTA = UJoiningGroup.MALAYALAM_TTA; pub const U_JG_HANIFI_ROHINGYA_KINNA_YA = UJoiningGroup.HANIFI_ROHINGYA_KINNA_YA; pub const U_JG_HANIFI_ROHINGYA_PA = UJoiningGroup.HANIFI_ROHINGYA_PA; pub const UGraphemeClusterBreak = enum(i32) { OTHER = 0, CONTROL = 1, CR = 2, EXTEND = 3, L = 4, LF = 5, LV = 6, LVT = 7, T = 8, V = 9, SPACING_MARK = 10, PREPEND = 11, REGIONAL_INDICATOR = 12, E_BASE = 13, E_BASE_GAZ = 14, E_MODIFIER = 15, GLUE_AFTER_ZWJ = 16, ZWJ = 17, }; pub const U_GCB_OTHER = UGraphemeClusterBreak.OTHER; pub const U_GCB_CONTROL = UGraphemeClusterBreak.CONTROL; pub const U_GCB_CR = UGraphemeClusterBreak.CR; pub const U_GCB_EXTEND = UGraphemeClusterBreak.EXTEND; pub const U_GCB_L = UGraphemeClusterBreak.L; pub const U_GCB_LF = UGraphemeClusterBreak.LF; pub const U_GCB_LV = UGraphemeClusterBreak.LV; pub const U_GCB_LVT = UGraphemeClusterBreak.LVT; pub const U_GCB_T = UGraphemeClusterBreak.T; pub const U_GCB_V = UGraphemeClusterBreak.V; pub const U_GCB_SPACING_MARK = UGraphemeClusterBreak.SPACING_MARK; pub const U_GCB_PREPEND = UGraphemeClusterBreak.PREPEND; pub const U_GCB_REGIONAL_INDICATOR = UGraphemeClusterBreak.REGIONAL_INDICATOR; pub const U_GCB_E_BASE = UGraphemeClusterBreak.E_BASE; pub const U_GCB_E_BASE_GAZ = UGraphemeClusterBreak.E_BASE_GAZ; pub const U_GCB_E_MODIFIER = UGraphemeClusterBreak.E_MODIFIER; pub const U_GCB_GLUE_AFTER_ZWJ = UGraphemeClusterBreak.GLUE_AFTER_ZWJ; pub const U_GCB_ZWJ = UGraphemeClusterBreak.ZWJ; pub const UWordBreakValues = enum(i32) { OTHER = 0, ALETTER = 1, FORMAT = 2, KATAKANA = 3, MIDLETTER = 4, MIDNUM = 5, NUMERIC = 6, EXTENDNUMLET = 7, CR = 8, EXTEND = 9, LF = 10, MIDNUMLET = 11, NEWLINE = 12, REGIONAL_INDICATOR = 13, HEBREW_LETTER = 14, SINGLE_QUOTE = 15, DOUBLE_QUOTE = 16, E_BASE = 17, E_BASE_GAZ = 18, E_MODIFIER = 19, GLUE_AFTER_ZWJ = 20, ZWJ = 21, WSEGSPACE = 22, }; pub const U_WB_OTHER = UWordBreakValues.OTHER; pub const U_WB_ALETTER = UWordBreakValues.ALETTER; pub const U_WB_FORMAT = UWordBreakValues.FORMAT; pub const U_WB_KATAKANA = UWordBreakValues.KATAKANA; pub const U_WB_MIDLETTER = UWordBreakValues.MIDLETTER; pub const U_WB_MIDNUM = UWordBreakValues.MIDNUM; pub const U_WB_NUMERIC = UWordBreakValues.NUMERIC; pub const U_WB_EXTENDNUMLET = UWordBreakValues.EXTENDNUMLET; pub const U_WB_CR = UWordBreakValues.CR; pub const U_WB_EXTEND = UWordBreakValues.EXTEND; pub const U_WB_LF = UWordBreakValues.LF; pub const U_WB_MIDNUMLET = UWordBreakValues.MIDNUMLET; pub const U_WB_NEWLINE = UWordBreakValues.NEWLINE; pub const U_WB_REGIONAL_INDICATOR = UWordBreakValues.REGIONAL_INDICATOR; pub const U_WB_HEBREW_LETTER = UWordBreakValues.HEBREW_LETTER; pub const U_WB_SINGLE_QUOTE = UWordBreakValues.SINGLE_QUOTE; pub const U_WB_DOUBLE_QUOTE = UWordBreakValues.DOUBLE_QUOTE; pub const U_WB_E_BASE = UWordBreakValues.E_BASE; pub const U_WB_E_BASE_GAZ = UWordBreakValues.E_BASE_GAZ; pub const U_WB_E_MODIFIER = UWordBreakValues.E_MODIFIER; pub const U_WB_GLUE_AFTER_ZWJ = UWordBreakValues.GLUE_AFTER_ZWJ; pub const U_WB_ZWJ = UWordBreakValues.ZWJ; pub const U_WB_WSEGSPACE = UWordBreakValues.WSEGSPACE; pub const USentenceBreak = enum(i32) { OTHER = 0, ATERM = 1, CLOSE = 2, FORMAT = 3, LOWER = 4, NUMERIC = 5, OLETTER = 6, SEP = 7, SP = 8, STERM = 9, UPPER = 10, CR = 11, EXTEND = 12, LF = 13, SCONTINUE = 14, }; pub const U_SB_OTHER = USentenceBreak.OTHER; pub const U_SB_ATERM = USentenceBreak.ATERM; pub const U_SB_CLOSE = USentenceBreak.CLOSE; pub const U_SB_FORMAT = USentenceBreak.FORMAT; pub const U_SB_LOWER = USentenceBreak.LOWER; pub const U_SB_NUMERIC = USentenceBreak.NUMERIC; pub const U_SB_OLETTER = USentenceBreak.OLETTER; pub const U_SB_SEP = USentenceBreak.SEP; pub const U_SB_SP = USentenceBreak.SP; pub const U_SB_STERM = USentenceBreak.STERM; pub const U_SB_UPPER = USentenceBreak.UPPER; pub const U_SB_CR = USentenceBreak.CR; pub const U_SB_EXTEND = USentenceBreak.EXTEND; pub const U_SB_LF = USentenceBreak.LF; pub const U_SB_SCONTINUE = USentenceBreak.SCONTINUE; pub const ULineBreak = enum(i32) { UNKNOWN = 0, AMBIGUOUS = 1, ALPHABETIC = 2, BREAK_BOTH = 3, BREAK_AFTER = 4, BREAK_BEFORE = 5, MANDATORY_BREAK = 6, CONTINGENT_BREAK = 7, CLOSE_PUNCTUATION = 8, COMBINING_MARK = 9, CARRIAGE_RETURN = 10, EXCLAMATION = 11, GLUE = 12, HYPHEN = 13, IDEOGRAPHIC = 14, INSEPARABLE = 15, // INSEPERABLE = 15, this enum value conflicts with INSEPARABLE INFIX_NUMERIC = 16, LINE_FEED = 17, NONSTARTER = 18, NUMERIC = 19, OPEN_PUNCTUATION = 20, POSTFIX_NUMERIC = 21, PREFIX_NUMERIC = 22, QUOTATION = 23, COMPLEX_CONTEXT = 24, SURROGATE = 25, SPACE = 26, BREAK_SYMBOLS = 27, ZWSPACE = 28, NEXT_LINE = 29, WORD_JOINER = 30, H2 = 31, H3 = 32, JL = 33, JT = 34, JV = 35, CLOSE_PARENTHESIS = 36, CONDITIONAL_JAPANESE_STARTER = 37, HEBREW_LETTER = 38, REGIONAL_INDICATOR = 39, E_BASE = 40, E_MODIFIER = 41, ZWJ = 42, }; pub const U_LB_UNKNOWN = ULineBreak.UNKNOWN; pub const U_LB_AMBIGUOUS = ULineBreak.AMBIGUOUS; pub const U_LB_ALPHABETIC = ULineBreak.ALPHABETIC; pub const U_LB_BREAK_BOTH = ULineBreak.BREAK_BOTH; pub const U_LB_BREAK_AFTER = ULineBreak.BREAK_AFTER; pub const U_LB_BREAK_BEFORE = ULineBreak.BREAK_BEFORE; pub const U_LB_MANDATORY_BREAK = ULineBreak.MANDATORY_BREAK; pub const U_LB_CONTINGENT_BREAK = ULineBreak.CONTINGENT_BREAK; pub const U_LB_CLOSE_PUNCTUATION = ULineBreak.CLOSE_PUNCTUATION; pub const U_LB_COMBINING_MARK = ULineBreak.COMBINING_MARK; pub const U_LB_CARRIAGE_RETURN = ULineBreak.CARRIAGE_RETURN; pub const U_LB_EXCLAMATION = ULineBreak.EXCLAMATION; pub const U_LB_GLUE = ULineBreak.GLUE; pub const U_LB_HYPHEN = ULineBreak.HYPHEN; pub const U_LB_IDEOGRAPHIC = ULineBreak.IDEOGRAPHIC; pub const U_LB_INSEPARABLE = ULineBreak.INSEPARABLE; pub const U_LB_INSEPERABLE = ULineBreak.INSEPARABLE; pub const U_LB_INFIX_NUMERIC = ULineBreak.INFIX_NUMERIC; pub const U_LB_LINE_FEED = ULineBreak.LINE_FEED; pub const U_LB_NONSTARTER = ULineBreak.NONSTARTER; pub const U_LB_NUMERIC = ULineBreak.NUMERIC; pub const U_LB_OPEN_PUNCTUATION = ULineBreak.OPEN_PUNCTUATION; pub const U_LB_POSTFIX_NUMERIC = ULineBreak.POSTFIX_NUMERIC; pub const U_LB_PREFIX_NUMERIC = ULineBreak.PREFIX_NUMERIC; pub const U_LB_QUOTATION = ULineBreak.QUOTATION; pub const U_LB_COMPLEX_CONTEXT = ULineBreak.COMPLEX_CONTEXT; pub const U_LB_SURROGATE = ULineBreak.SURROGATE; pub const U_LB_SPACE = ULineBreak.SPACE; pub const U_LB_BREAK_SYMBOLS = ULineBreak.BREAK_SYMBOLS; pub const U_LB_ZWSPACE = ULineBreak.ZWSPACE; pub const U_LB_NEXT_LINE = ULineBreak.NEXT_LINE; pub const U_LB_WORD_JOINER = ULineBreak.WORD_JOINER; pub const U_LB_H2 = ULineBreak.H2; pub const U_LB_H3 = ULineBreak.H3; pub const U_LB_JL = ULineBreak.JL; pub const U_LB_JT = ULineBreak.JT; pub const U_LB_JV = ULineBreak.JV; pub const U_LB_CLOSE_PARENTHESIS = ULineBreak.CLOSE_PARENTHESIS; pub const U_LB_CONDITIONAL_JAPANESE_STARTER = ULineBreak.CONDITIONAL_JAPANESE_STARTER; pub const U_LB_HEBREW_LETTER = ULineBreak.HEBREW_LETTER; pub const U_LB_REGIONAL_INDICATOR = ULineBreak.REGIONAL_INDICATOR; pub const U_LB_E_BASE = ULineBreak.E_BASE; pub const U_LB_E_MODIFIER = ULineBreak.E_MODIFIER; pub const U_LB_ZWJ = ULineBreak.ZWJ; pub const UNumericType = enum(i32) { NONE = 0, DECIMAL = 1, DIGIT = 2, NUMERIC = 3, }; pub const U_NT_NONE = UNumericType.NONE; pub const U_NT_DECIMAL = UNumericType.DECIMAL; pub const U_NT_DIGIT = UNumericType.DIGIT; pub const U_NT_NUMERIC = UNumericType.NUMERIC; pub const UHangulSyllableType = enum(i32) { NOT_APPLICABLE = 0, LEADING_JAMO = 1, VOWEL_JAMO = 2, TRAILING_JAMO = 3, LV_SYLLABLE = 4, LVT_SYLLABLE = 5, }; pub const U_HST_NOT_APPLICABLE = UHangulSyllableType.NOT_APPLICABLE; pub const U_HST_LEADING_JAMO = UHangulSyllableType.LEADING_JAMO; pub const U_HST_VOWEL_JAMO = UHangulSyllableType.VOWEL_JAMO; pub const U_HST_TRAILING_JAMO = UHangulSyllableType.TRAILING_JAMO; pub const U_HST_LV_SYLLABLE = UHangulSyllableType.LV_SYLLABLE; pub const U_HST_LVT_SYLLABLE = UHangulSyllableType.LVT_SYLLABLE; pub const UIndicPositionalCategory = enum(i32) { NA = 0, BOTTOM = 1, BOTTOM_AND_LEFT = 2, BOTTOM_AND_RIGHT = 3, LEFT = 4, LEFT_AND_RIGHT = 5, OVERSTRUCK = 6, RIGHT = 7, TOP = 8, TOP_AND_BOTTOM = 9, TOP_AND_BOTTOM_AND_RIGHT = 10, TOP_AND_LEFT = 11, TOP_AND_LEFT_AND_RIGHT = 12, TOP_AND_RIGHT = 13, VISUAL_ORDER_LEFT = 14, TOP_AND_BOTTOM_AND_LEFT = 15, }; pub const U_INPC_NA = UIndicPositionalCategory.NA; pub const U_INPC_BOTTOM = UIndicPositionalCategory.BOTTOM; pub const U_INPC_BOTTOM_AND_LEFT = UIndicPositionalCategory.BOTTOM_AND_LEFT; pub const U_INPC_BOTTOM_AND_RIGHT = UIndicPositionalCategory.BOTTOM_AND_RIGHT; pub const U_INPC_LEFT = UIndicPositionalCategory.LEFT; pub const U_INPC_LEFT_AND_RIGHT = UIndicPositionalCategory.LEFT_AND_RIGHT; pub const U_INPC_OVERSTRUCK = UIndicPositionalCategory.OVERSTRUCK; pub const U_INPC_RIGHT = UIndicPositionalCategory.RIGHT; pub const U_INPC_TOP = UIndicPositionalCategory.TOP; pub const U_INPC_TOP_AND_BOTTOM = UIndicPositionalCategory.TOP_AND_BOTTOM; pub const U_INPC_TOP_AND_BOTTOM_AND_RIGHT = UIndicPositionalCategory.TOP_AND_BOTTOM_AND_RIGHT; pub const U_INPC_TOP_AND_LEFT = UIndicPositionalCategory.TOP_AND_LEFT; pub const U_INPC_TOP_AND_LEFT_AND_RIGHT = UIndicPositionalCategory.TOP_AND_LEFT_AND_RIGHT; pub const U_INPC_TOP_AND_RIGHT = UIndicPositionalCategory.TOP_AND_RIGHT; pub const U_INPC_VISUAL_ORDER_LEFT = UIndicPositionalCategory.VISUAL_ORDER_LEFT; pub const U_INPC_TOP_AND_BOTTOM_AND_LEFT = UIndicPositionalCategory.TOP_AND_BOTTOM_AND_LEFT; pub const UIndicSyllabicCategory = enum(i32) { OTHER = 0, AVAGRAHA = 1, BINDU = 2, BRAHMI_JOINING_NUMBER = 3, CANTILLATION_MARK = 4, CONSONANT = 5, CONSONANT_DEAD = 6, CONSONANT_FINAL = 7, CONSONANT_HEAD_LETTER = 8, CONSONANT_INITIAL_POSTFIXED = 9, CONSONANT_KILLER = 10, CONSONANT_MEDIAL = 11, CONSONANT_PLACEHOLDER = 12, CONSONANT_PRECEDING_REPHA = 13, CONSONANT_PREFIXED = 14, CONSONANT_SUBJOINED = 15, CONSONANT_SUCCEEDING_REPHA = 16, CONSONANT_WITH_STACKER = 17, GEMINATION_MARK = 18, INVISIBLE_STACKER = 19, JOINER = 20, MODIFYING_LETTER = 21, NON_JOINER = 22, NUKTA = 23, NUMBER = 24, NUMBER_JOINER = 25, PURE_KILLER = 26, REGISTER_SHIFTER = 27, SYLLABLE_MODIFIER = 28, TONE_LETTER = 29, TONE_MARK = 30, VIRAMA = 31, VISARGA = 32, VOWEL = 33, VOWEL_DEPENDENT = 34, VOWEL_INDEPENDENT = 35, }; pub const U_INSC_OTHER = UIndicSyllabicCategory.OTHER; pub const U_INSC_AVAGRAHA = UIndicSyllabicCategory.AVAGRAHA; pub const U_INSC_BINDU = UIndicSyllabicCategory.BINDU; pub const U_INSC_BRAHMI_JOINING_NUMBER = UIndicSyllabicCategory.BRAHMI_JOINING_NUMBER; pub const U_INSC_CANTILLATION_MARK = UIndicSyllabicCategory.CANTILLATION_MARK; pub const U_INSC_CONSONANT = UIndicSyllabicCategory.CONSONANT; pub const U_INSC_CONSONANT_DEAD = UIndicSyllabicCategory.CONSONANT_DEAD; pub const U_INSC_CONSONANT_FINAL = UIndicSyllabicCategory.CONSONANT_FINAL; pub const U_INSC_CONSONANT_HEAD_LETTER = UIndicSyllabicCategory.CONSONANT_HEAD_LETTER; pub const U_INSC_CONSONANT_INITIAL_POSTFIXED = UIndicSyllabicCategory.CONSONANT_INITIAL_POSTFIXED; pub const U_INSC_CONSONANT_KILLER = UIndicSyllabicCategory.CONSONANT_KILLER; pub const U_INSC_CONSONANT_MEDIAL = UIndicSyllabicCategory.CONSONANT_MEDIAL; pub const U_INSC_CONSONANT_PLACEHOLDER = UIndicSyllabicCategory.CONSONANT_PLACEHOLDER; pub const U_INSC_CONSONANT_PRECEDING_REPHA = UIndicSyllabicCategory.CONSONANT_PRECEDING_REPHA; pub const U_INSC_CONSONANT_PREFIXED = UIndicSyllabicCategory.CONSONANT_PREFIXED; pub const U_INSC_CONSONANT_SUBJOINED = UIndicSyllabicCategory.CONSONANT_SUBJOINED; pub const U_INSC_CONSONANT_SUCCEEDING_REPHA = UIndicSyllabicCategory.CONSONANT_SUCCEEDING_REPHA; pub const U_INSC_CONSONANT_WITH_STACKER = UIndicSyllabicCategory.CONSONANT_WITH_STACKER; pub const U_INSC_GEMINATION_MARK = UIndicSyllabicCategory.GEMINATION_MARK; pub const U_INSC_INVISIBLE_STACKER = UIndicSyllabicCategory.INVISIBLE_STACKER; pub const U_INSC_JOINER = UIndicSyllabicCategory.JOINER; pub const U_INSC_MODIFYING_LETTER = UIndicSyllabicCategory.MODIFYING_LETTER; pub const U_INSC_NON_JOINER = UIndicSyllabicCategory.NON_JOINER; pub const U_INSC_NUKTA = UIndicSyllabicCategory.NUKTA; pub const U_INSC_NUMBER = UIndicSyllabicCategory.NUMBER; pub const U_INSC_NUMBER_JOINER = UIndicSyllabicCategory.NUMBER_JOINER; pub const U_INSC_PURE_KILLER = UIndicSyllabicCategory.PURE_KILLER; pub const U_INSC_REGISTER_SHIFTER = UIndicSyllabicCategory.REGISTER_SHIFTER; pub const U_INSC_SYLLABLE_MODIFIER = UIndicSyllabicCategory.SYLLABLE_MODIFIER; pub const U_INSC_TONE_LETTER = UIndicSyllabicCategory.TONE_LETTER; pub const U_INSC_TONE_MARK = UIndicSyllabicCategory.TONE_MARK; pub const U_INSC_VIRAMA = UIndicSyllabicCategory.VIRAMA; pub const U_INSC_VISARGA = UIndicSyllabicCategory.VISARGA; pub const U_INSC_VOWEL = UIndicSyllabicCategory.VOWEL; pub const U_INSC_VOWEL_DEPENDENT = UIndicSyllabicCategory.VOWEL_DEPENDENT; pub const U_INSC_VOWEL_INDEPENDENT = UIndicSyllabicCategory.VOWEL_INDEPENDENT; pub const UVerticalOrientation = enum(i32) { ROTATED = 0, TRANSFORMED_ROTATED = 1, TRANSFORMED_UPRIGHT = 2, UPRIGHT = 3, }; pub const U_VO_ROTATED = UVerticalOrientation.ROTATED; pub const U_VO_TRANSFORMED_ROTATED = UVerticalOrientation.TRANSFORMED_ROTATED; pub const U_VO_TRANSFORMED_UPRIGHT = UVerticalOrientation.TRANSFORMED_UPRIGHT; pub const U_VO_UPRIGHT = UVerticalOrientation.UPRIGHT; pub const UCharEnumTypeRange = switch (@import("builtin").zig_backend) { .stage1 => fn( context: ?*const anyopaque, start: i32, limit: i32, type: UCharCategory, ) callconv(@import("std").os.windows.WINAPI) i8, else => *const fn( context: ?*const anyopaque, start: i32, limit: i32, type: UCharCategory, ) callconv(@import("std").os.windows.WINAPI) i8, } ; pub const UEnumCharNamesFn = switch (@import("builtin").zig_backend) { .stage1 => fn( context: ?*anyopaque, code: i32, nameChoice: UCharNameChoice, name: ?[*:0]const u8, length: i32, ) callconv(@import("std").os.windows.WINAPI) i8, else => *const fn( context: ?*anyopaque, code: i32, nameChoice: UCharNameChoice, name: ?[*:0]const u8, length: i32, ) callconv(@import("std").os.windows.WINAPI) i8, } ; pub const UBiDiDirection = enum(i32) { LTR = 0, RTL = 1, MIXED = 2, NEUTRAL = 3, }; pub const UBIDI_LTR = UBiDiDirection.LTR; pub const UBIDI_RTL = UBiDiDirection.RTL; pub const UBIDI_MIXED = UBiDiDirection.MIXED; pub const UBIDI_NEUTRAL = UBiDiDirection.NEUTRAL; pub const UBiDi = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UBiDiReorderingMode = enum(i32) { DEFAULT = 0, NUMBERS_SPECIAL = 1, GROUP_NUMBERS_WITH_R = 2, RUNS_ONLY = 3, INVERSE_NUMBERS_AS_L = 4, INVERSE_LIKE_DIRECT = 5, INVERSE_FOR_NUMBERS_SPECIAL = 6, }; pub const UBIDI_REORDER_DEFAULT = UBiDiReorderingMode.DEFAULT; pub const UBIDI_REORDER_NUMBERS_SPECIAL = UBiDiReorderingMode.NUMBERS_SPECIAL; pub const UBIDI_REORDER_GROUP_NUMBERS_WITH_R = UBiDiReorderingMode.GROUP_NUMBERS_WITH_R; pub const UBIDI_REORDER_RUNS_ONLY = UBiDiReorderingMode.RUNS_ONLY; pub const UBIDI_REORDER_INVERSE_NUMBERS_AS_L = UBiDiReorderingMode.INVERSE_NUMBERS_AS_L; pub const UBIDI_REORDER_INVERSE_LIKE_DIRECT = UBiDiReorderingMode.INVERSE_LIKE_DIRECT; pub const UBIDI_REORDER_INVERSE_FOR_NUMBERS_SPECIAL = UBiDiReorderingMode.INVERSE_FOR_NUMBERS_SPECIAL; pub const UBiDiReorderingOption = enum(i32) { DEFAULT = 0, INSERT_MARKS = 1, REMOVE_CONTROLS = 2, STREAMING = 4, }; pub const UBIDI_OPTION_DEFAULT = UBiDiReorderingOption.DEFAULT; pub const UBIDI_OPTION_INSERT_MARKS = UBiDiReorderingOption.INSERT_MARKS; pub const UBIDI_OPTION_REMOVE_CONTROLS = UBiDiReorderingOption.REMOVE_CONTROLS; pub const UBIDI_OPTION_STREAMING = UBiDiReorderingOption.STREAMING; pub const UBiDiClassCallback = switch (@import("builtin").zig_backend) { .stage1 => fn( context: ?*const anyopaque, c: i32, ) callconv(@import("std").os.windows.WINAPI) UCharDirection, else => *const fn( context: ?*const anyopaque, c: i32, ) callconv(@import("std").os.windows.WINAPI) UCharDirection, } ; pub const UBiDiOrder = enum(i32) { LOGICAL = 0, VISUAL = 1, }; pub const UBIDI_LOGICAL = UBiDiOrder.LOGICAL; pub const UBIDI_VISUAL = UBiDiOrder.VISUAL; pub const UBiDiMirroring = enum(i32) { FF = 0, N = 1, }; pub const UBIDI_MIRRORING_OFF = UBiDiMirroring.FF; pub const UBIDI_MIRRORING_ON = UBiDiMirroring.N; pub const UBiDiTransform = extern struct { placeholder: usize, // TODO: why is this type empty? }; // TODO: this function pointer causes dependency loop problems, so it's stubbed out pub const UTextClone = switch (@import("builtin").zig_backend) { .stage1 => fn() callconv(@import("std").os.windows.WINAPI) void, else => *const fn() callconv(@import("std").os.windows.WINAPI) void}; // TODO: this function pointer causes dependency loop problems, so it's stubbed out pub const UTextNativeLength = switch (@import("builtin").zig_backend) { .stage1 => fn() callconv(@import("std").os.windows.WINAPI) void, else => *const fn() callconv(@import("std").os.windows.WINAPI) void}; // TODO: this function pointer causes dependency loop problems, so it's stubbed out pub const UTextAccess = switch (@import("builtin").zig_backend) { .stage1 => fn() callconv(@import("std").os.windows.WINAPI) void, else => *const fn() callconv(@import("std").os.windows.WINAPI) void}; // TODO: this function pointer causes dependency loop problems, so it's stubbed out pub const UTextExtract = switch (@import("builtin").zig_backend) { .stage1 => fn() callconv(@import("std").os.windows.WINAPI) void, else => *const fn() callconv(@import("std").os.windows.WINAPI) void}; // TODO: this function pointer causes dependency loop problems, so it's stubbed out pub const UTextReplace = switch (@import("builtin").zig_backend) { .stage1 => fn() callconv(@import("std").os.windows.WINAPI) void, else => *const fn() callconv(@import("std").os.windows.WINAPI) void}; // TODO: this function pointer causes dependency loop problems, so it's stubbed out pub const UTextCopy = switch (@import("builtin").zig_backend) { .stage1 => fn() callconv(@import("std").os.windows.WINAPI) void, else => *const fn() callconv(@import("std").os.windows.WINAPI) void}; // TODO: this function pointer causes dependency loop problems, so it's stubbed out pub const UTextMapOffsetToNative = switch (@import("builtin").zig_backend) { .stage1 => fn() callconv(@import("std").os.windows.WINAPI) void, else => *const fn() callconv(@import("std").os.windows.WINAPI) void}; // TODO: this function pointer causes dependency loop problems, so it's stubbed out pub const UTextMapNativeIndexToUTF16 = switch (@import("builtin").zig_backend) { .stage1 => fn() callconv(@import("std").os.windows.WINAPI) void, else => *const fn() callconv(@import("std").os.windows.WINAPI) void}; // TODO: this function pointer causes dependency loop problems, so it's stubbed out pub const UTextClose = switch (@import("builtin").zig_backend) { .stage1 => fn() callconv(@import("std").os.windows.WINAPI) void, else => *const fn() callconv(@import("std").os.windows.WINAPI) void}; pub const UTextFuncs = extern struct { tableSize: i32, reserved1: i32, reserved2: i32, reserved3: i32, clone: ?UTextClone, nativeLength: ?UTextNativeLength, access: ?UTextAccess, extract: ?UTextExtract, replace: ?UTextReplace, copy: ?UTextCopy, mapOffsetToNative: ?UTextMapOffsetToNative, mapNativeIndexToUTF16: ?UTextMapNativeIndexToUTF16, close: ?UTextClose, spare1: ?UTextClose, spare2: ?UTextClose, spare3: ?UTextClose, }; pub const UText = extern struct { magic: u32, flags: i32, providerProperties: i32, sizeOfStruct: i32, chunkNativeLimit: i64, extraSize: i32, nativeIndexingLimit: i32, chunkNativeStart: i64, chunkOffset: i32, chunkLength: i32, chunkContents: ?*const u16, pFuncs: ?*const UTextFuncs, pExtra: ?*anyopaque, context: ?*const anyopaque, p: ?*const anyopaque, q: ?*const anyopaque, r: ?*const anyopaque, privP: ?*anyopaque, a: i64, b: i32, c: i32, privA: i64, privB: i32, privC: i32, }; pub const USetSpanCondition = enum(i32) { NOT_CONTAINED = 0, CONTAINED = 1, SIMPLE = 2, }; pub const USET_SPAN_NOT_CONTAINED = USetSpanCondition.NOT_CONTAINED; pub const USET_SPAN_CONTAINED = USetSpanCondition.CONTAINED; pub const USET_SPAN_SIMPLE = USetSpanCondition.SIMPLE; pub const USerializedSet = extern struct { array: ?*const u16, bmpLength: i32, length: i32, staticArray: [8]u16, }; pub const UNormalization2Mode = enum(i32) { COMPOSE = 0, DECOMPOSE = 1, FCD = 2, COMPOSE_CONTIGUOUS = 3, }; pub const UNORM2_COMPOSE = UNormalization2Mode.COMPOSE; pub const UNORM2_DECOMPOSE = UNormalization2Mode.DECOMPOSE; pub const UNORM2_FCD = UNormalization2Mode.FCD; pub const UNORM2_COMPOSE_CONTIGUOUS = UNormalization2Mode.COMPOSE_CONTIGUOUS; pub const UNormalizationCheckResult = enum(i32) { NO = 0, YES = 1, MAYBE = 2, }; pub const UNORM_NO = UNormalizationCheckResult.NO; pub const UNORM_YES = UNormalizationCheckResult.YES; pub const UNORM_MAYBE = UNormalizationCheckResult.MAYBE; pub const UNormalizer2 = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UNormalizationMode = enum(i32) { NONE = 1, NFD = 2, NFKD = 3, NFC = 4, // DEFAULT = 4, this enum value conflicts with NFC NFKC = 5, FCD = 6, MODE_COUNT = 7, }; pub const UNORM_NONE = UNormalizationMode.NONE; pub const UNORM_NFD = UNormalizationMode.NFD; pub const UNORM_NFKD = UNormalizationMode.NFKD; pub const UNORM_NFC = UNormalizationMode.NFC; pub const UNORM_DEFAULT = UNormalizationMode.NFC; pub const UNORM_NFKC = UNormalizationMode.NFKC; pub const UNORM_FCD = UNormalizationMode.FCD; pub const UNORM_MODE_COUNT = UNormalizationMode.MODE_COUNT; pub const UConverterSelector = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UBreakIterator = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UNESCAPE_CHAR_AT = switch (@import("builtin").zig_backend) { .stage1 => fn( offset: i32, context: ?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) u16, else => *const fn( offset: i32, context: ?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) u16, } ; pub const UCaseMap = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UParseError = extern struct { line: i32, offset: i32, preContext: [16]u16, postContext: [16]u16, }; pub const UStringPrepProfile = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UStringPrepProfileType = enum(i32) { @"3491_NAMEPREP" = 0, @"3530_NFS4_CS_PREP" = 1, @"3530_NFS4_CS_PREP_CI" = 2, @"3530_NFS4_CIS_PREP" = 3, @"3530_NFS4_MIXED_PREP_PREFIX" = 4, @"3530_NFS4_MIXED_PREP_SUFFIX" = 5, @"3722_ISCSI" = 6, @"3920_NODEPREP" = 7, @"3920_RESOURCEPREP" = 8, @"4011_MIB" = 9, @"4013_SASLPREP" = 10, @"4505_TRACE" = 11, @"4518_LDAP" = 12, @"4518_LDAP_CI" = 13, }; pub const USPREP_RFC3491_NAMEPREP = UStringPrepProfileType.@"3491_NAMEPREP"; pub const USPREP_RFC3530_NFS4_CS_PREP = UStringPrepProfileType.@"3530_NFS4_CS_PREP"; pub const USPREP_RFC3530_NFS4_CS_PREP_CI = UStringPrepProfileType.@"3530_NFS4_CS_PREP_CI"; pub const USPREP_RFC3530_NFS4_CIS_PREP = UStringPrepProfileType.@"3530_NFS4_CIS_PREP"; pub const USPREP_RFC3530_NFS4_MIXED_PREP_PREFIX = UStringPrepProfileType.@"3530_NFS4_MIXED_PREP_PREFIX"; pub const USPREP_RFC3530_NFS4_MIXED_PREP_SUFFIX = UStringPrepProfileType.@"3530_NFS4_MIXED_PREP_SUFFIX"; pub const USPREP_RFC3722_ISCSI = UStringPrepProfileType.@"3722_ISCSI"; pub const USPREP_RFC3920_NODEPREP = UStringPrepProfileType.@"3920_NODEPREP"; pub const USPREP_RFC3920_RESOURCEPREP = UStringPrepProfileType.@"3920_RESOURCEPREP"; pub const USPREP_RFC4011_MIB = UStringPrepProfileType.@"4011_MIB"; pub const USPREP_RFC4013_SASLPREP = UStringPrepProfileType.@"4013_SASLPREP"; pub const USPREP_RFC4505_TRACE = UStringPrepProfileType.@"4505_TRACE"; pub const USPREP_RFC4518_LDAP = UStringPrepProfileType.@"4518_LDAP"; pub const USPREP_RFC4518_LDAP_CI = UStringPrepProfileType.@"4518_LDAP_CI"; pub const UIDNA = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UIDNAInfo = extern struct { size: i16, isTransitionalDifferent: i8, reservedB3: i8, errors: u32, reservedI2: i32, reservedI3: i32, }; pub const UBreakIteratorType = enum(i32) { CHARACTER = 0, WORD = 1, LINE = 2, SENTENCE = 3, }; pub const UBRK_CHARACTER = UBreakIteratorType.CHARACTER; pub const UBRK_WORD = UBreakIteratorType.WORD; pub const UBRK_LINE = UBreakIteratorType.LINE; pub const UBRK_SENTENCE = UBreakIteratorType.SENTENCE; pub const UWordBreak = enum(i32) { NONE = 0, NONE_LIMIT = 100, // NUMBER = 100, this enum value conflicts with NONE_LIMIT NUMBER_LIMIT = 200, // LETTER = 200, this enum value conflicts with NUMBER_LIMIT LETTER_LIMIT = 300, // KANA = 300, this enum value conflicts with LETTER_LIMIT KANA_LIMIT = 400, // IDEO = 400, this enum value conflicts with KANA_LIMIT IDEO_LIMIT = 500, }; pub const UBRK_WORD_NONE = UWordBreak.NONE; pub const UBRK_WORD_NONE_LIMIT = UWordBreak.NONE_LIMIT; pub const UBRK_WORD_NUMBER = UWordBreak.NONE_LIMIT; pub const UBRK_WORD_NUMBER_LIMIT = UWordBreak.NUMBER_LIMIT; pub const UBRK_WORD_LETTER = UWordBreak.NUMBER_LIMIT; pub const UBRK_WORD_LETTER_LIMIT = UWordBreak.LETTER_LIMIT; pub const UBRK_WORD_KANA = UWordBreak.LETTER_LIMIT; pub const UBRK_WORD_KANA_LIMIT = UWordBreak.KANA_LIMIT; pub const UBRK_WORD_IDEO = UWordBreak.KANA_LIMIT; pub const UBRK_WORD_IDEO_LIMIT = UWordBreak.IDEO_LIMIT; pub const ULineBreakTag = enum(i32) { SOFT = 0, SOFT_LIMIT = 100, // HARD = 100, this enum value conflicts with SOFT_LIMIT HARD_LIMIT = 200, }; pub const UBRK_LINE_SOFT = ULineBreakTag.SOFT; pub const UBRK_LINE_SOFT_LIMIT = ULineBreakTag.SOFT_LIMIT; pub const UBRK_LINE_HARD = ULineBreakTag.SOFT_LIMIT; pub const UBRK_LINE_HARD_LIMIT = ULineBreakTag.HARD_LIMIT; pub const USentenceBreakTag = enum(i32) { TERM = 0, TERM_LIMIT = 100, // SEP = 100, this enum value conflicts with TERM_LIMIT SEP_LIMIT = 200, }; pub const UBRK_SENTENCE_TERM = USentenceBreakTag.TERM; pub const UBRK_SENTENCE_TERM_LIMIT = USentenceBreakTag.TERM_LIMIT; pub const UBRK_SENTENCE_SEP = USentenceBreakTag.TERM_LIMIT; pub const UBRK_SENTENCE_SEP_LIMIT = USentenceBreakTag.SEP_LIMIT; pub const UCalendarType = enum(i32) { TRADITIONAL = 0, // DEFAULT = 0, this enum value conflicts with TRADITIONAL GREGORIAN = 1, }; pub const UCAL_TRADITIONAL = UCalendarType.TRADITIONAL; pub const UCAL_DEFAULT = UCalendarType.TRADITIONAL; pub const UCAL_GREGORIAN = UCalendarType.GREGORIAN; pub const UCalendarDateFields = enum(i32) { ERA = 0, YEAR = 1, MONTH = 2, WEEK_OF_YEAR = 3, WEEK_OF_MONTH = 4, DATE = 5, DAY_OF_YEAR = 6, DAY_OF_WEEK = 7, DAY_OF_WEEK_IN_MONTH = 8, AM_PM = 9, HOUR = 10, HOUR_OF_DAY = 11, MINUTE = 12, SECOND = 13, MILLISECOND = 14, ZONE_OFFSET = 15, DST_OFFSET = 16, YEAR_WOY = 17, DOW_LOCAL = 18, EXTENDED_YEAR = 19, JULIAN_DAY = 20, MILLISECONDS_IN_DAY = 21, IS_LEAP_MONTH = 22, FIELD_COUNT = 23, // DAY_OF_MONTH = 5, this enum value conflicts with DATE }; pub const UCAL_ERA = UCalendarDateFields.ERA; pub const UCAL_YEAR = UCalendarDateFields.YEAR; pub const UCAL_MONTH = UCalendarDateFields.MONTH; pub const UCAL_WEEK_OF_YEAR = UCalendarDateFields.WEEK_OF_YEAR; pub const UCAL_WEEK_OF_MONTH = UCalendarDateFields.WEEK_OF_MONTH; pub const UCAL_DATE = UCalendarDateFields.DATE; pub const UCAL_DAY_OF_YEAR = UCalendarDateFields.DAY_OF_YEAR; pub const UCAL_DAY_OF_WEEK = UCalendarDateFields.DAY_OF_WEEK; pub const UCAL_DAY_OF_WEEK_IN_MONTH = UCalendarDateFields.DAY_OF_WEEK_IN_MONTH; pub const UCAL_AM_PM = UCalendarDateFields.AM_PM; pub const UCAL_HOUR = UCalendarDateFields.HOUR; pub const UCAL_HOUR_OF_DAY = UCalendarDateFields.HOUR_OF_DAY; pub const UCAL_MINUTE = UCalendarDateFields.MINUTE; pub const UCAL_SECOND = UCalendarDateFields.SECOND; pub const UCAL_MILLISECOND = UCalendarDateFields.MILLISECOND; pub const UCAL_ZONE_OFFSET = UCalendarDateFields.ZONE_OFFSET; pub const UCAL_DST_OFFSET = UCalendarDateFields.DST_OFFSET; pub const UCAL_YEAR_WOY = UCalendarDateFields.YEAR_WOY; pub const UCAL_DOW_LOCAL = UCalendarDateFields.DOW_LOCAL; pub const UCAL_EXTENDED_YEAR = UCalendarDateFields.EXTENDED_YEAR; pub const UCAL_JULIAN_DAY = UCalendarDateFields.JULIAN_DAY; pub const UCAL_MILLISECONDS_IN_DAY = UCalendarDateFields.MILLISECONDS_IN_DAY; pub const UCAL_IS_LEAP_MONTH = UCalendarDateFields.IS_LEAP_MONTH; pub const UCAL_FIELD_COUNT = UCalendarDateFields.FIELD_COUNT; pub const UCAL_DAY_OF_MONTH = UCalendarDateFields.DATE; pub const UCalendarDaysOfWeek = enum(i32) { SUNDAY = 1, MONDAY = 2, TUESDAY = 3, WEDNESDAY = 4, THURSDAY = 5, FRIDAY = 6, SATURDAY = 7, }; pub const UCAL_SUNDAY = UCalendarDaysOfWeek.SUNDAY; pub const UCAL_MONDAY = UCalendarDaysOfWeek.MONDAY; pub const UCAL_TUESDAY = UCalendarDaysOfWeek.TUESDAY; pub const UCAL_WEDNESDAY = UCalendarDaysOfWeek.WEDNESDAY; pub const UCAL_THURSDAY = UCalendarDaysOfWeek.THURSDAY; pub const UCAL_FRIDAY = UCalendarDaysOfWeek.FRIDAY; pub const UCAL_SATURDAY = UCalendarDaysOfWeek.SATURDAY; pub const UCalendarMonths = enum(i32) { JANUARY = 0, FEBRUARY = 1, MARCH = 2, APRIL = 3, MAY = 4, JUNE = 5, JULY = 6, AUGUST = 7, SEPTEMBER = 8, OCTOBER = 9, NOVEMBER = 10, DECEMBER = 11, UNDECIMBER = 12, }; pub const UCAL_JANUARY = UCalendarMonths.JANUARY; pub const UCAL_FEBRUARY = UCalendarMonths.FEBRUARY; pub const UCAL_MARCH = UCalendarMonths.MARCH; pub const UCAL_APRIL = UCalendarMonths.APRIL; pub const UCAL_MAY = UCalendarMonths.MAY; pub const UCAL_JUNE = UCalendarMonths.JUNE; pub const UCAL_JULY = UCalendarMonths.JULY; pub const UCAL_AUGUST = UCalendarMonths.AUGUST; pub const UCAL_SEPTEMBER = UCalendarMonths.SEPTEMBER; pub const UCAL_OCTOBER = UCalendarMonths.OCTOBER; pub const UCAL_NOVEMBER = UCalendarMonths.NOVEMBER; pub const UCAL_DECEMBER = UCalendarMonths.DECEMBER; pub const UCAL_UNDECIMBER = UCalendarMonths.UNDECIMBER; pub const UCalendarAMPMs = enum(i32) { AM = 0, PM = 1, }; pub const UCAL_AM = UCalendarAMPMs.AM; pub const UCAL_PM = UCalendarAMPMs.PM; pub const USystemTimeZoneType = enum(i32) { ANY = 0, CANONICAL = 1, CANONICAL_LOCATION = 2, }; pub const UCAL_ZONE_TYPE_ANY = USystemTimeZoneType.ANY; pub const UCAL_ZONE_TYPE_CANONICAL = USystemTimeZoneType.CANONICAL; pub const UCAL_ZONE_TYPE_CANONICAL_LOCATION = USystemTimeZoneType.CANONICAL_LOCATION; pub const UCalendarDisplayNameType = enum(i32) { STANDARD = 0, SHORT_STANDARD = 1, DST = 2, SHORT_DST = 3, }; pub const UCAL_STANDARD = UCalendarDisplayNameType.STANDARD; pub const UCAL_SHORT_STANDARD = UCalendarDisplayNameType.SHORT_STANDARD; pub const UCAL_DST = UCalendarDisplayNameType.DST; pub const UCAL_SHORT_DST = UCalendarDisplayNameType.SHORT_DST; pub const UCalendarAttribute = enum(i32) { LENIENT = 0, FIRST_DAY_OF_WEEK = 1, MINIMAL_DAYS_IN_FIRST_WEEK = 2, REPEATED_WALL_TIME = 3, SKIPPED_WALL_TIME = 4, }; pub const UCAL_LENIENT = UCalendarAttribute.LENIENT; pub const UCAL_FIRST_DAY_OF_WEEK = UCalendarAttribute.FIRST_DAY_OF_WEEK; pub const UCAL_MINIMAL_DAYS_IN_FIRST_WEEK = UCalendarAttribute.MINIMAL_DAYS_IN_FIRST_WEEK; pub const UCAL_REPEATED_WALL_TIME = UCalendarAttribute.REPEATED_WALL_TIME; pub const UCAL_SKIPPED_WALL_TIME = UCalendarAttribute.SKIPPED_WALL_TIME; pub const UCalendarWallTimeOption = enum(i32) { LAST = 0, FIRST = 1, NEXT_VALID = 2, }; pub const UCAL_WALLTIME_LAST = UCalendarWallTimeOption.LAST; pub const UCAL_WALLTIME_FIRST = UCalendarWallTimeOption.FIRST; pub const UCAL_WALLTIME_NEXT_VALID = UCalendarWallTimeOption.NEXT_VALID; pub const UCalendarLimitType = enum(i32) { MINIMUM = 0, MAXIMUM = 1, GREATEST_MINIMUM = 2, LEAST_MAXIMUM = 3, ACTUAL_MINIMUM = 4, ACTUAL_MAXIMUM = 5, }; pub const UCAL_MINIMUM = UCalendarLimitType.MINIMUM; pub const UCAL_MAXIMUM = UCalendarLimitType.MAXIMUM; pub const UCAL_GREATEST_MINIMUM = UCalendarLimitType.GREATEST_MINIMUM; pub const UCAL_LEAST_MAXIMUM = UCalendarLimitType.LEAST_MAXIMUM; pub const UCAL_ACTUAL_MINIMUM = UCalendarLimitType.ACTUAL_MINIMUM; pub const UCAL_ACTUAL_MAXIMUM = UCalendarLimitType.ACTUAL_MAXIMUM; pub const UCalendarWeekdayType = enum(i32) { DAY = 0, END = 1, END_ONSET = 2, END_CEASE = 3, }; pub const UCAL_WEEKDAY = UCalendarWeekdayType.DAY; pub const UCAL_WEEKEND = UCalendarWeekdayType.END; pub const UCAL_WEEKEND_ONSET = UCalendarWeekdayType.END_ONSET; pub const UCAL_WEEKEND_CEASE = UCalendarWeekdayType.END_CEASE; pub const UTimeZoneTransitionType = enum(i32) { NEXT = 0, NEXT_INCLUSIVE = 1, PREVIOUS = 2, PREVIOUS_INCLUSIVE = 3, }; pub const UCAL_TZ_TRANSITION_NEXT = UTimeZoneTransitionType.NEXT; pub const UCAL_TZ_TRANSITION_NEXT_INCLUSIVE = UTimeZoneTransitionType.NEXT_INCLUSIVE; pub const UCAL_TZ_TRANSITION_PREVIOUS = UTimeZoneTransitionType.PREVIOUS; pub const UCAL_TZ_TRANSITION_PREVIOUS_INCLUSIVE = UTimeZoneTransitionType.PREVIOUS_INCLUSIVE; pub const UCollator = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UCollationResult = enum(i32) { EQUAL = 0, GREATER = 1, LESS = -1, }; pub const UCOL_EQUAL = UCollationResult.EQUAL; pub const UCOL_GREATER = UCollationResult.GREATER; pub const UCOL_LESS = UCollationResult.LESS; pub const UColAttributeValue = enum(i32) { DEFAULT = -1, PRIMARY = 0, SECONDARY = 1, TERTIARY = 2, // DEFAULT_STRENGTH = 2, this enum value conflicts with TERTIARY CE_STRENGTH_LIMIT = 3, // QUATERNARY = 3, this enum value conflicts with CE_STRENGTH_LIMIT IDENTICAL = 15, STRENGTH_LIMIT = 16, // OFF = 16, this enum value conflicts with STRENGTH_LIMIT ON = 17, SHIFTED = 20, NON_IGNORABLE = 21, LOWER_FIRST = 24, UPPER_FIRST = 25, }; pub const UCOL_DEFAULT = UColAttributeValue.DEFAULT; pub const UCOL_PRIMARY = UColAttributeValue.PRIMARY; pub const UCOL_SECONDARY = UColAttributeValue.SECONDARY; pub const UCOL_TERTIARY = UColAttributeValue.TERTIARY; pub const UCOL_DEFAULT_STRENGTH = UColAttributeValue.TERTIARY; pub const UCOL_CE_STRENGTH_LIMIT = UColAttributeValue.CE_STRENGTH_LIMIT; pub const UCOL_QUATERNARY = UColAttributeValue.CE_STRENGTH_LIMIT; pub const UCOL_IDENTICAL = UColAttributeValue.IDENTICAL; pub const UCOL_STRENGTH_LIMIT = UColAttributeValue.STRENGTH_LIMIT; pub const UCOL_OFF = UColAttributeValue.STRENGTH_LIMIT; pub const UCOL_ON = UColAttributeValue.ON; pub const UCOL_SHIFTED = UColAttributeValue.SHIFTED; pub const UCOL_NON_IGNORABLE = UColAttributeValue.NON_IGNORABLE; pub const UCOL_LOWER_FIRST = UColAttributeValue.LOWER_FIRST; pub const UCOL_UPPER_FIRST = UColAttributeValue.UPPER_FIRST; pub const UColReorderCode = enum(i32) { DEFAULT = -1, NONE = 103, // OTHERS = 103, this enum value conflicts with NONE SPACE = 4096, // FIRST = 4096, this enum value conflicts with SPACE PUNCTUATION = 4097, SYMBOL = 4098, CURRENCY = 4099, DIGIT = 4100, }; pub const UCOL_REORDER_CODE_DEFAULT = UColReorderCode.DEFAULT; pub const UCOL_REORDER_CODE_NONE = UColReorderCode.NONE; pub const UCOL_REORDER_CODE_OTHERS = UColReorderCode.NONE; pub const UCOL_REORDER_CODE_SPACE = UColReorderCode.SPACE; pub const UCOL_REORDER_CODE_FIRST = UColReorderCode.SPACE; pub const UCOL_REORDER_CODE_PUNCTUATION = UColReorderCode.PUNCTUATION; pub const UCOL_REORDER_CODE_SYMBOL = UColReorderCode.SYMBOL; pub const UCOL_REORDER_CODE_CURRENCY = UColReorderCode.CURRENCY; pub const UCOL_REORDER_CODE_DIGIT = UColReorderCode.DIGIT; pub const UColAttribute = enum(i32) { FRENCH_COLLATION = 0, ALTERNATE_HANDLING = 1, CASE_FIRST = 2, CASE_LEVEL = 3, NORMALIZATION_MODE = 4, // DECOMPOSITION_MODE = 4, this enum value conflicts with NORMALIZATION_MODE STRENGTH = 5, NUMERIC_COLLATION = 7, ATTRIBUTE_COUNT = 8, }; pub const UCOL_FRENCH_COLLATION = UColAttribute.FRENCH_COLLATION; pub const UCOL_ALTERNATE_HANDLING = UColAttribute.ALTERNATE_HANDLING; pub const UCOL_CASE_FIRST = UColAttribute.CASE_FIRST; pub const UCOL_CASE_LEVEL = UColAttribute.CASE_LEVEL; pub const UCOL_NORMALIZATION_MODE = UColAttribute.NORMALIZATION_MODE; pub const UCOL_DECOMPOSITION_MODE = UColAttribute.NORMALIZATION_MODE; pub const UCOL_STRENGTH = UColAttribute.STRENGTH; pub const UCOL_NUMERIC_COLLATION = UColAttribute.NUMERIC_COLLATION; pub const UCOL_ATTRIBUTE_COUNT = UColAttribute.ATTRIBUTE_COUNT; pub const UColRuleOption = enum(i32) { TAILORING_ONLY = 0, FULL_RULES = 1, }; pub const UCOL_TAILORING_ONLY = UColRuleOption.TAILORING_ONLY; pub const UCOL_FULL_RULES = UColRuleOption.FULL_RULES; pub const UColBoundMode = enum(i32) { LOWER = 0, UPPER = 1, UPPER_LONG = 2, }; pub const UCOL_BOUND_LOWER = UColBoundMode.LOWER; pub const UCOL_BOUND_UPPER = UColBoundMode.UPPER; pub const UCOL_BOUND_UPPER_LONG = UColBoundMode.UPPER_LONG; pub const UCollationElements = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UCharsetDetector = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UCharsetMatch = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UFieldPositionIterator = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UFormattableType = enum(i32) { DATE = 0, DOUBLE = 1, LONG = 2, STRING = 3, ARRAY = 4, INT64 = 5, OBJECT = 6, }; pub const UFMT_DATE = UFormattableType.DATE; pub const UFMT_DOUBLE = UFormattableType.DOUBLE; pub const UFMT_LONG = UFormattableType.LONG; pub const UFMT_STRING = UFormattableType.STRING; pub const UFMT_ARRAY = UFormattableType.ARRAY; pub const UFMT_INT64 = UFormattableType.INT64; pub const UFMT_OBJECT = UFormattableType.OBJECT; pub const UFieldCategory = enum(i32) { UNDEFINED = 0, DATE = 1, NUMBER = 2, LIST = 3, RELATIVE_DATETIME = 4, DATE_INTERVAL = 5, LIST_SPAN = 4099, DATE_INTERVAL_SPAN = 4101, }; pub const UFIELD_CATEGORY_UNDEFINED = UFieldCategory.UNDEFINED; pub const UFIELD_CATEGORY_DATE = UFieldCategory.DATE; pub const UFIELD_CATEGORY_NUMBER = UFieldCategory.NUMBER; pub const UFIELD_CATEGORY_LIST = UFieldCategory.LIST; pub const UFIELD_CATEGORY_RELATIVE_DATETIME = UFieldCategory.RELATIVE_DATETIME; pub const UFIELD_CATEGORY_DATE_INTERVAL = UFieldCategory.DATE_INTERVAL; pub const UFIELD_CATEGORY_LIST_SPAN = UFieldCategory.LIST_SPAN; pub const UFIELD_CATEGORY_DATE_INTERVAL_SPAN = UFieldCategory.DATE_INTERVAL_SPAN; pub const UConstrainedFieldPosition = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UFormattedValue = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UDateIntervalFormat = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UFormattedDateInterval = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UGender = enum(i32) { MALE = 0, FEMALE = 1, OTHER = 2, }; pub const UGENDER_MALE = UGender.MALE; pub const UGENDER_FEMALE = UGender.FEMALE; pub const UGENDER_OTHER = UGender.OTHER; pub const UGenderInfo = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UListFormatter = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UFormattedList = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UListFormatterField = enum(i32) { LITERAL_FIELD = 0, ELEMENT_FIELD = 1, }; pub const ULISTFMT_LITERAL_FIELD = UListFormatterField.LITERAL_FIELD; pub const ULISTFMT_ELEMENT_FIELD = UListFormatterField.ELEMENT_FIELD; pub const UListFormatterType = enum(i32) { AND = 0, OR = 1, UNITS = 2, }; pub const ULISTFMT_TYPE_AND = UListFormatterType.AND; pub const ULISTFMT_TYPE_OR = UListFormatterType.OR; pub const ULISTFMT_TYPE_UNITS = UListFormatterType.UNITS; pub const UListFormatterWidth = enum(i32) { WIDE = 0, SHORT = 1, NARROW = 2, }; pub const ULISTFMT_WIDTH_WIDE = UListFormatterWidth.WIDE; pub const ULISTFMT_WIDTH_SHORT = UListFormatterWidth.SHORT; pub const ULISTFMT_WIDTH_NARROW = UListFormatterWidth.NARROW; pub const ULocaleData = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const ULocaleDataExemplarSetType = enum(i32) { STANDARD = 0, AUXILIARY = 1, INDEX = 2, PUNCTUATION = 3, }; pub const ULOCDATA_ES_STANDARD = ULocaleDataExemplarSetType.STANDARD; pub const ULOCDATA_ES_AUXILIARY = ULocaleDataExemplarSetType.AUXILIARY; pub const ULOCDATA_ES_INDEX = ULocaleDataExemplarSetType.INDEX; pub const ULOCDATA_ES_PUNCTUATION = ULocaleDataExemplarSetType.PUNCTUATION; pub const ULocaleDataDelimiterType = enum(i32) { QUOTATION_START = 0, QUOTATION_END = 1, ALT_QUOTATION_START = 2, ALT_QUOTATION_END = 3, }; pub const ULOCDATA_QUOTATION_START = ULocaleDataDelimiterType.QUOTATION_START; pub const ULOCDATA_QUOTATION_END = ULocaleDataDelimiterType.QUOTATION_END; pub const ULOCDATA_ALT_QUOTATION_START = ULocaleDataDelimiterType.ALT_QUOTATION_START; pub const ULOCDATA_ALT_QUOTATION_END = ULocaleDataDelimiterType.ALT_QUOTATION_END; pub const UMeasurementSystem = enum(i32) { SI = 0, US = 1, UK = 2, }; pub const UMS_SI = UMeasurementSystem.SI; pub const UMS_US = UMeasurementSystem.US; pub const UMS_UK = UMeasurementSystem.UK; pub const UNumberFormatStyle = enum(i32) { PATTERN_DECIMAL = 0, DECIMAL = 1, CURRENCY = 2, PERCENT = 3, SCIENTIFIC = 4, SPELLOUT = 5, ORDINAL = 6, DURATION = 7, NUMBERING_SYSTEM = 8, PATTERN_RULEBASED = 9, CURRENCY_ISO = 10, CURRENCY_PLURAL = 11, CURRENCY_ACCOUNTING = 12, CASH_CURRENCY = 13, DECIMAL_COMPACT_SHORT = 14, DECIMAL_COMPACT_LONG = 15, CURRENCY_STANDARD = 16, // DEFAULT = 1, this enum value conflicts with DECIMAL // IGNORE = 0, this enum value conflicts with PATTERN_DECIMAL }; pub const UNUM_PATTERN_DECIMAL = UNumberFormatStyle.PATTERN_DECIMAL; pub const UNUM_DECIMAL = UNumberFormatStyle.DECIMAL; pub const UNUM_CURRENCY = UNumberFormatStyle.CURRENCY; pub const UNUM_PERCENT = UNumberFormatStyle.PERCENT; pub const UNUM_SCIENTIFIC = UNumberFormatStyle.SCIENTIFIC; pub const UNUM_SPELLOUT = UNumberFormatStyle.SPELLOUT; pub const UNUM_ORDINAL = UNumberFormatStyle.ORDINAL; pub const UNUM_DURATION = UNumberFormatStyle.DURATION; pub const UNUM_NUMBERING_SYSTEM = UNumberFormatStyle.NUMBERING_SYSTEM; pub const UNUM_PATTERN_RULEBASED = UNumberFormatStyle.PATTERN_RULEBASED; pub const UNUM_CURRENCY_ISO = UNumberFormatStyle.CURRENCY_ISO; pub const UNUM_CURRENCY_PLURAL = UNumberFormatStyle.CURRENCY_PLURAL; pub const UNUM_CURRENCY_ACCOUNTING = UNumberFormatStyle.CURRENCY_ACCOUNTING; pub const UNUM_CASH_CURRENCY = UNumberFormatStyle.CASH_CURRENCY; pub const UNUM_DECIMAL_COMPACT_SHORT = UNumberFormatStyle.DECIMAL_COMPACT_SHORT; pub const UNUM_DECIMAL_COMPACT_LONG = UNumberFormatStyle.DECIMAL_COMPACT_LONG; pub const UNUM_CURRENCY_STANDARD = UNumberFormatStyle.CURRENCY_STANDARD; pub const UNUM_DEFAULT = UNumberFormatStyle.DECIMAL; pub const UNUM_IGNORE = UNumberFormatStyle.PATTERN_DECIMAL; pub const UNumberFormatRoundingMode = enum(i32) { CEILING = 0, FLOOR = 1, DOWN = 2, UP = 3, HALFEVEN = 4, HALFDOWN = 5, HALFUP = 6, UNNECESSARY = 7, }; pub const UNUM_ROUND_CEILING = UNumberFormatRoundingMode.CEILING; pub const UNUM_ROUND_FLOOR = UNumberFormatRoundingMode.FLOOR; pub const UNUM_ROUND_DOWN = UNumberFormatRoundingMode.DOWN; pub const UNUM_ROUND_UP = UNumberFormatRoundingMode.UP; pub const UNUM_ROUND_HALFEVEN = UNumberFormatRoundingMode.HALFEVEN; pub const UNUM_ROUND_HALFDOWN = UNumberFormatRoundingMode.HALFDOWN; pub const UNUM_ROUND_HALFUP = UNumberFormatRoundingMode.HALFUP; pub const UNUM_ROUND_UNNECESSARY = UNumberFormatRoundingMode.UNNECESSARY; pub const UNumberFormatPadPosition = enum(i32) { BEFORE_PREFIX = 0, AFTER_PREFIX = 1, BEFORE_SUFFIX = 2, AFTER_SUFFIX = 3, }; pub const UNUM_PAD_BEFORE_PREFIX = UNumberFormatPadPosition.BEFORE_PREFIX; pub const UNUM_PAD_AFTER_PREFIX = UNumberFormatPadPosition.AFTER_PREFIX; pub const UNUM_PAD_BEFORE_SUFFIX = UNumberFormatPadPosition.BEFORE_SUFFIX; pub const UNUM_PAD_AFTER_SUFFIX = UNumberFormatPadPosition.AFTER_SUFFIX; pub const UNumberCompactStyle = enum(i32) { SHORT = 0, LONG = 1, }; pub const UNUM_SHORT = UNumberCompactStyle.SHORT; pub const UNUM_LONG = UNumberCompactStyle.LONG; pub const UCurrencySpacing = enum(i32) { MATCH = 0, SURROUNDING_MATCH = 1, INSERT = 2, SPACING_COUNT = 3, }; pub const UNUM_CURRENCY_MATCH = UCurrencySpacing.MATCH; pub const UNUM_CURRENCY_SURROUNDING_MATCH = UCurrencySpacing.SURROUNDING_MATCH; pub const UNUM_CURRENCY_INSERT = UCurrencySpacing.INSERT; pub const UNUM_CURRENCY_SPACING_COUNT = UCurrencySpacing.SPACING_COUNT; pub const UNumberFormatFields = enum(i32) { INTEGER_FIELD = 0, FRACTION_FIELD = 1, DECIMAL_SEPARATOR_FIELD = 2, EXPONENT_SYMBOL_FIELD = 3, EXPONENT_SIGN_FIELD = 4, EXPONENT_FIELD = 5, GROUPING_SEPARATOR_FIELD = 6, CURRENCY_FIELD = 7, PERCENT_FIELD = 8, PERMILL_FIELD = 9, SIGN_FIELD = 10, MEASURE_UNIT_FIELD = 11, COMPACT_FIELD = 12, }; pub const UNUM_INTEGER_FIELD = UNumberFormatFields.INTEGER_FIELD; pub const UNUM_FRACTION_FIELD = UNumberFormatFields.FRACTION_FIELD; pub const UNUM_DECIMAL_SEPARATOR_FIELD = UNumberFormatFields.DECIMAL_SEPARATOR_FIELD; pub const UNUM_EXPONENT_SYMBOL_FIELD = UNumberFormatFields.EXPONENT_SYMBOL_FIELD; pub const UNUM_EXPONENT_SIGN_FIELD = UNumberFormatFields.EXPONENT_SIGN_FIELD; pub const UNUM_EXPONENT_FIELD = UNumberFormatFields.EXPONENT_FIELD; pub const UNUM_GROUPING_SEPARATOR_FIELD = UNumberFormatFields.GROUPING_SEPARATOR_FIELD; pub const UNUM_CURRENCY_FIELD = UNumberFormatFields.CURRENCY_FIELD; pub const UNUM_PERCENT_FIELD = UNumberFormatFields.PERCENT_FIELD; pub const UNUM_PERMILL_FIELD = UNumberFormatFields.PERMILL_FIELD; pub const UNUM_SIGN_FIELD = UNumberFormatFields.SIGN_FIELD; pub const UNUM_MEASURE_UNIT_FIELD = UNumberFormatFields.MEASURE_UNIT_FIELD; pub const UNUM_COMPACT_FIELD = UNumberFormatFields.COMPACT_FIELD; pub const UNumberFormatAttributeValue = enum(i32) { N = 0, }; pub const UNUM_FORMAT_ATTRIBUTE_VALUE_HIDDEN = UNumberFormatAttributeValue.N; pub const UNumberFormatAttribute = enum(i32) { PARSE_INT_ONLY = 0, GROUPING_USED = 1, DECIMAL_ALWAYS_SHOWN = 2, MAX_INTEGER_DIGITS = 3, MIN_INTEGER_DIGITS = 4, INTEGER_DIGITS = 5, MAX_FRACTION_DIGITS = 6, MIN_FRACTION_DIGITS = 7, FRACTION_DIGITS = 8, MULTIPLIER = 9, GROUPING_SIZE = 10, ROUNDING_MODE = 11, ROUNDING_INCREMENT = 12, FORMAT_WIDTH = 13, PADDING_POSITION = 14, SECONDARY_GROUPING_SIZE = 15, SIGNIFICANT_DIGITS_USED = 16, MIN_SIGNIFICANT_DIGITS = 17, MAX_SIGNIFICANT_DIGITS = 18, LENIENT_PARSE = 19, PARSE_ALL_INPUT = 20, SCALE = 21, MINIMUM_GROUPING_DIGITS = 22, CURRENCY_USAGE = 23, FORMAT_FAIL_IF_MORE_THAN_MAX_DIGITS = 4096, PARSE_NO_EXPONENT = 4097, PARSE_DECIMAL_MARK_REQUIRED = 4098, PARSE_CASE_SENSITIVE = 4099, SIGN_ALWAYS_SHOWN = 4100, }; pub const UNUM_PARSE_INT_ONLY = UNumberFormatAttribute.PARSE_INT_ONLY; pub const UNUM_GROUPING_USED = UNumberFormatAttribute.GROUPING_USED; pub const UNUM_DECIMAL_ALWAYS_SHOWN = UNumberFormatAttribute.DECIMAL_ALWAYS_SHOWN; pub const UNUM_MAX_INTEGER_DIGITS = UNumberFormatAttribute.MAX_INTEGER_DIGITS; pub const UNUM_MIN_INTEGER_DIGITS = UNumberFormatAttribute.MIN_INTEGER_DIGITS; pub const UNUM_INTEGER_DIGITS = UNumberFormatAttribute.INTEGER_DIGITS; pub const UNUM_MAX_FRACTION_DIGITS = UNumberFormatAttribute.MAX_FRACTION_DIGITS; pub const UNUM_MIN_FRACTION_DIGITS = UNumberFormatAttribute.MIN_FRACTION_DIGITS; pub const UNUM_FRACTION_DIGITS = UNumberFormatAttribute.FRACTION_DIGITS; pub const UNUM_MULTIPLIER = UNumberFormatAttribute.MULTIPLIER; pub const UNUM_GROUPING_SIZE = UNumberFormatAttribute.GROUPING_SIZE; pub const UNUM_ROUNDING_MODE = UNumberFormatAttribute.ROUNDING_MODE; pub const UNUM_ROUNDING_INCREMENT = UNumberFormatAttribute.ROUNDING_INCREMENT; pub const UNUM_FORMAT_WIDTH = UNumberFormatAttribute.FORMAT_WIDTH; pub const UNUM_PADDING_POSITION = UNumberFormatAttribute.PADDING_POSITION; pub const UNUM_SECONDARY_GROUPING_SIZE = UNumberFormatAttribute.SECONDARY_GROUPING_SIZE; pub const UNUM_SIGNIFICANT_DIGITS_USED = UNumberFormatAttribute.SIGNIFICANT_DIGITS_USED; pub const UNUM_MIN_SIGNIFICANT_DIGITS = UNumberFormatAttribute.MIN_SIGNIFICANT_DIGITS; pub const UNUM_MAX_SIGNIFICANT_DIGITS = UNumberFormatAttribute.MAX_SIGNIFICANT_DIGITS; pub const UNUM_LENIENT_PARSE = UNumberFormatAttribute.LENIENT_PARSE; pub const UNUM_PARSE_ALL_INPUT = UNumberFormatAttribute.PARSE_ALL_INPUT; pub const UNUM_SCALE = UNumberFormatAttribute.SCALE; pub const UNUM_MINIMUM_GROUPING_DIGITS = UNumberFormatAttribute.MINIMUM_GROUPING_DIGITS; pub const UNUM_CURRENCY_USAGE = UNumberFormatAttribute.CURRENCY_USAGE; pub const UNUM_FORMAT_FAIL_IF_MORE_THAN_MAX_DIGITS = UNumberFormatAttribute.FORMAT_FAIL_IF_MORE_THAN_MAX_DIGITS; pub const UNUM_PARSE_NO_EXPONENT = UNumberFormatAttribute.PARSE_NO_EXPONENT; pub const UNUM_PARSE_DECIMAL_MARK_REQUIRED = UNumberFormatAttribute.PARSE_DECIMAL_MARK_REQUIRED; pub const UNUM_PARSE_CASE_SENSITIVE = UNumberFormatAttribute.PARSE_CASE_SENSITIVE; pub const UNUM_SIGN_ALWAYS_SHOWN = UNumberFormatAttribute.SIGN_ALWAYS_SHOWN; pub const UNumberFormatTextAttribute = enum(i32) { POSITIVE_PREFIX = 0, POSITIVE_SUFFIX = 1, NEGATIVE_PREFIX = 2, NEGATIVE_SUFFIX = 3, PADDING_CHARACTER = 4, CURRENCY_CODE = 5, DEFAULT_RULESET = 6, PUBLIC_RULESETS = 7, }; pub const UNUM_POSITIVE_PREFIX = UNumberFormatTextAttribute.POSITIVE_PREFIX; pub const UNUM_POSITIVE_SUFFIX = UNumberFormatTextAttribute.POSITIVE_SUFFIX; pub const UNUM_NEGATIVE_PREFIX = UNumberFormatTextAttribute.NEGATIVE_PREFIX; pub const UNUM_NEGATIVE_SUFFIX = UNumberFormatTextAttribute.NEGATIVE_SUFFIX; pub const UNUM_PADDING_CHARACTER = UNumberFormatTextAttribute.PADDING_CHARACTER; pub const UNUM_CURRENCY_CODE = UNumberFormatTextAttribute.CURRENCY_CODE; pub const UNUM_DEFAULT_RULESET = UNumberFormatTextAttribute.DEFAULT_RULESET; pub const UNUM_PUBLIC_RULESETS = UNumberFormatTextAttribute.PUBLIC_RULESETS; pub const UNumberFormatSymbol = enum(i32) { DECIMAL_SEPARATOR_SYMBOL = 0, GROUPING_SEPARATOR_SYMBOL = 1, PATTERN_SEPARATOR_SYMBOL = 2, PERCENT_SYMBOL = 3, ZERO_DIGIT_SYMBOL = 4, DIGIT_SYMBOL = 5, MINUS_SIGN_SYMBOL = 6, PLUS_SIGN_SYMBOL = 7, CURRENCY_SYMBOL = 8, INTL_CURRENCY_SYMBOL = 9, MONETARY_SEPARATOR_SYMBOL = 10, EXPONENTIAL_SYMBOL = 11, PERMILL_SYMBOL = 12, PAD_ESCAPE_SYMBOL = 13, INFINITY_SYMBOL = 14, NAN_SYMBOL = 15, SIGNIFICANT_DIGIT_SYMBOL = 16, MONETARY_GROUPING_SEPARATOR_SYMBOL = 17, ONE_DIGIT_SYMBOL = 18, TWO_DIGIT_SYMBOL = 19, THREE_DIGIT_SYMBOL = 20, FOUR_DIGIT_SYMBOL = 21, FIVE_DIGIT_SYMBOL = 22, SIX_DIGIT_SYMBOL = 23, SEVEN_DIGIT_SYMBOL = 24, EIGHT_DIGIT_SYMBOL = 25, NINE_DIGIT_SYMBOL = 26, EXPONENT_MULTIPLICATION_SYMBOL = 27, }; pub const UNUM_DECIMAL_SEPARATOR_SYMBOL = UNumberFormatSymbol.DECIMAL_SEPARATOR_SYMBOL; pub const UNUM_GROUPING_SEPARATOR_SYMBOL = UNumberFormatSymbol.GROUPING_SEPARATOR_SYMBOL; pub const UNUM_PATTERN_SEPARATOR_SYMBOL = UNumberFormatSymbol.PATTERN_SEPARATOR_SYMBOL; pub const UNUM_PERCENT_SYMBOL = UNumberFormatSymbol.PERCENT_SYMBOL; pub const UNUM_ZERO_DIGIT_SYMBOL = UNumberFormatSymbol.ZERO_DIGIT_SYMBOL; pub const UNUM_DIGIT_SYMBOL = UNumberFormatSymbol.DIGIT_SYMBOL; pub const UNUM_MINUS_SIGN_SYMBOL = UNumberFormatSymbol.MINUS_SIGN_SYMBOL; pub const UNUM_PLUS_SIGN_SYMBOL = UNumberFormatSymbol.PLUS_SIGN_SYMBOL; pub const UNUM_CURRENCY_SYMBOL = UNumberFormatSymbol.CURRENCY_SYMBOL; pub const UNUM_INTL_CURRENCY_SYMBOL = UNumberFormatSymbol.INTL_CURRENCY_SYMBOL; pub const UNUM_MONETARY_SEPARATOR_SYMBOL = UNumberFormatSymbol.MONETARY_SEPARATOR_SYMBOL; pub const UNUM_EXPONENTIAL_SYMBOL = UNumberFormatSymbol.EXPONENTIAL_SYMBOL; pub const UNUM_PERMILL_SYMBOL = UNumberFormatSymbol.PERMILL_SYMBOL; pub const UNUM_PAD_ESCAPE_SYMBOL = UNumberFormatSymbol.PAD_ESCAPE_SYMBOL; pub const UNUM_INFINITY_SYMBOL = UNumberFormatSymbol.INFINITY_SYMBOL; pub const UNUM_NAN_SYMBOL = UNumberFormatSymbol.NAN_SYMBOL; pub const UNUM_SIGNIFICANT_DIGIT_SYMBOL = UNumberFormatSymbol.SIGNIFICANT_DIGIT_SYMBOL; pub const UNUM_MONETARY_GROUPING_SEPARATOR_SYMBOL = UNumberFormatSymbol.MONETARY_GROUPING_SEPARATOR_SYMBOL; pub const UNUM_ONE_DIGIT_SYMBOL = UNumberFormatSymbol.ONE_DIGIT_SYMBOL; pub const UNUM_TWO_DIGIT_SYMBOL = UNumberFormatSymbol.TWO_DIGIT_SYMBOL; pub const UNUM_THREE_DIGIT_SYMBOL = UNumberFormatSymbol.THREE_DIGIT_SYMBOL; pub const UNUM_FOUR_DIGIT_SYMBOL = UNumberFormatSymbol.FOUR_DIGIT_SYMBOL; pub const UNUM_FIVE_DIGIT_SYMBOL = UNumberFormatSymbol.FIVE_DIGIT_SYMBOL; pub const UNUM_SIX_DIGIT_SYMBOL = UNumberFormatSymbol.SIX_DIGIT_SYMBOL; pub const UNUM_SEVEN_DIGIT_SYMBOL = UNumberFormatSymbol.SEVEN_DIGIT_SYMBOL; pub const UNUM_EIGHT_DIGIT_SYMBOL = UNumberFormatSymbol.EIGHT_DIGIT_SYMBOL; pub const UNUM_NINE_DIGIT_SYMBOL = UNumberFormatSymbol.NINE_DIGIT_SYMBOL; pub const UNUM_EXPONENT_MULTIPLICATION_SYMBOL = UNumberFormatSymbol.EXPONENT_MULTIPLICATION_SYMBOL; pub const UDateFormatStyle = enum(i32) { FULL = 0, LONG = 1, MEDIUM = 2, SHORT = 3, // DEFAULT = 2, this enum value conflicts with MEDIUM RELATIVE = 128, // FULL_RELATIVE = 128, this enum value conflicts with RELATIVE LONG_RELATIVE = 129, MEDIUM_RELATIVE = 130, SHORT_RELATIVE = 131, NONE = -1, PATTERN = -2, }; pub const UDAT_FULL = UDateFormatStyle.FULL; pub const UDAT_LONG = UDateFormatStyle.LONG; pub const UDAT_MEDIUM = UDateFormatStyle.MEDIUM; pub const UDAT_SHORT = UDateFormatStyle.SHORT; pub const UDAT_DEFAULT = UDateFormatStyle.MEDIUM; pub const UDAT_RELATIVE = UDateFormatStyle.RELATIVE; pub const UDAT_FULL_RELATIVE = UDateFormatStyle.RELATIVE; pub const UDAT_LONG_RELATIVE = UDateFormatStyle.LONG_RELATIVE; pub const UDAT_MEDIUM_RELATIVE = UDateFormatStyle.MEDIUM_RELATIVE; pub const UDAT_SHORT_RELATIVE = UDateFormatStyle.SHORT_RELATIVE; pub const UDAT_NONE = UDateFormatStyle.NONE; pub const UDAT_PATTERN = UDateFormatStyle.PATTERN; pub const UDateFormatField = enum(i32) { ERA_FIELD = 0, YEAR_FIELD = 1, MONTH_FIELD = 2, DATE_FIELD = 3, HOUR_OF_DAY1_FIELD = 4, HOUR_OF_DAY0_FIELD = 5, MINUTE_FIELD = 6, SECOND_FIELD = 7, FRACTIONAL_SECOND_FIELD = 8, DAY_OF_WEEK_FIELD = 9, DAY_OF_YEAR_FIELD = 10, DAY_OF_WEEK_IN_MONTH_FIELD = 11, WEEK_OF_YEAR_FIELD = 12, WEEK_OF_MONTH_FIELD = 13, AM_PM_FIELD = 14, HOUR1_FIELD = 15, HOUR0_FIELD = 16, TIMEZONE_FIELD = 17, YEAR_WOY_FIELD = 18, DOW_LOCAL_FIELD = 19, EXTENDED_YEAR_FIELD = 20, JULIAN_DAY_FIELD = 21, MILLISECONDS_IN_DAY_FIELD = 22, TIMEZONE_RFC_FIELD = 23, TIMEZONE_GENERIC_FIELD = 24, STANDALONE_DAY_FIELD = 25, STANDALONE_MONTH_FIELD = 26, QUARTER_FIELD = 27, STANDALONE_QUARTER_FIELD = 28, TIMEZONE_SPECIAL_FIELD = 29, YEAR_NAME_FIELD = 30, TIMEZONE_LOCALIZED_GMT_OFFSET_FIELD = 31, TIMEZONE_ISO_FIELD = 32, TIMEZONE_ISO_LOCAL_FIELD = 33, AM_PM_MIDNIGHT_NOON_FIELD = 35, FLEXIBLE_DAY_PERIOD_FIELD = 36, }; pub const UDAT_ERA_FIELD = UDateFormatField.ERA_FIELD; pub const UDAT_YEAR_FIELD = UDateFormatField.YEAR_FIELD; pub const UDAT_MONTH_FIELD = UDateFormatField.MONTH_FIELD; pub const UDAT_DATE_FIELD = UDateFormatField.DATE_FIELD; pub const UDAT_HOUR_OF_DAY1_FIELD = UDateFormatField.HOUR_OF_DAY1_FIELD; pub const UDAT_HOUR_OF_DAY0_FIELD = UDateFormatField.HOUR_OF_DAY0_FIELD; pub const UDAT_MINUTE_FIELD = UDateFormatField.MINUTE_FIELD; pub const UDAT_SECOND_FIELD = UDateFormatField.SECOND_FIELD; pub const UDAT_FRACTIONAL_SECOND_FIELD = UDateFormatField.FRACTIONAL_SECOND_FIELD; pub const UDAT_DAY_OF_WEEK_FIELD = UDateFormatField.DAY_OF_WEEK_FIELD; pub const UDAT_DAY_OF_YEAR_FIELD = UDateFormatField.DAY_OF_YEAR_FIELD; pub const UDAT_DAY_OF_WEEK_IN_MONTH_FIELD = UDateFormatField.DAY_OF_WEEK_IN_MONTH_FIELD; pub const UDAT_WEEK_OF_YEAR_FIELD = UDateFormatField.WEEK_OF_YEAR_FIELD; pub const UDAT_WEEK_OF_MONTH_FIELD = UDateFormatField.WEEK_OF_MONTH_FIELD; pub const UDAT_AM_PM_FIELD = UDateFormatField.AM_PM_FIELD; pub const UDAT_HOUR1_FIELD = UDateFormatField.HOUR1_FIELD; pub const UDAT_HOUR0_FIELD = UDateFormatField.HOUR0_FIELD; pub const UDAT_TIMEZONE_FIELD = UDateFormatField.TIMEZONE_FIELD; pub const UDAT_YEAR_WOY_FIELD = UDateFormatField.YEAR_WOY_FIELD; pub const UDAT_DOW_LOCAL_FIELD = UDateFormatField.DOW_LOCAL_FIELD; pub const UDAT_EXTENDED_YEAR_FIELD = UDateFormatField.EXTENDED_YEAR_FIELD; pub const UDAT_JULIAN_DAY_FIELD = UDateFormatField.JULIAN_DAY_FIELD; pub const UDAT_MILLISECONDS_IN_DAY_FIELD = UDateFormatField.MILLISECONDS_IN_DAY_FIELD; pub const UDAT_TIMEZONE_RFC_FIELD = UDateFormatField.TIMEZONE_RFC_FIELD; pub const UDAT_TIMEZONE_GENERIC_FIELD = UDateFormatField.TIMEZONE_GENERIC_FIELD; pub const UDAT_STANDALONE_DAY_FIELD = UDateFormatField.STANDALONE_DAY_FIELD; pub const UDAT_STANDALONE_MONTH_FIELD = UDateFormatField.STANDALONE_MONTH_FIELD; pub const UDAT_QUARTER_FIELD = UDateFormatField.QUARTER_FIELD; pub const UDAT_STANDALONE_QUARTER_FIELD = UDateFormatField.STANDALONE_QUARTER_FIELD; pub const UDAT_TIMEZONE_SPECIAL_FIELD = UDateFormatField.TIMEZONE_SPECIAL_FIELD; pub const UDAT_YEAR_NAME_FIELD = UDateFormatField.YEAR_NAME_FIELD; pub const UDAT_TIMEZONE_LOCALIZED_GMT_OFFSET_FIELD = UDateFormatField.TIMEZONE_LOCALIZED_GMT_OFFSET_FIELD; pub const UDAT_TIMEZONE_ISO_FIELD = UDateFormatField.TIMEZONE_ISO_FIELD; pub const UDAT_TIMEZONE_ISO_LOCAL_FIELD = UDateFormatField.TIMEZONE_ISO_LOCAL_FIELD; pub const UDAT_AM_PM_MIDNIGHT_NOON_FIELD = UDateFormatField.AM_PM_MIDNIGHT_NOON_FIELD; pub const UDAT_FLEXIBLE_DAY_PERIOD_FIELD = UDateFormatField.FLEXIBLE_DAY_PERIOD_FIELD; pub const UDateFormatBooleanAttribute = enum(i32) { PARSE_ALLOW_WHITESPACE = 0, PARSE_ALLOW_NUMERIC = 1, PARSE_PARTIAL_LITERAL_MATCH = 2, PARSE_MULTIPLE_PATTERNS_FOR_MATCH = 3, BOOLEAN_ATTRIBUTE_COUNT = 4, }; pub const UDAT_PARSE_ALLOW_WHITESPACE = UDateFormatBooleanAttribute.PARSE_ALLOW_WHITESPACE; pub const UDAT_PARSE_ALLOW_NUMERIC = UDateFormatBooleanAttribute.PARSE_ALLOW_NUMERIC; pub const UDAT_PARSE_PARTIAL_LITERAL_MATCH = UDateFormatBooleanAttribute.PARSE_PARTIAL_LITERAL_MATCH; pub const UDAT_PARSE_MULTIPLE_PATTERNS_FOR_MATCH = UDateFormatBooleanAttribute.PARSE_MULTIPLE_PATTERNS_FOR_MATCH; pub const UDAT_BOOLEAN_ATTRIBUTE_COUNT = UDateFormatBooleanAttribute.BOOLEAN_ATTRIBUTE_COUNT; pub const UDateFormatSymbolType = enum(i32) { ERAS = 0, MONTHS = 1, SHORT_MONTHS = 2, WEEKDAYS = 3, SHORT_WEEKDAYS = 4, AM_PMS = 5, LOCALIZED_CHARS = 6, ERA_NAMES = 7, NARROW_MONTHS = 8, NARROW_WEEKDAYS = 9, STANDALONE_MONTHS = 10, STANDALONE_SHORT_MONTHS = 11, STANDALONE_NARROW_MONTHS = 12, STANDALONE_WEEKDAYS = 13, STANDALONE_SHORT_WEEKDAYS = 14, STANDALONE_NARROW_WEEKDAYS = 15, QUARTERS = 16, SHORT_QUARTERS = 17, STANDALONE_QUARTERS = 18, STANDALONE_SHORT_QUARTERS = 19, SHORTER_WEEKDAYS = 20, STANDALONE_SHORTER_WEEKDAYS = 21, CYCLIC_YEARS_WIDE = 22, CYCLIC_YEARS_ABBREVIATED = 23, CYCLIC_YEARS_NARROW = 24, ZODIAC_NAMES_WIDE = 25, ZODIAC_NAMES_ABBREVIATED = 26, ZODIAC_NAMES_NARROW = 27, }; pub const UDAT_ERAS = UDateFormatSymbolType.ERAS; pub const UDAT_MONTHS = UDateFormatSymbolType.MONTHS; pub const UDAT_SHORT_MONTHS = UDateFormatSymbolType.SHORT_MONTHS; pub const UDAT_WEEKDAYS = UDateFormatSymbolType.WEEKDAYS; pub const UDAT_SHORT_WEEKDAYS = UDateFormatSymbolType.SHORT_WEEKDAYS; pub const UDAT_AM_PMS = UDateFormatSymbolType.AM_PMS; pub const UDAT_LOCALIZED_CHARS = UDateFormatSymbolType.LOCALIZED_CHARS; pub const UDAT_ERA_NAMES = UDateFormatSymbolType.ERA_NAMES; pub const UDAT_NARROW_MONTHS = UDateFormatSymbolType.NARROW_MONTHS; pub const UDAT_NARROW_WEEKDAYS = UDateFormatSymbolType.NARROW_WEEKDAYS; pub const UDAT_STANDALONE_MONTHS = UDateFormatSymbolType.STANDALONE_MONTHS; pub const UDAT_STANDALONE_SHORT_MONTHS = UDateFormatSymbolType.STANDALONE_SHORT_MONTHS; pub const UDAT_STANDALONE_NARROW_MONTHS = UDateFormatSymbolType.STANDALONE_NARROW_MONTHS; pub const UDAT_STANDALONE_WEEKDAYS = UDateFormatSymbolType.STANDALONE_WEEKDAYS; pub const UDAT_STANDALONE_SHORT_WEEKDAYS = UDateFormatSymbolType.STANDALONE_SHORT_WEEKDAYS; pub const UDAT_STANDALONE_NARROW_WEEKDAYS = UDateFormatSymbolType.STANDALONE_NARROW_WEEKDAYS; pub const UDAT_QUARTERS = UDateFormatSymbolType.QUARTERS; pub const UDAT_SHORT_QUARTERS = UDateFormatSymbolType.SHORT_QUARTERS; pub const UDAT_STANDALONE_QUARTERS = UDateFormatSymbolType.STANDALONE_QUARTERS; pub const UDAT_STANDALONE_SHORT_QUARTERS = UDateFormatSymbolType.STANDALONE_SHORT_QUARTERS; pub const UDAT_SHORTER_WEEKDAYS = UDateFormatSymbolType.SHORTER_WEEKDAYS; pub const UDAT_STANDALONE_SHORTER_WEEKDAYS = UDateFormatSymbolType.STANDALONE_SHORTER_WEEKDAYS; pub const UDAT_CYCLIC_YEARS_WIDE = UDateFormatSymbolType.CYCLIC_YEARS_WIDE; pub const UDAT_CYCLIC_YEARS_ABBREVIATED = UDateFormatSymbolType.CYCLIC_YEARS_ABBREVIATED; pub const UDAT_CYCLIC_YEARS_NARROW = UDateFormatSymbolType.CYCLIC_YEARS_NARROW; pub const UDAT_ZODIAC_NAMES_WIDE = UDateFormatSymbolType.ZODIAC_NAMES_WIDE; pub const UDAT_ZODIAC_NAMES_ABBREVIATED = UDateFormatSymbolType.ZODIAC_NAMES_ABBREVIATED; pub const UDAT_ZODIAC_NAMES_NARROW = UDateFormatSymbolType.ZODIAC_NAMES_NARROW; pub const UDateFormatSymbols = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UDateTimePatternField = enum(i32) { ERA_FIELD = 0, YEAR_FIELD = 1, QUARTER_FIELD = 2, MONTH_FIELD = 3, WEEK_OF_YEAR_FIELD = 4, WEEK_OF_MONTH_FIELD = 5, WEEKDAY_FIELD = 6, DAY_OF_YEAR_FIELD = 7, DAY_OF_WEEK_IN_MONTH_FIELD = 8, DAY_FIELD = 9, DAYPERIOD_FIELD = 10, HOUR_FIELD = 11, MINUTE_FIELD = 12, SECOND_FIELD = 13, FRACTIONAL_SECOND_FIELD = 14, ZONE_FIELD = 15, FIELD_COUNT = 16, }; pub const UDATPG_ERA_FIELD = UDateTimePatternField.ERA_FIELD; pub const UDATPG_YEAR_FIELD = UDateTimePatternField.YEAR_FIELD; pub const UDATPG_QUARTER_FIELD = UDateTimePatternField.QUARTER_FIELD; pub const UDATPG_MONTH_FIELD = UDateTimePatternField.MONTH_FIELD; pub const UDATPG_WEEK_OF_YEAR_FIELD = UDateTimePatternField.WEEK_OF_YEAR_FIELD; pub const UDATPG_WEEK_OF_MONTH_FIELD = UDateTimePatternField.WEEK_OF_MONTH_FIELD; pub const UDATPG_WEEKDAY_FIELD = UDateTimePatternField.WEEKDAY_FIELD; pub const UDATPG_DAY_OF_YEAR_FIELD = UDateTimePatternField.DAY_OF_YEAR_FIELD; pub const UDATPG_DAY_OF_WEEK_IN_MONTH_FIELD = UDateTimePatternField.DAY_OF_WEEK_IN_MONTH_FIELD; pub const UDATPG_DAY_FIELD = UDateTimePatternField.DAY_FIELD; pub const UDATPG_DAYPERIOD_FIELD = UDateTimePatternField.DAYPERIOD_FIELD; pub const UDATPG_HOUR_FIELD = UDateTimePatternField.HOUR_FIELD; pub const UDATPG_MINUTE_FIELD = UDateTimePatternField.MINUTE_FIELD; pub const UDATPG_SECOND_FIELD = UDateTimePatternField.SECOND_FIELD; pub const UDATPG_FRACTIONAL_SECOND_FIELD = UDateTimePatternField.FRACTIONAL_SECOND_FIELD; pub const UDATPG_ZONE_FIELD = UDateTimePatternField.ZONE_FIELD; pub const UDATPG_FIELD_COUNT = UDateTimePatternField.FIELD_COUNT; pub const UDateTimePGDisplayWidth = enum(i32) { WIDE = 0, ABBREVIATED = 1, NARROW = 2, }; pub const UDATPG_WIDE = UDateTimePGDisplayWidth.WIDE; pub const UDATPG_ABBREVIATED = UDateTimePGDisplayWidth.ABBREVIATED; pub const UDATPG_NARROW = UDateTimePGDisplayWidth.NARROW; pub const UDateTimePatternMatchOptions = enum(i32) { NO_OPTIONS = 0, HOUR_FIELD_LENGTH = 2048, ALL_FIELDS_LENGTH = 65535, }; pub const UDATPG_MATCH_NO_OPTIONS = UDateTimePatternMatchOptions.NO_OPTIONS; pub const UDATPG_MATCH_HOUR_FIELD_LENGTH = UDateTimePatternMatchOptions.HOUR_FIELD_LENGTH; pub const UDATPG_MATCH_ALL_FIELDS_LENGTH = UDateTimePatternMatchOptions.ALL_FIELDS_LENGTH; pub const UDateTimePatternConflict = enum(i32) { NO_CONFLICT = 0, BASE_CONFLICT = 1, CONFLICT = 2, }; pub const UDATPG_NO_CONFLICT = UDateTimePatternConflict.NO_CONFLICT; pub const UDATPG_BASE_CONFLICT = UDateTimePatternConflict.BASE_CONFLICT; pub const UDATPG_CONFLICT = UDateTimePatternConflict.CONFLICT; pub const UNumberUnitWidth = enum(i32) { NARROW = 0, SHORT = 1, FULL_NAME = 2, ISO_CODE = 3, HIDDEN = 4, COUNT = 5, }; pub const UNUM_UNIT_WIDTH_NARROW = UNumberUnitWidth.NARROW; pub const UNUM_UNIT_WIDTH_SHORT = UNumberUnitWidth.SHORT; pub const UNUM_UNIT_WIDTH_FULL_NAME = UNumberUnitWidth.FULL_NAME; pub const UNUM_UNIT_WIDTH_ISO_CODE = UNumberUnitWidth.ISO_CODE; pub const UNUM_UNIT_WIDTH_HIDDEN = UNumberUnitWidth.HIDDEN; pub const UNUM_UNIT_WIDTH_COUNT = UNumberUnitWidth.COUNT; pub const UNumberGroupingStrategy = enum(i32) { OFF = 0, MIN2 = 1, AUTO = 2, ON_ALIGNED = 3, THOUSANDS = 4, }; pub const UNUM_GROUPING_OFF = UNumberGroupingStrategy.OFF; pub const UNUM_GROUPING_MIN2 = UNumberGroupingStrategy.MIN2; pub const UNUM_GROUPING_AUTO = UNumberGroupingStrategy.AUTO; pub const UNUM_GROUPING_ON_ALIGNED = UNumberGroupingStrategy.ON_ALIGNED; pub const UNUM_GROUPING_THOUSANDS = UNumberGroupingStrategy.THOUSANDS; pub const UNumberSignDisplay = enum(i32) { AUTO = 0, ALWAYS = 1, NEVER = 2, ACCOUNTING = 3, ACCOUNTING_ALWAYS = 4, EXCEPT_ZERO = 5, ACCOUNTING_EXCEPT_ZERO = 6, COUNT = 7, }; pub const UNUM_SIGN_AUTO = UNumberSignDisplay.AUTO; pub const UNUM_SIGN_ALWAYS = UNumberSignDisplay.ALWAYS; pub const UNUM_SIGN_NEVER = UNumberSignDisplay.NEVER; pub const UNUM_SIGN_ACCOUNTING = UNumberSignDisplay.ACCOUNTING; pub const UNUM_SIGN_ACCOUNTING_ALWAYS = UNumberSignDisplay.ACCOUNTING_ALWAYS; pub const UNUM_SIGN_EXCEPT_ZERO = UNumberSignDisplay.EXCEPT_ZERO; pub const UNUM_SIGN_ACCOUNTING_EXCEPT_ZERO = UNumberSignDisplay.ACCOUNTING_EXCEPT_ZERO; pub const UNUM_SIGN_COUNT = UNumberSignDisplay.COUNT; pub const UNumberDecimalSeparatorDisplay = enum(i32) { AUTO = 0, ALWAYS = 1, COUNT = 2, }; pub const UNUM_DECIMAL_SEPARATOR_AUTO = UNumberDecimalSeparatorDisplay.AUTO; pub const UNUM_DECIMAL_SEPARATOR_ALWAYS = UNumberDecimalSeparatorDisplay.ALWAYS; pub const UNUM_DECIMAL_SEPARATOR_COUNT = UNumberDecimalSeparatorDisplay.COUNT; pub const UNumberFormatter = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UFormattedNumber = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UNumberRangeCollapse = enum(i32) { AUTO = 0, NONE = 1, UNIT = 2, ALL = 3, }; pub const UNUM_RANGE_COLLAPSE_AUTO = UNumberRangeCollapse.AUTO; pub const UNUM_RANGE_COLLAPSE_NONE = UNumberRangeCollapse.NONE; pub const UNUM_RANGE_COLLAPSE_UNIT = UNumberRangeCollapse.UNIT; pub const UNUM_RANGE_COLLAPSE_ALL = UNumberRangeCollapse.ALL; pub const UNumberRangeIdentityFallback = enum(i32) { SINGLE_VALUE = 0, APPROXIMATELY_OR_SINGLE_VALUE = 1, APPROXIMATELY = 2, RANGE = 3, }; pub const UNUM_IDENTITY_FALLBACK_SINGLE_VALUE = UNumberRangeIdentityFallback.SINGLE_VALUE; pub const UNUM_IDENTITY_FALLBACK_APPROXIMATELY_OR_SINGLE_VALUE = UNumberRangeIdentityFallback.APPROXIMATELY_OR_SINGLE_VALUE; pub const UNUM_IDENTITY_FALLBACK_APPROXIMATELY = UNumberRangeIdentityFallback.APPROXIMATELY; pub const UNUM_IDENTITY_FALLBACK_RANGE = UNumberRangeIdentityFallback.RANGE; pub const UNumberRangeIdentityResult = enum(i32) { EQUAL_BEFORE_ROUNDING = 0, EQUAL_AFTER_ROUNDING = 1, NOT_EQUAL = 2, }; pub const UNUM_IDENTITY_RESULT_EQUAL_BEFORE_ROUNDING = UNumberRangeIdentityResult.EQUAL_BEFORE_ROUNDING; pub const UNUM_IDENTITY_RESULT_EQUAL_AFTER_ROUNDING = UNumberRangeIdentityResult.EQUAL_AFTER_ROUNDING; pub const UNUM_IDENTITY_RESULT_NOT_EQUAL = UNumberRangeIdentityResult.NOT_EQUAL; pub const UNumberingSystem = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UFormattedNumberRange = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UPluralType = enum(i32) { CARDINAL = 0, ORDINAL = 1, }; pub const UPLURAL_TYPE_CARDINAL = UPluralType.CARDINAL; pub const UPLURAL_TYPE_ORDINAL = UPluralType.ORDINAL; pub const UPluralRules = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const URegularExpression = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const URegexpFlag = enum(i32) { CASE_INSENSITIVE = 2, COMMENTS = 4, DOTALL = 32, LITERAL = 16, MULTILINE = 8, UNIX_LINES = 1, UWORD = 256, ERROR_ON_UNKNOWN_ESCAPES = 512, }; pub const UREGEX_CASE_INSENSITIVE = URegexpFlag.CASE_INSENSITIVE; pub const UREGEX_COMMENTS = URegexpFlag.COMMENTS; pub const UREGEX_DOTALL = URegexpFlag.DOTALL; pub const UREGEX_LITERAL = URegexpFlag.LITERAL; pub const UREGEX_MULTILINE = URegexpFlag.MULTILINE; pub const UREGEX_UNIX_LINES = URegexpFlag.UNIX_LINES; pub const UREGEX_UWORD = URegexpFlag.UWORD; pub const UREGEX_ERROR_ON_UNKNOWN_ESCAPES = URegexpFlag.ERROR_ON_UNKNOWN_ESCAPES; pub const URegexMatchCallback = switch (@import("builtin").zig_backend) { .stage1 => fn( context: ?*const anyopaque, steps: i32, ) callconv(@import("std").os.windows.WINAPI) i8, else => *const fn( context: ?*const anyopaque, steps: i32, ) callconv(@import("std").os.windows.WINAPI) i8, } ; pub const URegexFindProgressCallback = switch (@import("builtin").zig_backend) { .stage1 => fn( context: ?*const anyopaque, matchIndex: i64, ) callconv(@import("std").os.windows.WINAPI) i8, else => *const fn( context: ?*const anyopaque, matchIndex: i64, ) callconv(@import("std").os.windows.WINAPI) i8, } ; pub const URegionType = enum(i32) { UNKNOWN = 0, TERRITORY = 1, WORLD = 2, CONTINENT = 3, SUBCONTINENT = 4, GROUPING = 5, DEPRECATED = 6, }; pub const URGN_UNKNOWN = URegionType.UNKNOWN; pub const URGN_TERRITORY = URegionType.TERRITORY; pub const URGN_WORLD = URegionType.WORLD; pub const URGN_CONTINENT = URegionType.CONTINENT; pub const URGN_SUBCONTINENT = URegionType.SUBCONTINENT; pub const URGN_GROUPING = URegionType.GROUPING; pub const URGN_DEPRECATED = URegionType.DEPRECATED; pub const URegion = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UDateRelativeDateTimeFormatterStyle = enum(i32) { LONG = 0, SHORT = 1, NARROW = 2, }; pub const UDAT_STYLE_LONG = UDateRelativeDateTimeFormatterStyle.LONG; pub const UDAT_STYLE_SHORT = UDateRelativeDateTimeFormatterStyle.SHORT; pub const UDAT_STYLE_NARROW = UDateRelativeDateTimeFormatterStyle.NARROW; pub const URelativeDateTimeUnit = enum(i32) { YEAR = 0, QUARTER = 1, MONTH = 2, WEEK = 3, DAY = 4, HOUR = 5, MINUTE = 6, SECOND = 7, SUNDAY = 8, MONDAY = 9, TUESDAY = 10, WEDNESDAY = 11, THURSDAY = 12, FRIDAY = 13, SATURDAY = 14, }; pub const UDAT_REL_UNIT_YEAR = URelativeDateTimeUnit.YEAR; pub const UDAT_REL_UNIT_QUARTER = URelativeDateTimeUnit.QUARTER; pub const UDAT_REL_UNIT_MONTH = URelativeDateTimeUnit.MONTH; pub const UDAT_REL_UNIT_WEEK = URelativeDateTimeUnit.WEEK; pub const UDAT_REL_UNIT_DAY = URelativeDateTimeUnit.DAY; pub const UDAT_REL_UNIT_HOUR = URelativeDateTimeUnit.HOUR; pub const UDAT_REL_UNIT_MINUTE = URelativeDateTimeUnit.MINUTE; pub const UDAT_REL_UNIT_SECOND = URelativeDateTimeUnit.SECOND; pub const UDAT_REL_UNIT_SUNDAY = URelativeDateTimeUnit.SUNDAY; pub const UDAT_REL_UNIT_MONDAY = URelativeDateTimeUnit.MONDAY; pub const UDAT_REL_UNIT_TUESDAY = URelativeDateTimeUnit.TUESDAY; pub const UDAT_REL_UNIT_WEDNESDAY = URelativeDateTimeUnit.WEDNESDAY; pub const UDAT_REL_UNIT_THURSDAY = URelativeDateTimeUnit.THURSDAY; pub const UDAT_REL_UNIT_FRIDAY = URelativeDateTimeUnit.FRIDAY; pub const UDAT_REL_UNIT_SATURDAY = URelativeDateTimeUnit.SATURDAY; pub const URelativeDateTimeFormatterField = enum(i32) { LITERAL_FIELD = 0, NUMERIC_FIELD = 1, }; pub const UDAT_REL_LITERAL_FIELD = URelativeDateTimeFormatterField.LITERAL_FIELD; pub const UDAT_REL_NUMERIC_FIELD = URelativeDateTimeFormatterField.NUMERIC_FIELD; pub const URelativeDateTimeFormatter = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UFormattedRelativeDateTime = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UStringSearch = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const USearchAttribute = enum(i32) { OVERLAP = 0, ELEMENT_COMPARISON = 2, }; pub const USEARCH_OVERLAP = USearchAttribute.OVERLAP; pub const USEARCH_ELEMENT_COMPARISON = USearchAttribute.ELEMENT_COMPARISON; pub const USearchAttributeValue = enum(i32) { DEFAULT = -1, OFF = 0, ON = 1, STANDARD_ELEMENT_COMPARISON = 2, PATTERN_BASE_WEIGHT_IS_WILDCARD = 3, ANY_BASE_WEIGHT_IS_WILDCARD = 4, }; pub const USEARCH_DEFAULT = USearchAttributeValue.DEFAULT; pub const USEARCH_OFF = USearchAttributeValue.OFF; pub const USEARCH_ON = USearchAttributeValue.ON; pub const USEARCH_STANDARD_ELEMENT_COMPARISON = USearchAttributeValue.STANDARD_ELEMENT_COMPARISON; pub const USEARCH_PATTERN_BASE_WEIGHT_IS_WILDCARD = USearchAttributeValue.PATTERN_BASE_WEIGHT_IS_WILDCARD; pub const USEARCH_ANY_BASE_WEIGHT_IS_WILDCARD = USearchAttributeValue.ANY_BASE_WEIGHT_IS_WILDCARD; pub const USpoofChecker = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const USpoofCheckResult = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const USpoofChecks = enum(i32) { SINGLE_SCRIPT_CONFUSABLE = 1, MIXED_SCRIPT_CONFUSABLE = 2, WHOLE_SCRIPT_CONFUSABLE = 4, CONFUSABLE = 7, RESTRICTION_LEVEL = 16, INVISIBLE = 32, CHAR_LIMIT = 64, MIXED_NUMBERS = 128, HIDDEN_OVERLAY = 256, ALL_CHECKS = 65535, AUX_INFO = 1073741824, }; pub const USPOOF_SINGLE_SCRIPT_CONFUSABLE = USpoofChecks.SINGLE_SCRIPT_CONFUSABLE; pub const USPOOF_MIXED_SCRIPT_CONFUSABLE = USpoofChecks.MIXED_SCRIPT_CONFUSABLE; pub const USPOOF_WHOLE_SCRIPT_CONFUSABLE = USpoofChecks.WHOLE_SCRIPT_CONFUSABLE; pub const USPOOF_CONFUSABLE = USpoofChecks.CONFUSABLE; pub const USPOOF_RESTRICTION_LEVEL = USpoofChecks.RESTRICTION_LEVEL; pub const USPOOF_INVISIBLE = USpoofChecks.INVISIBLE; pub const USPOOF_CHAR_LIMIT = USpoofChecks.CHAR_LIMIT; pub const USPOOF_MIXED_NUMBERS = USpoofChecks.MIXED_NUMBERS; pub const USPOOF_HIDDEN_OVERLAY = USpoofChecks.HIDDEN_OVERLAY; pub const USPOOF_ALL_CHECKS = USpoofChecks.ALL_CHECKS; pub const USPOOF_AUX_INFO = USpoofChecks.AUX_INFO; pub const URestrictionLevel = enum(i32) { ASCII = 268435456, SINGLE_SCRIPT_RESTRICTIVE = 536870912, HIGHLY_RESTRICTIVE = 805306368, MODERATELY_RESTRICTIVE = 1073741824, MINIMALLY_RESTRICTIVE = 1342177280, UNRESTRICTIVE = 1610612736, RESTRICTION_LEVEL_MASK = 2130706432, }; pub const USPOOF_ASCII = URestrictionLevel.ASCII; pub const USPOOF_SINGLE_SCRIPT_RESTRICTIVE = URestrictionLevel.SINGLE_SCRIPT_RESTRICTIVE; pub const USPOOF_HIGHLY_RESTRICTIVE = URestrictionLevel.HIGHLY_RESTRICTIVE; pub const USPOOF_MODERATELY_RESTRICTIVE = URestrictionLevel.MODERATELY_RESTRICTIVE; pub const USPOOF_MINIMALLY_RESTRICTIVE = URestrictionLevel.MINIMALLY_RESTRICTIVE; pub const USPOOF_UNRESTRICTIVE = URestrictionLevel.UNRESTRICTIVE; pub const USPOOF_RESTRICTION_LEVEL_MASK = URestrictionLevel.RESTRICTION_LEVEL_MASK; pub const UDateTimeScale = enum(i32) { JAVA_TIME = 0, UNIX_TIME = 1, ICU4C_TIME = 2, WINDOWS_FILE_TIME = 3, DOTNET_DATE_TIME = 4, MAC_OLD_TIME = 5, MAC_TIME = 6, EXCEL_TIME = 7, DB2_TIME = 8, UNIX_MICROSECONDS_TIME = 9, }; pub const UDTS_JAVA_TIME = UDateTimeScale.JAVA_TIME; pub const UDTS_UNIX_TIME = UDateTimeScale.UNIX_TIME; pub const UDTS_ICU4C_TIME = UDateTimeScale.ICU4C_TIME; pub const UDTS_WINDOWS_FILE_TIME = UDateTimeScale.WINDOWS_FILE_TIME; pub const UDTS_DOTNET_DATE_TIME = UDateTimeScale.DOTNET_DATE_TIME; pub const UDTS_MAC_OLD_TIME = UDateTimeScale.MAC_OLD_TIME; pub const UDTS_MAC_TIME = UDateTimeScale.MAC_TIME; pub const UDTS_EXCEL_TIME = UDateTimeScale.EXCEL_TIME; pub const UDTS_DB2_TIME = UDateTimeScale.DB2_TIME; pub const UDTS_UNIX_MICROSECONDS_TIME = UDateTimeScale.UNIX_MICROSECONDS_TIME; pub const UTimeScaleValue = enum(i32) { UNITS_VALUE = 0, EPOCH_OFFSET_VALUE = 1, FROM_MIN_VALUE = 2, FROM_MAX_VALUE = 3, TO_MIN_VALUE = 4, TO_MAX_VALUE = 5, }; pub const UTSV_UNITS_VALUE = UTimeScaleValue.UNITS_VALUE; pub const UTSV_EPOCH_OFFSET_VALUE = UTimeScaleValue.EPOCH_OFFSET_VALUE; pub const UTSV_FROM_MIN_VALUE = UTimeScaleValue.FROM_MIN_VALUE; pub const UTSV_FROM_MAX_VALUE = UTimeScaleValue.FROM_MAX_VALUE; pub const UTSV_TO_MIN_VALUE = UTimeScaleValue.TO_MIN_VALUE; pub const UTSV_TO_MAX_VALUE = UTimeScaleValue.TO_MAX_VALUE; pub const UTransDirection = enum(i32) { FORWARD = 0, REVERSE = 1, }; pub const UTRANS_FORWARD = UTransDirection.FORWARD; pub const UTRANS_REVERSE = UTransDirection.REVERSE; pub const UTransPosition = extern struct { contextStart: i32, contextLimit: i32, start: i32, limit: i32, }; pub const UHashtable = extern struct { placeholder: usize, // TODO: why is this type empty? }; pub const UStringTrieBuildOption = enum(i32) { FAST = 0, SMALL = 1, }; pub const USTRINGTRIE_BUILD_FAST = UStringTrieBuildOption.FAST; pub const USTRINGTRIE_BUILD_SMALL = UStringTrieBuildOption.SMALL; pub const UStringCaseMapper = switch (@import("builtin").zig_backend) { .stage1 => fn( csm: ?*const UCaseMap, dest: ?*u16, destCapacity: i32, src: ?*const u16, srcLength: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32, else => *const fn( csm: ?*const UCaseMap, dest: ?*u16, destCapacity: i32, src: ?*const u16, srcLength: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32, } ; pub const UMessagePatternApostropheMode = enum(i32) { OPTIONAL = 0, REQUIRED = 1, }; pub const UMSGPAT_APOS_DOUBLE_OPTIONAL = UMessagePatternApostropheMode.OPTIONAL; pub const UMSGPAT_APOS_DOUBLE_REQUIRED = UMessagePatternApostropheMode.REQUIRED; pub const UMessagePatternPartType = enum(i32) { MSG_START = 0, MSG_LIMIT = 1, SKIP_SYNTAX = 2, INSERT_CHAR = 3, REPLACE_NUMBER = 4, ARG_START = 5, ARG_LIMIT = 6, ARG_NUMBER = 7, ARG_NAME = 8, ARG_TYPE = 9, ARG_STYLE = 10, ARG_SELECTOR = 11, ARG_INT = 12, ARG_DOUBLE = 13, }; pub const UMSGPAT_PART_TYPE_MSG_START = UMessagePatternPartType.MSG_START; pub const UMSGPAT_PART_TYPE_MSG_LIMIT = UMessagePatternPartType.MSG_LIMIT; pub const UMSGPAT_PART_TYPE_SKIP_SYNTAX = UMessagePatternPartType.SKIP_SYNTAX; pub const UMSGPAT_PART_TYPE_INSERT_CHAR = UMessagePatternPartType.INSERT_CHAR; pub const UMSGPAT_PART_TYPE_REPLACE_NUMBER = UMessagePatternPartType.REPLACE_NUMBER; pub const UMSGPAT_PART_TYPE_ARG_START = UMessagePatternPartType.ARG_START; pub const UMSGPAT_PART_TYPE_ARG_LIMIT = UMessagePatternPartType.ARG_LIMIT; pub const UMSGPAT_PART_TYPE_ARG_NUMBER = UMessagePatternPartType.ARG_NUMBER; pub const UMSGPAT_PART_TYPE_ARG_NAME = UMessagePatternPartType.ARG_NAME; pub const UMSGPAT_PART_TYPE_ARG_TYPE = UMessagePatternPartType.ARG_TYPE; pub const UMSGPAT_PART_TYPE_ARG_STYLE = UMessagePatternPartType.ARG_STYLE; pub const UMSGPAT_PART_TYPE_ARG_SELECTOR = UMessagePatternPartType.ARG_SELECTOR; pub const UMSGPAT_PART_TYPE_ARG_INT = UMessagePatternPartType.ARG_INT; pub const UMSGPAT_PART_TYPE_ARG_DOUBLE = UMessagePatternPartType.ARG_DOUBLE; pub const UMessagePatternArgType = enum(i32) { NONE = 0, SIMPLE = 1, CHOICE = 2, PLURAL = 3, SELECT = 4, SELECTORDINAL = 5, }; pub const UMSGPAT_ARG_TYPE_NONE = UMessagePatternArgType.NONE; pub const UMSGPAT_ARG_TYPE_SIMPLE = UMessagePatternArgType.SIMPLE; pub const UMSGPAT_ARG_TYPE_CHOICE = UMessagePatternArgType.CHOICE; pub const UMSGPAT_ARG_TYPE_PLURAL = UMessagePatternArgType.PLURAL; pub const UMSGPAT_ARG_TYPE_SELECT = UMessagePatternArgType.SELECT; pub const UMSGPAT_ARG_TYPE_SELECTORDINAL = UMessagePatternArgType.SELECTORDINAL; pub const UAlphabeticIndexLabelType = enum(i32) { NORMAL = 0, UNDERFLOW = 1, INFLOW = 2, OVERFLOW = 3, }; pub const U_ALPHAINDEX_NORMAL = UAlphabeticIndexLabelType.NORMAL; pub const U_ALPHAINDEX_UNDERFLOW = UAlphabeticIndexLabelType.UNDERFLOW; pub const U_ALPHAINDEX_INFLOW = UAlphabeticIndexLabelType.INFLOW; pub const U_ALPHAINDEX_OVERFLOW = UAlphabeticIndexLabelType.OVERFLOW; pub const UTimeZoneNameType = enum(i32) { UNKNOWN = 0, LONG_GENERIC = 1, LONG_STANDARD = 2, LONG_DAYLIGHT = 4, SHORT_GENERIC = 8, SHORT_STANDARD = 16, SHORT_DAYLIGHT = 32, EXEMPLAR_LOCATION = 64, }; pub const UTZNM_UNKNOWN = UTimeZoneNameType.UNKNOWN; pub const UTZNM_LONG_GENERIC = UTimeZoneNameType.LONG_GENERIC; pub const UTZNM_LONG_STANDARD = UTimeZoneNameType.LONG_STANDARD; pub const UTZNM_LONG_DAYLIGHT = UTimeZoneNameType.LONG_DAYLIGHT; pub const UTZNM_SHORT_GENERIC = UTimeZoneNameType.SHORT_GENERIC; pub const UTZNM_SHORT_STANDARD = UTimeZoneNameType.SHORT_STANDARD; pub const UTZNM_SHORT_DAYLIGHT = UTimeZoneNameType.SHORT_DAYLIGHT; pub const UTZNM_EXEMPLAR_LOCATION = UTimeZoneNameType.EXEMPLAR_LOCATION; pub const UTimeZoneFormatStyle = enum(i32) { GENERIC_LOCATION = 0, GENERIC_LONG = 1, GENERIC_SHORT = 2, SPECIFIC_LONG = 3, SPECIFIC_SHORT = 4, LOCALIZED_GMT = 5, LOCALIZED_GMT_SHORT = 6, ISO_BASIC_SHORT = 7, ISO_BASIC_LOCAL_SHORT = 8, ISO_BASIC_FIXED = 9, ISO_BASIC_LOCAL_FIXED = 10, ISO_BASIC_FULL = 11, ISO_BASIC_LOCAL_FULL = 12, ISO_EXTENDED_FIXED = 13, ISO_EXTENDED_LOCAL_FIXED = 14, ISO_EXTENDED_FULL = 15, ISO_EXTENDED_LOCAL_FULL = 16, ZONE_ID = 17, ZONE_ID_SHORT = 18, EXEMPLAR_LOCATION = 19, }; pub const UTZFMT_STYLE_GENERIC_LOCATION = UTimeZoneFormatStyle.GENERIC_LOCATION; pub const UTZFMT_STYLE_GENERIC_LONG = UTimeZoneFormatStyle.GENERIC_LONG; pub const UTZFMT_STYLE_GENERIC_SHORT = UTimeZoneFormatStyle.GENERIC_SHORT; pub const UTZFMT_STYLE_SPECIFIC_LONG = UTimeZoneFormatStyle.SPECIFIC_LONG; pub const UTZFMT_STYLE_SPECIFIC_SHORT = UTimeZoneFormatStyle.SPECIFIC_SHORT; pub const UTZFMT_STYLE_LOCALIZED_GMT = UTimeZoneFormatStyle.LOCALIZED_GMT; pub const UTZFMT_STYLE_LOCALIZED_GMT_SHORT = UTimeZoneFormatStyle.LOCALIZED_GMT_SHORT; pub const UTZFMT_STYLE_ISO_BASIC_SHORT = UTimeZoneFormatStyle.ISO_BASIC_SHORT; pub const UTZFMT_STYLE_ISO_BASIC_LOCAL_SHORT = UTimeZoneFormatStyle.ISO_BASIC_LOCAL_SHORT; pub const UTZFMT_STYLE_ISO_BASIC_FIXED = UTimeZoneFormatStyle.ISO_BASIC_FIXED; pub const UTZFMT_STYLE_ISO_BASIC_LOCAL_FIXED = UTimeZoneFormatStyle.ISO_BASIC_LOCAL_FIXED; pub const UTZFMT_STYLE_ISO_BASIC_FULL = UTimeZoneFormatStyle.ISO_BASIC_FULL; pub const UTZFMT_STYLE_ISO_BASIC_LOCAL_FULL = UTimeZoneFormatStyle.ISO_BASIC_LOCAL_FULL; pub const UTZFMT_STYLE_ISO_EXTENDED_FIXED = UTimeZoneFormatStyle.ISO_EXTENDED_FIXED; pub const UTZFMT_STYLE_ISO_EXTENDED_LOCAL_FIXED = UTimeZoneFormatStyle.ISO_EXTENDED_LOCAL_FIXED; pub const UTZFMT_STYLE_ISO_EXTENDED_FULL = UTimeZoneFormatStyle.ISO_EXTENDED_FULL; pub const UTZFMT_STYLE_ISO_EXTENDED_LOCAL_FULL = UTimeZoneFormatStyle.ISO_EXTENDED_LOCAL_FULL; pub const UTZFMT_STYLE_ZONE_ID = UTimeZoneFormatStyle.ZONE_ID; pub const UTZFMT_STYLE_ZONE_ID_SHORT = UTimeZoneFormatStyle.ZONE_ID_SHORT; pub const UTZFMT_STYLE_EXEMPLAR_LOCATION = UTimeZoneFormatStyle.EXEMPLAR_LOCATION; pub const UTimeZoneFormatGMTOffsetPatternType = enum(i32) { POSITIVE_HM = 0, POSITIVE_HMS = 1, NEGATIVE_HM = 2, NEGATIVE_HMS = 3, POSITIVE_H = 4, NEGATIVE_H = 5, COUNT = 6, }; pub const UTZFMT_PAT_POSITIVE_HM = UTimeZoneFormatGMTOffsetPatternType.POSITIVE_HM; pub const UTZFMT_PAT_POSITIVE_HMS = UTimeZoneFormatGMTOffsetPatternType.POSITIVE_HMS; pub const UTZFMT_PAT_NEGATIVE_HM = UTimeZoneFormatGMTOffsetPatternType.NEGATIVE_HM; pub const UTZFMT_PAT_NEGATIVE_HMS = UTimeZoneFormatGMTOffsetPatternType.NEGATIVE_HMS; pub const UTZFMT_PAT_POSITIVE_H = UTimeZoneFormatGMTOffsetPatternType.POSITIVE_H; pub const UTZFMT_PAT_NEGATIVE_H = UTimeZoneFormatGMTOffsetPatternType.NEGATIVE_H; pub const UTZFMT_PAT_COUNT = UTimeZoneFormatGMTOffsetPatternType.COUNT; pub const UTimeZoneFormatTimeType = enum(i32) { UNKNOWN = 0, STANDARD = 1, DAYLIGHT = 2, }; pub const UTZFMT_TIME_TYPE_UNKNOWN = UTimeZoneFormatTimeType.UNKNOWN; pub const UTZFMT_TIME_TYPE_STANDARD = UTimeZoneFormatTimeType.STANDARD; pub const UTZFMT_TIME_TYPE_DAYLIGHT = UTimeZoneFormatTimeType.DAYLIGHT; pub const UTimeZoneFormatParseOption = enum(i32) { NONE = 0, ALL_STYLES = 1, TZ_DATABASE_ABBREVIATIONS = 2, }; pub const UTZFMT_PARSE_OPTION_NONE = UTimeZoneFormatParseOption.NONE; pub const UTZFMT_PARSE_OPTION_ALL_STYLES = UTimeZoneFormatParseOption.ALL_STYLES; pub const UTZFMT_PARSE_OPTION_TZ_DATABASE_ABBREVIATIONS = UTimeZoneFormatParseOption.TZ_DATABASE_ABBREVIATIONS; pub const UMeasureFormatWidth = enum(i32) { WIDE = 0, SHORT = 1, NARROW = 2, NUMERIC = 3, COUNT = 4, }; pub const UMEASFMT_WIDTH_WIDE = UMeasureFormatWidth.WIDE; pub const UMEASFMT_WIDTH_SHORT = UMeasureFormatWidth.SHORT; pub const UMEASFMT_WIDTH_NARROW = UMeasureFormatWidth.NARROW; pub const UMEASFMT_WIDTH_NUMERIC = UMeasureFormatWidth.NUMERIC; pub const UMEASFMT_WIDTH_COUNT = UMeasureFormatWidth.COUNT; pub const UDateRelativeUnit = enum(i32) { SECONDS = 0, MINUTES = 1, HOURS = 2, DAYS = 3, WEEKS = 4, MONTHS = 5, YEARS = 6, UNIT_COUNT = 7, }; pub const UDAT_RELATIVE_SECONDS = UDateRelativeUnit.SECONDS; pub const UDAT_RELATIVE_MINUTES = UDateRelativeUnit.MINUTES; pub const UDAT_RELATIVE_HOURS = UDateRelativeUnit.HOURS; pub const UDAT_RELATIVE_DAYS = UDateRelativeUnit.DAYS; pub const UDAT_RELATIVE_WEEKS = UDateRelativeUnit.WEEKS; pub const UDAT_RELATIVE_MONTHS = UDateRelativeUnit.MONTHS; pub const UDAT_RELATIVE_YEARS = UDateRelativeUnit.YEARS; pub const UDAT_RELATIVE_UNIT_COUNT = UDateRelativeUnit.UNIT_COUNT; pub const UDateAbsoluteUnit = enum(i32) { SUNDAY = 0, MONDAY = 1, TUESDAY = 2, WEDNESDAY = 3, THURSDAY = 4, FRIDAY = 5, SATURDAY = 6, DAY = 7, WEEK = 8, MONTH = 9, YEAR = 10, NOW = 11, UNIT_COUNT = 12, }; pub const UDAT_ABSOLUTE_SUNDAY = UDateAbsoluteUnit.SUNDAY; pub const UDAT_ABSOLUTE_MONDAY = UDateAbsoluteUnit.MONDAY; pub const UDAT_ABSOLUTE_TUESDAY = UDateAbsoluteUnit.TUESDAY; pub const UDAT_ABSOLUTE_WEDNESDAY = UDateAbsoluteUnit.WEDNESDAY; pub const UDAT_ABSOLUTE_THURSDAY = UDateAbsoluteUnit.THURSDAY; pub const UDAT_ABSOLUTE_FRIDAY = UDateAbsoluteUnit.FRIDAY; pub const UDAT_ABSOLUTE_SATURDAY = UDateAbsoluteUnit.SATURDAY; pub const UDAT_ABSOLUTE_DAY = UDateAbsoluteUnit.DAY; pub const UDAT_ABSOLUTE_WEEK = UDateAbsoluteUnit.WEEK; pub const UDAT_ABSOLUTE_MONTH = UDateAbsoluteUnit.MONTH; pub const UDAT_ABSOLUTE_YEAR = UDateAbsoluteUnit.YEAR; pub const UDAT_ABSOLUTE_NOW = UDateAbsoluteUnit.NOW; pub const UDAT_ABSOLUTE_UNIT_COUNT = UDateAbsoluteUnit.UNIT_COUNT; pub const UDateDirection = enum(i32) { LAST_2 = 0, LAST = 1, THIS = 2, NEXT = 3, NEXT_2 = 4, PLAIN = 5, COUNT = 6, }; pub const UDAT_DIRECTION_LAST_2 = UDateDirection.LAST_2; pub const UDAT_DIRECTION_LAST = UDateDirection.LAST; pub const UDAT_DIRECTION_THIS = UDateDirection.THIS; pub const UDAT_DIRECTION_NEXT = UDateDirection.NEXT; pub const UDAT_DIRECTION_NEXT_2 = UDateDirection.NEXT_2; pub const UDAT_DIRECTION_PLAIN = UDateDirection.PLAIN; pub const UDAT_DIRECTION_COUNT = UDateDirection.COUNT; pub const USearch = extern struct { placeholder: usize, // TODO: why is this type empty? }; const CLSID_CMLangString_Value = Guid.initString("c04d65cf-b70d-11d0-b188-00aa0038c969"); pub const CLSID_CMLangString = &CLSID_CMLangString_Value; const CLSID_CMLangConvertCharset_Value = Guid.initString("d66d6f99-cdaa-11d0-b822-00c04fc9b31f"); pub const CLSID_CMLangConvertCharset = &CLSID_CMLangConvertCharset_Value; const CLSID_CMultiLanguage_Value = Guid.initString("275c23e2-3747-11d0-9fea-00aa003f8646"); pub const CLSID_CMultiLanguage = &CLSID_CMultiLanguage_Value; const IID_IMLangStringBufW_Value = Guid.initString("d24acd21-ba72-11d0-b188-00aa0038c969"); pub const IID_IMLangStringBufW = &IID_IMLangStringBufW_Value; pub const IMLangStringBufW = extern struct { pub const VTable = extern struct { base: IUnknown.VTable, GetStatus: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangStringBufW, plFlags: ?*i32, pcchBuf: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangStringBufW, plFlags: ?*i32, pcchBuf: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, LockBuf: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangStringBufW, cchOffset: i32, cchMaxLock: i32, ppszBuf: ?*?*u16, pcchBuf: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangStringBufW, cchOffset: i32, cchMaxLock: i32, ppszBuf: ?*?*u16, pcchBuf: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, UnlockBuf: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangStringBufW, pszBuf: ?[*:0]const u16, cchOffset: i32, cchWrite: i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangStringBufW, pszBuf: ?[*:0]const u16, cchOffset: i32, cchWrite: i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, Insert: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangStringBufW, cchOffset: i32, cchMaxInsert: i32, pcchActual: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangStringBufW, cchOffset: i32, cchMaxInsert: i32, pcchActual: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, Delete: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangStringBufW, cchOffset: i32, cchDelete: i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangStringBufW, cchOffset: i32, cchDelete: i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, }; vtable: *const VTable, pub fn MethodMixin(comptime T: type) type { return struct { pub usingnamespace IUnknown.MethodMixin(T); // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangStringBufW_GetStatus(self: *const T, plFlags: ?*i32, pcchBuf: ?*i32) callconv(.Inline) HRESULT { return @as(*const IMLangStringBufW.VTable, @ptrCast(self.vtable)).GetStatus(@as(*const IMLangStringBufW, @ptrCast(self)), plFlags, pcchBuf); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangStringBufW_LockBuf(self: *const T, cchOffset: i32, cchMaxLock: i32, ppszBuf: ?*?*u16, pcchBuf: ?*i32) callconv(.Inline) HRESULT { return @as(*const IMLangStringBufW.VTable, @ptrCast(self.vtable)).LockBuf(@as(*const IMLangStringBufW, @ptrCast(self)), cchOffset, cchMaxLock, ppszBuf, pcchBuf); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangStringBufW_UnlockBuf(self: *const T, pszBuf: ?[*:0]const u16, cchOffset: i32, cchWrite: i32) callconv(.Inline) HRESULT { return @as(*const IMLangStringBufW.VTable, @ptrCast(self.vtable)).UnlockBuf(@as(*const IMLangStringBufW, @ptrCast(self)), pszBuf, cchOffset, cchWrite); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangStringBufW_Insert(self: *const T, cchOffset: i32, cchMaxInsert: i32, pcchActual: ?*i32) callconv(.Inline) HRESULT { return @as(*const IMLangStringBufW.VTable, @ptrCast(self.vtable)).Insert(@as(*const IMLangStringBufW, @ptrCast(self)), cchOffset, cchMaxInsert, pcchActual); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangStringBufW_Delete(self: *const T, cchOffset: i32, cchDelete: i32) callconv(.Inline) HRESULT { return @as(*const IMLangStringBufW.VTable, @ptrCast(self.vtable)).Delete(@as(*const IMLangStringBufW, @ptrCast(self)), cchOffset, cchDelete); } };} pub usingnamespace MethodMixin(@This()); }; const IID_IMLangStringBufA_Value = Guid.initString("d24acd23-ba72-11d0-b188-00aa0038c969"); pub const IID_IMLangStringBufA = &IID_IMLangStringBufA_Value; pub const IMLangStringBufA = extern struct { pub const VTable = extern struct { base: IUnknown.VTable, GetStatus: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangStringBufA, plFlags: ?*i32, pcchBuf: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangStringBufA, plFlags: ?*i32, pcchBuf: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, LockBuf: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangStringBufA, cchOffset: i32, cchMaxLock: i32, ppszBuf: ?*?*CHAR, pcchBuf: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangStringBufA, cchOffset: i32, cchMaxLock: i32, ppszBuf: ?*?*CHAR, pcchBuf: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, UnlockBuf: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangStringBufA, pszBuf: ?[*:0]const u8, cchOffset: i32, cchWrite: i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangStringBufA, pszBuf: ?[*:0]const u8, cchOffset: i32, cchWrite: i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, Insert: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangStringBufA, cchOffset: i32, cchMaxInsert: i32, pcchActual: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangStringBufA, cchOffset: i32, cchMaxInsert: i32, pcchActual: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, Delete: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangStringBufA, cchOffset: i32, cchDelete: i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangStringBufA, cchOffset: i32, cchDelete: i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, }; vtable: *const VTable, pub fn MethodMixin(comptime T: type) type { return struct { pub usingnamespace IUnknown.MethodMixin(T); // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangStringBufA_GetStatus(self: *const T, plFlags: ?*i32, pcchBuf: ?*i32) callconv(.Inline) HRESULT { return @as(*const IMLangStringBufA.VTable, @ptrCast(self.vtable)).GetStatus(@as(*const IMLangStringBufA, @ptrCast(self)), plFlags, pcchBuf); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangStringBufA_LockBuf(self: *const T, cchOffset: i32, cchMaxLock: i32, ppszBuf: ?*?*CHAR, pcchBuf: ?*i32) callconv(.Inline) HRESULT { return @as(*const IMLangStringBufA.VTable, @ptrCast(self.vtable)).LockBuf(@as(*const IMLangStringBufA, @ptrCast(self)), cchOffset, cchMaxLock, ppszBuf, pcchBuf); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangStringBufA_UnlockBuf(self: *const T, pszBuf: ?[*:0]const u8, cchOffset: i32, cchWrite: i32) callconv(.Inline) HRESULT { return @as(*const IMLangStringBufA.VTable, @ptrCast(self.vtable)).UnlockBuf(@as(*const IMLangStringBufA, @ptrCast(self)), pszBuf, cchOffset, cchWrite); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangStringBufA_Insert(self: *const T, cchOffset: i32, cchMaxInsert: i32, pcchActual: ?*i32) callconv(.Inline) HRESULT { return @as(*const IMLangStringBufA.VTable, @ptrCast(self.vtable)).Insert(@as(*const IMLangStringBufA, @ptrCast(self)), cchOffset, cchMaxInsert, pcchActual); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangStringBufA_Delete(self: *const T, cchOffset: i32, cchDelete: i32) callconv(.Inline) HRESULT { return @as(*const IMLangStringBufA.VTable, @ptrCast(self.vtable)).Delete(@as(*const IMLangStringBufA, @ptrCast(self)), cchOffset, cchDelete); } };} pub usingnamespace MethodMixin(@This()); }; const IID_IMLangString_Value = Guid.initString("c04d65ce-b70d-11d0-b188-00aa0038c969"); pub const IID_IMLangString = &IID_IMLangString_Value; pub const IMLangString = extern struct { pub const VTable = extern struct { base: IUnknown.VTable, Sync: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangString, fNoAccess: BOOL, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangString, fNoAccess: BOOL, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, GetLength: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangString, plLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangString, plLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, SetMLStr: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangString, lDestPos: i32, lDestLen: i32, pSrcMLStr: ?*IUnknown, lSrcPos: i32, lSrcLen: i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangString, lDestPos: i32, lDestLen: i32, pSrcMLStr: ?*IUnknown, lSrcPos: i32, lSrcLen: i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, GetMLStr: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangString, lSrcPos: i32, lSrcLen: i32, pUnkOuter: ?*IUnknown, dwClsContext: u32, piid: ?*const Guid, ppDestMLStr: ?*?*IUnknown, plDestPos: ?*i32, plDestLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangString, lSrcPos: i32, lSrcLen: i32, pUnkOuter: ?*IUnknown, dwClsContext: u32, piid: ?*const Guid, ppDestMLStr: ?*?*IUnknown, plDestPos: ?*i32, plDestLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, }; vtable: *const VTable, pub fn MethodMixin(comptime T: type) type { return struct { pub usingnamespace IUnknown.MethodMixin(T); // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangString_Sync(self: *const T, fNoAccess: BOOL) callconv(.Inline) HRESULT { return @as(*const IMLangString.VTable, @ptrCast(self.vtable)).Sync(@as(*const IMLangString, @ptrCast(self)), fNoAccess); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangString_GetLength(self: *const T, plLen: ?*i32) callconv(.Inline) HRESULT { return @as(*const IMLangString.VTable, @ptrCast(self.vtable)).GetLength(@as(*const IMLangString, @ptrCast(self)), plLen); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangString_SetMLStr(self: *const T, lDestPos: i32, lDestLen: i32, pSrcMLStr: ?*IUnknown, lSrcPos: i32, lSrcLen: i32) callconv(.Inline) HRESULT { return @as(*const IMLangString.VTable, @ptrCast(self.vtable)).SetMLStr(@as(*const IMLangString, @ptrCast(self)), lDestPos, lDestLen, pSrcMLStr, lSrcPos, lSrcLen); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangString_GetMLStr(self: *const T, lSrcPos: i32, lSrcLen: i32, pUnkOuter: ?*IUnknown, dwClsContext: u32, piid: ?*const Guid, ppDestMLStr: ?*?*IUnknown, plDestPos: ?*i32, plDestLen: ?*i32) callconv(.Inline) HRESULT { return @as(*const IMLangString.VTable, @ptrCast(self.vtable)).GetMLStr(@as(*const IMLangString, @ptrCast(self)), lSrcPos, lSrcLen, pUnkOuter, dwClsContext, piid, ppDestMLStr, plDestPos, plDestLen); } };} pub usingnamespace MethodMixin(@This()); }; const IID_IMLangStringWStr_Value = Guid.initString("c04d65d0-b70d-11d0-b188-00aa0038c969"); pub const IID_IMLangStringWStr = &IID_IMLangStringWStr_Value; pub const IMLangStringWStr = extern struct { pub const VTable = extern struct { base: IMLangString.VTable, SetWStr: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangStringWStr, lDestPos: i32, lDestLen: i32, pszSrc: [*:0]const u16, cchSrc: i32, pcchActual: ?*i32, plActualLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangStringWStr, lDestPos: i32, lDestLen: i32, pszSrc: [*:0]const u16, cchSrc: i32, pcchActual: ?*i32, plActualLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, SetStrBufW: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangStringWStr, lDestPos: i32, lDestLen: i32, pSrcBuf: ?*IMLangStringBufW, pcchActual: ?*i32, plActualLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangStringWStr, lDestPos: i32, lDestLen: i32, pSrcBuf: ?*IMLangStringBufW, pcchActual: ?*i32, plActualLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, GetWStr: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangStringWStr, lSrcPos: i32, lSrcLen: i32, pszDest: ?[*:0]u16, cchDest: i32, pcchActual: ?*i32, plActualLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangStringWStr, lSrcPos: i32, lSrcLen: i32, pszDest: ?[*:0]u16, cchDest: i32, pcchActual: ?*i32, plActualLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, GetStrBufW: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangStringWStr, lSrcPos: i32, lSrcMaxLen: i32, ppDestBuf: ?*?*IMLangStringBufW, plDestLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangStringWStr, lSrcPos: i32, lSrcMaxLen: i32, ppDestBuf: ?*?*IMLangStringBufW, plDestLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, LockWStr: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangStringWStr, lSrcPos: i32, lSrcLen: i32, lFlags: i32, cchRequest: i32, ppszDest: ?*?PWSTR, pcchDest: ?*i32, plDestLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangStringWStr, lSrcPos: i32, lSrcLen: i32, lFlags: i32, cchRequest: i32, ppszDest: ?*?PWSTR, pcchDest: ?*i32, plDestLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, UnlockWStr: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangStringWStr, pszSrc: [*:0]const u16, cchSrc: i32, pcchActual: ?*i32, plActualLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangStringWStr, pszSrc: [*:0]const u16, cchSrc: i32, pcchActual: ?*i32, plActualLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, SetLocale: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangStringWStr, lDestPos: i32, lDestLen: i32, locale: u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangStringWStr, lDestPos: i32, lDestLen: i32, locale: u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, GetLocale: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangStringWStr, lSrcPos: i32, lSrcMaxLen: i32, plocale: ?*u32, plLocalePos: ?*i32, plLocaleLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangStringWStr, lSrcPos: i32, lSrcMaxLen: i32, plocale: ?*u32, plLocalePos: ?*i32, plLocaleLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, }; vtable: *const VTable, pub fn MethodMixin(comptime T: type) type { return struct { pub usingnamespace IMLangString.MethodMixin(T); // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangStringWStr_SetWStr(self: *const T, lDestPos: i32, lDestLen: i32, pszSrc: [*:0]const u16, cchSrc: i32, pcchActual: ?*i32, plActualLen: ?*i32) callconv(.Inline) HRESULT { return @as(*const IMLangStringWStr.VTable, @ptrCast(self.vtable)).SetWStr(@as(*const IMLangStringWStr, @ptrCast(self)), lDestPos, lDestLen, pszSrc, cchSrc, pcchActual, plActualLen); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangStringWStr_SetStrBufW(self: *const T, lDestPos: i32, lDestLen: i32, pSrcBuf: ?*IMLangStringBufW, pcchActual: ?*i32, plActualLen: ?*i32) callconv(.Inline) HRESULT { return @as(*const IMLangStringWStr.VTable, @ptrCast(self.vtable)).SetStrBufW(@as(*const IMLangStringWStr, @ptrCast(self)), lDestPos, lDestLen, pSrcBuf, pcchActual, plActualLen); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangStringWStr_GetWStr(self: *const T, lSrcPos: i32, lSrcLen: i32, pszDest: ?[*:0]u16, cchDest: i32, pcchActual: ?*i32, plActualLen: ?*i32) callconv(.Inline) HRESULT { return @as(*const IMLangStringWStr.VTable, @ptrCast(self.vtable)).GetWStr(@as(*const IMLangStringWStr, @ptrCast(self)), lSrcPos, lSrcLen, pszDest, cchDest, pcchActual, plActualLen); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangStringWStr_GetStrBufW(self: *const T, lSrcPos: i32, lSrcMaxLen: i32, ppDestBuf: ?*?*IMLangStringBufW, plDestLen: ?*i32) callconv(.Inline) HRESULT { return @as(*const IMLangStringWStr.VTable, @ptrCast(self.vtable)).GetStrBufW(@as(*const IMLangStringWStr, @ptrCast(self)), lSrcPos, lSrcMaxLen, ppDestBuf, plDestLen); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangStringWStr_LockWStr(self: *const T, lSrcPos: i32, lSrcLen: i32, lFlags: i32, cchRequest: i32, ppszDest: ?*?PWSTR, pcchDest: ?*i32, plDestLen: ?*i32) callconv(.Inline) HRESULT { return @as(*const IMLangStringWStr.VTable, @ptrCast(self.vtable)).LockWStr(@as(*const IMLangStringWStr, @ptrCast(self)), lSrcPos, lSrcLen, lFlags, cchRequest, ppszDest, pcchDest, plDestLen); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangStringWStr_UnlockWStr(self: *const T, pszSrc: [*:0]const u16, cchSrc: i32, pcchActual: ?*i32, plActualLen: ?*i32) callconv(.Inline) HRESULT { return @as(*const IMLangStringWStr.VTable, @ptrCast(self.vtable)).UnlockWStr(@as(*const IMLangStringWStr, @ptrCast(self)), pszSrc, cchSrc, pcchActual, plActualLen); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangStringWStr_SetLocale(self: *const T, lDestPos: i32, lDestLen: i32, locale: u32) callconv(.Inline) HRESULT { return @as(*const IMLangStringWStr.VTable, @ptrCast(self.vtable)).SetLocale(@as(*const IMLangStringWStr, @ptrCast(self)), lDestPos, lDestLen, locale); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangStringWStr_GetLocale(self: *const T, lSrcPos: i32, lSrcMaxLen: i32, plocale: ?*u32, plLocalePos: ?*i32, plLocaleLen: ?*i32) callconv(.Inline) HRESULT { return @as(*const IMLangStringWStr.VTable, @ptrCast(self.vtable)).GetLocale(@as(*const IMLangStringWStr, @ptrCast(self)), lSrcPos, lSrcMaxLen, plocale, plLocalePos, plLocaleLen); } };} pub usingnamespace MethodMixin(@This()); }; const IID_IMLangStringAStr_Value = Guid.initString("c04d65d2-b70d-11d0-b188-00aa0038c969"); pub const IID_IMLangStringAStr = &IID_IMLangStringAStr_Value; pub const IMLangStringAStr = extern struct { pub const VTable = extern struct { base: IMLangString.VTable, SetAStr: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangStringAStr, lDestPos: i32, lDestLen: i32, uCodePage: u32, pszSrc: [*:0]const u8, cchSrc: i32, pcchActual: ?*i32, plActualLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangStringAStr, lDestPos: i32, lDestLen: i32, uCodePage: u32, pszSrc: [*:0]const u8, cchSrc: i32, pcchActual: ?*i32, plActualLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, SetStrBufA: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangStringAStr, lDestPos: i32, lDestLen: i32, uCodePage: u32, pSrcBuf: ?*IMLangStringBufA, pcchActual: ?*i32, plActualLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangStringAStr, lDestPos: i32, lDestLen: i32, uCodePage: u32, pSrcBuf: ?*IMLangStringBufA, pcchActual: ?*i32, plActualLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, GetAStr: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangStringAStr, lSrcPos: i32, lSrcLen: i32, uCodePageIn: u32, puCodePageOut: ?*u32, pszDest: ?[*:0]u8, cchDest: i32, pcchActual: ?*i32, plActualLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangStringAStr, lSrcPos: i32, lSrcLen: i32, uCodePageIn: u32, puCodePageOut: ?*u32, pszDest: ?[*:0]u8, cchDest: i32, pcchActual: ?*i32, plActualLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, GetStrBufA: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangStringAStr, lSrcPos: i32, lSrcMaxLen: i32, puDestCodePage: ?*u32, ppDestBuf: ?*?*IMLangStringBufA, plDestLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangStringAStr, lSrcPos: i32, lSrcMaxLen: i32, puDestCodePage: ?*u32, ppDestBuf: ?*?*IMLangStringBufA, plDestLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, LockAStr: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangStringAStr, lSrcPos: i32, lSrcLen: i32, lFlags: i32, uCodePageIn: u32, cchRequest: i32, puCodePageOut: ?*u32, ppszDest: ?*?PSTR, pcchDest: ?*i32, plDestLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangStringAStr, lSrcPos: i32, lSrcLen: i32, lFlags: i32, uCodePageIn: u32, cchRequest: i32, puCodePageOut: ?*u32, ppszDest: ?*?PSTR, pcchDest: ?*i32, plDestLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, UnlockAStr: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangStringAStr, pszSrc: [*:0]const u8, cchSrc: i32, pcchActual: ?*i32, plActualLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangStringAStr, pszSrc: [*:0]const u8, cchSrc: i32, pcchActual: ?*i32, plActualLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, SetLocale: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangStringAStr, lDestPos: i32, lDestLen: i32, locale: u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangStringAStr, lDestPos: i32, lDestLen: i32, locale: u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, GetLocale: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangStringAStr, lSrcPos: i32, lSrcMaxLen: i32, plocale: ?*u32, plLocalePos: ?*i32, plLocaleLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangStringAStr, lSrcPos: i32, lSrcMaxLen: i32, plocale: ?*u32, plLocalePos: ?*i32, plLocaleLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, }; vtable: *const VTable, pub fn MethodMixin(comptime T: type) type { return struct { pub usingnamespace IMLangString.MethodMixin(T); // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangStringAStr_SetAStr(self: *const T, lDestPos: i32, lDestLen: i32, uCodePage: u32, pszSrc: [*:0]const u8, cchSrc: i32, pcchActual: ?*i32, plActualLen: ?*i32) callconv(.Inline) HRESULT { return @as(*const IMLangStringAStr.VTable, @ptrCast(self.vtable)).SetAStr(@as(*const IMLangStringAStr, @ptrCast(self)), lDestPos, lDestLen, uCodePage, pszSrc, cchSrc, pcchActual, plActualLen); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangStringAStr_SetStrBufA(self: *const T, lDestPos: i32, lDestLen: i32, uCodePage: u32, pSrcBuf: ?*IMLangStringBufA, pcchActual: ?*i32, plActualLen: ?*i32) callconv(.Inline) HRESULT { return @as(*const IMLangStringAStr.VTable, @ptrCast(self.vtable)).SetStrBufA(@as(*const IMLangStringAStr, @ptrCast(self)), lDestPos, lDestLen, uCodePage, pSrcBuf, pcchActual, plActualLen); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangStringAStr_GetAStr(self: *const T, lSrcPos: i32, lSrcLen: i32, uCodePageIn: u32, puCodePageOut: ?*u32, pszDest: ?[*:0]u8, cchDest: i32, pcchActual: ?*i32, plActualLen: ?*i32) callconv(.Inline) HRESULT { return @as(*const IMLangStringAStr.VTable, @ptrCast(self.vtable)).GetAStr(@as(*const IMLangStringAStr, @ptrCast(self)), lSrcPos, lSrcLen, uCodePageIn, puCodePageOut, pszDest, cchDest, pcchActual, plActualLen); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangStringAStr_GetStrBufA(self: *const T, lSrcPos: i32, lSrcMaxLen: i32, puDestCodePage: ?*u32, ppDestBuf: ?*?*IMLangStringBufA, plDestLen: ?*i32) callconv(.Inline) HRESULT { return @as(*const IMLangStringAStr.VTable, @ptrCast(self.vtable)).GetStrBufA(@as(*const IMLangStringAStr, @ptrCast(self)), lSrcPos, lSrcMaxLen, puDestCodePage, ppDestBuf, plDestLen); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangStringAStr_LockAStr(self: *const T, lSrcPos: i32, lSrcLen: i32, lFlags: i32, uCodePageIn: u32, cchRequest: i32, puCodePageOut: ?*u32, ppszDest: ?*?PSTR, pcchDest: ?*i32, plDestLen: ?*i32) callconv(.Inline) HRESULT { return @as(*const IMLangStringAStr.VTable, @ptrCast(self.vtable)).LockAStr(@as(*const IMLangStringAStr, @ptrCast(self)), lSrcPos, lSrcLen, lFlags, uCodePageIn, cchRequest, puCodePageOut, ppszDest, pcchDest, plDestLen); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangStringAStr_UnlockAStr(self: *const T, pszSrc: [*:0]const u8, cchSrc: i32, pcchActual: ?*i32, plActualLen: ?*i32) callconv(.Inline) HRESULT { return @as(*const IMLangStringAStr.VTable, @ptrCast(self.vtable)).UnlockAStr(@as(*const IMLangStringAStr, @ptrCast(self)), pszSrc, cchSrc, pcchActual, plActualLen); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangStringAStr_SetLocale(self: *const T, lDestPos: i32, lDestLen: i32, locale: u32) callconv(.Inline) HRESULT { return @as(*const IMLangStringAStr.VTable, @ptrCast(self.vtable)).SetLocale(@as(*const IMLangStringAStr, @ptrCast(self)), lDestPos, lDestLen, locale); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangStringAStr_GetLocale(self: *const T, lSrcPos: i32, lSrcMaxLen: i32, plocale: ?*u32, plLocalePos: ?*i32, plLocaleLen: ?*i32) callconv(.Inline) HRESULT { return @as(*const IMLangStringAStr.VTable, @ptrCast(self.vtable)).GetLocale(@as(*const IMLangStringAStr, @ptrCast(self)), lSrcPos, lSrcMaxLen, plocale, plLocalePos, plLocaleLen); } };} pub usingnamespace MethodMixin(@This()); }; const IID_IMLangLineBreakConsole_Value = Guid.initString("f5be2ee1-bfd7-11d0-b188-00aa0038c969"); pub const IID_IMLangLineBreakConsole = &IID_IMLangLineBreakConsole_Value; pub const IMLangLineBreakConsole = extern struct { pub const VTable = extern struct { base: IUnknown.VTable, BreakLineML: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangLineBreakConsole, pSrcMLStr: ?*IMLangString, lSrcPos: i32, lSrcLen: i32, cMinColumns: i32, cMaxColumns: i32, plLineLen: ?*i32, plSkipLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangLineBreakConsole, pSrcMLStr: ?*IMLangString, lSrcPos: i32, lSrcLen: i32, cMinColumns: i32, cMaxColumns: i32, plLineLen: ?*i32, plSkipLen: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, BreakLineW: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangLineBreakConsole, locale: u32, pszSrc: [*:0]const u16, cchSrc: i32, cMaxColumns: i32, pcchLine: ?*i32, pcchSkip: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangLineBreakConsole, locale: u32, pszSrc: [*:0]const u16, cchSrc: i32, cMaxColumns: i32, pcchLine: ?*i32, pcchSkip: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, BreakLineA: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangLineBreakConsole, locale: u32, uCodePage: u32, pszSrc: [*:0]const u8, cchSrc: i32, cMaxColumns: i32, pcchLine: ?*i32, pcchSkip: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangLineBreakConsole, locale: u32, uCodePage: u32, pszSrc: [*:0]const u8, cchSrc: i32, cMaxColumns: i32, pcchLine: ?*i32, pcchSkip: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, }; vtable: *const VTable, pub fn MethodMixin(comptime T: type) type { return struct { pub usingnamespace IUnknown.MethodMixin(T); // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangLineBreakConsole_BreakLineML(self: *const T, pSrcMLStr: ?*IMLangString, lSrcPos: i32, lSrcLen: i32, cMinColumns: i32, cMaxColumns: i32, plLineLen: ?*i32, plSkipLen: ?*i32) callconv(.Inline) HRESULT { return @as(*const IMLangLineBreakConsole.VTable, @ptrCast(self.vtable)).BreakLineML(@as(*const IMLangLineBreakConsole, @ptrCast(self)), pSrcMLStr, lSrcPos, lSrcLen, cMinColumns, cMaxColumns, plLineLen, plSkipLen); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangLineBreakConsole_BreakLineW(self: *const T, locale: u32, pszSrc: [*:0]const u16, cchSrc: i32, cMaxColumns: i32, pcchLine: ?*i32, pcchSkip: ?*i32) callconv(.Inline) HRESULT { return @as(*const IMLangLineBreakConsole.VTable, @ptrCast(self.vtable)).BreakLineW(@as(*const IMLangLineBreakConsole, @ptrCast(self)), locale, pszSrc, cchSrc, cMaxColumns, pcchLine, pcchSkip); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangLineBreakConsole_BreakLineA(self: *const T, locale: u32, uCodePage: u32, pszSrc: [*:0]const u8, cchSrc: i32, cMaxColumns: i32, pcchLine: ?*i32, pcchSkip: ?*i32) callconv(.Inline) HRESULT { return @as(*const IMLangLineBreakConsole.VTable, @ptrCast(self.vtable)).BreakLineA(@as(*const IMLangLineBreakConsole, @ptrCast(self)), locale, uCodePage, pszSrc, cchSrc, cMaxColumns, pcchLine, pcchSkip); } };} pub usingnamespace MethodMixin(@This()); }; pub const MIMECONTF = enum(i32) { MAILNEWS = 1, BROWSER = 2, MINIMAL = 4, IMPORT = 8, SAVABLE_MAILNEWS = 256, SAVABLE_BROWSER = 512, EXPORT = 1024, PRIVCONVERTER = 65536, VALID = 131072, VALID_NLS = 262144, MIME_IE4 = 268435456, MIME_LATEST = 536870912, MIME_REGISTRY = 1073741824, }; pub const MIMECONTF_MAILNEWS = MIMECONTF.MAILNEWS; pub const MIMECONTF_BROWSER = MIMECONTF.BROWSER; pub const MIMECONTF_MINIMAL = MIMECONTF.MINIMAL; pub const MIMECONTF_IMPORT = MIMECONTF.IMPORT; pub const MIMECONTF_SAVABLE_MAILNEWS = MIMECONTF.SAVABLE_MAILNEWS; pub const MIMECONTF_SAVABLE_BROWSER = MIMECONTF.SAVABLE_BROWSER; pub const MIMECONTF_EXPORT = MIMECONTF.EXPORT; pub const MIMECONTF_PRIVCONVERTER = MIMECONTF.PRIVCONVERTER; pub const MIMECONTF_VALID = MIMECONTF.VALID; pub const MIMECONTF_VALID_NLS = MIMECONTF.VALID_NLS; pub const MIMECONTF_MIME_IE4 = MIMECONTF.MIME_IE4; pub const MIMECONTF_MIME_LATEST = MIMECONTF.MIME_LATEST; pub const MIMECONTF_MIME_REGISTRY = MIMECONTF.MIME_REGISTRY; pub const MIMECPINFO = extern struct { dwFlags: u32, uiCodePage: u32, uiFamilyCodePage: u32, wszDescription: [64]u16, wszWebCharset: [50]u16, wszHeaderCharset: [50]u16, wszBodyCharset: [50]u16, wszFixedWidthFont: [32]u16, wszProportionalFont: [32]u16, bGDICharset: u8, }; pub const MIMECSETINFO = extern struct { uiCodePage: u32, uiInternetEncoding: u32, wszCharset: [50]u16, }; const IID_IEnumCodePage_Value = Guid.initString("275c23e3-3747-11d0-9fea-00aa003f8646"); pub const IID_IEnumCodePage = &IID_IEnumCodePage_Value; pub const IEnumCodePage = extern struct { pub const VTable = extern struct { base: IUnknown.VTable, Clone: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IEnumCodePage, ppEnum: ?*?*IEnumCodePage, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IEnumCodePage, ppEnum: ?*?*IEnumCodePage, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, Next: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IEnumCodePage, celt: u32, rgelt: ?*MIMECPINFO, pceltFetched: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IEnumCodePage, celt: u32, rgelt: ?*MIMECPINFO, pceltFetched: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, Reset: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IEnumCodePage, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IEnumCodePage, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, Skip: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IEnumCodePage, celt: u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IEnumCodePage, celt: u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, }; vtable: *const VTable, pub fn MethodMixin(comptime T: type) type { return struct { pub usingnamespace IUnknown.MethodMixin(T); // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IEnumCodePage_Clone(self: *const T, ppEnum: ?*?*IEnumCodePage) callconv(.Inline) HRESULT { return @as(*const IEnumCodePage.VTable, @ptrCast(self.vtable)).Clone(@as(*const IEnumCodePage, @ptrCast(self)), ppEnum); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IEnumCodePage_Next(self: *const T, celt: u32, rgelt: ?*MIMECPINFO, pceltFetched: ?*u32) callconv(.Inline) HRESULT { return @as(*const IEnumCodePage.VTable, @ptrCast(self.vtable)).Next(@as(*const IEnumCodePage, @ptrCast(self)), celt, rgelt, pceltFetched); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IEnumCodePage_Reset(self: *const T) callconv(.Inline) HRESULT { return @as(*const IEnumCodePage.VTable, @ptrCast(self.vtable)).Reset(@as(*const IEnumCodePage, @ptrCast(self))); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IEnumCodePage_Skip(self: *const T, celt: u32) callconv(.Inline) HRESULT { return @as(*const IEnumCodePage.VTable, @ptrCast(self.vtable)).Skip(@as(*const IEnumCodePage, @ptrCast(self)), celt); } };} pub usingnamespace MethodMixin(@This()); }; pub const RFC1766INFO = extern struct { lcid: u32, wszRfc1766: [6]u16, wszLocaleName: [32]u16, }; const IID_IEnumRfc1766_Value = Guid.initString("3dc39d1d-c030-11d0-b81b-00c04fc9b31f"); pub const IID_IEnumRfc1766 = &IID_IEnumRfc1766_Value; pub const IEnumRfc1766 = extern struct { pub const VTable = extern struct { base: IUnknown.VTable, Clone: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IEnumRfc1766, ppEnum: ?*?*IEnumRfc1766, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IEnumRfc1766, ppEnum: ?*?*IEnumRfc1766, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, Next: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IEnumRfc1766, celt: u32, rgelt: ?*RFC1766INFO, pceltFetched: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IEnumRfc1766, celt: u32, rgelt: ?*RFC1766INFO, pceltFetched: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, Reset: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IEnumRfc1766, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IEnumRfc1766, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, Skip: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IEnumRfc1766, celt: u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IEnumRfc1766, celt: u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, }; vtable: *const VTable, pub fn MethodMixin(comptime T: type) type { return struct { pub usingnamespace IUnknown.MethodMixin(T); // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IEnumRfc1766_Clone(self: *const T, ppEnum: ?*?*IEnumRfc1766) callconv(.Inline) HRESULT { return @as(*const IEnumRfc1766.VTable, @ptrCast(self.vtable)).Clone(@as(*const IEnumRfc1766, @ptrCast(self)), ppEnum); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IEnumRfc1766_Next(self: *const T, celt: u32, rgelt: ?*RFC1766INFO, pceltFetched: ?*u32) callconv(.Inline) HRESULT { return @as(*const IEnumRfc1766.VTable, @ptrCast(self.vtable)).Next(@as(*const IEnumRfc1766, @ptrCast(self)), celt, rgelt, pceltFetched); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IEnumRfc1766_Reset(self: *const T) callconv(.Inline) HRESULT { return @as(*const IEnumRfc1766.VTable, @ptrCast(self.vtable)).Reset(@as(*const IEnumRfc1766, @ptrCast(self))); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IEnumRfc1766_Skip(self: *const T, celt: u32) callconv(.Inline) HRESULT { return @as(*const IEnumRfc1766.VTable, @ptrCast(self.vtable)).Skip(@as(*const IEnumRfc1766, @ptrCast(self)), celt); } };} pub usingnamespace MethodMixin(@This()); }; pub const SCRIPTCONTF = enum(i32) { Default = 0, Merge = 1, AsciiSym = 2, AsciiLatin = 3, Latin = 4, Greek = 5, Cyrillic = 6, Armenian = 7, Hebrew = 8, Arabic = 9, Devanagari = 10, Bengali = 11, Gurmukhi = 12, Gujarati = 13, Oriya = 14, Tamil = 15, Telugu = 16, Kannada = 17, Malayalam = 18, Thai = 19, Lao = 20, Tibetan = 21, Georgian = 22, Hangul = 23, Kana = 24, Bopomofo = 25, Han = 26, Ethiopic = 27, CanSyllabic = 28, Cherokee = 29, Yi = 30, Braille = 31, Runic = 32, Ogham = 33, Sinhala = 34, Syriac = 35, Burmese = 36, Khmer = 37, Thaana = 38, Mongolian = 39, UserDefined = 40, Lim = 41, // FEFirst = 23, this enum value conflicts with Hangul // FELast = 26, this enum value conflicts with Han }; pub const sidDefault = SCRIPTCONTF.Default; pub const sidMerge = SCRIPTCONTF.Merge; pub const sidAsciiSym = SCRIPTCONTF.AsciiSym; pub const sidAsciiLatin = SCRIPTCONTF.AsciiLatin; pub const sidLatin = SCRIPTCONTF.Latin; pub const sidGreek = SCRIPTCONTF.Greek; pub const sidCyrillic = SCRIPTCONTF.Cyrillic; pub const sidArmenian = SCRIPTCONTF.Armenian; pub const sidHebrew = SCRIPTCONTF.Hebrew; pub const sidArabic = SCRIPTCONTF.Arabic; pub const sidDevanagari = SCRIPTCONTF.Devanagari; pub const sidBengali = SCRIPTCONTF.Bengali; pub const sidGurmukhi = SCRIPTCONTF.Gurmukhi; pub const sidGujarati = SCRIPTCONTF.Gujarati; pub const sidOriya = SCRIPTCONTF.Oriya; pub const sidTamil = SCRIPTCONTF.Tamil; pub const sidTelugu = SCRIPTCONTF.Telugu; pub const sidKannada = SCRIPTCONTF.Kannada; pub const sidMalayalam = SCRIPTCONTF.Malayalam; pub const sidThai = SCRIPTCONTF.Thai; pub const sidLao = SCRIPTCONTF.Lao; pub const sidTibetan = SCRIPTCONTF.Tibetan; pub const sidGeorgian = SCRIPTCONTF.Georgian; pub const sidHangul = SCRIPTCONTF.Hangul; pub const sidKana = SCRIPTCONTF.Kana; pub const sidBopomofo = SCRIPTCONTF.Bopomofo; pub const sidHan = SCRIPTCONTF.Han; pub const sidEthiopic = SCRIPTCONTF.Ethiopic; pub const sidCanSyllabic = SCRIPTCONTF.CanSyllabic; pub const sidCherokee = SCRIPTCONTF.Cherokee; pub const sidYi = SCRIPTCONTF.Yi; pub const sidBraille = SCRIPTCONTF.Braille; pub const sidRunic = SCRIPTCONTF.Runic; pub const sidOgham = SCRIPTCONTF.Ogham; pub const sidSinhala = SCRIPTCONTF.Sinhala; pub const sidSyriac = SCRIPTCONTF.Syriac; pub const sidBurmese = SCRIPTCONTF.Burmese; pub const sidKhmer = SCRIPTCONTF.Khmer; pub const sidThaana = SCRIPTCONTF.Thaana; pub const sidMongolian = SCRIPTCONTF.Mongolian; pub const sidUserDefined = SCRIPTCONTF.UserDefined; pub const sidLim = SCRIPTCONTF.Lim; pub const sidFEFirst = SCRIPTCONTF.Hangul; pub const sidFELast = SCRIPTCONTF.Han; pub const SCRIPTINFO = extern struct { ScriptId: u8, uiCodePage: u32, wszDescription: [48]u16, wszFixedWidthFont: [32]u16, wszProportionalFont: [32]u16, }; const IID_IEnumScript_Value = Guid.initString("ae5f1430-388b-11d2-8380-00c04f8f5da1"); pub const IID_IEnumScript = &IID_IEnumScript_Value; pub const IEnumScript = extern struct { pub const VTable = extern struct { base: IUnknown.VTable, Clone: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IEnumScript, ppEnum: ?*?*IEnumScript, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IEnumScript, ppEnum: ?*?*IEnumScript, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, Next: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IEnumScript, celt: u32, rgelt: ?*SCRIPTINFO, pceltFetched: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IEnumScript, celt: u32, rgelt: ?*SCRIPTINFO, pceltFetched: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, Reset: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IEnumScript, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IEnumScript, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, Skip: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IEnumScript, celt: u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IEnumScript, celt: u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, }; vtable: *const VTable, pub fn MethodMixin(comptime T: type) type { return struct { pub usingnamespace IUnknown.MethodMixin(T); // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IEnumScript_Clone(self: *const T, ppEnum: ?*?*IEnumScript) callconv(.Inline) HRESULT { return @as(*const IEnumScript.VTable, @ptrCast(self.vtable)).Clone(@as(*const IEnumScript, @ptrCast(self)), ppEnum); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IEnumScript_Next(self: *const T, celt: u32, rgelt: ?*SCRIPTINFO, pceltFetched: ?*u32) callconv(.Inline) HRESULT { return @as(*const IEnumScript.VTable, @ptrCast(self.vtable)).Next(@as(*const IEnumScript, @ptrCast(self)), celt, rgelt, pceltFetched); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IEnumScript_Reset(self: *const T) callconv(.Inline) HRESULT { return @as(*const IEnumScript.VTable, @ptrCast(self.vtable)).Reset(@as(*const IEnumScript, @ptrCast(self))); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IEnumScript_Skip(self: *const T, celt: u32) callconv(.Inline) HRESULT { return @as(*const IEnumScript.VTable, @ptrCast(self.vtable)).Skip(@as(*const IEnumScript, @ptrCast(self)), celt); } };} pub usingnamespace MethodMixin(@This()); }; pub const tagMLCONVCHARF = enum(i32) { AUTODETECT = 1, ENTITIZE = 2, // NCR_ENTITIZE = 2, this enum value conflicts with ENTITIZE NAME_ENTITIZE = 4, USEDEFCHAR = 8, NOBESTFITCHARS = 16, DETECTJPN = 32, }; pub const MLCONVCHARF_AUTODETECT = tagMLCONVCHARF.AUTODETECT; pub const MLCONVCHARF_ENTITIZE = tagMLCONVCHARF.ENTITIZE; pub const MLCONVCHARF_NCR_ENTITIZE = tagMLCONVCHARF.ENTITIZE; pub const MLCONVCHARF_NAME_ENTITIZE = tagMLCONVCHARF.NAME_ENTITIZE; pub const MLCONVCHARF_USEDEFCHAR = tagMLCONVCHARF.USEDEFCHAR; pub const MLCONVCHARF_NOBESTFITCHARS = tagMLCONVCHARF.NOBESTFITCHARS; pub const MLCONVCHARF_DETECTJPN = tagMLCONVCHARF.DETECTJPN; pub const tagMLCPF = enum(i32) { MAILNEWS = 1, BROWSER = 2, VALID = 4, VALID_NLS = 8, PRESERVE_ORDER = 16, PREFERRED_ONLY = 32, FILTER_SPECIALCHAR = 64, EURO_UTF8 = 128, }; pub const MLDETECTF_MAILNEWS = tagMLCPF.MAILNEWS; pub const MLDETECTF_BROWSER = tagMLCPF.BROWSER; pub const MLDETECTF_VALID = tagMLCPF.VALID; pub const MLDETECTF_VALID_NLS = tagMLCPF.VALID_NLS; pub const MLDETECTF_PRESERVE_ORDER = tagMLCPF.PRESERVE_ORDER; pub const MLDETECTF_PREFERRED_ONLY = tagMLCPF.PREFERRED_ONLY; pub const MLDETECTF_FILTER_SPECIALCHAR = tagMLCPF.FILTER_SPECIALCHAR; pub const MLDETECTF_EURO_UTF8 = tagMLCPF.EURO_UTF8; const IID_IMLangConvertCharset_Value = Guid.initString("d66d6f98-cdaa-11d0-b822-00c04fc9b31f"); pub const IID_IMLangConvertCharset = &IID_IMLangConvertCharset_Value; pub const IMLangConvertCharset = extern struct { pub const VTable = extern struct { base: IUnknown.VTable, Initialize: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangConvertCharset, uiSrcCodePage: u32, uiDstCodePage: u32, dwProperty: u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangConvertCharset, uiSrcCodePage: u32, uiDstCodePage: u32, dwProperty: u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, GetSourceCodePage: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangConvertCharset, puiSrcCodePage: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangConvertCharset, puiSrcCodePage: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, GetDestinationCodePage: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangConvertCharset, puiDstCodePage: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangConvertCharset, puiDstCodePage: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, GetProperty: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangConvertCharset, pdwProperty: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangConvertCharset, pdwProperty: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, DoConversion: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangConvertCharset, // TODO: what to do with BytesParamIndex 1? pSrcStr: ?*u8, pcSrcSize: ?*u32, // TODO: what to do with BytesParamIndex 3? pDstStr: ?*u8, pcDstSize: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangConvertCharset, // TODO: what to do with BytesParamIndex 1? pSrcStr: ?*u8, pcSrcSize: ?*u32, // TODO: what to do with BytesParamIndex 3? pDstStr: ?*u8, pcDstSize: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, DoConversionToUnicode: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangConvertCharset, // TODO: what to do with BytesParamIndex 1? pSrcStr: ?PSTR, pcSrcSize: ?*u32, pDstStr: [*:0]u16, pcDstSize: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangConvertCharset, // TODO: what to do with BytesParamIndex 1? pSrcStr: ?PSTR, pcSrcSize: ?*u32, pDstStr: [*:0]u16, pcDstSize: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, DoConversionFromUnicode: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangConvertCharset, pSrcStr: [*:0]u16, pcSrcSize: ?*u32, // TODO: what to do with BytesParamIndex 3? pDstStr: ?PSTR, pcDstSize: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangConvertCharset, pSrcStr: [*:0]u16, pcSrcSize: ?*u32, // TODO: what to do with BytesParamIndex 3? pDstStr: ?PSTR, pcDstSize: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, }; vtable: *const VTable, pub fn MethodMixin(comptime T: type) type { return struct { pub usingnamespace IUnknown.MethodMixin(T); // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangConvertCharset_Initialize(self: *const T, uiSrcCodePage: u32, uiDstCodePage: u32, dwProperty: u32) callconv(.Inline) HRESULT { return @as(*const IMLangConvertCharset.VTable, @ptrCast(self.vtable)).Initialize(@as(*const IMLangConvertCharset, @ptrCast(self)), uiSrcCodePage, uiDstCodePage, dwProperty); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangConvertCharset_GetSourceCodePage(self: *const T, puiSrcCodePage: ?*u32) callconv(.Inline) HRESULT { return @as(*const IMLangConvertCharset.VTable, @ptrCast(self.vtable)).GetSourceCodePage(@as(*const IMLangConvertCharset, @ptrCast(self)), puiSrcCodePage); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangConvertCharset_GetDestinationCodePage(self: *const T, puiDstCodePage: ?*u32) callconv(.Inline) HRESULT { return @as(*const IMLangConvertCharset.VTable, @ptrCast(self.vtable)).GetDestinationCodePage(@as(*const IMLangConvertCharset, @ptrCast(self)), puiDstCodePage); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangConvertCharset_GetProperty(self: *const T, pdwProperty: ?*u32) callconv(.Inline) HRESULT { return @as(*const IMLangConvertCharset.VTable, @ptrCast(self.vtable)).GetProperty(@as(*const IMLangConvertCharset, @ptrCast(self)), pdwProperty); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangConvertCharset_DoConversion(self: *const T, pSrcStr: ?*u8, pcSrcSize: ?*u32, pDstStr: ?*u8, pcDstSize: ?*u32) callconv(.Inline) HRESULT { return @as(*const IMLangConvertCharset.VTable, @ptrCast(self.vtable)).DoConversion(@as(*const IMLangConvertCharset, @ptrCast(self)), pSrcStr, pcSrcSize, pDstStr, pcDstSize); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangConvertCharset_DoConversionToUnicode(self: *const T, pSrcStr: ?PSTR, pcSrcSize: ?*u32, pDstStr: [*:0]u16, pcDstSize: ?*u32) callconv(.Inline) HRESULT { return @as(*const IMLangConvertCharset.VTable, @ptrCast(self.vtable)).DoConversionToUnicode(@as(*const IMLangConvertCharset, @ptrCast(self)), pSrcStr, pcSrcSize, pDstStr, pcDstSize); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangConvertCharset_DoConversionFromUnicode(self: *const T, pSrcStr: [*:0]u16, pcSrcSize: ?*u32, pDstStr: ?PSTR, pcDstSize: ?*u32) callconv(.Inline) HRESULT { return @as(*const IMLangConvertCharset.VTable, @ptrCast(self.vtable)).DoConversionFromUnicode(@as(*const IMLangConvertCharset, @ptrCast(self)), pSrcStr, pcSrcSize, pDstStr, pcDstSize); } };} pub usingnamespace MethodMixin(@This()); }; const IID_IMultiLanguage_Value = Guid.initString("275c23e1-3747-11d0-9fea-00aa003f8646"); pub const IID_IMultiLanguage = &IID_IMultiLanguage_Value; pub const IMultiLanguage = extern struct { pub const VTable = extern struct { base: IUnknown.VTable, GetNumberOfCodePageInfo: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage, pcCodePage: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage, pcCodePage: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, GetCodePageInfo: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage, uiCodePage: u32, pCodePageInfo: ?*MIMECPINFO, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage, uiCodePage: u32, pCodePageInfo: ?*MIMECPINFO, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, GetFamilyCodePage: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage, uiCodePage: u32, puiFamilyCodePage: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage, uiCodePage: u32, puiFamilyCodePage: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, EnumCodePages: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage, grfFlags: u32, ppEnumCodePage: ?*?*IEnumCodePage, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage, grfFlags: u32, ppEnumCodePage: ?*?*IEnumCodePage, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, GetCharsetInfo: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage, Charset: ?BSTR, pCharsetInfo: ?*MIMECSETINFO, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage, Charset: ?BSTR, pCharsetInfo: ?*MIMECSETINFO, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, IsConvertible: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage, dwSrcEncoding: u32, dwDstEncoding: u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage, dwSrcEncoding: u32, dwDstEncoding: u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, ConvertString: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage, pdwMode: ?*u32, dwSrcEncoding: u32, dwDstEncoding: u32, // TODO: what to do with BytesParamIndex 4? pSrcStr: ?*u8, pcSrcSize: ?*u32, // TODO: what to do with BytesParamIndex 6? pDstStr: ?*u8, pcDstSize: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage, pdwMode: ?*u32, dwSrcEncoding: u32, dwDstEncoding: u32, // TODO: what to do with BytesParamIndex 4? pSrcStr: ?*u8, pcSrcSize: ?*u32, // TODO: what to do with BytesParamIndex 6? pDstStr: ?*u8, pcDstSize: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, ConvertStringToUnicode: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage, pdwMode: ?*u32, dwEncoding: u32, // TODO: what to do with BytesParamIndex 3? pSrcStr: ?PSTR, pcSrcSize: ?*u32, pDstStr: ?[*:0]u16, pcDstSize: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage, pdwMode: ?*u32, dwEncoding: u32, // TODO: what to do with BytesParamIndex 3? pSrcStr: ?PSTR, pcSrcSize: ?*u32, pDstStr: ?[*:0]u16, pcDstSize: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, ConvertStringFromUnicode: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage, pdwMode: ?*u32, dwEncoding: u32, pSrcStr: ?[*:0]u16, pcSrcSize: ?*u32, // TODO: what to do with BytesParamIndex 5? pDstStr: ?PSTR, pcDstSize: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage, pdwMode: ?*u32, dwEncoding: u32, pSrcStr: ?[*:0]u16, pcSrcSize: ?*u32, // TODO: what to do with BytesParamIndex 5? pDstStr: ?PSTR, pcDstSize: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, ConvertStringReset: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, GetRfc1766FromLcid: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage, Locale: u32, pbstrRfc1766: ?*?BSTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage, Locale: u32, pbstrRfc1766: ?*?BSTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, GetLcidFromRfc1766: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage, pLocale: ?*u32, bstrRfc1766: ?BSTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage, pLocale: ?*u32, bstrRfc1766: ?BSTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, EnumRfc1766: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage, ppEnumRfc1766: ?*?*IEnumRfc1766, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage, ppEnumRfc1766: ?*?*IEnumRfc1766, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, GetRfc1766Info: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage, Locale: u32, pRfc1766Info: ?*RFC1766INFO, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage, Locale: u32, pRfc1766Info: ?*RFC1766INFO, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, CreateConvertCharset: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage, uiSrcCodePage: u32, uiDstCodePage: u32, dwProperty: u32, ppMLangConvertCharset: ?*?*IMLangConvertCharset, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage, uiSrcCodePage: u32, uiDstCodePage: u32, dwProperty: u32, ppMLangConvertCharset: ?*?*IMLangConvertCharset, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, }; vtable: *const VTable, pub fn MethodMixin(comptime T: type) type { return struct { pub usingnamespace IUnknown.MethodMixin(T); // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage_GetNumberOfCodePageInfo(self: *const T, pcCodePage: ?*u32) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage.VTable, @ptrCast(self.vtable)).GetNumberOfCodePageInfo(@as(*const IMultiLanguage, @ptrCast(self)), pcCodePage); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage_GetCodePageInfo(self: *const T, uiCodePage: u32, pCodePageInfo: ?*MIMECPINFO) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage.VTable, @ptrCast(self.vtable)).GetCodePageInfo(@as(*const IMultiLanguage, @ptrCast(self)), uiCodePage, pCodePageInfo); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage_GetFamilyCodePage(self: *const T, uiCodePage: u32, puiFamilyCodePage: ?*u32) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage.VTable, @ptrCast(self.vtable)).GetFamilyCodePage(@as(*const IMultiLanguage, @ptrCast(self)), uiCodePage, puiFamilyCodePage); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage_EnumCodePages(self: *const T, grfFlags: u32, ppEnumCodePage: ?*?*IEnumCodePage) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage.VTable, @ptrCast(self.vtable)).EnumCodePages(@as(*const IMultiLanguage, @ptrCast(self)), grfFlags, ppEnumCodePage); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage_GetCharsetInfo(self: *const T, Charset: ?BSTR, pCharsetInfo: ?*MIMECSETINFO) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage.VTable, @ptrCast(self.vtable)).GetCharsetInfo(@as(*const IMultiLanguage, @ptrCast(self)), Charset, pCharsetInfo); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage_IsConvertible(self: *const T, dwSrcEncoding: u32, dwDstEncoding: u32) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage.VTable, @ptrCast(self.vtable)).IsConvertible(@as(*const IMultiLanguage, @ptrCast(self)), dwSrcEncoding, dwDstEncoding); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage_ConvertString(self: *const T, pdwMode: ?*u32, dwSrcEncoding: u32, dwDstEncoding: u32, pSrcStr: ?*u8, pcSrcSize: ?*u32, pDstStr: ?*u8, pcDstSize: ?*u32) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage.VTable, @ptrCast(self.vtable)).ConvertString(@as(*const IMultiLanguage, @ptrCast(self)), pdwMode, dwSrcEncoding, dwDstEncoding, pSrcStr, pcSrcSize, pDstStr, pcDstSize); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage_ConvertStringToUnicode(self: *const T, pdwMode: ?*u32, dwEncoding: u32, pSrcStr: ?PSTR, pcSrcSize: ?*u32, pDstStr: ?[*:0]u16, pcDstSize: ?*u32) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage.VTable, @ptrCast(self.vtable)).ConvertStringToUnicode(@as(*const IMultiLanguage, @ptrCast(self)), pdwMode, dwEncoding, pSrcStr, pcSrcSize, pDstStr, pcDstSize); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage_ConvertStringFromUnicode(self: *const T, pdwMode: ?*u32, dwEncoding: u32, pSrcStr: ?[*:0]u16, pcSrcSize: ?*u32, pDstStr: ?PSTR, pcDstSize: ?*u32) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage.VTable, @ptrCast(self.vtable)).ConvertStringFromUnicode(@as(*const IMultiLanguage, @ptrCast(self)), pdwMode, dwEncoding, pSrcStr, pcSrcSize, pDstStr, pcDstSize); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage_ConvertStringReset(self: *const T) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage.VTable, @ptrCast(self.vtable)).ConvertStringReset(@as(*const IMultiLanguage, @ptrCast(self))); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage_GetRfc1766FromLcid(self: *const T, Locale: u32, pbstrRfc1766: ?*?BSTR) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage.VTable, @ptrCast(self.vtable)).GetRfc1766FromLcid(@as(*const IMultiLanguage, @ptrCast(self)), Locale, pbstrRfc1766); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage_GetLcidFromRfc1766(self: *const T, pLocale: ?*u32, bstrRfc1766: ?BSTR) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage.VTable, @ptrCast(self.vtable)).GetLcidFromRfc1766(@as(*const IMultiLanguage, @ptrCast(self)), pLocale, bstrRfc1766); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage_EnumRfc1766(self: *const T, ppEnumRfc1766: ?*?*IEnumRfc1766) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage.VTable, @ptrCast(self.vtable)).EnumRfc1766(@as(*const IMultiLanguage, @ptrCast(self)), ppEnumRfc1766); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage_GetRfc1766Info(self: *const T, Locale: u32, pRfc1766Info: ?*RFC1766INFO) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage.VTable, @ptrCast(self.vtable)).GetRfc1766Info(@as(*const IMultiLanguage, @ptrCast(self)), Locale, pRfc1766Info); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage_CreateConvertCharset(self: *const T, uiSrcCodePage: u32, uiDstCodePage: u32, dwProperty: u32, ppMLangConvertCharset: ?*?*IMLangConvertCharset) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage.VTable, @ptrCast(self.vtable)).CreateConvertCharset(@as(*const IMultiLanguage, @ptrCast(self)), uiSrcCodePage, uiDstCodePage, dwProperty, ppMLangConvertCharset); } };} pub usingnamespace MethodMixin(@This()); }; pub const MLDETECTCP = enum(i32) { NONE = 0, @"7BIT" = 1, @"8BIT" = 2, DBCS = 4, HTML = 8, NUMBER = 16, }; pub const MLDETECTCP_NONE = MLDETECTCP.NONE; pub const MLDETECTCP_7BIT = MLDETECTCP.@"7BIT"; pub const MLDETECTCP_8BIT = MLDETECTCP.@"8BIT"; pub const MLDETECTCP_DBCS = MLDETECTCP.DBCS; pub const MLDETECTCP_HTML = MLDETECTCP.HTML; pub const MLDETECTCP_NUMBER = MLDETECTCP.NUMBER; pub const DetectEncodingInfo = extern struct { nLangID: u32, nCodePage: u32, nDocPercent: i32, nConfidence: i32, }; pub const SCRIPTFONTCONTF = enum(i32) { FIXED_FONT = 1, PROPORTIONAL_FONT = 2, SCRIPT_USER = 65536, SCRIPT_HIDE = 131072, SCRIPT_SYSTEM = 262144, }; pub const SCRIPTCONTF_FIXED_FONT = SCRIPTFONTCONTF.FIXED_FONT; pub const SCRIPTCONTF_PROPORTIONAL_FONT = SCRIPTFONTCONTF.PROPORTIONAL_FONT; pub const SCRIPTCONTF_SCRIPT_USER = SCRIPTFONTCONTF.SCRIPT_USER; pub const SCRIPTCONTF_SCRIPT_HIDE = SCRIPTFONTCONTF.SCRIPT_HIDE; pub const SCRIPTCONTF_SCRIPT_SYSTEM = SCRIPTFONTCONTF.SCRIPT_SYSTEM; pub const tagSCRIPFONTINFO = extern struct { scripts: i64, wszFont: [32]u16, }; const IID_IMultiLanguage2_Value = Guid.initString("dccfc164-2b38-11d2-b7ec-00c04f8f5d9a"); pub const IID_IMultiLanguage2 = &IID_IMultiLanguage2_Value; pub const IMultiLanguage2 = extern struct { pub const VTable = extern struct { base: IUnknown.VTable, GetNumberOfCodePageInfo: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage2, pcCodePage: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage2, pcCodePage: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, GetCodePageInfo: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage2, uiCodePage: u32, LangId: u16, pCodePageInfo: ?*MIMECPINFO, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage2, uiCodePage: u32, LangId: u16, pCodePageInfo: ?*MIMECPINFO, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, GetFamilyCodePage: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage2, uiCodePage: u32, puiFamilyCodePage: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage2, uiCodePage: u32, puiFamilyCodePage: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, EnumCodePages: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage2, grfFlags: u32, LangId: u16, ppEnumCodePage: ?*?*IEnumCodePage, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage2, grfFlags: u32, LangId: u16, ppEnumCodePage: ?*?*IEnumCodePage, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, GetCharsetInfo: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage2, Charset: ?BSTR, pCharsetInfo: ?*MIMECSETINFO, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage2, Charset: ?BSTR, pCharsetInfo: ?*MIMECSETINFO, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, IsConvertible: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage2, dwSrcEncoding: u32, dwDstEncoding: u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage2, dwSrcEncoding: u32, dwDstEncoding: u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, ConvertString: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage2, pdwMode: ?*u32, dwSrcEncoding: u32, dwDstEncoding: u32, // TODO: what to do with BytesParamIndex 4? pSrcStr: ?*u8, pcSrcSize: ?*u32, // TODO: what to do with BytesParamIndex 6? pDstStr: ?*u8, pcDstSize: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage2, pdwMode: ?*u32, dwSrcEncoding: u32, dwDstEncoding: u32, // TODO: what to do with BytesParamIndex 4? pSrcStr: ?*u8, pcSrcSize: ?*u32, // TODO: what to do with BytesParamIndex 6? pDstStr: ?*u8, pcDstSize: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, ConvertStringToUnicode: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage2, pdwMode: ?*u32, dwEncoding: u32, // TODO: what to do with BytesParamIndex 3? pSrcStr: ?PSTR, pcSrcSize: ?*u32, pDstStr: ?[*:0]u16, pcDstSize: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage2, pdwMode: ?*u32, dwEncoding: u32, // TODO: what to do with BytesParamIndex 3? pSrcStr: ?PSTR, pcSrcSize: ?*u32, pDstStr: ?[*:0]u16, pcDstSize: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, ConvertStringFromUnicode: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage2, pdwMode: ?*u32, dwEncoding: u32, pSrcStr: ?[*:0]u16, pcSrcSize: ?*u32, // TODO: what to do with BytesParamIndex 5? pDstStr: ?PSTR, pcDstSize: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage2, pdwMode: ?*u32, dwEncoding: u32, pSrcStr: ?[*:0]u16, pcSrcSize: ?*u32, // TODO: what to do with BytesParamIndex 5? pDstStr: ?PSTR, pcDstSize: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, ConvertStringReset: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage2, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage2, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, GetRfc1766FromLcid: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage2, Locale: u32, pbstrRfc1766: ?*?BSTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage2, Locale: u32, pbstrRfc1766: ?*?BSTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, GetLcidFromRfc1766: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage2, pLocale: ?*u32, bstrRfc1766: ?BSTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage2, pLocale: ?*u32, bstrRfc1766: ?BSTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, EnumRfc1766: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage2, LangId: u16, ppEnumRfc1766: ?*?*IEnumRfc1766, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage2, LangId: u16, ppEnumRfc1766: ?*?*IEnumRfc1766, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, GetRfc1766Info: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage2, Locale: u32, LangId: u16, pRfc1766Info: ?*RFC1766INFO, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage2, Locale: u32, LangId: u16, pRfc1766Info: ?*RFC1766INFO, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, CreateConvertCharset: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage2, uiSrcCodePage: u32, uiDstCodePage: u32, dwProperty: u32, ppMLangConvertCharset: ?*?*IMLangConvertCharset, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage2, uiSrcCodePage: u32, uiDstCodePage: u32, dwProperty: u32, ppMLangConvertCharset: ?*?*IMLangConvertCharset, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, ConvertStringInIStream: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage2, pdwMode: ?*u32, dwFlag: u32, lpFallBack: ?PWSTR, dwSrcEncoding: u32, dwDstEncoding: u32, pstmIn: ?*IStream, pstmOut: ?*IStream, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage2, pdwMode: ?*u32, dwFlag: u32, lpFallBack: ?PWSTR, dwSrcEncoding: u32, dwDstEncoding: u32, pstmIn: ?*IStream, pstmOut: ?*IStream, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, ConvertStringToUnicodeEx: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage2, pdwMode: ?*u32, dwEncoding: u32, // TODO: what to do with BytesParamIndex 3? pSrcStr: ?PSTR, pcSrcSize: ?*u32, pDstStr: [*:0]u16, pcDstSize: ?*u32, dwFlag: u32, lpFallBack: ?PWSTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage2, pdwMode: ?*u32, dwEncoding: u32, // TODO: what to do with BytesParamIndex 3? pSrcStr: ?PSTR, pcSrcSize: ?*u32, pDstStr: [*:0]u16, pcDstSize: ?*u32, dwFlag: u32, lpFallBack: ?PWSTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, ConvertStringFromUnicodeEx: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage2, pdwMode: ?*u32, dwEncoding: u32, pSrcStr: [*:0]u16, pcSrcSize: ?*u32, // TODO: what to do with BytesParamIndex 5? pDstStr: ?PSTR, pcDstSize: ?*u32, dwFlag: u32, lpFallBack: ?PWSTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage2, pdwMode: ?*u32, dwEncoding: u32, pSrcStr: [*:0]u16, pcSrcSize: ?*u32, // TODO: what to do with BytesParamIndex 5? pDstStr: ?PSTR, pcDstSize: ?*u32, dwFlag: u32, lpFallBack: ?PWSTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, DetectCodepageInIStream: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage2, dwFlag: u32, dwPrefWinCodePage: u32, pstmIn: ?*IStream, lpEncoding: ?*DetectEncodingInfo, pnScores: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage2, dwFlag: u32, dwPrefWinCodePage: u32, pstmIn: ?*IStream, lpEncoding: ?*DetectEncodingInfo, pnScores: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, DetectInputCodepage: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage2, dwFlag: u32, dwPrefWinCodePage: u32, // TODO: what to do with BytesParamIndex 3? pSrcStr: ?PSTR, pcSrcSize: ?*i32, lpEncoding: ?*DetectEncodingInfo, pnScores: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage2, dwFlag: u32, dwPrefWinCodePage: u32, // TODO: what to do with BytesParamIndex 3? pSrcStr: ?PSTR, pcSrcSize: ?*i32, lpEncoding: ?*DetectEncodingInfo, pnScores: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, ValidateCodePage: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage2, uiCodePage: u32, hwnd: ?HWND, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage2, uiCodePage: u32, hwnd: ?HWND, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, GetCodePageDescription: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage2, uiCodePage: u32, lcid: u32, lpWideCharStr: [*:0]u16, cchWideChar: i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage2, uiCodePage: u32, lcid: u32, lpWideCharStr: [*:0]u16, cchWideChar: i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, IsCodePageInstallable: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage2, uiCodePage: u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage2, uiCodePage: u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, SetMimeDBSource: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage2, dwSource: MIMECONTF, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage2, dwSource: MIMECONTF, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, GetNumberOfScripts: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage2, pnScripts: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage2, pnScripts: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, EnumScripts: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage2, dwFlags: u32, LangId: u16, ppEnumScript: ?*?*IEnumScript, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage2, dwFlags: u32, LangId: u16, ppEnumScript: ?*?*IEnumScript, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, ValidateCodePageEx: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage2, uiCodePage: u32, hwnd: ?HWND, dwfIODControl: u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage2, uiCodePage: u32, hwnd: ?HWND, dwfIODControl: u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, }; vtable: *const VTable, pub fn MethodMixin(comptime T: type) type { return struct { pub usingnamespace IUnknown.MethodMixin(T); // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage2_GetNumberOfCodePageInfo(self: *const T, pcCodePage: ?*u32) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage2.VTable, @ptrCast(self.vtable)).GetNumberOfCodePageInfo(@as(*const IMultiLanguage2, @ptrCast(self)), pcCodePage); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage2_GetCodePageInfo(self: *const T, uiCodePage: u32, LangId: u16, pCodePageInfo: ?*MIMECPINFO) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage2.VTable, @ptrCast(self.vtable)).GetCodePageInfo(@as(*const IMultiLanguage2, @ptrCast(self)), uiCodePage, LangId, pCodePageInfo); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage2_GetFamilyCodePage(self: *const T, uiCodePage: u32, puiFamilyCodePage: ?*u32) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage2.VTable, @ptrCast(self.vtable)).GetFamilyCodePage(@as(*const IMultiLanguage2, @ptrCast(self)), uiCodePage, puiFamilyCodePage); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage2_EnumCodePages(self: *const T, grfFlags: u32, LangId: u16, ppEnumCodePage: ?*?*IEnumCodePage) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage2.VTable, @ptrCast(self.vtable)).EnumCodePages(@as(*const IMultiLanguage2, @ptrCast(self)), grfFlags, LangId, ppEnumCodePage); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage2_GetCharsetInfo(self: *const T, Charset: ?BSTR, pCharsetInfo: ?*MIMECSETINFO) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage2.VTable, @ptrCast(self.vtable)).GetCharsetInfo(@as(*const IMultiLanguage2, @ptrCast(self)), Charset, pCharsetInfo); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage2_IsConvertible(self: *const T, dwSrcEncoding: u32, dwDstEncoding: u32) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage2.VTable, @ptrCast(self.vtable)).IsConvertible(@as(*const IMultiLanguage2, @ptrCast(self)), dwSrcEncoding, dwDstEncoding); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage2_ConvertString(self: *const T, pdwMode: ?*u32, dwSrcEncoding: u32, dwDstEncoding: u32, pSrcStr: ?*u8, pcSrcSize: ?*u32, pDstStr: ?*u8, pcDstSize: ?*u32) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage2.VTable, @ptrCast(self.vtable)).ConvertString(@as(*const IMultiLanguage2, @ptrCast(self)), pdwMode, dwSrcEncoding, dwDstEncoding, pSrcStr, pcSrcSize, pDstStr, pcDstSize); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage2_ConvertStringToUnicode(self: *const T, pdwMode: ?*u32, dwEncoding: u32, pSrcStr: ?PSTR, pcSrcSize: ?*u32, pDstStr: ?[*:0]u16, pcDstSize: ?*u32) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage2.VTable, @ptrCast(self.vtable)).ConvertStringToUnicode(@as(*const IMultiLanguage2, @ptrCast(self)), pdwMode, dwEncoding, pSrcStr, pcSrcSize, pDstStr, pcDstSize); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage2_ConvertStringFromUnicode(self: *const T, pdwMode: ?*u32, dwEncoding: u32, pSrcStr: ?[*:0]u16, pcSrcSize: ?*u32, pDstStr: ?PSTR, pcDstSize: ?*u32) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage2.VTable, @ptrCast(self.vtable)).ConvertStringFromUnicode(@as(*const IMultiLanguage2, @ptrCast(self)), pdwMode, dwEncoding, pSrcStr, pcSrcSize, pDstStr, pcDstSize); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage2_ConvertStringReset(self: *const T) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage2.VTable, @ptrCast(self.vtable)).ConvertStringReset(@as(*const IMultiLanguage2, @ptrCast(self))); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage2_GetRfc1766FromLcid(self: *const T, Locale: u32, pbstrRfc1766: ?*?BSTR) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage2.VTable, @ptrCast(self.vtable)).GetRfc1766FromLcid(@as(*const IMultiLanguage2, @ptrCast(self)), Locale, pbstrRfc1766); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage2_GetLcidFromRfc1766(self: *const T, pLocale: ?*u32, bstrRfc1766: ?BSTR) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage2.VTable, @ptrCast(self.vtable)).GetLcidFromRfc1766(@as(*const IMultiLanguage2, @ptrCast(self)), pLocale, bstrRfc1766); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage2_EnumRfc1766(self: *const T, LangId: u16, ppEnumRfc1766: ?*?*IEnumRfc1766) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage2.VTable, @ptrCast(self.vtable)).EnumRfc1766(@as(*const IMultiLanguage2, @ptrCast(self)), LangId, ppEnumRfc1766); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage2_GetRfc1766Info(self: *const T, Locale: u32, LangId: u16, pRfc1766Info: ?*RFC1766INFO) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage2.VTable, @ptrCast(self.vtable)).GetRfc1766Info(@as(*const IMultiLanguage2, @ptrCast(self)), Locale, LangId, pRfc1766Info); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage2_CreateConvertCharset(self: *const T, uiSrcCodePage: u32, uiDstCodePage: u32, dwProperty: u32, ppMLangConvertCharset: ?*?*IMLangConvertCharset) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage2.VTable, @ptrCast(self.vtable)).CreateConvertCharset(@as(*const IMultiLanguage2, @ptrCast(self)), uiSrcCodePage, uiDstCodePage, dwProperty, ppMLangConvertCharset); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage2_ConvertStringInIStream(self: *const T, pdwMode: ?*u32, dwFlag: u32, lpFallBack: ?PWSTR, dwSrcEncoding: u32, dwDstEncoding: u32, pstmIn: ?*IStream, pstmOut: ?*IStream) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage2.VTable, @ptrCast(self.vtable)).ConvertStringInIStream(@as(*const IMultiLanguage2, @ptrCast(self)), pdwMode, dwFlag, lpFallBack, dwSrcEncoding, dwDstEncoding, pstmIn, pstmOut); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage2_ConvertStringToUnicodeEx(self: *const T, pdwMode: ?*u32, dwEncoding: u32, pSrcStr: ?PSTR, pcSrcSize: ?*u32, pDstStr: [*:0]u16, pcDstSize: ?*u32, dwFlag: u32, lpFallBack: ?PWSTR) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage2.VTable, @ptrCast(self.vtable)).ConvertStringToUnicodeEx(@as(*const IMultiLanguage2, @ptrCast(self)), pdwMode, dwEncoding, pSrcStr, pcSrcSize, pDstStr, pcDstSize, dwFlag, lpFallBack); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage2_ConvertStringFromUnicodeEx(self: *const T, pdwMode: ?*u32, dwEncoding: u32, pSrcStr: [*:0]u16, pcSrcSize: ?*u32, pDstStr: ?PSTR, pcDstSize: ?*u32, dwFlag: u32, lpFallBack: ?PWSTR) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage2.VTable, @ptrCast(self.vtable)).ConvertStringFromUnicodeEx(@as(*const IMultiLanguage2, @ptrCast(self)), pdwMode, dwEncoding, pSrcStr, pcSrcSize, pDstStr, pcDstSize, dwFlag, lpFallBack); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage2_DetectCodepageInIStream(self: *const T, dwFlag: u32, dwPrefWinCodePage: u32, pstmIn: ?*IStream, lpEncoding: ?*DetectEncodingInfo, pnScores: ?*i32) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage2.VTable, @ptrCast(self.vtable)).DetectCodepageInIStream(@as(*const IMultiLanguage2, @ptrCast(self)), dwFlag, dwPrefWinCodePage, pstmIn, lpEncoding, pnScores); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage2_DetectInputCodepage(self: *const T, dwFlag: u32, dwPrefWinCodePage: u32, pSrcStr: ?PSTR, pcSrcSize: ?*i32, lpEncoding: ?*DetectEncodingInfo, pnScores: ?*i32) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage2.VTable, @ptrCast(self.vtable)).DetectInputCodepage(@as(*const IMultiLanguage2, @ptrCast(self)), dwFlag, dwPrefWinCodePage, pSrcStr, pcSrcSize, lpEncoding, pnScores); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage2_ValidateCodePage(self: *const T, uiCodePage: u32, hwnd: ?HWND) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage2.VTable, @ptrCast(self.vtable)).ValidateCodePage(@as(*const IMultiLanguage2, @ptrCast(self)), uiCodePage, hwnd); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage2_GetCodePageDescription(self: *const T, uiCodePage: u32, lcid: u32, lpWideCharStr: [*:0]u16, cchWideChar: i32) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage2.VTable, @ptrCast(self.vtable)).GetCodePageDescription(@as(*const IMultiLanguage2, @ptrCast(self)), uiCodePage, lcid, lpWideCharStr, cchWideChar); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage2_IsCodePageInstallable(self: *const T, uiCodePage: u32) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage2.VTable, @ptrCast(self.vtable)).IsCodePageInstallable(@as(*const IMultiLanguage2, @ptrCast(self)), uiCodePage); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage2_SetMimeDBSource(self: *const T, dwSource: MIMECONTF) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage2.VTable, @ptrCast(self.vtable)).SetMimeDBSource(@as(*const IMultiLanguage2, @ptrCast(self)), dwSource); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage2_GetNumberOfScripts(self: *const T, pnScripts: ?*u32) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage2.VTable, @ptrCast(self.vtable)).GetNumberOfScripts(@as(*const IMultiLanguage2, @ptrCast(self)), pnScripts); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage2_EnumScripts(self: *const T, dwFlags: u32, LangId: u16, ppEnumScript: ?*?*IEnumScript) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage2.VTable, @ptrCast(self.vtable)).EnumScripts(@as(*const IMultiLanguage2, @ptrCast(self)), dwFlags, LangId, ppEnumScript); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage2_ValidateCodePageEx(self: *const T, uiCodePage: u32, hwnd: ?HWND, dwfIODControl: u32) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage2.VTable, @ptrCast(self.vtable)).ValidateCodePageEx(@as(*const IMultiLanguage2, @ptrCast(self)), uiCodePage, hwnd, dwfIODControl); } };} pub usingnamespace MethodMixin(@This()); }; const IID_IMLangCodePages_Value = Guid.initString("359f3443-bd4a-11d0-b188-00aa0038c969"); pub const IID_IMLangCodePages = &IID_IMLangCodePages_Value; pub const IMLangCodePages = extern struct { pub const VTable = extern struct { base: IUnknown.VTable, GetCharCodePages: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangCodePages, chSrc: u16, pdwCodePages: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangCodePages, chSrc: u16, pdwCodePages: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, GetStrCodePages: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangCodePages, pszSrc: [*:0]const u16, cchSrc: i32, dwPriorityCodePages: u32, pdwCodePages: ?*u32, pcchCodePages: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangCodePages, pszSrc: [*:0]const u16, cchSrc: i32, dwPriorityCodePages: u32, pdwCodePages: ?*u32, pcchCodePages: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, CodePageToCodePages: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangCodePages, uCodePage: u32, pdwCodePages: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangCodePages, uCodePage: u32, pdwCodePages: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, CodePagesToCodePage: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangCodePages, dwCodePages: u32, uDefaultCodePage: u32, puCodePage: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangCodePages, dwCodePages: u32, uDefaultCodePage: u32, puCodePage: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, }; vtable: *const VTable, pub fn MethodMixin(comptime T: type) type { return struct { pub usingnamespace IUnknown.MethodMixin(T); // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangCodePages_GetCharCodePages(self: *const T, chSrc: u16, pdwCodePages: ?*u32) callconv(.Inline) HRESULT { return @as(*const IMLangCodePages.VTable, @ptrCast(self.vtable)).GetCharCodePages(@as(*const IMLangCodePages, @ptrCast(self)), chSrc, pdwCodePages); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangCodePages_GetStrCodePages(self: *const T, pszSrc: [*:0]const u16, cchSrc: i32, dwPriorityCodePages: u32, pdwCodePages: ?*u32, pcchCodePages: ?*i32) callconv(.Inline) HRESULT { return @as(*const IMLangCodePages.VTable, @ptrCast(self.vtable)).GetStrCodePages(@as(*const IMLangCodePages, @ptrCast(self)), pszSrc, cchSrc, dwPriorityCodePages, pdwCodePages, pcchCodePages); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangCodePages_CodePageToCodePages(self: *const T, uCodePage: u32, pdwCodePages: ?*u32) callconv(.Inline) HRESULT { return @as(*const IMLangCodePages.VTable, @ptrCast(self.vtable)).CodePageToCodePages(@as(*const IMLangCodePages, @ptrCast(self)), uCodePage, pdwCodePages); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangCodePages_CodePagesToCodePage(self: *const T, dwCodePages: u32, uDefaultCodePage: u32, puCodePage: ?*u32) callconv(.Inline) HRESULT { return @as(*const IMLangCodePages.VTable, @ptrCast(self.vtable)).CodePagesToCodePage(@as(*const IMLangCodePages, @ptrCast(self)), dwCodePages, uDefaultCodePage, puCodePage); } };} pub usingnamespace MethodMixin(@This()); }; const IID_IMLangFontLink_Value = Guid.initString("359f3441-bd4a-11d0-b188-00aa0038c969"); pub const IID_IMLangFontLink = &IID_IMLangFontLink_Value; pub const IMLangFontLink = extern struct { pub const VTable = extern struct { base: IMLangCodePages.VTable, GetFontCodePages: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangFontLink, hDC: ?HDC, hFont: ?HFONT, pdwCodePages: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangFontLink, hDC: ?HDC, hFont: ?HFONT, pdwCodePages: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, MapFont: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangFontLink, hDC: ?HDC, dwCodePages: u32, hSrcFont: ?HFONT, phDestFont: ?*?HFONT, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangFontLink, hDC: ?HDC, dwCodePages: u32, hSrcFont: ?HFONT, phDestFont: ?*?HFONT, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, ReleaseFont: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangFontLink, hFont: ?HFONT, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangFontLink, hFont: ?HFONT, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, ResetFontMapping: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangFontLink, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangFontLink, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, }; vtable: *const VTable, pub fn MethodMixin(comptime T: type) type { return struct { pub usingnamespace IMLangCodePages.MethodMixin(T); // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangFontLink_GetFontCodePages(self: *const T, hDC: ?HDC, hFont: ?HFONT, pdwCodePages: ?*u32) callconv(.Inline) HRESULT { return @as(*const IMLangFontLink.VTable, @ptrCast(self.vtable)).GetFontCodePages(@as(*const IMLangFontLink, @ptrCast(self)), hDC, hFont, pdwCodePages); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangFontLink_MapFont(self: *const T, hDC: ?HDC, dwCodePages: u32, hSrcFont: ?HFONT, phDestFont: ?*?HFONT) callconv(.Inline) HRESULT { return @as(*const IMLangFontLink.VTable, @ptrCast(self.vtable)).MapFont(@as(*const IMLangFontLink, @ptrCast(self)), hDC, dwCodePages, hSrcFont, phDestFont); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangFontLink_ReleaseFont(self: *const T, hFont: ?HFONT) callconv(.Inline) HRESULT { return @as(*const IMLangFontLink.VTable, @ptrCast(self.vtable)).ReleaseFont(@as(*const IMLangFontLink, @ptrCast(self)), hFont); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangFontLink_ResetFontMapping(self: *const T) callconv(.Inline) HRESULT { return @as(*const IMLangFontLink.VTable, @ptrCast(self.vtable)).ResetFontMapping(@as(*const IMLangFontLink, @ptrCast(self))); } };} pub usingnamespace MethodMixin(@This()); }; pub const UNICODERANGE = extern struct { wcFrom: u16, wcTo: u16, }; const IID_IMLangFontLink2_Value = Guid.initString("dccfc162-2b38-11d2-b7ec-00c04f8f5d9a"); pub const IID_IMLangFontLink2 = &IID_IMLangFontLink2_Value; pub const IMLangFontLink2 = extern struct { pub const VTable = extern struct { base: IMLangCodePages.VTable, GetFontCodePages: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangFontLink2, hDC: ?HDC, hFont: ?HFONT, pdwCodePages: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangFontLink2, hDC: ?HDC, hFont: ?HFONT, pdwCodePages: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, ReleaseFont: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangFontLink2, hFont: ?HFONT, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangFontLink2, hFont: ?HFONT, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, ResetFontMapping: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangFontLink2, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangFontLink2, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, MapFont: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangFontLink2, hDC: ?HDC, dwCodePages: u32, chSrc: u16, pFont: ?*?HFONT, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangFontLink2, hDC: ?HDC, dwCodePages: u32, chSrc: u16, pFont: ?*?HFONT, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, GetFontUnicodeRanges: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangFontLink2, hDC: ?HDC, puiRanges: ?*u32, pUranges: ?*UNICODERANGE, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangFontLink2, hDC: ?HDC, puiRanges: ?*u32, pUranges: ?*UNICODERANGE, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, GetScriptFontInfo: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangFontLink2, sid: u8, dwFlags: u32, puiFonts: ?*u32, pScriptFont: ?*tagSCRIPFONTINFO, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangFontLink2, sid: u8, dwFlags: u32, puiFonts: ?*u32, pScriptFont: ?*tagSCRIPFONTINFO, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, CodePageToScriptID: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMLangFontLink2, uiCodePage: u32, pSid: ?*u8, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMLangFontLink2, uiCodePage: u32, pSid: ?*u8, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, }; vtable: *const VTable, pub fn MethodMixin(comptime T: type) type { return struct { pub usingnamespace IMLangCodePages.MethodMixin(T); // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangFontLink2_GetFontCodePages(self: *const T, hDC: ?HDC, hFont: ?HFONT, pdwCodePages: ?*u32) callconv(.Inline) HRESULT { return @as(*const IMLangFontLink2.VTable, @ptrCast(self.vtable)).GetFontCodePages(@as(*const IMLangFontLink2, @ptrCast(self)), hDC, hFont, pdwCodePages); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangFontLink2_ReleaseFont(self: *const T, hFont: ?HFONT) callconv(.Inline) HRESULT { return @as(*const IMLangFontLink2.VTable, @ptrCast(self.vtable)).ReleaseFont(@as(*const IMLangFontLink2, @ptrCast(self)), hFont); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangFontLink2_ResetFontMapping(self: *const T) callconv(.Inline) HRESULT { return @as(*const IMLangFontLink2.VTable, @ptrCast(self.vtable)).ResetFontMapping(@as(*const IMLangFontLink2, @ptrCast(self))); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangFontLink2_MapFont(self: *const T, hDC: ?HDC, dwCodePages: u32, chSrc: u16, pFont: ?*?HFONT) callconv(.Inline) HRESULT { return @as(*const IMLangFontLink2.VTable, @ptrCast(self.vtable)).MapFont(@as(*const IMLangFontLink2, @ptrCast(self)), hDC, dwCodePages, chSrc, pFont); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangFontLink2_GetFontUnicodeRanges(self: *const T, hDC: ?HDC, puiRanges: ?*u32, pUranges: ?*UNICODERANGE) callconv(.Inline) HRESULT { return @as(*const IMLangFontLink2.VTable, @ptrCast(self.vtable)).GetFontUnicodeRanges(@as(*const IMLangFontLink2, @ptrCast(self)), hDC, puiRanges, pUranges); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangFontLink2_GetScriptFontInfo(self: *const T, sid: u8, dwFlags: u32, puiFonts: ?*u32, pScriptFont: ?*tagSCRIPFONTINFO) callconv(.Inline) HRESULT { return @as(*const IMLangFontLink2.VTable, @ptrCast(self.vtable)).GetScriptFontInfo(@as(*const IMLangFontLink2, @ptrCast(self)), sid, dwFlags, puiFonts, pScriptFont); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMLangFontLink2_CodePageToScriptID(self: *const T, uiCodePage: u32, pSid: ?*u8) callconv(.Inline) HRESULT { return @as(*const IMLangFontLink2.VTable, @ptrCast(self.vtable)).CodePageToScriptID(@as(*const IMLangFontLink2, @ptrCast(self)), uiCodePage, pSid); } };} pub usingnamespace MethodMixin(@This()); }; const IID_IMultiLanguage3_Value = Guid.initString("4e5868ab-b157-4623-9acc-6a1d9caebe04"); pub const IID_IMultiLanguage3 = &IID_IMultiLanguage3_Value; pub const IMultiLanguage3 = extern struct { pub const VTable = extern struct { base: IMultiLanguage2.VTable, DetectOutboundCodePage: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage3, dwFlags: u32, lpWideCharStr: [*:0]const u16, cchWideChar: u32, puiPreferredCodePages: ?[*]const u32, nPreferredCodePages: u32, puiDetectedCodePages: [*]u32, pnDetectedCodePages: ?*u32, lpSpecialChar: ?[*:0]const u16, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage3, dwFlags: u32, lpWideCharStr: [*:0]const u16, cchWideChar: u32, puiPreferredCodePages: ?[*]const u32, nPreferredCodePages: u32, puiDetectedCodePages: [*]u32, pnDetectedCodePages: ?*u32, lpSpecialChar: ?[*:0]const u16, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, DetectOutboundCodePageInIStream: switch (@import("builtin").zig_backend) { .stage1 => fn( self: *const IMultiLanguage3, dwFlags: u32, pStrIn: ?*IStream, puiPreferredCodePages: ?[*]const u32, nPreferredCodePages: u32, puiDetectedCodePages: [*]u32, pnDetectedCodePages: ?*u32, lpSpecialChar: ?[*:0]const u16, ) callconv(@import("std").os.windows.WINAPI) HRESULT, else => *const fn( self: *const IMultiLanguage3, dwFlags: u32, pStrIn: ?*IStream, puiPreferredCodePages: ?[*]const u32, nPreferredCodePages: u32, puiDetectedCodePages: [*]u32, pnDetectedCodePages: ?*u32, lpSpecialChar: ?[*:0]const u16, ) callconv(@import("std").os.windows.WINAPI) HRESULT, }, }; vtable: *const VTable, pub fn MethodMixin(comptime T: type) type { return struct { pub usingnamespace IMultiLanguage2.MethodMixin(T); // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage3_DetectOutboundCodePage(self: *const T, dwFlags: u32, lpWideCharStr: [*:0]const u16, cchWideChar: u32, puiPreferredCodePages: ?[*]const u32, nPreferredCodePages: u32, puiDetectedCodePages: [*]u32, pnDetectedCodePages: ?*u32, lpSpecialChar: ?[*:0]const u16) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage3.VTable, @ptrCast(self.vtable)).DetectOutboundCodePage(@as(*const IMultiLanguage3, @ptrCast(self)), dwFlags, lpWideCharStr, cchWideChar, puiPreferredCodePages, nPreferredCodePages, puiDetectedCodePages, pnDetectedCodePages, lpSpecialChar); } // NOTE: method is namespaced with interface name to avoid conflicts for now pub fn IMultiLanguage3_DetectOutboundCodePageInIStream(self: *const T, dwFlags: u32, pStrIn: ?*IStream, puiPreferredCodePages: ?[*]const u32, nPreferredCodePages: u32, puiDetectedCodePages: [*]u32, pnDetectedCodePages: ?*u32, lpSpecialChar: ?[*:0]const u16) callconv(.Inline) HRESULT { return @as(*const IMultiLanguage3.VTable, @ptrCast(self.vtable)).DetectOutboundCodePageInIStream(@as(*const IMultiLanguage3, @ptrCast(self)), dwFlags, pStrIn, puiPreferredCodePages, nPreferredCodePages, puiDetectedCodePages, pnDetectedCodePages, lpSpecialChar); } };} pub usingnamespace MethodMixin(@This()); }; pub const MLSTR_FLAGS = enum(i32) { READ = 1, WRITE = 2, }; pub const MLSTR_READ = MLSTR_FLAGS.READ; pub const MLSTR_WRITE = MLSTR_FLAGS.WRITE; //-------------------------------------------------------------------------------- // Section: Functions (1213) //-------------------------------------------------------------------------------- // TODO: this type is limited to platform 'windows5.0' pub extern "gdi32" fn GetTextCharset( hdc: ?HDC, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.0' pub extern "gdi32" fn GetTextCharsetInfo( hdc: ?HDC, lpSig: ?*FONTSIGNATURE, dwFlags: u32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.0' pub extern "gdi32" fn TranslateCharsetInfo( lpSrc: ?*u32, lpCs: ?*CHARSETINFO, dwFlags: TRANSLATE_CHARSET_INFO_FLAGS, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn GetDateFormatA( Locale: u32, dwFlags: u32, lpDate: ?*const SYSTEMTIME, lpFormat: ?[*:0]const u8, lpDateStr: ?[*:0]u8, cchDate: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn GetDateFormatW( Locale: u32, dwFlags: u32, lpDate: ?*const SYSTEMTIME, lpFormat: ?[*:0]const u16, lpDateStr: ?[*:0]u16, cchDate: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn GetTimeFormatA( Locale: u32, dwFlags: u32, lpTime: ?*const SYSTEMTIME, lpFormat: ?[*:0]const u8, lpTimeStr: ?[*:0]u8, cchTime: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn GetTimeFormatW( Locale: u32, dwFlags: u32, lpTime: ?*const SYSTEMTIME, lpFormat: ?[*:0]const u16, lpTimeStr: ?[*:0]u16, cchTime: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn GetTimeFormatEx( lpLocaleName: ?[*:0]const u16, dwFlags: TIME_FORMAT_FLAGS, lpTime: ?*const SYSTEMTIME, lpFormat: ?[*:0]const u16, lpTimeStr: ?[*:0]u16, cchTime: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn GetDateFormatEx( lpLocaleName: ?[*:0]const u16, dwFlags: ENUM_DATE_FORMATS_FLAGS, lpDate: ?*const SYSTEMTIME, lpFormat: ?[*:0]const u16, lpDateStr: ?[*:0]u16, cchDate: i32, lpCalendar: ?[*:0]const u16, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn GetDurationFormatEx( lpLocaleName: ?[*:0]const u16, dwFlags: u32, lpDuration: ?*const SYSTEMTIME, ullDuration: u64, lpFormat: ?[*:0]const u16, lpDurationStr: ?[*:0]u16, cchDuration: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn CompareStringEx( lpLocaleName: ?[*:0]const u16, dwCmpFlags: COMPARE_STRING_FLAGS, lpString1: [*:0]const u16, cchCount1: i32, lpString2: [*:0]const u16, cchCount2: i32, lpVersionInformation: ?*NLSVERSIONINFO, lpReserved: ?*anyopaque, lParam: LPARAM, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn CompareStringOrdinal( lpString1: [*:0]const u16, cchCount1: i32, lpString2: [*:0]const u16, cchCount2: i32, bIgnoreCase: BOOL, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn CompareStringW( Locale: u32, dwCmpFlags: u32, lpString1: [*:0]const u16, cchCount1: i32, lpString2: [*:0]const u16, cchCount2: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn FoldStringW( dwMapFlags: FOLD_STRING_MAP_FLAGS, lpSrcStr: [*:0]const u16, cchSrc: i32, lpDestStr: ?[*:0]u16, cchDest: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn GetStringTypeExW( Locale: u32, dwInfoType: u32, lpSrcStr: [*:0]const u16, cchSrc: i32, lpCharType: [*:0]u16, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn GetStringTypeW( dwInfoType: u32, lpSrcStr: [*:0]const u16, cchSrc: i32, lpCharType: ?*u16, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn MultiByteToWideChar( CodePage: u32, dwFlags: MULTI_BYTE_TO_WIDE_CHAR_FLAGS, lpMultiByteStr: [*]const u8, cbMultiByte: i32, lpWideCharStr: ?[*:0]u16, cchWideChar: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn WideCharToMultiByte( CodePage: u32, dwFlags: u32, lpWideCharStr: [*:0]const u16, cchWideChar: i32, // TODO: what to do with BytesParamIndex 5? lpMultiByteStr: ?PSTR, cbMultiByte: i32, lpDefaultChar: ?[*]const u8, lpUsedDefaultChar: ?*i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn IsValidCodePage( CodePage: u32, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn GetACP( ) callconv(@import("std").os.windows.WINAPI) u32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn GetOEMCP( ) callconv(@import("std").os.windows.WINAPI) u32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn GetCPInfo( CodePage: u32, lpCPInfo: ?*CPINFO, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn GetCPInfoExA( CodePage: u32, dwFlags: u32, lpCPInfoEx: ?*CPINFOEXA, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn GetCPInfoExW( CodePage: u32, dwFlags: u32, lpCPInfoEx: ?*CPINFOEXW, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn CompareStringA( Locale: u32, dwCmpFlags: u32, lpString1: [*]i8, cchCount1: i32, lpString2: [*]i8, cchCount2: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn FindNLSString( Locale: u32, dwFindNLSStringFlags: u32, lpStringSource: [*:0]const u16, cchSource: i32, lpStringValue: [*:0]const u16, cchValue: i32, pcchFound: ?*i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn LCMapStringW( Locale: u32, dwMapFlags: u32, lpSrcStr: [*:0]const u16, cchSrc: i32, lpDestStr: ?PWSTR, cchDest: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn LCMapStringA( Locale: u32, dwMapFlags: u32, lpSrcStr: [*:0]const u8, cchSrc: i32, lpDestStr: ?PSTR, cchDest: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn GetLocaleInfoW( Locale: u32, LCType: u32, lpLCData: ?[*:0]u16, cchData: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn GetLocaleInfoA( Locale: u32, LCType: u32, lpLCData: ?[*:0]u8, cchData: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn SetLocaleInfoA( Locale: u32, LCType: u32, lpLCData: ?[*:0]const u8, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn SetLocaleInfoW( Locale: u32, LCType: u32, lpLCData: ?[*:0]const u16, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn GetCalendarInfoA( Locale: u32, Calendar: u32, CalType: u32, lpCalData: ?[*:0]u8, cchData: i32, lpValue: ?*u32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn GetCalendarInfoW( Locale: u32, Calendar: u32, CalType: u32, lpCalData: ?[*:0]u16, cchData: i32, lpValue: ?*u32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn SetCalendarInfoA( Locale: u32, Calendar: u32, CalType: u32, lpCalData: ?[*:0]const u8, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn SetCalendarInfoW( Locale: u32, Calendar: u32, CalType: u32, lpCalData: ?[*:0]const u16, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn IsDBCSLeadByte( TestChar: u8, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn IsDBCSLeadByteEx( CodePage: u32, TestChar: u8, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn LocaleNameToLCID( lpName: ?[*:0]const u16, dwFlags: u32, ) callconv(@import("std").os.windows.WINAPI) u32; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn LCIDToLocaleName( Locale: u32, lpName: ?[*:0]u16, cchName: i32, dwFlags: u32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn GetDurationFormat( Locale: u32, dwFlags: u32, lpDuration: ?*const SYSTEMTIME, ullDuration: u64, lpFormat: ?[*:0]const u16, lpDurationStr: ?[*:0]u16, cchDuration: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn GetNumberFormatA( Locale: u32, dwFlags: u32, lpValue: ?[*:0]const u8, lpFormat: ?*const NUMBERFMTA, lpNumberStr: ?[*:0]u8, cchNumber: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn GetNumberFormatW( Locale: u32, dwFlags: u32, lpValue: ?[*:0]const u16, lpFormat: ?*const NUMBERFMTW, lpNumberStr: ?[*:0]u16, cchNumber: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn GetCurrencyFormatA( Locale: u32, dwFlags: u32, lpValue: ?[*:0]const u8, lpFormat: ?*const CURRENCYFMTA, lpCurrencyStr: ?[*:0]u8, cchCurrency: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn GetCurrencyFormatW( Locale: u32, dwFlags: u32, lpValue: ?[*:0]const u16, lpFormat: ?*const CURRENCYFMTW, lpCurrencyStr: ?[*:0]u16, cchCurrency: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn EnumCalendarInfoA( lpCalInfoEnumProc: ?CALINFO_ENUMPROCA, Locale: u32, Calendar: u32, CalType: u32, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn EnumCalendarInfoW( lpCalInfoEnumProc: ?CALINFO_ENUMPROCW, Locale: u32, Calendar: u32, CalType: u32, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn EnumCalendarInfoExA( lpCalInfoEnumProcEx: ?CALINFO_ENUMPROCEXA, Locale: u32, Calendar: u32, CalType: u32, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn EnumCalendarInfoExW( lpCalInfoEnumProcEx: ?CALINFO_ENUMPROCEXW, Locale: u32, Calendar: u32, CalType: u32, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn EnumTimeFormatsA( lpTimeFmtEnumProc: ?TIMEFMT_ENUMPROCA, Locale: u32, dwFlags: TIME_FORMAT_FLAGS, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn EnumTimeFormatsW( lpTimeFmtEnumProc: ?TIMEFMT_ENUMPROCW, Locale: u32, dwFlags: TIME_FORMAT_FLAGS, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn EnumDateFormatsA( lpDateFmtEnumProc: ?DATEFMT_ENUMPROCA, Locale: u32, dwFlags: u32, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn EnumDateFormatsW( lpDateFmtEnumProc: ?DATEFMT_ENUMPROCW, Locale: u32, dwFlags: u32, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn EnumDateFormatsExA( lpDateFmtEnumProcEx: ?DATEFMT_ENUMPROCEXA, Locale: u32, dwFlags: u32, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn EnumDateFormatsExW( lpDateFmtEnumProcEx: ?DATEFMT_ENUMPROCEXW, Locale: u32, dwFlags: u32, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn IsValidLanguageGroup( LanguageGroup: u32, dwFlags: ENUM_SYSTEM_LANGUAGE_GROUPS_FLAGS, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn GetNLSVersion( Function: u32, Locale: u32, lpVersionInformation: ?*NLSVERSIONINFO, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn IsValidLocale( Locale: u32, dwFlags: IS_VALID_LOCALE_FLAGS, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.1.2600' pub extern "kernel32" fn GetGeoInfoA( Location: i32, GeoType: u32, lpGeoData: ?[*:0]u8, cchData: i32, LangId: u16, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.1.2600' pub extern "kernel32" fn GetGeoInfoW( Location: i32, GeoType: u32, lpGeoData: ?[*:0]u16, cchData: i32, LangId: u16, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows10.0.16299' pub extern "kernel32" fn GetGeoInfoEx( location: ?PWSTR, geoType: u32, geoData: ?[*:0]u16, geoDataCount: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.1.2600' pub extern "kernel32" fn EnumSystemGeoID( GeoClass: u32, ParentGeoId: i32, lpGeoEnumProc: ?GEO_ENUMPROC, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows10.0.16299' pub extern "kernel32" fn EnumSystemGeoNames( geoClass: u32, geoEnumProc: ?GEO_ENUMNAMEPROC, data: LPARAM, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.1.2600' pub extern "kernel32" fn GetUserGeoID( GeoClass: u32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows10.0.16299' pub extern "kernel32" fn GetUserDefaultGeoName( geoName: [*:0]u16, geoNameCount: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.1.2600' pub extern "kernel32" fn SetUserGeoID( GeoId: i32, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows10.0.16299' pub extern "kernel32" fn SetUserGeoName( geoName: ?PWSTR, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn ConvertDefaultLocale( Locale: u32, ) callconv(@import("std").os.windows.WINAPI) u32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn GetSystemDefaultUILanguage( ) callconv(@import("std").os.windows.WINAPI) u16; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn GetThreadLocale( ) callconv(@import("std").os.windows.WINAPI) u32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn SetThreadLocale( Locale: u32, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn GetUserDefaultUILanguage( ) callconv(@import("std").os.windows.WINAPI) u16; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn GetUserDefaultLangID( ) callconv(@import("std").os.windows.WINAPI) u16; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn GetSystemDefaultLangID( ) callconv(@import("std").os.windows.WINAPI) u16; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn GetSystemDefaultLCID( ) callconv(@import("std").os.windows.WINAPI) u32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn GetUserDefaultLCID( ) callconv(@import("std").os.windows.WINAPI) u32; // TODO: this type is limited to platform 'windows5.1.2600' pub extern "kernel32" fn SetThreadUILanguage( LangId: u16, ) callconv(@import("std").os.windows.WINAPI) u16; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn GetThreadUILanguage( ) callconv(@import("std").os.windows.WINAPI) u16; // TODO: this type is limited to platform 'windows6.1' pub extern "kernel32" fn GetProcessPreferredUILanguages( dwFlags: u32, pulNumLanguages: ?*u32, pwszLanguagesBuffer: ?[*]u16, pcchLanguagesBuffer: ?*u32, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows6.1' pub extern "kernel32" fn SetProcessPreferredUILanguages( dwFlags: u32, pwszLanguagesBuffer: ?[*]const u16, pulNumLanguages: ?*u32, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn GetUserPreferredUILanguages( dwFlags: u32, pulNumLanguages: ?*u32, pwszLanguagesBuffer: ?[*]u16, pcchLanguagesBuffer: ?*u32, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn GetSystemPreferredUILanguages( dwFlags: u32, pulNumLanguages: ?*u32, pwszLanguagesBuffer: ?[*]u16, pcchLanguagesBuffer: ?*u32, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn GetThreadPreferredUILanguages( dwFlags: u32, pulNumLanguages: ?*u32, pwszLanguagesBuffer: ?[*]u16, pcchLanguagesBuffer: ?*u32, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn SetThreadPreferredUILanguages( dwFlags: u32, pwszLanguagesBuffer: ?[*]const u16, pulNumLanguages: ?*u32, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn GetFileMUIInfo( dwFlags: u32, pcwszFilePath: ?[*:0]const u16, // TODO: what to do with BytesParamIndex 3? pFileMUIInfo: ?*FILEMUIINFO, pcbFileMUIInfo: ?*u32, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn GetFileMUIPath( dwFlags: u32, pcwszFilePath: ?[*:0]const u16, pwszLanguage: ?[*:0]u16, pcchLanguage: ?*u32, pwszFileMUIPath: ?[*:0]u16, pcchFileMUIPath: ?*u32, pululEnumerator: ?*u64, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn GetUILanguageInfo( dwFlags: u32, pwmszLanguage: ?[*]const u16, pwszFallbackLanguages: ?[*]u16, pcchFallbackLanguages: ?*u32, pAttributes: ?*u32, ) callconv(@import("std").os.windows.WINAPI) BOOL; pub extern "kernel32" fn SetThreadPreferredUILanguages2( flags: u32, languages: ?[*]const u16, numLanguagesSet: ?*u32, snapshot: ?*?HSAVEDUILANGUAGES, ) callconv(@import("std").os.windows.WINAPI) BOOL; pub extern "kernel32" fn RestoreThreadPreferredUILanguages( snapshot: ?HSAVEDUILANGUAGES, ) callconv(@import("std").os.windows.WINAPI) void; // TODO: this type is limited to platform 'windows6.1' pub extern "kernel32" fn NotifyUILanguageChange( dwFlags: u32, pcwstrNewLanguage: ?[*:0]const u16, pcwstrPreviousLanguage: ?[*:0]const u16, dwReserved: u32, pdwStatusRtrn: ?*u32, ) callconv(@import("std").os.windows.WINAPI) BOOL; pub extern "kernel32" fn GetStringTypeExA( Locale: u32, dwInfoType: u32, lpSrcStr: [*:0]const u8, cchSrc: i32, lpCharType: [*:0]u16, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn GetStringTypeA( Locale: u32, dwInfoType: u32, lpSrcStr: [*:0]const u8, cchSrc: i32, lpCharType: ?*u16, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn FoldStringA( dwMapFlags: FOLD_STRING_MAP_FLAGS, lpSrcStr: [*:0]const u8, cchSrc: i32, lpDestStr: ?[*:0]u8, cchDest: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn EnumSystemLocalesA( lpLocaleEnumProc: ?LOCALE_ENUMPROCA, dwFlags: u32, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn EnumSystemLocalesW( lpLocaleEnumProc: ?LOCALE_ENUMPROCW, dwFlags: u32, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn EnumSystemLanguageGroupsA( lpLanguageGroupEnumProc: ?LANGUAGEGROUP_ENUMPROCA, dwFlags: ENUM_SYSTEM_LANGUAGE_GROUPS_FLAGS, lParam: isize, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn EnumSystemLanguageGroupsW( lpLanguageGroupEnumProc: ?LANGUAGEGROUP_ENUMPROCW, dwFlags: ENUM_SYSTEM_LANGUAGE_GROUPS_FLAGS, lParam: isize, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn EnumLanguageGroupLocalesA( lpLangGroupLocaleEnumProc: ?LANGGROUPLOCALE_ENUMPROCA, LanguageGroup: u32, dwFlags: u32, lParam: isize, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn EnumLanguageGroupLocalesW( lpLangGroupLocaleEnumProc: ?LANGGROUPLOCALE_ENUMPROCW, LanguageGroup: u32, dwFlags: u32, lParam: isize, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn EnumUILanguagesA( lpUILanguageEnumProc: ?UILANGUAGE_ENUMPROCA, dwFlags: u32, lParam: isize, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn EnumUILanguagesW( lpUILanguageEnumProc: ?UILANGUAGE_ENUMPROCW, dwFlags: u32, lParam: isize, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn EnumSystemCodePagesA( lpCodePageEnumProc: ?CODEPAGE_ENUMPROCA, dwFlags: ENUM_SYSTEM_CODE_PAGES_FLAGS, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn EnumSystemCodePagesW( lpCodePageEnumProc: ?CODEPAGE_ENUMPROCW, dwFlags: ENUM_SYSTEM_CODE_PAGES_FLAGS, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "normaliz" fn IdnToAscii( dwFlags: u32, lpUnicodeCharStr: [*:0]const u16, cchUnicodeChar: i32, lpASCIICharStr: ?[*:0]u16, cchASCIIChar: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "normaliz" fn IdnToUnicode( dwFlags: u32, lpASCIICharStr: [*:0]const u16, cchASCIIChar: i32, lpUnicodeCharStr: ?[*:0]u16, cchUnicodeChar: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn IdnToNameprepUnicode( dwFlags: u32, lpUnicodeCharStr: [*:0]const u16, cchUnicodeChar: i32, lpNameprepCharStr: ?[*:0]u16, cchNameprepChar: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn NormalizeString( NormForm: NORM_FORM, lpSrcString: [*:0]const u16, cwSrcLength: i32, lpDstString: ?[*:0]u16, cwDstLength: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn IsNormalizedString( NormForm: NORM_FORM, lpString: [*:0]const u16, cwLength: i32, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn VerifyScripts( dwFlags: u32, lpLocaleScripts: ?[*:0]const u16, cchLocaleScripts: i32, lpTestScripts: ?[*:0]const u16, cchTestScripts: i32, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn GetStringScripts( dwFlags: u32, lpString: ?[*:0]const u16, cchString: i32, lpScripts: ?[*:0]u16, cchScripts: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn GetLocaleInfoEx( lpLocaleName: ?[*:0]const u16, LCType: u32, lpLCData: ?[*:0]u16, cchData: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn GetCalendarInfoEx( lpLocaleName: ?[*:0]const u16, Calendar: u32, lpReserved: ?[*:0]const u16, CalType: u32, lpCalData: ?[*:0]u16, cchData: i32, lpValue: ?*u32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn GetNumberFormatEx( lpLocaleName: ?[*:0]const u16, dwFlags: u32, lpValue: ?[*:0]const u16, lpFormat: ?*const NUMBERFMTW, lpNumberStr: ?[*:0]u16, cchNumber: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn GetCurrencyFormatEx( lpLocaleName: ?[*:0]const u16, dwFlags: u32, lpValue: ?[*:0]const u16, lpFormat: ?*const CURRENCYFMTW, lpCurrencyStr: ?[*:0]u16, cchCurrency: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn GetUserDefaultLocaleName( lpLocaleName: [*:0]u16, cchLocaleName: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn GetSystemDefaultLocaleName( lpLocaleName: [*:0]u16, cchLocaleName: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn IsNLSDefinedString( Function: u32, dwFlags: u32, lpVersionInformation: ?*NLSVERSIONINFO, lpString: [*:0]const u16, cchStr: i32, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn GetNLSVersionEx( function: u32, lpLocaleName: ?[*:0]const u16, lpVersionInformation: ?*NLSVERSIONINFOEX, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows8.0' pub extern "kernel32" fn IsValidNLSVersion( function: u32, lpLocaleName: ?[*:0]const u16, lpVersionInformation: ?*NLSVERSIONINFOEX, ) callconv(@import("std").os.windows.WINAPI) u32; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn FindNLSStringEx( lpLocaleName: ?[*:0]const u16, dwFindNLSStringFlags: u32, lpStringSource: [*:0]const u16, cchSource: i32, lpStringValue: [*:0]const u16, cchValue: i32, pcchFound: ?*i32, lpVersionInformation: ?*NLSVERSIONINFO, lpReserved: ?*anyopaque, sortHandle: LPARAM, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn LCMapStringEx( lpLocaleName: ?[*:0]const u16, dwMapFlags: u32, lpSrcStr: [*:0]const u16, cchSrc: i32, lpDestStr: ?[*:0]u16, cchDest: i32, lpVersionInformation: ?*NLSVERSIONINFO, lpReserved: ?*anyopaque, sortHandle: LPARAM, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn IsValidLocaleName( lpLocaleName: ?[*:0]const u16, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn EnumCalendarInfoExEx( pCalInfoEnumProcExEx: ?CALINFO_ENUMPROCEXEX, lpLocaleName: ?[*:0]const u16, Calendar: u32, lpReserved: ?[*:0]const u16, CalType: u32, lParam: LPARAM, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn EnumDateFormatsExEx( lpDateFmtEnumProcExEx: ?DATEFMT_ENUMPROCEXEX, lpLocaleName: ?[*:0]const u16, dwFlags: ENUM_DATE_FORMATS_FLAGS, lParam: LPARAM, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn EnumTimeFormatsEx( lpTimeFmtEnumProcEx: ?TIMEFMT_ENUMPROCEX, lpLocaleName: ?[*:0]const u16, dwFlags: u32, lParam: LPARAM, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "kernel32" fn EnumSystemLocalesEx( lpLocaleEnumProcEx: ?LOCALE_ENUMPROCEX, dwFlags: u32, lParam: LPARAM, lpReserved: ?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) BOOL; // TODO: this type is limited to platform 'windows6.1' pub extern "kernel32" fn ResolveLocaleName( lpNameToResolve: ?[*:0]const u16, lpLocaleName: ?[*:0]u16, cchLocaleName: i32, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows6.1' pub extern "elscore" fn MappingGetServices( pOptions: ?*MAPPING_ENUM_OPTIONS, prgServices: ?*?*MAPPING_SERVICE_INFO, pdwServicesCount: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows6.1' pub extern "elscore" fn MappingFreeServices( pServiceInfo: ?*MAPPING_SERVICE_INFO, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows6.1' pub extern "elscore" fn MappingRecognizeText( pServiceInfo: ?*MAPPING_SERVICE_INFO, pszText: [*:0]const u16, dwLength: u32, dwIndex: u32, pOptions: ?*MAPPING_OPTIONS, pbag: ?*MAPPING_PROPERTY_BAG, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows6.1' pub extern "elscore" fn MappingDoAction( pBag: ?*MAPPING_PROPERTY_BAG, dwRangeIndex: u32, pszActionId: ?[*:0]const u16, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows6.1' pub extern "elscore" fn MappingFreePropertyBag( pBag: ?*MAPPING_PROPERTY_BAG, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows5.0' pub extern "usp10" fn ScriptFreeCache( psc: ?*?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows5.0' pub extern "usp10" fn ScriptItemize( pwcInChars: [*:0]const u16, cInChars: i32, cMaxItems: i32, psControl: ?*const SCRIPT_CONTROL, psState: ?*const SCRIPT_STATE, pItems: [*]SCRIPT_ITEM, pcItems: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows5.0' pub extern "usp10" fn ScriptLayout( cRuns: i32, pbLevel: [*:0]const u8, piVisualToLogical: ?*i32, piLogicalToVisual: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows5.0' pub extern "usp10" fn ScriptShape( hdc: ?HDC, psc: ?*?*anyopaque, pwcChars: [*:0]const u16, cChars: i32, cMaxGlyphs: i32, psa: ?*SCRIPT_ANALYSIS, pwOutGlyphs: [*:0]u16, pwLogClust: ?*u16, psva: [*]SCRIPT_VISATTR, pcGlyphs: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows5.0' pub extern "usp10" fn ScriptPlace( hdc: ?HDC, psc: ?*?*anyopaque, pwGlyphs: [*:0]const u16, cGlyphs: i32, psva: [*]const SCRIPT_VISATTR, psa: ?*SCRIPT_ANALYSIS, piAdvance: ?*i32, pGoffset: ?*GOFFSET, pABC: ?*ABC, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows5.0' pub extern "usp10" fn ScriptTextOut( hdc: ?HDC, psc: ?*?*anyopaque, x: i32, y: i32, fuOptions: u32, lprc: ?*const RECT, psa: ?*const SCRIPT_ANALYSIS, pwcReserved: ?[*:0]const u16, iReserved: i32, pwGlyphs: [*:0]const u16, cGlyphs: i32, piAdvance: [*]const i32, piJustify: ?[*]const i32, pGoffset: [*]const GOFFSET, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows5.0' pub extern "usp10" fn ScriptJustify( psva: [*]const SCRIPT_VISATTR, piAdvance: [*]const i32, cGlyphs: i32, iDx: i32, iMinKashida: i32, piJustify: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows5.0' pub extern "usp10" fn ScriptBreak( pwcChars: [*:0]const u16, cChars: i32, psa: ?*const SCRIPT_ANALYSIS, psla: ?*SCRIPT_LOGATTR, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows5.0' pub extern "usp10" fn ScriptCPtoX( iCP: i32, fTrailing: BOOL, cChars: i32, cGlyphs: i32, pwLogClust: [*:0]const u16, psva: [*]const SCRIPT_VISATTR, piAdvance: [*]const i32, psa: ?*const SCRIPT_ANALYSIS, piX: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows5.0' pub extern "usp10" fn ScriptXtoCP( iX: i32, cChars: i32, cGlyphs: i32, pwLogClust: [*:0]const u16, psva: [*]const SCRIPT_VISATTR, piAdvance: [*]const i32, psa: ?*const SCRIPT_ANALYSIS, piCP: ?*i32, piTrailing: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows5.0' pub extern "usp10" fn ScriptGetLogicalWidths( psa: ?*const SCRIPT_ANALYSIS, cChars: i32, cGlyphs: i32, piGlyphWidth: [*]const i32, pwLogClust: [*:0]const u16, psva: [*]const SCRIPT_VISATTR, piDx: [*]i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows5.0' pub extern "usp10" fn ScriptApplyLogicalWidth( piDx: [*]const i32, cChars: i32, cGlyphs: i32, pwLogClust: [*:0]const u16, psva: [*]const SCRIPT_VISATTR, piAdvance: [*]const i32, psa: ?*const SCRIPT_ANALYSIS, pABC: ?*ABC, piJustify: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows5.0' pub extern "usp10" fn ScriptGetCMap( hdc: ?HDC, psc: ?*?*anyopaque, pwcInChars: [*:0]const u16, cChars: i32, dwFlags: u32, pwOutGlyphs: [*:0]u16, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows5.0' pub extern "usp10" fn ScriptGetGlyphABCWidth( hdc: ?HDC, psc: ?*?*anyopaque, wGlyph: u16, pABC: ?*ABC, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows5.0' pub extern "usp10" fn ScriptGetProperties( ppSp: ?*const ?*?*SCRIPT_PROPERTIES, piNumScripts: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows5.0' pub extern "usp10" fn ScriptGetFontProperties( hdc: ?HDC, psc: ?*?*anyopaque, sfp: ?*SCRIPT_FONTPROPERTIES, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows5.0' pub extern "usp10" fn ScriptCacheGetHeight( hdc: ?HDC, psc: ?*?*anyopaque, tmHeight: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows5.0' pub extern "usp10" fn ScriptStringAnalyse( hdc: ?HDC, pString: ?*const anyopaque, cString: i32, cGlyphs: i32, iCharset: i32, dwFlags: u32, iReqWidth: i32, psControl: ?*SCRIPT_CONTROL, psState: ?*SCRIPT_STATE, piDx: ?[*]const i32, pTabdef: ?*SCRIPT_TABDEF, pbInClass: ?*const u8, pssa: ?*?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows5.0' pub extern "usp10" fn ScriptStringFree( pssa: ?*?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows5.0' pub extern "usp10" fn ScriptString_pSize( ssa: ?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) ?*SIZE; // TODO: this type is limited to platform 'windows5.0' pub extern "usp10" fn ScriptString_pcOutChars( ssa: ?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) ?*i32; // TODO: this type is limited to platform 'windows5.0' pub extern "usp10" fn ScriptString_pLogAttr( ssa: ?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) ?*SCRIPT_LOGATTR; // TODO: this type is limited to platform 'windows5.0' pub extern "usp10" fn ScriptStringGetOrder( ssa: ?*anyopaque, puOrder: ?*u32, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows5.0' pub extern "usp10" fn ScriptStringCPtoX( ssa: ?*anyopaque, icp: i32, fTrailing: BOOL, pX: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows5.0' pub extern "usp10" fn ScriptStringXtoCP( ssa: ?*anyopaque, iX: i32, piCh: ?*i32, piTrailing: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows5.0' pub extern "usp10" fn ScriptStringGetLogicalWidths( ssa: ?*anyopaque, piDx: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows5.0' pub extern "usp10" fn ScriptStringValidate( ssa: ?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows5.0' pub extern "usp10" fn ScriptStringOut( ssa: ?*anyopaque, iX: i32, iY: i32, uOptions: ETO_OPTIONS, prc: ?*const RECT, iMinSel: i32, iMaxSel: i32, fDisabled: BOOL, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows5.0' pub extern "usp10" fn ScriptIsComplex( pwcInChars: [*:0]const u16, cInChars: i32, dwFlags: SCRIPT_IS_COMPLEX_FLAGS, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows5.0' pub extern "usp10" fn ScriptRecordDigitSubstitution( Locale: u32, psds: ?*SCRIPT_DIGITSUBSTITUTE, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows5.0' pub extern "usp10" fn ScriptApplyDigitSubstitution( psds: ?*const SCRIPT_DIGITSUBSTITUTE, psc: ?*SCRIPT_CONTROL, pss: ?*SCRIPT_STATE, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "usp10" fn ScriptShapeOpenType( hdc: ?HDC, psc: ?*?*anyopaque, psa: ?*SCRIPT_ANALYSIS, tagScript: u32, tagLangSys: u32, rcRangeChars: ?[*]i32, rpRangeProperties: ?[*]?*textrange_properties, cRanges: i32, pwcChars: [*:0]const u16, cChars: i32, cMaxGlyphs: i32, pwLogClust: ?*u16, pCharProps: ?*script_charprop, pwOutGlyphs: [*:0]u16, pOutGlyphProps: [*]script_glyphprop, pcGlyphs: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "usp10" fn ScriptPlaceOpenType( hdc: ?HDC, psc: ?*?*anyopaque, psa: ?*SCRIPT_ANALYSIS, tagScript: u32, tagLangSys: u32, rcRangeChars: ?[*]i32, rpRangeProperties: ?[*]?*textrange_properties, cRanges: i32, pwcChars: [*:0]const u16, pwLogClust: [*:0]u16, pCharProps: [*]script_charprop, cChars: i32, pwGlyphs: [*:0]const u16, pGlyphProps: [*]const script_glyphprop, cGlyphs: i32, piAdvance: ?*i32, pGoffset: ?*GOFFSET, pABC: ?*ABC, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "usp10" fn ScriptItemizeOpenType( pwcInChars: [*:0]const u16, cInChars: i32, cMaxItems: i32, psControl: ?*const SCRIPT_CONTROL, psState: ?*const SCRIPT_STATE, pItems: [*]SCRIPT_ITEM, pScriptTags: [*]u32, pcItems: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "usp10" fn ScriptGetFontScriptTags( hdc: ?HDC, psc: ?*?*anyopaque, psa: ?*SCRIPT_ANALYSIS, cMaxTags: i32, pScriptTags: [*]u32, pcTags: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "usp10" fn ScriptGetFontLanguageTags( hdc: ?HDC, psc: ?*?*anyopaque, psa: ?*SCRIPT_ANALYSIS, tagScript: u32, cMaxTags: i32, pLangsysTags: [*]u32, pcTags: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "usp10" fn ScriptGetFontFeatureTags( hdc: ?HDC, psc: ?*?*anyopaque, psa: ?*SCRIPT_ANALYSIS, tagScript: u32, tagLangSys: u32, cMaxTags: i32, pFeatureTags: [*]u32, pcTags: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "usp10" fn ScriptGetFontAlternateGlyphs( hdc: ?HDC, psc: ?*?*anyopaque, psa: ?*SCRIPT_ANALYSIS, tagScript: u32, tagLangSys: u32, tagFeature: u32, wGlyphId: u16, cMaxAlternates: i32, pAlternateGlyphs: [*:0]u16, pcAlternates: ?*i32, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "usp10" fn ScriptSubstituteSingleGlyph( hdc: ?HDC, psc: ?*?*anyopaque, psa: ?*SCRIPT_ANALYSIS, tagScript: u32, tagLangSys: u32, tagFeature: u32, lParameter: i32, wGlyphId: u16, pwOutGlyphId: ?*u16, ) callconv(@import("std").os.windows.WINAPI) HRESULT; // TODO: this type is limited to platform 'windows6.0.6000' pub extern "usp10" fn ScriptPositionSingleGlyph( hdc: ?HDC, psc: ?*?*anyopaque, psa: ?*SCRIPT_ANALYSIS, tagScript: u32, tagLangSys: u32, tagFeature: u32, lParameter: i32, wGlyphId: u16, iAdvance: i32, GOffset: GOFFSET, piOutAdvance: ?*i32, pOutGoffset: ?*GOFFSET, ) callconv(@import("std").os.windows.WINAPI) HRESULT; pub extern "icu" fn utf8_nextCharSafeBody( s: ?*const u8, pi: ?*i32, length: i32, c: i32, strict: i8, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn utf8_appendCharSafeBody( s: ?*u8, i: i32, length: i32, c: i32, pIsError: ?*i8, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn utf8_prevCharSafeBody( s: ?*const u8, start: i32, pi: ?*i32, c: i32, strict: i8, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn utf8_back1SafeBody( s: ?*const u8, start: i32, i: i32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_versionFromString( versionArray: ?*u8, versionString: ?[*:0]const u8, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn u_versionFromUString( versionArray: ?*u8, versionString: ?*const u16, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn u_versionToString( versionArray: ?*const u8, versionString: ?PSTR, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn u_getVersion( versionArray: ?*u8, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn u_errorName( code: UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn utrace_setLevel( traceLevel: i32, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn utrace_getLevel( ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn utrace_setFunctions( context: ?*const anyopaque, e: ?UTraceEntry, x: ?UTraceExit, d: ?UTraceData, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn utrace_getFunctions( context: ?*const ?*anyopaque, e: ?*?UTraceEntry, x: ?*?UTraceExit, d: ?*?UTraceData, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn utrace_vformat( outBuf: ?PSTR, capacity: i32, indent: i32, fmt: ?[*:0]const u8, args: ?*i8, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn utrace_format( outBuf: ?PSTR, capacity: i32, indent: i32, fmt: ?[*:0]const u8, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn utrace_functionName( fnNumber: i32, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn u_shapeArabic( source: ?*const u16, sourceLength: i32, dest: ?*u16, destSize: i32, options: u32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uscript_getCode( nameOrAbbrOrLocale: ?[*:0]const u8, fillIn: ?*UScriptCode, capacity: i32, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uscript_getName( scriptCode: UScriptCode, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn uscript_getShortName( scriptCode: UScriptCode, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn uscript_getScript( codepoint: i32, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) UScriptCode; pub extern "icu" fn uscript_hasScript( c: i32, sc: UScriptCode, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn uscript_getScriptExtensions( c: i32, scripts: ?*UScriptCode, capacity: i32, errorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uscript_getSampleString( script: UScriptCode, dest: ?*u16, capacity: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uscript_getUsage( script: UScriptCode, ) callconv(@import("std").os.windows.WINAPI) UScriptUsage; pub extern "icu" fn uscript_isRightToLeft( script: UScriptCode, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn uscript_breaksBetweenLetters( script: UScriptCode, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn uscript_isCased( script: UScriptCode, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn uiter_current32( iter: ?*UCharIterator, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uiter_next32( iter: ?*UCharIterator, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uiter_previous32( iter: ?*UCharIterator, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uiter_getState( iter: ?*const UCharIterator, ) callconv(@import("std").os.windows.WINAPI) u32; pub extern "icu" fn uiter_setState( iter: ?*UCharIterator, state: u32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uiter_setString( iter: ?*UCharIterator, s: ?*const u16, length: i32, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uiter_setUTF16BE( iter: ?*UCharIterator, s: ?[*:0]const u8, length: i32, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uiter_setUTF8( iter: ?*UCharIterator, s: ?[*:0]const u8, length: i32, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uenum_close( en: ?*UEnumeration, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uenum_count( en: ?*UEnumeration, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uenum_unext( en: ?*UEnumeration, resultLength: ?*i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn uenum_next( en: ?*UEnumeration, resultLength: ?*i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn uenum_reset( en: ?*UEnumeration, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uenum_openUCharStringsEnumeration( strings: ?*const ?*u16, count: i32, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UEnumeration; pub extern "icu" fn uenum_openCharStringsEnumeration( strings: ?*const ?*i8, count: i32, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UEnumeration; pub extern "icu" fn uloc_getDefault( ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn uloc_setDefault( localeID: ?[*:0]const u8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uloc_getLanguage( localeID: ?[*:0]const u8, language: ?PSTR, languageCapacity: i32, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uloc_getScript( localeID: ?[*:0]const u8, script: ?PSTR, scriptCapacity: i32, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uloc_getCountry( localeID: ?[*:0]const u8, country: ?PSTR, countryCapacity: i32, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uloc_getVariant( localeID: ?[*:0]const u8, variant: ?PSTR, variantCapacity: i32, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uloc_getName( localeID: ?[*:0]const u8, name: ?PSTR, nameCapacity: i32, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uloc_canonicalize( localeID: ?[*:0]const u8, name: ?PSTR, nameCapacity: i32, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uloc_getISO3Language( localeID: ?[*:0]const u8, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn uloc_getISO3Country( localeID: ?[*:0]const u8, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn uloc_getLCID( localeID: ?[*:0]const u8, ) callconv(@import("std").os.windows.WINAPI) u32; pub extern "icu" fn uloc_getDisplayLanguage( locale: ?[*:0]const u8, displayLocale: ?[*:0]const u8, language: ?*u16, languageCapacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uloc_getDisplayScript( locale: ?[*:0]const u8, displayLocale: ?[*:0]const u8, script: ?*u16, scriptCapacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uloc_getDisplayCountry( locale: ?[*:0]const u8, displayLocale: ?[*:0]const u8, country: ?*u16, countryCapacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uloc_getDisplayVariant( locale: ?[*:0]const u8, displayLocale: ?[*:0]const u8, variant: ?*u16, variantCapacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uloc_getDisplayKeyword( keyword: ?[*:0]const u8, displayLocale: ?[*:0]const u8, dest: ?*u16, destCapacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uloc_getDisplayKeywordValue( locale: ?[*:0]const u8, keyword: ?[*:0]const u8, displayLocale: ?[*:0]const u8, dest: ?*u16, destCapacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uloc_getDisplayName( localeID: ?[*:0]const u8, inLocaleID: ?[*:0]const u8, result: ?*u16, maxResultSize: i32, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uloc_getAvailable( n: i32, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn uloc_countAvailable( ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uloc_openAvailableByType( type: ULocAvailableType, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UEnumeration; pub extern "icu" fn uloc_getISOLanguages( ) callconv(@import("std").os.windows.WINAPI) ?*?*i8; pub extern "icu" fn uloc_getISOCountries( ) callconv(@import("std").os.windows.WINAPI) ?*?*i8; pub extern "icu" fn uloc_getParent( localeID: ?[*:0]const u8, parent: ?PSTR, parentCapacity: i32, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uloc_getBaseName( localeID: ?[*:0]const u8, name: ?PSTR, nameCapacity: i32, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uloc_openKeywords( localeID: ?[*:0]const u8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UEnumeration; pub extern "icu" fn uloc_getKeywordValue( localeID: ?[*:0]const u8, keywordName: ?[*:0]const u8, buffer: ?PSTR, bufferCapacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uloc_setKeywordValue( keywordName: ?[*:0]const u8, keywordValue: ?[*:0]const u8, buffer: ?PSTR, bufferCapacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uloc_isRightToLeft( locale: ?[*:0]const u8, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn uloc_getCharacterOrientation( localeId: ?[*:0]const u8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ULayoutType; pub extern "icu" fn uloc_getLineOrientation( localeId: ?[*:0]const u8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ULayoutType; pub extern "icu" fn uloc_acceptLanguageFromHTTP( result: ?PSTR, resultAvailable: i32, outResult: ?*UAcceptResult, httpAcceptLanguage: ?[*:0]const u8, availableLocales: ?*UEnumeration, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uloc_acceptLanguage( result: ?PSTR, resultAvailable: i32, outResult: ?*UAcceptResult, acceptList: ?*const ?*i8, acceptListCount: i32, availableLocales: ?*UEnumeration, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uloc_getLocaleForLCID( hostID: u32, locale: ?PSTR, localeCapacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uloc_addLikelySubtags( localeID: ?[*:0]const u8, maximizedLocaleID: ?PSTR, maximizedLocaleIDCapacity: i32, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uloc_minimizeSubtags( localeID: ?[*:0]const u8, minimizedLocaleID: ?PSTR, minimizedLocaleIDCapacity: i32, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uloc_forLanguageTag( langtag: ?[*:0]const u8, localeID: ?PSTR, localeIDCapacity: i32, parsedLength: ?*i32, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uloc_toLanguageTag( localeID: ?[*:0]const u8, langtag: ?PSTR, langtagCapacity: i32, strict: i8, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uloc_toUnicodeLocaleKey( keyword: ?[*:0]const u8, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn uloc_toUnicodeLocaleType( keyword: ?[*:0]const u8, value: ?[*:0]const u8, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn uloc_toLegacyKey( keyword: ?[*:0]const u8, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn uloc_toLegacyType( keyword: ?[*:0]const u8, value: ?[*:0]const u8, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn ures_open( packageName: ?[*:0]const u8, locale: ?[*:0]const u8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UResourceBundle; pub extern "icu" fn ures_openDirect( packageName: ?[*:0]const u8, locale: ?[*:0]const u8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UResourceBundle; pub extern "icu" fn ures_openU( packageName: ?*const u16, locale: ?[*:0]const u8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UResourceBundle; pub extern "icu" fn ures_close( resourceBundle: ?*UResourceBundle, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ures_getVersion( resB: ?*const UResourceBundle, versionInfo: ?*u8, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ures_getLocaleByType( resourceBundle: ?*const UResourceBundle, type: ULocDataLocaleType, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn ures_getString( resourceBundle: ?*const UResourceBundle, len: ?*i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn ures_getUTF8String( resB: ?*const UResourceBundle, dest: ?PSTR, length: ?*i32, forceCopy: i8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn ures_getBinary( resourceBundle: ?*const UResourceBundle, len: ?*i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*u8; pub extern "icu" fn ures_getIntVector( resourceBundle: ?*const UResourceBundle, len: ?*i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*i32; pub extern "icu" fn ures_getUInt( resourceBundle: ?*const UResourceBundle, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) u32; pub extern "icu" fn ures_getInt( resourceBundle: ?*const UResourceBundle, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ures_getSize( resourceBundle: ?*const UResourceBundle, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ures_getType( resourceBundle: ?*const UResourceBundle, ) callconv(@import("std").os.windows.WINAPI) UResType; pub extern "icu" fn ures_getKey( resourceBundle: ?*const UResourceBundle, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn ures_resetIterator( resourceBundle: ?*UResourceBundle, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ures_hasNext( resourceBundle: ?*const UResourceBundle, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn ures_getNextResource( resourceBundle: ?*UResourceBundle, fillIn: ?*UResourceBundle, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UResourceBundle; pub extern "icu" fn ures_getNextString( resourceBundle: ?*UResourceBundle, len: ?*i32, key: ?*const ?*i8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn ures_getByIndex( resourceBundle: ?*const UResourceBundle, indexR: i32, fillIn: ?*UResourceBundle, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UResourceBundle; pub extern "icu" fn ures_getStringByIndex( resourceBundle: ?*const UResourceBundle, indexS: i32, len: ?*i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn ures_getUTF8StringByIndex( resB: ?*const UResourceBundle, stringIndex: i32, dest: ?PSTR, pLength: ?*i32, forceCopy: i8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn ures_getByKey( resourceBundle: ?*const UResourceBundle, key: ?[*:0]const u8, fillIn: ?*UResourceBundle, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UResourceBundle; pub extern "icu" fn ures_getStringByKey( resB: ?*const UResourceBundle, key: ?[*:0]const u8, len: ?*i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn ures_getUTF8StringByKey( resB: ?*const UResourceBundle, key: ?[*:0]const u8, dest: ?PSTR, pLength: ?*i32, forceCopy: i8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn ures_openAvailableLocales( packageName: ?[*:0]const u8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UEnumeration; pub extern "icu" fn uldn_open( locale: ?[*:0]const u8, dialectHandling: UDialectHandling, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*ULocaleDisplayNames; pub extern "icu" fn uldn_close( ldn: ?*ULocaleDisplayNames, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uldn_getLocale( ldn: ?*const ULocaleDisplayNames, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn uldn_getDialectHandling( ldn: ?*const ULocaleDisplayNames, ) callconv(@import("std").os.windows.WINAPI) UDialectHandling; pub extern "icu" fn uldn_localeDisplayName( ldn: ?*const ULocaleDisplayNames, locale: ?[*:0]const u8, result: ?*u16, maxResultSize: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uldn_languageDisplayName( ldn: ?*const ULocaleDisplayNames, lang: ?[*:0]const u8, result: ?*u16, maxResultSize: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uldn_scriptDisplayName( ldn: ?*const ULocaleDisplayNames, script: ?[*:0]const u8, result: ?*u16, maxResultSize: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uldn_scriptCodeDisplayName( ldn: ?*const ULocaleDisplayNames, scriptCode: UScriptCode, result: ?*u16, maxResultSize: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uldn_regionDisplayName( ldn: ?*const ULocaleDisplayNames, region: ?[*:0]const u8, result: ?*u16, maxResultSize: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uldn_variantDisplayName( ldn: ?*const ULocaleDisplayNames, variant: ?[*:0]const u8, result: ?*u16, maxResultSize: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uldn_keyDisplayName( ldn: ?*const ULocaleDisplayNames, key: ?[*:0]const u8, result: ?*u16, maxResultSize: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uldn_keyValueDisplayName( ldn: ?*const ULocaleDisplayNames, key: ?[*:0]const u8, value: ?[*:0]const u8, result: ?*u16, maxResultSize: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uldn_openForContext( locale: ?[*:0]const u8, contexts: ?*UDisplayContext, length: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*ULocaleDisplayNames; pub extern "icu" fn uldn_getContext( ldn: ?*const ULocaleDisplayNames, type: UDisplayContextType, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) UDisplayContext; pub extern "icu" fn ucurr_forLocale( locale: ?[*:0]const u8, buff: ?*u16, buffCapacity: i32, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucurr_register( isoCode: ?*const u16, locale: ?[*:0]const u8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*anyopaque; pub extern "icu" fn ucurr_unregister( key: ?*anyopaque, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn ucurr_getName( currency: ?*const u16, locale: ?[*:0]const u8, nameStyle: UCurrNameStyle, isChoiceFormat: ?*i8, len: ?*i32, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn ucurr_getPluralName( currency: ?*const u16, locale: ?[*:0]const u8, isChoiceFormat: ?*i8, pluralCount: ?[*:0]const u8, len: ?*i32, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn ucurr_getDefaultFractionDigits( currency: ?*const u16, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucurr_getDefaultFractionDigitsForUsage( currency: ?*const u16, usage: UCurrencyUsage, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucurr_getRoundingIncrement( currency: ?*const u16, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) f64; pub extern "icu" fn ucurr_getRoundingIncrementForUsage( currency: ?*const u16, usage: UCurrencyUsage, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) f64; pub extern "icu" fn ucurr_openISOCurrencies( currType: u32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UEnumeration; pub extern "icu" fn ucurr_isAvailable( isoCode: ?*const u16, from: f64, to: f64, errorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn ucurr_countCurrencies( locale: ?[*:0]const u8, date: f64, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucurr_forLocaleAndDate( locale: ?[*:0]const u8, date: f64, index: i32, buff: ?*u16, buffCapacity: i32, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucurr_getKeywordValuesForLocale( key: ?[*:0]const u8, locale: ?[*:0]const u8, commonlyUsed: i8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UEnumeration; pub extern "icu" fn ucurr_getNumericCode( currency: ?*const u16, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucpmap_get( map: ?*const UCPMap, c: i32, ) callconv(@import("std").os.windows.WINAPI) u32; pub extern "icu" fn ucpmap_getRange( map: ?*const UCPMap, start: i32, option: UCPMapRangeOption, surrogateValue: u32, filter: ?*?UCPMapValueFilter, context: ?*const anyopaque, pValue: ?*u32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucptrie_openFromBinary( type: UCPTrieType, valueWidth: UCPTrieValueWidth, data: ?*const anyopaque, length: i32, pActualLength: ?*i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UCPTrie; pub extern "icu" fn ucptrie_close( trie: ?*UCPTrie, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucptrie_getType( trie: ?*const UCPTrie, ) callconv(@import("std").os.windows.WINAPI) UCPTrieType; pub extern "icu" fn ucptrie_getValueWidth( trie: ?*const UCPTrie, ) callconv(@import("std").os.windows.WINAPI) UCPTrieValueWidth; pub extern "icu" fn ucptrie_get( trie: ?*const UCPTrie, c: i32, ) callconv(@import("std").os.windows.WINAPI) u32; pub extern "icu" fn ucptrie_getRange( trie: ?*const UCPTrie, start: i32, option: UCPMapRangeOption, surrogateValue: u32, filter: ?*?UCPMapValueFilter, context: ?*const anyopaque, pValue: ?*u32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucptrie_toBinary( trie: ?*const UCPTrie, data: ?*anyopaque, capacity: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucptrie_internalSmallIndex( trie: ?*const UCPTrie, c: i32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucptrie_internalSmallU8Index( trie: ?*const UCPTrie, lt1: i32, t2: u8, t3: u8, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucptrie_internalU8PrevIndex( trie: ?*const UCPTrie, c: i32, start: ?*const u8, src: ?*const u8, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn umutablecptrie_open( initialValue: u32, errorValue: u32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UMutableCPTrie; pub extern "icu" fn umutablecptrie_clone( other: ?*const UMutableCPTrie, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UMutableCPTrie; pub extern "icu" fn umutablecptrie_close( trie: ?*UMutableCPTrie, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn umutablecptrie_fromUCPMap( map: ?*const UCPMap, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UMutableCPTrie; pub extern "icu" fn umutablecptrie_fromUCPTrie( trie: ?*const UCPTrie, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UMutableCPTrie; pub extern "icu" fn umutablecptrie_get( trie: ?*const UMutableCPTrie, c: i32, ) callconv(@import("std").os.windows.WINAPI) u32; pub extern "icu" fn umutablecptrie_getRange( trie: ?*const UMutableCPTrie, start: i32, option: UCPMapRangeOption, surrogateValue: u32, filter: ?*?UCPMapValueFilter, context: ?*const anyopaque, pValue: ?*u32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn umutablecptrie_set( trie: ?*UMutableCPTrie, c: i32, value: u32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn umutablecptrie_setRange( trie: ?*UMutableCPTrie, start: i32, end: i32, value: u32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn umutablecptrie_buildImmutable( trie: ?*UMutableCPTrie, type: UCPTrieType, valueWidth: UCPTrieValueWidth, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UCPTrie; pub extern "icu" fn UCNV_FROM_U_CALLBACK_STOP( context: ?*const anyopaque, fromUArgs: ?*UConverterFromUnicodeArgs, codeUnits: ?*const u16, length: i32, codePoint: i32, reason: UConverterCallbackReason, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn UCNV_TO_U_CALLBACK_STOP( context: ?*const anyopaque, toUArgs: ?*UConverterToUnicodeArgs, codeUnits: ?[*:0]const u8, length: i32, reason: UConverterCallbackReason, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn UCNV_FROM_U_CALLBACK_SKIP( context: ?*const anyopaque, fromUArgs: ?*UConverterFromUnicodeArgs, codeUnits: ?*const u16, length: i32, codePoint: i32, reason: UConverterCallbackReason, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn UCNV_FROM_U_CALLBACK_SUBSTITUTE( context: ?*const anyopaque, fromUArgs: ?*UConverterFromUnicodeArgs, codeUnits: ?*const u16, length: i32, codePoint: i32, reason: UConverterCallbackReason, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn UCNV_FROM_U_CALLBACK_ESCAPE( context: ?*const anyopaque, fromUArgs: ?*UConverterFromUnicodeArgs, codeUnits: ?*const u16, length: i32, codePoint: i32, reason: UConverterCallbackReason, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn UCNV_TO_U_CALLBACK_SKIP( context: ?*const anyopaque, toUArgs: ?*UConverterToUnicodeArgs, codeUnits: ?[*:0]const u8, length: i32, reason: UConverterCallbackReason, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn UCNV_TO_U_CALLBACK_SUBSTITUTE( context: ?*const anyopaque, toUArgs: ?*UConverterToUnicodeArgs, codeUnits: ?[*:0]const u8, length: i32, reason: UConverterCallbackReason, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn UCNV_TO_U_CALLBACK_ESCAPE( context: ?*const anyopaque, toUArgs: ?*UConverterToUnicodeArgs, codeUnits: ?[*:0]const u8, length: i32, reason: UConverterCallbackReason, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucnv_compareNames( name1: ?[*:0]const u8, name2: ?[*:0]const u8, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucnv_open( converterName: ?[*:0]const u8, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UConverter; pub extern "icu" fn ucnv_openU( name: ?*const u16, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UConverter; pub extern "icu" fn ucnv_openCCSID( codepage: i32, platform: UConverterPlatform, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UConverter; pub extern "icu" fn ucnv_openPackage( packageName: ?[*:0]const u8, converterName: ?[*:0]const u8, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UConverter; pub extern "icu" fn ucnv_safeClone( cnv: ?*const UConverter, stackBuffer: ?*anyopaque, pBufferSize: ?*i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UConverter; pub extern "icu" fn ucnv_close( converter: ?*UConverter, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucnv_getSubstChars( converter: ?*const UConverter, subChars: ?PSTR, len: ?*i8, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucnv_setSubstChars( converter: ?*UConverter, subChars: ?[*:0]const u8, len: i8, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucnv_setSubstString( cnv: ?*UConverter, s: ?*const u16, length: i32, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucnv_getInvalidChars( converter: ?*const UConverter, errBytes: ?PSTR, len: ?*i8, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucnv_getInvalidUChars( converter: ?*const UConverter, errUChars: ?*u16, len: ?*i8, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucnv_reset( converter: ?*UConverter, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucnv_resetToUnicode( converter: ?*UConverter, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucnv_resetFromUnicode( converter: ?*UConverter, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucnv_getMaxCharSize( converter: ?*const UConverter, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn ucnv_getMinCharSize( converter: ?*const UConverter, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn ucnv_getDisplayName( converter: ?*const UConverter, displayLocale: ?[*:0]const u8, displayName: ?*u16, displayNameCapacity: i32, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucnv_getName( converter: ?*const UConverter, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn ucnv_getCCSID( converter: ?*const UConverter, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucnv_getPlatform( converter: ?*const UConverter, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) UConverterPlatform; pub extern "icu" fn ucnv_getType( converter: ?*const UConverter, ) callconv(@import("std").os.windows.WINAPI) UConverterType; pub extern "icu" fn ucnv_getStarters( converter: ?*const UConverter, starters: ?*i8, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucnv_getUnicodeSet( cnv: ?*const UConverter, setFillIn: ?*USet, whichSet: UConverterUnicodeSet, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucnv_getToUCallBack( converter: ?*const UConverter, action: ?*?UConverterToUCallback, context: ?*const ?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucnv_getFromUCallBack( converter: ?*const UConverter, action: ?*?UConverterFromUCallback, context: ?*const ?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucnv_setToUCallBack( converter: ?*UConverter, newAction: ?UConverterToUCallback, newContext: ?*const anyopaque, oldAction: ?*?UConverterToUCallback, oldContext: ?*const ?*anyopaque, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucnv_setFromUCallBack( converter: ?*UConverter, newAction: ?UConverterFromUCallback, newContext: ?*const anyopaque, oldAction: ?*?UConverterFromUCallback, oldContext: ?*const ?*anyopaque, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucnv_fromUnicode( converter: ?*UConverter, target: ?*?*i8, targetLimit: ?[*:0]const u8, source: ?*const ?*u16, sourceLimit: ?*const u16, offsets: ?*i32, flush: i8, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucnv_toUnicode( converter: ?*UConverter, target: ?*?*u16, targetLimit: ?*const u16, source: ?*const ?*i8, sourceLimit: ?[*:0]const u8, offsets: ?*i32, flush: i8, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucnv_fromUChars( cnv: ?*UConverter, dest: ?PSTR, destCapacity: i32, src: ?*const u16, srcLength: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucnv_toUChars( cnv: ?*UConverter, dest: ?*u16, destCapacity: i32, src: ?[*:0]const u8, srcLength: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucnv_getNextUChar( converter: ?*UConverter, source: ?*const ?*i8, sourceLimit: ?[*:0]const u8, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucnv_convertEx( targetCnv: ?*UConverter, sourceCnv: ?*UConverter, target: ?*?*i8, targetLimit: ?[*:0]const u8, source: ?*const ?*i8, sourceLimit: ?[*:0]const u8, pivotStart: ?*u16, pivotSource: ?*?*u16, pivotTarget: ?*?*u16, pivotLimit: ?*const u16, reset: i8, flush: i8, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucnv_convert( toConverterName: ?[*:0]const u8, fromConverterName: ?[*:0]const u8, target: ?PSTR, targetCapacity: i32, source: ?[*:0]const u8, sourceLength: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucnv_toAlgorithmic( algorithmicType: UConverterType, cnv: ?*UConverter, target: ?PSTR, targetCapacity: i32, source: ?[*:0]const u8, sourceLength: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucnv_fromAlgorithmic( cnv: ?*UConverter, algorithmicType: UConverterType, target: ?PSTR, targetCapacity: i32, source: ?[*:0]const u8, sourceLength: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucnv_flushCache( ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucnv_countAvailable( ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucnv_getAvailableName( n: i32, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn ucnv_openAllNames( pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UEnumeration; pub extern "icu" fn ucnv_countAliases( alias: ?[*:0]const u8, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) u16; pub extern "icu" fn ucnv_getAlias( alias: ?[*:0]const u8, n: u16, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn ucnv_getAliases( alias: ?[*:0]const u8, aliases: ?*const ?*i8, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucnv_openStandardNames( convName: ?[*:0]const u8, standard: ?[*:0]const u8, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UEnumeration; pub extern "icu" fn ucnv_countStandards( ) callconv(@import("std").os.windows.WINAPI) u16; pub extern "icu" fn ucnv_getStandard( n: u16, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn ucnv_getStandardName( name: ?[*:0]const u8, standard: ?[*:0]const u8, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn ucnv_getCanonicalName( alias: ?[*:0]const u8, standard: ?[*:0]const u8, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn ucnv_getDefaultName( ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn ucnv_setDefaultName( name: ?[*:0]const u8, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucnv_fixFileSeparator( cnv: ?*const UConverter, source: ?*u16, sourceLen: i32, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucnv_isAmbiguous( cnv: ?*const UConverter, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn ucnv_setFallback( cnv: ?*UConverter, usesFallback: i8, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucnv_usesFallback( cnv: ?*const UConverter, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn ucnv_detectUnicodeSignature( source: ?[*:0]const u8, sourceLength: i32, signatureLength: ?*i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn ucnv_fromUCountPending( cnv: ?*const UConverter, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucnv_toUCountPending( cnv: ?*const UConverter, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucnv_isFixedWidth( cnv: ?*UConverter, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn ucnv_cbFromUWriteBytes( args: ?*UConverterFromUnicodeArgs, source: ?[*:0]const u8, length: i32, offsetIndex: i32, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucnv_cbFromUWriteSub( args: ?*UConverterFromUnicodeArgs, offsetIndex: i32, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucnv_cbFromUWriteUChars( args: ?*UConverterFromUnicodeArgs, source: ?*const ?*u16, sourceLimit: ?*const u16, offsetIndex: i32, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucnv_cbToUWriteUChars( args: ?*UConverterToUnicodeArgs, source: ?*const u16, length: i32, offsetIndex: i32, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucnv_cbToUWriteSub( args: ?*UConverterToUnicodeArgs, offsetIndex: i32, err: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn u_init( status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn u_cleanup( ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn u_setMemoryFunctions( context: ?*const anyopaque, a: ?*?UMemAllocFn, r: ?*?UMemReallocFn, f: ?*?UMemFreeFn, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn u_catopen( name: ?[*:0]const u8, locale: ?[*:0]const u8, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UResourceBundle; pub extern "icu" fn u_catclose( catd: ?*UResourceBundle, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn u_catgets( catd: ?*UResourceBundle, set_num: i32, msg_num: i32, s: ?*const u16, len: ?*i32, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn u_hasBinaryProperty( c: i32, which: UProperty, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn u_getBinaryPropertySet( property: UProperty, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*USet; pub extern "icu" fn u_isUAlphabetic( c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn u_isULowercase( c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn u_isUUppercase( c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn u_isUWhiteSpace( c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn u_getIntPropertyValue( c: i32, which: UProperty, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_getIntPropertyMinValue( which: UProperty, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_getIntPropertyMaxValue( which: UProperty, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_getIntPropertyMap( property: UProperty, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UCPMap; pub extern "icu" fn u_getNumericValue( c: i32, ) callconv(@import("std").os.windows.WINAPI) f64; pub extern "icu" fn u_islower( c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn u_isupper( c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn u_istitle( c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn u_isdigit( c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn u_isalpha( c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn u_isalnum( c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn u_isxdigit( c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn u_ispunct( c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn u_isgraph( c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn u_isblank( c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn u_isdefined( c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn u_isspace( c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn u_isJavaSpaceChar( c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn u_isWhitespace( c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn u_iscntrl( c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn u_isISOControl( c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn u_isprint( c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn u_isbase( c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn u_charDirection( c: i32, ) callconv(@import("std").os.windows.WINAPI) UCharDirection; pub extern "icu" fn u_isMirrored( c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn u_charMirror( c: i32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_getBidiPairedBracket( c: i32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_charType( c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn u_enumCharTypes( enumRange: ?*?UCharEnumTypeRange, context: ?*const anyopaque, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn u_getCombiningClass( c: i32, ) callconv(@import("std").os.windows.WINAPI) u8; pub extern "icu" fn u_charDigitValue( c: i32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ublock_getCode( c: i32, ) callconv(@import("std").os.windows.WINAPI) UBlockCode; pub extern "icu" fn u_charName( code: i32, nameChoice: UCharNameChoice, buffer: ?PSTR, bufferLength: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_charFromName( nameChoice: UCharNameChoice, name: ?[*:0]const u8, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_enumCharNames( start: i32, limit: i32, @"fn": ?*?UEnumCharNamesFn, context: ?*anyopaque, nameChoice: UCharNameChoice, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn u_getPropertyName( property: UProperty, nameChoice: UPropertyNameChoice, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn u_getPropertyEnum( alias: ?[*:0]const u8, ) callconv(@import("std").os.windows.WINAPI) UProperty; pub extern "icu" fn u_getPropertyValueName( property: UProperty, value: i32, nameChoice: UPropertyNameChoice, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn u_getPropertyValueEnum( property: UProperty, alias: ?[*:0]const u8, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_isIDStart( c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn u_isIDPart( c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn u_isIDIgnorable( c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn u_isJavaIDStart( c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn u_isJavaIDPart( c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn u_tolower( c: i32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_toupper( c: i32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_totitle( c: i32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_foldCase( c: i32, options: u32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_digit( ch: i32, radix: i8, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_forDigit( digit: i32, radix: i8, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_charAge( c: i32, versionArray: ?*u8, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn u_getUnicodeVersion( versionArray: ?*u8, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn u_getFC_NFKC_Closure( c: i32, dest: ?*u16, destCapacity: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ubidi_open( ) callconv(@import("std").os.windows.WINAPI) ?*UBiDi; pub extern "icu" fn ubidi_openSized( maxLength: i32, maxRunCount: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UBiDi; pub extern "icu" fn ubidi_close( pBiDi: ?*UBiDi, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ubidi_setInverse( pBiDi: ?*UBiDi, isInverse: i8, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ubidi_isInverse( pBiDi: ?*UBiDi, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn ubidi_orderParagraphsLTR( pBiDi: ?*UBiDi, orderParagraphsLTR: i8, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ubidi_isOrderParagraphsLTR( pBiDi: ?*UBiDi, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn ubidi_setReorderingMode( pBiDi: ?*UBiDi, reorderingMode: UBiDiReorderingMode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ubidi_getReorderingMode( pBiDi: ?*UBiDi, ) callconv(@import("std").os.windows.WINAPI) UBiDiReorderingMode; pub extern "icu" fn ubidi_setReorderingOptions( pBiDi: ?*UBiDi, reorderingOptions: u32, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ubidi_getReorderingOptions( pBiDi: ?*UBiDi, ) callconv(@import("std").os.windows.WINAPI) u32; pub extern "icu" fn ubidi_setContext( pBiDi: ?*UBiDi, prologue: ?*const u16, proLength: i32, epilogue: ?*const u16, epiLength: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ubidi_setPara( pBiDi: ?*UBiDi, text: ?*const u16, length: i32, paraLevel: u8, embeddingLevels: ?*u8, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ubidi_setLine( pParaBiDi: ?*const UBiDi, start: i32, limit: i32, pLineBiDi: ?*UBiDi, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ubidi_getDirection( pBiDi: ?*const UBiDi, ) callconv(@import("std").os.windows.WINAPI) UBiDiDirection; pub extern "icu" fn ubidi_getBaseDirection( text: ?*const u16, length: i32, ) callconv(@import("std").os.windows.WINAPI) UBiDiDirection; pub extern "icu" fn ubidi_getText( pBiDi: ?*const UBiDi, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn ubidi_getLength( pBiDi: ?*const UBiDi, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ubidi_getParaLevel( pBiDi: ?*const UBiDi, ) callconv(@import("std").os.windows.WINAPI) u8; pub extern "icu" fn ubidi_countParagraphs( pBiDi: ?*UBiDi, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ubidi_getParagraph( pBiDi: ?*const UBiDi, charIndex: i32, pParaStart: ?*i32, pParaLimit: ?*i32, pParaLevel: ?*u8, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ubidi_getParagraphByIndex( pBiDi: ?*const UBiDi, paraIndex: i32, pParaStart: ?*i32, pParaLimit: ?*i32, pParaLevel: ?*u8, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ubidi_getLevelAt( pBiDi: ?*const UBiDi, charIndex: i32, ) callconv(@import("std").os.windows.WINAPI) u8; pub extern "icu" fn ubidi_getLevels( pBiDi: ?*UBiDi, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*u8; pub extern "icu" fn ubidi_getLogicalRun( pBiDi: ?*const UBiDi, logicalPosition: i32, pLogicalLimit: ?*i32, pLevel: ?*u8, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ubidi_countRuns( pBiDi: ?*UBiDi, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ubidi_getVisualRun( pBiDi: ?*UBiDi, runIndex: i32, pLogicalStart: ?*i32, pLength: ?*i32, ) callconv(@import("std").os.windows.WINAPI) UBiDiDirection; pub extern "icu" fn ubidi_getVisualIndex( pBiDi: ?*UBiDi, logicalIndex: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ubidi_getLogicalIndex( pBiDi: ?*UBiDi, visualIndex: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ubidi_getLogicalMap( pBiDi: ?*UBiDi, indexMap: ?*i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ubidi_getVisualMap( pBiDi: ?*UBiDi, indexMap: ?*i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ubidi_reorderLogical( levels: ?*const u8, length: i32, indexMap: ?*i32, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ubidi_reorderVisual( levels: ?*const u8, length: i32, indexMap: ?*i32, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ubidi_invertMap( srcMap: ?*const i32, destMap: ?*i32, length: i32, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ubidi_getProcessedLength( pBiDi: ?*const UBiDi, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ubidi_getResultLength( pBiDi: ?*const UBiDi, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ubidi_getCustomizedClass( pBiDi: ?*UBiDi, c: i32, ) callconv(@import("std").os.windows.WINAPI) UCharDirection; pub extern "icu" fn ubidi_setClassCallback( pBiDi: ?*UBiDi, newFn: ?UBiDiClassCallback, newContext: ?*const anyopaque, oldFn: ?*?UBiDiClassCallback, oldContext: ?*const ?*anyopaque, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ubidi_getClassCallback( pBiDi: ?*UBiDi, @"fn": ?*?UBiDiClassCallback, context: ?*const ?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ubidi_writeReordered( pBiDi: ?*UBiDi, dest: ?*u16, destSize: i32, options: u16, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ubidi_writeReverse( src: ?*const u16, srcLength: i32, dest: ?*u16, destSize: i32, options: u16, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ubiditransform_transform( pBiDiTransform: ?*UBiDiTransform, src: ?*const u16, srcLength: i32, dest: ?*u16, destSize: i32, inParaLevel: u8, inOrder: UBiDiOrder, outParaLevel: u8, outOrder: UBiDiOrder, doMirroring: UBiDiMirroring, shapingOptions: u32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) u32; pub extern "icu" fn ubiditransform_open( pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UBiDiTransform; pub extern "icu" fn ubiditransform_close( pBidiTransform: ?*UBiDiTransform, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn utext_close( ut: ?*UText, ) callconv(@import("std").os.windows.WINAPI) ?*UText; pub extern "icu" fn utext_openUTF8( ut: ?*UText, s: ?[*:0]const u8, length: i64, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UText; pub extern "icu" fn utext_openUChars( ut: ?*UText, s: ?*const u16, length: i64, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UText; pub extern "icu" fn utext_clone( dest: ?*UText, src: ?*const UText, deep: i8, readOnly: i8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UText; pub extern "icu" fn utext_equals( a: ?*const UText, b: ?*const UText, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn utext_nativeLength( ut: ?*UText, ) callconv(@import("std").os.windows.WINAPI) i64; pub extern "icu" fn utext_isLengthExpensive( ut: ?*const UText, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn utext_char32At( ut: ?*UText, nativeIndex: i64, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn utext_current32( ut: ?*UText, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn utext_next32( ut: ?*UText, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn utext_previous32( ut: ?*UText, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn utext_next32From( ut: ?*UText, nativeIndex: i64, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn utext_previous32From( ut: ?*UText, nativeIndex: i64, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn utext_getNativeIndex( ut: ?*const UText, ) callconv(@import("std").os.windows.WINAPI) i64; pub extern "icu" fn utext_setNativeIndex( ut: ?*UText, nativeIndex: i64, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn utext_moveIndex32( ut: ?*UText, delta: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn utext_getPreviousNativeIndex( ut: ?*UText, ) callconv(@import("std").os.windows.WINAPI) i64; pub extern "icu" fn utext_extract( ut: ?*UText, nativeStart: i64, nativeLimit: i64, dest: ?*u16, destCapacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn utext_isWritable( ut: ?*const UText, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn utext_hasMetaData( ut: ?*const UText, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn utext_replace( ut: ?*UText, nativeStart: i64, nativeLimit: i64, replacementText: ?*const u16, replacementLength: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn utext_copy( ut: ?*UText, nativeStart: i64, nativeLimit: i64, destIndex: i64, move: i8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn utext_freeze( ut: ?*UText, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn utext_setup( ut: ?*UText, extraSpace: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UText; pub extern "icu" fn uset_openEmpty( ) callconv(@import("std").os.windows.WINAPI) ?*USet; pub extern "icu" fn uset_open( start: i32, end: i32, ) callconv(@import("std").os.windows.WINAPI) ?*USet; pub extern "icu" fn uset_openPattern( pattern: ?*const u16, patternLength: i32, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*USet; pub extern "icu" fn uset_openPatternOptions( pattern: ?*const u16, patternLength: i32, options: u32, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*USet; pub extern "icu" fn uset_close( set: ?*USet, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uset_clone( set: ?*const USet, ) callconv(@import("std").os.windows.WINAPI) ?*USet; pub extern "icu" fn uset_isFrozen( set: ?*const USet, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn uset_freeze( set: ?*USet, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uset_cloneAsThawed( set: ?*const USet, ) callconv(@import("std").os.windows.WINAPI) ?*USet; pub extern "icu" fn uset_set( set: ?*USet, start: i32, end: i32, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uset_applyPattern( set: ?*USet, pattern: ?*const u16, patternLength: i32, options: u32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uset_applyIntPropertyValue( set: ?*USet, prop: UProperty, value: i32, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uset_applyPropertyAlias( set: ?*USet, prop: ?*const u16, propLength: i32, value: ?*const u16, valueLength: i32, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uset_resemblesPattern( pattern: ?*const u16, patternLength: i32, pos: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn uset_toPattern( set: ?*const USet, result: ?*u16, resultCapacity: i32, escapeUnprintable: i8, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uset_add( set: ?*USet, c: i32, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uset_addAll( set: ?*USet, additionalSet: ?*const USet, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uset_addRange( set: ?*USet, start: i32, end: i32, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uset_addString( set: ?*USet, str: ?*const u16, strLen: i32, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uset_addAllCodePoints( set: ?*USet, str: ?*const u16, strLen: i32, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uset_remove( set: ?*USet, c: i32, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uset_removeRange( set: ?*USet, start: i32, end: i32, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uset_removeString( set: ?*USet, str: ?*const u16, strLen: i32, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uset_removeAll( set: ?*USet, removeSet: ?*const USet, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uset_retain( set: ?*USet, start: i32, end: i32, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uset_retainAll( set: ?*USet, retain: ?*const USet, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uset_compact( set: ?*USet, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uset_complement( set: ?*USet, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uset_complementAll( set: ?*USet, complement: ?*const USet, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uset_clear( set: ?*USet, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uset_closeOver( set: ?*USet, attributes: i32, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uset_removeAllStrings( set: ?*USet, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uset_isEmpty( set: ?*const USet, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn uset_contains( set: ?*const USet, c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn uset_containsRange( set: ?*const USet, start: i32, end: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn uset_containsString( set: ?*const USet, str: ?*const u16, strLen: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn uset_indexOf( set: ?*const USet, c: i32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uset_charAt( set: ?*const USet, charIndex: i32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uset_size( set: ?*const USet, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uset_getItemCount( set: ?*const USet, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uset_getItem( set: ?*const USet, itemIndex: i32, start: ?*i32, end: ?*i32, str: ?*u16, strCapacity: i32, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uset_containsAll( set1: ?*const USet, set2: ?*const USet, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn uset_containsAllCodePoints( set: ?*const USet, str: ?*const u16, strLen: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn uset_containsNone( set1: ?*const USet, set2: ?*const USet, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn uset_containsSome( set1: ?*const USet, set2: ?*const USet, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn uset_span( set: ?*const USet, s: ?*const u16, length: i32, spanCondition: USetSpanCondition, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uset_spanBack( set: ?*const USet, s: ?*const u16, length: i32, spanCondition: USetSpanCondition, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uset_spanUTF8( set: ?*const USet, s: ?[*:0]const u8, length: i32, spanCondition: USetSpanCondition, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uset_spanBackUTF8( set: ?*const USet, s: ?[*:0]const u8, length: i32, spanCondition: USetSpanCondition, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uset_equals( set1: ?*const USet, set2: ?*const USet, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn uset_serialize( set: ?*const USet, dest: ?*u16, destCapacity: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uset_getSerializedSet( fillSet: ?*USerializedSet, src: ?*const u16, srcLength: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn uset_setSerializedToOne( fillSet: ?*USerializedSet, c: i32, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uset_serializedContains( set: ?*const USerializedSet, c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn uset_getSerializedRangeCount( set: ?*const USerializedSet, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uset_getSerializedRange( set: ?*const USerializedSet, rangeIndex: i32, pStart: ?*i32, pEnd: ?*i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn unorm2_getNFCInstance( pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UNormalizer2; pub extern "icu" fn unorm2_getNFDInstance( pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UNormalizer2; pub extern "icu" fn unorm2_getNFKCInstance( pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UNormalizer2; pub extern "icu" fn unorm2_getNFKDInstance( pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UNormalizer2; pub extern "icu" fn unorm2_getNFKCCasefoldInstance( pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UNormalizer2; pub extern "icu" fn unorm2_getInstance( packageName: ?[*:0]const u8, name: ?[*:0]const u8, mode: UNormalization2Mode, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UNormalizer2; pub extern "icu" fn unorm2_openFiltered( norm2: ?*const UNormalizer2, filterSet: ?*const USet, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UNormalizer2; pub extern "icu" fn unorm2_close( norm2: ?*UNormalizer2, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn unorm2_normalize( norm2: ?*const UNormalizer2, src: ?*const u16, length: i32, dest: ?*u16, capacity: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn unorm2_normalizeSecondAndAppend( norm2: ?*const UNormalizer2, first: ?*u16, firstLength: i32, firstCapacity: i32, second: ?*const u16, secondLength: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn unorm2_append( norm2: ?*const UNormalizer2, first: ?*u16, firstLength: i32, firstCapacity: i32, second: ?*const u16, secondLength: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn unorm2_getDecomposition( norm2: ?*const UNormalizer2, c: i32, decomposition: ?*u16, capacity: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn unorm2_getRawDecomposition( norm2: ?*const UNormalizer2, c: i32, decomposition: ?*u16, capacity: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn unorm2_composePair( norm2: ?*const UNormalizer2, a: i32, b: i32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn unorm2_getCombiningClass( norm2: ?*const UNormalizer2, c: i32, ) callconv(@import("std").os.windows.WINAPI) u8; pub extern "icu" fn unorm2_isNormalized( norm2: ?*const UNormalizer2, s: ?*const u16, length: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn unorm2_quickCheck( norm2: ?*const UNormalizer2, s: ?*const u16, length: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) UNormalizationCheckResult; pub extern "icu" fn unorm2_spanQuickCheckYes( norm2: ?*const UNormalizer2, s: ?*const u16, length: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn unorm2_hasBoundaryBefore( norm2: ?*const UNormalizer2, c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn unorm2_hasBoundaryAfter( norm2: ?*const UNormalizer2, c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn unorm2_isInert( norm2: ?*const UNormalizer2, c: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn unorm_compare( s1: ?*const u16, length1: i32, s2: ?*const u16, length2: i32, options: u32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucnvsel_open( converterList: ?*const ?*i8, converterListSize: i32, excludedCodePoints: ?*const USet, whichSet: UConverterUnicodeSet, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UConverterSelector; pub extern "icu" fn ucnvsel_close( sel: ?*UConverterSelector, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucnvsel_openFromSerialized( buffer: ?*const anyopaque, length: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UConverterSelector; pub extern "icu" fn ucnvsel_serialize( sel: ?*const UConverterSelector, buffer: ?*anyopaque, bufferCapacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucnvsel_selectForString( sel: ?*const UConverterSelector, s: ?*const u16, length: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UEnumeration; pub extern "icu" fn ucnvsel_selectForUTF8( sel: ?*const UConverterSelector, s: ?[*:0]const u8, length: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UEnumeration; pub extern "icu" fn u_charsToUChars( cs: ?[*:0]const u8, us: ?*u16, length: i32, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn u_UCharsToChars( us: ?*const u16, cs: ?PSTR, length: i32, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn u_strlen( s: ?*const u16, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_countChar32( s: ?*const u16, length: i32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_strHasMoreChar32Than( s: ?*const u16, length: i32, number: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn u_strcat( dst: ?*u16, src: ?*const u16, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn u_strncat( dst: ?*u16, src: ?*const u16, n: i32, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn u_strstr( s: ?*const u16, substring: ?*const u16, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn u_strFindFirst( s: ?*const u16, length: i32, substring: ?*const u16, subLength: i32, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn u_strchr( s: ?*const u16, c: u16, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn u_strchr32( s: ?*const u16, c: i32, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn u_strrstr( s: ?*const u16, substring: ?*const u16, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn u_strFindLast( s: ?*const u16, length: i32, substring: ?*const u16, subLength: i32, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn u_strrchr( s: ?*const u16, c: u16, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn u_strrchr32( s: ?*const u16, c: i32, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn u_strpbrk( string: ?*const u16, matchSet: ?*const u16, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn u_strcspn( string: ?*const u16, matchSet: ?*const u16, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_strspn( string: ?*const u16, matchSet: ?*const u16, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_strtok_r( src: ?*u16, delim: ?*const u16, saveState: ?*?*u16, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn u_strcmp( s1: ?*const u16, s2: ?*const u16, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_strcmpCodePointOrder( s1: ?*const u16, s2: ?*const u16, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_strCompare( s1: ?*const u16, length1: i32, s2: ?*const u16, length2: i32, codePointOrder: i8, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_strCompareIter( iter1: ?*UCharIterator, iter2: ?*UCharIterator, codePointOrder: i8, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_strCaseCompare( s1: ?*const u16, length1: i32, s2: ?*const u16, length2: i32, options: u32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_strncmp( ucs1: ?*const u16, ucs2: ?*const u16, n: i32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_strncmpCodePointOrder( s1: ?*const u16, s2: ?*const u16, n: i32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_strcasecmp( s1: ?*const u16, s2: ?*const u16, options: u32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_strncasecmp( s1: ?*const u16, s2: ?*const u16, n: i32, options: u32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_memcasecmp( s1: ?*const u16, s2: ?*const u16, length: i32, options: u32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_strcpy( dst: ?*u16, src: ?*const u16, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn u_strncpy( dst: ?*u16, src: ?*const u16, n: i32, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn u_uastrcpy( dst: ?*u16, src: ?[*:0]const u8, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn u_uastrncpy( dst: ?*u16, src: ?[*:0]const u8, n: i32, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn u_austrcpy( dst: ?PSTR, src: ?*const u16, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn u_austrncpy( dst: ?PSTR, src: ?*const u16, n: i32, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn u_memcpy( dest: ?*u16, src: ?*const u16, count: i32, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn u_memmove( dest: ?*u16, src: ?*const u16, count: i32, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn u_memset( dest: ?*u16, c: u16, count: i32, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn u_memcmp( buf1: ?*const u16, buf2: ?*const u16, count: i32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_memcmpCodePointOrder( s1: ?*const u16, s2: ?*const u16, count: i32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_memchr( s: ?*const u16, c: u16, count: i32, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn u_memchr32( s: ?*const u16, c: i32, count: i32, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn u_memrchr( s: ?*const u16, c: u16, count: i32, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn u_memrchr32( s: ?*const u16, c: i32, count: i32, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn u_unescape( src: ?[*:0]const u8, dest: ?*u16, destCapacity: i32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_unescapeAt( charAt: ?UNESCAPE_CHAR_AT, offset: ?*i32, length: i32, context: ?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_strToUpper( dest: ?*u16, destCapacity: i32, src: ?*const u16, srcLength: i32, locale: ?[*:0]const u8, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_strToLower( dest: ?*u16, destCapacity: i32, src: ?*const u16, srcLength: i32, locale: ?[*:0]const u8, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_strToTitle( dest: ?*u16, destCapacity: i32, src: ?*const u16, srcLength: i32, titleIter: ?*UBreakIterator, locale: ?[*:0]const u8, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_strFoldCase( dest: ?*u16, destCapacity: i32, src: ?*const u16, srcLength: i32, options: u32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_strToWCS( dest: ?PWSTR, destCapacity: i32, pDestLength: ?*i32, src: ?*const u16, srcLength: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?PWSTR; pub extern "icu" fn u_strFromWCS( dest: ?*u16, destCapacity: i32, pDestLength: ?*i32, src: ?[*:0]const u16, srcLength: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn u_strToUTF8( dest: ?PSTR, destCapacity: i32, pDestLength: ?*i32, src: ?*const u16, srcLength: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn u_strFromUTF8( dest: ?*u16, destCapacity: i32, pDestLength: ?*i32, src: ?[*:0]const u8, srcLength: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn u_strToUTF8WithSub( dest: ?PSTR, destCapacity: i32, pDestLength: ?*i32, src: ?*const u16, srcLength: i32, subchar: i32, pNumSubstitutions: ?*i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn u_strFromUTF8WithSub( dest: ?*u16, destCapacity: i32, pDestLength: ?*i32, src: ?[*:0]const u8, srcLength: i32, subchar: i32, pNumSubstitutions: ?*i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn u_strFromUTF8Lenient( dest: ?*u16, destCapacity: i32, pDestLength: ?*i32, src: ?[*:0]const u8, srcLength: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn u_strToUTF32( dest: ?*i32, destCapacity: i32, pDestLength: ?*i32, src: ?*const u16, srcLength: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*i32; pub extern "icu" fn u_strFromUTF32( dest: ?*u16, destCapacity: i32, pDestLength: ?*i32, src: ?*const i32, srcLength: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn u_strToUTF32WithSub( dest: ?*i32, destCapacity: i32, pDestLength: ?*i32, src: ?*const u16, srcLength: i32, subchar: i32, pNumSubstitutions: ?*i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*i32; pub extern "icu" fn u_strFromUTF32WithSub( dest: ?*u16, destCapacity: i32, pDestLength: ?*i32, src: ?*const i32, srcLength: i32, subchar: i32, pNumSubstitutions: ?*i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn u_strToJavaModifiedUTF8( dest: ?PSTR, destCapacity: i32, pDestLength: ?*i32, src: ?*const u16, srcLength: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn u_strFromJavaModifiedUTF8WithSub( dest: ?*u16, destCapacity: i32, pDestLength: ?*i32, src: ?[*:0]const u8, srcLength: i32, subchar: i32, pNumSubstitutions: ?*i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn ucasemap_open( locale: ?[*:0]const u8, options: u32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UCaseMap; pub extern "icu" fn ucasemap_close( csm: ?*UCaseMap, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucasemap_getLocale( csm: ?*const UCaseMap, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn ucasemap_getOptions( csm: ?*const UCaseMap, ) callconv(@import("std").os.windows.WINAPI) u32; pub extern "icu" fn ucasemap_setLocale( csm: ?*UCaseMap, locale: ?[*:0]const u8, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucasemap_setOptions( csm: ?*UCaseMap, options: u32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucasemap_getBreakIterator( csm: ?*const UCaseMap, ) callconv(@import("std").os.windows.WINAPI) ?*UBreakIterator; pub extern "icu" fn ucasemap_setBreakIterator( csm: ?*UCaseMap, iterToAdopt: ?*UBreakIterator, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucasemap_toTitle( csm: ?*UCaseMap, dest: ?*u16, destCapacity: i32, src: ?*const u16, srcLength: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucasemap_utf8ToLower( csm: ?*const UCaseMap, dest: ?PSTR, destCapacity: i32, src: ?[*:0]const u8, srcLength: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucasemap_utf8ToUpper( csm: ?*const UCaseMap, dest: ?PSTR, destCapacity: i32, src: ?[*:0]const u8, srcLength: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucasemap_utf8ToTitle( csm: ?*UCaseMap, dest: ?PSTR, destCapacity: i32, src: ?[*:0]const u8, srcLength: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucasemap_utf8FoldCase( csm: ?*const UCaseMap, dest: ?PSTR, destCapacity: i32, src: ?[*:0]const u8, srcLength: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn usprep_open( path: ?[*:0]const u8, fileName: ?[*:0]const u8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UStringPrepProfile; pub extern "icu" fn usprep_openByType( type: UStringPrepProfileType, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UStringPrepProfile; pub extern "icu" fn usprep_close( profile: ?*UStringPrepProfile, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn usprep_prepare( prep: ?*const UStringPrepProfile, src: ?*const u16, srcLength: i32, dest: ?*u16, destCapacity: i32, options: i32, parseError: ?*UParseError, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uidna_openUTS46( options: u32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UIDNA; pub extern "icu" fn uidna_close( idna: ?*UIDNA, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uidna_labelToASCII( idna: ?*const UIDNA, label: ?*const u16, length: i32, dest: ?*u16, capacity: i32, pInfo: ?*UIDNAInfo, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uidna_labelToUnicode( idna: ?*const UIDNA, label: ?*const u16, length: i32, dest: ?*u16, capacity: i32, pInfo: ?*UIDNAInfo, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uidna_nameToASCII( idna: ?*const UIDNA, name: ?*const u16, length: i32, dest: ?*u16, capacity: i32, pInfo: ?*UIDNAInfo, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uidna_nameToUnicode( idna: ?*const UIDNA, name: ?*const u16, length: i32, dest: ?*u16, capacity: i32, pInfo: ?*UIDNAInfo, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uidna_labelToASCII_UTF8( idna: ?*const UIDNA, label: ?[*:0]const u8, length: i32, dest: ?PSTR, capacity: i32, pInfo: ?*UIDNAInfo, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uidna_labelToUnicodeUTF8( idna: ?*const UIDNA, label: ?[*:0]const u8, length: i32, dest: ?PSTR, capacity: i32, pInfo: ?*UIDNAInfo, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uidna_nameToASCII_UTF8( idna: ?*const UIDNA, name: ?[*:0]const u8, length: i32, dest: ?PSTR, capacity: i32, pInfo: ?*UIDNAInfo, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uidna_nameToUnicodeUTF8( idna: ?*const UIDNA, name: ?[*:0]const u8, length: i32, dest: ?PSTR, capacity: i32, pInfo: ?*UIDNAInfo, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ubrk_open( type: UBreakIteratorType, locale: ?[*:0]const u8, text: ?*const u16, textLength: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UBreakIterator; pub extern "icu" fn ubrk_openRules( rules: ?*const u16, rulesLength: i32, text: ?*const u16, textLength: i32, parseErr: ?*UParseError, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UBreakIterator; pub extern "icu" fn ubrk_openBinaryRules( binaryRules: ?*const u8, rulesLength: i32, text: ?*const u16, textLength: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UBreakIterator; pub extern "icu" fn ubrk_safeClone( bi: ?*const UBreakIterator, stackBuffer: ?*anyopaque, pBufferSize: ?*i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UBreakIterator; pub extern "icu" fn ubrk_close( bi: ?*UBreakIterator, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ubrk_setText( bi: ?*UBreakIterator, text: ?*const u16, textLength: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ubrk_setUText( bi: ?*UBreakIterator, text: ?*UText, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ubrk_current( bi: ?*const UBreakIterator, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ubrk_next( bi: ?*UBreakIterator, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ubrk_previous( bi: ?*UBreakIterator, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ubrk_first( bi: ?*UBreakIterator, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ubrk_last( bi: ?*UBreakIterator, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ubrk_preceding( bi: ?*UBreakIterator, offset: i32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ubrk_following( bi: ?*UBreakIterator, offset: i32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ubrk_getAvailable( index: i32, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn ubrk_countAvailable( ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ubrk_isBoundary( bi: ?*UBreakIterator, offset: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn ubrk_getRuleStatus( bi: ?*UBreakIterator, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ubrk_getRuleStatusVec( bi: ?*UBreakIterator, fillInVec: ?*i32, capacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ubrk_getLocaleByType( bi: ?*const UBreakIterator, type: ULocDataLocaleType, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn ubrk_refreshUText( bi: ?*UBreakIterator, text: ?*UText, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ubrk_getBinaryRules( bi: ?*UBreakIterator, binaryRules: ?*u8, rulesCapacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_getDataVersion( dataVersionFillin: ?*u8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucal_openTimeZoneIDEnumeration( zoneType: USystemTimeZoneType, region: ?[*:0]const u8, rawOffset: ?*const i32, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UEnumeration; pub extern "icu" fn ucal_openTimeZones( ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UEnumeration; pub extern "icu" fn ucal_openCountryTimeZones( country: ?[*:0]const u8, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UEnumeration; pub extern "icu" fn ucal_getDefaultTimeZone( result: ?*u16, resultCapacity: i32, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucal_setDefaultTimeZone( zoneID: ?*const u16, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucal_getHostTimeZone( result: ?*u16, resultCapacity: i32, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucal_getDSTSavings( zoneID: ?*const u16, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucal_getNow( ) callconv(@import("std").os.windows.WINAPI) f64; pub extern "icu" fn ucal_open( zoneID: ?*const u16, len: i32, locale: ?[*:0]const u8, type: UCalendarType, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*?*anyopaque; pub extern "icu" fn ucal_close( cal: ?*?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucal_clone( cal: ?*const ?*anyopaque, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*?*anyopaque; pub extern "icu" fn ucal_setTimeZone( cal: ?*?*anyopaque, zoneID: ?*const u16, len: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucal_getTimeZoneID( cal: ?*const ?*anyopaque, result: ?*u16, resultLength: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucal_getTimeZoneDisplayName( cal: ?*const ?*anyopaque, type: UCalendarDisplayNameType, locale: ?[*:0]const u8, result: ?*u16, resultLength: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucal_inDaylightTime( cal: ?*const ?*anyopaque, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn ucal_setGregorianChange( cal: ?*?*anyopaque, date: f64, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucal_getGregorianChange( cal: ?*const ?*anyopaque, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) f64; pub extern "icu" fn ucal_getAttribute( cal: ?*const ?*anyopaque, attr: UCalendarAttribute, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucal_setAttribute( cal: ?*?*anyopaque, attr: UCalendarAttribute, newValue: i32, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucal_getAvailable( localeIndex: i32, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn ucal_countAvailable( ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucal_getMillis( cal: ?*const ?*anyopaque, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) f64; pub extern "icu" fn ucal_setMillis( cal: ?*?*anyopaque, dateTime: f64, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucal_setDate( cal: ?*?*anyopaque, year: i32, month: i32, date: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucal_setDateTime( cal: ?*?*anyopaque, year: i32, month: i32, date: i32, hour: i32, minute: i32, second: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucal_equivalentTo( cal1: ?*const ?*anyopaque, cal2: ?*const ?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn ucal_add( cal: ?*?*anyopaque, field: UCalendarDateFields, amount: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucal_roll( cal: ?*?*anyopaque, field: UCalendarDateFields, amount: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucal_get( cal: ?*const ?*anyopaque, field: UCalendarDateFields, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucal_set( cal: ?*?*anyopaque, field: UCalendarDateFields, value: i32, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucal_isSet( cal: ?*const ?*anyopaque, field: UCalendarDateFields, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn ucal_clearField( cal: ?*?*anyopaque, field: UCalendarDateFields, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucal_clear( calendar: ?*?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucal_getLimit( cal: ?*const ?*anyopaque, field: UCalendarDateFields, type: UCalendarLimitType, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucal_getLocaleByType( cal: ?*const ?*anyopaque, type: ULocDataLocaleType, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn ucal_getTZDataVersion( status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn ucal_getCanonicalTimeZoneID( id: ?*const u16, len: i32, result: ?*u16, resultCapacity: i32, isSystemID: ?*i8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucal_getType( cal: ?*const ?*anyopaque, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn ucal_getKeywordValuesForLocale( key: ?[*:0]const u8, locale: ?[*:0]const u8, commonlyUsed: i8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UEnumeration; pub extern "icu" fn ucal_getDayOfWeekType( cal: ?*const ?*anyopaque, dayOfWeek: UCalendarDaysOfWeek, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) UCalendarWeekdayType; pub extern "icu" fn ucal_getWeekendTransition( cal: ?*const ?*anyopaque, dayOfWeek: UCalendarDaysOfWeek, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucal_isWeekend( cal: ?*const ?*anyopaque, date: f64, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn ucal_getFieldDifference( cal: ?*?*anyopaque, target: f64, field: UCalendarDateFields, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucal_getTimeZoneTransitionDate( cal: ?*const ?*anyopaque, type: UTimeZoneTransitionType, transition: ?*f64, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn ucal_getWindowsTimeZoneID( id: ?*const u16, len: i32, winid: ?*u16, winidCapacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucal_getTimeZoneIDForWindowsID( winid: ?*const u16, len: i32, region: ?[*:0]const u8, id: ?*u16, idCapacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucol_open( loc: ?[*:0]const u8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UCollator; pub extern "icu" fn ucol_openRules( rules: ?*const u16, rulesLength: i32, normalizationMode: UColAttributeValue, strength: UColAttributeValue, parseError: ?*UParseError, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UCollator; pub extern "icu" fn ucol_getContractionsAndExpansions( coll: ?*const UCollator, contractions: ?*USet, expansions: ?*USet, addPrefixes: i8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucol_close( coll: ?*UCollator, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucol_strcoll( coll: ?*const UCollator, source: ?*const u16, sourceLength: i32, target: ?*const u16, targetLength: i32, ) callconv(@import("std").os.windows.WINAPI) UCollationResult; pub extern "icu" fn ucol_strcollUTF8( coll: ?*const UCollator, source: ?[*:0]const u8, sourceLength: i32, target: ?[*:0]const u8, targetLength: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) UCollationResult; pub extern "icu" fn ucol_greater( coll: ?*const UCollator, source: ?*const u16, sourceLength: i32, target: ?*const u16, targetLength: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn ucol_greaterOrEqual( coll: ?*const UCollator, source: ?*const u16, sourceLength: i32, target: ?*const u16, targetLength: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn ucol_equal( coll: ?*const UCollator, source: ?*const u16, sourceLength: i32, target: ?*const u16, targetLength: i32, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn ucol_strcollIter( coll: ?*const UCollator, sIter: ?*UCharIterator, tIter: ?*UCharIterator, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) UCollationResult; pub extern "icu" fn ucol_getStrength( coll: ?*const UCollator, ) callconv(@import("std").os.windows.WINAPI) UColAttributeValue; pub extern "icu" fn ucol_setStrength( coll: ?*UCollator, strength: UColAttributeValue, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucol_getReorderCodes( coll: ?*const UCollator, dest: ?*i32, destCapacity: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucol_setReorderCodes( coll: ?*UCollator, reorderCodes: ?*const i32, reorderCodesLength: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucol_getEquivalentReorderCodes( reorderCode: i32, dest: ?*i32, destCapacity: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucol_getDisplayName( objLoc: ?[*:0]const u8, dispLoc: ?[*:0]const u8, result: ?*u16, resultLength: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucol_getAvailable( localeIndex: i32, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn ucol_countAvailable( ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucol_openAvailableLocales( status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UEnumeration; pub extern "icu" fn ucol_getKeywords( status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UEnumeration; pub extern "icu" fn ucol_getKeywordValues( keyword: ?[*:0]const u8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UEnumeration; pub extern "icu" fn ucol_getKeywordValuesForLocale( key: ?[*:0]const u8, locale: ?[*:0]const u8, commonlyUsed: i8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UEnumeration; pub extern "icu" fn ucol_getFunctionalEquivalent( result: ?PSTR, resultCapacity: i32, keyword: ?[*:0]const u8, locale: ?[*:0]const u8, isAvailable: ?*i8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucol_getRules( coll: ?*const UCollator, length: ?*i32, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn ucol_getSortKey( coll: ?*const UCollator, source: ?*const u16, sourceLength: i32, result: ?*u8, resultLength: i32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucol_nextSortKeyPart( coll: ?*const UCollator, iter: ?*UCharIterator, state: ?*u32, dest: ?*u8, count: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucol_getBound( source: ?*const u8, sourceLength: i32, boundType: UColBoundMode, noOfLevels: u32, result: ?*u8, resultLength: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucol_getVersion( coll: ?*const UCollator, info: ?*u8, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucol_getUCAVersion( coll: ?*const UCollator, info: ?*u8, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucol_mergeSortkeys( src1: ?*const u8, src1Length: i32, src2: ?*const u8, src2Length: i32, dest: ?*u8, destCapacity: i32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucol_setAttribute( coll: ?*UCollator, attr: UColAttribute, value: UColAttributeValue, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucol_getAttribute( coll: ?*const UCollator, attr: UColAttribute, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) UColAttributeValue; pub extern "icu" fn ucol_setMaxVariable( coll: ?*UCollator, group: UColReorderCode, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucol_getMaxVariable( coll: ?*const UCollator, ) callconv(@import("std").os.windows.WINAPI) UColReorderCode; pub extern "icu" fn ucol_getVariableTop( coll: ?*const UCollator, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) u32; pub extern "icu" fn ucol_safeClone( coll: ?*const UCollator, stackBuffer: ?*anyopaque, pBufferSize: ?*i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UCollator; pub extern "icu" fn ucol_getRulesEx( coll: ?*const UCollator, delta: UColRuleOption, buffer: ?*u16, bufferLen: i32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucol_getLocaleByType( coll: ?*const UCollator, type: ULocDataLocaleType, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn ucol_getTailoredSet( coll: ?*const UCollator, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*USet; pub extern "icu" fn ucol_cloneBinary( coll: ?*const UCollator, buffer: ?*u8, capacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucol_openBinary( bin: ?*const u8, length: i32, base: ?*const UCollator, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UCollator; pub extern "icu" fn ucol_openElements( coll: ?*const UCollator, text: ?*const u16, textLength: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UCollationElements; pub extern "icu" fn ucol_keyHashCode( key: ?*const u8, length: i32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucol_closeElements( elems: ?*UCollationElements, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucol_reset( elems: ?*UCollationElements, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucol_next( elems: ?*UCollationElements, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucol_previous( elems: ?*UCollationElements, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucol_getMaxExpansion( elems: ?*const UCollationElements, order: i32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucol_setText( elems: ?*UCollationElements, text: ?*const u16, textLength: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucol_getOffset( elems: ?*const UCollationElements, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucol_setOffset( elems: ?*UCollationElements, offset: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucol_primaryOrder( order: i32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucol_secondaryOrder( order: i32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucol_tertiaryOrder( order: i32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucsdet_open( status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UCharsetDetector; pub extern "icu" fn ucsdet_close( ucsd: ?*UCharsetDetector, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucsdet_setText( ucsd: ?*UCharsetDetector, textIn: ?[*:0]const u8, len: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucsdet_setDeclaredEncoding( ucsd: ?*UCharsetDetector, encoding: ?[*:0]const u8, length: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucsdet_detect( ucsd: ?*UCharsetDetector, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UCharsetMatch; pub extern "icu" fn ucsdet_detectAll( ucsd: ?*UCharsetDetector, matchesFound: ?*i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*?*UCharsetMatch; pub extern "icu" fn ucsdet_getName( ucsm: ?*const UCharsetMatch, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn ucsdet_getConfidence( ucsm: ?*const UCharsetMatch, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucsdet_getLanguage( ucsm: ?*const UCharsetMatch, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn ucsdet_getUChars( ucsm: ?*const UCharsetMatch, buf: ?*u16, cap: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucsdet_getAllDetectableCharsets( ucsd: ?*const UCharsetDetector, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UEnumeration; pub extern "icu" fn ucsdet_isInputFilterEnabled( ucsd: ?*const UCharsetDetector, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn ucsdet_enableInputFilter( ucsd: ?*UCharsetDetector, filter: i8, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn ufieldpositer_open( status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UFieldPositionIterator; pub extern "icu" fn ufieldpositer_close( fpositer: ?*UFieldPositionIterator, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ufieldpositer_next( fpositer: ?*UFieldPositionIterator, beginIndex: ?*i32, endIndex: ?*i32, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ufmt_open( status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*?*anyopaque; pub extern "icu" fn ufmt_close( fmt: ?*?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ufmt_getType( fmt: ?*const ?*anyopaque, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) UFormattableType; pub extern "icu" fn ufmt_isNumeric( fmt: ?*const ?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn ufmt_getDate( fmt: ?*const ?*anyopaque, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) f64; pub extern "icu" fn ufmt_getDouble( fmt: ?*?*anyopaque, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) f64; pub extern "icu" fn ufmt_getLong( fmt: ?*?*anyopaque, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ufmt_getInt64( fmt: ?*?*anyopaque, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i64; pub extern "icu" fn ufmt_getObject( fmt: ?*const ?*anyopaque, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*anyopaque; pub extern "icu" fn ufmt_getUChars( fmt: ?*?*anyopaque, len: ?*i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn ufmt_getArrayLength( fmt: ?*const ?*anyopaque, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ufmt_getArrayItemByIndex( fmt: ?*?*anyopaque, n: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*?*anyopaque; pub extern "icu" fn ufmt_getDecNumChars( fmt: ?*?*anyopaque, len: ?*i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn ucfpos_open( ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UConstrainedFieldPosition; pub extern "icu" fn ucfpos_reset( ucfpos: ?*UConstrainedFieldPosition, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucfpos_close( ucfpos: ?*UConstrainedFieldPosition, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucfpos_constrainCategory( ucfpos: ?*UConstrainedFieldPosition, category: i32, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucfpos_constrainField( ucfpos: ?*UConstrainedFieldPosition, category: i32, field: i32, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucfpos_getCategory( ucfpos: ?*const UConstrainedFieldPosition, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucfpos_getField( ucfpos: ?*const UConstrainedFieldPosition, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ucfpos_getIndexes( ucfpos: ?*const UConstrainedFieldPosition, pStart: ?*i32, pLimit: ?*i32, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucfpos_getInt64IterationContext( ucfpos: ?*const UConstrainedFieldPosition, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i64; pub extern "icu" fn ucfpos_setInt64IterationContext( ucfpos: ?*UConstrainedFieldPosition, context: i64, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ucfpos_matchesField( ucfpos: ?*const UConstrainedFieldPosition, category: i32, field: i32, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn ucfpos_setState( ucfpos: ?*UConstrainedFieldPosition, category: i32, field: i32, start: i32, limit: i32, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ufmtval_getString( ufmtval: ?*const UFormattedValue, pLength: ?*i32, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn ufmtval_nextPosition( ufmtval: ?*const UFormattedValue, ucfpos: ?*UConstrainedFieldPosition, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn udtitvfmt_open( locale: ?[*:0]const u8, skeleton: ?*const u16, skeletonLength: i32, tzID: ?*const u16, tzIDLength: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UDateIntervalFormat; pub extern "icu" fn udtitvfmt_close( formatter: ?*UDateIntervalFormat, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn udtitvfmt_openResult( ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UFormattedDateInterval; pub extern "icu" fn udtitvfmt_resultAsValue( uresult: ?*const UFormattedDateInterval, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UFormattedValue; pub extern "icu" fn udtitvfmt_closeResult( uresult: ?*UFormattedDateInterval, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn udtitvfmt_format( formatter: ?*const UDateIntervalFormat, fromDate: f64, toDate: f64, result: ?*u16, resultCapacity: i32, position: ?*UFieldPosition, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ugender_getInstance( locale: ?[*:0]const u8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UGenderInfo; pub extern "icu" fn ugender_getListGender( genderInfo: ?*const UGenderInfo, genders: ?*const UGender, size: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) UGender; pub extern "icu" fn ulistfmt_open( locale: ?[*:0]const u8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UListFormatter; pub extern "icu" fn ulistfmt_openForType( locale: ?[*:0]const u8, type: UListFormatterType, width: UListFormatterWidth, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UListFormatter; pub extern "icu" fn ulistfmt_close( listfmt: ?*UListFormatter, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ulistfmt_openResult( ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UFormattedList; pub extern "icu" fn ulistfmt_resultAsValue( uresult: ?*const UFormattedList, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UFormattedValue; pub extern "icu" fn ulistfmt_closeResult( uresult: ?*UFormattedList, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ulistfmt_format( listfmt: ?*const UListFormatter, strings: ?*const ?*u16, stringLengths: ?*const i32, stringCount: i32, result: ?*u16, resultCapacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ulistfmt_formatStringsToResult( listfmt: ?*const UListFormatter, strings: ?*const ?*u16, stringLengths: ?*const i32, stringCount: i32, uresult: ?*UFormattedList, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ulocdata_open( localeID: ?[*:0]const u8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*ULocaleData; pub extern "icu" fn ulocdata_close( uld: ?*ULocaleData, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ulocdata_setNoSubstitute( uld: ?*ULocaleData, setting: i8, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ulocdata_getNoSubstitute( uld: ?*ULocaleData, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn ulocdata_getExemplarSet( uld: ?*ULocaleData, fillIn: ?*USet, options: u32, extype: ULocaleDataExemplarSetType, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*USet; pub extern "icu" fn ulocdata_getDelimiter( uld: ?*ULocaleData, type: ULocaleDataDelimiterType, result: ?*u16, resultLength: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ulocdata_getMeasurementSystem( localeID: ?[*:0]const u8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) UMeasurementSystem; pub extern "icu" fn ulocdata_getPaperSize( localeID: ?[*:0]const u8, height: ?*i32, width: ?*i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ulocdata_getCLDRVersion( versionArray: ?*u8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ulocdata_getLocaleDisplayPattern( uld: ?*ULocaleData, pattern: ?*u16, patternCapacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ulocdata_getLocaleSeparator( uld: ?*ULocaleData, separator: ?*u16, separatorCapacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_formatMessage( locale: ?[*:0]const u8, pattern: ?*const u16, patternLength: i32, result: ?*u16, resultLength: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_vformatMessage( locale: ?[*:0]const u8, pattern: ?*const u16, patternLength: i32, result: ?*u16, resultLength: i32, ap: ?*i8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_parseMessage( locale: ?[*:0]const u8, pattern: ?*const u16, patternLength: i32, source: ?*const u16, sourceLength: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn u_vparseMessage( locale: ?[*:0]const u8, pattern: ?*const u16, patternLength: i32, source: ?*const u16, sourceLength: i32, ap: ?*i8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn u_formatMessageWithError( locale: ?[*:0]const u8, pattern: ?*const u16, patternLength: i32, result: ?*u16, resultLength: i32, parseError: ?*UParseError, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_vformatMessageWithError( locale: ?[*:0]const u8, pattern: ?*const u16, patternLength: i32, result: ?*u16, resultLength: i32, parseError: ?*UParseError, ap: ?*i8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn u_parseMessageWithError( locale: ?[*:0]const u8, pattern: ?*const u16, patternLength: i32, source: ?*const u16, sourceLength: i32, parseError: ?*UParseError, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn u_vparseMessageWithError( locale: ?[*:0]const u8, pattern: ?*const u16, patternLength: i32, source: ?*const u16, sourceLength: i32, ap: ?*i8, parseError: ?*UParseError, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn umsg_open( pattern: ?*const u16, patternLength: i32, locale: ?[*:0]const u8, parseError: ?*UParseError, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*?*anyopaque; pub extern "icu" fn umsg_close( format: ?*?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn umsg_clone( fmt: ?*const ?*anyopaque, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*anyopaque; pub extern "icu" fn umsg_setLocale( fmt: ?*?*anyopaque, locale: ?[*:0]const u8, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn umsg_getLocale( fmt: ?*const ?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn umsg_applyPattern( fmt: ?*?*anyopaque, pattern: ?*const u16, patternLength: i32, parseError: ?*UParseError, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn umsg_toPattern( fmt: ?*const ?*anyopaque, result: ?*u16, resultLength: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn umsg_format( fmt: ?*const ?*anyopaque, result: ?*u16, resultLength: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn umsg_vformat( fmt: ?*const ?*anyopaque, result: ?*u16, resultLength: i32, ap: ?*i8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn umsg_parse( fmt: ?*const ?*anyopaque, source: ?*const u16, sourceLength: i32, count: ?*i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn umsg_vparse( fmt: ?*const ?*anyopaque, source: ?*const u16, sourceLength: i32, count: ?*i32, ap: ?*i8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn umsg_autoQuoteApostrophe( pattern: ?*const u16, patternLength: i32, dest: ?*u16, destCapacity: i32, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn unum_open( style: UNumberFormatStyle, pattern: ?*const u16, patternLength: i32, locale: ?[*:0]const u8, parseErr: ?*UParseError, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*?*anyopaque; pub extern "icu" fn unum_close( fmt: ?*?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn unum_clone( fmt: ?*const ?*anyopaque, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*?*anyopaque; pub extern "icu" fn unum_format( fmt: ?*const ?*anyopaque, number: i32, result: ?*u16, resultLength: i32, pos: ?*UFieldPosition, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn unum_formatInt64( fmt: ?*const ?*anyopaque, number: i64, result: ?*u16, resultLength: i32, pos: ?*UFieldPosition, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn unum_formatDouble( fmt: ?*const ?*anyopaque, number: f64, result: ?*u16, resultLength: i32, pos: ?*UFieldPosition, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn unum_formatDoubleForFields( format: ?*const ?*anyopaque, number: f64, result: ?*u16, resultLength: i32, fpositer: ?*UFieldPositionIterator, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn unum_formatDecimal( fmt: ?*const ?*anyopaque, number: ?[*:0]const u8, length: i32, result: ?*u16, resultLength: i32, pos: ?*UFieldPosition, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn unum_formatDoubleCurrency( fmt: ?*const ?*anyopaque, number: f64, currency: ?*u16, result: ?*u16, resultLength: i32, pos: ?*UFieldPosition, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn unum_formatUFormattable( fmt: ?*const ?*anyopaque, number: ?*const ?*anyopaque, result: ?*u16, resultLength: i32, pos: ?*UFieldPosition, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn unum_parse( fmt: ?*const ?*anyopaque, text: ?*const u16, textLength: i32, parsePos: ?*i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn unum_parseInt64( fmt: ?*const ?*anyopaque, text: ?*const u16, textLength: i32, parsePos: ?*i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i64; pub extern "icu" fn unum_parseDouble( fmt: ?*const ?*anyopaque, text: ?*const u16, textLength: i32, parsePos: ?*i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) f64; pub extern "icu" fn unum_parseDecimal( fmt: ?*const ?*anyopaque, text: ?*const u16, textLength: i32, parsePos: ?*i32, outBuf: ?PSTR, outBufLength: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn unum_parseDoubleCurrency( fmt: ?*const ?*anyopaque, text: ?*const u16, textLength: i32, parsePos: ?*i32, currency: ?*u16, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) f64; pub extern "icu" fn unum_parseToUFormattable( fmt: ?*const ?*anyopaque, result: ?*?*anyopaque, text: ?*const u16, textLength: i32, parsePos: ?*i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*?*anyopaque; pub extern "icu" fn unum_applyPattern( format: ?*?*anyopaque, localized: i8, pattern: ?*const u16, patternLength: i32, parseError: ?*UParseError, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn unum_getAvailable( localeIndex: i32, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn unum_countAvailable( ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn unum_getAttribute( fmt: ?*const ?*anyopaque, attr: UNumberFormatAttribute, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn unum_setAttribute( fmt: ?*?*anyopaque, attr: UNumberFormatAttribute, newValue: i32, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn unum_getDoubleAttribute( fmt: ?*const ?*anyopaque, attr: UNumberFormatAttribute, ) callconv(@import("std").os.windows.WINAPI) f64; pub extern "icu" fn unum_setDoubleAttribute( fmt: ?*?*anyopaque, attr: UNumberFormatAttribute, newValue: f64, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn unum_getTextAttribute( fmt: ?*const ?*anyopaque, tag: UNumberFormatTextAttribute, result: ?*u16, resultLength: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn unum_setTextAttribute( fmt: ?*?*anyopaque, tag: UNumberFormatTextAttribute, newValue: ?*const u16, newValueLength: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn unum_toPattern( fmt: ?*const ?*anyopaque, isPatternLocalized: i8, result: ?*u16, resultLength: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn unum_getSymbol( fmt: ?*const ?*anyopaque, symbol: UNumberFormatSymbol, buffer: ?*u16, size: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn unum_setSymbol( fmt: ?*?*anyopaque, symbol: UNumberFormatSymbol, value: ?*const u16, length: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn unum_getLocaleByType( fmt: ?*const ?*anyopaque, type: ULocDataLocaleType, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn unum_setContext( fmt: ?*?*anyopaque, value: UDisplayContext, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn unum_getContext( fmt: ?*const ?*anyopaque, type: UDisplayContextType, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) UDisplayContext; pub extern "icu" fn udat_toCalendarDateField( field: UDateFormatField, ) callconv(@import("std").os.windows.WINAPI) UCalendarDateFields; pub extern "icu" fn udat_open( timeStyle: UDateFormatStyle, dateStyle: UDateFormatStyle, locale: ?[*:0]const u8, tzID: ?*const u16, tzIDLength: i32, pattern: ?*const u16, patternLength: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*?*anyopaque; pub extern "icu" fn udat_close( format: ?*?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn udat_getBooleanAttribute( fmt: ?*const ?*anyopaque, attr: UDateFormatBooleanAttribute, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn udat_setBooleanAttribute( fmt: ?*?*anyopaque, attr: UDateFormatBooleanAttribute, newValue: i8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn udat_clone( fmt: ?*const ?*anyopaque, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*?*anyopaque; pub extern "icu" fn udat_format( format: ?*const ?*anyopaque, dateToFormat: f64, result: ?*u16, resultLength: i32, position: ?*UFieldPosition, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn udat_formatCalendar( format: ?*const ?*anyopaque, calendar: ?*?*anyopaque, result: ?*u16, capacity: i32, position: ?*UFieldPosition, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn udat_formatForFields( format: ?*const ?*anyopaque, dateToFormat: f64, result: ?*u16, resultLength: i32, fpositer: ?*UFieldPositionIterator, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn udat_formatCalendarForFields( format: ?*const ?*anyopaque, calendar: ?*?*anyopaque, result: ?*u16, capacity: i32, fpositer: ?*UFieldPositionIterator, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn udat_parse( format: ?*const ?*anyopaque, text: ?*const u16, textLength: i32, parsePos: ?*i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) f64; pub extern "icu" fn udat_parseCalendar( format: ?*const ?*anyopaque, calendar: ?*?*anyopaque, text: ?*const u16, textLength: i32, parsePos: ?*i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn udat_isLenient( fmt: ?*const ?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn udat_setLenient( fmt: ?*?*anyopaque, isLenient: i8, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn udat_getCalendar( fmt: ?*const ?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) ?*?*anyopaque; pub extern "icu" fn udat_setCalendar( fmt: ?*?*anyopaque, calendarToSet: ?*const ?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn udat_getNumberFormat( fmt: ?*const ?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) ?*?*anyopaque; pub extern "icu" fn udat_getNumberFormatForField( fmt: ?*const ?*anyopaque, field: u16, ) callconv(@import("std").os.windows.WINAPI) ?*?*anyopaque; pub extern "icu" fn udat_adoptNumberFormatForFields( fmt: ?*?*anyopaque, fields: ?*const u16, numberFormatToSet: ?*?*anyopaque, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn udat_setNumberFormat( fmt: ?*?*anyopaque, numberFormatToSet: ?*const ?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn udat_adoptNumberFormat( fmt: ?*?*anyopaque, numberFormatToAdopt: ?*?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn udat_getAvailable( localeIndex: i32, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn udat_countAvailable( ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn udat_get2DigitYearStart( fmt: ?*const ?*anyopaque, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) f64; pub extern "icu" fn udat_set2DigitYearStart( fmt: ?*?*anyopaque, d: f64, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn udat_toPattern( fmt: ?*const ?*anyopaque, localized: i8, result: ?*u16, resultLength: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn udat_applyPattern( format: ?*?*anyopaque, localized: i8, pattern: ?*const u16, patternLength: i32, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn udat_getSymbols( fmt: ?*const ?*anyopaque, type: UDateFormatSymbolType, symbolIndex: i32, result: ?*u16, resultLength: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn udat_countSymbols( fmt: ?*const ?*anyopaque, type: UDateFormatSymbolType, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn udat_setSymbols( format: ?*?*anyopaque, type: UDateFormatSymbolType, symbolIndex: i32, value: ?*u16, valueLength: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn udat_getLocaleByType( fmt: ?*const ?*anyopaque, type: ULocDataLocaleType, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn udat_setContext( fmt: ?*?*anyopaque, value: UDisplayContext, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn udat_getContext( fmt: ?*const ?*anyopaque, type: UDisplayContextType, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) UDisplayContext; pub extern "icu" fn udatpg_open( locale: ?[*:0]const u8, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*?*anyopaque; pub extern "icu" fn udatpg_openEmpty( pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*?*anyopaque; pub extern "icu" fn udatpg_close( dtpg: ?*?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn udatpg_clone( dtpg: ?*const ?*anyopaque, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*?*anyopaque; pub extern "icu" fn udatpg_getBestPattern( dtpg: ?*?*anyopaque, skeleton: ?*const u16, length: i32, bestPattern: ?*u16, capacity: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn udatpg_getBestPatternWithOptions( dtpg: ?*?*anyopaque, skeleton: ?*const u16, length: i32, options: UDateTimePatternMatchOptions, bestPattern: ?*u16, capacity: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn udatpg_getSkeleton( unusedDtpg: ?*?*anyopaque, pattern: ?*const u16, length: i32, skeleton: ?*u16, capacity: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn udatpg_getBaseSkeleton( unusedDtpg: ?*?*anyopaque, pattern: ?*const u16, length: i32, baseSkeleton: ?*u16, capacity: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn udatpg_addPattern( dtpg: ?*?*anyopaque, pattern: ?*const u16, patternLength: i32, override: i8, conflictingPattern: ?*u16, capacity: i32, pLength: ?*i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) UDateTimePatternConflict; pub extern "icu" fn udatpg_setAppendItemFormat( dtpg: ?*?*anyopaque, field: UDateTimePatternField, value: ?*const u16, length: i32, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn udatpg_getAppendItemFormat( dtpg: ?*const ?*anyopaque, field: UDateTimePatternField, pLength: ?*i32, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn udatpg_setAppendItemName( dtpg: ?*?*anyopaque, field: UDateTimePatternField, value: ?*const u16, length: i32, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn udatpg_getAppendItemName( dtpg: ?*const ?*anyopaque, field: UDateTimePatternField, pLength: ?*i32, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn udatpg_getFieldDisplayName( dtpg: ?*const ?*anyopaque, field: UDateTimePatternField, width: UDateTimePGDisplayWidth, fieldName: ?*u16, capacity: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn udatpg_setDateTimeFormat( dtpg: ?*const ?*anyopaque, dtFormat: ?*const u16, length: i32, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn udatpg_getDateTimeFormat( dtpg: ?*const ?*anyopaque, pLength: ?*i32, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn udatpg_setDecimal( dtpg: ?*?*anyopaque, decimal: ?*const u16, length: i32, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn udatpg_getDecimal( dtpg: ?*const ?*anyopaque, pLength: ?*i32, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn udatpg_replaceFieldTypes( dtpg: ?*?*anyopaque, pattern: ?*const u16, patternLength: i32, skeleton: ?*const u16, skeletonLength: i32, dest: ?*u16, destCapacity: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn udatpg_replaceFieldTypesWithOptions( dtpg: ?*?*anyopaque, pattern: ?*const u16, patternLength: i32, skeleton: ?*const u16, skeletonLength: i32, options: UDateTimePatternMatchOptions, dest: ?*u16, destCapacity: i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn udatpg_openSkeletons( dtpg: ?*const ?*anyopaque, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UEnumeration; pub extern "icu" fn udatpg_openBaseSkeletons( dtpg: ?*const ?*anyopaque, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UEnumeration; pub extern "icu" fn udatpg_getPatternForSkeleton( dtpg: ?*const ?*anyopaque, skeleton: ?*const u16, skeletonLength: i32, pLength: ?*i32, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn unumf_openForSkeletonAndLocale( skeleton: ?*const u16, skeletonLen: i32, locale: ?[*:0]const u8, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UNumberFormatter; pub extern "icu" fn unumf_openForSkeletonAndLocaleWithError( skeleton: ?*const u16, skeletonLen: i32, locale: ?[*:0]const u8, perror: ?*UParseError, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UNumberFormatter; pub extern "icu" fn unumf_openResult( ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UFormattedNumber; pub extern "icu" fn unumf_formatInt( uformatter: ?*const UNumberFormatter, value: i64, uresult: ?*UFormattedNumber, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn unumf_formatDouble( uformatter: ?*const UNumberFormatter, value: f64, uresult: ?*UFormattedNumber, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn unumf_formatDecimal( uformatter: ?*const UNumberFormatter, value: ?[*:0]const u8, valueLen: i32, uresult: ?*UFormattedNumber, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn unumf_resultAsValue( uresult: ?*const UFormattedNumber, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UFormattedValue; pub extern "icu" fn unumf_resultToString( uresult: ?*const UFormattedNumber, buffer: ?*u16, bufferCapacity: i32, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn unumf_resultNextFieldPosition( uresult: ?*const UFormattedNumber, ufpos: ?*UFieldPosition, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn unumf_resultGetAllFieldPositions( uresult: ?*const UFormattedNumber, ufpositer: ?*UFieldPositionIterator, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn unumf_close( uformatter: ?*UNumberFormatter, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn unumf_closeResult( uresult: ?*UFormattedNumber, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn unumsys_open( locale: ?[*:0]const u8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UNumberingSystem; pub extern "icu" fn unumsys_openByName( name: ?[*:0]const u8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UNumberingSystem; pub extern "icu" fn unumsys_close( unumsys: ?*UNumberingSystem, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn unumsys_openAvailableNames( status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UEnumeration; pub extern "icu" fn unumsys_getName( unumsys: ?*const UNumberingSystem, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn unumsys_isAlgorithmic( unumsys: ?*const UNumberingSystem, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn unumsys_getRadix( unumsys: ?*const UNumberingSystem, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn unumsys_getDescription( unumsys: ?*const UNumberingSystem, result: ?*u16, resultLength: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uplrules_open( locale: ?[*:0]const u8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UPluralRules; pub extern "icu" fn uplrules_openForType( locale: ?[*:0]const u8, type: UPluralType, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UPluralRules; pub extern "icu" fn uplrules_close( uplrules: ?*UPluralRules, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uplrules_select( uplrules: ?*const UPluralRules, number: f64, keyword: ?*u16, capacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uplrules_selectFormatted( uplrules: ?*const UPluralRules, number: ?*const UFormattedNumber, keyword: ?*u16, capacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uplrules_getKeywords( uplrules: ?*const UPluralRules, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UEnumeration; pub extern "icu" fn uregex_open( pattern: ?*const u16, patternLength: i32, flags: u32, pe: ?*UParseError, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*URegularExpression; pub extern "icu" fn uregex_openUText( pattern: ?*UText, flags: u32, pe: ?*UParseError, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*URegularExpression; pub extern "icu" fn uregex_openC( pattern: ?[*:0]const u8, flags: u32, pe: ?*UParseError, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*URegularExpression; pub extern "icu" fn uregex_close( regexp: ?*URegularExpression, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uregex_clone( regexp: ?*const URegularExpression, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*URegularExpression; pub extern "icu" fn uregex_pattern( regexp: ?*const URegularExpression, patLength: ?*i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn uregex_patternUText( regexp: ?*const URegularExpression, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UText; pub extern "icu" fn uregex_flags( regexp: ?*const URegularExpression, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uregex_setText( regexp: ?*URegularExpression, text: ?*const u16, textLength: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uregex_setUText( regexp: ?*URegularExpression, text: ?*UText, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uregex_getText( regexp: ?*URegularExpression, textLength: ?*i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn uregex_getUText( regexp: ?*URegularExpression, dest: ?*UText, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UText; pub extern "icu" fn uregex_refreshUText( regexp: ?*URegularExpression, text: ?*UText, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uregex_matches( regexp: ?*URegularExpression, startIndex: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn uregex_matches64( regexp: ?*URegularExpression, startIndex: i64, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn uregex_lookingAt( regexp: ?*URegularExpression, startIndex: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn uregex_lookingAt64( regexp: ?*URegularExpression, startIndex: i64, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn uregex_find( regexp: ?*URegularExpression, startIndex: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn uregex_find64( regexp: ?*URegularExpression, startIndex: i64, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn uregex_findNext( regexp: ?*URegularExpression, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn uregex_groupCount( regexp: ?*URegularExpression, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uregex_groupNumberFromName( regexp: ?*URegularExpression, groupName: ?*const u16, nameLength: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uregex_groupNumberFromCName( regexp: ?*URegularExpression, groupName: ?[*:0]const u8, nameLength: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uregex_group( regexp: ?*URegularExpression, groupNum: i32, dest: ?*u16, destCapacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uregex_groupUText( regexp: ?*URegularExpression, groupNum: i32, dest: ?*UText, groupLength: ?*i64, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UText; pub extern "icu" fn uregex_start( regexp: ?*URegularExpression, groupNum: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uregex_start64( regexp: ?*URegularExpression, groupNum: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i64; pub extern "icu" fn uregex_end( regexp: ?*URegularExpression, groupNum: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uregex_end64( regexp: ?*URegularExpression, groupNum: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i64; pub extern "icu" fn uregex_reset( regexp: ?*URegularExpression, index: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uregex_reset64( regexp: ?*URegularExpression, index: i64, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uregex_setRegion( regexp: ?*URegularExpression, regionStart: i32, regionLimit: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uregex_setRegion64( regexp: ?*URegularExpression, regionStart: i64, regionLimit: i64, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uregex_setRegionAndStart( regexp: ?*URegularExpression, regionStart: i64, regionLimit: i64, startIndex: i64, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uregex_regionStart( regexp: ?*const URegularExpression, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uregex_regionStart64( regexp: ?*const URegularExpression, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i64; pub extern "icu" fn uregex_regionEnd( regexp: ?*const URegularExpression, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uregex_regionEnd64( regexp: ?*const URegularExpression, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i64; pub extern "icu" fn uregex_hasTransparentBounds( regexp: ?*const URegularExpression, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn uregex_useTransparentBounds( regexp: ?*URegularExpression, b: i8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uregex_hasAnchoringBounds( regexp: ?*const URegularExpression, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn uregex_useAnchoringBounds( regexp: ?*URegularExpression, b: i8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uregex_hitEnd( regexp: ?*const URegularExpression, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn uregex_requireEnd( regexp: ?*const URegularExpression, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn uregex_replaceAll( regexp: ?*URegularExpression, replacementText: ?*const u16, replacementLength: i32, destBuf: ?*u16, destCapacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uregex_replaceAllUText( regexp: ?*URegularExpression, replacement: ?*UText, dest: ?*UText, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UText; pub extern "icu" fn uregex_replaceFirst( regexp: ?*URegularExpression, replacementText: ?*const u16, replacementLength: i32, destBuf: ?*u16, destCapacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uregex_replaceFirstUText( regexp: ?*URegularExpression, replacement: ?*UText, dest: ?*UText, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UText; pub extern "icu" fn uregex_appendReplacement( regexp: ?*URegularExpression, replacementText: ?*const u16, replacementLength: i32, destBuf: ?*?*u16, destCapacity: ?*i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uregex_appendReplacementUText( regexp: ?*URegularExpression, replacementText: ?*UText, dest: ?*UText, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uregex_appendTail( regexp: ?*URegularExpression, destBuf: ?*?*u16, destCapacity: ?*i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uregex_appendTailUText( regexp: ?*URegularExpression, dest: ?*UText, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UText; pub extern "icu" fn uregex_split( regexp: ?*URegularExpression, destBuf: ?*u16, destCapacity: i32, requiredCapacity: ?*i32, destFields: ?*?*u16, destFieldsCapacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uregex_splitUText( regexp: ?*URegularExpression, destFields: ?*?*UText, destFieldsCapacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uregex_setTimeLimit( regexp: ?*URegularExpression, limit: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uregex_getTimeLimit( regexp: ?*const URegularExpression, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uregex_setStackLimit( regexp: ?*URegularExpression, limit: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uregex_getStackLimit( regexp: ?*const URegularExpression, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uregex_setMatchCallback( regexp: ?*URegularExpression, callback: ?URegexMatchCallback, context: ?*const anyopaque, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uregex_getMatchCallback( regexp: ?*const URegularExpression, callback: ?*?URegexMatchCallback, context: ?*const ?*anyopaque, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uregex_setFindProgressCallback( regexp: ?*URegularExpression, callback: ?URegexFindProgressCallback, context: ?*const anyopaque, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uregex_getFindProgressCallback( regexp: ?*const URegularExpression, callback: ?*?URegexFindProgressCallback, context: ?*const ?*anyopaque, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uregion_getRegionFromCode( regionCode: ?[*:0]const u8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*URegion; pub extern "icu" fn uregion_getRegionFromNumericCode( code: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*URegion; pub extern "icu" fn uregion_getAvailable( type: URegionType, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UEnumeration; pub extern "icu" fn uregion_areEqual( uregion: ?*const URegion, otherRegion: ?*const URegion, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn uregion_getContainingRegion( uregion: ?*const URegion, ) callconv(@import("std").os.windows.WINAPI) ?*URegion; pub extern "icu" fn uregion_getContainingRegionOfType( uregion: ?*const URegion, type: URegionType, ) callconv(@import("std").os.windows.WINAPI) ?*URegion; pub extern "icu" fn uregion_getContainedRegions( uregion: ?*const URegion, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UEnumeration; pub extern "icu" fn uregion_getContainedRegionsOfType( uregion: ?*const URegion, type: URegionType, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UEnumeration; pub extern "icu" fn uregion_contains( uregion: ?*const URegion, otherRegion: ?*const URegion, ) callconv(@import("std").os.windows.WINAPI) i8; pub extern "icu" fn uregion_getPreferredValues( uregion: ?*const URegion, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UEnumeration; pub extern "icu" fn uregion_getRegionCode( uregion: ?*const URegion, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn uregion_getNumericCode( uregion: ?*const URegion, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uregion_getType( uregion: ?*const URegion, ) callconv(@import("std").os.windows.WINAPI) URegionType; pub extern "icu" fn ureldatefmt_open( locale: ?[*:0]const u8, nfToAdopt: ?*?*anyopaque, width: UDateRelativeDateTimeFormatterStyle, capitalizationContext: UDisplayContext, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*URelativeDateTimeFormatter; pub extern "icu" fn ureldatefmt_close( reldatefmt: ?*URelativeDateTimeFormatter, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ureldatefmt_openResult( ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UFormattedRelativeDateTime; pub extern "icu" fn ureldatefmt_resultAsValue( ufrdt: ?*const UFormattedRelativeDateTime, ec: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UFormattedValue; pub extern "icu" fn ureldatefmt_closeResult( ufrdt: ?*UFormattedRelativeDateTime, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ureldatefmt_formatNumeric( reldatefmt: ?*const URelativeDateTimeFormatter, offset: f64, unit: URelativeDateTimeUnit, result: ?*u16, resultCapacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ureldatefmt_formatNumericToResult( reldatefmt: ?*const URelativeDateTimeFormatter, offset: f64, unit: URelativeDateTimeUnit, result: ?*UFormattedRelativeDateTime, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ureldatefmt_format( reldatefmt: ?*const URelativeDateTimeFormatter, offset: f64, unit: URelativeDateTimeUnit, result: ?*u16, resultCapacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn ureldatefmt_formatToResult( reldatefmt: ?*const URelativeDateTimeFormatter, offset: f64, unit: URelativeDateTimeUnit, result: ?*UFormattedRelativeDateTime, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn ureldatefmt_combineDateAndTime( reldatefmt: ?*const URelativeDateTimeFormatter, relativeDateString: ?*const u16, relativeDateStringLen: i32, timeString: ?*const u16, timeStringLen: i32, result: ?*u16, resultCapacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn usearch_open( pattern: ?*const u16, patternlength: i32, text: ?*const u16, textlength: i32, locale: ?[*:0]const u8, breakiter: ?*UBreakIterator, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UStringSearch; pub extern "icu" fn usearch_openFromCollator( pattern: ?*const u16, patternlength: i32, text: ?*const u16, textlength: i32, collator: ?*const UCollator, breakiter: ?*UBreakIterator, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UStringSearch; pub extern "icu" fn usearch_close( searchiter: ?*UStringSearch, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn usearch_setOffset( strsrch: ?*UStringSearch, position: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn usearch_getOffset( strsrch: ?*const UStringSearch, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn usearch_setAttribute( strsrch: ?*UStringSearch, attribute: USearchAttribute, value: USearchAttributeValue, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn usearch_getAttribute( strsrch: ?*const UStringSearch, attribute: USearchAttribute, ) callconv(@import("std").os.windows.WINAPI) USearchAttributeValue; pub extern "icu" fn usearch_getMatchedStart( strsrch: ?*const UStringSearch, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn usearch_getMatchedLength( strsrch: ?*const UStringSearch, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn usearch_getMatchedText( strsrch: ?*const UStringSearch, result: ?*u16, resultCapacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn usearch_setBreakIterator( strsrch: ?*UStringSearch, breakiter: ?*UBreakIterator, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn usearch_getBreakIterator( strsrch: ?*const UStringSearch, ) callconv(@import("std").os.windows.WINAPI) ?*UBreakIterator; pub extern "icu" fn usearch_setText( strsrch: ?*UStringSearch, text: ?*const u16, textlength: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn usearch_getText( strsrch: ?*const UStringSearch, length: ?*i32, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn usearch_getCollator( strsrch: ?*const UStringSearch, ) callconv(@import("std").os.windows.WINAPI) ?*UCollator; pub extern "icu" fn usearch_setCollator( strsrch: ?*UStringSearch, collator: ?*const UCollator, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn usearch_setPattern( strsrch: ?*UStringSearch, pattern: ?*const u16, patternlength: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn usearch_getPattern( strsrch: ?*const UStringSearch, length: ?*i32, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn usearch_first( strsrch: ?*UStringSearch, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn usearch_following( strsrch: ?*UStringSearch, position: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn usearch_last( strsrch: ?*UStringSearch, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn usearch_preceding( strsrch: ?*UStringSearch, position: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn usearch_next( strsrch: ?*UStringSearch, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn usearch_previous( strsrch: ?*UStringSearch, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn usearch_reset( strsrch: ?*UStringSearch, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uspoof_open( status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*USpoofChecker; pub extern "icu" fn uspoof_openFromSerialized( data: ?*const anyopaque, length: i32, pActualLength: ?*i32, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*USpoofChecker; pub extern "icu" fn uspoof_openFromSource( confusables: ?[*:0]const u8, confusablesLen: i32, confusablesWholeScript: ?[*:0]const u8, confusablesWholeScriptLen: i32, errType: ?*i32, pe: ?*UParseError, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*USpoofChecker; pub extern "icu" fn uspoof_close( sc: ?*USpoofChecker, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uspoof_clone( sc: ?*const USpoofChecker, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*USpoofChecker; pub extern "icu" fn uspoof_setChecks( sc: ?*USpoofChecker, checks: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uspoof_getChecks( sc: ?*const USpoofChecker, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uspoof_setRestrictionLevel( sc: ?*USpoofChecker, restrictionLevel: URestrictionLevel, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uspoof_getRestrictionLevel( sc: ?*const USpoofChecker, ) callconv(@import("std").os.windows.WINAPI) URestrictionLevel; pub extern "icu" fn uspoof_setAllowedLocales( sc: ?*USpoofChecker, localesList: ?[*:0]const u8, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uspoof_getAllowedLocales( sc: ?*USpoofChecker, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; pub extern "icu" fn uspoof_setAllowedChars( sc: ?*USpoofChecker, chars: ?*const USet, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uspoof_getAllowedChars( sc: ?*const USpoofChecker, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*USet; pub extern "icu" fn uspoof_check( sc: ?*const USpoofChecker, id: ?*const u16, length: i32, position: ?*i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uspoof_checkUTF8( sc: ?*const USpoofChecker, id: ?[*:0]const u8, length: i32, position: ?*i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uspoof_check2( sc: ?*const USpoofChecker, id: ?*const u16, length: i32, checkResult: ?*USpoofCheckResult, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uspoof_check2UTF8( sc: ?*const USpoofChecker, id: ?[*:0]const u8, length: i32, checkResult: ?*USpoofCheckResult, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uspoof_openCheckResult( status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*USpoofCheckResult; pub extern "icu" fn uspoof_closeCheckResult( checkResult: ?*USpoofCheckResult, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn uspoof_getCheckResultChecks( checkResult: ?*const USpoofCheckResult, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uspoof_getCheckResultRestrictionLevel( checkResult: ?*const USpoofCheckResult, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) URestrictionLevel; pub extern "icu" fn uspoof_getCheckResultNumerics( checkResult: ?*const USpoofCheckResult, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*USet; pub extern "icu" fn uspoof_areConfusable( sc: ?*const USpoofChecker, id1: ?*const u16, length1: i32, id2: ?*const u16, length2: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uspoof_areConfusableUTF8( sc: ?*const USpoofChecker, id1: ?[*:0]const u8, length1: i32, id2: ?[*:0]const u8, length2: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uspoof_getSkeleton( sc: ?*const USpoofChecker, type: u32, id: ?*const u16, length: i32, dest: ?*u16, destCapacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uspoof_getSkeletonUTF8( sc: ?*const USpoofChecker, type: u32, id: ?[*:0]const u8, length: i32, dest: ?PSTR, destCapacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn uspoof_getInclusionSet( status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*USet; pub extern "icu" fn uspoof_getRecommendedSet( status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*USet; pub extern "icu" fn uspoof_serialize( sc: ?*USpoofChecker, data: ?*anyopaque, capacity: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn utmscale_getTimeScaleValue( timeScale: UDateTimeScale, value: UTimeScaleValue, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i64; pub extern "icu" fn utmscale_fromInt64( otherTime: i64, timeScale: UDateTimeScale, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i64; pub extern "icu" fn utmscale_toInt64( universalTime: i64, timeScale: UDateTimeScale, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i64; pub extern "icu" fn utrans_openU( id: ?*const u16, idLength: i32, dir: UTransDirection, rules: ?*const u16, rulesLength: i32, parseError: ?*UParseError, pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*?*anyopaque; pub extern "icu" fn utrans_openInverse( trans: ?*const ?*anyopaque, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*?*anyopaque; pub extern "icu" fn utrans_clone( trans: ?*const ?*anyopaque, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*?*anyopaque; pub extern "icu" fn utrans_close( trans: ?*?*anyopaque, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn utrans_getUnicodeID( trans: ?*const ?*anyopaque, resultLength: ?*i32, ) callconv(@import("std").os.windows.WINAPI) ?*u16; pub extern "icu" fn utrans_register( adoptedTrans: ?*?*anyopaque, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn utrans_unregisterID( id: ?*const u16, idLength: i32, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn utrans_setFilter( trans: ?*?*anyopaque, filterPattern: ?*const u16, filterPatternLen: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn utrans_countAvailableIDs( ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn utrans_openIDs( pErrorCode: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*UEnumeration; pub extern "icu" fn utrans_trans( trans: ?*const ?*anyopaque, rep: ?*?*anyopaque, repFunc: ?*const UReplaceableCallbacks, start: i32, limit: ?*i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn utrans_transIncremental( trans: ?*const ?*anyopaque, rep: ?*?*anyopaque, repFunc: ?*const UReplaceableCallbacks, pos: ?*UTransPosition, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn utrans_transUChars( trans: ?*const ?*anyopaque, text: ?*u16, textLength: ?*i32, textCapacity: i32, start: i32, limit: ?*i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn utrans_transIncrementalUChars( trans: ?*const ?*anyopaque, text: ?*u16, textLength: ?*i32, textCapacity: i32, pos: ?*UTransPosition, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) void; pub extern "icu" fn utrans_toRules( trans: ?*const ?*anyopaque, escapeUnprintable: i8, result: ?*u16, resultLength: i32, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) i32; pub extern "icu" fn utrans_getSourceSet( trans: ?*const ?*anyopaque, ignoreFilter: i8, fillIn: ?*USet, status: ?*UErrorCode, ) callconv(@import("std").os.windows.WINAPI) ?*USet; pub extern "bcp47mrm" fn GetDistanceOfClosestLanguageInList( pszLanguage: ?[*:0]const u16, pszLanguagesList: ?[*:0]const u16, wchListDelimiter: u16, pClosestDistance: ?*f64, ) callconv(@import("std").os.windows.WINAPI) HRESULT; pub extern "bcp47mrm" fn IsWellFormedTag( pszTag: ?[*:0]const u16, ) callconv(@import("std").os.windows.WINAPI) u8; // TODO: this type is limited to platform 'windows6.1' pub extern "kernel32" fn FindStringOrdinal( dwFindStringOrdinalFlags: u32, lpStringSource: [*:0]const u16, cchSource: i32, lpStringValue: [*:0]const u16, cchValue: i32, bIgnoreCase: BOOL, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn lstrcmpA( lpString1: ?[*:0]const u8, lpString2: ?[*:0]const u8, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn lstrcmpW( lpString1: ?[*:0]const u16, lpString2: ?[*:0]const u16, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn lstrcmpiA( lpString1: ?[*:0]const u8, lpString2: ?[*:0]const u8, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn lstrcmpiW( lpString1: ?[*:0]const u16, lpString2: ?[*:0]const u16, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn lstrcpynA( lpString1: [*:0]u8, lpString2: ?[*:0]const u8, iMaxLength: i32, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn lstrcpynW( lpString1: [*:0]u16, lpString2: ?[*:0]const u16, iMaxLength: i32, ) callconv(@import("std").os.windows.WINAPI) ?PWSTR; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn lstrcpyA( lpString1: ?PSTR, lpString2: ?[*:0]const u8, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn lstrcpyW( lpString1: ?PWSTR, lpString2: ?[*:0]const u16, ) callconv(@import("std").os.windows.WINAPI) ?PWSTR; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn lstrcatA( lpString1: ?PSTR, lpString2: ?[*:0]const u8, ) callconv(@import("std").os.windows.WINAPI) ?PSTR; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn lstrcatW( lpString1: ?PWSTR, lpString2: ?[*:0]const u16, ) callconv(@import("std").os.windows.WINAPI) ?PWSTR; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn lstrlenA( lpString: ?[*:0]const u8, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.0' pub extern "kernel32" fn lstrlenW( lpString: ?[*:0]const u16, ) callconv(@import("std").os.windows.WINAPI) i32; // TODO: this type is limited to platform 'windows5.0' pub extern "advapi32" fn IsTextUnicode( // TODO: what to do with BytesParamIndex 1? lpv: ?*const anyopaque, iSize: i32, lpiResult: ?*IS_TEXT_UNICODE_RESULT, ) callconv(@import("std").os.windows.WINAPI) BOOL; //-------------------------------------------------------------------------------- // Section: Unicode Aliases (47) //-------------------------------------------------------------------------------- const thismodule = @This(); pub usingnamespace switch (@import("zig.zig").unicode_mode) { .ansi => struct { pub const NEWTEXTMETRICEX = thismodule.NEWTEXTMETRICEXA; pub const ENUMTEXTMETRIC = thismodule.ENUMTEXTMETRICA; pub const CPINFOEX = thismodule.CPINFOEXA; pub const NUMBERFMT = thismodule.NUMBERFMTA; pub const CURRENCYFMT = thismodule.CURRENCYFMTA; pub const LOCALE_ENUMPROC = thismodule.LOCALE_ENUMPROCA; pub const LANGUAGEGROUP_ENUMPROC = thismodule.LANGUAGEGROUP_ENUMPROCA; pub const LANGGROUPLOCALE_ENUMPROC = thismodule.LANGGROUPLOCALE_ENUMPROCA; pub const UILANGUAGE_ENUMPROC = thismodule.UILANGUAGE_ENUMPROCA; pub const CODEPAGE_ENUMPROC = thismodule.CODEPAGE_ENUMPROCA; pub const DATEFMT_ENUMPROC = thismodule.DATEFMT_ENUMPROCA; pub const DATEFMT_ENUMPROCEX = thismodule.DATEFMT_ENUMPROCEXA; pub const TIMEFMT_ENUMPROC = thismodule.TIMEFMT_ENUMPROCA; pub const CALINFO_ENUMPROC = thismodule.CALINFO_ENUMPROCA; pub const CALINFO_ENUMPROCEX = thismodule.CALINFO_ENUMPROCEXA; pub const IMLangStringBuf = thismodule.IMLangStringBufA; pub const GetDateFormat = thismodule.GetDateFormatA; pub const GetTimeFormat = thismodule.GetTimeFormatA; pub const CompareString = thismodule.CompareStringA; pub const FoldString = thismodule.FoldStringA; pub const GetStringTypeEx = thismodule.GetStringTypeExA; pub const GetStringType = thismodule.GetStringTypeA; pub const GetCPInfoEx = thismodule.GetCPInfoExA; pub const LCMapString = thismodule.LCMapStringA; pub const GetLocaleInfo = thismodule.GetLocaleInfoA; pub const SetLocaleInfo = thismodule.SetLocaleInfoA; pub const GetCalendarInfo = thismodule.GetCalendarInfoA; pub const SetCalendarInfo = thismodule.SetCalendarInfoA; pub const GetNumberFormat = thismodule.GetNumberFormatA; pub const GetCurrencyFormat = thismodule.GetCurrencyFormatA; pub const EnumCalendarInfo = thismodule.EnumCalendarInfoA; pub const EnumCalendarInfoEx = thismodule.EnumCalendarInfoExA; pub const EnumTimeFormats = thismodule.EnumTimeFormatsA; pub const EnumDateFormats = thismodule.EnumDateFormatsA; pub const EnumDateFormatsEx = thismodule.EnumDateFormatsExA; pub const GetGeoInfo = thismodule.GetGeoInfoA; pub const EnumSystemLocales = thismodule.EnumSystemLocalesA; pub const EnumSystemLanguageGroups = thismodule.EnumSystemLanguageGroupsA; pub const EnumLanguageGroupLocales = thismodule.EnumLanguageGroupLocalesA; pub const EnumUILanguages = thismodule.EnumUILanguagesA; pub const EnumSystemCodePages = thismodule.EnumSystemCodePagesA; pub const lstrcmp = thismodule.lstrcmpA; pub const lstrcmpi = thismodule.lstrcmpiA; pub const lstrcpyn = thismodule.lstrcpynA; pub const lstrcpy = thismodule.lstrcpyA; pub const lstrcat = thismodule.lstrcatA; pub const lstrlen = thismodule.lstrlenA; }, .wide => struct { pub const NEWTEXTMETRICEX = thismodule.NEWTEXTMETRICEXW; pub const ENUMTEXTMETRIC = thismodule.ENUMTEXTMETRICW; pub const CPINFOEX = thismodule.CPINFOEXW; pub const NUMBERFMT = thismodule.NUMBERFMTW; pub const CURRENCYFMT = thismodule.CURRENCYFMTW; pub const LOCALE_ENUMPROC = thismodule.LOCALE_ENUMPROCW; pub const LANGUAGEGROUP_ENUMPROC = thismodule.LANGUAGEGROUP_ENUMPROCW; pub const LANGGROUPLOCALE_ENUMPROC = thismodule.LANGGROUPLOCALE_ENUMPROCW; pub const UILANGUAGE_ENUMPROC = thismodule.UILANGUAGE_ENUMPROCW; pub const CODEPAGE_ENUMPROC = thismodule.CODEPAGE_ENUMPROCW; pub const DATEFMT_ENUMPROC = thismodule.DATEFMT_ENUMPROCW; pub const DATEFMT_ENUMPROCEX = thismodule.DATEFMT_ENUMPROCEXW; pub const TIMEFMT_ENUMPROC = thismodule.TIMEFMT_ENUMPROCW; pub const CALINFO_ENUMPROC = thismodule.CALINFO_ENUMPROCW; pub const CALINFO_ENUMPROCEX = thismodule.CALINFO_ENUMPROCEXW; pub const IMLangStringBuf = thismodule.IMLangStringBufW; pub const GetDateFormat = thismodule.GetDateFormatW; pub const GetTimeFormat = thismodule.GetTimeFormatW; pub const CompareString = thismodule.CompareStringW; pub const FoldString = thismodule.FoldStringW; pub const GetStringTypeEx = thismodule.GetStringTypeExW; pub const GetStringType = thismodule.GetStringTypeW; pub const GetCPInfoEx = thismodule.GetCPInfoExW; pub const LCMapString = thismodule.LCMapStringW; pub const GetLocaleInfo = thismodule.GetLocaleInfoW; pub const SetLocaleInfo = thismodule.SetLocaleInfoW; pub const GetCalendarInfo = thismodule.GetCalendarInfoW; pub const SetCalendarInfo = thismodule.SetCalendarInfoW; pub const GetNumberFormat = thismodule.GetNumberFormatW; pub const GetCurrencyFormat = thismodule.GetCurrencyFormatW; pub const EnumCalendarInfo = thismodule.EnumCalendarInfoW; pub const EnumCalendarInfoEx = thismodule.EnumCalendarInfoExW; pub const EnumTimeFormats = thismodule.EnumTimeFormatsW; pub const EnumDateFormats = thismodule.EnumDateFormatsW; pub const EnumDateFormatsEx = thismodule.EnumDateFormatsExW; pub const GetGeoInfo = thismodule.GetGeoInfoW; pub const EnumSystemLocales = thismodule.EnumSystemLocalesW; pub const EnumSystemLanguageGroups = thismodule.EnumSystemLanguageGroupsW; pub const EnumLanguageGroupLocales = thismodule.EnumLanguageGroupLocalesW; pub const EnumUILanguages = thismodule.EnumUILanguagesW; pub const EnumSystemCodePages = thismodule.EnumSystemCodePagesW; pub const lstrcmp = thismodule.lstrcmpW; pub const lstrcmpi = thismodule.lstrcmpiW; pub const lstrcpyn = thismodule.lstrcpynW; pub const lstrcpy = thismodule.lstrcpyW; pub const lstrcat = thismodule.lstrcatW; pub const lstrlen = thismodule.lstrlenW; }, .unspecified => if (@import("builtin").is_test) struct { pub const NEWTEXTMETRICEX = *opaque{}; pub const ENUMTEXTMETRIC = *opaque{}; pub const CPINFOEX = *opaque{}; pub const NUMBERFMT = *opaque{}; pub const CURRENCYFMT = *opaque{}; pub const LOCALE_ENUMPROC = *opaque{}; pub const LANGUAGEGROUP_ENUMPROC = *opaque{}; pub const LANGGROUPLOCALE_ENUMPROC = *opaque{}; pub const UILANGUAGE_ENUMPROC = *opaque{}; pub const CODEPAGE_ENUMPROC = *opaque{}; pub const DATEFMT_ENUMPROC = *opaque{}; pub const DATEFMT_ENUMPROCEX = *opaque{}; pub const TIMEFMT_ENUMPROC = *opaque{}; pub const CALINFO_ENUMPROC = *opaque{}; pub const CALINFO_ENUMPROCEX = *opaque{}; pub const IMLangStringBuf = *opaque{}; pub const GetDateFormat = *opaque{}; pub const GetTimeFormat = *opaque{}; pub const CompareString = *opaque{}; pub const FoldString = *opaque{}; pub const GetStringTypeEx = *opaque{}; pub const GetStringType = *opaque{}; pub const GetCPInfoEx = *opaque{}; pub const LCMapString = *opaque{}; pub const GetLocaleInfo = *opaque{}; pub const SetLocaleInfo = *opaque{}; pub const GetCalendarInfo = *opaque{}; pub const SetCalendarInfo = *opaque{}; pub const GetNumberFormat = *opaque{}; pub const GetCurrencyFormat = *opaque{}; pub const EnumCalendarInfo = *opaque{}; pub const EnumCalendarInfoEx = *opaque{}; pub const EnumTimeFormats = *opaque{}; pub const EnumDateFormats = *opaque{}; pub const EnumDateFormatsEx = *opaque{}; pub const GetGeoInfo = *opaque{}; pub const EnumSystemLocales = *opaque{}; pub const EnumSystemLanguageGroups = *opaque{}; pub const EnumLanguageGroupLocales = *opaque{}; pub const EnumUILanguages = *opaque{}; pub const EnumSystemCodePages = *opaque{}; pub const lstrcmp = *opaque{}; pub const lstrcmpi = *opaque{}; pub const lstrcpyn = *opaque{}; pub const lstrcpy = *opaque{}; pub const lstrcat = *opaque{}; pub const lstrlen = *opaque{}; } else struct { pub const NEWTEXTMETRICEX = @compileError("'NEWTEXTMETRICEX' requires that UNICODE be set to true or false in the root module"); pub const ENUMTEXTMETRIC = @compileError("'ENUMTEXTMETRIC' requires that UNICODE be set to true or false in the root module"); pub const CPINFOEX = @compileError("'CPINFOEX' requires that UNICODE be set to true or false in the root module"); pub const NUMBERFMT = @compileError("'NUMBERFMT' requires that UNICODE be set to true or false in the root module"); pub const CURRENCYFMT = @compileError("'CURRENCYFMT' requires that UNICODE be set to true or false in the root module"); pub const LOCALE_ENUMPROC = @compileError("'LOCALE_ENUMPROC' requires that UNICODE be set to true or false in the root module"); pub const LANGUAGEGROUP_ENUMPROC = @compileError("'LANGUAGEGROUP_ENUMPROC' requires that UNICODE be set to true or false in the root module"); pub const LANGGROUPLOCALE_ENUMPROC = @compileError("'LANGGROUPLOCALE_ENUMPROC' requires that UNICODE be set to true or false in the root module"); pub const UILANGUAGE_ENUMPROC = @compileError("'UILANGUAGE_ENUMPROC' requires that UNICODE be set to true or false in the root module"); pub const CODEPAGE_ENUMPROC = @compileError("'CODEPAGE_ENUMPROC' requires that UNICODE be set to true or false in the root module"); pub const DATEFMT_ENUMPROC = @compileError("'DATEFMT_ENUMPROC' requires that UNICODE be set to true or false in the root module"); pub const DATEFMT_ENUMPROCEX = @compileError("'DATEFMT_ENUMPROCEX' requires that UNICODE be set to true or false in the root module"); pub const TIMEFMT_ENUMPROC = @compileError("'TIMEFMT_ENUMPROC' requires that UNICODE be set to true or false in the root module"); pub const CALINFO_ENUMPROC = @compileError("'CALINFO_ENUMPROC' requires that UNICODE be set to true or false in the root module"); pub const CALINFO_ENUMPROCEX = @compileError("'CALINFO_ENUMPROCEX' requires that UNICODE be set to true or false in the root module"); pub const IMLangStringBuf = @compileError("'IMLangStringBuf' requires that UNICODE be set to true or false in the root module"); pub const GetDateFormat = @compileError("'GetDateFormat' requires that UNICODE be set to true or false in the root module"); pub const GetTimeFormat = @compileError("'GetTimeFormat' requires that UNICODE be set to true or false in the root module"); pub const CompareString = @compileError("'CompareString' requires that UNICODE be set to true or false in the root module"); pub const FoldString = @compileError("'FoldString' requires that UNICODE be set to true or false in the root module"); pub const GetStringTypeEx = @compileError("'GetStringTypeEx' requires that UNICODE be set to true or false in the root module"); pub const GetStringType = @compileError("'GetStringType' requires that UNICODE be set to true or false in the root module"); pub const GetCPInfoEx = @compileError("'GetCPInfoEx' requires that UNICODE be set to true or false in the root module"); pub const LCMapString = @compileError("'LCMapString' requires that UNICODE be set to true or false in the root module"); pub const GetLocaleInfo = @compileError("'GetLocaleInfo' requires that UNICODE be set to true or false in the root module"); pub const SetLocaleInfo = @compileError("'SetLocaleInfo' requires that UNICODE be set to true or false in the root module"); pub const GetCalendarInfo = @compileError("'GetCalendarInfo' requires that UNICODE be set to true or false in the root module"); pub const SetCalendarInfo = @compileError("'SetCalendarInfo' requires that UNICODE be set to true or false in the root module"); pub const GetNumberFormat = @compileError("'GetNumberFormat' requires that UNICODE be set to true or false in the root module"); pub const GetCurrencyFormat = @compileError("'GetCurrencyFormat' requires that UNICODE be set to true or false in the root module"); pub const EnumCalendarInfo = @compileError("'EnumCalendarInfo' requires that UNICODE be set to true or false in the root module"); pub const EnumCalendarInfoEx = @compileError("'EnumCalendarInfoEx' requires that UNICODE be set to true or false in the root module"); pub const EnumTimeFormats = @compileError("'EnumTimeFormats' requires that UNICODE be set to true or false in the root module"); pub const EnumDateFormats = @compileError("'EnumDateFormats' requires that UNICODE be set to true or false in the root module"); pub const EnumDateFormatsEx = @compileError("'EnumDateFormatsEx' requires that UNICODE be set to true or false in the root module"); pub const GetGeoInfo = @compileError("'GetGeoInfo' requires that UNICODE be set to true or false in the root module"); pub const EnumSystemLocales = @compileError("'EnumSystemLocales' requires that UNICODE be set to true or false in the root module"); pub const EnumSystemLanguageGroups = @compileError("'EnumSystemLanguageGroups' requires that UNICODE be set to true or false in the root module"); pub const EnumLanguageGroupLocales = @compileError("'EnumLanguageGroupLocales' requires that UNICODE be set to true or false in the root module"); pub const EnumUILanguages = @compileError("'EnumUILanguages' requires that UNICODE be set to true or false in the root module"); pub const EnumSystemCodePages = @compileError("'EnumSystemCodePages' requires that UNICODE be set to true or false in the root module"); pub const lstrcmp = @compileError("'lstrcmp' requires that UNICODE be set to true or false in the root module"); pub const lstrcmpi = @compileError("'lstrcmpi' requires that UNICODE be set to true or false in the root module"); pub const lstrcpyn = @compileError("'lstrcpyn' requires that UNICODE be set to true or false in the root module"); pub const lstrcpy = @compileError("'lstrcpy' requires that UNICODE be set to true or false in the root module"); pub const lstrcat = @compileError("'lstrcat' requires that UNICODE be set to true or false in the root module"); pub const lstrlen = @compileError("'lstrlen' requires that UNICODE be set to true or false in the root module"); }, }; //-------------------------------------------------------------------------------- // Section: Imports (23) //-------------------------------------------------------------------------------- const Guid = @import("zig.zig").Guid; const ABC = @import("graphics/gdi.zig").ABC; const AXESLISTA = @import("graphics/gdi.zig").AXESLISTA; const AXESLISTW = @import("graphics/gdi.zig").AXESLISTW; const BOOL = @import("foundation.zig").BOOL; const BSTR = @import("foundation.zig").BSTR; const CHAR = @import("foundation.zig").CHAR; const ETO_OPTIONS = @import("graphics/gdi.zig").ETO_OPTIONS; const HDC = @import("graphics/gdi.zig").HDC; const HFONT = @import("graphics/gdi.zig").HFONT; const HRESULT = @import("foundation.zig").HRESULT; const HWND = @import("foundation.zig").HWND; const IEnumString = @import("system/com.zig").IEnumString; const IStream = @import("system/com.zig").IStream; const IUnknown = @import("system/com.zig").IUnknown; const LPARAM = @import("foundation.zig").LPARAM; const NEWTEXTMETRICA = @import("graphics/gdi.zig").NEWTEXTMETRICA; const NEWTEXTMETRICW = @import("graphics/gdi.zig").NEWTEXTMETRICW; const PSTR = @import("foundation.zig").PSTR; const PWSTR = @import("foundation.zig").PWSTR; const RECT = @import("foundation.zig").RECT; const SIZE = @import("foundation.zig").SIZE; const SYSTEMTIME = @import("foundation.zig").SYSTEMTIME; test { // The following '_ = ' lines are a workaround for https://github.com/ziglang/zig/issues/4476 if (@hasDecl(@This(), "LOCALE_ENUMPROCA")) { _ = LOCALE_ENUMPROCA; } if (@hasDecl(@This(), "LOCALE_ENUMPROCW")) { _ = LOCALE_ENUMPROCW; } if (@hasDecl(@This(), "LANGUAGEGROUP_ENUMPROCA")) { _ = LANGUAGEGROUP_ENUMPROCA; } if (@hasDecl(@This(), "LANGGROUPLOCALE_ENUMPROCA")) { _ = LANGGROUPLOCALE_ENUMPROCA; } if (@hasDecl(@This(), "UILANGUAGE_ENUMPROCA")) { _ = UILANGUAGE_ENUMPROCA; } if (@hasDecl(@This(), "CODEPAGE_ENUMPROCA")) { _ = CODEPAGE_ENUMPROCA; } if (@hasDecl(@This(), "DATEFMT_ENUMPROCA")) { _ = DATEFMT_ENUMPROCA; } if (@hasDecl(@This(), "DATEFMT_ENUMPROCEXA")) { _ = DATEFMT_ENUMPROCEXA; } if (@hasDecl(@This(), "TIMEFMT_ENUMPROCA")) { _ = TIMEFMT_ENUMPROCA; } if (@hasDecl(@This(), "CALINFO_ENUMPROCA")) { _ = CALINFO_ENUMPROCA; } if (@hasDecl(@This(), "CALINFO_ENUMPROCEXA")) { _ = CALINFO_ENUMPROCEXA; } if (@hasDecl(@This(), "LANGUAGEGROUP_ENUMPROCW")) { _ = LANGUAGEGROUP_ENUMPROCW; } if (@hasDecl(@This(), "LANGGROUPLOCALE_ENUMPROCW")) { _ = LANGGROUPLOCALE_ENUMPROCW; } if (@hasDecl(@This(), "UILANGUAGE_ENUMPROCW")) { _ = UILANGUAGE_ENUMPROCW; } if (@hasDecl(@This(), "CODEPAGE_ENUMPROCW")) { _ = CODEPAGE_ENUMPROCW; } if (@hasDecl(@This(), "DATEFMT_ENUMPROCW")) { _ = DATEFMT_ENUMPROCW; } if (@hasDecl(@This(), "DATEFMT_ENUMPROCEXW")) { _ = DATEFMT_ENUMPROCEXW; } if (@hasDecl(@This(), "TIMEFMT_ENUMPROCW")) { _ = TIMEFMT_ENUMPROCW; } if (@hasDecl(@This(), "CALINFO_ENUMPROCW")) { _ = CALINFO_ENUMPROCW; } if (@hasDecl(@This(), "CALINFO_ENUMPROCEXW")) { _ = CALINFO_ENUMPROCEXW; } if (@hasDecl(@This(), "GEO_ENUMPROC")) { _ = GEO_ENUMPROC; } if (@hasDecl(@This(), "GEO_ENUMNAMEPROC")) { _ = GEO_ENUMNAMEPROC; } if (@hasDecl(@This(), "CALINFO_ENUMPROCEXEX")) { _ = CALINFO_ENUMPROCEXEX; } if (@hasDecl(@This(), "DATEFMT_ENUMPROCEXEX")) { _ = DATEFMT_ENUMPROCEXEX; } if (@hasDecl(@This(), "TIMEFMT_ENUMPROCEX")) { _ = TIMEFMT_ENUMPROCEX; } if (@hasDecl(@This(), "LOCALE_ENUMPROCEX")) { _ = LOCALE_ENUMPROCEX; } if (@hasDecl(@This(), "PFN_MAPPINGCALLBACKPROC")) { _ = PFN_MAPPINGCALLBACKPROC; } if (@hasDecl(@This(), "UTraceEntry")) { _ = UTraceEntry; } if (@hasDecl(@This(), "UTraceExit")) { _ = UTraceExit; } if (@hasDecl(@This(), "UTraceData")) { _ = UTraceData; } if (@hasDecl(@This(), "UCPMapValueFilter")) { _ = UCPMapValueFilter; } if (@hasDecl(@This(), "UConverterToUCallback")) { _ = UConverterToUCallback; } if (@hasDecl(@This(), "UConverterFromUCallback")) { _ = UConverterFromUCallback; } if (@hasDecl(@This(), "UMemAllocFn")) { _ = UMemAllocFn; } if (@hasDecl(@This(), "UMemReallocFn")) { _ = UMemReallocFn; } if (@hasDecl(@This(), "UMemFreeFn")) { _ = UMemFreeFn; } if (@hasDecl(@This(), "UCharEnumTypeRange")) { _ = UCharEnumTypeRange; } if (@hasDecl(@This(), "UEnumCharNamesFn")) { _ = UEnumCharNamesFn; } if (@hasDecl(@This(), "UBiDiClassCallback")) { _ = UBiDiClassCallback; } if (@hasDecl(@This(), "UNESCAPE_CHAR_AT")) { _ = UNESCAPE_CHAR_AT; } if (@hasDecl(@This(), "URegexMatchCallback")) { _ = URegexMatchCallback; } if (@hasDecl(@This(), "URegexFindProgressCallback")) { _ = URegexFindProgressCallback; } if (@hasDecl(@This(), "UStringCaseMapper")) { _ = UStringCaseMapper; } @setEvalBranchQuota( comptime @import("std").meta.declarations(@This()).len * 3 ); // reference all the pub declarations if (!@import("builtin").is_test) return; inline for (comptime @import("std").meta.declarations(@This())) |decl| { _ = @field(@This(), decl.name); } }