1use crate::array::CFArrayRef;
11use crate::base::{
12 Boolean, CFAllocatorRef, CFComparisonResult, CFIndex, CFOptionFlags, CFRange, CFTypeID,
13 ConstStr255Param, ConstStringPtr, SInt32, StringPtr, UInt32, UInt8, UTF32Char,
14};
15use crate::characterset::CFCharacterSetRef;
16use crate::data::CFDataRef;
17use crate::dictionary::CFDictionaryRef;
18use crate::locale::CFLocaleRef;
19use std::os::raw::{c_char, c_double, c_ulong, c_ushort, c_void};
20
21pub type CFStringCompareFlags = CFOptionFlags;
22pub const kCFCompareCaseInsensitive: CFStringCompareFlags = 1;
23pub const kCFCompareBackwards: CFStringCompareFlags = 4;
24pub const kCFCompareAnchored: CFStringCompareFlags = 8;
25pub const kCFCompareNonliteral: CFStringCompareFlags = 16;
26pub const kCFCompareLocalized: CFStringCompareFlags = 32;
27pub const kCFCompareNumerically: CFStringCompareFlags = 64;
28pub const kCFCompareDiacriticInsensitive: CFStringCompareFlags = 128;
29pub const kCFCompareWidthInsensitive: CFStringCompareFlags = 256;
30pub const kCFCompareForcedOrdering: CFStringCompareFlags = 512;
31
32pub type CFStringEncoding = UInt32;
33pub type UniChar = c_ushort;
34
35pub const kCFStringEncodingMacRoman: CFStringEncoding = 0;
38pub const kCFStringEncodingWindowsLatin1: CFStringEncoding = 0x0500;
39pub const kCFStringEncodingISOLatin1: CFStringEncoding = 0x0201;
40pub const kCFStringEncodingNextStepLatin: CFStringEncoding = 0x0B01;
41pub const kCFStringEncodingASCII: CFStringEncoding = 0x0600;
42pub const kCFStringEncodingUnicode: CFStringEncoding = 0x0100;
43pub const kCFStringEncodingUTF8: CFStringEncoding = 0x08000100;
44pub const kCFStringEncodingNonLossyASCII: CFStringEncoding = 0x0BFF;
45
46pub const kCFStringEncodingUTF16: CFStringEncoding = 0x0100;
47pub const kCFStringEncodingUTF16BE: CFStringEncoding = 0x10000100;
48pub const kCFStringEncodingUTF16LE: CFStringEncoding = 0x14000100;
49pub const kCFStringEncodingUTF32: CFStringEncoding = 0x0c000100;
50pub const kCFStringEncodingUTF32BE: CFStringEncoding = 0x18000100;
51pub const kCFStringEncodingUTF32LE: CFStringEncoding = 0x1c000100;
52
53pub const kCFStringEncodingMacJapanese: CFStringEncoding = 1;
56pub const kCFStringEncodingMacChineseTrad: CFStringEncoding = 2;
57pub const kCFStringEncodingMacKorean: CFStringEncoding = 3;
58pub const kCFStringEncodingMacArabic: CFStringEncoding = 4;
59pub const kCFStringEncodingMacHebrew: CFStringEncoding = 5;
60pub const kCFStringEncodingMacGreek: CFStringEncoding = 6;
61pub const kCFStringEncodingMacCyrillic: CFStringEncoding = 7;
62pub const kCFStringEncodingMacDevanagari: CFStringEncoding = 9;
63pub const kCFStringEncodingMacGurmukhi: CFStringEncoding = 10;
64pub const kCFStringEncodingMacGujarati: CFStringEncoding = 11;
65pub const kCFStringEncodingMacOriya: CFStringEncoding = 12;
66pub const kCFStringEncodingMacBengali: CFStringEncoding = 13;
67pub const kCFStringEncodingMacTamil: CFStringEncoding = 14;
68pub const kCFStringEncodingMacTelugu: CFStringEncoding = 15;
69pub const kCFStringEncodingMacKannada: CFStringEncoding = 16;
70pub const kCFStringEncodingMacMalayalam: CFStringEncoding = 17;
71pub const kCFStringEncodingMacSinhalese: CFStringEncoding = 18;
72pub const kCFStringEncodingMacBurmese: CFStringEncoding = 19;
73pub const kCFStringEncodingMacKhmer: CFStringEncoding = 20;
74pub const kCFStringEncodingMacThai: CFStringEncoding = 21;
75pub const kCFStringEncodingMacLaotian: CFStringEncoding = 22;
76pub const kCFStringEncodingMacGeorgian: CFStringEncoding = 23;
77pub const kCFStringEncodingMacArmenian: CFStringEncoding = 24;
78pub const kCFStringEncodingMacChineseSimp: CFStringEncoding = 25;
79pub const kCFStringEncodingMacTibetan: CFStringEncoding = 26;
80pub const kCFStringEncodingMacMongolian: CFStringEncoding = 27;
81pub const kCFStringEncodingMacEthiopic: CFStringEncoding = 28;
82pub const kCFStringEncodingMacCentralEurRoman: CFStringEncoding = 29;
83pub const kCFStringEncodingMacVietnamese: CFStringEncoding = 30;
84pub const kCFStringEncodingMacExtArabic: CFStringEncoding = 31;
85pub const kCFStringEncodingMacSymbol: CFStringEncoding = 33;
86pub const kCFStringEncodingMacDingbats: CFStringEncoding = 34;
87pub const kCFStringEncodingMacTurkish: CFStringEncoding = 35;
88pub const kCFStringEncodingMacCroatian: CFStringEncoding = 36;
89pub const kCFStringEncodingMacIcelandic: CFStringEncoding = 37;
90pub const kCFStringEncodingMacRomanian: CFStringEncoding = 38;
91pub const kCFStringEncodingMacCeltic: CFStringEncoding = 39;
92pub const kCFStringEncodingMacGaelic: CFStringEncoding = 40;
93pub const kCFStringEncodingMacFarsi: CFStringEncoding = 0x8C;
94pub const kCFStringEncodingMacUkrainian: CFStringEncoding = 0x98;
95pub const kCFStringEncodingMacInuit: CFStringEncoding = 0xEC;
96pub const kCFStringEncodingMacVT100: CFStringEncoding = 0xFC;
97pub const kCFStringEncodingMacHFS: CFStringEncoding = 0xFF;
98pub const kCFStringEncodingISOLatin2: CFStringEncoding = 0x0202;
99pub const kCFStringEncodingISOLatin3: CFStringEncoding = 0x0203;
100pub const kCFStringEncodingISOLatin4: CFStringEncoding = 0x0204;
101pub const kCFStringEncodingISOLatinCyrillic: CFStringEncoding = 0x0205;
102pub const kCFStringEncodingISOLatinArabic: CFStringEncoding = 0x0206;
103pub const kCFStringEncodingISOLatinGreek: CFStringEncoding = 0x0207;
104pub const kCFStringEncodingISOLatinHebrew: CFStringEncoding = 0x0208;
105pub const kCFStringEncodingISOLatin5: CFStringEncoding = 0x0209;
106pub const kCFStringEncodingISOLatin6: CFStringEncoding = 0x020A;
107pub const kCFStringEncodingISOLatinThai: CFStringEncoding = 0x020B;
108pub const kCFStringEncodingISOLatin7: CFStringEncoding = 0x020D;
109pub const kCFStringEncodingISOLatin8: CFStringEncoding = 0x020E;
110pub const kCFStringEncodingISOLatin9: CFStringEncoding = 0x020F;
111pub const kCFStringEncodingISOLatin10: CFStringEncoding = 0x0210;
112pub const kCFStringEncodingDOSLatinUS: CFStringEncoding = 0x0400;
113pub const kCFStringEncodingDOSGreek: CFStringEncoding = 0x0405;
114pub const kCFStringEncodingDOSBalticRim: CFStringEncoding = 0x0406;
115pub const kCFStringEncodingDOSLatin1: CFStringEncoding = 0x0410;
116pub const kCFStringEncodingDOSGreek1: CFStringEncoding = 0x0411;
117pub const kCFStringEncodingDOSLatin2: CFStringEncoding = 0x0412;
118pub const kCFStringEncodingDOSCyrillic: CFStringEncoding = 0x0413;
119pub const kCFStringEncodingDOSTurkish: CFStringEncoding = 0x0414;
120pub const kCFStringEncodingDOSPortuguese: CFStringEncoding = 0x0415;
121pub const kCFStringEncodingDOSIcelandic: CFStringEncoding = 0x0416;
122pub const kCFStringEncodingDOSHebrew: CFStringEncoding = 0x0417;
123pub const kCFStringEncodingDOSCanadianFrench: CFStringEncoding = 0x0418;
124pub const kCFStringEncodingDOSArabic: CFStringEncoding = 0x0419;
125pub const kCFStringEncodingDOSNordic: CFStringEncoding = 0x041A;
126pub const kCFStringEncodingDOSRussian: CFStringEncoding = 0x041B;
127pub const kCFStringEncodingDOSGreek2: CFStringEncoding = 0x041C;
128pub const kCFStringEncodingDOSThai: CFStringEncoding = 0x041D;
129pub const kCFStringEncodingDOSJapanese: CFStringEncoding = 0x0420;
130pub const kCFStringEncodingDOSChineseSimplif: CFStringEncoding = 0x0421;
131pub const kCFStringEncodingDOSKorean: CFStringEncoding = 0x0422;
132pub const kCFStringEncodingDOSChineseTrad: CFStringEncoding = 0x0423;
133pub const kCFStringEncodingWindowsLatin2: CFStringEncoding = 0x0501;
134pub const kCFStringEncodingWindowsCyrillic: CFStringEncoding = 0x0502;
135pub const kCFStringEncodingWindowsGreek: CFStringEncoding = 0x0503;
136pub const kCFStringEncodingWindowsLatin5: CFStringEncoding = 0x0504;
137pub const kCFStringEncodingWindowsHebrew: CFStringEncoding = 0x0505;
138pub const kCFStringEncodingWindowsArabic: CFStringEncoding = 0x0506;
139pub const kCFStringEncodingWindowsBalticRim: CFStringEncoding = 0x0507;
140pub const kCFStringEncodingWindowsVietnamese: CFStringEncoding = 0x0508;
141pub const kCFStringEncodingWindowsKoreanJohab: CFStringEncoding = 0x0510;
142pub const kCFStringEncodingANSEL: CFStringEncoding = 0x0601;
143pub const kCFStringEncodingJIS_X0201_76: CFStringEncoding = 0x0620;
144pub const kCFStringEncodingJIS_X0208_83: CFStringEncoding = 0x0621;
145pub const kCFStringEncodingJIS_X0208_90: CFStringEncoding = 0x0622;
146pub const kCFStringEncodingJIS_X0212_90: CFStringEncoding = 0x0623;
147pub const kCFStringEncodingJIS_C6226_78: CFStringEncoding = 0x0624;
148pub const kCFStringEncodingShiftJIS_X0213: CFStringEncoding = 0x0628;
149pub const kCFStringEncodingShiftJIS_X0213_MenKuTen: CFStringEncoding = 0x0629;
150pub const kCFStringEncodingGB_2312_80: CFStringEncoding = 0x0630;
151pub const kCFStringEncodingGBK_95: CFStringEncoding = 0x0631;
152pub const kCFStringEncodingGB_18030_2000: CFStringEncoding = 0x0632;
153pub const kCFStringEncodingKSC_5601_87: CFStringEncoding = 0x0640;
154pub const kCFStringEncodingKSC_5601_92_Johab: CFStringEncoding = 0x0641;
155pub const kCFStringEncodingCNS_11643_92_P1: CFStringEncoding = 0x0651;
156pub const kCFStringEncodingCNS_11643_92_P2: CFStringEncoding = 0x0652;
157pub const kCFStringEncodingCNS_11643_92_P3: CFStringEncoding = 0x0653;
158pub const kCFStringEncodingISO_2022_JP: CFStringEncoding = 0x0820;
159pub const kCFStringEncodingISO_2022_JP_2: CFStringEncoding = 0x0821;
160pub const kCFStringEncodingISO_2022_JP_1: CFStringEncoding = 0x0822;
161pub const kCFStringEncodingISO_2022_JP_3: CFStringEncoding = 0x0823;
162pub const kCFStringEncodingISO_2022_CN: CFStringEncoding = 0x0830;
163pub const kCFStringEncodingISO_2022_CN_EXT: CFStringEncoding = 0x0831;
164pub const kCFStringEncodingISO_2022_KR: CFStringEncoding = 0x0840;
165pub const kCFStringEncodingEUC_JP: CFStringEncoding = 0x0920;
166pub const kCFStringEncodingEUC_CN: CFStringEncoding = 0x0930;
167pub const kCFStringEncodingEUC_TW: CFStringEncoding = 0x0931;
168pub const kCFStringEncodingEUC_KR: CFStringEncoding = 0x0940;
169pub const kCFStringEncodingShiftJIS: CFStringEncoding = 0x0A01;
170pub const kCFStringEncodingKOI8_R: CFStringEncoding = 0x0A02;
171pub const kCFStringEncodingBig5: CFStringEncoding = 0x0A03;
172pub const kCFStringEncodingMacRomanLatin1: CFStringEncoding = 0x0A04;
173pub const kCFStringEncodingHZ_GB_2312: CFStringEncoding = 0x0A05;
174pub const kCFStringEncodingBig5_HKSCS_1999: CFStringEncoding = 0x0A06;
175pub const kCFStringEncodingVISCII: CFStringEncoding = 0x0A07;
176pub const kCFStringEncodingKOI8_U: CFStringEncoding = 0x0A08;
177pub const kCFStringEncodingBig5_E: CFStringEncoding = 0x0A09;
178pub const kCFStringEncodingNextStepJapanese: CFStringEncoding = 0x0B02;
179pub const kCFStringEncodingEBCDIC_US: CFStringEncoding = 0x0C01;
180pub const kCFStringEncodingEBCDIC_CP037: CFStringEncoding = 0x0C02;
181pub const kCFStringEncodingUTF7: CFStringEncoding = 0x04000100;
182pub const kCFStringEncodingUTF7_IMAP: CFStringEncoding = 0x0A10;
183pub const kCFStringEncodingShiftJIS_X0213_00: CFStringEncoding = 0x0628; pub const kCFStringEncodingInvalidId: u32 = 0xffffffff;
186
187pub type CFStringNormalizationForm = CFIndex;
188pub const kCFStringNormalizationFormD: CFStringNormalizationForm = 0;
189pub const kCFStringNormalizationFormKD: CFStringNormalizationForm = 1;
190pub const kCFStringNormalizationFormC: CFStringNormalizationForm = 2;
191pub const kCFStringNormalizationFormKC: CFStringNormalizationForm = 3;
192
193#[repr(C)]
194pub struct __CFString(c_void);
195
196pub type CFStringRef = *const __CFString;
197pub type CFMutableStringRef = *mut __CFString;
198
199extern "C" {
210 pub fn CFStringCreateArrayBySeparatingStrings(
220 alloc: CFAllocatorRef,
221 theString: CFStringRef,
222 separatorString: CFStringRef,
223 ) -> CFArrayRef;
224 pub fn CFStringCreateByCombiningStrings(
225 alloc: CFAllocatorRef,
226 theArray: CFArrayRef,
227 separatorString: CFStringRef,
228 ) -> CFStringRef;
229 pub fn CFStringCreateCopy(alloc: CFAllocatorRef, theString: CFStringRef) -> CFStringRef;
230 pub fn CFStringCreateFromExternalRepresentation(
231 alloc: CFAllocatorRef,
232 data: CFDataRef,
233 encoding: CFStringEncoding,
234 ) -> CFStringRef;
235 pub fn CFStringCreateWithBytes(
236 alloc: CFAllocatorRef,
237 bytes: *const UInt8,
238 numBytes: CFIndex,
239 encoding: CFStringEncoding,
240 isExternalRepresentation: Boolean,
241 ) -> CFStringRef;
242 pub fn CFStringCreateWithBytesNoCopy(
243 alloc: CFAllocatorRef,
244 bytes: *const UInt8,
245 numBytes: CFIndex,
246 encoding: CFStringEncoding,
247 isExternalRepresentation: Boolean,
248 contentsDeallocator: CFAllocatorRef,
249 ) -> CFStringRef;
250 pub fn CFStringCreateWithCharacters(
251 alloc: CFAllocatorRef,
252 chars: *const UniChar,
253 numChars: CFIndex,
254 ) -> CFStringRef;
255 pub fn CFStringCreateWithCharactersNoCopy(
256 alloc: CFAllocatorRef,
257 chars: *const UniChar,
258 numChars: CFIndex,
259 contentsDeallocator: CFAllocatorRef,
260 ) -> CFStringRef;
261 pub fn CFStringCreateWithCString(
262 alloc: CFAllocatorRef,
263 cStr: *const c_char,
264 encoding: CFStringEncoding,
265 ) -> CFStringRef;
266 pub fn CFStringCreateWithCStringNoCopy(
267 alloc: CFAllocatorRef,
268 cStr: *const c_char,
269 encoding: CFStringEncoding,
270 contentsDeallocator: CFAllocatorRef,
271 ) -> CFStringRef;
272 pub fn CFStringCreateWithFormat(
273 alloc: CFAllocatorRef,
274 formatOptions: CFDictionaryRef,
275 format: CFStringRef,
276 ...
277 ) -> CFStringRef;
278 pub fn CFStringCreateWithPascalString(
280 alloc: CFAllocatorRef,
281 pStr: ConstStr255Param,
282 encoding: CFStringEncoding,
283 ) -> CFStringRef;
284 pub fn CFStringCreateWithPascalStringNoCopy(
285 alloc: CFAllocatorRef,
286 pStr: ConstStr255Param,
287 encoding: CFStringEncoding,
288 contentsDeallocator: CFAllocatorRef,
289 ) -> CFStringRef;
290 pub fn CFStringCreateWithSubstring(
291 alloc: CFAllocatorRef,
292 str: CFStringRef,
293 range: CFRange,
294 ) -> CFStringRef;
295
296 pub fn CFStringCreateArrayWithFindResults(
298 alloc: CFAllocatorRef,
299 theString: CFStringRef,
300 stringToFind: CFStringRef,
301 rangeToSearch: CFRange,
302 compareOptions: CFStringCompareFlags,
303 ) -> CFArrayRef;
304 pub fn CFStringFind(
305 theString: CFStringRef,
306 stringToFind: CFStringRef,
307 compareOptions: CFStringCompareFlags,
308 ) -> CFRange;
309 pub fn CFStringFindCharacterFromSet(
310 theString: CFStringRef,
311 theSet: CFCharacterSetRef,
312 rangeToSearch: CFRange,
313 searchOptions: CFStringCompareFlags,
314 result: *mut CFRange,
315 ) -> Boolean;
316 pub fn CFStringFindWithOptions(
317 theString: CFStringRef,
318 stringToFind: CFStringRef,
319 rangeToSearch: CFRange,
320 searchOptions: CFStringCompareFlags,
321 result: *mut CFRange,
322 ) -> Boolean;
323 pub fn CFStringFindWithOptionsAndLocale(
324 theString: CFStringRef,
325 stringToFind: CFStringRef,
326 rangeToSearch: CFRange,
327 searchOptions: CFStringCompareFlags,
328 locale: CFLocaleRef,
329 result: *mut CFRange,
330 ) -> Boolean;
331 pub fn CFStringGetLineBounds(
332 theString: CFStringRef,
333 range: CFRange,
334 lineBeginIndex: *mut CFIndex,
335 lineEndIndex: *mut CFIndex,
336 contentsEndIndex: *mut CFIndex,
337 );
338
339 pub fn CFStringCompare(
341 theString1: CFStringRef,
342 theString2: CFStringRef,
343 compareOptions: CFStringCompareFlags,
344 ) -> CFComparisonResult;
345 pub fn CFStringCompareWithOptions(
346 theString1: CFStringRef,
347 theString2: CFStringRef,
348 rangeToCompare: CFRange,
349 compareOptions: CFStringCompareFlags,
350 ) -> CFComparisonResult;
351 pub fn CFStringCompareWithOptionsAndLocale(
352 theString1: CFStringRef,
353 theString2: CFStringRef,
354 rangeToCompare: CFRange,
355 compareOptions: CFStringCompareFlags,
356 locale: CFLocaleRef,
357 ) -> CFComparisonResult;
358 pub fn CFStringHasPrefix(theString: CFStringRef, prefix: CFStringRef) -> Boolean;
359 pub fn CFStringHasSuffix(theString: CFStringRef, suffix: CFStringRef) -> Boolean;
360
361 pub fn CFStringCreateExternalRepresentation(
363 alloc: CFAllocatorRef,
364 theString: CFStringRef,
365 encoding: CFStringEncoding,
366 lossByte: UInt8,
367 ) -> CFDataRef;
368 pub fn CFStringGetBytes(
369 theString: CFStringRef,
370 range: CFRange,
371 encoding: CFStringEncoding,
372 lossByte: UInt8,
373 isExternalRepresentation: Boolean,
374 buffer: *mut UInt8,
375 maxBufLen: CFIndex,
376 usedBufLen: *mut CFIndex,
377 ) -> CFIndex;
378 pub fn CFStringGetCharacterAtIndex(theString: CFStringRef, idx: CFIndex) -> UniChar;
379 pub fn CFStringGetCharacters(theString: CFStringRef, range: CFRange, buffer: *mut UniChar);
380 pub fn CFStringGetCharactersPtr(theString: CFStringRef) -> *const UniChar;
381 pub fn CFStringGetCString(
382 theString: CFStringRef,
383 buffer: *mut c_char,
384 bufferSize: CFIndex,
385 encoding: CFStringEncoding,
386 ) -> Boolean;
387 pub fn CFStringGetCStringPtr(
388 theString: CFStringRef,
389 encoding: CFStringEncoding,
390 ) -> *const c_char;
391 pub fn CFStringGetLength(theString: CFStringRef) -> CFIndex;
392 pub fn CFStringGetPascalString(
393 theString: CFStringRef,
394 buffer: StringPtr,
395 bufferSize: CFIndex,
396 encoding: CFStringEncoding,
397 ) -> Boolean;
398 pub fn CFStringGetPascalStringPtr(
399 theString: CFStringRef,
400 encoding: CFStringEncoding,
401 ) -> ConstStringPtr;
402 pub fn CFStringGetRangeOfComposedCharactersAtIndex(
403 theString: CFStringRef,
404 theIndex: CFIndex,
405 ) -> CFRange;
406
407 pub fn CFStringGetHyphenationLocationBeforeIndex(
409 string: CFStringRef,
410 location: CFIndex,
411 limitRange: CFRange,
412 options: CFOptionFlags,
413 locale: CFLocaleRef,
414 character: *mut UTF32Char,
415 ) -> CFIndex;
416 pub fn CFStringIsHyphenationAvailableForLocale(locale: CFLocaleRef) -> Boolean;
417
418 pub fn CFStringConvertEncodingToIANACharSetName(encoding: CFStringEncoding) -> CFStringRef;
420 pub fn CFStringConvertEncodingToNSStringEncoding(encoding: CFStringEncoding) -> c_ulong;
421 pub fn CFStringConvertEncodingToWindowsCodepage(encoding: CFStringEncoding) -> UInt32;
422 pub fn CFStringConvertIANACharSetNameToEncoding(theString: CFStringRef) -> CFStringEncoding;
423 pub fn CFStringConvertNSStringEncodingToEncoding(encoding: c_ulong) -> CFStringEncoding;
424 pub fn CFStringConvertWindowsCodepageToEncoding(codepage: UInt32) -> CFStringEncoding;
425 pub fn CFStringGetFastestEncoding(theString: CFStringRef) -> CFStringEncoding;
426 pub fn CFStringGetListOfAvailableEncodings() -> *const CFStringEncoding;
427 pub fn CFStringGetMaximumSizeForEncoding(
428 length: CFIndex,
429 encoding: CFStringEncoding,
430 ) -> CFIndex;
431 pub fn CFStringGetMostCompatibleMacStringEncoding(
432 encoding: CFStringEncoding,
433 ) -> CFStringEncoding;
434 pub fn CFStringGetNameOfEncoding(encoding: CFStringEncoding) -> CFStringRef;
435 pub fn CFStringGetSmallestEncoding(theString: CFStringRef) -> CFStringEncoding;
436 pub fn CFStringGetSystemEncoding() -> CFStringEncoding;
437 pub fn CFStringIsEncodingAvailable(encoding: CFStringEncoding) -> Boolean;
438
439 pub fn CFStringGetDoubleValue(str: CFStringRef) -> c_double;
441 pub fn CFStringGetIntValue(str: CFStringRef) -> SInt32;
442
443 pub fn CFShowStr(str: CFStringRef);
445 pub fn CFStringGetTypeID() -> CFTypeID;
446
447 pub fn CFStringCreateWithFileSystemRepresentation(
449 alloc: CFAllocatorRef,
450 buffer: *const c_char,
451 ) -> CFStringRef;
452 pub fn CFStringGetFileSystemRepresentation(
453 string: CFStringRef,
454 buffer: *mut c_char,
455 maxBufLen: CFIndex,
456 ) -> Boolean;
457 pub fn CFStringGetMaximumSizeOfFileSystemRepresentation(string: CFStringRef) -> CFIndex;
458
459 pub fn CFStringGetParagraphBounds(
461 string: CFStringRef,
462 range: CFRange,
463 parBeginIndex: *mut CFIndex,
464 parEndIndex: *mut CFIndex,
465 contentsEndIndex: *mut CFIndex,
466 );
467
468 pub fn CFStringAppend(theString: CFMutableStringRef, appendedString: CFStringRef);
471 pub fn CFStringAppendCharacters(
472 theString: CFMutableStringRef,
473 chars: *const UniChar,
474 numChars: CFIndex,
475 );
476 pub fn CFStringAppendCString(
477 theString: CFMutableStringRef,
478 cStr: *const c_char,
479 encoding: CFStringEncoding,
480 );
481 pub fn CFStringAppendFormat(
482 theString: CFMutableStringRef,
483 formatOptions: CFDictionaryRef,
484 format: CFStringRef,
485 ...
486 );
487 pub fn CFStringAppendPascalString(
489 theString: CFMutableStringRef,
490 pStr: ConstStr255Param,
491 encoding: CFStringEncoding,
492 );
493 pub fn CFStringCapitalize(theString: CFMutableStringRef, locale: CFLocaleRef);
494 pub fn CFStringCreateMutable(alloc: CFAllocatorRef, maxLength: CFIndex) -> CFMutableStringRef;
495 pub fn CFStringCreateMutableCopy(
496 alloc: CFAllocatorRef,
497 maxLength: CFIndex,
498 theString: CFStringRef,
499 ) -> CFMutableStringRef;
500 pub fn CFStringCreateMutableWithExternalCharactersNoCopy(
501 alloc: CFAllocatorRef,
502 chars: *mut UniChar,
503 numChars: CFIndex,
504 capacity: CFIndex,
505 externalCharactersAllocator: CFAllocatorRef,
506 ) -> CFMutableStringRef;
507 pub fn CFStringDelete(theString: CFMutableStringRef, range: CFRange);
508 pub fn CFStringFindAndReplace(
509 theString: CFMutableStringRef,
510 stringToFind: CFStringRef,
511 replacementString: CFStringRef,
512 rangeToSearch: CFRange,
513 compareOptions: CFStringCompareFlags,
514 ) -> CFIndex;
515 pub fn CFStringFold(
516 theString: CFMutableStringRef,
517 theFlags: CFStringCompareFlags,
518 theLocale: CFLocaleRef,
519 );
520 pub fn CFStringInsert(str: CFMutableStringRef, idx: CFIndex, insertedStr: CFStringRef);
521 pub fn CFStringLowercase(theString: CFMutableStringRef, locale: CFLocaleRef);
522 pub fn CFStringNormalize(theString: CFMutableStringRef, theForm: CFStringNormalizationForm);
523 pub fn CFStringPad(
524 theString: CFMutableStringRef,
525 padString: CFStringRef,
526 length: CFIndex,
527 indexIntoPad: CFIndex,
528 );
529 pub fn CFStringReplace(theString: CFMutableStringRef, range: CFRange, replacement: CFStringRef);
530 pub fn CFStringReplaceAll(theString: CFMutableStringRef, replacement: CFStringRef);
531 pub fn CFStringSetExternalCharactersNoCopy(
532 theString: CFMutableStringRef,
533 chars: *mut UniChar,
534 length: CFIndex,
535 capacity: CFIndex,
536 );
537 pub fn CFStringTransform(
538 string: CFMutableStringRef,
539 range: *mut CFRange,
540 transform: CFStringRef,
541 reverse: Boolean,
542 ) -> Boolean;
543 pub fn CFStringTrim(theString: CFMutableStringRef, trimString: CFStringRef);
544 pub fn CFStringTrimWhitespace(theString: CFMutableStringRef);
545 pub fn CFStringUppercase(theString: CFMutableStringRef, locale: CFLocaleRef);
546}