1pub type wchar_t = ::std::os::raw::c_int;
4pub type __uint16_t = ::std::os::raw::c_ushort;
5pub type __uint_least16_t = __uint16_t;
6pub type char16_t = __uint_least16_t;
7pub type UBool = i8;
8pub type UChar = char16_t;
9pub type UChar32 = i32;
10pub type UVersionInfo = [u8; 4usize];
11unsafe extern "C" {
12 pub fn u_versionFromString_77(
13 versionArray: *mut u8,
14 versionString: *const ::std::os::raw::c_char,
15 );
16}
17unsafe extern "C" {
18 pub fn u_versionFromUString_77(versionArray: *mut u8, versionString: *const UChar);
19}
20unsafe extern "C" {
21 pub fn u_versionToString_77(
22 versionArray: *const u8,
23 versionString: *mut ::std::os::raw::c_char,
24 );
25}
26unsafe extern "C" {
27 pub fn u_getVersion_77(versionArray: *mut u8);
28}
29pub type UDate = f64;
30impl UErrorCode {
31 pub const U_ERROR_WARNING_START: UErrorCode = UErrorCode::U_USING_FALLBACK_WARNING;
32}
33impl UErrorCode {
34 pub const U_PARSE_ERROR_START: UErrorCode = UErrorCode::U_BAD_VARIABLE_DEFINITION;
35}
36impl UErrorCode {
37 pub const U_FMT_PARSE_ERROR_START: UErrorCode = UErrorCode::U_UNEXPECTED_TOKEN;
38}
39impl UErrorCode {
40 pub const U_MULTIPLE_DECIMAL_SEPERATORS: UErrorCode = UErrorCode::U_MULTIPLE_DECIMAL_SEPARATORS;
41}
42impl UErrorCode {
43 pub const U_BRK_ERROR_START: UErrorCode = UErrorCode::U_BRK_INTERNAL_ERROR;
44}
45impl UErrorCode {
46 pub const U_REGEX_ERROR_START: UErrorCode = UErrorCode::U_REGEX_INTERNAL_ERROR;
47}
48impl UErrorCode {
49 pub const U_IDNA_ERROR_START: UErrorCode = UErrorCode::U_IDNA_PROHIBITED_ERROR;
50}
51impl UErrorCode {
52 pub const U_STRINGPREP_PROHIBITED_ERROR: UErrorCode = UErrorCode::U_IDNA_PROHIBITED_ERROR;
53}
54impl UErrorCode {
55 pub const U_STRINGPREP_UNASSIGNED_ERROR: UErrorCode = UErrorCode::U_IDNA_UNASSIGNED_ERROR;
56}
57impl UErrorCode {
58 pub const U_STRINGPREP_CHECK_BIDI_ERROR: UErrorCode = UErrorCode::U_IDNA_CHECK_BIDI_ERROR;
59}
60impl UErrorCode {
61 pub const U_PLUGIN_TOO_HIGH: UErrorCode = UErrorCode::U_PLUGIN_ERROR_START;
62}
63impl UErrorCode {
64 pub const U_ERROR_LIMIT: UErrorCode = UErrorCode::U_PLUGIN_ERROR_LIMIT;
65}
66#[repr(i32)]
67#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
68pub enum UErrorCode {
69 U_USING_FALLBACK_WARNING = -128,
70 U_USING_DEFAULT_WARNING = -127,
71 U_SAFECLONE_ALLOCATED_WARNING = -126,
72 U_STATE_OLD_WARNING = -125,
73 U_STRING_NOT_TERMINATED_WARNING = -124,
74 U_SORT_KEY_TOO_SHORT_WARNING = -123,
75 U_AMBIGUOUS_ALIAS_WARNING = -122,
76 U_DIFFERENT_UCA_VERSION = -121,
77 U_PLUGIN_CHANGED_LEVEL_WARNING = -120,
78 U_ERROR_WARNING_LIMIT = -119,
79 U_ZERO_ERROR = 0,
80 U_ILLEGAL_ARGUMENT_ERROR = 1,
81 U_MISSING_RESOURCE_ERROR = 2,
82 U_INVALID_FORMAT_ERROR = 3,
83 U_FILE_ACCESS_ERROR = 4,
84 U_INTERNAL_PROGRAM_ERROR = 5,
85 U_MESSAGE_PARSE_ERROR = 6,
86 U_MEMORY_ALLOCATION_ERROR = 7,
87 U_INDEX_OUTOFBOUNDS_ERROR = 8,
88 U_PARSE_ERROR = 9,
89 U_INVALID_CHAR_FOUND = 10,
90 U_TRUNCATED_CHAR_FOUND = 11,
91 U_ILLEGAL_CHAR_FOUND = 12,
92 U_INVALID_TABLE_FORMAT = 13,
93 U_INVALID_TABLE_FILE = 14,
94 U_BUFFER_OVERFLOW_ERROR = 15,
95 U_UNSUPPORTED_ERROR = 16,
96 U_RESOURCE_TYPE_MISMATCH = 17,
97 U_ILLEGAL_ESCAPE_SEQUENCE = 18,
98 U_UNSUPPORTED_ESCAPE_SEQUENCE = 19,
99 U_NO_SPACE_AVAILABLE = 20,
100 U_CE_NOT_FOUND_ERROR = 21,
101 U_PRIMARY_TOO_LONG_ERROR = 22,
102 U_STATE_TOO_OLD_ERROR = 23,
103 U_TOO_MANY_ALIASES_ERROR = 24,
104 U_ENUM_OUT_OF_SYNC_ERROR = 25,
105 U_INVARIANT_CONVERSION_ERROR = 26,
106 U_INVALID_STATE_ERROR = 27,
107 U_COLLATOR_VERSION_MISMATCH = 28,
108 U_USELESS_COLLATOR_ERROR = 29,
109 U_NO_WRITE_PERMISSION = 30,
110 U_INPUT_TOO_LONG_ERROR = 31,
111 U_STANDARD_ERROR_LIMIT = 32,
112 U_BAD_VARIABLE_DEFINITION = 65536,
113 U_MALFORMED_RULE = 65537,
114 U_MALFORMED_SET = 65538,
115 U_MALFORMED_SYMBOL_REFERENCE = 65539,
116 U_MALFORMED_UNICODE_ESCAPE = 65540,
117 U_MALFORMED_VARIABLE_DEFINITION = 65541,
118 U_MALFORMED_VARIABLE_REFERENCE = 65542,
119 U_MISMATCHED_SEGMENT_DELIMITERS = 65543,
120 U_MISPLACED_ANCHOR_START = 65544,
121 U_MISPLACED_CURSOR_OFFSET = 65545,
122 U_MISPLACED_QUANTIFIER = 65546,
123 U_MISSING_OPERATOR = 65547,
124 U_MISSING_SEGMENT_CLOSE = 65548,
125 U_MULTIPLE_ANTE_CONTEXTS = 65549,
126 U_MULTIPLE_CURSORS = 65550,
127 U_MULTIPLE_POST_CONTEXTS = 65551,
128 U_TRAILING_BACKSLASH = 65552,
129 U_UNDEFINED_SEGMENT_REFERENCE = 65553,
130 U_UNDEFINED_VARIABLE = 65554,
131 U_UNQUOTED_SPECIAL = 65555,
132 U_UNTERMINATED_QUOTE = 65556,
133 U_RULE_MASK_ERROR = 65557,
134 U_MISPLACED_COMPOUND_FILTER = 65558,
135 U_MULTIPLE_COMPOUND_FILTERS = 65559,
136 U_INVALID_RBT_SYNTAX = 65560,
137 U_INVALID_PROPERTY_PATTERN = 65561,
138 U_MALFORMED_PRAGMA = 65562,
139 U_UNCLOSED_SEGMENT = 65563,
140 U_ILLEGAL_CHAR_IN_SEGMENT = 65564,
141 U_VARIABLE_RANGE_EXHAUSTED = 65565,
142 U_VARIABLE_RANGE_OVERLAP = 65566,
143 U_ILLEGAL_CHARACTER = 65567,
144 U_INTERNAL_TRANSLITERATOR_ERROR = 65568,
145 U_INVALID_ID = 65569,
146 U_INVALID_FUNCTION = 65570,
147 U_PARSE_ERROR_LIMIT = 65571,
148 U_UNEXPECTED_TOKEN = 65792,
149 U_MULTIPLE_DECIMAL_SEPARATORS = 65793,
150 U_MULTIPLE_EXPONENTIAL_SYMBOLS = 65794,
151 U_MALFORMED_EXPONENTIAL_PATTERN = 65795,
152 U_MULTIPLE_PERCENT_SYMBOLS = 65796,
153 U_MULTIPLE_PERMILL_SYMBOLS = 65797,
154 U_MULTIPLE_PAD_SPECIFIERS = 65798,
155 U_PATTERN_SYNTAX_ERROR = 65799,
156 U_ILLEGAL_PAD_POSITION = 65800,
157 U_UNMATCHED_BRACES = 65801,
158 U_UNSUPPORTED_PROPERTY = 65802,
159 U_UNSUPPORTED_ATTRIBUTE = 65803,
160 U_ARGUMENT_TYPE_MISMATCH = 65804,
161 U_DUPLICATE_KEYWORD = 65805,
162 U_UNDEFINED_KEYWORD = 65806,
163 U_DEFAULT_KEYWORD_MISSING = 65807,
164 U_DECIMAL_NUMBER_SYNTAX_ERROR = 65808,
165 U_FORMAT_INEXACT_ERROR = 65809,
166 U_NUMBER_ARG_OUTOFBOUNDS_ERROR = 65810,
167 U_NUMBER_SKELETON_SYNTAX_ERROR = 65811,
168 U_MF_UNRESOLVED_VARIABLE_ERROR = 65812,
169 U_MF_SYNTAX_ERROR = 65813,
170 U_MF_UNKNOWN_FUNCTION_ERROR = 65814,
171 U_MF_VARIANT_KEY_MISMATCH_ERROR = 65815,
172 U_MF_FORMATTING_ERROR = 65816,
173 U_MF_NONEXHAUSTIVE_PATTERN_ERROR = 65817,
174 U_MF_DUPLICATE_OPTION_NAME_ERROR = 65818,
175 U_MF_SELECTOR_ERROR = 65819,
176 U_MF_MISSING_SELECTOR_ANNOTATION_ERROR = 65820,
177 U_MF_DUPLICATE_DECLARATION_ERROR = 65821,
178 U_MF_OPERAND_MISMATCH_ERROR = 65822,
179 U_MF_DUPLICATE_VARIANT_ERROR = 65823,
180 U_MF_BAD_OPTION = 65824,
181 U_FMT_PARSE_ERROR_LIMIT = 65825,
182 U_BRK_INTERNAL_ERROR = 66048,
183 U_BRK_HEX_DIGITS_EXPECTED = 66049,
184 U_BRK_SEMICOLON_EXPECTED = 66050,
185 U_BRK_RULE_SYNTAX = 66051,
186 U_BRK_UNCLOSED_SET = 66052,
187 U_BRK_ASSIGN_ERROR = 66053,
188 U_BRK_VARIABLE_REDFINITION = 66054,
189 U_BRK_MISMATCHED_PAREN = 66055,
190 U_BRK_NEW_LINE_IN_QUOTED_STRING = 66056,
191 U_BRK_UNDEFINED_VARIABLE = 66057,
192 U_BRK_INIT_ERROR = 66058,
193 U_BRK_RULE_EMPTY_SET = 66059,
194 U_BRK_UNRECOGNIZED_OPTION = 66060,
195 U_BRK_MALFORMED_RULE_TAG = 66061,
196 U_BRK_ERROR_LIMIT = 66062,
197 U_REGEX_INTERNAL_ERROR = 66304,
198 U_REGEX_RULE_SYNTAX = 66305,
199 U_REGEX_INVALID_STATE = 66306,
200 U_REGEX_BAD_ESCAPE_SEQUENCE = 66307,
201 U_REGEX_PROPERTY_SYNTAX = 66308,
202 U_REGEX_UNIMPLEMENTED = 66309,
203 U_REGEX_MISMATCHED_PAREN = 66310,
204 U_REGEX_NUMBER_TOO_BIG = 66311,
205 U_REGEX_BAD_INTERVAL = 66312,
206 U_REGEX_MAX_LT_MIN = 66313,
207 U_REGEX_INVALID_BACK_REF = 66314,
208 U_REGEX_INVALID_FLAG = 66315,
209 U_REGEX_LOOK_BEHIND_LIMIT = 66316,
210 U_REGEX_SET_CONTAINS_STRING = 66317,
211 U_REGEX_OCTAL_TOO_BIG = 66318,
212 U_REGEX_MISSING_CLOSE_BRACKET = 66319,
213 U_REGEX_INVALID_RANGE = 66320,
214 U_REGEX_STACK_OVERFLOW = 66321,
215 U_REGEX_TIME_OUT = 66322,
216 U_REGEX_STOPPED_BY_CALLER = 66323,
217 U_REGEX_PATTERN_TOO_BIG = 66324,
218 U_REGEX_INVALID_CAPTURE_GROUP_NAME = 66325,
219 U_REGEX_ERROR_LIMIT = 66326,
220 U_IDNA_PROHIBITED_ERROR = 66560,
221 U_IDNA_UNASSIGNED_ERROR = 66561,
222 U_IDNA_CHECK_BIDI_ERROR = 66562,
223 U_IDNA_STD3_ASCII_RULES_ERROR = 66563,
224 U_IDNA_ACE_PREFIX_ERROR = 66564,
225 U_IDNA_VERIFICATION_ERROR = 66565,
226 U_IDNA_LABEL_TOO_LONG_ERROR = 66566,
227 U_IDNA_ZERO_LENGTH_LABEL_ERROR = 66567,
228 U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR = 66568,
229 U_IDNA_ERROR_LIMIT = 66569,
230 U_PLUGIN_ERROR_START = 66816,
231 U_PLUGIN_DIDNT_SET_LEVEL = 66817,
232 U_PLUGIN_ERROR_LIMIT = 66818,
233}
234unsafe extern "C" {
235 pub fn u_errorName_77(code: UErrorCode) -> *const ::std::os::raw::c_char;
236}
237#[repr(C)]
238#[derive(Debug, Copy, Clone)]
239pub struct UEnumeration {
240 _unused: [u8; 0],
241}
242unsafe extern "C" {
243 pub fn uenum_close_77(en: *mut UEnumeration);
244}
245unsafe extern "C" {
246 pub fn uenum_count_77(en: *mut UEnumeration, status: *mut UErrorCode) -> i32;
247}
248unsafe extern "C" {
249 pub fn uenum_unext_77(
250 en: *mut UEnumeration,
251 resultLength: *mut i32,
252 status: *mut UErrorCode,
253 ) -> *const UChar;
254}
255unsafe extern "C" {
256 pub fn uenum_next_77(
257 en: *mut UEnumeration,
258 resultLength: *mut i32,
259 status: *mut UErrorCode,
260 ) -> *const ::std::os::raw::c_char;
261}
262unsafe extern "C" {
263 pub fn uenum_reset_77(en: *mut UEnumeration, status: *mut UErrorCode);
264}
265unsafe extern "C" {
266 pub fn uenum_openUCharStringsEnumeration_77(
267 strings: *const *const UChar,
268 count: i32,
269 ec: *mut UErrorCode,
270 ) -> *mut UEnumeration;
271}
272unsafe extern "C" {
273 pub fn uenum_openCharStringsEnumeration_77(
274 strings: *const *const ::std::os::raw::c_char,
275 count: i32,
276 ec: *mut UErrorCode,
277 ) -> *mut UEnumeration;
278}
279#[repr(u32)]
280#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
281pub enum ULocDataLocaleType {
282 ULOC_ACTUAL_LOCALE = 0,
283 ULOC_VALID_LOCALE = 1,
284 ULOC_REQUESTED_LOCALE = 2,
285 ULOC_DATA_LOCALE_TYPE_LIMIT = 3,
286}
287unsafe extern "C" {
288 pub fn uloc_getDefault_77() -> *const ::std::os::raw::c_char;
289}
290unsafe extern "C" {
291 pub fn uloc_setDefault_77(localeID: *const ::std::os::raw::c_char, status: *mut UErrorCode);
292}
293unsafe extern "C" {
294 pub fn uloc_getLanguage_77(
295 localeID: *const ::std::os::raw::c_char,
296 language: *mut ::std::os::raw::c_char,
297 languageCapacity: i32,
298 err: *mut UErrorCode,
299 ) -> i32;
300}
301unsafe extern "C" {
302 pub fn uloc_getScript_77(
303 localeID: *const ::std::os::raw::c_char,
304 script: *mut ::std::os::raw::c_char,
305 scriptCapacity: i32,
306 err: *mut UErrorCode,
307 ) -> i32;
308}
309unsafe extern "C" {
310 pub fn uloc_getCountry_77(
311 localeID: *const ::std::os::raw::c_char,
312 country: *mut ::std::os::raw::c_char,
313 countryCapacity: i32,
314 err: *mut UErrorCode,
315 ) -> i32;
316}
317unsafe extern "C" {
318 pub fn uloc_getVariant_77(
319 localeID: *const ::std::os::raw::c_char,
320 variant: *mut ::std::os::raw::c_char,
321 variantCapacity: i32,
322 err: *mut UErrorCode,
323 ) -> i32;
324}
325unsafe extern "C" {
326 pub fn uloc_getName_77(
327 localeID: *const ::std::os::raw::c_char,
328 name: *mut ::std::os::raw::c_char,
329 nameCapacity: i32,
330 err: *mut UErrorCode,
331 ) -> i32;
332}
333unsafe extern "C" {
334 pub fn uloc_canonicalize_77(
335 localeID: *const ::std::os::raw::c_char,
336 name: *mut ::std::os::raw::c_char,
337 nameCapacity: i32,
338 err: *mut UErrorCode,
339 ) -> i32;
340}
341unsafe extern "C" {
342 pub fn uloc_getISO3Language_77(
343 localeID: *const ::std::os::raw::c_char,
344 ) -> *const ::std::os::raw::c_char;
345}
346unsafe extern "C" {
347 pub fn uloc_getISO3Country_77(
348 localeID: *const ::std::os::raw::c_char,
349 ) -> *const ::std::os::raw::c_char;
350}
351unsafe extern "C" {
352 pub fn uloc_getLCID_77(localeID: *const ::std::os::raw::c_char) -> u32;
353}
354unsafe extern "C" {
355 pub fn uloc_getDisplayLanguage_77(
356 locale: *const ::std::os::raw::c_char,
357 displayLocale: *const ::std::os::raw::c_char,
358 language: *mut UChar,
359 languageCapacity: i32,
360 status: *mut UErrorCode,
361 ) -> i32;
362}
363unsafe extern "C" {
364 pub fn uloc_getDisplayScript_77(
365 locale: *const ::std::os::raw::c_char,
366 displayLocale: *const ::std::os::raw::c_char,
367 script: *mut UChar,
368 scriptCapacity: i32,
369 status: *mut UErrorCode,
370 ) -> i32;
371}
372unsafe extern "C" {
373 pub fn uloc_getDisplayCountry_77(
374 locale: *const ::std::os::raw::c_char,
375 displayLocale: *const ::std::os::raw::c_char,
376 country: *mut UChar,
377 countryCapacity: i32,
378 status: *mut UErrorCode,
379 ) -> i32;
380}
381unsafe extern "C" {
382 pub fn uloc_getDisplayVariant_77(
383 locale: *const ::std::os::raw::c_char,
384 displayLocale: *const ::std::os::raw::c_char,
385 variant: *mut UChar,
386 variantCapacity: i32,
387 status: *mut UErrorCode,
388 ) -> i32;
389}
390unsafe extern "C" {
391 pub fn uloc_getDisplayKeyword_77(
392 keyword: *const ::std::os::raw::c_char,
393 displayLocale: *const ::std::os::raw::c_char,
394 dest: *mut UChar,
395 destCapacity: i32,
396 status: *mut UErrorCode,
397 ) -> i32;
398}
399unsafe extern "C" {
400 pub fn uloc_getDisplayKeywordValue_77(
401 locale: *const ::std::os::raw::c_char,
402 keyword: *const ::std::os::raw::c_char,
403 displayLocale: *const ::std::os::raw::c_char,
404 dest: *mut UChar,
405 destCapacity: i32,
406 status: *mut UErrorCode,
407 ) -> i32;
408}
409unsafe extern "C" {
410 pub fn uloc_getDisplayName_77(
411 localeID: *const ::std::os::raw::c_char,
412 inLocaleID: *const ::std::os::raw::c_char,
413 result: *mut UChar,
414 maxResultSize: i32,
415 err: *mut UErrorCode,
416 ) -> i32;
417}
418unsafe extern "C" {
419 pub fn uloc_getAvailable_77(n: i32) -> *const ::std::os::raw::c_char;
420}
421unsafe extern "C" {
422 pub fn uloc_countAvailable_77() -> i32;
423}
424#[repr(u32)]
425#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
426pub enum ULocAvailableType {
427 ULOC_AVAILABLE_DEFAULT = 0,
428 ULOC_AVAILABLE_ONLY_LEGACY_ALIASES = 1,
429 ULOC_AVAILABLE_WITH_LEGACY_ALIASES = 2,
430 ULOC_AVAILABLE_COUNT = 3,
431}
432unsafe extern "C" {
433 pub fn uloc_openAvailableByType_77(
434 type_: ULocAvailableType,
435 status: *mut UErrorCode,
436 ) -> *mut UEnumeration;
437}
438unsafe extern "C" {
439 pub fn uloc_getISOLanguages_77() -> *const *const ::std::os::raw::c_char;
440}
441unsafe extern "C" {
442 pub fn uloc_getISOCountries_77() -> *const *const ::std::os::raw::c_char;
443}
444unsafe extern "C" {
445 pub fn uloc_getParent_77(
446 localeID: *const ::std::os::raw::c_char,
447 parent: *mut ::std::os::raw::c_char,
448 parentCapacity: i32,
449 err: *mut UErrorCode,
450 ) -> i32;
451}
452unsafe extern "C" {
453 pub fn uloc_getBaseName_77(
454 localeID: *const ::std::os::raw::c_char,
455 name: *mut ::std::os::raw::c_char,
456 nameCapacity: i32,
457 err: *mut UErrorCode,
458 ) -> i32;
459}
460unsafe extern "C" {
461 pub fn uloc_openKeywords_77(
462 localeID: *const ::std::os::raw::c_char,
463 status: *mut UErrorCode,
464 ) -> *mut UEnumeration;
465}
466unsafe extern "C" {
467 pub fn uloc_getKeywordValue_77(
468 localeID: *const ::std::os::raw::c_char,
469 keywordName: *const ::std::os::raw::c_char,
470 buffer: *mut ::std::os::raw::c_char,
471 bufferCapacity: i32,
472 status: *mut UErrorCode,
473 ) -> i32;
474}
475unsafe extern "C" {
476 pub fn uloc_setKeywordValue_77(
477 keywordName: *const ::std::os::raw::c_char,
478 keywordValue: *const ::std::os::raw::c_char,
479 buffer: *mut ::std::os::raw::c_char,
480 bufferCapacity: i32,
481 status: *mut UErrorCode,
482 ) -> i32;
483}
484unsafe extern "C" {
485 pub fn uloc_isRightToLeft_77(locale: *const ::std::os::raw::c_char) -> UBool;
486}
487#[repr(u32)]
488#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
489pub enum ULayoutType {
490 ULOC_LAYOUT_LTR = 0,
491 ULOC_LAYOUT_RTL = 1,
492 ULOC_LAYOUT_TTB = 2,
493 ULOC_LAYOUT_BTT = 3,
494 ULOC_LAYOUT_UNKNOWN = 4,
495}
496unsafe extern "C" {
497 pub fn uloc_getCharacterOrientation_77(
498 localeId: *const ::std::os::raw::c_char,
499 status: *mut UErrorCode,
500 ) -> ULayoutType;
501}
502unsafe extern "C" {
503 pub fn uloc_getLineOrientation_77(
504 localeId: *const ::std::os::raw::c_char,
505 status: *mut UErrorCode,
506 ) -> ULayoutType;
507}
508#[repr(u32)]
509#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
510pub enum UAcceptResult {
511 ULOC_ACCEPT_FAILED = 0,
512 ULOC_ACCEPT_VALID = 1,
513 ULOC_ACCEPT_FALLBACK = 2,
514}
515unsafe extern "C" {
516 pub fn uloc_acceptLanguageFromHTTP_77(
517 result: *mut ::std::os::raw::c_char,
518 resultAvailable: i32,
519 outResult: *mut UAcceptResult,
520 httpAcceptLanguage: *const ::std::os::raw::c_char,
521 availableLocales: *mut UEnumeration,
522 status: *mut UErrorCode,
523 ) -> i32;
524}
525unsafe extern "C" {
526 pub fn uloc_acceptLanguage_77(
527 result: *mut ::std::os::raw::c_char,
528 resultAvailable: i32,
529 outResult: *mut UAcceptResult,
530 acceptList: *mut *const ::std::os::raw::c_char,
531 acceptListCount: i32,
532 availableLocales: *mut UEnumeration,
533 status: *mut UErrorCode,
534 ) -> i32;
535}
536unsafe extern "C" {
537 pub fn uloc_getLocaleForLCID_77(
538 hostID: u32,
539 locale: *mut ::std::os::raw::c_char,
540 localeCapacity: i32,
541 status: *mut UErrorCode,
542 ) -> i32;
543}
544unsafe extern "C" {
545 pub fn uloc_addLikelySubtags_77(
546 localeID: *const ::std::os::raw::c_char,
547 maximizedLocaleID: *mut ::std::os::raw::c_char,
548 maximizedLocaleIDCapacity: i32,
549 err: *mut UErrorCode,
550 ) -> i32;
551}
552unsafe extern "C" {
553 pub fn uloc_minimizeSubtags_77(
554 localeID: *const ::std::os::raw::c_char,
555 minimizedLocaleID: *mut ::std::os::raw::c_char,
556 minimizedLocaleIDCapacity: i32,
557 err: *mut UErrorCode,
558 ) -> i32;
559}
560unsafe extern "C" {
561 pub fn uloc_forLanguageTag_77(
562 langtag: *const ::std::os::raw::c_char,
563 localeID: *mut ::std::os::raw::c_char,
564 localeIDCapacity: i32,
565 parsedLength: *mut i32,
566 err: *mut UErrorCode,
567 ) -> i32;
568}
569unsafe extern "C" {
570 pub fn uloc_toLanguageTag_77(
571 localeID: *const ::std::os::raw::c_char,
572 langtag: *mut ::std::os::raw::c_char,
573 langtagCapacity: i32,
574 strict: UBool,
575 err: *mut UErrorCode,
576 ) -> i32;
577}
578unsafe extern "C" {
579 pub fn uloc_toUnicodeLocaleKey_77(
580 keyword: *const ::std::os::raw::c_char,
581 ) -> *const ::std::os::raw::c_char;
582}
583unsafe extern "C" {
584 pub fn uloc_toUnicodeLocaleType_77(
585 keyword: *const ::std::os::raw::c_char,
586 value: *const ::std::os::raw::c_char,
587 ) -> *const ::std::os::raw::c_char;
588}
589unsafe extern "C" {
590 pub fn uloc_toLegacyKey_77(
591 keyword: *const ::std::os::raw::c_char,
592 ) -> *const ::std::os::raw::c_char;
593}
594unsafe extern "C" {
595 pub fn uloc_toLegacyType_77(
596 keyword: *const ::std::os::raw::c_char,
597 value: *const ::std::os::raw::c_char,
598 ) -> *const ::std::os::raw::c_char;
599}
600#[repr(C)]
601#[derive(Debug, Copy, Clone)]
602pub struct UCPMap {
603 _unused: [u8; 0],
604}
605#[repr(u32)]
606#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
607pub enum UCPMapRangeOption {
608 UCPMAP_RANGE_NORMAL = 0,
609 UCPMAP_RANGE_FIXED_LEAD_SURROGATES = 1,
610 UCPMAP_RANGE_FIXED_ALL_SURROGATES = 2,
611}
612unsafe extern "C" {
613 pub fn ucpmap_get_77(map: *const UCPMap, c: UChar32) -> u32;
614}
615pub type UCPMapValueFilter = ::std::option::Option<
616 unsafe extern "C" fn(context: *const ::std::os::raw::c_void, value: u32) -> u32,
617>;
618unsafe extern "C" {
619 pub fn ucpmap_getRange_77(
620 map: *const UCPMap,
621 start: UChar32,
622 option: UCPMapRangeOption,
623 surrogateValue: u32,
624 filter: UCPMapValueFilter,
625 context: *const ::std::os::raw::c_void,
626 pValue: *mut u32,
627 ) -> UChar32;
628}
629#[repr(C)]
630#[derive(Debug, Copy, Clone)]
631pub struct USet {
632 _unused: [u8; 0],
633}
634impl UProperty {
635 pub const UCHAR_BINARY_START: UProperty = UProperty::UCHAR_ALPHABETIC;
636}
637impl UProperty {
638 pub const UCHAR_INT_START: UProperty = UProperty::UCHAR_BIDI_CLASS;
639}
640impl UProperty {
641 pub const UCHAR_MASK_START: UProperty = UProperty::UCHAR_GENERAL_CATEGORY_MASK;
642}
643impl UProperty {
644 pub const UCHAR_DOUBLE_START: UProperty = UProperty::UCHAR_NUMERIC_VALUE;
645}
646impl UProperty {
647 pub const UCHAR_STRING_START: UProperty = UProperty::UCHAR_AGE;
648}
649impl UProperty {
650 pub const UCHAR_OTHER_PROPERTY_START: UProperty = UProperty::UCHAR_SCRIPT_EXTENSIONS;
651}
652#[repr(i32)]
653#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
654pub enum UProperty {
655 UCHAR_ALPHABETIC = 0,
656 UCHAR_ASCII_HEX_DIGIT = 1,
657 UCHAR_BIDI_CONTROL = 2,
658 UCHAR_BIDI_MIRRORED = 3,
659 UCHAR_DASH = 4,
660 UCHAR_DEFAULT_IGNORABLE_CODE_POINT = 5,
661 UCHAR_DEPRECATED = 6,
662 UCHAR_DIACRITIC = 7,
663 UCHAR_EXTENDER = 8,
664 UCHAR_FULL_COMPOSITION_EXCLUSION = 9,
665 UCHAR_GRAPHEME_BASE = 10,
666 UCHAR_GRAPHEME_EXTEND = 11,
667 UCHAR_GRAPHEME_LINK = 12,
668 UCHAR_HEX_DIGIT = 13,
669 UCHAR_HYPHEN = 14,
670 UCHAR_ID_CONTINUE = 15,
671 UCHAR_ID_START = 16,
672 UCHAR_IDEOGRAPHIC = 17,
673 UCHAR_IDS_BINARY_OPERATOR = 18,
674 UCHAR_IDS_TRINARY_OPERATOR = 19,
675 UCHAR_JOIN_CONTROL = 20,
676 UCHAR_LOGICAL_ORDER_EXCEPTION = 21,
677 UCHAR_LOWERCASE = 22,
678 UCHAR_MATH = 23,
679 UCHAR_NONCHARACTER_CODE_POINT = 24,
680 UCHAR_QUOTATION_MARK = 25,
681 UCHAR_RADICAL = 26,
682 UCHAR_SOFT_DOTTED = 27,
683 UCHAR_TERMINAL_PUNCTUATION = 28,
684 UCHAR_UNIFIED_IDEOGRAPH = 29,
685 UCHAR_UPPERCASE = 30,
686 UCHAR_WHITE_SPACE = 31,
687 UCHAR_XID_CONTINUE = 32,
688 UCHAR_XID_START = 33,
689 UCHAR_CASE_SENSITIVE = 34,
690 UCHAR_S_TERM = 35,
691 UCHAR_VARIATION_SELECTOR = 36,
692 UCHAR_NFD_INERT = 37,
693 UCHAR_NFKD_INERT = 38,
694 UCHAR_NFC_INERT = 39,
695 UCHAR_NFKC_INERT = 40,
696 UCHAR_SEGMENT_STARTER = 41,
697 UCHAR_PATTERN_SYNTAX = 42,
698 UCHAR_PATTERN_WHITE_SPACE = 43,
699 UCHAR_POSIX_ALNUM = 44,
700 UCHAR_POSIX_BLANK = 45,
701 UCHAR_POSIX_GRAPH = 46,
702 UCHAR_POSIX_PRINT = 47,
703 UCHAR_POSIX_XDIGIT = 48,
704 UCHAR_CASED = 49,
705 UCHAR_CASE_IGNORABLE = 50,
706 UCHAR_CHANGES_WHEN_LOWERCASED = 51,
707 UCHAR_CHANGES_WHEN_UPPERCASED = 52,
708 UCHAR_CHANGES_WHEN_TITLECASED = 53,
709 UCHAR_CHANGES_WHEN_CASEFOLDED = 54,
710 UCHAR_CHANGES_WHEN_CASEMAPPED = 55,
711 UCHAR_CHANGES_WHEN_NFKC_CASEFOLDED = 56,
712 UCHAR_EMOJI = 57,
713 UCHAR_EMOJI_PRESENTATION = 58,
714 UCHAR_EMOJI_MODIFIER = 59,
715 UCHAR_EMOJI_MODIFIER_BASE = 60,
716 UCHAR_EMOJI_COMPONENT = 61,
717 UCHAR_REGIONAL_INDICATOR = 62,
718 UCHAR_PREPENDED_CONCATENATION_MARK = 63,
719 UCHAR_EXTENDED_PICTOGRAPHIC = 64,
720 UCHAR_BASIC_EMOJI = 65,
721 UCHAR_EMOJI_KEYCAP_SEQUENCE = 66,
722 UCHAR_RGI_EMOJI_MODIFIER_SEQUENCE = 67,
723 UCHAR_RGI_EMOJI_FLAG_SEQUENCE = 68,
724 UCHAR_RGI_EMOJI_TAG_SEQUENCE = 69,
725 UCHAR_RGI_EMOJI_ZWJ_SEQUENCE = 70,
726 UCHAR_RGI_EMOJI = 71,
727 UCHAR_IDS_UNARY_OPERATOR = 72,
728 UCHAR_ID_COMPAT_MATH_START = 73,
729 UCHAR_ID_COMPAT_MATH_CONTINUE = 74,
730 UCHAR_MODIFIER_COMBINING_MARK = 75,
731 UCHAR_BINARY_LIMIT = 76,
732 UCHAR_BIDI_CLASS = 4096,
733 UCHAR_BLOCK = 4097,
734 UCHAR_CANONICAL_COMBINING_CLASS = 4098,
735 UCHAR_DECOMPOSITION_TYPE = 4099,
736 UCHAR_EAST_ASIAN_WIDTH = 4100,
737 UCHAR_GENERAL_CATEGORY = 4101,
738 UCHAR_JOINING_GROUP = 4102,
739 UCHAR_JOINING_TYPE = 4103,
740 UCHAR_LINE_BREAK = 4104,
741 UCHAR_NUMERIC_TYPE = 4105,
742 UCHAR_SCRIPT = 4106,
743 UCHAR_HANGUL_SYLLABLE_TYPE = 4107,
744 UCHAR_NFD_QUICK_CHECK = 4108,
745 UCHAR_NFKD_QUICK_CHECK = 4109,
746 UCHAR_NFC_QUICK_CHECK = 4110,
747 UCHAR_NFKC_QUICK_CHECK = 4111,
748 UCHAR_LEAD_CANONICAL_COMBINING_CLASS = 4112,
749 UCHAR_TRAIL_CANONICAL_COMBINING_CLASS = 4113,
750 UCHAR_GRAPHEME_CLUSTER_BREAK = 4114,
751 UCHAR_SENTENCE_BREAK = 4115,
752 UCHAR_WORD_BREAK = 4116,
753 UCHAR_BIDI_PAIRED_BRACKET_TYPE = 4117,
754 UCHAR_INDIC_POSITIONAL_CATEGORY = 4118,
755 UCHAR_INDIC_SYLLABIC_CATEGORY = 4119,
756 UCHAR_VERTICAL_ORIENTATION = 4120,
757 UCHAR_IDENTIFIER_STATUS = 4121,
758 UCHAR_INDIC_CONJUNCT_BREAK = 4122,
759 UCHAR_INT_LIMIT = 4123,
760 UCHAR_GENERAL_CATEGORY_MASK = 8192,
761 UCHAR_MASK_LIMIT = 8193,
762 UCHAR_NUMERIC_VALUE = 12288,
763 UCHAR_DOUBLE_LIMIT = 12289,
764 UCHAR_AGE = 16384,
765 UCHAR_BIDI_MIRRORING_GLYPH = 16385,
766 UCHAR_CASE_FOLDING = 16386,
767 UCHAR_ISO_COMMENT = 16387,
768 UCHAR_LOWERCASE_MAPPING = 16388,
769 UCHAR_NAME = 16389,
770 UCHAR_SIMPLE_CASE_FOLDING = 16390,
771 UCHAR_SIMPLE_LOWERCASE_MAPPING = 16391,
772 UCHAR_SIMPLE_TITLECASE_MAPPING = 16392,
773 UCHAR_SIMPLE_UPPERCASE_MAPPING = 16393,
774 UCHAR_TITLECASE_MAPPING = 16394,
775 UCHAR_UNICODE_1_NAME = 16395,
776 UCHAR_UPPERCASE_MAPPING = 16396,
777 UCHAR_BIDI_PAIRED_BRACKET = 16397,
778 UCHAR_STRING_LIMIT = 16398,
779 UCHAR_SCRIPT_EXTENSIONS = 28672,
780 UCHAR_IDENTIFIER_TYPE = 28673,
781 UCHAR_OTHER_PROPERTY_LIMIT = 28674,
782 UCHAR_INVALID_CODE = -1,
783}
784impl UCharCategory {
785 pub const U_GENERAL_OTHER_TYPES: UCharCategory = UCharCategory::U_UNASSIGNED;
786}
787#[repr(u32)]
788#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
789pub enum UCharCategory {
790 U_UNASSIGNED = 0,
791 U_UPPERCASE_LETTER = 1,
792 U_LOWERCASE_LETTER = 2,
793 U_TITLECASE_LETTER = 3,
794 U_MODIFIER_LETTER = 4,
795 U_OTHER_LETTER = 5,
796 U_NON_SPACING_MARK = 6,
797 U_ENCLOSING_MARK = 7,
798 U_COMBINING_SPACING_MARK = 8,
799 U_DECIMAL_DIGIT_NUMBER = 9,
800 U_LETTER_NUMBER = 10,
801 U_OTHER_NUMBER = 11,
802 U_SPACE_SEPARATOR = 12,
803 U_LINE_SEPARATOR = 13,
804 U_PARAGRAPH_SEPARATOR = 14,
805 U_CONTROL_CHAR = 15,
806 U_FORMAT_CHAR = 16,
807 U_PRIVATE_USE_CHAR = 17,
808 U_SURROGATE = 18,
809 U_DASH_PUNCTUATION = 19,
810 U_START_PUNCTUATION = 20,
811 U_END_PUNCTUATION = 21,
812 U_CONNECTOR_PUNCTUATION = 22,
813 U_OTHER_PUNCTUATION = 23,
814 U_MATH_SYMBOL = 24,
815 U_CURRENCY_SYMBOL = 25,
816 U_MODIFIER_SYMBOL = 26,
817 U_OTHER_SYMBOL = 27,
818 U_INITIAL_PUNCTUATION = 28,
819 U_FINAL_PUNCTUATION = 29,
820 U_CHAR_CATEGORY_COUNT = 30,
821}
822#[repr(u32)]
823#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
824pub enum UCharDirection {
825 U_LEFT_TO_RIGHT = 0,
826 U_RIGHT_TO_LEFT = 1,
827 U_EUROPEAN_NUMBER = 2,
828 U_EUROPEAN_NUMBER_SEPARATOR = 3,
829 U_EUROPEAN_NUMBER_TERMINATOR = 4,
830 U_ARABIC_NUMBER = 5,
831 U_COMMON_NUMBER_SEPARATOR = 6,
832 U_BLOCK_SEPARATOR = 7,
833 U_SEGMENT_SEPARATOR = 8,
834 U_WHITE_SPACE_NEUTRAL = 9,
835 U_OTHER_NEUTRAL = 10,
836 U_LEFT_TO_RIGHT_EMBEDDING = 11,
837 U_LEFT_TO_RIGHT_OVERRIDE = 12,
838 U_RIGHT_TO_LEFT_ARABIC = 13,
839 U_RIGHT_TO_LEFT_EMBEDDING = 14,
840 U_RIGHT_TO_LEFT_OVERRIDE = 15,
841 U_POP_DIRECTIONAL_FORMAT = 16,
842 U_DIR_NON_SPACING_MARK = 17,
843 U_BOUNDARY_NEUTRAL = 18,
844 U_FIRST_STRONG_ISOLATE = 19,
845 U_LEFT_TO_RIGHT_ISOLATE = 20,
846 U_RIGHT_TO_LEFT_ISOLATE = 21,
847 U_POP_DIRECTIONAL_ISOLATE = 22,
848 U_CHAR_DIRECTION_COUNT = 23,
849}
850#[repr(u32)]
851#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
852pub enum UCharNameChoice {
853 U_UNICODE_CHAR_NAME = 0,
854 U_UNICODE_10_CHAR_NAME = 1,
855 U_EXTENDED_CHAR_NAME = 2,
856 U_CHAR_NAME_ALIAS = 3,
857 U_CHAR_NAME_CHOICE_COUNT = 4,
858}
859#[repr(u32)]
860#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
861pub enum UPropertyNameChoice {
862 U_SHORT_PROPERTY_NAME = 0,
863 U_LONG_PROPERTY_NAME = 1,
864 U_PROPERTY_NAME_CHOICE_COUNT = 2,
865}
866#[repr(u32)]
867#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
868pub enum UIdentifierType {
869 U_ID_TYPE_NOT_CHARACTER = 0,
870 U_ID_TYPE_DEPRECATED = 1,
871 U_ID_TYPE_DEFAULT_IGNORABLE = 2,
872 U_ID_TYPE_NOT_NFKC = 3,
873 U_ID_TYPE_NOT_XID = 4,
874 U_ID_TYPE_EXCLUSION = 5,
875 U_ID_TYPE_OBSOLETE = 6,
876 U_ID_TYPE_TECHNICAL = 7,
877 U_ID_TYPE_UNCOMMON_USE = 8,
878 U_ID_TYPE_LIMITED_USE = 9,
879 U_ID_TYPE_INCLUSION = 10,
880 U_ID_TYPE_RECOMMENDED = 11,
881}
882unsafe extern "C" {
883 pub fn u_hasBinaryProperty_77(c: UChar32, which: UProperty) -> UBool;
884}
885unsafe extern "C" {
886 pub fn u_stringHasBinaryProperty_77(s: *const UChar, length: i32, which: UProperty) -> UBool;
887}
888unsafe extern "C" {
889 pub fn u_getBinaryPropertySet_77(
890 property: UProperty,
891 pErrorCode: *mut UErrorCode,
892 ) -> *const USet;
893}
894unsafe extern "C" {
895 pub fn u_isUAlphabetic_77(c: UChar32) -> UBool;
896}
897unsafe extern "C" {
898 pub fn u_isULowercase_77(c: UChar32) -> UBool;
899}
900unsafe extern "C" {
901 pub fn u_isUUppercase_77(c: UChar32) -> UBool;
902}
903unsafe extern "C" {
904 pub fn u_isUWhiteSpace_77(c: UChar32) -> UBool;
905}
906unsafe extern "C" {
907 pub fn u_getIntPropertyValue_77(c: UChar32, which: UProperty) -> i32;
908}
909unsafe extern "C" {
910 pub fn u_getIntPropertyMinValue_77(which: UProperty) -> i32;
911}
912unsafe extern "C" {
913 pub fn u_getIntPropertyMaxValue_77(which: UProperty) -> i32;
914}
915unsafe extern "C" {
916 pub fn u_getIntPropertyMap_77(
917 property: UProperty,
918 pErrorCode: *mut UErrorCode,
919 ) -> *const UCPMap;
920}
921unsafe extern "C" {
922 pub fn u_getNumericValue_77(c: UChar32) -> f64;
923}
924unsafe extern "C" {
925 pub fn u_islower_77(c: UChar32) -> UBool;
926}
927unsafe extern "C" {
928 pub fn u_isupper_77(c: UChar32) -> UBool;
929}
930unsafe extern "C" {
931 pub fn u_istitle_77(c: UChar32) -> UBool;
932}
933unsafe extern "C" {
934 pub fn u_isdigit_77(c: UChar32) -> UBool;
935}
936unsafe extern "C" {
937 pub fn u_isalpha_77(c: UChar32) -> UBool;
938}
939unsafe extern "C" {
940 pub fn u_isalnum_77(c: UChar32) -> UBool;
941}
942unsafe extern "C" {
943 pub fn u_isxdigit_77(c: UChar32) -> UBool;
944}
945unsafe extern "C" {
946 pub fn u_ispunct_77(c: UChar32) -> UBool;
947}
948unsafe extern "C" {
949 pub fn u_isgraph_77(c: UChar32) -> UBool;
950}
951unsafe extern "C" {
952 pub fn u_isblank_77(c: UChar32) -> UBool;
953}
954unsafe extern "C" {
955 pub fn u_isdefined_77(c: UChar32) -> UBool;
956}
957unsafe extern "C" {
958 pub fn u_isspace_77(c: UChar32) -> UBool;
959}
960unsafe extern "C" {
961 pub fn u_isJavaSpaceChar_77(c: UChar32) -> UBool;
962}
963unsafe extern "C" {
964 pub fn u_isWhitespace_77(c: UChar32) -> UBool;
965}
966unsafe extern "C" {
967 pub fn u_iscntrl_77(c: UChar32) -> UBool;
968}
969unsafe extern "C" {
970 pub fn u_isISOControl_77(c: UChar32) -> UBool;
971}
972unsafe extern "C" {
973 pub fn u_isprint_77(c: UChar32) -> UBool;
974}
975unsafe extern "C" {
976 pub fn u_isbase_77(c: UChar32) -> UBool;
977}
978unsafe extern "C" {
979 pub fn u_charDirection_77(c: UChar32) -> UCharDirection;
980}
981unsafe extern "C" {
982 pub fn u_isMirrored_77(c: UChar32) -> UBool;
983}
984unsafe extern "C" {
985 pub fn u_charMirror_77(c: UChar32) -> UChar32;
986}
987unsafe extern "C" {
988 pub fn u_getBidiPairedBracket_77(c: UChar32) -> UChar32;
989}
990unsafe extern "C" {
991 pub fn u_charType_77(c: UChar32) -> i8;
992}
993pub type UCharEnumTypeRange = ::std::option::Option<
994 unsafe extern "C" fn(
995 context: *const ::std::os::raw::c_void,
996 start: UChar32,
997 limit: UChar32,
998 type_: UCharCategory,
999 ) -> UBool,
1000>;
1001unsafe extern "C" {
1002 pub fn u_enumCharTypes_77(
1003 enumRange: UCharEnumTypeRange,
1004 context: *const ::std::os::raw::c_void,
1005 );
1006}
1007unsafe extern "C" {
1008 pub fn u_getCombiningClass_77(c: UChar32) -> u8;
1009}
1010unsafe extern "C" {
1011 pub fn u_charDigitValue_77(c: UChar32) -> i32;
1012}
1013unsafe extern "C" {
1014 pub fn u_charName_77(
1015 code: UChar32,
1016 nameChoice: UCharNameChoice,
1017 buffer: *mut ::std::os::raw::c_char,
1018 bufferLength: i32,
1019 pErrorCode: *mut UErrorCode,
1020 ) -> i32;
1021}
1022unsafe extern "C" {
1023 pub fn u_getISOComment_77(
1024 c: UChar32,
1025 dest: *mut ::std::os::raw::c_char,
1026 destCapacity: i32,
1027 pErrorCode: *mut UErrorCode,
1028 ) -> i32;
1029}
1030unsafe extern "C" {
1031 pub fn u_charFromName_77(
1032 nameChoice: UCharNameChoice,
1033 name: *const ::std::os::raw::c_char,
1034 pErrorCode: *mut UErrorCode,
1035 ) -> UChar32;
1036}
1037pub type UEnumCharNamesFn = ::std::option::Option<
1038 unsafe extern "C" fn(
1039 context: *mut ::std::os::raw::c_void,
1040 code: UChar32,
1041 nameChoice: UCharNameChoice,
1042 name: *const ::std::os::raw::c_char,
1043 length: i32,
1044 ) -> UBool,
1045>;
1046unsafe extern "C" {
1047 pub fn u_enumCharNames_77(
1048 start: UChar32,
1049 limit: UChar32,
1050 fn_: UEnumCharNamesFn,
1051 context: *mut ::std::os::raw::c_void,
1052 nameChoice: UCharNameChoice,
1053 pErrorCode: *mut UErrorCode,
1054 );
1055}
1056unsafe extern "C" {
1057 pub fn u_getPropertyName_77(
1058 property: UProperty,
1059 nameChoice: UPropertyNameChoice,
1060 ) -> *const ::std::os::raw::c_char;
1061}
1062unsafe extern "C" {
1063 pub fn u_getPropertyEnum_77(alias: *const ::std::os::raw::c_char) -> UProperty;
1064}
1065unsafe extern "C" {
1066 pub fn u_getPropertyValueName_77(
1067 property: UProperty,
1068 value: i32,
1069 nameChoice: UPropertyNameChoice,
1070 ) -> *const ::std::os::raw::c_char;
1071}
1072unsafe extern "C" {
1073 pub fn u_getPropertyValueEnum_77(
1074 property: UProperty,
1075 alias: *const ::std::os::raw::c_char,
1076 ) -> i32;
1077}
1078unsafe extern "C" {
1079 pub fn u_isIDStart_77(c: UChar32) -> UBool;
1080}
1081unsafe extern "C" {
1082 pub fn u_isIDPart_77(c: UChar32) -> UBool;
1083}
1084unsafe extern "C" {
1085 pub fn u_hasIDType_77(c: UChar32, type_: UIdentifierType) -> bool;
1086}
1087unsafe extern "C" {
1088 pub fn u_getIDTypes_77(
1089 c: UChar32,
1090 types: *mut UIdentifierType,
1091 capacity: i32,
1092 pErrorCode: *mut UErrorCode,
1093 ) -> i32;
1094}
1095unsafe extern "C" {
1096 pub fn u_isIDIgnorable_77(c: UChar32) -> UBool;
1097}
1098unsafe extern "C" {
1099 pub fn u_isJavaIDStart_77(c: UChar32) -> UBool;
1100}
1101unsafe extern "C" {
1102 pub fn u_isJavaIDPart_77(c: UChar32) -> UBool;
1103}
1104unsafe extern "C" {
1105 pub fn u_tolower_77(c: UChar32) -> UChar32;
1106}
1107unsafe extern "C" {
1108 pub fn u_toupper_77(c: UChar32) -> UChar32;
1109}
1110unsafe extern "C" {
1111 pub fn u_totitle_77(c: UChar32) -> UChar32;
1112}
1113unsafe extern "C" {
1114 pub fn u_foldCase_77(c: UChar32, options: u32) -> UChar32;
1115}
1116unsafe extern "C" {
1117 pub fn u_digit_77(ch: UChar32, radix: i8) -> i32;
1118}
1119unsafe extern "C" {
1120 pub fn u_forDigit_77(digit: i32, radix: i8) -> UChar32;
1121}
1122unsafe extern "C" {
1123 pub fn u_charAge_77(c: UChar32, versionArray: *mut u8);
1124}
1125unsafe extern "C" {
1126 pub fn u_getUnicodeVersion_77(versionArray: *mut u8);
1127}
1128unsafe extern "C" {
1129 pub fn u_getFC_NFKC_Closure_77(
1130 c: UChar32,
1131 dest: *mut UChar,
1132 destCapacity: i32,
1133 pErrorCode: *mut UErrorCode,
1134 ) -> i32;
1135}
1136unsafe extern "C" {
1137 pub fn utext_close_77(ut: *mut UText) -> *mut UText;
1138}
1139unsafe extern "C" {
1140 pub fn utext_openUTF8_77(
1141 ut: *mut UText,
1142 s: *const ::std::os::raw::c_char,
1143 length: i64,
1144 status: *mut UErrorCode,
1145 ) -> *mut UText;
1146}
1147unsafe extern "C" {
1148 pub fn utext_openUChars_77(
1149 ut: *mut UText,
1150 s: *const UChar,
1151 length: i64,
1152 status: *mut UErrorCode,
1153 ) -> *mut UText;
1154}
1155unsafe extern "C" {
1156 pub fn utext_clone_77(
1157 dest: *mut UText,
1158 src: *const UText,
1159 deep: UBool,
1160 readOnly: UBool,
1161 status: *mut UErrorCode,
1162 ) -> *mut UText;
1163}
1164unsafe extern "C" {
1165 pub fn utext_equals_77(a: *const UText, b: *const UText) -> UBool;
1166}
1167unsafe extern "C" {
1168 pub fn utext_nativeLength_77(ut: *mut UText) -> i64;
1169}
1170unsafe extern "C" {
1171 pub fn utext_isLengthExpensive_77(ut: *const UText) -> UBool;
1172}
1173unsafe extern "C" {
1174 pub fn utext_char32At_77(ut: *mut UText, nativeIndex: i64) -> UChar32;
1175}
1176unsafe extern "C" {
1177 pub fn utext_current32_77(ut: *mut UText) -> UChar32;
1178}
1179unsafe extern "C" {
1180 pub fn utext_next32_77(ut: *mut UText) -> UChar32;
1181}
1182unsafe extern "C" {
1183 pub fn utext_previous32_77(ut: *mut UText) -> UChar32;
1184}
1185unsafe extern "C" {
1186 pub fn utext_next32From_77(ut: *mut UText, nativeIndex: i64) -> UChar32;
1187}
1188unsafe extern "C" {
1189 pub fn utext_previous32From_77(ut: *mut UText, nativeIndex: i64) -> UChar32;
1190}
1191unsafe extern "C" {
1192 pub fn utext_getNativeIndex_77(ut: *const UText) -> i64;
1193}
1194unsafe extern "C" {
1195 pub fn utext_setNativeIndex_77(ut: *mut UText, nativeIndex: i64);
1196}
1197unsafe extern "C" {
1198 pub fn utext_moveIndex32_77(ut: *mut UText, delta: i32) -> UBool;
1199}
1200unsafe extern "C" {
1201 pub fn utext_getPreviousNativeIndex_77(ut: *mut UText) -> i64;
1202}
1203unsafe extern "C" {
1204 pub fn utext_extract_77(
1205 ut: *mut UText,
1206 nativeStart: i64,
1207 nativeLimit: i64,
1208 dest: *mut UChar,
1209 destCapacity: i32,
1210 status: *mut UErrorCode,
1211 ) -> i32;
1212}
1213unsafe extern "C" {
1214 pub fn utext_isWritable_77(ut: *const UText) -> UBool;
1215}
1216unsafe extern "C" {
1217 pub fn utext_hasMetaData_77(ut: *const UText) -> UBool;
1218}
1219unsafe extern "C" {
1220 pub fn utext_replace_77(
1221 ut: *mut UText,
1222 nativeStart: i64,
1223 nativeLimit: i64,
1224 replacementText: *const UChar,
1225 replacementLength: i32,
1226 status: *mut UErrorCode,
1227 ) -> i32;
1228}
1229unsafe extern "C" {
1230 pub fn utext_copy_77(
1231 ut: *mut UText,
1232 nativeStart: i64,
1233 nativeLimit: i64,
1234 destIndex: i64,
1235 move_: UBool,
1236 status: *mut UErrorCode,
1237 );
1238}
1239unsafe extern "C" {
1240 pub fn utext_freeze_77(ut: *mut UText);
1241}
1242pub type UTextClone = ::std::option::Option<
1243 unsafe extern "C" fn(
1244 dest: *mut UText,
1245 src: *const UText,
1246 deep: UBool,
1247 status: *mut UErrorCode,
1248 ) -> *mut UText,
1249>;
1250pub type UTextNativeLength = ::std::option::Option<unsafe extern "C" fn(ut: *mut UText) -> i64>;
1251pub type UTextAccess = ::std::option::Option<
1252 unsafe extern "C" fn(ut: *mut UText, nativeIndex: i64, forward: UBool) -> UBool,
1253>;
1254pub type UTextExtract = ::std::option::Option<
1255 unsafe extern "C" fn(
1256 ut: *mut UText,
1257 nativeStart: i64,
1258 nativeLimit: i64,
1259 dest: *mut UChar,
1260 destCapacity: i32,
1261 status: *mut UErrorCode,
1262 ) -> i32,
1263>;
1264pub type UTextReplace = ::std::option::Option<
1265 unsafe extern "C" fn(
1266 ut: *mut UText,
1267 nativeStart: i64,
1268 nativeLimit: i64,
1269 replacementText: *const UChar,
1270 replacmentLength: i32,
1271 status: *mut UErrorCode,
1272 ) -> i32,
1273>;
1274pub type UTextCopy = ::std::option::Option<
1275 unsafe extern "C" fn(
1276 ut: *mut UText,
1277 nativeStart: i64,
1278 nativeLimit: i64,
1279 nativeDest: i64,
1280 move_: UBool,
1281 status: *mut UErrorCode,
1282 ),
1283>;
1284pub type UTextMapOffsetToNative =
1285 ::std::option::Option<unsafe extern "C" fn(ut: *const UText) -> i64>;
1286pub type UTextMapNativeIndexToUTF16 =
1287 ::std::option::Option<unsafe extern "C" fn(ut: *const UText, nativeIndex: i64) -> i32>;
1288pub type UTextClose = ::std::option::Option<unsafe extern "C" fn(ut: *mut UText)>;
1289#[repr(C)]
1290#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, PartialEq)]
1291pub struct UTextFuncs {
1292 pub tableSize: i32,
1293 pub reserved1: i32,
1294 pub reserved2: i32,
1295 pub reserved3: i32,
1296 pub clone: UTextClone,
1297 pub nativeLength: UTextNativeLength,
1298 pub access: UTextAccess,
1299 pub extract: UTextExtract,
1300 pub replace: UTextReplace,
1301 pub copy: UTextCopy,
1302 pub mapOffsetToNative: UTextMapOffsetToNative,
1303 pub mapNativeIndexToUTF16: UTextMapNativeIndexToUTF16,
1304 pub close: UTextClose,
1305 pub spare1: UTextClose,
1306 pub spare2: UTextClose,
1307 pub spare3: UTextClose,
1308}
1309#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1310const _: () = {
1311 ["Size of UTextFuncs"][::std::mem::size_of::<UTextFuncs>() - 112usize];
1312 ["Alignment of UTextFuncs"][::std::mem::align_of::<UTextFuncs>() - 8usize];
1313 ["Offset of field: UTextFuncs::tableSize"]
1314 [::std::mem::offset_of!(UTextFuncs, tableSize) - 0usize];
1315 ["Offset of field: UTextFuncs::reserved1"]
1316 [::std::mem::offset_of!(UTextFuncs, reserved1) - 4usize];
1317 ["Offset of field: UTextFuncs::reserved2"]
1318 [::std::mem::offset_of!(UTextFuncs, reserved2) - 8usize];
1319 ["Offset of field: UTextFuncs::reserved3"]
1320 [::std::mem::offset_of!(UTextFuncs, reserved3) - 12usize];
1321 ["Offset of field: UTextFuncs::clone"][::std::mem::offset_of!(UTextFuncs, clone) - 16usize];
1322 ["Offset of field: UTextFuncs::nativeLength"]
1323 [::std::mem::offset_of!(UTextFuncs, nativeLength) - 24usize];
1324 ["Offset of field: UTextFuncs::access"][::std::mem::offset_of!(UTextFuncs, access) - 32usize];
1325 ["Offset of field: UTextFuncs::extract"][::std::mem::offset_of!(UTextFuncs, extract) - 40usize];
1326 ["Offset of field: UTextFuncs::replace"][::std::mem::offset_of!(UTextFuncs, replace) - 48usize];
1327 ["Offset of field: UTextFuncs::copy"][::std::mem::offset_of!(UTextFuncs, copy) - 56usize];
1328 ["Offset of field: UTextFuncs::mapOffsetToNative"]
1329 [::std::mem::offset_of!(UTextFuncs, mapOffsetToNative) - 64usize];
1330 ["Offset of field: UTextFuncs::mapNativeIndexToUTF16"]
1331 [::std::mem::offset_of!(UTextFuncs, mapNativeIndexToUTF16) - 72usize];
1332 ["Offset of field: UTextFuncs::close"][::std::mem::offset_of!(UTextFuncs, close) - 80usize];
1333 ["Offset of field: UTextFuncs::spare1"][::std::mem::offset_of!(UTextFuncs, spare1) - 88usize];
1334 ["Offset of field: UTextFuncs::spare2"][::std::mem::offset_of!(UTextFuncs, spare2) - 96usize];
1335 ["Offset of field: UTextFuncs::spare3"][::std::mem::offset_of!(UTextFuncs, spare3) - 104usize];
1336};
1337#[repr(C)]
1338#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq)]
1339pub struct UText {
1340 pub magic: u32,
1341 pub flags: i32,
1342 pub providerProperties: i32,
1343 pub sizeOfStruct: i32,
1344 pub chunkNativeLimit: i64,
1345 pub extraSize: i32,
1346 pub nativeIndexingLimit: i32,
1347 pub chunkNativeStart: i64,
1348 pub chunkOffset: i32,
1349 pub chunkLength: i32,
1350 pub chunkContents: *const UChar,
1351 pub pFuncs: *const UTextFuncs,
1352 pub pExtra: *mut ::std::os::raw::c_void,
1353 pub context: *const ::std::os::raw::c_void,
1354 pub p: *const ::std::os::raw::c_void,
1355 pub q: *const ::std::os::raw::c_void,
1356 pub r: *const ::std::os::raw::c_void,
1357 pub privP: *mut ::std::os::raw::c_void,
1358 pub a: i64,
1359 pub b: i32,
1360 pub c: i32,
1361 pub privA: i64,
1362 pub privB: i32,
1363 pub privC: i32,
1364}
1365#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1366const _: () = {
1367 ["Size of UText"][::std::mem::size_of::<UText>() - 144usize];
1368 ["Alignment of UText"][::std::mem::align_of::<UText>() - 8usize];
1369 ["Offset of field: UText::magic"][::std::mem::offset_of!(UText, magic) - 0usize];
1370 ["Offset of field: UText::flags"][::std::mem::offset_of!(UText, flags) - 4usize];
1371 ["Offset of field: UText::providerProperties"]
1372 [::std::mem::offset_of!(UText, providerProperties) - 8usize];
1373 ["Offset of field: UText::sizeOfStruct"][::std::mem::offset_of!(UText, sizeOfStruct) - 12usize];
1374 ["Offset of field: UText::chunkNativeLimit"]
1375 [::std::mem::offset_of!(UText, chunkNativeLimit) - 16usize];
1376 ["Offset of field: UText::extraSize"][::std::mem::offset_of!(UText, extraSize) - 24usize];
1377 ["Offset of field: UText::nativeIndexingLimit"]
1378 [::std::mem::offset_of!(UText, nativeIndexingLimit) - 28usize];
1379 ["Offset of field: UText::chunkNativeStart"]
1380 [::std::mem::offset_of!(UText, chunkNativeStart) - 32usize];
1381 ["Offset of field: UText::chunkOffset"][::std::mem::offset_of!(UText, chunkOffset) - 40usize];
1382 ["Offset of field: UText::chunkLength"][::std::mem::offset_of!(UText, chunkLength) - 44usize];
1383 ["Offset of field: UText::chunkContents"]
1384 [::std::mem::offset_of!(UText, chunkContents) - 48usize];
1385 ["Offset of field: UText::pFuncs"][::std::mem::offset_of!(UText, pFuncs) - 56usize];
1386 ["Offset of field: UText::pExtra"][::std::mem::offset_of!(UText, pExtra) - 64usize];
1387 ["Offset of field: UText::context"][::std::mem::offset_of!(UText, context) - 72usize];
1388 ["Offset of field: UText::p"][::std::mem::offset_of!(UText, p) - 80usize];
1389 ["Offset of field: UText::q"][::std::mem::offset_of!(UText, q) - 88usize];
1390 ["Offset of field: UText::r"][::std::mem::offset_of!(UText, r) - 96usize];
1391 ["Offset of field: UText::privP"][::std::mem::offset_of!(UText, privP) - 104usize];
1392 ["Offset of field: UText::a"][::std::mem::offset_of!(UText, a) - 112usize];
1393 ["Offset of field: UText::b"][::std::mem::offset_of!(UText, b) - 120usize];
1394 ["Offset of field: UText::c"][::std::mem::offset_of!(UText, c) - 124usize];
1395 ["Offset of field: UText::privA"][::std::mem::offset_of!(UText, privA) - 128usize];
1396 ["Offset of field: UText::privB"][::std::mem::offset_of!(UText, privB) - 136usize];
1397 ["Offset of field: UText::privC"][::std::mem::offset_of!(UText, privC) - 140usize];
1398};
1399impl Default for UText {
1400 fn default() -> Self {
1401 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1402 unsafe {
1403 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1404 s.assume_init()
1405 }
1406 }
1407}
1408unsafe extern "C" {
1409 pub fn utext_setup_77(ut: *mut UText, extraSpace: i32, status: *mut UErrorCode) -> *mut UText;
1410}
1411#[repr(C)]
1412#[derive(Debug, Copy, Clone)]
1413pub struct UBreakIterator {
1414 _unused: [u8; 0],
1415}
1416#[repr(C)]
1417#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, PartialEq)]
1418pub struct UParseError {
1419 pub line: i32,
1420 pub offset: i32,
1421 pub preContext: [UChar; 16usize],
1422 pub postContext: [UChar; 16usize],
1423}
1424#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1425const _: () = {
1426 ["Size of UParseError"][::std::mem::size_of::<UParseError>() - 72usize];
1427 ["Alignment of UParseError"][::std::mem::align_of::<UParseError>() - 4usize];
1428 ["Offset of field: UParseError::line"][::std::mem::offset_of!(UParseError, line) - 0usize];
1429 ["Offset of field: UParseError::offset"][::std::mem::offset_of!(UParseError, offset) - 4usize];
1430 ["Offset of field: UParseError::preContext"]
1431 [::std::mem::offset_of!(UParseError, preContext) - 8usize];
1432 ["Offset of field: UParseError::postContext"]
1433 [::std::mem::offset_of!(UParseError, postContext) - 40usize];
1434};
1435#[repr(u32)]
1436#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
1437pub enum UBreakIteratorType {
1438 UBRK_CHARACTER = 0,
1439 UBRK_WORD = 1,
1440 UBRK_LINE = 2,
1441 UBRK_SENTENCE = 3,
1442 UBRK_TITLE = 4,
1443 UBRK_COUNT = 5,
1444}
1445impl UWordBreak {
1446 pub const UBRK_WORD_NUMBER: UWordBreak = UWordBreak::UBRK_WORD_NONE_LIMIT;
1447}
1448impl UWordBreak {
1449 pub const UBRK_WORD_LETTER: UWordBreak = UWordBreak::UBRK_WORD_NUMBER_LIMIT;
1450}
1451impl UWordBreak {
1452 pub const UBRK_WORD_KANA: UWordBreak = UWordBreak::UBRK_WORD_LETTER_LIMIT;
1453}
1454impl UWordBreak {
1455 pub const UBRK_WORD_IDEO: UWordBreak = UWordBreak::UBRK_WORD_KANA_LIMIT;
1456}
1457#[repr(u32)]
1458#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
1459pub enum UWordBreak {
1460 UBRK_WORD_NONE = 0,
1461 UBRK_WORD_NONE_LIMIT = 100,
1462 UBRK_WORD_NUMBER_LIMIT = 200,
1463 UBRK_WORD_LETTER_LIMIT = 300,
1464 UBRK_WORD_KANA_LIMIT = 400,
1465 UBRK_WORD_IDEO_LIMIT = 500,
1466}
1467impl ULineBreakTag {
1468 pub const UBRK_LINE_HARD: ULineBreakTag = ULineBreakTag::UBRK_LINE_SOFT_LIMIT;
1469}
1470#[repr(u32)]
1471#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
1472pub enum ULineBreakTag {
1473 UBRK_LINE_SOFT = 0,
1474 UBRK_LINE_SOFT_LIMIT = 100,
1475 UBRK_LINE_HARD_LIMIT = 200,
1476}
1477impl USentenceBreakTag {
1478 pub const UBRK_SENTENCE_SEP: USentenceBreakTag = USentenceBreakTag::UBRK_SENTENCE_TERM_LIMIT;
1479}
1480#[repr(u32)]
1481#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
1482pub enum USentenceBreakTag {
1483 UBRK_SENTENCE_TERM = 0,
1484 UBRK_SENTENCE_TERM_LIMIT = 100,
1485 UBRK_SENTENCE_SEP_LIMIT = 200,
1486}
1487unsafe extern "C" {
1488 pub fn ubrk_open_77(
1489 type_: UBreakIteratorType,
1490 locale: *const ::std::os::raw::c_char,
1491 text: *const UChar,
1492 textLength: i32,
1493 status: *mut UErrorCode,
1494 ) -> *mut UBreakIterator;
1495}
1496unsafe extern "C" {
1497 pub fn ubrk_openRules_77(
1498 rules: *const UChar,
1499 rulesLength: i32,
1500 text: *const UChar,
1501 textLength: i32,
1502 parseErr: *mut UParseError,
1503 status: *mut UErrorCode,
1504 ) -> *mut UBreakIterator;
1505}
1506unsafe extern "C" {
1507 pub fn ubrk_openBinaryRules_77(
1508 binaryRules: *const u8,
1509 rulesLength: i32,
1510 text: *const UChar,
1511 textLength: i32,
1512 status: *mut UErrorCode,
1513 ) -> *mut UBreakIterator;
1514}
1515unsafe extern "C" {
1516 pub fn ubrk_safeClone_77(
1517 bi: *const UBreakIterator,
1518 stackBuffer: *mut ::std::os::raw::c_void,
1519 pBufferSize: *mut i32,
1520 status: *mut UErrorCode,
1521 ) -> *mut UBreakIterator;
1522}
1523unsafe extern "C" {
1524 pub fn ubrk_clone_77(bi: *const UBreakIterator, status: *mut UErrorCode)
1525 -> *mut UBreakIterator;
1526}
1527unsafe extern "C" {
1528 pub fn ubrk_close_77(bi: *mut UBreakIterator);
1529}
1530unsafe extern "C" {
1531 pub fn ubrk_setText_77(
1532 bi: *mut UBreakIterator,
1533 text: *const UChar,
1534 textLength: i32,
1535 status: *mut UErrorCode,
1536 );
1537}
1538unsafe extern "C" {
1539 pub fn ubrk_setUText_77(bi: *mut UBreakIterator, text: *mut UText, status: *mut UErrorCode);
1540}
1541unsafe extern "C" {
1542 pub fn ubrk_current_77(bi: *const UBreakIterator) -> i32;
1543}
1544unsafe extern "C" {
1545 pub fn ubrk_next_77(bi: *mut UBreakIterator) -> i32;
1546}
1547unsafe extern "C" {
1548 pub fn ubrk_previous_77(bi: *mut UBreakIterator) -> i32;
1549}
1550unsafe extern "C" {
1551 pub fn ubrk_first_77(bi: *mut UBreakIterator) -> i32;
1552}
1553unsafe extern "C" {
1554 pub fn ubrk_last_77(bi: *mut UBreakIterator) -> i32;
1555}
1556unsafe extern "C" {
1557 pub fn ubrk_preceding_77(bi: *mut UBreakIterator, offset: i32) -> i32;
1558}
1559unsafe extern "C" {
1560 pub fn ubrk_following_77(bi: *mut UBreakIterator, offset: i32) -> i32;
1561}
1562unsafe extern "C" {
1563 pub fn ubrk_getAvailable_77(index: i32) -> *const ::std::os::raw::c_char;
1564}
1565unsafe extern "C" {
1566 pub fn ubrk_countAvailable_77() -> i32;
1567}
1568unsafe extern "C" {
1569 pub fn ubrk_isBoundary_77(bi: *mut UBreakIterator, offset: i32) -> UBool;
1570}
1571unsafe extern "C" {
1572 pub fn ubrk_getRuleStatus_77(bi: *mut UBreakIterator) -> i32;
1573}
1574unsafe extern "C" {
1575 pub fn ubrk_getRuleStatusVec_77(
1576 bi: *mut UBreakIterator,
1577 fillInVec: *mut i32,
1578 capacity: i32,
1579 status: *mut UErrorCode,
1580 ) -> i32;
1581}
1582unsafe extern "C" {
1583 pub fn ubrk_getLocaleByType_77(
1584 bi: *const UBreakIterator,
1585 type_: ULocDataLocaleType,
1586 status: *mut UErrorCode,
1587 ) -> *const ::std::os::raw::c_char;
1588}
1589unsafe extern "C" {
1590 pub fn ubrk_refreshUText_77(bi: *mut UBreakIterator, text: *mut UText, status: *mut UErrorCode);
1591}
1592unsafe extern "C" {
1593 pub fn ubrk_getBinaryRules_77(
1594 bi: *mut UBreakIterator,
1595 binaryRules: *mut u8,
1596 rulesCapacity: i32,
1597 status: *mut UErrorCode,
1598 ) -> i32;
1599}
1600pub type UCalendar = *mut ::std::os::raw::c_void;
1601impl UCalendarType {
1602 pub const UCAL_DEFAULT: UCalendarType = UCalendarType::UCAL_TRADITIONAL;
1603}
1604#[repr(u32)]
1605#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
1606pub enum UCalendarType {
1607 UCAL_TRADITIONAL = 0,
1608 UCAL_GREGORIAN = 1,
1609}
1610impl UCalendarDateFields {
1611 pub const UCAL_DAY_OF_MONTH: UCalendarDateFields = UCalendarDateFields::UCAL_DATE;
1612}
1613#[repr(u32)]
1614#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
1615pub enum UCalendarDateFields {
1616 UCAL_ERA = 0,
1617 UCAL_YEAR = 1,
1618 UCAL_MONTH = 2,
1619 UCAL_WEEK_OF_YEAR = 3,
1620 UCAL_WEEK_OF_MONTH = 4,
1621 UCAL_DATE = 5,
1622 UCAL_DAY_OF_YEAR = 6,
1623 UCAL_DAY_OF_WEEK = 7,
1624 UCAL_DAY_OF_WEEK_IN_MONTH = 8,
1625 UCAL_AM_PM = 9,
1626 UCAL_HOUR = 10,
1627 UCAL_HOUR_OF_DAY = 11,
1628 UCAL_MINUTE = 12,
1629 UCAL_SECOND = 13,
1630 UCAL_MILLISECOND = 14,
1631 UCAL_ZONE_OFFSET = 15,
1632 UCAL_DST_OFFSET = 16,
1633 UCAL_YEAR_WOY = 17,
1634 UCAL_DOW_LOCAL = 18,
1635 UCAL_EXTENDED_YEAR = 19,
1636 UCAL_JULIAN_DAY = 20,
1637 UCAL_MILLISECONDS_IN_DAY = 21,
1638 UCAL_IS_LEAP_MONTH = 22,
1639 UCAL_ORDINAL_MONTH = 23,
1640 UCAL_FIELD_COUNT = 24,
1641}
1642#[repr(u32)]
1643#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
1644pub enum UCalendarDaysOfWeek {
1645 UCAL_SUNDAY = 1,
1646 UCAL_MONDAY = 2,
1647 UCAL_TUESDAY = 3,
1648 UCAL_WEDNESDAY = 4,
1649 UCAL_THURSDAY = 5,
1650 UCAL_FRIDAY = 6,
1651 UCAL_SATURDAY = 7,
1652}
1653#[repr(u32)]
1654#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
1655pub enum UCalendarMonths {
1656 UCAL_JANUARY = 0,
1657 UCAL_FEBRUARY = 1,
1658 UCAL_MARCH = 2,
1659 UCAL_APRIL = 3,
1660 UCAL_MAY = 4,
1661 UCAL_JUNE = 5,
1662 UCAL_JULY = 6,
1663 UCAL_AUGUST = 7,
1664 UCAL_SEPTEMBER = 8,
1665 UCAL_OCTOBER = 9,
1666 UCAL_NOVEMBER = 10,
1667 UCAL_DECEMBER = 11,
1668 UCAL_UNDECIMBER = 12,
1669}
1670#[repr(u32)]
1671#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
1672pub enum UCalendarAMPMs {
1673 UCAL_AM = 0,
1674 UCAL_PM = 1,
1675}
1676#[repr(u32)]
1677#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
1678pub enum USystemTimeZoneType {
1679 UCAL_ZONE_TYPE_ANY = 0,
1680 UCAL_ZONE_TYPE_CANONICAL = 1,
1681 UCAL_ZONE_TYPE_CANONICAL_LOCATION = 2,
1682}
1683unsafe extern "C" {
1684 pub fn ucal_openTimeZoneIDEnumeration_77(
1685 zoneType: USystemTimeZoneType,
1686 region: *const ::std::os::raw::c_char,
1687 rawOffset: *const i32,
1688 ec: *mut UErrorCode,
1689 ) -> *mut UEnumeration;
1690}
1691unsafe extern "C" {
1692 pub fn ucal_openTimeZones_77(ec: *mut UErrorCode) -> *mut UEnumeration;
1693}
1694unsafe extern "C" {
1695 pub fn ucal_openCountryTimeZones_77(
1696 country: *const ::std::os::raw::c_char,
1697 ec: *mut UErrorCode,
1698 ) -> *mut UEnumeration;
1699}
1700unsafe extern "C" {
1701 pub fn ucal_getDefaultTimeZone_77(
1702 result: *mut UChar,
1703 resultCapacity: i32,
1704 ec: *mut UErrorCode,
1705 ) -> i32;
1706}
1707unsafe extern "C" {
1708 pub fn ucal_setDefaultTimeZone_77(zoneID: *const UChar, ec: *mut UErrorCode);
1709}
1710unsafe extern "C" {
1711 pub fn ucal_getHostTimeZone_77(
1712 result: *mut UChar,
1713 resultCapacity: i32,
1714 ec: *mut UErrorCode,
1715 ) -> i32;
1716}
1717unsafe extern "C" {
1718 pub fn ucal_getDSTSavings_77(zoneID: *const UChar, ec: *mut UErrorCode) -> i32;
1719}
1720unsafe extern "C" {
1721 pub fn ucal_getNow_77() -> UDate;
1722}
1723unsafe extern "C" {
1724 pub fn ucal_open_77(
1725 zoneID: *const UChar,
1726 len: i32,
1727 locale: *const ::std::os::raw::c_char,
1728 type_: UCalendarType,
1729 status: *mut UErrorCode,
1730 ) -> *mut UCalendar;
1731}
1732unsafe extern "C" {
1733 pub fn ucal_close_77(cal: *mut UCalendar);
1734}
1735unsafe extern "C" {
1736 pub fn ucal_clone_77(cal: *const UCalendar, status: *mut UErrorCode) -> *mut UCalendar;
1737}
1738unsafe extern "C" {
1739 pub fn ucal_setTimeZone_77(
1740 cal: *mut UCalendar,
1741 zoneID: *const UChar,
1742 len: i32,
1743 status: *mut UErrorCode,
1744 );
1745}
1746unsafe extern "C" {
1747 pub fn ucal_getTimeZoneID_77(
1748 cal: *const UCalendar,
1749 result: *mut UChar,
1750 resultLength: i32,
1751 status: *mut UErrorCode,
1752 ) -> i32;
1753}
1754#[repr(u32)]
1755#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
1756pub enum UCalendarDisplayNameType {
1757 UCAL_STANDARD = 0,
1758 UCAL_SHORT_STANDARD = 1,
1759 UCAL_DST = 2,
1760 UCAL_SHORT_DST = 3,
1761}
1762unsafe extern "C" {
1763 pub fn ucal_getTimeZoneDisplayName_77(
1764 cal: *const UCalendar,
1765 type_: UCalendarDisplayNameType,
1766 locale: *const ::std::os::raw::c_char,
1767 result: *mut UChar,
1768 resultLength: i32,
1769 status: *mut UErrorCode,
1770 ) -> i32;
1771}
1772unsafe extern "C" {
1773 pub fn ucal_inDaylightTime_77(cal: *const UCalendar, status: *mut UErrorCode) -> UBool;
1774}
1775unsafe extern "C" {
1776 pub fn ucal_setGregorianChange_77(
1777 cal: *mut UCalendar,
1778 date: UDate,
1779 pErrorCode: *mut UErrorCode,
1780 );
1781}
1782unsafe extern "C" {
1783 pub fn ucal_getGregorianChange_77(cal: *const UCalendar, pErrorCode: *mut UErrorCode) -> UDate;
1784}
1785#[repr(u32)]
1786#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
1787pub enum UCalendarAttribute {
1788 UCAL_LENIENT = 0,
1789 UCAL_FIRST_DAY_OF_WEEK = 1,
1790 UCAL_MINIMAL_DAYS_IN_FIRST_WEEK = 2,
1791 UCAL_REPEATED_WALL_TIME = 3,
1792 UCAL_SKIPPED_WALL_TIME = 4,
1793}
1794#[repr(u32)]
1795#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
1796pub enum UCalendarWallTimeOption {
1797 UCAL_WALLTIME_LAST = 0,
1798 UCAL_WALLTIME_FIRST = 1,
1799 UCAL_WALLTIME_NEXT_VALID = 2,
1800}
1801unsafe extern "C" {
1802 pub fn ucal_getAttribute_77(cal: *const UCalendar, attr: UCalendarAttribute) -> i32;
1803}
1804unsafe extern "C" {
1805 pub fn ucal_setAttribute_77(cal: *mut UCalendar, attr: UCalendarAttribute, newValue: i32);
1806}
1807unsafe extern "C" {
1808 pub fn ucal_getAvailable_77(localeIndex: i32) -> *const ::std::os::raw::c_char;
1809}
1810unsafe extern "C" {
1811 pub fn ucal_countAvailable_77() -> i32;
1812}
1813unsafe extern "C" {
1814 pub fn ucal_getMillis_77(cal: *const UCalendar, status: *mut UErrorCode) -> UDate;
1815}
1816unsafe extern "C" {
1817 pub fn ucal_setMillis_77(cal: *mut UCalendar, dateTime: UDate, status: *mut UErrorCode);
1818}
1819unsafe extern "C" {
1820 pub fn ucal_setDate_77(
1821 cal: *mut UCalendar,
1822 year: i32,
1823 month: i32,
1824 date: i32,
1825 status: *mut UErrorCode,
1826 );
1827}
1828unsafe extern "C" {
1829 pub fn ucal_setDateTime_77(
1830 cal: *mut UCalendar,
1831 year: i32,
1832 month: i32,
1833 date: i32,
1834 hour: i32,
1835 minute: i32,
1836 second: i32,
1837 status: *mut UErrorCode,
1838 );
1839}
1840unsafe extern "C" {
1841 pub fn ucal_equivalentTo_77(cal1: *const UCalendar, cal2: *const UCalendar) -> UBool;
1842}
1843unsafe extern "C" {
1844 pub fn ucal_add_77(
1845 cal: *mut UCalendar,
1846 field: UCalendarDateFields,
1847 amount: i32,
1848 status: *mut UErrorCode,
1849 );
1850}
1851unsafe extern "C" {
1852 pub fn ucal_roll_77(
1853 cal: *mut UCalendar,
1854 field: UCalendarDateFields,
1855 amount: i32,
1856 status: *mut UErrorCode,
1857 );
1858}
1859unsafe extern "C" {
1860 pub fn ucal_get_77(
1861 cal: *const UCalendar,
1862 field: UCalendarDateFields,
1863 status: *mut UErrorCode,
1864 ) -> i32;
1865}
1866unsafe extern "C" {
1867 pub fn ucal_set_77(cal: *mut UCalendar, field: UCalendarDateFields, value: i32);
1868}
1869unsafe extern "C" {
1870 pub fn ucal_isSet_77(cal: *const UCalendar, field: UCalendarDateFields) -> UBool;
1871}
1872unsafe extern "C" {
1873 pub fn ucal_clearField_77(cal: *mut UCalendar, field: UCalendarDateFields);
1874}
1875unsafe extern "C" {
1876 pub fn ucal_clear_77(calendar: *mut UCalendar);
1877}
1878#[repr(u32)]
1879#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
1880pub enum UCalendarLimitType {
1881 UCAL_MINIMUM = 0,
1882 UCAL_MAXIMUM = 1,
1883 UCAL_GREATEST_MINIMUM = 2,
1884 UCAL_LEAST_MAXIMUM = 3,
1885 UCAL_ACTUAL_MINIMUM = 4,
1886 UCAL_ACTUAL_MAXIMUM = 5,
1887}
1888unsafe extern "C" {
1889 pub fn ucal_getLimit_77(
1890 cal: *const UCalendar,
1891 field: UCalendarDateFields,
1892 type_: UCalendarLimitType,
1893 status: *mut UErrorCode,
1894 ) -> i32;
1895}
1896unsafe extern "C" {
1897 pub fn ucal_getLocaleByType_77(
1898 cal: *const UCalendar,
1899 type_: ULocDataLocaleType,
1900 status: *mut UErrorCode,
1901 ) -> *const ::std::os::raw::c_char;
1902}
1903unsafe extern "C" {
1904 pub fn ucal_getTZDataVersion_77(status: *mut UErrorCode) -> *const ::std::os::raw::c_char;
1905}
1906unsafe extern "C" {
1907 pub fn ucal_getCanonicalTimeZoneID_77(
1908 id: *const UChar,
1909 len: i32,
1910 result: *mut UChar,
1911 resultCapacity: i32,
1912 isSystemID: *mut UBool,
1913 status: *mut UErrorCode,
1914 ) -> i32;
1915}
1916unsafe extern "C" {
1917 pub fn ucal_getIanaTimeZoneID_77(
1918 id: *const UChar,
1919 len: i32,
1920 result: *mut UChar,
1921 resultCapacity: i32,
1922 status: *mut UErrorCode,
1923 ) -> i32;
1924}
1925unsafe extern "C" {
1926 pub fn ucal_getType_77(
1927 cal: *const UCalendar,
1928 status: *mut UErrorCode,
1929 ) -> *const ::std::os::raw::c_char;
1930}
1931unsafe extern "C" {
1932 pub fn ucal_getKeywordValuesForLocale_77(
1933 key: *const ::std::os::raw::c_char,
1934 locale: *const ::std::os::raw::c_char,
1935 commonlyUsed: UBool,
1936 status: *mut UErrorCode,
1937 ) -> *mut UEnumeration;
1938}
1939#[repr(u32)]
1940#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
1941pub enum UCalendarWeekdayType {
1942 UCAL_WEEKDAY = 0,
1943 UCAL_WEEKEND = 1,
1944 UCAL_WEEKEND_ONSET = 2,
1945 UCAL_WEEKEND_CEASE = 3,
1946}
1947unsafe extern "C" {
1948 pub fn ucal_getDayOfWeekType_77(
1949 cal: *const UCalendar,
1950 dayOfWeek: UCalendarDaysOfWeek,
1951 status: *mut UErrorCode,
1952 ) -> UCalendarWeekdayType;
1953}
1954unsafe extern "C" {
1955 pub fn ucal_getWeekendTransition_77(
1956 cal: *const UCalendar,
1957 dayOfWeek: UCalendarDaysOfWeek,
1958 status: *mut UErrorCode,
1959 ) -> i32;
1960}
1961unsafe extern "C" {
1962 pub fn ucal_isWeekend_77(cal: *const UCalendar, date: UDate, status: *mut UErrorCode) -> UBool;
1963}
1964unsafe extern "C" {
1965 pub fn ucal_getFieldDifference_77(
1966 cal: *mut UCalendar,
1967 target: UDate,
1968 field: UCalendarDateFields,
1969 status: *mut UErrorCode,
1970 ) -> i32;
1971}
1972#[repr(u32)]
1973#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
1974pub enum UTimeZoneTransitionType {
1975 UCAL_TZ_TRANSITION_NEXT = 0,
1976 UCAL_TZ_TRANSITION_NEXT_INCLUSIVE = 1,
1977 UCAL_TZ_TRANSITION_PREVIOUS = 2,
1978 UCAL_TZ_TRANSITION_PREVIOUS_INCLUSIVE = 3,
1979}
1980unsafe extern "C" {
1981 pub fn ucal_getTimeZoneTransitionDate_77(
1982 cal: *const UCalendar,
1983 type_: UTimeZoneTransitionType,
1984 transition: *mut UDate,
1985 status: *mut UErrorCode,
1986 ) -> UBool;
1987}
1988unsafe extern "C" {
1989 pub fn ucal_getWindowsTimeZoneID_77(
1990 id: *const UChar,
1991 len: i32,
1992 winid: *mut UChar,
1993 winidCapacity: i32,
1994 status: *mut UErrorCode,
1995 ) -> i32;
1996}
1997unsafe extern "C" {
1998 pub fn ucal_getTimeZoneIDForWindowsID_77(
1999 winid: *const UChar,
2000 len: i32,
2001 region: *const ::std::os::raw::c_char,
2002 id: *mut UChar,
2003 idCapacity: i32,
2004 status: *mut UErrorCode,
2005 ) -> i32;
2006}
2007#[repr(u32)]
2008#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
2009pub enum UTimeZoneLocalOption {
2010 UCAL_TZ_LOCAL_FORMER = 4,
2011 UCAL_TZ_LOCAL_LATTER = 12,
2012 UCAL_TZ_LOCAL_STANDARD_FORMER = 5,
2013 UCAL_TZ_LOCAL_STANDARD_LATTER = 13,
2014 UCAL_TZ_LOCAL_DAYLIGHT_FORMER = 7,
2015 UCAL_TZ_LOCAL_DAYLIGHT_LATTER = 15,
2016}
2017unsafe extern "C" {
2018 pub fn ucal_getTimeZoneOffsetFromLocal_77(
2019 cal: *const UCalendar,
2020 nonExistingTimeOpt: UTimeZoneLocalOption,
2021 duplicatedTimeOpt: UTimeZoneLocalOption,
2022 rawOffset: *mut i32,
2023 dstOffset: *mut i32,
2024 status: *mut UErrorCode,
2025 );
2026}
2027unsafe extern "C" {
2028 pub fn u_init_77(status: *mut UErrorCode);
2029}
2030unsafe extern "C" {
2031 pub fn u_cleanup_77();
2032}
2033pub type UMemAllocFn = ::std::option::Option<
2034 unsafe extern "C" fn(
2035 context: *const ::std::os::raw::c_void,
2036 size: usize,
2037 ) -> *mut ::std::os::raw::c_void,
2038>;
2039pub type UMemReallocFn = ::std::option::Option<
2040 unsafe extern "C" fn(
2041 context: *const ::std::os::raw::c_void,
2042 mem: *mut ::std::os::raw::c_void,
2043 size: usize,
2044 ) -> *mut ::std::os::raw::c_void,
2045>;
2046pub type UMemFreeFn = ::std::option::Option<
2047 unsafe extern "C" fn(context: *const ::std::os::raw::c_void, mem: *mut ::std::os::raw::c_void),
2048>;
2049unsafe extern "C" {
2050 pub fn u_setMemoryFunctions_77(
2051 context: *const ::std::os::raw::c_void,
2052 a: UMemAllocFn,
2053 r: UMemReallocFn,
2054 f: UMemFreeFn,
2055 status: *mut UErrorCode,
2056 );
2057}
2058pub type UMTX = *mut ::std::os::raw::c_void;
2059pub type UMtxInitFn = ::std::option::Option<
2060 unsafe extern "C" fn(
2061 context: *const ::std::os::raw::c_void,
2062 mutex: *mut UMTX,
2063 status: *mut UErrorCode,
2064 ),
2065>;
2066pub type UMtxFn = ::std::option::Option<
2067 unsafe extern "C" fn(context: *const ::std::os::raw::c_void, mutex: *mut UMTX),
2068>;
2069unsafe extern "C" {
2070 pub fn u_setMutexFunctions_77(
2071 context: *const ::std::os::raw::c_void,
2072 init: UMtxInitFn,
2073 destroy: UMtxFn,
2074 lock: UMtxFn,
2075 unlock: UMtxFn,
2076 status: *mut UErrorCode,
2077 );
2078}
2079pub type UMtxAtomicFn = ::std::option::Option<
2080 unsafe extern "C" fn(context: *const ::std::os::raw::c_void, p: *mut i32) -> i32,
2081>;
2082unsafe extern "C" {
2083 pub fn u_setAtomicIncDecFunctions_77(
2084 context: *const ::std::os::raw::c_void,
2085 inc: UMtxAtomicFn,
2086 dec: UMtxAtomicFn,
2087 status: *mut UErrorCode,
2088 );
2089}
2090#[repr(C)]
2091#[derive(Debug, Copy, Clone)]
2092pub struct UConverter {
2093 _unused: [u8; 0],
2094}
2095#[repr(u32)]
2096#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
2097pub enum UConverterCallbackReason {
2098 UCNV_UNASSIGNED = 0,
2099 UCNV_ILLEGAL = 1,
2100 UCNV_IRREGULAR = 2,
2101 UCNV_RESET = 3,
2102 UCNV_CLOSE = 4,
2103 UCNV_CLONE = 5,
2104}
2105#[repr(C)]
2106#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq)]
2107pub struct UConverterFromUnicodeArgs {
2108 pub size: u16,
2109 pub flush: UBool,
2110 pub converter: *mut UConverter,
2111 pub source: *const UChar,
2112 pub sourceLimit: *const UChar,
2113 pub target: *mut ::std::os::raw::c_char,
2114 pub targetLimit: *const ::std::os::raw::c_char,
2115 pub offsets: *mut i32,
2116}
2117#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2118const _: () = {
2119 ["Size of UConverterFromUnicodeArgs"]
2120 [::std::mem::size_of::<UConverterFromUnicodeArgs>() - 56usize];
2121 ["Alignment of UConverterFromUnicodeArgs"]
2122 [::std::mem::align_of::<UConverterFromUnicodeArgs>() - 8usize];
2123 ["Offset of field: UConverterFromUnicodeArgs::size"]
2124 [::std::mem::offset_of!(UConverterFromUnicodeArgs, size) - 0usize];
2125 ["Offset of field: UConverterFromUnicodeArgs::flush"]
2126 [::std::mem::offset_of!(UConverterFromUnicodeArgs, flush) - 2usize];
2127 ["Offset of field: UConverterFromUnicodeArgs::converter"]
2128 [::std::mem::offset_of!(UConverterFromUnicodeArgs, converter) - 8usize];
2129 ["Offset of field: UConverterFromUnicodeArgs::source"]
2130 [::std::mem::offset_of!(UConverterFromUnicodeArgs, source) - 16usize];
2131 ["Offset of field: UConverterFromUnicodeArgs::sourceLimit"]
2132 [::std::mem::offset_of!(UConverterFromUnicodeArgs, sourceLimit) - 24usize];
2133 ["Offset of field: UConverterFromUnicodeArgs::target"]
2134 [::std::mem::offset_of!(UConverterFromUnicodeArgs, target) - 32usize];
2135 ["Offset of field: UConverterFromUnicodeArgs::targetLimit"]
2136 [::std::mem::offset_of!(UConverterFromUnicodeArgs, targetLimit) - 40usize];
2137 ["Offset of field: UConverterFromUnicodeArgs::offsets"]
2138 [::std::mem::offset_of!(UConverterFromUnicodeArgs, offsets) - 48usize];
2139};
2140impl Default for UConverterFromUnicodeArgs {
2141 fn default() -> Self {
2142 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2143 unsafe {
2144 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2145 s.assume_init()
2146 }
2147 }
2148}
2149#[repr(C)]
2150#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq)]
2151pub struct UConverterToUnicodeArgs {
2152 pub size: u16,
2153 pub flush: UBool,
2154 pub converter: *mut UConverter,
2155 pub source: *const ::std::os::raw::c_char,
2156 pub sourceLimit: *const ::std::os::raw::c_char,
2157 pub target: *mut UChar,
2158 pub targetLimit: *const UChar,
2159 pub offsets: *mut i32,
2160}
2161#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2162const _: () = {
2163 ["Size of UConverterToUnicodeArgs"][::std::mem::size_of::<UConverterToUnicodeArgs>() - 56usize];
2164 ["Alignment of UConverterToUnicodeArgs"]
2165 [::std::mem::align_of::<UConverterToUnicodeArgs>() - 8usize];
2166 ["Offset of field: UConverterToUnicodeArgs::size"]
2167 [::std::mem::offset_of!(UConverterToUnicodeArgs, size) - 0usize];
2168 ["Offset of field: UConverterToUnicodeArgs::flush"]
2169 [::std::mem::offset_of!(UConverterToUnicodeArgs, flush) - 2usize];
2170 ["Offset of field: UConverterToUnicodeArgs::converter"]
2171 [::std::mem::offset_of!(UConverterToUnicodeArgs, converter) - 8usize];
2172 ["Offset of field: UConverterToUnicodeArgs::source"]
2173 [::std::mem::offset_of!(UConverterToUnicodeArgs, source) - 16usize];
2174 ["Offset of field: UConverterToUnicodeArgs::sourceLimit"]
2175 [::std::mem::offset_of!(UConverterToUnicodeArgs, sourceLimit) - 24usize];
2176 ["Offset of field: UConverterToUnicodeArgs::target"]
2177 [::std::mem::offset_of!(UConverterToUnicodeArgs, target) - 32usize];
2178 ["Offset of field: UConverterToUnicodeArgs::targetLimit"]
2179 [::std::mem::offset_of!(UConverterToUnicodeArgs, targetLimit) - 40usize];
2180 ["Offset of field: UConverterToUnicodeArgs::offsets"]
2181 [::std::mem::offset_of!(UConverterToUnicodeArgs, offsets) - 48usize];
2182};
2183impl Default for UConverterToUnicodeArgs {
2184 fn default() -> Self {
2185 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2186 unsafe {
2187 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2188 s.assume_init()
2189 }
2190 }
2191}
2192impl UConverterType {
2193 pub const UCNV_LMBCS_LAST: UConverterType = UConverterType::UCNV_LMBCS_19;
2194}
2195#[repr(i32)]
2196#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
2197pub enum UConverterType {
2198 UCNV_UNSUPPORTED_CONVERTER = -1,
2199 UCNV_SBCS = 0,
2200 UCNV_DBCS = 1,
2201 UCNV_MBCS = 2,
2202 UCNV_LATIN_1 = 3,
2203 UCNV_UTF8 = 4,
2204 UCNV_UTF16_BigEndian = 5,
2205 UCNV_UTF16_LittleEndian = 6,
2206 UCNV_UTF32_BigEndian = 7,
2207 UCNV_UTF32_LittleEndian = 8,
2208 UCNV_EBCDIC_STATEFUL = 9,
2209 UCNV_ISO_2022 = 10,
2210 UCNV_LMBCS_1 = 11,
2211 UCNV_LMBCS_2 = 12,
2212 UCNV_LMBCS_3 = 13,
2213 UCNV_LMBCS_4 = 14,
2214 UCNV_LMBCS_5 = 15,
2215 UCNV_LMBCS_6 = 16,
2216 UCNV_LMBCS_8 = 17,
2217 UCNV_LMBCS_11 = 18,
2218 UCNV_LMBCS_16 = 19,
2219 UCNV_LMBCS_17 = 20,
2220 UCNV_LMBCS_18 = 21,
2221 UCNV_LMBCS_19 = 22,
2222 UCNV_HZ = 23,
2223 UCNV_SCSU = 24,
2224 UCNV_ISCII = 25,
2225 UCNV_US_ASCII = 26,
2226 UCNV_UTF7 = 27,
2227 UCNV_BOCU1 = 28,
2228 UCNV_UTF16 = 29,
2229 UCNV_UTF32 = 30,
2230 UCNV_CESU8 = 31,
2231 UCNV_IMAP_MAILBOX = 32,
2232 UCNV_COMPOUND_TEXT = 33,
2233 UCNV_NUMBER_OF_SUPPORTED_CONVERTER_TYPES = 34,
2234}
2235#[repr(i32)]
2236#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
2237pub enum UConverterPlatform {
2238 UCNV_UNKNOWN = -1,
2239 UCNV_IBM = 0,
2240}
2241pub type UConverterToUCallback = ::std::option::Option<
2242 unsafe extern "C" fn(
2243 context: *const ::std::os::raw::c_void,
2244 args: *mut UConverterToUnicodeArgs,
2245 codeUnits: *const ::std::os::raw::c_char,
2246 length: i32,
2247 reason: UConverterCallbackReason,
2248 pErrorCode: *mut UErrorCode,
2249 ),
2250>;
2251pub type UConverterFromUCallback = ::std::option::Option<
2252 unsafe extern "C" fn(
2253 context: *const ::std::os::raw::c_void,
2254 args: *mut UConverterFromUnicodeArgs,
2255 codeUnits: *const UChar,
2256 length: i32,
2257 codePoint: UChar32,
2258 reason: UConverterCallbackReason,
2259 pErrorCode: *mut UErrorCode,
2260 ),
2261>;
2262unsafe extern "C" {
2263 pub fn ucnv_compareNames_77(
2264 name1: *const ::std::os::raw::c_char,
2265 name2: *const ::std::os::raw::c_char,
2266 ) -> ::std::os::raw::c_int;
2267}
2268unsafe extern "C" {
2269 pub fn ucnv_open_77(
2270 converterName: *const ::std::os::raw::c_char,
2271 err: *mut UErrorCode,
2272 ) -> *mut UConverter;
2273}
2274unsafe extern "C" {
2275 pub fn ucnv_openU_77(name: *const UChar, err: *mut UErrorCode) -> *mut UConverter;
2276}
2277unsafe extern "C" {
2278 pub fn ucnv_openCCSID_77(
2279 codepage: i32,
2280 platform: UConverterPlatform,
2281 err: *mut UErrorCode,
2282 ) -> *mut UConverter;
2283}
2284unsafe extern "C" {
2285 pub fn ucnv_openPackage_77(
2286 packageName: *const ::std::os::raw::c_char,
2287 converterName: *const ::std::os::raw::c_char,
2288 err: *mut UErrorCode,
2289 ) -> *mut UConverter;
2290}
2291unsafe extern "C" {
2292 pub fn ucnv_clone_77(cnv: *const UConverter, status: *mut UErrorCode) -> *mut UConverter;
2293}
2294unsafe extern "C" {
2295 pub fn ucnv_safeClone_77(
2296 cnv: *const UConverter,
2297 stackBuffer: *mut ::std::os::raw::c_void,
2298 pBufferSize: *mut i32,
2299 status: *mut UErrorCode,
2300 ) -> *mut UConverter;
2301}
2302unsafe extern "C" {
2303 pub fn ucnv_close_77(converter: *mut UConverter);
2304}
2305unsafe extern "C" {
2306 pub fn ucnv_getSubstChars_77(
2307 converter: *const UConverter,
2308 subChars: *mut ::std::os::raw::c_char,
2309 len: *mut i8,
2310 err: *mut UErrorCode,
2311 );
2312}
2313unsafe extern "C" {
2314 pub fn ucnv_setSubstChars_77(
2315 converter: *mut UConverter,
2316 subChars: *const ::std::os::raw::c_char,
2317 len: i8,
2318 err: *mut UErrorCode,
2319 );
2320}
2321unsafe extern "C" {
2322 pub fn ucnv_setSubstString_77(
2323 cnv: *mut UConverter,
2324 s: *const UChar,
2325 length: i32,
2326 err: *mut UErrorCode,
2327 );
2328}
2329unsafe extern "C" {
2330 pub fn ucnv_getInvalidChars_77(
2331 converter: *const UConverter,
2332 errBytes: *mut ::std::os::raw::c_char,
2333 len: *mut i8,
2334 err: *mut UErrorCode,
2335 );
2336}
2337unsafe extern "C" {
2338 pub fn ucnv_getInvalidUChars_77(
2339 converter: *const UConverter,
2340 errUChars: *mut UChar,
2341 len: *mut i8,
2342 err: *mut UErrorCode,
2343 );
2344}
2345unsafe extern "C" {
2346 pub fn ucnv_reset_77(converter: *mut UConverter);
2347}
2348unsafe extern "C" {
2349 pub fn ucnv_resetToUnicode_77(converter: *mut UConverter);
2350}
2351unsafe extern "C" {
2352 pub fn ucnv_resetFromUnicode_77(converter: *mut UConverter);
2353}
2354unsafe extern "C" {
2355 pub fn ucnv_getMaxCharSize_77(converter: *const UConverter) -> i8;
2356}
2357unsafe extern "C" {
2358 pub fn ucnv_getMinCharSize_77(converter: *const UConverter) -> i8;
2359}
2360unsafe extern "C" {
2361 pub fn ucnv_getDisplayName_77(
2362 converter: *const UConverter,
2363 displayLocale: *const ::std::os::raw::c_char,
2364 displayName: *mut UChar,
2365 displayNameCapacity: i32,
2366 err: *mut UErrorCode,
2367 ) -> i32;
2368}
2369unsafe extern "C" {
2370 pub fn ucnv_getName_77(
2371 converter: *const UConverter,
2372 err: *mut UErrorCode,
2373 ) -> *const ::std::os::raw::c_char;
2374}
2375unsafe extern "C" {
2376 pub fn ucnv_getCCSID_77(converter: *const UConverter, err: *mut UErrorCode) -> i32;
2377}
2378unsafe extern "C" {
2379 pub fn ucnv_getPlatform_77(
2380 converter: *const UConverter,
2381 err: *mut UErrorCode,
2382 ) -> UConverterPlatform;
2383}
2384unsafe extern "C" {
2385 pub fn ucnv_getType_77(converter: *const UConverter) -> UConverterType;
2386}
2387unsafe extern "C" {
2388 pub fn ucnv_getStarters_77(
2389 converter: *const UConverter,
2390 starters: *mut UBool,
2391 err: *mut UErrorCode,
2392 );
2393}
2394#[repr(u32)]
2395#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
2396pub enum UConverterUnicodeSet {
2397 UCNV_ROUNDTRIP_SET = 0,
2398 UCNV_ROUNDTRIP_AND_FALLBACK_SET = 1,
2399 UCNV_SET_COUNT = 2,
2400}
2401unsafe extern "C" {
2402 pub fn ucnv_getUnicodeSet_77(
2403 cnv: *const UConverter,
2404 setFillIn: *mut USet,
2405 whichSet: UConverterUnicodeSet,
2406 pErrorCode: *mut UErrorCode,
2407 );
2408}
2409unsafe extern "C" {
2410 pub fn ucnv_getToUCallBack_77(
2411 converter: *const UConverter,
2412 action: *mut UConverterToUCallback,
2413 context: *mut *const ::std::os::raw::c_void,
2414 );
2415}
2416unsafe extern "C" {
2417 pub fn ucnv_getFromUCallBack_77(
2418 converter: *const UConverter,
2419 action: *mut UConverterFromUCallback,
2420 context: *mut *const ::std::os::raw::c_void,
2421 );
2422}
2423unsafe extern "C" {
2424 pub fn ucnv_setToUCallBack_77(
2425 converter: *mut UConverter,
2426 newAction: UConverterToUCallback,
2427 newContext: *const ::std::os::raw::c_void,
2428 oldAction: *mut UConverterToUCallback,
2429 oldContext: *mut *const ::std::os::raw::c_void,
2430 err: *mut UErrorCode,
2431 );
2432}
2433unsafe extern "C" {
2434 pub fn ucnv_setFromUCallBack_77(
2435 converter: *mut UConverter,
2436 newAction: UConverterFromUCallback,
2437 newContext: *const ::std::os::raw::c_void,
2438 oldAction: *mut UConverterFromUCallback,
2439 oldContext: *mut *const ::std::os::raw::c_void,
2440 err: *mut UErrorCode,
2441 );
2442}
2443unsafe extern "C" {
2444 pub fn ucnv_fromUnicode_77(
2445 converter: *mut UConverter,
2446 target: *mut *mut ::std::os::raw::c_char,
2447 targetLimit: *const ::std::os::raw::c_char,
2448 source: *mut *const UChar,
2449 sourceLimit: *const UChar,
2450 offsets: *mut i32,
2451 flush: UBool,
2452 err: *mut UErrorCode,
2453 );
2454}
2455unsafe extern "C" {
2456 pub fn ucnv_toUnicode_77(
2457 converter: *mut UConverter,
2458 target: *mut *mut UChar,
2459 targetLimit: *const UChar,
2460 source: *mut *const ::std::os::raw::c_char,
2461 sourceLimit: *const ::std::os::raw::c_char,
2462 offsets: *mut i32,
2463 flush: UBool,
2464 err: *mut UErrorCode,
2465 );
2466}
2467unsafe extern "C" {
2468 pub fn ucnv_fromUChars_77(
2469 cnv: *mut UConverter,
2470 dest: *mut ::std::os::raw::c_char,
2471 destCapacity: i32,
2472 src: *const UChar,
2473 srcLength: i32,
2474 pErrorCode: *mut UErrorCode,
2475 ) -> i32;
2476}
2477unsafe extern "C" {
2478 pub fn ucnv_toUChars_77(
2479 cnv: *mut UConverter,
2480 dest: *mut UChar,
2481 destCapacity: i32,
2482 src: *const ::std::os::raw::c_char,
2483 srcLength: i32,
2484 pErrorCode: *mut UErrorCode,
2485 ) -> i32;
2486}
2487unsafe extern "C" {
2488 pub fn ucnv_getNextUChar_77(
2489 converter: *mut UConverter,
2490 source: *mut *const ::std::os::raw::c_char,
2491 sourceLimit: *const ::std::os::raw::c_char,
2492 err: *mut UErrorCode,
2493 ) -> UChar32;
2494}
2495unsafe extern "C" {
2496 pub fn ucnv_convertEx_77(
2497 targetCnv: *mut UConverter,
2498 sourceCnv: *mut UConverter,
2499 target: *mut *mut ::std::os::raw::c_char,
2500 targetLimit: *const ::std::os::raw::c_char,
2501 source: *mut *const ::std::os::raw::c_char,
2502 sourceLimit: *const ::std::os::raw::c_char,
2503 pivotStart: *mut UChar,
2504 pivotSource: *mut *mut UChar,
2505 pivotTarget: *mut *mut UChar,
2506 pivotLimit: *const UChar,
2507 reset: UBool,
2508 flush: UBool,
2509 pErrorCode: *mut UErrorCode,
2510 );
2511}
2512unsafe extern "C" {
2513 pub fn ucnv_convert_77(
2514 toConverterName: *const ::std::os::raw::c_char,
2515 fromConverterName: *const ::std::os::raw::c_char,
2516 target: *mut ::std::os::raw::c_char,
2517 targetCapacity: i32,
2518 source: *const ::std::os::raw::c_char,
2519 sourceLength: i32,
2520 pErrorCode: *mut UErrorCode,
2521 ) -> i32;
2522}
2523unsafe extern "C" {
2524 pub fn ucnv_toAlgorithmic_77(
2525 algorithmicType: UConverterType,
2526 cnv: *mut UConverter,
2527 target: *mut ::std::os::raw::c_char,
2528 targetCapacity: i32,
2529 source: *const ::std::os::raw::c_char,
2530 sourceLength: i32,
2531 pErrorCode: *mut UErrorCode,
2532 ) -> i32;
2533}
2534unsafe extern "C" {
2535 pub fn ucnv_fromAlgorithmic_77(
2536 cnv: *mut UConverter,
2537 algorithmicType: UConverterType,
2538 target: *mut ::std::os::raw::c_char,
2539 targetCapacity: i32,
2540 source: *const ::std::os::raw::c_char,
2541 sourceLength: i32,
2542 pErrorCode: *mut UErrorCode,
2543 ) -> i32;
2544}
2545unsafe extern "C" {
2546 pub fn ucnv_flushCache_77() -> i32;
2547}
2548unsafe extern "C" {
2549 pub fn ucnv_countAvailable_77() -> i32;
2550}
2551unsafe extern "C" {
2552 pub fn ucnv_getAvailableName_77(n: i32) -> *const ::std::os::raw::c_char;
2553}
2554unsafe extern "C" {
2555 pub fn ucnv_openAllNames_77(pErrorCode: *mut UErrorCode) -> *mut UEnumeration;
2556}
2557unsafe extern "C" {
2558 pub fn ucnv_countAliases_77(
2559 alias: *const ::std::os::raw::c_char,
2560 pErrorCode: *mut UErrorCode,
2561 ) -> u16;
2562}
2563unsafe extern "C" {
2564 pub fn ucnv_getAlias_77(
2565 alias: *const ::std::os::raw::c_char,
2566 n: u16,
2567 pErrorCode: *mut UErrorCode,
2568 ) -> *const ::std::os::raw::c_char;
2569}
2570unsafe extern "C" {
2571 pub fn ucnv_getAliases_77(
2572 alias: *const ::std::os::raw::c_char,
2573 aliases: *mut *const ::std::os::raw::c_char,
2574 pErrorCode: *mut UErrorCode,
2575 );
2576}
2577unsafe extern "C" {
2578 pub fn ucnv_openStandardNames_77(
2579 convName: *const ::std::os::raw::c_char,
2580 standard: *const ::std::os::raw::c_char,
2581 pErrorCode: *mut UErrorCode,
2582 ) -> *mut UEnumeration;
2583}
2584unsafe extern "C" {
2585 pub fn ucnv_countStandards_77() -> u16;
2586}
2587unsafe extern "C" {
2588 pub fn ucnv_getStandard_77(
2589 n: u16,
2590 pErrorCode: *mut UErrorCode,
2591 ) -> *const ::std::os::raw::c_char;
2592}
2593unsafe extern "C" {
2594 pub fn ucnv_getStandardName_77(
2595 name: *const ::std::os::raw::c_char,
2596 standard: *const ::std::os::raw::c_char,
2597 pErrorCode: *mut UErrorCode,
2598 ) -> *const ::std::os::raw::c_char;
2599}
2600unsafe extern "C" {
2601 pub fn ucnv_getCanonicalName_77(
2602 alias: *const ::std::os::raw::c_char,
2603 standard: *const ::std::os::raw::c_char,
2604 pErrorCode: *mut UErrorCode,
2605 ) -> *const ::std::os::raw::c_char;
2606}
2607unsafe extern "C" {
2608 pub fn ucnv_getDefaultName_77() -> *const ::std::os::raw::c_char;
2609}
2610unsafe extern "C" {
2611 pub fn ucnv_setDefaultName_77(name: *const ::std::os::raw::c_char);
2612}
2613unsafe extern "C" {
2614 pub fn ucnv_fixFileSeparator_77(cnv: *const UConverter, source: *mut UChar, sourceLen: i32);
2615}
2616unsafe extern "C" {
2617 pub fn ucnv_isAmbiguous_77(cnv: *const UConverter) -> UBool;
2618}
2619unsafe extern "C" {
2620 pub fn ucnv_setFallback_77(cnv: *mut UConverter, usesFallback: UBool);
2621}
2622unsafe extern "C" {
2623 pub fn ucnv_usesFallback_77(cnv: *const UConverter) -> UBool;
2624}
2625unsafe extern "C" {
2626 pub fn ucnv_detectUnicodeSignature_77(
2627 source: *const ::std::os::raw::c_char,
2628 sourceLength: i32,
2629 signatureLength: *mut i32,
2630 pErrorCode: *mut UErrorCode,
2631 ) -> *const ::std::os::raw::c_char;
2632}
2633unsafe extern "C" {
2634 pub fn ucnv_fromUCountPending_77(cnv: *const UConverter, status: *mut UErrorCode) -> i32;
2635}
2636unsafe extern "C" {
2637 pub fn ucnv_toUCountPending_77(cnv: *const UConverter, status: *mut UErrorCode) -> i32;
2638}
2639unsafe extern "C" {
2640 pub fn ucnv_isFixedWidth_77(cnv: *mut UConverter, status: *mut UErrorCode) -> UBool;
2641}
2642#[repr(u32)]
2643#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
2644pub enum UCharIteratorOrigin {
2645 UITER_START = 0,
2646 UITER_CURRENT = 1,
2647 UITER_LIMIT = 2,
2648 UITER_ZERO = 3,
2649 UITER_LENGTH = 4,
2650}
2651pub type UCharIteratorGetIndex = ::std::option::Option<
2652 unsafe extern "C" fn(iter: *mut UCharIterator, origin: UCharIteratorOrigin) -> i32,
2653>;
2654pub type UCharIteratorMove = ::std::option::Option<
2655 unsafe extern "C" fn(iter: *mut UCharIterator, delta: i32, origin: UCharIteratorOrigin) -> i32,
2656>;
2657pub type UCharIteratorHasNext =
2658 ::std::option::Option<unsafe extern "C" fn(iter: *mut UCharIterator) -> UBool>;
2659pub type UCharIteratorHasPrevious =
2660 ::std::option::Option<unsafe extern "C" fn(iter: *mut UCharIterator) -> UBool>;
2661pub type UCharIteratorCurrent =
2662 ::std::option::Option<unsafe extern "C" fn(iter: *mut UCharIterator) -> UChar32>;
2663pub type UCharIteratorNext =
2664 ::std::option::Option<unsafe extern "C" fn(iter: *mut UCharIterator) -> UChar32>;
2665pub type UCharIteratorPrevious =
2666 ::std::option::Option<unsafe extern "C" fn(iter: *mut UCharIterator) -> UChar32>;
2667pub type UCharIteratorReserved =
2668 ::std::option::Option<unsafe extern "C" fn(iter: *mut UCharIterator, something: i32) -> i32>;
2669pub type UCharIteratorGetState =
2670 ::std::option::Option<unsafe extern "C" fn(iter: *const UCharIterator) -> u32>;
2671pub type UCharIteratorSetState = ::std::option::Option<
2672 unsafe extern "C" fn(iter: *mut UCharIterator, state: u32, pErrorCode: *mut UErrorCode),
2673>;
2674#[repr(C)]
2675#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq)]
2676pub struct UCharIterator {
2677 pub context: *const ::std::os::raw::c_void,
2678 pub length: i32,
2679 pub start: i32,
2680 pub index: i32,
2681 pub limit: i32,
2682 pub reservedField: i32,
2683 pub getIndex: UCharIteratorGetIndex,
2684 pub move_: UCharIteratorMove,
2685 pub hasNext: UCharIteratorHasNext,
2686 pub hasPrevious: UCharIteratorHasPrevious,
2687 pub current: UCharIteratorCurrent,
2688 pub next: UCharIteratorNext,
2689 pub previous: UCharIteratorPrevious,
2690 pub reservedFn: UCharIteratorReserved,
2691 pub getState: UCharIteratorGetState,
2692 pub setState: UCharIteratorSetState,
2693}
2694#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2695const _: () = {
2696 ["Size of UCharIterator"][::std::mem::size_of::<UCharIterator>() - 112usize];
2697 ["Alignment of UCharIterator"][::std::mem::align_of::<UCharIterator>() - 8usize];
2698 ["Offset of field: UCharIterator::context"]
2699 [::std::mem::offset_of!(UCharIterator, context) - 0usize];
2700 ["Offset of field: UCharIterator::length"]
2701 [::std::mem::offset_of!(UCharIterator, length) - 8usize];
2702 ["Offset of field: UCharIterator::start"]
2703 [::std::mem::offset_of!(UCharIterator, start) - 12usize];
2704 ["Offset of field: UCharIterator::index"]
2705 [::std::mem::offset_of!(UCharIterator, index) - 16usize];
2706 ["Offset of field: UCharIterator::limit"]
2707 [::std::mem::offset_of!(UCharIterator, limit) - 20usize];
2708 ["Offset of field: UCharIterator::reservedField"]
2709 [::std::mem::offset_of!(UCharIterator, reservedField) - 24usize];
2710 ["Offset of field: UCharIterator::getIndex"]
2711 [::std::mem::offset_of!(UCharIterator, getIndex) - 32usize];
2712 ["Offset of field: UCharIterator::move_"]
2713 [::std::mem::offset_of!(UCharIterator, move_) - 40usize];
2714 ["Offset of field: UCharIterator::hasNext"]
2715 [::std::mem::offset_of!(UCharIterator, hasNext) - 48usize];
2716 ["Offset of field: UCharIterator::hasPrevious"]
2717 [::std::mem::offset_of!(UCharIterator, hasPrevious) - 56usize];
2718 ["Offset of field: UCharIterator::current"]
2719 [::std::mem::offset_of!(UCharIterator, current) - 64usize];
2720 ["Offset of field: UCharIterator::next"][::std::mem::offset_of!(UCharIterator, next) - 72usize];
2721 ["Offset of field: UCharIterator::previous"]
2722 [::std::mem::offset_of!(UCharIterator, previous) - 80usize];
2723 ["Offset of field: UCharIterator::reservedFn"]
2724 [::std::mem::offset_of!(UCharIterator, reservedFn) - 88usize];
2725 ["Offset of field: UCharIterator::getState"]
2726 [::std::mem::offset_of!(UCharIterator, getState) - 96usize];
2727 ["Offset of field: UCharIterator::setState"]
2728 [::std::mem::offset_of!(UCharIterator, setState) - 104usize];
2729};
2730impl Default for UCharIterator {
2731 fn default() -> Self {
2732 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2733 unsafe {
2734 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2735 s.assume_init()
2736 }
2737 }
2738}
2739#[repr(u32)]
2740#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
2741pub enum UNormalization2Mode {
2742 UNORM2_COMPOSE = 0,
2743 UNORM2_DECOMPOSE = 1,
2744 UNORM2_FCD = 2,
2745 UNORM2_COMPOSE_CONTIGUOUS = 3,
2746}
2747#[repr(u32)]
2748#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
2749pub enum UNormalizationCheckResult {
2750 UNORM_NO = 0,
2751 UNORM_YES = 1,
2752 UNORM_MAYBE = 2,
2753}
2754#[repr(C)]
2755#[derive(Debug, Copy, Clone)]
2756pub struct UNormalizer2 {
2757 _unused: [u8; 0],
2758}
2759unsafe extern "C" {
2760 pub fn unorm2_getNFCInstance_77(pErrorCode: *mut UErrorCode) -> *const UNormalizer2;
2761}
2762unsafe extern "C" {
2763 pub fn unorm2_getNFDInstance_77(pErrorCode: *mut UErrorCode) -> *const UNormalizer2;
2764}
2765unsafe extern "C" {
2766 pub fn unorm2_getNFKCInstance_77(pErrorCode: *mut UErrorCode) -> *const UNormalizer2;
2767}
2768unsafe extern "C" {
2769 pub fn unorm2_getNFKDInstance_77(pErrorCode: *mut UErrorCode) -> *const UNormalizer2;
2770}
2771unsafe extern "C" {
2772 pub fn unorm2_getNFKCCasefoldInstance_77(pErrorCode: *mut UErrorCode) -> *const UNormalizer2;
2773}
2774unsafe extern "C" {
2775 pub fn unorm2_getNFKCSimpleCasefoldInstance_77(
2776 pErrorCode: *mut UErrorCode,
2777 ) -> *const UNormalizer2;
2778}
2779unsafe extern "C" {
2780 pub fn unorm2_getInstance_77(
2781 packageName: *const ::std::os::raw::c_char,
2782 name: *const ::std::os::raw::c_char,
2783 mode: UNormalization2Mode,
2784 pErrorCode: *mut UErrorCode,
2785 ) -> *const UNormalizer2;
2786}
2787unsafe extern "C" {
2788 pub fn unorm2_openFiltered_77(
2789 norm2: *const UNormalizer2,
2790 filterSet: *const USet,
2791 pErrorCode: *mut UErrorCode,
2792 ) -> *mut UNormalizer2;
2793}
2794unsafe extern "C" {
2795 pub fn unorm2_close_77(norm2: *mut UNormalizer2);
2796}
2797unsafe extern "C" {
2798 pub fn unorm2_normalize_77(
2799 norm2: *const UNormalizer2,
2800 src: *const UChar,
2801 length: i32,
2802 dest: *mut UChar,
2803 capacity: i32,
2804 pErrorCode: *mut UErrorCode,
2805 ) -> i32;
2806}
2807unsafe extern "C" {
2808 pub fn unorm2_normalizeSecondAndAppend_77(
2809 norm2: *const UNormalizer2,
2810 first: *mut UChar,
2811 firstLength: i32,
2812 firstCapacity: i32,
2813 second: *const UChar,
2814 secondLength: i32,
2815 pErrorCode: *mut UErrorCode,
2816 ) -> i32;
2817}
2818unsafe extern "C" {
2819 pub fn unorm2_append_77(
2820 norm2: *const UNormalizer2,
2821 first: *mut UChar,
2822 firstLength: i32,
2823 firstCapacity: i32,
2824 second: *const UChar,
2825 secondLength: i32,
2826 pErrorCode: *mut UErrorCode,
2827 ) -> i32;
2828}
2829unsafe extern "C" {
2830 pub fn unorm2_getDecomposition_77(
2831 norm2: *const UNormalizer2,
2832 c: UChar32,
2833 decomposition: *mut UChar,
2834 capacity: i32,
2835 pErrorCode: *mut UErrorCode,
2836 ) -> i32;
2837}
2838unsafe extern "C" {
2839 pub fn unorm2_getRawDecomposition_77(
2840 norm2: *const UNormalizer2,
2841 c: UChar32,
2842 decomposition: *mut UChar,
2843 capacity: i32,
2844 pErrorCode: *mut UErrorCode,
2845 ) -> i32;
2846}
2847unsafe extern "C" {
2848 pub fn unorm2_composePair_77(norm2: *const UNormalizer2, a: UChar32, b: UChar32) -> UChar32;
2849}
2850unsafe extern "C" {
2851 pub fn unorm2_getCombiningClass_77(norm2: *const UNormalizer2, c: UChar32) -> u8;
2852}
2853unsafe extern "C" {
2854 pub fn unorm2_isNormalized_77(
2855 norm2: *const UNormalizer2,
2856 s: *const UChar,
2857 length: i32,
2858 pErrorCode: *mut UErrorCode,
2859 ) -> UBool;
2860}
2861unsafe extern "C" {
2862 pub fn unorm2_quickCheck_77(
2863 norm2: *const UNormalizer2,
2864 s: *const UChar,
2865 length: i32,
2866 pErrorCode: *mut UErrorCode,
2867 ) -> UNormalizationCheckResult;
2868}
2869unsafe extern "C" {
2870 pub fn unorm2_spanQuickCheckYes_77(
2871 norm2: *const UNormalizer2,
2872 s: *const UChar,
2873 length: i32,
2874 pErrorCode: *mut UErrorCode,
2875 ) -> i32;
2876}
2877unsafe extern "C" {
2878 pub fn unorm2_hasBoundaryBefore_77(norm2: *const UNormalizer2, c: UChar32) -> UBool;
2879}
2880unsafe extern "C" {
2881 pub fn unorm2_hasBoundaryAfter_77(norm2: *const UNormalizer2, c: UChar32) -> UBool;
2882}
2883unsafe extern "C" {
2884 pub fn unorm2_isInert_77(norm2: *const UNormalizer2, c: UChar32) -> UBool;
2885}
2886impl UNormalizationMode {
2887 pub const UNORM_DEFAULT: UNormalizationMode = UNormalizationMode::UNORM_NFC;
2888}
2889#[repr(u32)]
2890#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
2891pub enum UNormalizationMode {
2892 UNORM_NONE = 1,
2893 UNORM_NFD = 2,
2894 UNORM_NFKD = 3,
2895 UNORM_NFC = 4,
2896 UNORM_NFKC = 5,
2897 UNORM_FCD = 6,
2898 UNORM_MODE_COUNT = 7,
2899}
2900#[repr(C)]
2901#[derive(Debug, Copy, Clone)]
2902pub struct UCollator {
2903 _unused: [u8; 0],
2904}
2905#[repr(i32)]
2906#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
2907pub enum UCollationResult {
2908 UCOL_EQUAL = 0,
2909 UCOL_GREATER = 1,
2910 UCOL_LESS = -1,
2911}
2912impl UColAttributeValue {
2913 pub const UCOL_DEFAULT_STRENGTH: UColAttributeValue = UColAttributeValue::UCOL_TERTIARY;
2914}
2915impl UColAttributeValue {
2916 pub const UCOL_QUATERNARY: UColAttributeValue = UColAttributeValue::UCOL_CE_STRENGTH_LIMIT;
2917}
2918impl UColAttributeValue {
2919 pub const UCOL_OFF: UColAttributeValue = UColAttributeValue::UCOL_STRENGTH_LIMIT;
2920}
2921#[repr(i32)]
2922#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
2923pub enum UColAttributeValue {
2924 UCOL_DEFAULT = -1,
2925 UCOL_PRIMARY = 0,
2926 UCOL_SECONDARY = 1,
2927 UCOL_TERTIARY = 2,
2928 UCOL_CE_STRENGTH_LIMIT = 3,
2929 UCOL_IDENTICAL = 15,
2930 UCOL_STRENGTH_LIMIT = 16,
2931 UCOL_ON = 17,
2932 UCOL_SHIFTED = 20,
2933 UCOL_NON_IGNORABLE = 21,
2934 UCOL_LOWER_FIRST = 24,
2935 UCOL_UPPER_FIRST = 25,
2936 UCOL_ATTRIBUTE_VALUE_COUNT = 26,
2937}
2938impl UColReorderCode {
2939 pub const UCOL_REORDER_CODE_OTHERS: UColReorderCode = UColReorderCode::UCOL_REORDER_CODE_NONE;
2940}
2941impl UColReorderCode {
2942 pub const UCOL_REORDER_CODE_FIRST: UColReorderCode = UColReorderCode::UCOL_REORDER_CODE_SPACE;
2943}
2944#[repr(i32)]
2945#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
2946pub enum UColReorderCode {
2947 UCOL_REORDER_CODE_DEFAULT = -1,
2948 UCOL_REORDER_CODE_NONE = 103,
2949 UCOL_REORDER_CODE_SPACE = 4096,
2950 UCOL_REORDER_CODE_PUNCTUATION = 4097,
2951 UCOL_REORDER_CODE_SYMBOL = 4098,
2952 UCOL_REORDER_CODE_CURRENCY = 4099,
2953 UCOL_REORDER_CODE_DIGIT = 4100,
2954 UCOL_REORDER_CODE_LIMIT = 4101,
2955}
2956pub use self::UColAttributeValue as UCollationStrength;
2957impl UColAttribute {
2958 pub const UCOL_DECOMPOSITION_MODE: UColAttribute = UColAttribute::UCOL_NORMALIZATION_MODE;
2959}
2960#[repr(u32)]
2961#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
2962pub enum UColAttribute {
2963 UCOL_FRENCH_COLLATION = 0,
2964 UCOL_ALTERNATE_HANDLING = 1,
2965 UCOL_CASE_FIRST = 2,
2966 UCOL_CASE_LEVEL = 3,
2967 UCOL_NORMALIZATION_MODE = 4,
2968 UCOL_STRENGTH = 5,
2969 UCOL_HIRAGANA_QUATERNARY_MODE = 6,
2970 UCOL_NUMERIC_COLLATION = 7,
2971 UCOL_ATTRIBUTE_COUNT = 8,
2972}
2973#[repr(u32)]
2974#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
2975pub enum UColRuleOption {
2976 UCOL_TAILORING_ONLY = 0,
2977 UCOL_FULL_RULES = 1,
2978}
2979unsafe extern "C" {
2980 pub fn ucol_open_77(
2981 loc: *const ::std::os::raw::c_char,
2982 status: *mut UErrorCode,
2983 ) -> *mut UCollator;
2984}
2985unsafe extern "C" {
2986 pub fn ucol_openRules_77(
2987 rules: *const UChar,
2988 rulesLength: i32,
2989 normalizationMode: UColAttributeValue,
2990 strength: UCollationStrength,
2991 parseError: *mut UParseError,
2992 status: *mut UErrorCode,
2993 ) -> *mut UCollator;
2994}
2995unsafe extern "C" {
2996 pub fn ucol_openFromShortString_77(
2997 definition: *const ::std::os::raw::c_char,
2998 forceDefaults: UBool,
2999 parseError: *mut UParseError,
3000 status: *mut UErrorCode,
3001 ) -> *mut UCollator;
3002}
3003unsafe extern "C" {
3004 pub fn ucol_getContractions_77(
3005 coll: *const UCollator,
3006 conts: *mut USet,
3007 status: *mut UErrorCode,
3008 ) -> i32;
3009}
3010unsafe extern "C" {
3011 pub fn ucol_getContractionsAndExpansions_77(
3012 coll: *const UCollator,
3013 contractions: *mut USet,
3014 expansions: *mut USet,
3015 addPrefixes: UBool,
3016 status: *mut UErrorCode,
3017 );
3018}
3019unsafe extern "C" {
3020 pub fn ucol_close_77(coll: *mut UCollator);
3021}
3022unsafe extern "C" {
3023 pub fn ucol_strcoll_77(
3024 coll: *const UCollator,
3025 source: *const UChar,
3026 sourceLength: i32,
3027 target: *const UChar,
3028 targetLength: i32,
3029 ) -> UCollationResult;
3030}
3031unsafe extern "C" {
3032 pub fn ucol_strcollUTF8_77(
3033 coll: *const UCollator,
3034 source: *const ::std::os::raw::c_char,
3035 sourceLength: i32,
3036 target: *const ::std::os::raw::c_char,
3037 targetLength: i32,
3038 status: *mut UErrorCode,
3039 ) -> UCollationResult;
3040}
3041unsafe extern "C" {
3042 pub fn ucol_greater_77(
3043 coll: *const UCollator,
3044 source: *const UChar,
3045 sourceLength: i32,
3046 target: *const UChar,
3047 targetLength: i32,
3048 ) -> UBool;
3049}
3050unsafe extern "C" {
3051 pub fn ucol_greaterOrEqual_77(
3052 coll: *const UCollator,
3053 source: *const UChar,
3054 sourceLength: i32,
3055 target: *const UChar,
3056 targetLength: i32,
3057 ) -> UBool;
3058}
3059unsafe extern "C" {
3060 pub fn ucol_equal_77(
3061 coll: *const UCollator,
3062 source: *const UChar,
3063 sourceLength: i32,
3064 target: *const UChar,
3065 targetLength: i32,
3066 ) -> UBool;
3067}
3068unsafe extern "C" {
3069 pub fn ucol_strcollIter_77(
3070 coll: *const UCollator,
3071 sIter: *mut UCharIterator,
3072 tIter: *mut UCharIterator,
3073 status: *mut UErrorCode,
3074 ) -> UCollationResult;
3075}
3076unsafe extern "C" {
3077 pub fn ucol_getStrength_77(coll: *const UCollator) -> UCollationStrength;
3078}
3079unsafe extern "C" {
3080 pub fn ucol_setStrength_77(coll: *mut UCollator, strength: UCollationStrength);
3081}
3082unsafe extern "C" {
3083 pub fn ucol_getReorderCodes_77(
3084 coll: *const UCollator,
3085 dest: *mut i32,
3086 destCapacity: i32,
3087 pErrorCode: *mut UErrorCode,
3088 ) -> i32;
3089}
3090unsafe extern "C" {
3091 pub fn ucol_setReorderCodes_77(
3092 coll: *mut UCollator,
3093 reorderCodes: *const i32,
3094 reorderCodesLength: i32,
3095 pErrorCode: *mut UErrorCode,
3096 );
3097}
3098unsafe extern "C" {
3099 pub fn ucol_getEquivalentReorderCodes_77(
3100 reorderCode: i32,
3101 dest: *mut i32,
3102 destCapacity: i32,
3103 pErrorCode: *mut UErrorCode,
3104 ) -> i32;
3105}
3106unsafe extern "C" {
3107 pub fn ucol_getDisplayName_77(
3108 objLoc: *const ::std::os::raw::c_char,
3109 dispLoc: *const ::std::os::raw::c_char,
3110 result: *mut UChar,
3111 resultLength: i32,
3112 status: *mut UErrorCode,
3113 ) -> i32;
3114}
3115unsafe extern "C" {
3116 pub fn ucol_getAvailable_77(localeIndex: i32) -> *const ::std::os::raw::c_char;
3117}
3118unsafe extern "C" {
3119 pub fn ucol_countAvailable_77() -> i32;
3120}
3121unsafe extern "C" {
3122 pub fn ucol_openAvailableLocales_77(status: *mut UErrorCode) -> *mut UEnumeration;
3123}
3124unsafe extern "C" {
3125 pub fn ucol_getKeywords_77(status: *mut UErrorCode) -> *mut UEnumeration;
3126}
3127unsafe extern "C" {
3128 pub fn ucol_getKeywordValues_77(
3129 keyword: *const ::std::os::raw::c_char,
3130 status: *mut UErrorCode,
3131 ) -> *mut UEnumeration;
3132}
3133unsafe extern "C" {
3134 pub fn ucol_getKeywordValuesForLocale_77(
3135 key: *const ::std::os::raw::c_char,
3136 locale: *const ::std::os::raw::c_char,
3137 commonlyUsed: UBool,
3138 status: *mut UErrorCode,
3139 ) -> *mut UEnumeration;
3140}
3141unsafe extern "C" {
3142 pub fn ucol_getFunctionalEquivalent_77(
3143 result: *mut ::std::os::raw::c_char,
3144 resultCapacity: i32,
3145 keyword: *const ::std::os::raw::c_char,
3146 locale: *const ::std::os::raw::c_char,
3147 isAvailable: *mut UBool,
3148 status: *mut UErrorCode,
3149 ) -> i32;
3150}
3151unsafe extern "C" {
3152 pub fn ucol_getRules_77(coll: *const UCollator, length: *mut i32) -> *const UChar;
3153}
3154unsafe extern "C" {
3155 pub fn ucol_getShortDefinitionString_77(
3156 coll: *const UCollator,
3157 locale: *const ::std::os::raw::c_char,
3158 buffer: *mut ::std::os::raw::c_char,
3159 capacity: i32,
3160 status: *mut UErrorCode,
3161 ) -> i32;
3162}
3163unsafe extern "C" {
3164 pub fn ucol_normalizeShortDefinitionString_77(
3165 source: *const ::std::os::raw::c_char,
3166 destination: *mut ::std::os::raw::c_char,
3167 capacity: i32,
3168 parseError: *mut UParseError,
3169 status: *mut UErrorCode,
3170 ) -> i32;
3171}
3172unsafe extern "C" {
3173 pub fn ucol_getSortKey_77(
3174 coll: *const UCollator,
3175 source: *const UChar,
3176 sourceLength: i32,
3177 result: *mut u8,
3178 resultLength: i32,
3179 ) -> i32;
3180}
3181unsafe extern "C" {
3182 pub fn ucol_nextSortKeyPart_77(
3183 coll: *const UCollator,
3184 iter: *mut UCharIterator,
3185 state: *mut u32,
3186 dest: *mut u8,
3187 count: i32,
3188 status: *mut UErrorCode,
3189 ) -> i32;
3190}
3191#[repr(u32)]
3192#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
3193pub enum UColBoundMode {
3194 UCOL_BOUND_LOWER = 0,
3195 UCOL_BOUND_UPPER = 1,
3196 UCOL_BOUND_UPPER_LONG = 2,
3197 UCOL_BOUND_VALUE_COUNT = 3,
3198}
3199unsafe extern "C" {
3200 pub fn ucol_getBound_77(
3201 source: *const u8,
3202 sourceLength: i32,
3203 boundType: UColBoundMode,
3204 noOfLevels: u32,
3205 result: *mut u8,
3206 resultLength: i32,
3207 status: *mut UErrorCode,
3208 ) -> i32;
3209}
3210unsafe extern "C" {
3211 pub fn ucol_getVersion_77(coll: *const UCollator, info: *mut u8);
3212}
3213unsafe extern "C" {
3214 pub fn ucol_getUCAVersion_77(coll: *const UCollator, info: *mut u8);
3215}
3216unsafe extern "C" {
3217 pub fn ucol_mergeSortkeys_77(
3218 src1: *const u8,
3219 src1Length: i32,
3220 src2: *const u8,
3221 src2Length: i32,
3222 dest: *mut u8,
3223 destCapacity: i32,
3224 ) -> i32;
3225}
3226unsafe extern "C" {
3227 pub fn ucol_setAttribute_77(
3228 coll: *mut UCollator,
3229 attr: UColAttribute,
3230 value: UColAttributeValue,
3231 status: *mut UErrorCode,
3232 );
3233}
3234unsafe extern "C" {
3235 pub fn ucol_getAttribute_77(
3236 coll: *const UCollator,
3237 attr: UColAttribute,
3238 status: *mut UErrorCode,
3239 ) -> UColAttributeValue;
3240}
3241unsafe extern "C" {
3242 pub fn ucol_setMaxVariable_77(
3243 coll: *mut UCollator,
3244 group: UColReorderCode,
3245 pErrorCode: *mut UErrorCode,
3246 );
3247}
3248unsafe extern "C" {
3249 pub fn ucol_getMaxVariable_77(coll: *const UCollator) -> UColReorderCode;
3250}
3251unsafe extern "C" {
3252 pub fn ucol_setVariableTop_77(
3253 coll: *mut UCollator,
3254 varTop: *const UChar,
3255 len: i32,
3256 status: *mut UErrorCode,
3257 ) -> u32;
3258}
3259unsafe extern "C" {
3260 pub fn ucol_getVariableTop_77(coll: *const UCollator, status: *mut UErrorCode) -> u32;
3261}
3262unsafe extern "C" {
3263 pub fn ucol_restoreVariableTop_77(coll: *mut UCollator, varTop: u32, status: *mut UErrorCode);
3264}
3265unsafe extern "C" {
3266 pub fn ucol_clone_77(coll: *const UCollator, status: *mut UErrorCode) -> *mut UCollator;
3267}
3268unsafe extern "C" {
3269 pub fn ucol_safeClone_77(
3270 coll: *const UCollator,
3271 stackBuffer: *mut ::std::os::raw::c_void,
3272 pBufferSize: *mut i32,
3273 status: *mut UErrorCode,
3274 ) -> *mut UCollator;
3275}
3276unsafe extern "C" {
3277 pub fn ucol_getRulesEx_77(
3278 coll: *const UCollator,
3279 delta: UColRuleOption,
3280 buffer: *mut UChar,
3281 bufferLen: i32,
3282 ) -> i32;
3283}
3284unsafe extern "C" {
3285 pub fn ucol_getLocale_77(
3286 coll: *const UCollator,
3287 type_: ULocDataLocaleType,
3288 status: *mut UErrorCode,
3289 ) -> *const ::std::os::raw::c_char;
3290}
3291unsafe extern "C" {
3292 pub fn ucol_getLocaleByType_77(
3293 coll: *const UCollator,
3294 type_: ULocDataLocaleType,
3295 status: *mut UErrorCode,
3296 ) -> *const ::std::os::raw::c_char;
3297}
3298unsafe extern "C" {
3299 pub fn ucol_getTailoredSet_77(coll: *const UCollator, status: *mut UErrorCode) -> *mut USet;
3300}
3301unsafe extern "C" {
3302 pub fn ucol_getUnsafeSet_77(
3303 coll: *const UCollator,
3304 unsafe_: *mut USet,
3305 status: *mut UErrorCode,
3306 ) -> i32;
3307}
3308unsafe extern "C" {
3309 pub fn ucol_prepareShortStringOpen_77(
3310 definition: *const ::std::os::raw::c_char,
3311 forceDefaults: UBool,
3312 parseError: *mut UParseError,
3313 status: *mut UErrorCode,
3314 );
3315}
3316unsafe extern "C" {
3317 pub fn ucol_cloneBinary_77(
3318 coll: *const UCollator,
3319 buffer: *mut u8,
3320 capacity: i32,
3321 status: *mut UErrorCode,
3322 ) -> i32;
3323}
3324unsafe extern "C" {
3325 pub fn ucol_openBinary_77(
3326 bin: *const u8,
3327 length: i32,
3328 base: *const UCollator,
3329 status: *mut UErrorCode,
3330 ) -> *mut UCollator;
3331}
3332#[repr(C)]
3333#[derive(Debug, Copy, Clone)]
3334pub struct UCharsetDetector {
3335 _unused: [u8; 0],
3336}
3337#[repr(C)]
3338#[derive(Debug, Copy, Clone)]
3339pub struct UCharsetMatch {
3340 _unused: [u8; 0],
3341}
3342unsafe extern "C" {
3343 pub fn ucsdet_open_77(status: *mut UErrorCode) -> *mut UCharsetDetector;
3344}
3345unsafe extern "C" {
3346 pub fn ucsdet_close_77(ucsd: *mut UCharsetDetector);
3347}
3348unsafe extern "C" {
3349 pub fn ucsdet_setText_77(
3350 ucsd: *mut UCharsetDetector,
3351 textIn: *const ::std::os::raw::c_char,
3352 len: i32,
3353 status: *mut UErrorCode,
3354 );
3355}
3356unsafe extern "C" {
3357 pub fn ucsdet_setDeclaredEncoding_77(
3358 ucsd: *mut UCharsetDetector,
3359 encoding: *const ::std::os::raw::c_char,
3360 length: i32,
3361 status: *mut UErrorCode,
3362 );
3363}
3364unsafe extern "C" {
3365 pub fn ucsdet_detect_77(
3366 ucsd: *mut UCharsetDetector,
3367 status: *mut UErrorCode,
3368 ) -> *const UCharsetMatch;
3369}
3370unsafe extern "C" {
3371 pub fn ucsdet_detectAll_77(
3372 ucsd: *mut UCharsetDetector,
3373 matchesFound: *mut i32,
3374 status: *mut UErrorCode,
3375 ) -> *mut *const UCharsetMatch;
3376}
3377unsafe extern "C" {
3378 pub fn ucsdet_getName_77(
3379 ucsm: *const UCharsetMatch,
3380 status: *mut UErrorCode,
3381 ) -> *const ::std::os::raw::c_char;
3382}
3383unsafe extern "C" {
3384 pub fn ucsdet_getConfidence_77(ucsm: *const UCharsetMatch, status: *mut UErrorCode) -> i32;
3385}
3386unsafe extern "C" {
3387 pub fn ucsdet_getLanguage_77(
3388 ucsm: *const UCharsetMatch,
3389 status: *mut UErrorCode,
3390 ) -> *const ::std::os::raw::c_char;
3391}
3392unsafe extern "C" {
3393 pub fn ucsdet_getUChars_77(
3394 ucsm: *const UCharsetMatch,
3395 buf: *mut UChar,
3396 cap: i32,
3397 status: *mut UErrorCode,
3398 ) -> i32;
3399}
3400unsafe extern "C" {
3401 pub fn ucsdet_getAllDetectableCharsets_77(
3402 ucsd: *const UCharsetDetector,
3403 status: *mut UErrorCode,
3404 ) -> *mut UEnumeration;
3405}
3406unsafe extern "C" {
3407 pub fn ucsdet_isInputFilterEnabled_77(ucsd: *const UCharsetDetector) -> UBool;
3408}
3409unsafe extern "C" {
3410 pub fn ucsdet_enableInputFilter_77(ucsd: *mut UCharsetDetector, filter: UBool) -> UBool;
3411}
3412unsafe extern "C" {
3413 pub fn ucsdet_getDetectableCharsets_77(
3414 ucsd: *const UCharsetDetector,
3415 status: *mut UErrorCode,
3416 ) -> *mut UEnumeration;
3417}
3418unsafe extern "C" {
3419 pub fn ucsdet_setDetectableCharset_77(
3420 ucsd: *mut UCharsetDetector,
3421 encoding: *const ::std::os::raw::c_char,
3422 enabled: UBool,
3423 status: *mut UErrorCode,
3424 );
3425}
3426#[repr(C)]
3427#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, PartialEq)]
3428pub struct UFieldPosition {
3429 pub field: i32,
3430 pub beginIndex: i32,
3431 pub endIndex: i32,
3432}
3433#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3434const _: () = {
3435 ["Size of UFieldPosition"][::std::mem::size_of::<UFieldPosition>() - 12usize];
3436 ["Alignment of UFieldPosition"][::std::mem::align_of::<UFieldPosition>() - 4usize];
3437 ["Offset of field: UFieldPosition::field"]
3438 [::std::mem::offset_of!(UFieldPosition, field) - 0usize];
3439 ["Offset of field: UFieldPosition::beginIndex"]
3440 [::std::mem::offset_of!(UFieldPosition, beginIndex) - 4usize];
3441 ["Offset of field: UFieldPosition::endIndex"]
3442 [::std::mem::offset_of!(UFieldPosition, endIndex) - 8usize];
3443};
3444#[repr(u32)]
3445#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
3446pub enum UFormattableType {
3447 UFMT_DATE = 0,
3448 UFMT_DOUBLE = 1,
3449 UFMT_LONG = 2,
3450 UFMT_STRING = 3,
3451 UFMT_ARRAY = 4,
3452 UFMT_INT64 = 5,
3453 UFMT_OBJECT = 6,
3454 UFMT_COUNT = 7,
3455}
3456pub type UFormattable = *mut ::std::os::raw::c_void;
3457unsafe extern "C" {
3458 pub fn ufmt_open_77(status: *mut UErrorCode) -> *mut UFormattable;
3459}
3460unsafe extern "C" {
3461 pub fn ufmt_close_77(fmt: *mut UFormattable);
3462}
3463unsafe extern "C" {
3464 pub fn ufmt_getType_77(fmt: *const UFormattable, status: *mut UErrorCode) -> UFormattableType;
3465}
3466unsafe extern "C" {
3467 pub fn ufmt_isNumeric_77(fmt: *const UFormattable) -> UBool;
3468}
3469unsafe extern "C" {
3470 pub fn ufmt_getDate_77(fmt: *const UFormattable, status: *mut UErrorCode) -> UDate;
3471}
3472unsafe extern "C" {
3473 pub fn ufmt_getDouble_77(fmt: *mut UFormattable, status: *mut UErrorCode) -> f64;
3474}
3475unsafe extern "C" {
3476 pub fn ufmt_getLong_77(fmt: *mut UFormattable, status: *mut UErrorCode) -> i32;
3477}
3478unsafe extern "C" {
3479 pub fn ufmt_getInt64_77(fmt: *mut UFormattable, status: *mut UErrorCode) -> i64;
3480}
3481unsafe extern "C" {
3482 pub fn ufmt_getObject_77(
3483 fmt: *const UFormattable,
3484 status: *mut UErrorCode,
3485 ) -> *const ::std::os::raw::c_void;
3486}
3487unsafe extern "C" {
3488 pub fn ufmt_getUChars_77(
3489 fmt: *mut UFormattable,
3490 len: *mut i32,
3491 status: *mut UErrorCode,
3492 ) -> *const UChar;
3493}
3494unsafe extern "C" {
3495 pub fn ufmt_getArrayLength_77(fmt: *const UFormattable, status: *mut UErrorCode) -> i32;
3496}
3497unsafe extern "C" {
3498 pub fn ufmt_getArrayItemByIndex_77(
3499 fmt: *mut UFormattable,
3500 n: i32,
3501 status: *mut UErrorCode,
3502 ) -> *mut UFormattable;
3503}
3504unsafe extern "C" {
3505 pub fn ufmt_getDecNumChars_77(
3506 fmt: *mut UFormattable,
3507 len: *mut i32,
3508 status: *mut UErrorCode,
3509 ) -> *const ::std::os::raw::c_char;
3510}
3511#[repr(u32)]
3512#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
3513pub enum UDisplayContextType {
3514 UDISPCTX_TYPE_DIALECT_HANDLING = 0,
3515 UDISPCTX_TYPE_CAPITALIZATION = 1,
3516 UDISPCTX_TYPE_DISPLAY_LENGTH = 2,
3517 UDISPCTX_TYPE_SUBSTITUTE_HANDLING = 3,
3518}
3519#[repr(u32)]
3520#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
3521pub enum UDisplayContext {
3522 UDISPCTX_STANDARD_NAMES = 0,
3523 UDISPCTX_DIALECT_NAMES = 1,
3524 UDISPCTX_CAPITALIZATION_NONE = 256,
3525 UDISPCTX_CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE = 257,
3526 UDISPCTX_CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE = 258,
3527 UDISPCTX_CAPITALIZATION_FOR_UI_LIST_OR_MENU = 259,
3528 UDISPCTX_CAPITALIZATION_FOR_STANDALONE = 260,
3529 UDISPCTX_LENGTH_FULL = 512,
3530 UDISPCTX_LENGTH_SHORT = 513,
3531 UDISPCTX_SUBSTITUTE = 768,
3532 UDISPCTX_NO_SUBSTITUTE = 769,
3533}
3534#[repr(C)]
3535#[derive(Debug, Copy, Clone)]
3536pub struct UFieldPositionIterator {
3537 _unused: [u8; 0],
3538}
3539unsafe extern "C" {
3540 pub fn ufieldpositer_open_77(status: *mut UErrorCode) -> *mut UFieldPositionIterator;
3541}
3542unsafe extern "C" {
3543 pub fn ufieldpositer_close_77(fpositer: *mut UFieldPositionIterator);
3544}
3545unsafe extern "C" {
3546 pub fn ufieldpositer_next_77(
3547 fpositer: *mut UFieldPositionIterator,
3548 beginIndex: *mut i32,
3549 endIndex: *mut i32,
3550 ) -> i32;
3551}
3552pub type UNumberFormat = *mut ::std::os::raw::c_void;
3553impl UNumberFormatStyle {
3554 pub const UNUM_DEFAULT: UNumberFormatStyle = UNumberFormatStyle::UNUM_DECIMAL;
3555}
3556impl UNumberFormatStyle {
3557 pub const UNUM_IGNORE: UNumberFormatStyle = UNumberFormatStyle::UNUM_PATTERN_DECIMAL;
3558}
3559#[repr(u32)]
3560#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
3561pub enum UNumberFormatStyle {
3562 UNUM_PATTERN_DECIMAL = 0,
3563 UNUM_DECIMAL = 1,
3564 UNUM_CURRENCY = 2,
3565 UNUM_PERCENT = 3,
3566 UNUM_SCIENTIFIC = 4,
3567 UNUM_SPELLOUT = 5,
3568 UNUM_ORDINAL = 6,
3569 UNUM_DURATION = 7,
3570 UNUM_NUMBERING_SYSTEM = 8,
3571 UNUM_PATTERN_RULEBASED = 9,
3572 UNUM_CURRENCY_ISO = 10,
3573 UNUM_CURRENCY_PLURAL = 11,
3574 UNUM_CURRENCY_ACCOUNTING = 12,
3575 UNUM_CASH_CURRENCY = 13,
3576 UNUM_DECIMAL_COMPACT_SHORT = 14,
3577 UNUM_DECIMAL_COMPACT_LONG = 15,
3578 UNUM_CURRENCY_STANDARD = 16,
3579 UNUM_FORMAT_STYLE_COUNT = 17,
3580}
3581unsafe extern "C" {
3582 pub fn unum_open_77(
3583 style: UNumberFormatStyle,
3584 pattern: *const UChar,
3585 patternLength: i32,
3586 locale: *const ::std::os::raw::c_char,
3587 parseErr: *mut UParseError,
3588 status: *mut UErrorCode,
3589 ) -> *mut UNumberFormat;
3590}
3591unsafe extern "C" {
3592 pub fn unum_close_77(fmt: *mut UNumberFormat);
3593}
3594unsafe extern "C" {
3595 pub fn unum_clone_77(fmt: *const UNumberFormat, status: *mut UErrorCode) -> *mut UNumberFormat;
3596}
3597unsafe extern "C" {
3598 pub fn unum_format_77(
3599 fmt: *const UNumberFormat,
3600 number: i32,
3601 result: *mut UChar,
3602 resultLength: i32,
3603 pos: *mut UFieldPosition,
3604 status: *mut UErrorCode,
3605 ) -> i32;
3606}
3607unsafe extern "C" {
3608 pub fn unum_formatInt64_77(
3609 fmt: *const UNumberFormat,
3610 number: i64,
3611 result: *mut UChar,
3612 resultLength: i32,
3613 pos: *mut UFieldPosition,
3614 status: *mut UErrorCode,
3615 ) -> i32;
3616}
3617unsafe extern "C" {
3618 pub fn unum_formatDouble_77(
3619 fmt: *const UNumberFormat,
3620 number: f64,
3621 result: *mut UChar,
3622 resultLength: i32,
3623 pos: *mut UFieldPosition,
3624 status: *mut UErrorCode,
3625 ) -> i32;
3626}
3627unsafe extern "C" {
3628 pub fn unum_formatDoubleForFields_77(
3629 format: *const UNumberFormat,
3630 number: f64,
3631 result: *mut UChar,
3632 resultLength: i32,
3633 fpositer: *mut UFieldPositionIterator,
3634 status: *mut UErrorCode,
3635 ) -> i32;
3636}
3637unsafe extern "C" {
3638 pub fn unum_formatDecimal_77(
3639 fmt: *const UNumberFormat,
3640 number: *const ::std::os::raw::c_char,
3641 length: i32,
3642 result: *mut UChar,
3643 resultLength: i32,
3644 pos: *mut UFieldPosition,
3645 status: *mut UErrorCode,
3646 ) -> i32;
3647}
3648unsafe extern "C" {
3649 pub fn unum_formatDoubleCurrency_77(
3650 fmt: *const UNumberFormat,
3651 number: f64,
3652 currency: *mut UChar,
3653 result: *mut UChar,
3654 resultLength: i32,
3655 pos: *mut UFieldPosition,
3656 status: *mut UErrorCode,
3657 ) -> i32;
3658}
3659unsafe extern "C" {
3660 pub fn unum_formatUFormattable_77(
3661 fmt: *const UNumberFormat,
3662 number: *const UFormattable,
3663 result: *mut UChar,
3664 resultLength: i32,
3665 pos: *mut UFieldPosition,
3666 status: *mut UErrorCode,
3667 ) -> i32;
3668}
3669unsafe extern "C" {
3670 pub fn unum_parse_77(
3671 fmt: *const UNumberFormat,
3672 text: *const UChar,
3673 textLength: i32,
3674 parsePos: *mut i32,
3675 status: *mut UErrorCode,
3676 ) -> i32;
3677}
3678unsafe extern "C" {
3679 pub fn unum_parseInt64_77(
3680 fmt: *const UNumberFormat,
3681 text: *const UChar,
3682 textLength: i32,
3683 parsePos: *mut i32,
3684 status: *mut UErrorCode,
3685 ) -> i64;
3686}
3687unsafe extern "C" {
3688 pub fn unum_parseDouble_77(
3689 fmt: *const UNumberFormat,
3690 text: *const UChar,
3691 textLength: i32,
3692 parsePos: *mut i32,
3693 status: *mut UErrorCode,
3694 ) -> f64;
3695}
3696unsafe extern "C" {
3697 pub fn unum_parseDecimal_77(
3698 fmt: *const UNumberFormat,
3699 text: *const UChar,
3700 textLength: i32,
3701 parsePos: *mut i32,
3702 outBuf: *mut ::std::os::raw::c_char,
3703 outBufLength: i32,
3704 status: *mut UErrorCode,
3705 ) -> i32;
3706}
3707unsafe extern "C" {
3708 pub fn unum_parseDoubleCurrency_77(
3709 fmt: *const UNumberFormat,
3710 text: *const UChar,
3711 textLength: i32,
3712 parsePos: *mut i32,
3713 currency: *mut UChar,
3714 status: *mut UErrorCode,
3715 ) -> f64;
3716}
3717unsafe extern "C" {
3718 pub fn unum_parseToUFormattable_77(
3719 fmt: *const UNumberFormat,
3720 result: *mut UFormattable,
3721 text: *const UChar,
3722 textLength: i32,
3723 parsePos: *mut i32,
3724 status: *mut UErrorCode,
3725 ) -> *mut UFormattable;
3726}
3727unsafe extern "C" {
3728 pub fn unum_applyPattern_77(
3729 format: *mut UNumberFormat,
3730 localized: UBool,
3731 pattern: *const UChar,
3732 patternLength: i32,
3733 parseError: *mut UParseError,
3734 status: *mut UErrorCode,
3735 );
3736}
3737unsafe extern "C" {
3738 pub fn unum_getAvailable_77(localeIndex: i32) -> *const ::std::os::raw::c_char;
3739}
3740unsafe extern "C" {
3741 pub fn unum_countAvailable_77() -> i32;
3742}
3743#[repr(u32)]
3744#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
3745pub enum UNumberFormatAttribute {
3746 UNUM_PARSE_INT_ONLY = 0,
3747 UNUM_GROUPING_USED = 1,
3748 UNUM_DECIMAL_ALWAYS_SHOWN = 2,
3749 UNUM_MAX_INTEGER_DIGITS = 3,
3750 UNUM_MIN_INTEGER_DIGITS = 4,
3751 UNUM_INTEGER_DIGITS = 5,
3752 UNUM_MAX_FRACTION_DIGITS = 6,
3753 UNUM_MIN_FRACTION_DIGITS = 7,
3754 UNUM_FRACTION_DIGITS = 8,
3755 UNUM_MULTIPLIER = 9,
3756 UNUM_GROUPING_SIZE = 10,
3757 UNUM_ROUNDING_MODE = 11,
3758 UNUM_ROUNDING_INCREMENT = 12,
3759 UNUM_FORMAT_WIDTH = 13,
3760 UNUM_PADDING_POSITION = 14,
3761 UNUM_SECONDARY_GROUPING_SIZE = 15,
3762 UNUM_SIGNIFICANT_DIGITS_USED = 16,
3763 UNUM_MIN_SIGNIFICANT_DIGITS = 17,
3764 UNUM_MAX_SIGNIFICANT_DIGITS = 18,
3765 UNUM_LENIENT_PARSE = 19,
3766 UNUM_PARSE_ALL_INPUT = 20,
3767 UNUM_SCALE = 21,
3768 UNUM_MINIMUM_GROUPING_DIGITS = 22,
3769 UNUM_CURRENCY_USAGE = 23,
3770 UNUM_MAX_NONBOOLEAN_ATTRIBUTE = 4095,
3771 UNUM_FORMAT_FAIL_IF_MORE_THAN_MAX_DIGITS = 4096,
3772 UNUM_PARSE_NO_EXPONENT = 4097,
3773 UNUM_PARSE_DECIMAL_MARK_REQUIRED = 4098,
3774 UNUM_PARSE_CASE_SENSITIVE = 4099,
3775 UNUM_SIGN_ALWAYS_SHOWN = 4100,
3776 UNUM_LIMIT_BOOLEAN_ATTRIBUTE = 4101,
3777}
3778unsafe extern "C" {
3779 pub fn unum_hasAttribute_77(fmt: *const UNumberFormat, attr: UNumberFormatAttribute) -> bool;
3780}
3781unsafe extern "C" {
3782 pub fn unum_getAttribute_77(fmt: *const UNumberFormat, attr: UNumberFormatAttribute) -> i32;
3783}
3784unsafe extern "C" {
3785 pub fn unum_setAttribute_77(
3786 fmt: *mut UNumberFormat,
3787 attr: UNumberFormatAttribute,
3788 newValue: i32,
3789 );
3790}
3791unsafe extern "C" {
3792 pub fn unum_getDoubleAttribute_77(
3793 fmt: *const UNumberFormat,
3794 attr: UNumberFormatAttribute,
3795 ) -> f64;
3796}
3797unsafe extern "C" {
3798 pub fn unum_setDoubleAttribute_77(
3799 fmt: *mut UNumberFormat,
3800 attr: UNumberFormatAttribute,
3801 newValue: f64,
3802 );
3803}
3804#[repr(u32)]
3805#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
3806pub enum UNumberFormatTextAttribute {
3807 UNUM_POSITIVE_PREFIX = 0,
3808 UNUM_POSITIVE_SUFFIX = 1,
3809 UNUM_NEGATIVE_PREFIX = 2,
3810 UNUM_NEGATIVE_SUFFIX = 3,
3811 UNUM_PADDING_CHARACTER = 4,
3812 UNUM_CURRENCY_CODE = 5,
3813 UNUM_DEFAULT_RULESET = 6,
3814 UNUM_PUBLIC_RULESETS = 7,
3815}
3816unsafe extern "C" {
3817 pub fn unum_getTextAttribute_77(
3818 fmt: *const UNumberFormat,
3819 tag: UNumberFormatTextAttribute,
3820 result: *mut UChar,
3821 resultLength: i32,
3822 status: *mut UErrorCode,
3823 ) -> i32;
3824}
3825unsafe extern "C" {
3826 pub fn unum_setTextAttribute_77(
3827 fmt: *mut UNumberFormat,
3828 tag: UNumberFormatTextAttribute,
3829 newValue: *const UChar,
3830 newValueLength: i32,
3831 status: *mut UErrorCode,
3832 );
3833}
3834unsafe extern "C" {
3835 pub fn unum_toPattern_77(
3836 fmt: *const UNumberFormat,
3837 isPatternLocalized: UBool,
3838 result: *mut UChar,
3839 resultLength: i32,
3840 status: *mut UErrorCode,
3841 ) -> i32;
3842}
3843#[repr(u32)]
3844#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
3845pub enum UNumberFormatSymbol {
3846 UNUM_DECIMAL_SEPARATOR_SYMBOL = 0,
3847 UNUM_GROUPING_SEPARATOR_SYMBOL = 1,
3848 UNUM_PATTERN_SEPARATOR_SYMBOL = 2,
3849 UNUM_PERCENT_SYMBOL = 3,
3850 UNUM_ZERO_DIGIT_SYMBOL = 4,
3851 UNUM_DIGIT_SYMBOL = 5,
3852 UNUM_MINUS_SIGN_SYMBOL = 6,
3853 UNUM_PLUS_SIGN_SYMBOL = 7,
3854 UNUM_CURRENCY_SYMBOL = 8,
3855 UNUM_INTL_CURRENCY_SYMBOL = 9,
3856 UNUM_MONETARY_SEPARATOR_SYMBOL = 10,
3857 UNUM_EXPONENTIAL_SYMBOL = 11,
3858 UNUM_PERMILL_SYMBOL = 12,
3859 UNUM_PAD_ESCAPE_SYMBOL = 13,
3860 UNUM_INFINITY_SYMBOL = 14,
3861 UNUM_NAN_SYMBOL = 15,
3862 UNUM_SIGNIFICANT_DIGIT_SYMBOL = 16,
3863 UNUM_MONETARY_GROUPING_SEPARATOR_SYMBOL = 17,
3864 UNUM_ONE_DIGIT_SYMBOL = 18,
3865 UNUM_TWO_DIGIT_SYMBOL = 19,
3866 UNUM_THREE_DIGIT_SYMBOL = 20,
3867 UNUM_FOUR_DIGIT_SYMBOL = 21,
3868 UNUM_FIVE_DIGIT_SYMBOL = 22,
3869 UNUM_SIX_DIGIT_SYMBOL = 23,
3870 UNUM_SEVEN_DIGIT_SYMBOL = 24,
3871 UNUM_EIGHT_DIGIT_SYMBOL = 25,
3872 UNUM_NINE_DIGIT_SYMBOL = 26,
3873 UNUM_EXPONENT_MULTIPLICATION_SYMBOL = 27,
3874 UNUM_APPROXIMATELY_SIGN_SYMBOL = 28,
3875 UNUM_FORMAT_SYMBOL_COUNT = 29,
3876}
3877unsafe extern "C" {
3878 pub fn unum_getSymbol_77(
3879 fmt: *const UNumberFormat,
3880 symbol: UNumberFormatSymbol,
3881 buffer: *mut UChar,
3882 size: i32,
3883 status: *mut UErrorCode,
3884 ) -> i32;
3885}
3886unsafe extern "C" {
3887 pub fn unum_setSymbol_77(
3888 fmt: *mut UNumberFormat,
3889 symbol: UNumberFormatSymbol,
3890 value: *const UChar,
3891 length: i32,
3892 status: *mut UErrorCode,
3893 );
3894}
3895unsafe extern "C" {
3896 pub fn unum_getLocaleByType_77(
3897 fmt: *const UNumberFormat,
3898 type_: ULocDataLocaleType,
3899 status: *mut UErrorCode,
3900 ) -> *const ::std::os::raw::c_char;
3901}
3902unsafe extern "C" {
3903 pub fn unum_setContext_77(
3904 fmt: *mut UNumberFormat,
3905 value: UDisplayContext,
3906 status: *mut UErrorCode,
3907 );
3908}
3909unsafe extern "C" {
3910 pub fn unum_getContext_77(
3911 fmt: *const UNumberFormat,
3912 type_: UDisplayContextType,
3913 status: *mut UErrorCode,
3914 ) -> UDisplayContext;
3915}
3916pub type UDateFormat = *mut ::std::os::raw::c_void;
3917impl UDateFormatStyle {
3918 pub const UDAT_DEFAULT: UDateFormatStyle = UDateFormatStyle::UDAT_MEDIUM;
3919}
3920impl UDateFormatStyle {
3921 pub const UDAT_FULL_RELATIVE: UDateFormatStyle = UDateFormatStyle::UDAT_RELATIVE;
3922}
3923impl UDateFormatStyle {
3924 pub const UDAT_IGNORE: UDateFormatStyle = UDateFormatStyle::UDAT_PATTERN;
3925}
3926#[repr(i32)]
3927#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
3928pub enum UDateFormatStyle {
3929 UDAT_FULL = 0,
3930 UDAT_LONG = 1,
3931 UDAT_MEDIUM = 2,
3932 UDAT_SHORT = 3,
3933 UDAT_RELATIVE = 128,
3934 UDAT_LONG_RELATIVE = 129,
3935 UDAT_MEDIUM_RELATIVE = 130,
3936 UDAT_SHORT_RELATIVE = 131,
3937 UDAT_NONE = -1,
3938 UDAT_PATTERN = -2,
3939}
3940#[repr(u32)]
3941#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
3942pub enum UDateFormatField {
3943 UDAT_ERA_FIELD = 0,
3944 UDAT_YEAR_FIELD = 1,
3945 UDAT_MONTH_FIELD = 2,
3946 UDAT_DATE_FIELD = 3,
3947 UDAT_HOUR_OF_DAY1_FIELD = 4,
3948 UDAT_HOUR_OF_DAY0_FIELD = 5,
3949 UDAT_MINUTE_FIELD = 6,
3950 UDAT_SECOND_FIELD = 7,
3951 UDAT_FRACTIONAL_SECOND_FIELD = 8,
3952 UDAT_DAY_OF_WEEK_FIELD = 9,
3953 UDAT_DAY_OF_YEAR_FIELD = 10,
3954 UDAT_DAY_OF_WEEK_IN_MONTH_FIELD = 11,
3955 UDAT_WEEK_OF_YEAR_FIELD = 12,
3956 UDAT_WEEK_OF_MONTH_FIELD = 13,
3957 UDAT_AM_PM_FIELD = 14,
3958 UDAT_HOUR1_FIELD = 15,
3959 UDAT_HOUR0_FIELD = 16,
3960 UDAT_TIMEZONE_FIELD = 17,
3961 UDAT_YEAR_WOY_FIELD = 18,
3962 UDAT_DOW_LOCAL_FIELD = 19,
3963 UDAT_EXTENDED_YEAR_FIELD = 20,
3964 UDAT_JULIAN_DAY_FIELD = 21,
3965 UDAT_MILLISECONDS_IN_DAY_FIELD = 22,
3966 UDAT_TIMEZONE_RFC_FIELD = 23,
3967 UDAT_TIMEZONE_GENERIC_FIELD = 24,
3968 UDAT_STANDALONE_DAY_FIELD = 25,
3969 UDAT_STANDALONE_MONTH_FIELD = 26,
3970 UDAT_QUARTER_FIELD = 27,
3971 UDAT_STANDALONE_QUARTER_FIELD = 28,
3972 UDAT_TIMEZONE_SPECIAL_FIELD = 29,
3973 UDAT_YEAR_NAME_FIELD = 30,
3974 UDAT_TIMEZONE_LOCALIZED_GMT_OFFSET_FIELD = 31,
3975 UDAT_TIMEZONE_ISO_FIELD = 32,
3976 UDAT_TIMEZONE_ISO_LOCAL_FIELD = 33,
3977 UDAT_RELATED_YEAR_FIELD = 34,
3978 UDAT_AM_PM_MIDNIGHT_NOON_FIELD = 35,
3979 UDAT_FLEXIBLE_DAY_PERIOD_FIELD = 36,
3980 UDAT_TIME_SEPARATOR_FIELD = 37,
3981 UDAT_FIELD_COUNT = 38,
3982}
3983unsafe extern "C" {
3984 pub fn udat_toCalendarDateField_77(field: UDateFormatField) -> UCalendarDateFields;
3985}
3986unsafe extern "C" {
3987 pub fn udat_open_77(
3988 timeStyle: UDateFormatStyle,
3989 dateStyle: UDateFormatStyle,
3990 locale: *const ::std::os::raw::c_char,
3991 tzID: *const UChar,
3992 tzIDLength: i32,
3993 pattern: *const UChar,
3994 patternLength: i32,
3995 status: *mut UErrorCode,
3996 ) -> *mut UDateFormat;
3997}
3998unsafe extern "C" {
3999 pub fn udat_close_77(format: *mut UDateFormat);
4000}
4001#[repr(u32)]
4002#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
4003pub enum UDateFormatBooleanAttribute {
4004 UDAT_PARSE_ALLOW_WHITESPACE = 0,
4005 UDAT_PARSE_ALLOW_NUMERIC = 1,
4006 UDAT_PARSE_PARTIAL_LITERAL_MATCH = 2,
4007 UDAT_PARSE_MULTIPLE_PATTERNS_FOR_MATCH = 3,
4008 UDAT_BOOLEAN_ATTRIBUTE_COUNT = 4,
4009}
4010unsafe extern "C" {
4011 pub fn udat_getBooleanAttribute_77(
4012 fmt: *const UDateFormat,
4013 attr: UDateFormatBooleanAttribute,
4014 status: *mut UErrorCode,
4015 ) -> UBool;
4016}
4017unsafe extern "C" {
4018 pub fn udat_setBooleanAttribute_77(
4019 fmt: *mut UDateFormat,
4020 attr: UDateFormatBooleanAttribute,
4021 newValue: UBool,
4022 status: *mut UErrorCode,
4023 );
4024}
4025#[repr(u32)]
4026#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
4027pub enum UDateFormatHourCycle {
4028 UDAT_HOUR_CYCLE_11 = 0,
4029 UDAT_HOUR_CYCLE_12 = 1,
4030 UDAT_HOUR_CYCLE_23 = 2,
4031 UDAT_HOUR_CYCLE_24 = 3,
4032}
4033unsafe extern "C" {
4034 pub fn udat_clone_77(fmt: *const UDateFormat, status: *mut UErrorCode) -> *mut UDateFormat;
4035}
4036unsafe extern "C" {
4037 pub fn udat_format_77(
4038 format: *const UDateFormat,
4039 dateToFormat: UDate,
4040 result: *mut UChar,
4041 resultLength: i32,
4042 position: *mut UFieldPosition,
4043 status: *mut UErrorCode,
4044 ) -> i32;
4045}
4046unsafe extern "C" {
4047 pub fn udat_formatCalendar_77(
4048 format: *const UDateFormat,
4049 calendar: *mut UCalendar,
4050 result: *mut UChar,
4051 capacity: i32,
4052 position: *mut UFieldPosition,
4053 status: *mut UErrorCode,
4054 ) -> i32;
4055}
4056unsafe extern "C" {
4057 pub fn udat_formatForFields_77(
4058 format: *const UDateFormat,
4059 dateToFormat: UDate,
4060 result: *mut UChar,
4061 resultLength: i32,
4062 fpositer: *mut UFieldPositionIterator,
4063 status: *mut UErrorCode,
4064 ) -> i32;
4065}
4066unsafe extern "C" {
4067 pub fn udat_formatCalendarForFields_77(
4068 format: *const UDateFormat,
4069 calendar: *mut UCalendar,
4070 result: *mut UChar,
4071 capacity: i32,
4072 fpositer: *mut UFieldPositionIterator,
4073 status: *mut UErrorCode,
4074 ) -> i32;
4075}
4076unsafe extern "C" {
4077 pub fn udat_parse_77(
4078 format: *const UDateFormat,
4079 text: *const UChar,
4080 textLength: i32,
4081 parsePos: *mut i32,
4082 status: *mut UErrorCode,
4083 ) -> UDate;
4084}
4085unsafe extern "C" {
4086 pub fn udat_parseCalendar_77(
4087 format: *const UDateFormat,
4088 calendar: *mut UCalendar,
4089 text: *const UChar,
4090 textLength: i32,
4091 parsePos: *mut i32,
4092 status: *mut UErrorCode,
4093 );
4094}
4095unsafe extern "C" {
4096 pub fn udat_isLenient_77(fmt: *const UDateFormat) -> UBool;
4097}
4098unsafe extern "C" {
4099 pub fn udat_setLenient_77(fmt: *mut UDateFormat, isLenient: UBool);
4100}
4101unsafe extern "C" {
4102 pub fn udat_getCalendar_77(fmt: *const UDateFormat) -> *const UCalendar;
4103}
4104unsafe extern "C" {
4105 pub fn udat_setCalendar_77(fmt: *mut UDateFormat, calendarToSet: *const UCalendar);
4106}
4107unsafe extern "C" {
4108 pub fn udat_getNumberFormat_77(fmt: *const UDateFormat) -> *const UNumberFormat;
4109}
4110unsafe extern "C" {
4111 pub fn udat_getNumberFormatForField_77(
4112 fmt: *const UDateFormat,
4113 field: UChar,
4114 ) -> *const UNumberFormat;
4115}
4116unsafe extern "C" {
4117 pub fn udat_adoptNumberFormatForFields_77(
4118 fmt: *mut UDateFormat,
4119 fields: *const UChar,
4120 numberFormatToSet: *mut UNumberFormat,
4121 status: *mut UErrorCode,
4122 );
4123}
4124unsafe extern "C" {
4125 pub fn udat_setNumberFormat_77(fmt: *mut UDateFormat, numberFormatToSet: *const UNumberFormat);
4126}
4127unsafe extern "C" {
4128 pub fn udat_adoptNumberFormat_77(
4129 fmt: *mut UDateFormat,
4130 numberFormatToAdopt: *mut UNumberFormat,
4131 );
4132}
4133unsafe extern "C" {
4134 pub fn udat_getAvailable_77(localeIndex: i32) -> *const ::std::os::raw::c_char;
4135}
4136unsafe extern "C" {
4137 pub fn udat_countAvailable_77() -> i32;
4138}
4139unsafe extern "C" {
4140 pub fn udat_get2DigitYearStart_77(fmt: *const UDateFormat, status: *mut UErrorCode) -> UDate;
4141}
4142unsafe extern "C" {
4143 pub fn udat_set2DigitYearStart_77(fmt: *mut UDateFormat, d: UDate, status: *mut UErrorCode);
4144}
4145unsafe extern "C" {
4146 pub fn udat_toPattern_77(
4147 fmt: *const UDateFormat,
4148 localized: UBool,
4149 result: *mut UChar,
4150 resultLength: i32,
4151 status: *mut UErrorCode,
4152 ) -> i32;
4153}
4154unsafe extern "C" {
4155 pub fn udat_applyPattern_77(
4156 format: *mut UDateFormat,
4157 localized: UBool,
4158 pattern: *const UChar,
4159 patternLength: i32,
4160 );
4161}
4162#[repr(u32)]
4163#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
4164pub enum UDateFormatSymbolType {
4165 UDAT_ERAS = 0,
4166 UDAT_MONTHS = 1,
4167 UDAT_SHORT_MONTHS = 2,
4168 UDAT_WEEKDAYS = 3,
4169 UDAT_SHORT_WEEKDAYS = 4,
4170 UDAT_AM_PMS = 5,
4171 UDAT_LOCALIZED_CHARS = 6,
4172 UDAT_ERA_NAMES = 7,
4173 UDAT_NARROW_MONTHS = 8,
4174 UDAT_NARROW_WEEKDAYS = 9,
4175 UDAT_STANDALONE_MONTHS = 10,
4176 UDAT_STANDALONE_SHORT_MONTHS = 11,
4177 UDAT_STANDALONE_NARROW_MONTHS = 12,
4178 UDAT_STANDALONE_WEEKDAYS = 13,
4179 UDAT_STANDALONE_SHORT_WEEKDAYS = 14,
4180 UDAT_STANDALONE_NARROW_WEEKDAYS = 15,
4181 UDAT_QUARTERS = 16,
4182 UDAT_SHORT_QUARTERS = 17,
4183 UDAT_STANDALONE_QUARTERS = 18,
4184 UDAT_STANDALONE_SHORT_QUARTERS = 19,
4185 UDAT_SHORTER_WEEKDAYS = 20,
4186 UDAT_STANDALONE_SHORTER_WEEKDAYS = 21,
4187 UDAT_CYCLIC_YEARS_WIDE = 22,
4188 UDAT_CYCLIC_YEARS_ABBREVIATED = 23,
4189 UDAT_CYCLIC_YEARS_NARROW = 24,
4190 UDAT_ZODIAC_NAMES_WIDE = 25,
4191 UDAT_ZODIAC_NAMES_ABBREVIATED = 26,
4192 UDAT_ZODIAC_NAMES_NARROW = 27,
4193 UDAT_NARROW_QUARTERS = 28,
4194 UDAT_STANDALONE_NARROW_QUARTERS = 29,
4195}
4196#[repr(C)]
4197#[derive(Debug, Copy, Clone)]
4198pub struct UDateFormatSymbols {
4199 _unused: [u8; 0],
4200}
4201unsafe extern "C" {
4202 pub fn udat_getSymbols_77(
4203 fmt: *const UDateFormat,
4204 type_: UDateFormatSymbolType,
4205 symbolIndex: i32,
4206 result: *mut UChar,
4207 resultLength: i32,
4208 status: *mut UErrorCode,
4209 ) -> i32;
4210}
4211unsafe extern "C" {
4212 pub fn udat_countSymbols_77(fmt: *const UDateFormat, type_: UDateFormatSymbolType) -> i32;
4213}
4214unsafe extern "C" {
4215 pub fn udat_setSymbols_77(
4216 format: *mut UDateFormat,
4217 type_: UDateFormatSymbolType,
4218 symbolIndex: i32,
4219 value: *mut UChar,
4220 valueLength: i32,
4221 status: *mut UErrorCode,
4222 );
4223}
4224unsafe extern "C" {
4225 pub fn udat_getLocaleByType_77(
4226 fmt: *const UDateFormat,
4227 type_: ULocDataLocaleType,
4228 status: *mut UErrorCode,
4229 ) -> *const ::std::os::raw::c_char;
4230}
4231unsafe extern "C" {
4232 pub fn udat_setContext_77(
4233 fmt: *mut UDateFormat,
4234 value: UDisplayContext,
4235 status: *mut UErrorCode,
4236 );
4237}
4238unsafe extern "C" {
4239 pub fn udat_getContext_77(
4240 fmt: *const UDateFormat,
4241 type_: UDisplayContextType,
4242 status: *mut UErrorCode,
4243 ) -> UDisplayContext;
4244}
4245unsafe extern "C" {
4246 pub fn udat_toPatternRelativeDate_77(
4247 fmt: *const UDateFormat,
4248 result: *mut UChar,
4249 resultLength: i32,
4250 status: *mut UErrorCode,
4251 ) -> i32;
4252}
4253unsafe extern "C" {
4254 pub fn udat_toPatternRelativeTime_77(
4255 fmt: *const UDateFormat,
4256 result: *mut UChar,
4257 resultLength: i32,
4258 status: *mut UErrorCode,
4259 ) -> i32;
4260}
4261unsafe extern "C" {
4262 pub fn udat_applyPatternRelative_77(
4263 format: *mut UDateFormat,
4264 datePattern: *const UChar,
4265 datePatternLength: i32,
4266 timePattern: *const UChar,
4267 timePatternLength: i32,
4268 status: *mut UErrorCode,
4269 );
4270}
4271pub type UDateFormatOpener = ::std::option::Option<
4272 unsafe extern "C" fn(
4273 timeStyle: UDateFormatStyle,
4274 dateStyle: UDateFormatStyle,
4275 locale: *const ::std::os::raw::c_char,
4276 tzID: *const UChar,
4277 tzIDLength: i32,
4278 pattern: *const UChar,
4279 patternLength: i32,
4280 status: *mut UErrorCode,
4281 ) -> *mut UDateFormat,
4282>;
4283unsafe extern "C" {
4284 pub fn udat_registerOpener_77(opener: UDateFormatOpener, status: *mut UErrorCode);
4285}
4286unsafe extern "C" {
4287 pub fn udat_unregisterOpener_77(
4288 opener: UDateFormatOpener,
4289 status: *mut UErrorCode,
4290 ) -> UDateFormatOpener;
4291}
4292pub type UDateTimePatternGenerator = *mut ::std::os::raw::c_void;
4293#[repr(u32)]
4294#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
4295pub enum UDateTimePatternField {
4296 UDATPG_ERA_FIELD = 0,
4297 UDATPG_YEAR_FIELD = 1,
4298 UDATPG_QUARTER_FIELD = 2,
4299 UDATPG_MONTH_FIELD = 3,
4300 UDATPG_WEEK_OF_YEAR_FIELD = 4,
4301 UDATPG_WEEK_OF_MONTH_FIELD = 5,
4302 UDATPG_WEEKDAY_FIELD = 6,
4303 UDATPG_DAY_OF_YEAR_FIELD = 7,
4304 UDATPG_DAY_OF_WEEK_IN_MONTH_FIELD = 8,
4305 UDATPG_DAY_FIELD = 9,
4306 UDATPG_DAYPERIOD_FIELD = 10,
4307 UDATPG_HOUR_FIELD = 11,
4308 UDATPG_MINUTE_FIELD = 12,
4309 UDATPG_SECOND_FIELD = 13,
4310 UDATPG_FRACTIONAL_SECOND_FIELD = 14,
4311 UDATPG_ZONE_FIELD = 15,
4312 UDATPG_FIELD_COUNT = 16,
4313}
4314#[repr(u32)]
4315#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
4316pub enum UDateTimePGDisplayWidth {
4317 UDATPG_WIDE = 0,
4318 UDATPG_ABBREVIATED = 1,
4319 UDATPG_NARROW = 2,
4320}
4321#[repr(u32)]
4322#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
4323pub enum UDateTimePatternMatchOptions {
4324 UDATPG_MATCH_NO_OPTIONS = 0,
4325 UDATPG_MATCH_HOUR_FIELD_LENGTH = 2048,
4326 UDATPG_MATCH_MINUTE_FIELD_LENGTH = 4096,
4327 UDATPG_MATCH_SECOND_FIELD_LENGTH = 8192,
4328 UDATPG_MATCH_ALL_FIELDS_LENGTH = 65535,
4329}
4330#[repr(u32)]
4331#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
4332pub enum UDateTimePatternConflict {
4333 UDATPG_NO_CONFLICT = 0,
4334 UDATPG_BASE_CONFLICT = 1,
4335 UDATPG_CONFLICT = 2,
4336 UDATPG_CONFLICT_COUNT = 3,
4337}
4338unsafe extern "C" {
4339 pub fn udatpg_open_77(
4340 locale: *const ::std::os::raw::c_char,
4341 pErrorCode: *mut UErrorCode,
4342 ) -> *mut UDateTimePatternGenerator;
4343}
4344unsafe extern "C" {
4345 pub fn udatpg_openEmpty_77(pErrorCode: *mut UErrorCode) -> *mut UDateTimePatternGenerator;
4346}
4347unsafe extern "C" {
4348 pub fn udatpg_close_77(dtpg: *mut UDateTimePatternGenerator);
4349}
4350unsafe extern "C" {
4351 pub fn udatpg_clone_77(
4352 dtpg: *const UDateTimePatternGenerator,
4353 pErrorCode: *mut UErrorCode,
4354 ) -> *mut UDateTimePatternGenerator;
4355}
4356unsafe extern "C" {
4357 pub fn udatpg_getBestPattern_77(
4358 dtpg: *mut UDateTimePatternGenerator,
4359 skeleton: *const UChar,
4360 length: i32,
4361 bestPattern: *mut UChar,
4362 capacity: i32,
4363 pErrorCode: *mut UErrorCode,
4364 ) -> i32;
4365}
4366unsafe extern "C" {
4367 pub fn udatpg_getBestPatternWithOptions_77(
4368 dtpg: *mut UDateTimePatternGenerator,
4369 skeleton: *const UChar,
4370 length: i32,
4371 options: UDateTimePatternMatchOptions,
4372 bestPattern: *mut UChar,
4373 capacity: i32,
4374 pErrorCode: *mut UErrorCode,
4375 ) -> i32;
4376}
4377unsafe extern "C" {
4378 pub fn udatpg_getSkeleton_77(
4379 unusedDtpg: *mut UDateTimePatternGenerator,
4380 pattern: *const UChar,
4381 length: i32,
4382 skeleton: *mut UChar,
4383 capacity: i32,
4384 pErrorCode: *mut UErrorCode,
4385 ) -> i32;
4386}
4387unsafe extern "C" {
4388 pub fn udatpg_getBaseSkeleton_77(
4389 unusedDtpg: *mut UDateTimePatternGenerator,
4390 pattern: *const UChar,
4391 length: i32,
4392 baseSkeleton: *mut UChar,
4393 capacity: i32,
4394 pErrorCode: *mut UErrorCode,
4395 ) -> i32;
4396}
4397unsafe extern "C" {
4398 pub fn udatpg_addPattern_77(
4399 dtpg: *mut UDateTimePatternGenerator,
4400 pattern: *const UChar,
4401 patternLength: i32,
4402 override_: UBool,
4403 conflictingPattern: *mut UChar,
4404 capacity: i32,
4405 pLength: *mut i32,
4406 pErrorCode: *mut UErrorCode,
4407 ) -> UDateTimePatternConflict;
4408}
4409unsafe extern "C" {
4410 pub fn udatpg_setAppendItemFormat_77(
4411 dtpg: *mut UDateTimePatternGenerator,
4412 field: UDateTimePatternField,
4413 value: *const UChar,
4414 length: i32,
4415 );
4416}
4417unsafe extern "C" {
4418 pub fn udatpg_getAppendItemFormat_77(
4419 dtpg: *const UDateTimePatternGenerator,
4420 field: UDateTimePatternField,
4421 pLength: *mut i32,
4422 ) -> *const UChar;
4423}
4424unsafe extern "C" {
4425 pub fn udatpg_setAppendItemName_77(
4426 dtpg: *mut UDateTimePatternGenerator,
4427 field: UDateTimePatternField,
4428 value: *const UChar,
4429 length: i32,
4430 );
4431}
4432unsafe extern "C" {
4433 pub fn udatpg_getAppendItemName_77(
4434 dtpg: *const UDateTimePatternGenerator,
4435 field: UDateTimePatternField,
4436 pLength: *mut i32,
4437 ) -> *const UChar;
4438}
4439unsafe extern "C" {
4440 pub fn udatpg_getFieldDisplayName_77(
4441 dtpg: *const UDateTimePatternGenerator,
4442 field: UDateTimePatternField,
4443 width: UDateTimePGDisplayWidth,
4444 fieldName: *mut UChar,
4445 capacity: i32,
4446 pErrorCode: *mut UErrorCode,
4447 ) -> i32;
4448}
4449unsafe extern "C" {
4450 pub fn udatpg_setDateTimeFormat_77(
4451 dtpg: *const UDateTimePatternGenerator,
4452 dtFormat: *const UChar,
4453 length: i32,
4454 );
4455}
4456unsafe extern "C" {
4457 pub fn udatpg_getDateTimeFormat_77(
4458 dtpg: *const UDateTimePatternGenerator,
4459 pLength: *mut i32,
4460 ) -> *const UChar;
4461}
4462unsafe extern "C" {
4463 pub fn udatpg_setDateTimeFormatForStyle_77(
4464 udtpg: *mut UDateTimePatternGenerator,
4465 style: UDateFormatStyle,
4466 dateTimeFormat: *const UChar,
4467 length: i32,
4468 pErrorCode: *mut UErrorCode,
4469 );
4470}
4471unsafe extern "C" {
4472 pub fn udatpg_getDateTimeFormatForStyle_77(
4473 udtpg: *const UDateTimePatternGenerator,
4474 style: UDateFormatStyle,
4475 pLength: *mut i32,
4476 pErrorCode: *mut UErrorCode,
4477 ) -> *const UChar;
4478}
4479unsafe extern "C" {
4480 pub fn udatpg_setDecimal_77(
4481 dtpg: *mut UDateTimePatternGenerator,
4482 decimal: *const UChar,
4483 length: i32,
4484 );
4485}
4486unsafe extern "C" {
4487 pub fn udatpg_getDecimal_77(
4488 dtpg: *const UDateTimePatternGenerator,
4489 pLength: *mut i32,
4490 ) -> *const UChar;
4491}
4492unsafe extern "C" {
4493 pub fn udatpg_replaceFieldTypes_77(
4494 dtpg: *mut UDateTimePatternGenerator,
4495 pattern: *const UChar,
4496 patternLength: i32,
4497 skeleton: *const UChar,
4498 skeletonLength: i32,
4499 dest: *mut UChar,
4500 destCapacity: i32,
4501 pErrorCode: *mut UErrorCode,
4502 ) -> i32;
4503}
4504unsafe extern "C" {
4505 pub fn udatpg_replaceFieldTypesWithOptions_77(
4506 dtpg: *mut UDateTimePatternGenerator,
4507 pattern: *const UChar,
4508 patternLength: i32,
4509 skeleton: *const UChar,
4510 skeletonLength: i32,
4511 options: UDateTimePatternMatchOptions,
4512 dest: *mut UChar,
4513 destCapacity: i32,
4514 pErrorCode: *mut UErrorCode,
4515 ) -> i32;
4516}
4517unsafe extern "C" {
4518 pub fn udatpg_openSkeletons_77(
4519 dtpg: *const UDateTimePatternGenerator,
4520 pErrorCode: *mut UErrorCode,
4521 ) -> *mut UEnumeration;
4522}
4523unsafe extern "C" {
4524 pub fn udatpg_openBaseSkeletons_77(
4525 dtpg: *const UDateTimePatternGenerator,
4526 pErrorCode: *mut UErrorCode,
4527 ) -> *mut UEnumeration;
4528}
4529unsafe extern "C" {
4530 pub fn udatpg_getPatternForSkeleton_77(
4531 dtpg: *const UDateTimePatternGenerator,
4532 skeleton: *const UChar,
4533 skeletonLength: i32,
4534 pLength: *mut i32,
4535 ) -> *const UChar;
4536}
4537unsafe extern "C" {
4538 pub fn udatpg_getDefaultHourCycle_77(
4539 dtpg: *const UDateTimePatternGenerator,
4540 pErrorCode: *mut UErrorCode,
4541 ) -> UDateFormatHourCycle;
4542}
4543#[repr(C)]
4544#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, PartialEq)]
4545pub struct UDataInfo {
4546 pub size: u16,
4547 pub reservedWord: u16,
4548 pub isBigEndian: u8,
4549 pub charsetFamily: u8,
4550 pub sizeofUChar: u8,
4551 pub reservedByte: u8,
4552 pub dataFormat: [u8; 4usize],
4553 pub formatVersion: [u8; 4usize],
4554 pub dataVersion: [u8; 4usize],
4555}
4556#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4557const _: () = {
4558 ["Size of UDataInfo"][::std::mem::size_of::<UDataInfo>() - 20usize];
4559 ["Alignment of UDataInfo"][::std::mem::align_of::<UDataInfo>() - 2usize];
4560 ["Offset of field: UDataInfo::size"][::std::mem::offset_of!(UDataInfo, size) - 0usize];
4561 ["Offset of field: UDataInfo::reservedWord"]
4562 [::std::mem::offset_of!(UDataInfo, reservedWord) - 2usize];
4563 ["Offset of field: UDataInfo::isBigEndian"]
4564 [::std::mem::offset_of!(UDataInfo, isBigEndian) - 4usize];
4565 ["Offset of field: UDataInfo::charsetFamily"]
4566 [::std::mem::offset_of!(UDataInfo, charsetFamily) - 5usize];
4567 ["Offset of field: UDataInfo::sizeofUChar"]
4568 [::std::mem::offset_of!(UDataInfo, sizeofUChar) - 6usize];
4569 ["Offset of field: UDataInfo::reservedByte"]
4570 [::std::mem::offset_of!(UDataInfo, reservedByte) - 7usize];
4571 ["Offset of field: UDataInfo::dataFormat"]
4572 [::std::mem::offset_of!(UDataInfo, dataFormat) - 8usize];
4573 ["Offset of field: UDataInfo::formatVersion"]
4574 [::std::mem::offset_of!(UDataInfo, formatVersion) - 12usize];
4575 ["Offset of field: UDataInfo::dataVersion"]
4576 [::std::mem::offset_of!(UDataInfo, dataVersion) - 16usize];
4577};
4578#[repr(C)]
4579#[derive(Debug, Copy, Clone)]
4580pub struct UDataMemory {
4581 _unused: [u8; 0],
4582}
4583pub type UDataMemoryIsAcceptable = ::std::option::Option<
4584 unsafe extern "C" fn(
4585 context: *mut ::std::os::raw::c_void,
4586 type_: *const ::std::os::raw::c_char,
4587 name: *const ::std::os::raw::c_char,
4588 pInfo: *const UDataInfo,
4589 ) -> UBool,
4590>;
4591unsafe extern "C" {
4592 pub fn udata_open_77(
4593 path: *const ::std::os::raw::c_char,
4594 type_: *const ::std::os::raw::c_char,
4595 name: *const ::std::os::raw::c_char,
4596 pErrorCode: *mut UErrorCode,
4597 ) -> *mut UDataMemory;
4598}
4599unsafe extern "C" {
4600 pub fn udata_openChoice_77(
4601 path: *const ::std::os::raw::c_char,
4602 type_: *const ::std::os::raw::c_char,
4603 name: *const ::std::os::raw::c_char,
4604 isAcceptable: UDataMemoryIsAcceptable,
4605 context: *mut ::std::os::raw::c_void,
4606 pErrorCode: *mut UErrorCode,
4607 ) -> *mut UDataMemory;
4608}
4609unsafe extern "C" {
4610 pub fn udata_close_77(pData: *mut UDataMemory);
4611}
4612unsafe extern "C" {
4613 pub fn udata_getMemory_77(pData: *mut UDataMemory) -> *const ::std::os::raw::c_void;
4614}
4615unsafe extern "C" {
4616 pub fn udata_getInfo_77(pData: *mut UDataMemory, pInfo: *mut UDataInfo);
4617}
4618unsafe extern "C" {
4619 pub fn udata_setCommonData_77(data: *const ::std::os::raw::c_void, err: *mut UErrorCode);
4620}
4621unsafe extern "C" {
4622 pub fn udata_setAppData_77(
4623 packageName: *const ::std::os::raw::c_char,
4624 data: *const ::std::os::raw::c_void,
4625 err: *mut UErrorCode,
4626 );
4627}
4628impl UDataFileAccess {
4629 pub const UDATA_DEFAULT_ACCESS: UDataFileAccess = UDataFileAccess::UDATA_FILES_FIRST;
4630}
4631#[repr(u32)]
4632#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
4633pub enum UDataFileAccess {
4634 UDATA_FILES_FIRST = 0,
4635 UDATA_ONLY_PACKAGES = 1,
4636 UDATA_PACKAGES_FIRST = 2,
4637 UDATA_NO_FILES = 3,
4638 UDATA_FILE_ACCESS_COUNT = 4,
4639}
4640unsafe extern "C" {
4641 pub fn udata_setFileAccess_77(access: UDataFileAccess, status: *mut UErrorCode);
4642}
4643#[repr(u32)]
4644#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
4645pub enum UFieldCategory {
4646 UFIELD_CATEGORY_UNDEFINED = 0,
4647 UFIELD_CATEGORY_DATE = 1,
4648 UFIELD_CATEGORY_NUMBER = 2,
4649 UFIELD_CATEGORY_LIST = 3,
4650 UFIELD_CATEGORY_RELATIVE_DATETIME = 4,
4651 UFIELD_CATEGORY_DATE_INTERVAL = 5,
4652 UFIELD_CATEGORY_COUNT = 6,
4653 UFIELD_CATEGORY_LIST_SPAN = 4099,
4654 UFIELD_CATEGORY_DATE_INTERVAL_SPAN = 4101,
4655 UFIELD_CATEGORY_NUMBER_RANGE_SPAN = 4098,
4656}
4657#[repr(C)]
4658#[derive(Debug, Copy, Clone)]
4659pub struct UFormattedValue {
4660 _unused: [u8; 0],
4661}
4662#[repr(C)]
4663#[derive(Debug, Copy, Clone)]
4664pub struct UListFormatter {
4665 _unused: [u8; 0],
4666}
4667#[repr(C)]
4668#[derive(Debug, Copy, Clone)]
4669pub struct UFormattedList {
4670 _unused: [u8; 0],
4671}
4672#[repr(u32)]
4673#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
4674pub enum UListFormatterField {
4675 ULISTFMT_LITERAL_FIELD = 0,
4676 ULISTFMT_ELEMENT_FIELD = 1,
4677}
4678#[repr(u32)]
4679#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
4680pub enum UListFormatterType {
4681 ULISTFMT_TYPE_AND = 0,
4682 ULISTFMT_TYPE_OR = 1,
4683 ULISTFMT_TYPE_UNITS = 2,
4684}
4685#[repr(u32)]
4686#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
4687pub enum UListFormatterWidth {
4688 ULISTFMT_WIDTH_WIDE = 0,
4689 ULISTFMT_WIDTH_SHORT = 1,
4690 ULISTFMT_WIDTH_NARROW = 2,
4691}
4692unsafe extern "C" {
4693 pub fn ulistfmt_open_77(
4694 locale: *const ::std::os::raw::c_char,
4695 status: *mut UErrorCode,
4696 ) -> *mut UListFormatter;
4697}
4698unsafe extern "C" {
4699 pub fn ulistfmt_openForType_77(
4700 locale: *const ::std::os::raw::c_char,
4701 type_: UListFormatterType,
4702 width: UListFormatterWidth,
4703 status: *mut UErrorCode,
4704 ) -> *mut UListFormatter;
4705}
4706unsafe extern "C" {
4707 pub fn ulistfmt_close_77(listfmt: *mut UListFormatter);
4708}
4709unsafe extern "C" {
4710 pub fn ulistfmt_openResult_77(ec: *mut UErrorCode) -> *mut UFormattedList;
4711}
4712unsafe extern "C" {
4713 pub fn ulistfmt_resultAsValue_77(
4714 uresult: *const UFormattedList,
4715 ec: *mut UErrorCode,
4716 ) -> *const UFormattedValue;
4717}
4718unsafe extern "C" {
4719 pub fn ulistfmt_closeResult_77(uresult: *mut UFormattedList);
4720}
4721unsafe extern "C" {
4722 pub fn ulistfmt_format_77(
4723 listfmt: *const UListFormatter,
4724 strings: *const *const UChar,
4725 stringLengths: *const i32,
4726 stringCount: i32,
4727 result: *mut UChar,
4728 resultCapacity: i32,
4729 status: *mut UErrorCode,
4730 ) -> i32;
4731}
4732unsafe extern "C" {
4733 pub fn ulistfmt_formatStringsToResult_77(
4734 listfmt: *const UListFormatter,
4735 strings: *const *const UChar,
4736 stringLengths: *const i32,
4737 stringCount: i32,
4738 uresult: *mut UFormattedList,
4739 status: *mut UErrorCode,
4740 );
4741}
4742pub type va_list = __builtin_va_list;
4743unsafe extern "C" {
4744 pub fn u_formatMessage_77(
4745 locale: *const ::std::os::raw::c_char,
4746 pattern: *const UChar,
4747 patternLength: i32,
4748 result: *mut UChar,
4749 resultLength: i32,
4750 status: *mut UErrorCode,
4751 ...
4752 ) -> i32;
4753}
4754unsafe extern "C" {
4755 pub fn u_vformatMessage_77(
4756 locale: *const ::std::os::raw::c_char,
4757 pattern: *const UChar,
4758 patternLength: i32,
4759 result: *mut UChar,
4760 resultLength: i32,
4761 ap: *mut __va_list_tag,
4762 status: *mut UErrorCode,
4763 ) -> i32;
4764}
4765unsafe extern "C" {
4766 pub fn u_parseMessage_77(
4767 locale: *const ::std::os::raw::c_char,
4768 pattern: *const UChar,
4769 patternLength: i32,
4770 source: *const UChar,
4771 sourceLength: i32,
4772 status: *mut UErrorCode,
4773 ...
4774 );
4775}
4776unsafe extern "C" {
4777 pub fn u_vparseMessage_77(
4778 locale: *const ::std::os::raw::c_char,
4779 pattern: *const UChar,
4780 patternLength: i32,
4781 source: *const UChar,
4782 sourceLength: i32,
4783 ap: *mut __va_list_tag,
4784 status: *mut UErrorCode,
4785 );
4786}
4787unsafe extern "C" {
4788 pub fn u_formatMessageWithError_77(
4789 locale: *const ::std::os::raw::c_char,
4790 pattern: *const UChar,
4791 patternLength: i32,
4792 result: *mut UChar,
4793 resultLength: i32,
4794 parseError: *mut UParseError,
4795 status: *mut UErrorCode,
4796 ...
4797 ) -> i32;
4798}
4799unsafe extern "C" {
4800 pub fn u_vformatMessageWithError_77(
4801 locale: *const ::std::os::raw::c_char,
4802 pattern: *const UChar,
4803 patternLength: i32,
4804 result: *mut UChar,
4805 resultLength: i32,
4806 parseError: *mut UParseError,
4807 ap: *mut __va_list_tag,
4808 status: *mut UErrorCode,
4809 ) -> i32;
4810}
4811unsafe extern "C" {
4812 pub fn u_parseMessageWithError_77(
4813 locale: *const ::std::os::raw::c_char,
4814 pattern: *const UChar,
4815 patternLength: i32,
4816 source: *const UChar,
4817 sourceLength: i32,
4818 parseError: *mut UParseError,
4819 status: *mut UErrorCode,
4820 ...
4821 );
4822}
4823unsafe extern "C" {
4824 pub fn u_vparseMessageWithError_77(
4825 locale: *const ::std::os::raw::c_char,
4826 pattern: *const UChar,
4827 patternLength: i32,
4828 source: *const UChar,
4829 sourceLength: i32,
4830 ap: *mut __va_list_tag,
4831 parseError: *mut UParseError,
4832 status: *mut UErrorCode,
4833 );
4834}
4835pub type UMessageFormat = *mut ::std::os::raw::c_void;
4836unsafe extern "C" {
4837 pub fn umsg_open_77(
4838 pattern: *const UChar,
4839 patternLength: i32,
4840 locale: *const ::std::os::raw::c_char,
4841 parseError: *mut UParseError,
4842 status: *mut UErrorCode,
4843 ) -> *mut UMessageFormat;
4844}
4845unsafe extern "C" {
4846 pub fn umsg_close_77(format: *mut UMessageFormat);
4847}
4848unsafe extern "C" {
4849 pub fn umsg_clone_77(fmt: *const UMessageFormat, status: *mut UErrorCode) -> UMessageFormat;
4850}
4851unsafe extern "C" {
4852 pub fn umsg_setLocale_77(fmt: *mut UMessageFormat, locale: *const ::std::os::raw::c_char);
4853}
4854unsafe extern "C" {
4855 pub fn umsg_getLocale_77(fmt: *const UMessageFormat) -> *const ::std::os::raw::c_char;
4856}
4857unsafe extern "C" {
4858 pub fn umsg_applyPattern_77(
4859 fmt: *mut UMessageFormat,
4860 pattern: *const UChar,
4861 patternLength: i32,
4862 parseError: *mut UParseError,
4863 status: *mut UErrorCode,
4864 );
4865}
4866unsafe extern "C" {
4867 pub fn umsg_toPattern_77(
4868 fmt: *const UMessageFormat,
4869 result: *mut UChar,
4870 resultLength: i32,
4871 status: *mut UErrorCode,
4872 ) -> i32;
4873}
4874unsafe extern "C" {
4875 pub fn umsg_format_77(
4876 fmt: *const UMessageFormat,
4877 result: *mut UChar,
4878 resultLength: i32,
4879 status: *mut UErrorCode,
4880 ...
4881 ) -> i32;
4882}
4883unsafe extern "C" {
4884 pub fn umsg_vformat_77(
4885 fmt: *const UMessageFormat,
4886 result: *mut UChar,
4887 resultLength: i32,
4888 ap: *mut __va_list_tag,
4889 status: *mut UErrorCode,
4890 ) -> i32;
4891}
4892unsafe extern "C" {
4893 pub fn umsg_parse_77(
4894 fmt: *const UMessageFormat,
4895 source: *const UChar,
4896 sourceLength: i32,
4897 count: *mut i32,
4898 status: *mut UErrorCode,
4899 ...
4900 );
4901}
4902unsafe extern "C" {
4903 pub fn umsg_vparse_77(
4904 fmt: *const UMessageFormat,
4905 source: *const UChar,
4906 sourceLength: i32,
4907 count: *mut i32,
4908 ap: *mut __va_list_tag,
4909 status: *mut UErrorCode,
4910 );
4911}
4912unsafe extern "C" {
4913 pub fn umsg_autoQuoteApostrophe_77(
4914 pattern: *const UChar,
4915 patternLength: i32,
4916 dest: *mut UChar,
4917 destCapacity: i32,
4918 ec: *mut UErrorCode,
4919 ) -> i32;
4920}
4921#[repr(C)]
4922#[derive(Debug, Copy, Clone)]
4923pub struct UFormattedNumber {
4924 _unused: [u8; 0],
4925}
4926unsafe extern "C" {
4927 pub fn unumf_openResult_77(ec: *mut UErrorCode) -> *mut UFormattedNumber;
4928}
4929unsafe extern "C" {
4930 pub fn unumf_resultAsValue_77(
4931 uresult: *const UFormattedNumber,
4932 ec: *mut UErrorCode,
4933 ) -> *const UFormattedValue;
4934}
4935unsafe extern "C" {
4936 pub fn unumf_resultToString_77(
4937 uresult: *const UFormattedNumber,
4938 buffer: *mut UChar,
4939 bufferCapacity: i32,
4940 ec: *mut UErrorCode,
4941 ) -> i32;
4942}
4943unsafe extern "C" {
4944 pub fn unumf_resultNextFieldPosition_77(
4945 uresult: *const UFormattedNumber,
4946 ufpos: *mut UFieldPosition,
4947 ec: *mut UErrorCode,
4948 ) -> UBool;
4949}
4950unsafe extern "C" {
4951 pub fn unumf_resultGetAllFieldPositions_77(
4952 uresult: *const UFormattedNumber,
4953 ufpositer: *mut UFieldPositionIterator,
4954 ec: *mut UErrorCode,
4955 );
4956}
4957unsafe extern "C" {
4958 pub fn unumf_resultToDecimalNumber_77(
4959 uresult: *const UFormattedNumber,
4960 dest: *mut ::std::os::raw::c_char,
4961 destCapacity: i32,
4962 ec: *mut UErrorCode,
4963 ) -> i32;
4964}
4965unsafe extern "C" {
4966 pub fn unumf_closeResult_77(uresult: *mut UFormattedNumber);
4967}
4968#[repr(C)]
4969#[derive(Debug, Copy, Clone)]
4970pub struct UNumberFormatter {
4971 _unused: [u8; 0],
4972}
4973unsafe extern "C" {
4974 pub fn unumf_openForSkeletonAndLocale_77(
4975 skeleton: *const UChar,
4976 skeletonLen: i32,
4977 locale: *const ::std::os::raw::c_char,
4978 ec: *mut UErrorCode,
4979 ) -> *mut UNumberFormatter;
4980}
4981unsafe extern "C" {
4982 pub fn unumf_openForSkeletonAndLocaleWithError_77(
4983 skeleton: *const UChar,
4984 skeletonLen: i32,
4985 locale: *const ::std::os::raw::c_char,
4986 perror: *mut UParseError,
4987 ec: *mut UErrorCode,
4988 ) -> *mut UNumberFormatter;
4989}
4990unsafe extern "C" {
4991 pub fn unumf_formatInt_77(
4992 uformatter: *const UNumberFormatter,
4993 value: i64,
4994 uresult: *mut UFormattedNumber,
4995 ec: *mut UErrorCode,
4996 );
4997}
4998unsafe extern "C" {
4999 pub fn unumf_formatDouble_77(
5000 uformatter: *const UNumberFormatter,
5001 value: f64,
5002 uresult: *mut UFormattedNumber,
5003 ec: *mut UErrorCode,
5004 );
5005}
5006unsafe extern "C" {
5007 pub fn unumf_formatDecimal_77(
5008 uformatter: *const UNumberFormatter,
5009 value: *const ::std::os::raw::c_char,
5010 valueLen: i32,
5011 uresult: *mut UFormattedNumber,
5012 ec: *mut UErrorCode,
5013 );
5014}
5015unsafe extern "C" {
5016 pub fn unumf_close_77(uformatter: *mut UNumberFormatter);
5017}
5018#[repr(C)]
5019#[derive(Debug, Copy, Clone)]
5020pub struct UFormattedNumberRange {
5021 _unused: [u8; 0],
5022}
5023#[repr(u32)]
5024#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
5025pub enum UPluralType {
5026 UPLURAL_TYPE_CARDINAL = 0,
5027 UPLURAL_TYPE_ORDINAL = 1,
5028 UPLURAL_TYPE_COUNT = 2,
5029}
5030#[repr(C)]
5031#[derive(Debug, Copy, Clone)]
5032pub struct UPluralRules {
5033 _unused: [u8; 0],
5034}
5035unsafe extern "C" {
5036 pub fn uplrules_open_77(
5037 locale: *const ::std::os::raw::c_char,
5038 status: *mut UErrorCode,
5039 ) -> *mut UPluralRules;
5040}
5041unsafe extern "C" {
5042 pub fn uplrules_openForType_77(
5043 locale: *const ::std::os::raw::c_char,
5044 type_: UPluralType,
5045 status: *mut UErrorCode,
5046 ) -> *mut UPluralRules;
5047}
5048unsafe extern "C" {
5049 pub fn uplrules_close_77(uplrules: *mut UPluralRules);
5050}
5051unsafe extern "C" {
5052 pub fn uplrules_select_77(
5053 uplrules: *const UPluralRules,
5054 number: f64,
5055 keyword: *mut UChar,
5056 capacity: i32,
5057 status: *mut UErrorCode,
5058 ) -> i32;
5059}
5060unsafe extern "C" {
5061 pub fn uplrules_selectFormatted_77(
5062 uplrules: *const UPluralRules,
5063 number: *const UFormattedNumber,
5064 keyword: *mut UChar,
5065 capacity: i32,
5066 status: *mut UErrorCode,
5067 ) -> i32;
5068}
5069unsafe extern "C" {
5070 pub fn uplrules_selectForRange_77(
5071 uplrules: *const UPluralRules,
5072 urange: *const UFormattedNumberRange,
5073 keyword: *mut UChar,
5074 capacity: i32,
5075 status: *mut UErrorCode,
5076 ) -> i32;
5077}
5078unsafe extern "C" {
5079 pub fn uplrules_selectWithFormat_77(
5080 uplrules: *const UPluralRules,
5081 number: f64,
5082 fmt: *const UNumberFormat,
5083 keyword: *mut UChar,
5084 capacity: i32,
5085 status: *mut UErrorCode,
5086 ) -> i32;
5087}
5088unsafe extern "C" {
5089 pub fn uplrules_getKeywords_77(
5090 uplrules: *const UPluralRules,
5091 status: *mut UErrorCode,
5092 ) -> *mut UEnumeration;
5093}
5094unsafe extern "C" {
5095 pub fn u_getDataDirectory_77() -> *const ::std::os::raw::c_char;
5096}
5097unsafe extern "C" {
5098 pub fn u_setDataDirectory_77(directory: *const ::std::os::raw::c_char);
5099}
5100unsafe extern "C" {
5101 pub fn u_getTimeZoneFilesDirectory_77(status: *mut UErrorCode)
5102 -> *const ::std::os::raw::c_char;
5103}
5104unsafe extern "C" {
5105 pub fn u_setTimeZoneFilesDirectory_77(
5106 path: *const ::std::os::raw::c_char,
5107 status: *mut UErrorCode,
5108 );
5109}
5110unsafe extern "C" {
5111 pub fn u_charsToUChars_77(cs: *const ::std::os::raw::c_char, us: *mut UChar, length: i32);
5112}
5113unsafe extern "C" {
5114 pub fn u_UCharsToChars_77(us: *const UChar, cs: *mut ::std::os::raw::c_char, length: i32);
5115}
5116unsafe extern "C" {
5117 pub fn u_strlen_77(s: *const UChar) -> i32;
5118}
5119unsafe extern "C" {
5120 pub fn u_countChar32_77(s: *const UChar, length: i32) -> i32;
5121}
5122unsafe extern "C" {
5123 pub fn u_strHasMoreChar32Than_77(s: *const UChar, length: i32, number: i32) -> UBool;
5124}
5125unsafe extern "C" {
5126 pub fn u_strcat_77(dst: *mut UChar, src: *const UChar) -> *mut UChar;
5127}
5128unsafe extern "C" {
5129 pub fn u_strncat_77(dst: *mut UChar, src: *const UChar, n: i32) -> *mut UChar;
5130}
5131unsafe extern "C" {
5132 pub fn u_strstr_77(s: *const UChar, substring: *const UChar) -> *mut UChar;
5133}
5134unsafe extern "C" {
5135 pub fn u_strFindFirst_77(
5136 s: *const UChar,
5137 length: i32,
5138 substring: *const UChar,
5139 subLength: i32,
5140 ) -> *mut UChar;
5141}
5142unsafe extern "C" {
5143 pub fn u_strchr_77(s: *const UChar, c: UChar) -> *mut UChar;
5144}
5145unsafe extern "C" {
5146 pub fn u_strchr32_77(s: *const UChar, c: UChar32) -> *mut UChar;
5147}
5148unsafe extern "C" {
5149 pub fn u_strrstr_77(s: *const UChar, substring: *const UChar) -> *mut UChar;
5150}
5151unsafe extern "C" {
5152 pub fn u_strFindLast_77(
5153 s: *const UChar,
5154 length: i32,
5155 substring: *const UChar,
5156 subLength: i32,
5157 ) -> *mut UChar;
5158}
5159unsafe extern "C" {
5160 pub fn u_strrchr_77(s: *const UChar, c: UChar) -> *mut UChar;
5161}
5162unsafe extern "C" {
5163 pub fn u_strrchr32_77(s: *const UChar, c: UChar32) -> *mut UChar;
5164}
5165unsafe extern "C" {
5166 pub fn u_strpbrk_77(string: *const UChar, matchSet: *const UChar) -> *mut UChar;
5167}
5168unsafe extern "C" {
5169 pub fn u_strcspn_77(string: *const UChar, matchSet: *const UChar) -> i32;
5170}
5171unsafe extern "C" {
5172 pub fn u_strspn_77(string: *const UChar, matchSet: *const UChar) -> i32;
5173}
5174unsafe extern "C" {
5175 pub fn u_strtok_r_77(
5176 src: *mut UChar,
5177 delim: *const UChar,
5178 saveState: *mut *mut UChar,
5179 ) -> *mut UChar;
5180}
5181unsafe extern "C" {
5182 pub fn u_strcmp_77(s1: *const UChar, s2: *const UChar) -> i32;
5183}
5184unsafe extern "C" {
5185 pub fn u_strcmpCodePointOrder_77(s1: *const UChar, s2: *const UChar) -> i32;
5186}
5187unsafe extern "C" {
5188 pub fn u_strCompare_77(
5189 s1: *const UChar,
5190 length1: i32,
5191 s2: *const UChar,
5192 length2: i32,
5193 codePointOrder: UBool,
5194 ) -> i32;
5195}
5196unsafe extern "C" {
5197 pub fn u_strCompareIter_77(
5198 iter1: *mut UCharIterator,
5199 iter2: *mut UCharIterator,
5200 codePointOrder: UBool,
5201 ) -> i32;
5202}
5203unsafe extern "C" {
5204 pub fn u_strCaseCompare_77(
5205 s1: *const UChar,
5206 length1: i32,
5207 s2: *const UChar,
5208 length2: i32,
5209 options: u32,
5210 pErrorCode: *mut UErrorCode,
5211 ) -> i32;
5212}
5213unsafe extern "C" {
5214 pub fn u_strncmp_77(ucs1: *const UChar, ucs2: *const UChar, n: i32) -> i32;
5215}
5216unsafe extern "C" {
5217 pub fn u_strncmpCodePointOrder_77(s1: *const UChar, s2: *const UChar, n: i32) -> i32;
5218}
5219unsafe extern "C" {
5220 pub fn u_strcasecmp_77(s1: *const UChar, s2: *const UChar, options: u32) -> i32;
5221}
5222unsafe extern "C" {
5223 pub fn u_strncasecmp_77(s1: *const UChar, s2: *const UChar, n: i32, options: u32) -> i32;
5224}
5225unsafe extern "C" {
5226 pub fn u_memcasecmp_77(s1: *const UChar, s2: *const UChar, length: i32, options: u32) -> i32;
5227}
5228unsafe extern "C" {
5229 pub fn u_strcpy_77(dst: *mut UChar, src: *const UChar) -> *mut UChar;
5230}
5231unsafe extern "C" {
5232 pub fn u_strncpy_77(dst: *mut UChar, src: *const UChar, n: i32) -> *mut UChar;
5233}
5234unsafe extern "C" {
5235 pub fn u_uastrcpy_77(dst: *mut UChar, src: *const ::std::os::raw::c_char) -> *mut UChar;
5236}
5237unsafe extern "C" {
5238 pub fn u_uastrncpy_77(
5239 dst: *mut UChar,
5240 src: *const ::std::os::raw::c_char,
5241 n: i32,
5242 ) -> *mut UChar;
5243}
5244unsafe extern "C" {
5245 pub fn u_austrcpy_77(
5246 dst: *mut ::std::os::raw::c_char,
5247 src: *const UChar,
5248 ) -> *mut ::std::os::raw::c_char;
5249}
5250unsafe extern "C" {
5251 pub fn u_austrncpy_77(
5252 dst: *mut ::std::os::raw::c_char,
5253 src: *const UChar,
5254 n: i32,
5255 ) -> *mut ::std::os::raw::c_char;
5256}
5257unsafe extern "C" {
5258 pub fn u_memcpy_77(dest: *mut UChar, src: *const UChar, count: i32) -> *mut UChar;
5259}
5260unsafe extern "C" {
5261 pub fn u_memmove_77(dest: *mut UChar, src: *const UChar, count: i32) -> *mut UChar;
5262}
5263unsafe extern "C" {
5264 pub fn u_memset_77(dest: *mut UChar, c: UChar, count: i32) -> *mut UChar;
5265}
5266unsafe extern "C" {
5267 pub fn u_memcmp_77(buf1: *const UChar, buf2: *const UChar, count: i32) -> i32;
5268}
5269unsafe extern "C" {
5270 pub fn u_memcmpCodePointOrder_77(s1: *const UChar, s2: *const UChar, count: i32) -> i32;
5271}
5272unsafe extern "C" {
5273 pub fn u_memchr_77(s: *const UChar, c: UChar, count: i32) -> *mut UChar;
5274}
5275unsafe extern "C" {
5276 pub fn u_memchr32_77(s: *const UChar, c: UChar32, count: i32) -> *mut UChar;
5277}
5278unsafe extern "C" {
5279 pub fn u_memrchr_77(s: *const UChar, c: UChar, count: i32) -> *mut UChar;
5280}
5281unsafe extern "C" {
5282 pub fn u_memrchr32_77(s: *const UChar, c: UChar32, count: i32) -> *mut UChar;
5283}
5284unsafe extern "C" {
5285 pub fn u_unescape_77(
5286 src: *const ::std::os::raw::c_char,
5287 dest: *mut UChar,
5288 destCapacity: i32,
5289 ) -> i32;
5290}
5291pub type UNESCAPE_CHAR_AT = ::std::option::Option<
5292 unsafe extern "C" fn(offset: i32, context: *mut ::std::os::raw::c_void) -> UChar,
5293>;
5294unsafe extern "C" {
5295 pub fn u_unescapeAt_77(
5296 charAt: UNESCAPE_CHAR_AT,
5297 offset: *mut i32,
5298 length: i32,
5299 context: *mut ::std::os::raw::c_void,
5300 ) -> UChar32;
5301}
5302unsafe extern "C" {
5303 pub fn u_strToUpper_77(
5304 dest: *mut UChar,
5305 destCapacity: i32,
5306 src: *const UChar,
5307 srcLength: i32,
5308 locale: *const ::std::os::raw::c_char,
5309 pErrorCode: *mut UErrorCode,
5310 ) -> i32;
5311}
5312unsafe extern "C" {
5313 pub fn u_strToLower_77(
5314 dest: *mut UChar,
5315 destCapacity: i32,
5316 src: *const UChar,
5317 srcLength: i32,
5318 locale: *const ::std::os::raw::c_char,
5319 pErrorCode: *mut UErrorCode,
5320 ) -> i32;
5321}
5322unsafe extern "C" {
5323 pub fn u_strToTitle_77(
5324 dest: *mut UChar,
5325 destCapacity: i32,
5326 src: *const UChar,
5327 srcLength: i32,
5328 titleIter: *mut UBreakIterator,
5329 locale: *const ::std::os::raw::c_char,
5330 pErrorCode: *mut UErrorCode,
5331 ) -> i32;
5332}
5333unsafe extern "C" {
5334 pub fn u_strFoldCase_77(
5335 dest: *mut UChar,
5336 destCapacity: i32,
5337 src: *const UChar,
5338 srcLength: i32,
5339 options: u32,
5340 pErrorCode: *mut UErrorCode,
5341 ) -> i32;
5342}
5343unsafe extern "C" {
5344 pub fn u_strToWCS_77(
5345 dest: *mut wchar_t,
5346 destCapacity: i32,
5347 pDestLength: *mut i32,
5348 src: *const UChar,
5349 srcLength: i32,
5350 pErrorCode: *mut UErrorCode,
5351 ) -> *mut wchar_t;
5352}
5353unsafe extern "C" {
5354 pub fn u_strFromWCS_77(
5355 dest: *mut UChar,
5356 destCapacity: i32,
5357 pDestLength: *mut i32,
5358 src: *const wchar_t,
5359 srcLength: i32,
5360 pErrorCode: *mut UErrorCode,
5361 ) -> *mut UChar;
5362}
5363unsafe extern "C" {
5364 pub fn u_strToUTF8_77(
5365 dest: *mut ::std::os::raw::c_char,
5366 destCapacity: i32,
5367 pDestLength: *mut i32,
5368 src: *const UChar,
5369 srcLength: i32,
5370 pErrorCode: *mut UErrorCode,
5371 ) -> *mut ::std::os::raw::c_char;
5372}
5373unsafe extern "C" {
5374 pub fn u_strFromUTF8_77(
5375 dest: *mut UChar,
5376 destCapacity: i32,
5377 pDestLength: *mut i32,
5378 src: *const ::std::os::raw::c_char,
5379 srcLength: i32,
5380 pErrorCode: *mut UErrorCode,
5381 ) -> *mut UChar;
5382}
5383unsafe extern "C" {
5384 pub fn u_strToUTF8WithSub_77(
5385 dest: *mut ::std::os::raw::c_char,
5386 destCapacity: i32,
5387 pDestLength: *mut i32,
5388 src: *const UChar,
5389 srcLength: i32,
5390 subchar: UChar32,
5391 pNumSubstitutions: *mut i32,
5392 pErrorCode: *mut UErrorCode,
5393 ) -> *mut ::std::os::raw::c_char;
5394}
5395unsafe extern "C" {
5396 pub fn u_strFromUTF8WithSub_77(
5397 dest: *mut UChar,
5398 destCapacity: i32,
5399 pDestLength: *mut i32,
5400 src: *const ::std::os::raw::c_char,
5401 srcLength: i32,
5402 subchar: UChar32,
5403 pNumSubstitutions: *mut i32,
5404 pErrorCode: *mut UErrorCode,
5405 ) -> *mut UChar;
5406}
5407unsafe extern "C" {
5408 pub fn u_strFromUTF8Lenient_77(
5409 dest: *mut UChar,
5410 destCapacity: i32,
5411 pDestLength: *mut i32,
5412 src: *const ::std::os::raw::c_char,
5413 srcLength: i32,
5414 pErrorCode: *mut UErrorCode,
5415 ) -> *mut UChar;
5416}
5417unsafe extern "C" {
5418 pub fn u_strToUTF32_77(
5419 dest: *mut UChar32,
5420 destCapacity: i32,
5421 pDestLength: *mut i32,
5422 src: *const UChar,
5423 srcLength: i32,
5424 pErrorCode: *mut UErrorCode,
5425 ) -> *mut UChar32;
5426}
5427unsafe extern "C" {
5428 pub fn u_strFromUTF32_77(
5429 dest: *mut UChar,
5430 destCapacity: i32,
5431 pDestLength: *mut i32,
5432 src: *const UChar32,
5433 srcLength: i32,
5434 pErrorCode: *mut UErrorCode,
5435 ) -> *mut UChar;
5436}
5437unsafe extern "C" {
5438 pub fn u_strToUTF32WithSub_77(
5439 dest: *mut UChar32,
5440 destCapacity: i32,
5441 pDestLength: *mut i32,
5442 src: *const UChar,
5443 srcLength: i32,
5444 subchar: UChar32,
5445 pNumSubstitutions: *mut i32,
5446 pErrorCode: *mut UErrorCode,
5447 ) -> *mut UChar32;
5448}
5449unsafe extern "C" {
5450 pub fn u_strFromUTF32WithSub_77(
5451 dest: *mut UChar,
5452 destCapacity: i32,
5453 pDestLength: *mut i32,
5454 src: *const UChar32,
5455 srcLength: i32,
5456 subchar: UChar32,
5457 pNumSubstitutions: *mut i32,
5458 pErrorCode: *mut UErrorCode,
5459 ) -> *mut UChar;
5460}
5461unsafe extern "C" {
5462 pub fn u_strToJavaModifiedUTF8_77(
5463 dest: *mut ::std::os::raw::c_char,
5464 destCapacity: i32,
5465 pDestLength: *mut i32,
5466 src: *const UChar,
5467 srcLength: i32,
5468 pErrorCode: *mut UErrorCode,
5469 ) -> *mut ::std::os::raw::c_char;
5470}
5471unsafe extern "C" {
5472 pub fn u_strFromJavaModifiedUTF8WithSub_77(
5473 dest: *mut UChar,
5474 destCapacity: i32,
5475 pDestLength: *mut i32,
5476 src: *const ::std::os::raw::c_char,
5477 srcLength: i32,
5478 subchar: UChar32,
5479 pNumSubstitutions: *mut i32,
5480 pErrorCode: *mut UErrorCode,
5481 ) -> *mut UChar;
5482}
5483pub type UReplaceable = *mut ::std::os::raw::c_void;
5484#[repr(C)]
5485#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, PartialEq)]
5486pub struct UReplaceableCallbacks {
5487 pub length: ::std::option::Option<unsafe extern "C" fn(rep: *const UReplaceable) -> i32>,
5488 pub charAt:
5489 ::std::option::Option<unsafe extern "C" fn(rep: *const UReplaceable, offset: i32) -> UChar>,
5490 pub char32At: ::std::option::Option<
5491 unsafe extern "C" fn(rep: *const UReplaceable, offset: i32) -> UChar32,
5492 >,
5493 pub replace: ::std::option::Option<
5494 unsafe extern "C" fn(
5495 rep: *mut UReplaceable,
5496 start: i32,
5497 limit: i32,
5498 text: *const UChar,
5499 textLength: i32,
5500 ),
5501 >,
5502 pub extract: ::std::option::Option<
5503 unsafe extern "C" fn(rep: *mut UReplaceable, start: i32, limit: i32, dst: *mut UChar),
5504 >,
5505 pub copy: ::std::option::Option<
5506 unsafe extern "C" fn(rep: *mut UReplaceable, start: i32, limit: i32, dest: i32),
5507 >,
5508}
5509#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5510const _: () = {
5511 ["Size of UReplaceableCallbacks"][::std::mem::size_of::<UReplaceableCallbacks>() - 48usize];
5512 ["Alignment of UReplaceableCallbacks"]
5513 [::std::mem::align_of::<UReplaceableCallbacks>() - 8usize];
5514 ["Offset of field: UReplaceableCallbacks::length"]
5515 [::std::mem::offset_of!(UReplaceableCallbacks, length) - 0usize];
5516 ["Offset of field: UReplaceableCallbacks::charAt"]
5517 [::std::mem::offset_of!(UReplaceableCallbacks, charAt) - 8usize];
5518 ["Offset of field: UReplaceableCallbacks::char32At"]
5519 [::std::mem::offset_of!(UReplaceableCallbacks, char32At) - 16usize];
5520 ["Offset of field: UReplaceableCallbacks::replace"]
5521 [::std::mem::offset_of!(UReplaceableCallbacks, replace) - 24usize];
5522 ["Offset of field: UReplaceableCallbacks::extract"]
5523 [::std::mem::offset_of!(UReplaceableCallbacks, extract) - 32usize];
5524 ["Offset of field: UReplaceableCallbacks::copy"]
5525 [::std::mem::offset_of!(UReplaceableCallbacks, copy) - 40usize];
5526};
5527pub type UTransliterator = *mut ::std::os::raw::c_void;
5528#[repr(u32)]
5529#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
5530pub enum UTransDirection {
5531 UTRANS_FORWARD = 0,
5532 UTRANS_REVERSE = 1,
5533}
5534#[repr(C)]
5535#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, PartialEq)]
5536pub struct UTransPosition {
5537 pub contextStart: i32,
5538 pub contextLimit: i32,
5539 pub start: i32,
5540 pub limit: i32,
5541}
5542#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5543const _: () = {
5544 ["Size of UTransPosition"][::std::mem::size_of::<UTransPosition>() - 16usize];
5545 ["Alignment of UTransPosition"][::std::mem::align_of::<UTransPosition>() - 4usize];
5546 ["Offset of field: UTransPosition::contextStart"]
5547 [::std::mem::offset_of!(UTransPosition, contextStart) - 0usize];
5548 ["Offset of field: UTransPosition::contextLimit"]
5549 [::std::mem::offset_of!(UTransPosition, contextLimit) - 4usize];
5550 ["Offset of field: UTransPosition::start"]
5551 [::std::mem::offset_of!(UTransPosition, start) - 8usize];
5552 ["Offset of field: UTransPosition::limit"]
5553 [::std::mem::offset_of!(UTransPosition, limit) - 12usize];
5554};
5555unsafe extern "C" {
5556 pub fn utrans_openU_77(
5557 id: *const UChar,
5558 idLength: i32,
5559 dir: UTransDirection,
5560 rules: *const UChar,
5561 rulesLength: i32,
5562 parseError: *mut UParseError,
5563 pErrorCode: *mut UErrorCode,
5564 ) -> *mut UTransliterator;
5565}
5566unsafe extern "C" {
5567 pub fn utrans_openInverse_77(
5568 trans: *const UTransliterator,
5569 status: *mut UErrorCode,
5570 ) -> *mut UTransliterator;
5571}
5572unsafe extern "C" {
5573 pub fn utrans_clone_77(
5574 trans: *const UTransliterator,
5575 status: *mut UErrorCode,
5576 ) -> *mut UTransliterator;
5577}
5578unsafe extern "C" {
5579 pub fn utrans_close_77(trans: *mut UTransliterator);
5580}
5581unsafe extern "C" {
5582 pub fn utrans_getUnicodeID_77(
5583 trans: *const UTransliterator,
5584 resultLength: *mut i32,
5585 ) -> *const UChar;
5586}
5587unsafe extern "C" {
5588 pub fn utrans_register_77(adoptedTrans: *mut UTransliterator, status: *mut UErrorCode);
5589}
5590unsafe extern "C" {
5591 pub fn utrans_unregisterID_77(id: *const UChar, idLength: i32);
5592}
5593unsafe extern "C" {
5594 pub fn utrans_setFilter_77(
5595 trans: *mut UTransliterator,
5596 filterPattern: *const UChar,
5597 filterPatternLen: i32,
5598 status: *mut UErrorCode,
5599 );
5600}
5601unsafe extern "C" {
5602 pub fn utrans_countAvailableIDs_77() -> i32;
5603}
5604unsafe extern "C" {
5605 pub fn utrans_openIDs_77(pErrorCode: *mut UErrorCode) -> *mut UEnumeration;
5606}
5607unsafe extern "C" {
5608 pub fn utrans_trans_77(
5609 trans: *const UTransliterator,
5610 rep: *mut UReplaceable,
5611 repFunc: *const UReplaceableCallbacks,
5612 start: i32,
5613 limit: *mut i32,
5614 status: *mut UErrorCode,
5615 );
5616}
5617unsafe extern "C" {
5618 pub fn utrans_transIncremental_77(
5619 trans: *const UTransliterator,
5620 rep: *mut UReplaceable,
5621 repFunc: *const UReplaceableCallbacks,
5622 pos: *mut UTransPosition,
5623 status: *mut UErrorCode,
5624 );
5625}
5626unsafe extern "C" {
5627 pub fn utrans_transUChars_77(
5628 trans: *const UTransliterator,
5629 text: *mut UChar,
5630 textLength: *mut i32,
5631 textCapacity: i32,
5632 start: i32,
5633 limit: *mut i32,
5634 status: *mut UErrorCode,
5635 );
5636}
5637unsafe extern "C" {
5638 pub fn utrans_transIncrementalUChars_77(
5639 trans: *const UTransliterator,
5640 text: *mut UChar,
5641 textLength: *mut i32,
5642 textCapacity: i32,
5643 pos: *mut UTransPosition,
5644 status: *mut UErrorCode,
5645 );
5646}
5647unsafe extern "C" {
5648 pub fn utrans_toRules_77(
5649 trans: *const UTransliterator,
5650 escapeUnprintable: UBool,
5651 result: *mut UChar,
5652 resultLength: i32,
5653 status: *mut UErrorCode,
5654 ) -> i32;
5655}
5656unsafe extern "C" {
5657 pub fn utrans_getSourceSet_77(
5658 trans: *const UTransliterator,
5659 ignoreFilter: UBool,
5660 fillIn: *mut USet,
5661 status: *mut UErrorCode,
5662 ) -> *mut USet;
5663}
5664unsafe extern "C" {
5665 pub fn utrans_open_77(
5666 id: *const ::std::os::raw::c_char,
5667 dir: UTransDirection,
5668 rules: *const UChar,
5669 rulesLength: i32,
5670 parseError: *mut UParseError,
5671 status: *mut UErrorCode,
5672 ) -> *mut UTransliterator;
5673}
5674unsafe extern "C" {
5675 pub fn utrans_getID_77(
5676 trans: *const UTransliterator,
5677 buf: *mut ::std::os::raw::c_char,
5678 bufCapacity: i32,
5679 ) -> i32;
5680}
5681unsafe extern "C" {
5682 pub fn utrans_unregister_77(id: *const ::std::os::raw::c_char);
5683}
5684unsafe extern "C" {
5685 pub fn utrans_getAvailableID_77(
5686 index: i32,
5687 buf: *mut ::std::os::raw::c_char,
5688 bufCapacity: i32,
5689 ) -> i32;
5690}
5691#[repr(C)]
5692#[derive(Copy, Clone)]
5693pub union UCPTrieData {
5694 pub ptr0: *const ::std::os::raw::c_void,
5695 pub ptr16: *const u16,
5696 pub ptr32: *const u32,
5697 pub ptr8: *const u8,
5698}
5699#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5700const _: () = {
5701 ["Size of UCPTrieData"][::std::mem::size_of::<UCPTrieData>() - 8usize];
5702 ["Alignment of UCPTrieData"][::std::mem::align_of::<UCPTrieData>() - 8usize];
5703 ["Offset of field: UCPTrieData::ptr0"][::std::mem::offset_of!(UCPTrieData, ptr0) - 0usize];
5704 ["Offset of field: UCPTrieData::ptr16"][::std::mem::offset_of!(UCPTrieData, ptr16) - 0usize];
5705 ["Offset of field: UCPTrieData::ptr32"][::std::mem::offset_of!(UCPTrieData, ptr32) - 0usize];
5706 ["Offset of field: UCPTrieData::ptr8"][::std::mem::offset_of!(UCPTrieData, ptr8) - 0usize];
5707};
5708impl Default for UCPTrieData {
5709 fn default() -> Self {
5710 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5711 unsafe {
5712 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5713 s.assume_init()
5714 }
5715 }
5716}
5717#[repr(C)]
5718#[derive(Copy, Clone)]
5719pub struct UCPTrie {
5720 pub index: *const u16,
5721 pub data: UCPTrieData,
5722 pub indexLength: i32,
5723 pub dataLength: i32,
5724 pub highStart: UChar32,
5725 pub shifted12HighStart: u16,
5726 pub type_: i8,
5727 pub valueWidth: i8,
5728 pub reserved32: u32,
5729 pub reserved16: u16,
5730 pub index3NullOffset: u16,
5731 pub dataNullOffset: i32,
5732 pub nullValue: u32,
5733}
5734#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5735const _: () = {
5736 ["Size of UCPTrie"][::std::mem::size_of::<UCPTrie>() - 48usize];
5737 ["Alignment of UCPTrie"][::std::mem::align_of::<UCPTrie>() - 8usize];
5738 ["Offset of field: UCPTrie::index"][::std::mem::offset_of!(UCPTrie, index) - 0usize];
5739 ["Offset of field: UCPTrie::data"][::std::mem::offset_of!(UCPTrie, data) - 8usize];
5740 ["Offset of field: UCPTrie::indexLength"]
5741 [::std::mem::offset_of!(UCPTrie, indexLength) - 16usize];
5742 ["Offset of field: UCPTrie::dataLength"][::std::mem::offset_of!(UCPTrie, dataLength) - 20usize];
5743 ["Offset of field: UCPTrie::highStart"][::std::mem::offset_of!(UCPTrie, highStart) - 24usize];
5744 ["Offset of field: UCPTrie::shifted12HighStart"]
5745 [::std::mem::offset_of!(UCPTrie, shifted12HighStart) - 28usize];
5746 ["Offset of field: UCPTrie::type_"][::std::mem::offset_of!(UCPTrie, type_) - 30usize];
5747 ["Offset of field: UCPTrie::valueWidth"][::std::mem::offset_of!(UCPTrie, valueWidth) - 31usize];
5748 ["Offset of field: UCPTrie::reserved32"][::std::mem::offset_of!(UCPTrie, reserved32) - 32usize];
5749 ["Offset of field: UCPTrie::reserved16"][::std::mem::offset_of!(UCPTrie, reserved16) - 36usize];
5750 ["Offset of field: UCPTrie::index3NullOffset"]
5751 [::std::mem::offset_of!(UCPTrie, index3NullOffset) - 38usize];
5752 ["Offset of field: UCPTrie::dataNullOffset"]
5753 [::std::mem::offset_of!(UCPTrie, dataNullOffset) - 40usize];
5754 ["Offset of field: UCPTrie::nullValue"][::std::mem::offset_of!(UCPTrie, nullValue) - 44usize];
5755};
5756impl Default for UCPTrie {
5757 fn default() -> Self {
5758 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5759 unsafe {
5760 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5761 s.assume_init()
5762 }
5763 }
5764}
5765#[repr(i32)]
5766#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
5767pub enum UCPTrieType {
5768 UCPTRIE_TYPE_ANY = -1,
5769 UCPTRIE_TYPE_FAST = 0,
5770 UCPTRIE_TYPE_SMALL = 1,
5771}
5772#[repr(i32)]
5773#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq, Eq)]
5774pub enum UCPTrieValueWidth {
5775 UCPTRIE_VALUE_BITS_ANY = -1,
5776 UCPTRIE_VALUE_BITS_16 = 0,
5777 UCPTRIE_VALUE_BITS_32 = 1,
5778 UCPTRIE_VALUE_BITS_8 = 2,
5779}
5780unsafe extern "C" {
5781 pub fn ucptrie_openFromBinary_77(
5782 type_: UCPTrieType,
5783 valueWidth: UCPTrieValueWidth,
5784 data: *const ::std::os::raw::c_void,
5785 length: i32,
5786 pActualLength: *mut i32,
5787 pErrorCode: *mut UErrorCode,
5788 ) -> *mut UCPTrie;
5789}
5790unsafe extern "C" {
5791 pub fn ucptrie_close_77(trie: *mut UCPTrie);
5792}
5793unsafe extern "C" {
5794 pub fn ucptrie_getType_77(trie: *const UCPTrie) -> UCPTrieType;
5795}
5796unsafe extern "C" {
5797 pub fn ucptrie_getValueWidth_77(trie: *const UCPTrie) -> UCPTrieValueWidth;
5798}
5799unsafe extern "C" {
5800 pub fn ucptrie_get_77(trie: *const UCPTrie, c: UChar32) -> u32;
5801}
5802unsafe extern "C" {
5803 pub fn ucptrie_getRange_77(
5804 trie: *const UCPTrie,
5805 start: UChar32,
5806 option: UCPMapRangeOption,
5807 surrogateValue: u32,
5808 filter: UCPMapValueFilter,
5809 context: *const ::std::os::raw::c_void,
5810 pValue: *mut u32,
5811 ) -> UChar32;
5812}
5813unsafe extern "C" {
5814 pub fn ucptrie_toBinary_77(
5815 trie: *const UCPTrie,
5816 data: *mut ::std::os::raw::c_void,
5817 capacity: i32,
5818 pErrorCode: *mut UErrorCode,
5819 ) -> i32;
5820}
5821unsafe extern "C" {
5822 pub fn ucptrie_internalSmallIndex_77(trie: *const UCPTrie, c: UChar32) -> i32;
5823}
5824unsafe extern "C" {
5825 pub fn ucptrie_internalSmallU8Index_77(trie: *const UCPTrie, lt1: i32, t2: u8, t3: u8) -> i32;
5826}
5827unsafe extern "C" {
5828 pub fn ucptrie_internalU8PrevIndex_77(
5829 trie: *const UCPTrie,
5830 c: UChar32,
5831 start: *const u8,
5832 src: *const u8,
5833 ) -> i32;
5834}
5835#[repr(C)]
5836#[derive(Debug, Copy, Clone)]
5837pub struct UMutableCPTrie {
5838 _unused: [u8; 0],
5839}
5840unsafe extern "C" {
5841 pub fn umutablecptrie_open_77(
5842 initialValue: u32,
5843 errorValue: u32,
5844 pErrorCode: *mut UErrorCode,
5845 ) -> *mut UMutableCPTrie;
5846}
5847unsafe extern "C" {
5848 pub fn umutablecptrie_clone_77(
5849 other: *const UMutableCPTrie,
5850 pErrorCode: *mut UErrorCode,
5851 ) -> *mut UMutableCPTrie;
5852}
5853unsafe extern "C" {
5854 pub fn umutablecptrie_close_77(trie: *mut UMutableCPTrie);
5855}
5856unsafe extern "C" {
5857 pub fn umutablecptrie_fromUCPMap_77(
5858 map: *const UCPMap,
5859 pErrorCode: *mut UErrorCode,
5860 ) -> *mut UMutableCPTrie;
5861}
5862unsafe extern "C" {
5863 pub fn umutablecptrie_fromUCPTrie_77(
5864 trie: *const UCPTrie,
5865 pErrorCode: *mut UErrorCode,
5866 ) -> *mut UMutableCPTrie;
5867}
5868unsafe extern "C" {
5869 pub fn umutablecptrie_get_77(trie: *const UMutableCPTrie, c: UChar32) -> u32;
5870}
5871unsafe extern "C" {
5872 pub fn umutablecptrie_getRange_77(
5873 trie: *const UMutableCPTrie,
5874 start: UChar32,
5875 option: UCPMapRangeOption,
5876 surrogateValue: u32,
5877 filter: UCPMapValueFilter,
5878 context: *const ::std::os::raw::c_void,
5879 pValue: *mut u32,
5880 ) -> UChar32;
5881}
5882unsafe extern "C" {
5883 pub fn umutablecptrie_set_77(
5884 trie: *mut UMutableCPTrie,
5885 c: UChar32,
5886 value: u32,
5887 pErrorCode: *mut UErrorCode,
5888 );
5889}
5890unsafe extern "C" {
5891 pub fn umutablecptrie_setRange_77(
5892 trie: *mut UMutableCPTrie,
5893 start: UChar32,
5894 end: UChar32,
5895 value: u32,
5896 pErrorCode: *mut UErrorCode,
5897 );
5898}
5899unsafe extern "C" {
5900 pub fn umutablecptrie_buildImmutable_77(
5901 trie: *mut UMutableCPTrie,
5902 type_: UCPTrieType,
5903 valueWidth: UCPTrieValueWidth,
5904 pErrorCode: *mut UErrorCode,
5905 ) -> *mut UCPTrie;
5906}
5907pub type __builtin_va_list = [__va_list_tag; 1usize];
5908#[repr(C)]
5909#[derive(Debug, Copy, Clone, Hash, PartialOrd, PartialEq)]
5910pub struct __va_list_tag {
5911 pub gp_offset: ::std::os::raw::c_uint,
5912 pub fp_offset: ::std::os::raw::c_uint,
5913 pub overflow_arg_area: *mut ::std::os::raw::c_void,
5914 pub reg_save_area: *mut ::std::os::raw::c_void,
5915}
5916#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5917const _: () = {
5918 ["Size of __va_list_tag"][::std::mem::size_of::<__va_list_tag>() - 24usize];
5919 ["Alignment of __va_list_tag"][::std::mem::align_of::<__va_list_tag>() - 8usize];
5920 ["Offset of field: __va_list_tag::gp_offset"]
5921 [::std::mem::offset_of!(__va_list_tag, gp_offset) - 0usize];
5922 ["Offset of field: __va_list_tag::fp_offset"]
5923 [::std::mem::offset_of!(__va_list_tag, fp_offset) - 4usize];
5924 ["Offset of field: __va_list_tag::overflow_arg_area"]
5925 [::std::mem::offset_of!(__va_list_tag, overflow_arg_area) - 8usize];
5926 ["Offset of field: __va_list_tag::reg_save_area"]
5927 [::std::mem::offset_of!(__va_list_tag, reg_save_area) - 16usize];
5928};
5929impl Default for __va_list_tag {
5930 fn default() -> Self {
5931 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5932 unsafe {
5933 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5934 s.assume_init()
5935 }
5936 }
5937}