summaryrefslogtreecommitdiffstats
path: root/vendor/core-foundation-sys/src/string.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/core-foundation-sys/src/string.rs')
-rw-r--r--vendor/core-foundation-sys/src/string.rs757
1 files changed, 490 insertions, 267 deletions
diff --git a/vendor/core-foundation-sys/src/string.rs b/vendor/core-foundation-sys/src/string.rs
index d4f655078..2cb6ae948 100644
--- a/vendor/core-foundation-sys/src/string.rs
+++ b/vendor/core-foundation-sys/src/string.rs
@@ -7,317 +7,540 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
-use std::os::raw::{c_char, c_ushort, c_void};
-
-use base::{Boolean, CFOptionFlags, CFIndex, CFAllocatorRef, CFRange, CFTypeID};
-
-pub type UniChar = c_ushort;
-
-// CFString.h
+use crate::array::CFArrayRef;
+use crate::base::{
+ Boolean, CFAllocatorRef, CFComparisonResult, CFIndex, CFOptionFlags, CFRange, CFTypeID,
+ ConstStr255Param, ConstStringPtr, SInt32, StringPtr, UInt32, UInt8, UTF32Char,
+};
+use crate::characterset::CFCharacterSetRef;
+use crate::data::CFDataRef;
+use crate::dictionary::CFDictionaryRef;
+use crate::locale::CFLocaleRef;
+use std::os::raw::{c_char, c_double, c_ulong, c_ushort, c_void};
pub type CFStringCompareFlags = CFOptionFlags;
-//static kCFCompareCaseInsensitive: CFStringCompareFlags = 1;
-//static kCFCompareBackwards: CFStringCompareFlags = 4;
-//static kCFCompareAnchored: CFStringCompareFlags = 8;
-//static kCFCompareNonliteral: CFStringCompareFlags = 16;
-//static kCFCompareLocalized: CFStringCompareFlags = 32;
-//static kCFCompareNumerically: CFStringCompareFlags = 64;
-//static kCFCompareDiacriticInsensitive: CFStringCompareFlags = 128;
-//static kCFCompareWidthInsensitive: CFStringCompareFlags = 256;
-//static kCFCompareForcedOrdering: CFStringCompareFlags = 512;
+pub const kCFCompareCaseInsensitive: CFStringCompareFlags = 1;
+pub const kCFCompareBackwards: CFStringCompareFlags = 4;
+pub const kCFCompareAnchored: CFStringCompareFlags = 8;
+pub const kCFCompareNonliteral: CFStringCompareFlags = 16;
+pub const kCFCompareLocalized: CFStringCompareFlags = 32;
+pub const kCFCompareNumerically: CFStringCompareFlags = 64;
+pub const kCFCompareDiacriticInsensitive: CFStringCompareFlags = 128;
+pub const kCFCompareWidthInsensitive: CFStringCompareFlags = 256;
+pub const kCFCompareForcedOrdering: CFStringCompareFlags = 512;
-pub type CFStringEncoding = u32;
+pub type CFStringEncoding = UInt32;
+pub type UniChar = c_ushort;
// macOS built-in encodings.
-//static kCFStringEncodingMacRoman: CFStringEncoding = 0;
-//static kCFStringEncodingWindowsLatin1: CFStringEncoding = 0x0500;
-//static kCFStringEncodingISOLatin1: CFStringEncoding = 0x0201;
-//static kCFStringEncodingNextStepLatin: CFStringEncoding = 0x0B01;
-//static kCFStringEncodingASCII: CFStringEncoding = 0x0600;
-//static kCFStringEncodingUnicode: CFStringEncoding = 0x0100;
-pub static kCFStringEncodingUTF8: CFStringEncoding = 0x08000100;
-//static kCFStringEncodingNonLossyASCII: CFStringEncoding = 0x0BFF;
-
-//static kCFStringEncodingUTF16: CFStringEncoding = 0x0100;
-//static kCFStringEncodingUTF16BE: CFStringEncoding = 0x10000100;
-//static kCFStringEncodingUTF16LE: CFStringEncoding = 0x14000100;
-//static kCFStringEncodingUTF32: CFStringEncoding = 0x0c000100;
-//static kCFStringEncodingUTF32BE: CFStringEncoding = 0x18000100;
-//static kCFStringEncodingUTF32LE: CFStringEncoding = 0x1c000100;
+pub const kCFStringEncodingMacRoman: CFStringEncoding = 0;
+pub const kCFStringEncodingWindowsLatin1: CFStringEncoding = 0x0500;
+pub const kCFStringEncodingISOLatin1: CFStringEncoding = 0x0201;
+pub const kCFStringEncodingNextStepLatin: CFStringEncoding = 0x0B01;
+pub const kCFStringEncodingASCII: CFStringEncoding = 0x0600;
+pub const kCFStringEncodingUnicode: CFStringEncoding = 0x0100;
+pub const kCFStringEncodingUTF8: CFStringEncoding = 0x08000100;
+pub const kCFStringEncodingNonLossyASCII: CFStringEncoding = 0x0BFF;
+pub const kCFStringEncodingUTF16: CFStringEncoding = 0x0100;
+pub const kCFStringEncodingUTF16BE: CFStringEncoding = 0x10000100;
+pub const kCFStringEncodingUTF16LE: CFStringEncoding = 0x14000100;
+pub const kCFStringEncodingUTF32: CFStringEncoding = 0x0c000100;
+pub const kCFStringEncodingUTF32BE: CFStringEncoding = 0x18000100;
+pub const kCFStringEncodingUTF32LE: CFStringEncoding = 0x1c000100;
// CFStringEncodingExt.h
+// External encodings, except those defined above.
+pub const kCFStringEncodingMacJapanese: CFStringEncoding = 1;
+pub const kCFStringEncodingMacChineseTrad: CFStringEncoding = 2;
+pub const kCFStringEncodingMacKorean: CFStringEncoding = 3;
+pub const kCFStringEncodingMacArabic: CFStringEncoding = 4;
+pub const kCFStringEncodingMacHebrew: CFStringEncoding = 5;
+pub const kCFStringEncodingMacGreek: CFStringEncoding = 6;
+pub const kCFStringEncodingMacCyrillic: CFStringEncoding = 7;
+pub const kCFStringEncodingMacDevanagari: CFStringEncoding = 9;
+pub const kCFStringEncodingMacGurmukhi: CFStringEncoding = 10;
+pub const kCFStringEncodingMacGujarati: CFStringEncoding = 11;
+pub const kCFStringEncodingMacOriya: CFStringEncoding = 12;
+pub const kCFStringEncodingMacBengali: CFStringEncoding = 13;
+pub const kCFStringEncodingMacTamil: CFStringEncoding = 14;
+pub const kCFStringEncodingMacTelugu: CFStringEncoding = 15;
+pub const kCFStringEncodingMacKannada: CFStringEncoding = 16;
+pub const kCFStringEncodingMacMalayalam: CFStringEncoding = 17;
+pub const kCFStringEncodingMacSinhalese: CFStringEncoding = 18;
+pub const kCFStringEncodingMacBurmese: CFStringEncoding = 19;
+pub const kCFStringEncodingMacKhmer: CFStringEncoding = 20;
+pub const kCFStringEncodingMacThai: CFStringEncoding = 21;
+pub const kCFStringEncodingMacLaotian: CFStringEncoding = 22;
+pub const kCFStringEncodingMacGeorgian: CFStringEncoding = 23;
+pub const kCFStringEncodingMacArmenian: CFStringEncoding = 24;
+pub const kCFStringEncodingMacChineseSimp: CFStringEncoding = 25;
+pub const kCFStringEncodingMacTibetan: CFStringEncoding = 26;
+pub const kCFStringEncodingMacMongolian: CFStringEncoding = 27;
+pub const kCFStringEncodingMacEthiopic: CFStringEncoding = 28;
+pub const kCFStringEncodingMacCentralEurRoman: CFStringEncoding = 29;
+pub const kCFStringEncodingMacVietnamese: CFStringEncoding = 30;
+pub const kCFStringEncodingMacExtArabic: CFStringEncoding = 31;
+pub const kCFStringEncodingMacSymbol: CFStringEncoding = 33;
+pub const kCFStringEncodingMacDingbats: CFStringEncoding = 34;
+pub const kCFStringEncodingMacTurkish: CFStringEncoding = 35;
+pub const kCFStringEncodingMacCroatian: CFStringEncoding = 36;
+pub const kCFStringEncodingMacIcelandic: CFStringEncoding = 37;
+pub const kCFStringEncodingMacRomanian: CFStringEncoding = 38;
+pub const kCFStringEncodingMacCeltic: CFStringEncoding = 39;
+pub const kCFStringEncodingMacGaelic: CFStringEncoding = 40;
+pub const kCFStringEncodingMacFarsi: CFStringEncoding = 0x8C;
+pub const kCFStringEncodingMacUkrainian: CFStringEncoding = 0x98;
+pub const kCFStringEncodingMacInuit: CFStringEncoding = 0xEC;
+pub const kCFStringEncodingMacVT100: CFStringEncoding = 0xFC;
+pub const kCFStringEncodingMacHFS: CFStringEncoding = 0xFF;
+pub const kCFStringEncodingISOLatin2: CFStringEncoding = 0x0202;
+pub const kCFStringEncodingISOLatin3: CFStringEncoding = 0x0203;
+pub const kCFStringEncodingISOLatin4: CFStringEncoding = 0x0204;
+pub const kCFStringEncodingISOLatinCyrillic: CFStringEncoding = 0x0205;
+pub const kCFStringEncodingISOLatinArabic: CFStringEncoding = 0x0206;
+pub const kCFStringEncodingISOLatinGreek: CFStringEncoding = 0x0207;
+pub const kCFStringEncodingISOLatinHebrew: CFStringEncoding = 0x0208;
+pub const kCFStringEncodingISOLatin5: CFStringEncoding = 0x0209;
+pub const kCFStringEncodingISOLatin6: CFStringEncoding = 0x020A;
+pub const kCFStringEncodingISOLatinThai: CFStringEncoding = 0x020B;
+pub const kCFStringEncodingISOLatin7: CFStringEncoding = 0x020D;
+pub const kCFStringEncodingISOLatin8: CFStringEncoding = 0x020E;
+pub const kCFStringEncodingISOLatin9: CFStringEncoding = 0x020F;
+pub const kCFStringEncodingISOLatin10: CFStringEncoding = 0x0210;
+pub const kCFStringEncodingDOSLatinUS: CFStringEncoding = 0x0400;
+pub const kCFStringEncodingDOSGreek: CFStringEncoding = 0x0405;
+pub const kCFStringEncodingDOSBalticRim: CFStringEncoding = 0x0406;
+pub const kCFStringEncodingDOSLatin1: CFStringEncoding = 0x0410;
+pub const kCFStringEncodingDOSGreek1: CFStringEncoding = 0x0411;
+pub const kCFStringEncodingDOSLatin2: CFStringEncoding = 0x0412;
+pub const kCFStringEncodingDOSCyrillic: CFStringEncoding = 0x0413;
+pub const kCFStringEncodingDOSTurkish: CFStringEncoding = 0x0414;
+pub const kCFStringEncodingDOSPortuguese: CFStringEncoding = 0x0415;
+pub const kCFStringEncodingDOSIcelandic: CFStringEncoding = 0x0416;
+pub const kCFStringEncodingDOSHebrew: CFStringEncoding = 0x0417;
+pub const kCFStringEncodingDOSCanadianFrench: CFStringEncoding = 0x0418;
+pub const kCFStringEncodingDOSArabic: CFStringEncoding = 0x0419;
+pub const kCFStringEncodingDOSNordic: CFStringEncoding = 0x041A;
+pub const kCFStringEncodingDOSRussian: CFStringEncoding = 0x041B;
+pub const kCFStringEncodingDOSGreek2: CFStringEncoding = 0x041C;
+pub const kCFStringEncodingDOSThai: CFStringEncoding = 0x041D;
+pub const kCFStringEncodingDOSJapanese: CFStringEncoding = 0x0420;
+pub const kCFStringEncodingDOSChineseSimplif: CFStringEncoding = 0x0421;
+pub const kCFStringEncodingDOSKorean: CFStringEncoding = 0x0422;
+pub const kCFStringEncodingDOSChineseTrad: CFStringEncoding = 0x0423;
+pub const kCFStringEncodingWindowsLatin2: CFStringEncoding = 0x0501;
+pub const kCFStringEncodingWindowsCyrillic: CFStringEncoding = 0x0502;
+pub const kCFStringEncodingWindowsGreek: CFStringEncoding = 0x0503;
+pub const kCFStringEncodingWindowsLatin5: CFStringEncoding = 0x0504;
+pub const kCFStringEncodingWindowsHebrew: CFStringEncoding = 0x0505;
+pub const kCFStringEncodingWindowsArabic: CFStringEncoding = 0x0506;
+pub const kCFStringEncodingWindowsBalticRim: CFStringEncoding = 0x0507;
+pub const kCFStringEncodingWindowsVietnamese: CFStringEncoding = 0x0508;
+pub const kCFStringEncodingWindowsKoreanJohab: CFStringEncoding = 0x0510;
+pub const kCFStringEncodingANSEL: CFStringEncoding = 0x0601;
+pub const kCFStringEncodingJIS_X0201_76: CFStringEncoding = 0x0620;
+pub const kCFStringEncodingJIS_X0208_83: CFStringEncoding = 0x0621;
+pub const kCFStringEncodingJIS_X0208_90: CFStringEncoding = 0x0622;
+pub const kCFStringEncodingJIS_X0212_90: CFStringEncoding = 0x0623;
+pub const kCFStringEncodingJIS_C6226_78: CFStringEncoding = 0x0624;
+pub const kCFStringEncodingShiftJIS_X0213: CFStringEncoding = 0x0628;
+pub const kCFStringEncodingShiftJIS_X0213_MenKuTen: CFStringEncoding = 0x0629;
+pub const kCFStringEncodingGB_2312_80: CFStringEncoding = 0x0630;
+pub const kCFStringEncodingGBK_95: CFStringEncoding = 0x0631;
+pub const kCFStringEncodingGB_18030_2000: CFStringEncoding = 0x0632;
+pub const kCFStringEncodingKSC_5601_87: CFStringEncoding = 0x0640;
+pub const kCFStringEncodingKSC_5601_92_Johab: CFStringEncoding = 0x0641;
+pub const kCFStringEncodingCNS_11643_92_P1: CFStringEncoding = 0x0651;
+pub const kCFStringEncodingCNS_11643_92_P2: CFStringEncoding = 0x0652;
+pub const kCFStringEncodingCNS_11643_92_P3: CFStringEncoding = 0x0653;
+pub const kCFStringEncodingISO_2022_JP: CFStringEncoding = 0x0820;
+pub const kCFStringEncodingISO_2022_JP_2: CFStringEncoding = 0x0821;
+pub const kCFStringEncodingISO_2022_JP_1: CFStringEncoding = 0x0822;
+pub const kCFStringEncodingISO_2022_JP_3: CFStringEncoding = 0x0823;
+pub const kCFStringEncodingISO_2022_CN: CFStringEncoding = 0x0830;
+pub const kCFStringEncodingISO_2022_CN_EXT: CFStringEncoding = 0x0831;
+pub const kCFStringEncodingISO_2022_KR: CFStringEncoding = 0x0840;
+pub const kCFStringEncodingEUC_JP: CFStringEncoding = 0x0920;
+pub const kCFStringEncodingEUC_CN: CFStringEncoding = 0x0930;
+pub const kCFStringEncodingEUC_TW: CFStringEncoding = 0x0931;
+pub const kCFStringEncodingEUC_KR: CFStringEncoding = 0x0940;
+pub const kCFStringEncodingShiftJIS: CFStringEncoding = 0x0A01;
+pub const kCFStringEncodingKOI8_R: CFStringEncoding = 0x0A02;
+pub const kCFStringEncodingBig5: CFStringEncoding = 0x0A03;
+pub const kCFStringEncodingMacRomanLatin1: CFStringEncoding = 0x0A04;
+pub const kCFStringEncodingHZ_GB_2312: CFStringEncoding = 0x0A05;
+pub const kCFStringEncodingBig5_HKSCS_1999: CFStringEncoding = 0x0A06;
+pub const kCFStringEncodingVISCII: CFStringEncoding = 0x0A07;
+pub const kCFStringEncodingKOI8_U: CFStringEncoding = 0x0A08;
+pub const kCFStringEncodingBig5_E: CFStringEncoding = 0x0A09;
+pub const kCFStringEncodingNextStepJapanese: CFStringEncoding = 0x0B02;
+pub const kCFStringEncodingEBCDIC_US: CFStringEncoding = 0x0C01;
+pub const kCFStringEncodingEBCDIC_CP037: CFStringEncoding = 0x0C02;
+pub const kCFStringEncodingUTF7: CFStringEncoding = 0x04000100;
+pub const kCFStringEncodingUTF7_IMAP: CFStringEncoding = 0x0A10;
+pub const kCFStringEncodingShiftJIS_X0213_00: CFStringEncoding = 0x0628; /* Deprecated */
-pub type CFStringEncodings = CFIndex;
+pub const kCFStringEncodingInvalidId: u32 = 0xffffffff;
-// External encodings, except those defined above.
-// Defined above: kCFStringEncodingMacRoman = 0
-//static kCFStringEncodingMacJapanese: CFStringEncoding = 1;
-//static kCFStringEncodingMacChineseTrad: CFStringEncoding = 2;
-//static kCFStringEncodingMacKorean: CFStringEncoding = 3;
-//static kCFStringEncodingMacArabic: CFStringEncoding = 4;
-//static kCFStringEncodingMacHebrew: CFStringEncoding = 5;
-//static kCFStringEncodingMacGreek: CFStringEncoding = 6;
-//static kCFStringEncodingMacCyrillic: CFStringEncoding = 7;
-//static kCFStringEncodingMacDevanagari: CFStringEncoding = 9;
-//static kCFStringEncodingMacGurmukhi: CFStringEncoding = 10;
-//static kCFStringEncodingMacGujarati: CFStringEncoding = 11;
-//static kCFStringEncodingMacOriya: CFStringEncoding = 12;
-//static kCFStringEncodingMacBengali: CFStringEncoding = 13;
-//static kCFStringEncodingMacTamil: CFStringEncoding = 14;
-//static kCFStringEncodingMacTelugu: CFStringEncoding = 15;
-//static kCFStringEncodingMacKannada: CFStringEncoding = 16;
-//static kCFStringEncodingMacMalayalam: CFStringEncoding = 17;
-//static kCFStringEncodingMacSinhalese: CFStringEncoding = 18;
-//static kCFStringEncodingMacBurmese: CFStringEncoding = 19;
-//static kCFStringEncodingMacKhmer: CFStringEncoding = 20;
-//static kCFStringEncodingMacThai: CFStringEncoding = 21;
-//static kCFStringEncodingMacLaotian: CFStringEncoding = 22;
-//static kCFStringEncodingMacGeorgian: CFStringEncoding = 23;
-//static kCFStringEncodingMacArmenian: CFStringEncoding = 24;
-//static kCFStringEncodingMacChineseSimp: CFStringEncoding = 25;
-//static kCFStringEncodingMacTibetan: CFStringEncoding = 26;
-//static kCFStringEncodingMacMongolian: CFStringEncoding = 27;
-//static kCFStringEncodingMacEthiopic: CFStringEncoding = 28;
-//static kCFStringEncodingMacCentralEurRoman: CFStringEncoding = 29;
-//static kCFStringEncodingMacVietnamese: CFStringEncoding = 30;
-//static kCFStringEncodingMacExtArabic: CFStringEncoding = 31;
-//static kCFStringEncodingMacSymbol: CFStringEncoding = 33;
-//static kCFStringEncodingMacDingbats: CFStringEncoding = 34;
-//static kCFStringEncodingMacTurkish: CFStringEncoding = 35;
-//static kCFStringEncodingMacCroatian: CFStringEncoding = 36;
-//static kCFStringEncodingMacIcelandic: CFStringEncoding = 37;
-//static kCFStringEncodingMacRomanian: CFStringEncoding = 38;
-//static kCFStringEncodingMacCeltic: CFStringEncoding = 39;
-//static kCFStringEncodingMacGaelic: CFStringEncoding = 40;
-//static kCFStringEncodingMacFarsi: CFStringEncoding = 0x8C;
-//static kCFStringEncodingMacUkrainian: CFStringEncoding = 0x98;
-//static kCFStringEncodingMacInuit: CFStringEncoding = 0xEC;
-//static kCFStringEncodingMacVT100: CFStringEncoding = 0xFC;
-//static kCFStringEncodingMacHFS: CFStringEncoding = 0xFF;
-// Defined above: kCFStringEncodingISOLatin1 = 0x0201
-//static kCFStringEncodingISOLatin2: CFStringEncoding = 0x0202;
-//static kCFStringEncodingISOLatin3: CFStringEncoding = 0x0203;
-//static kCFStringEncodingISOLatin4: CFStringEncoding = 0x0204;
-//static kCFStringEncodingISOLatinCyrillic: CFStringEncoding = 0x0205;
-//static kCFStringEncodingISOLatinArabic: CFStringEncoding = 0x0206;
-//static kCFStringEncodingISOLatinGreek: CFStringEncoding = 0x0207;
-//static kCFStringEncodingISOLatinHebrew: CFStringEncoding = 0x0208;
-//static kCFStringEncodingISOLatin5: CFStringEncoding = 0x0209;
-//static kCFStringEncodingISOLatin6: CFStringEncoding = 0x020A;
-//static kCFStringEncodingISOLatinThai: CFStringEncoding = 0x020B;
-//static kCFStringEncodingISOLatin7: CFStringEncoding = 0x020D;
-//static kCFStringEncodingISOLatin8: CFStringEncoding = 0x020E;
-//static kCFStringEncodingISOLatin9: CFStringEncoding = 0x020F;
-//static kCFStringEncodingISOLatin10: CFStringEncoding = 0x0210;
-//static kCFStringEncodingDOSLatinUS: CFStringEncoding = 0x0400;
-//static kCFStringEncodingDOSGreek: CFStringEncoding = 0x0405;
-//static kCFStringEncodingDOSBalticRim: CFStringEncoding = 0x0406;
-//static kCFStringEncodingDOSLatin1: CFStringEncoding = 0x0410;
-//static kCFStringEncodingDOSGreek1: CFStringEncoding = 0x0411;
-//static kCFStringEncodingDOSLatin2: CFStringEncoding = 0x0412;
-//static kCFStringEncodingDOSCyrillic: CFStringEncoding = 0x0413;
-//static kCFStringEncodingDOSTurkish: CFStringEncoding = 0x0414;
-//static kCFStringEncodingDOSPortuguese: CFStringEncoding = 0x0415;
-//static kCFStringEncodingDOSIcelandic: CFStringEncoding = 0x0416;
-//static kCFStringEncodingDOSHebrew: CFStringEncoding = 0x0417;
-//static kCFStringEncodingDOSCanadianFrench: CFStringEncoding = 0x0418;
-//static kCFStringEncodingDOSArabic: CFStringEncoding = 0x0419;
-//static kCFStringEncodingDOSNordic: CFStringEncoding = 0x041A;
-//static kCFStringEncodingDOSRussian: CFStringEncoding = 0x041B;
-//static kCFStringEncodingDOSGreek2: CFStringEncoding = 0x041C;
-//static kCFStringEncodingDOSThai: CFStringEncoding = 0x041D;
-//static kCFStringEncodingDOSJapanese: CFStringEncoding = 0x0420;
-//static kCFStringEncodingDOSChineseSimplif: CFStringEncoding = 0x0421;
-//static kCFStringEncodingDOSKorean: CFStringEncoding = 0x0422;
-//static kCFStringEncodingDOSChineseTrad: CFStringEncoding = 0x0423;
-// Defined above: kCFStringEncodingWindowsLatin1 = 0x0500
-//static kCFStringEncodingWindowsLatin2: CFStringEncoding = 0x0501;
-//static kCFStringEncodingWindowsCyrillic: CFStringEncoding = 0x0502;
-//static kCFStringEncodingWindowsGreek: CFStringEncoding = 0x0503;
-//static kCFStringEncodingWindowsLatin5: CFStringEncoding = 0x0504;
-//static kCFStringEncodingWindowsHebrew: CFStringEncoding = 0x0505;
-//static kCFStringEncodingWindowsArabic: CFStringEncoding = 0x0506;
-//static kCFStringEncodingWindowsBalticRim: CFStringEncoding = 0x0507;
-//static kCFStringEncodingWindowsVietnamese: CFStringEncoding = 0x0508;
-//static kCFStringEncodingWindowsKoreanJohab: CFStringEncoding = 0x0510;
-// Defined above: kCFStringEncodingASCII = 0x0600
-//static kCFStringEncodingANSEL: CFStringEncoding = 0x0601;
-//static kCFStringEncodingJIS_X0201_76: CFStringEncoding = 0x0620;
-//static kCFStringEncodingJIS_X0208_83: CFStringEncoding = 0x0621;
-//static kCFStringEncodingJIS_X0208_90: CFStringEncoding = 0x0622;
-//static kCFStringEncodingJIS_X0212_90: CFStringEncoding = 0x0623;
-//static kCFStringEncodingJIS_C6226_78: CFStringEncoding = 0x0624;
-//static kCFStringEncodingShiftJIS_X0213: CFStringEncoding = 0x0628;
-//static kCFStringEncodingShiftJIS_X0213_MenKuTen: CFStringEncoding = 0x0629;
-//static kCFStringEncodingGB_2312_80: CFStringEncoding = 0x0630;
-//static kCFStringEncodingGBK_95: CFStringEncoding = 0x0631;
-//static kCFStringEncodingGB_18030_2000: CFStringEncoding = 0x0632;
-//static kCFStringEncodingKSC_5601_87: CFStringEncoding = 0x0640;
-//static kCFStringEncodingKSC_5601_92_Johab: CFStringEncoding = 0x0641;
-//static kCFStringEncodingCNS_11643_92_P1: CFStringEncoding = 0x0651;
-//static kCFStringEncodingCNS_11643_92_P2: CFStringEncoding = 0x0652;
-//static kCFStringEncodingCNS_11643_92_P3: CFStringEncoding = 0x0653;
-//static kCFStringEncodingISO_2022_JP: CFStringEncoding = 0x0820;
-//static kCFStringEncodingISO_2022_JP_2: CFStringEncoding = 0x0821;
-//static kCFStringEncodingISO_2022_JP_1: CFStringEncoding = 0x0822;
-//static kCFStringEncodingISO_2022_JP_3: CFStringEncoding = 0x0823;
-//static kCFStringEncodingISO_2022_CN: CFStringEncoding = 0x0830;
-//static kCFStringEncodingISO_2022_CN_EXT: CFStringEncoding = 0x0831;
-//static kCFStringEncodingISO_2022_KR: CFStringEncoding = 0x0840;
-//static kCFStringEncodingEUC_JP: CFStringEncoding = 0x0920;
-//static kCFStringEncodingEUC_CN: CFStringEncoding = 0x0930;
-//static kCFStringEncodingEUC_TW: CFStringEncoding = 0x0931;
-//static kCFStringEncodingEUC_KR: CFStringEncoding = 0x0940;
-//static kCFStringEncodingShiftJIS: CFStringEncoding = 0x0A01;
-//static kCFStringEncodingKOI8_R: CFStringEncoding = 0x0A02;
-//static kCFStringEncodingBig5: CFStringEncoding = 0x0A03;
-//static kCFStringEncodingMacRomanLatin1: CFStringEncoding = 0x0A04;
-//static kCFStringEncodingHZ_GB_2312: CFStringEncoding = 0x0A05;
-//static kCFStringEncodingBig5_HKSCS_1999: CFStringEncoding = 0x0A06;
-//static kCFStringEncodingVISCII: CFStringEncoding = 0x0A07;
-//static kCFStringEncodingKOI8_U: CFStringEncoding = 0x0A08;
-//static kCFStringEncodingBig5_E: CFStringEncoding = 0x0A09;
-// Defined above: kCFStringEncodingNextStepLatin = 0x0B01
-//static kCFStringEncodingNextStepJapanese: CFStringEncoding = 0x0B02;
-//static kCFStringEncodingEBCDIC_US: CFStringEncoding = 0x0C01;
-//static kCFStringEncodingEBCDIC_CP037: CFStringEncoding = 0x0C02;
-//static kCFStringEncodingUTF7: CFStringEncoding = 0x04000100;
-//static kCFStringEncodingUTF7_IMAP: CFStringEncoding = 0x0A10;
-//static kCFStringEncodingShiftJIS_X0213_00: CFStringEncoding = 0x0628; /* Deprecated */
+pub type CFStringNormalizationForm = CFIndex;
+pub const kCFStringNormalizationFormD: CFStringNormalizationForm = 0;
+pub const kCFStringNormalizationFormKD: CFStringNormalizationForm = 1;
+pub const kCFStringNormalizationFormC: CFStringNormalizationForm = 2;
+pub const kCFStringNormalizationFormKC: CFStringNormalizationForm = 3;
#[repr(C)]
pub struct __CFString(c_void);
pub type CFStringRef = *const __CFString;
+pub type CFMutableStringRef = *mut __CFString;
+
+/* todo: The source code of the following functions is right in CFString.h */
+/*
+pub fn CFStringGetLongCharacterForSurrogatePair(surrogateHigh: UniChar, surrogateLow: UniChar) -> UTF32Char;
+pub fn CFStringGetSurrogatePairForLongCharacter(character: UTF32Char, surrogates: *mut UniChar) -> Boolean;
+pub fn CFStringIsSurrogateHighCharacter(character: UniChar) -> Boolean;
+pub fn CFStringIsSurrogateLowCharacter(character: UniChar) -> Boolean;
+pub fn CFStringInitInlineBuffer(str: CFStringRef, buf: *mut CFStringInlineBuffer, range: CFRange);
+pub fn CFStringGetCharacterFromInlineBuffer(buf: *mut CFStringInlineBuffer, idx: CFIndex) -> UniChar;
+*/
-extern {
+extern "C" {
/*
* CFString.h
*/
// N.B. organized according to "Functions by task" in docs
+ /* CFString */
/* Creating a CFString */
//fn CFSTR
- //fn CFStringCreateArrayBySeparatingStrings
- //fn CFStringCreateByCombiningStrings
- //fn CFStringCreateCopy
- //fn CFStringCreateFromExternalRepresentation
- pub fn CFStringCreateWithBytes(alloc: CFAllocatorRef,
- bytes: *const u8,
- numBytes: CFIndex,
- encoding: CFStringEncoding,
- isExternalRepresentation: Boolean)
- -> CFStringRef;
- pub fn CFStringCreateWithBytesNoCopy(alloc: CFAllocatorRef,
- bytes: *const u8,
- numBytes: CFIndex,
- encoding: CFStringEncoding,
- isExternalRepresentation: Boolean,
- contentsDeallocator: CFAllocatorRef)
- -> CFStringRef;
- //fn CFStringCreateWithCharacters
- pub fn CFStringCreateWithCharactersNoCopy(alloc: CFAllocatorRef,
- chars: *const UniChar,
- numChars: CFIndex,
- contentsDeallocator: CFAllocatorRef)
- -> CFStringRef;
- pub fn CFStringCreateWithCString(alloc: CFAllocatorRef,
- cStr: *const c_char,
- encoding: CFStringEncoding)
- -> CFStringRef;
- //fn CFStringCreateWithCStringNoCopy
- //fn CFStringCreateWithFormat
- //fn CFStringCreateWithFormatAndArguments
- //fn CFStringCreateWithPascalString
- //fn CFStringCreateWithPascalStringNoCopy
- //fn CFStringCreateWithSubstring
+ pub fn CFStringCreateArrayBySeparatingStrings(
+ alloc: CFAllocatorRef,
+ theString: CFStringRef,
+ separatorString: CFStringRef,
+ ) -> CFArrayRef;
+ pub fn CFStringCreateByCombiningStrings(
+ alloc: CFAllocatorRef,
+ theArray: CFArrayRef,
+ separatorString: CFStringRef,
+ ) -> CFStringRef;
+ pub fn CFStringCreateCopy(alloc: CFAllocatorRef, theString: CFStringRef) -> CFStringRef;
+ pub fn CFStringCreateFromExternalRepresentation(
+ alloc: CFAllocatorRef,
+ data: CFDataRef,
+ encoding: CFStringEncoding,
+ ) -> CFStringRef;
+ pub fn CFStringCreateWithBytes(
+ alloc: CFAllocatorRef,
+ bytes: *const UInt8,
+ numBytes: CFIndex,
+ encoding: CFStringEncoding,
+ isExternalRepresentation: Boolean,
+ ) -> CFStringRef;
+ pub fn CFStringCreateWithBytesNoCopy(
+ alloc: CFAllocatorRef,
+ bytes: *const UInt8,
+ numBytes: CFIndex,
+ encoding: CFStringEncoding,
+ isExternalRepresentation: Boolean,
+ contentsDeallocator: CFAllocatorRef,
+ ) -> CFStringRef;
+ pub fn CFStringCreateWithCharacters(
+ alloc: CFAllocatorRef,
+ chars: *const UniChar,
+ numChars: CFIndex,
+ ) -> CFStringRef;
+ pub fn CFStringCreateWithCharactersNoCopy(
+ alloc: CFAllocatorRef,
+ chars: *const UniChar,
+ numChars: CFIndex,
+ contentsDeallocator: CFAllocatorRef,
+ ) -> CFStringRef;
+ pub fn CFStringCreateWithCString(
+ alloc: CFAllocatorRef,
+ cStr: *const c_char,
+ encoding: CFStringEncoding,
+ ) -> CFStringRef;
+ pub fn CFStringCreateWithCStringNoCopy(
+ alloc: CFAllocatorRef,
+ cStr: *const c_char,
+ encoding: CFStringEncoding,
+ contentsDeallocator: CFAllocatorRef,
+ ) -> CFStringRef;
+ pub fn CFStringCreateWithFormat(
+ alloc: CFAllocatorRef,
+ formatOptions: CFDictionaryRef,
+ format: CFStringRef,
+ ...
+ ) -> CFStringRef;
+ //pub fn CFStringCreateWithFormatAndArguments(alloc: CFAllocatorRef, formatOptions: CFDictionaryRef, format: CFStringRef, arguments: va_list) -> CFStringRef;
+ pub fn CFStringCreateWithPascalString(
+ alloc: CFAllocatorRef,
+ pStr: ConstStr255Param,
+ encoding: CFStringEncoding,
+ ) -> CFStringRef;
+ pub fn CFStringCreateWithPascalStringNoCopy(
+ alloc: CFAllocatorRef,
+ pStr: ConstStr255Param,
+ encoding: CFStringEncoding,
+ contentsDeallocator: CFAllocatorRef,
+ ) -> CFStringRef;
+ pub fn CFStringCreateWithSubstring(
+ alloc: CFAllocatorRef,
+ str: CFStringRef,
+ range: CFRange,
+ ) -> CFStringRef;
/* Searching Strings */
- //fn CFStringCreateArrayWithFindResults
- //fn CFStringFind
- //fn CFStringFindCharacterFromSet
- //fn CFStringFindWithOptions
- //fn CFStringFindWithOptionsAndLocale
- //fn CFStringGetLineBounds
+ pub fn CFStringCreateArrayWithFindResults(
+ alloc: CFAllocatorRef,
+ theString: CFStringRef,
+ stringToFind: CFStringRef,
+ rangeToSearch: CFRange,
+ compareOptions: CFStringCompareFlags,
+ ) -> CFArrayRef;
+ pub fn CFStringFind(
+ theString: CFStringRef,
+ stringToFind: CFStringRef,
+ compareOptions: CFStringCompareFlags,
+ ) -> CFRange;
+ pub fn CFStringFindCharacterFromSet(
+ theString: CFStringRef,
+ theSet: CFCharacterSetRef,
+ rangeToSearch: CFRange,
+ searchOptions: CFStringCompareFlags,
+ result: *mut CFRange,
+ ) -> Boolean;
+ pub fn CFStringFindWithOptions(
+ theString: CFStringRef,
+ stringToFind: CFStringRef,
+ rangeToSearch: CFRange,
+ searchOptions: CFStringCompareFlags,
+ result: *mut CFRange,
+ ) -> Boolean;
+ pub fn CFStringFindWithOptionsAndLocale(
+ theString: CFStringRef,
+ stringToFind: CFStringRef,
+ rangeToSearch: CFRange,
+ searchOptions: CFStringCompareFlags,
+ locale: CFLocaleRef,
+ result: *mut CFRange,
+ ) -> Boolean;
+ pub fn CFStringGetLineBounds(
+ theString: CFStringRef,
+ range: CFRange,
+ lineBeginIndex: *mut CFIndex,
+ lineEndIndex: *mut CFIndex,
+ contentsEndIndex: *mut CFIndex,
+ );
/* Comparing Strings */
- //fn CFStringCompare
- //fn CFStringCompareWithOptions
- //fn CFStringCompareWithOptionsAndLocale
- //fn CFStringHasPrefix
- //fn CFStringHasSuffix
+ pub fn CFStringCompare(
+ theString1: CFStringRef,
+ theString2: CFStringRef,
+ compareOptions: CFStringCompareFlags,
+ ) -> CFComparisonResult;
+ pub fn CFStringCompareWithOptions(
+ theString1: CFStringRef,
+ theString2: CFStringRef,
+ rangeToCompare: CFRange,
+ compareOptions: CFStringCompareFlags,
+ ) -> CFComparisonResult;
+ pub fn CFStringCompareWithOptionsAndLocale(
+ theString1: CFStringRef,
+ theString2: CFStringRef,
+ rangeToCompare: CFRange,
+ compareOptions: CFStringCompareFlags,
+ locale: CFLocaleRef,
+ ) -> CFComparisonResult;
+ pub fn CFStringHasPrefix(theString: CFStringRef, prefix: CFStringRef) -> Boolean;
+ pub fn CFStringHasSuffix(theString: CFStringRef, suffix: CFStringRef) -> Boolean;
/* Accessing Characters */
- //fn CFStringCreateExternalRepresentation
- pub fn CFStringGetBytes(theString: CFStringRef,
- range: CFRange,
- encoding: CFStringEncoding,
- lossByte: u8,
- isExternalRepresentation: Boolean,
- buffer: *mut u8,
- maxBufLen: CFIndex,
- usedBufLen: *mut CFIndex)
- -> CFIndex;
- //fn CFStringGetCharacterAtIndex
- //fn CFStringGetCharacters
- //fn CFStringGetCharactersPtr
- //fn CFStringGetCharacterFromInlineBuffer
- pub fn CFStringGetCString(theString: CFStringRef,
- buffer: *mut c_char,
- bufferSize: CFIndex,
- encoding: CFStringEncoding)
- -> Boolean;
- pub fn CFStringGetCStringPtr(theString: CFStringRef,
- encoding: CFStringEncoding)
- -> *const c_char;
+ pub fn CFStringCreateExternalRepresentation(
+ alloc: CFAllocatorRef,
+ theString: CFStringRef,
+ encoding: CFStringEncoding,
+ lossByte: UInt8,
+ ) -> CFDataRef;
+ pub fn CFStringGetBytes(
+ theString: CFStringRef,
+ range: CFRange,
+ encoding: CFStringEncoding,
+ lossByte: UInt8,
+ isExternalRepresentation: Boolean,
+ buffer: *mut UInt8,
+ maxBufLen: CFIndex,
+ usedBufLen: *mut CFIndex,
+ ) -> CFIndex;
+ pub fn CFStringGetCharacterAtIndex(theString: CFStringRef, idx: CFIndex) -> UniChar;
+ pub fn CFStringGetCharacters(theString: CFStringRef, range: CFRange, buffer: *mut UniChar);
+ pub fn CFStringGetCharactersPtr(theString: CFStringRef) -> *const UniChar;
+ pub fn CFStringGetCString(
+ theString: CFStringRef,
+ buffer: *mut c_char,
+ bufferSize: CFIndex,
+ encoding: CFStringEncoding,
+ ) -> Boolean;
+ pub fn CFStringGetCStringPtr(
+ theString: CFStringRef,
+ encoding: CFStringEncoding,
+ ) -> *const c_char;
pub fn CFStringGetLength(theString: CFStringRef) -> CFIndex;
- //fn CFStringGetPascalString
- //fn CFStringGetPascalStringPtr
- //fn CFStringGetRangeOfComposedCharactersAtIndex
- //fn CFStringInitInlineBuffer
+ pub fn CFStringGetPascalString(
+ theString: CFStringRef,
+ buffer: StringPtr,
+ bufferSize: CFIndex,
+ encoding: CFStringEncoding,
+ ) -> Boolean;
+ pub fn CFStringGetPascalStringPtr(
+ theString: CFStringRef,
+ encoding: CFStringEncoding,
+ ) -> ConstStringPtr;
+ pub fn CFStringGetRangeOfComposedCharactersAtIndex(
+ theString: CFStringRef,
+ theIndex: CFIndex,
+ ) -> CFRange;
/* Working With Hyphenation */
- //fn CFStringGetHyphenationLocationBeforeIndex
- //fn CFStringIsHyphenationAvailableForLocale
+ pub fn CFStringGetHyphenationLocationBeforeIndex(
+ string: CFStringRef,
+ location: CFIndex,
+ limitRange: CFRange,
+ options: CFOptionFlags,
+ locale: CFLocaleRef,
+ character: *mut UTF32Char,
+ ) -> CFIndex;
+ pub fn CFStringIsHyphenationAvailableForLocale(locale: CFLocaleRef) -> Boolean;
/* Working With Encodings */
- //fn CFStringConvertEncodingToIANACharSetName
- //fn CFStringConvertEncodingToNSStringEncoding
- //fn CFStringConvertEncodingToWindowsCodepage
- //fn CFStringConvertIANACharSetNameToEncoding
- //fn CFStringConvertNSStringEncodingToEncoding
- //fn CFStringConvertWindowsCodepageToEncoding
- //fn CFStringGetFastestEncoding
- //fn CFStringGetListOfAvailableEncodings
- //fn CFStringGetMaximumSizeForEncoding
- //fn CFStringGetMostCompatibleMacStringEncoding
- //fn CFStringGetNameOfEncoding
- //fn CFStringGetSmallestEncoding
- //fn CFStringGetSystemEncoding
- //fn CFStringIsEncodingAvailable
+ pub fn CFStringConvertEncodingToIANACharSetName(encoding: CFStringEncoding) -> CFStringRef;
+ pub fn CFStringConvertEncodingToNSStringEncoding(encoding: CFStringEncoding) -> c_ulong;
+ pub fn CFStringConvertEncodingToWindowsCodepage(encoding: CFStringEncoding) -> UInt32;
+ pub fn CFStringConvertIANACharSetNameToEncoding(theString: CFStringRef) -> CFStringEncoding;
+ pub fn CFStringConvertNSStringEncodingToEncoding(encoding: c_ulong) -> CFStringEncoding;
+ pub fn CFStringConvertWindowsCodepageToEncoding(codepage: UInt32) -> CFStringEncoding;
+ pub fn CFStringGetFastestEncoding(theString: CFStringRef) -> CFStringEncoding;
+ pub fn CFStringGetListOfAvailableEncodings() -> *const CFStringEncoding;
+ pub fn CFStringGetMaximumSizeForEncoding(
+ length: CFIndex,
+ encoding: CFStringEncoding,
+ ) -> CFIndex;
+ pub fn CFStringGetMostCompatibleMacStringEncoding(
+ encoding: CFStringEncoding,
+ ) -> CFStringEncoding;
+ pub fn CFStringGetNameOfEncoding(encoding: CFStringEncoding) -> CFStringRef;
+ pub fn CFStringGetSmallestEncoding(theString: CFStringRef) -> CFStringEncoding;
+ pub fn CFStringGetSystemEncoding() -> CFStringEncoding;
+ pub fn CFStringIsEncodingAvailable(encoding: CFStringEncoding) -> Boolean;
/* Getting Numeric Values */
- //fn CFStringGetDoubleValue
- //fn CFStringGetIntValue
+ pub fn CFStringGetDoubleValue(str: CFStringRef) -> c_double;
+ pub fn CFStringGetIntValue(str: CFStringRef) -> SInt32;
/* Getting String Properties */
- //fn CFShowStr
+ pub fn CFShowStr(str: CFStringRef);
pub fn CFStringGetTypeID() -> CFTypeID;
/* String File System Representations */
- //fn CFStringCreateWithFileSystemRepresentation
- //fn CFStringGetFileSystemRepresentation
- //fn CFStringGetMaximumSizeOfFileSystemRepresentation
+ pub fn CFStringCreateWithFileSystemRepresentation(
+ alloc: CFAllocatorRef,
+ buffer: *const c_char,
+ ) -> CFStringRef;
+ pub fn CFStringGetFileSystemRepresentation(
+ string: CFStringRef,
+ buffer: *mut c_char,
+ maxBufLen: CFIndex,
+ ) -> Boolean;
+ pub fn CFStringGetMaximumSizeOfFileSystemRepresentation(string: CFStringRef) -> CFIndex;
/* Getting Paragraph Bounds */
- //fn CFStringGetParagraphBounds
+ pub fn CFStringGetParagraphBounds(
+ string: CFStringRef,
+ range: CFRange,
+ parBeginIndex: *mut CFIndex,
+ parEndIndex: *mut CFIndex,
+ contentsEndIndex: *mut CFIndex,
+ );
- /* Managing Surrogates */
- //fn CFStringGetLongCharacterForSurrogatePair
- //fn CFStringGetSurrogatePairForLongCharacter
- //fn CFStringIsSurrogateHighCharacter
- //fn CFStringIsSurrogateLowCharacter
+ /* CFMutableString */
+ /* CFMutableString Miscellaneous Functions */
+ pub fn CFStringAppend(theString: CFMutableStringRef, appendedString: CFStringRef);
+ pub fn CFStringAppendCharacters(
+ theString: CFMutableStringRef,
+ chars: *const UniChar,
+ numChars: CFIndex,
+ );
+ pub fn CFStringAppendCString(
+ theString: CFMutableStringRef,
+ cStr: *const c_char,
+ encoding: CFStringEncoding,
+ );
+ pub fn CFStringAppendFormat(
+ theString: CFMutableStringRef,
+ formatOptions: CFDictionaryRef,
+ format: CFStringRef,
+ ...
+ );
+ //pub fn CFStringAppendFormatAndArguments(theString: CFMutableStringRef, formatOptions: CFDictionaryRef, format: CFStringRef, arguments: va_list);
+ pub fn CFStringAppendPascalString(
+ theString: CFMutableStringRef,
+ pStr: ConstStr255Param,
+ encoding: CFStringEncoding,
+ );
+ pub fn CFStringCapitalize(theString: CFMutableStringRef, locale: CFLocaleRef);
+ pub fn CFStringCreateMutable(alloc: CFAllocatorRef, maxLength: CFIndex) -> CFMutableStringRef;
+ pub fn CFStringCreateMutableCopy(
+ alloc: CFAllocatorRef,
+ maxLength: CFIndex,
+ theString: CFStringRef,
+ ) -> CFMutableStringRef;
+ pub fn CFStringCreateMutableWithExternalCharactersNoCopy(
+ alloc: CFAllocatorRef,
+ chars: *mut UniChar,
+ numChars: CFIndex,
+ capacity: CFIndex,
+ externalCharactersAllocator: CFAllocatorRef,
+ ) -> CFMutableStringRef;
+ pub fn CFStringDelete(theString: CFMutableStringRef, range: CFRange);
+ pub fn CFStringFindAndReplace(
+ theString: CFMutableStringRef,
+ stringToFind: CFStringRef,
+ replacementString: CFStringRef,
+ rangeToSearch: CFRange,
+ compareOptions: CFStringCompareFlags,
+ ) -> CFIndex;
+ pub fn CFStringFold(
+ theString: CFMutableStringRef,
+ theFlags: CFStringCompareFlags,
+ theLocale: CFLocaleRef,
+ );
+ pub fn CFStringInsert(str: CFMutableStringRef, idx: CFIndex, insertedStr: CFStringRef);
+ pub fn CFStringLowercase(theString: CFMutableStringRef, locale: CFLocaleRef);
+ pub fn CFStringNormalize(theString: CFMutableStringRef, theForm: CFStringNormalizationForm);
+ pub fn CFStringPad(
+ theString: CFMutableStringRef,
+ padString: CFStringRef,
+ length: CFIndex,
+ indexIntoPad: CFIndex,
+ );
+ pub fn CFStringReplace(theString: CFMutableStringRef, range: CFRange, replacement: CFStringRef);
+ pub fn CFStringReplaceAll(theString: CFMutableStringRef, replacement: CFStringRef);
+ pub fn CFStringSetExternalCharactersNoCopy(
+ theString: CFMutableStringRef,
+ chars: *mut UniChar,
+ length: CFIndex,
+ capacity: CFIndex,
+ );
+ pub fn CFStringTransform(
+ string: CFMutableStringRef,
+ range: *mut CFRange,
+ transform: CFStringRef,
+ reverse: Boolean,
+ ) -> Boolean;
+ pub fn CFStringTrim(theString: CFMutableStringRef, trimString: CFStringRef);
+ pub fn CFStringTrimWhitespace(theString: CFMutableStringRef);
+ pub fn CFStringUppercase(theString: CFMutableStringRef, locale: CFLocaleRef);
}