+# Base Utilities
+
+F CFRangeMake {CFRange}{CFIndex}{CFIndex}
+
+# Time Utilities
+
+F CFAbsoluteTimeAddGregorianUnits {CFAbsoluteTime}{CFAbsoluteTime}{CFTimeZoneRef}{CFGregorianUnits}
+F CFAbsoluteTimeGetCurrent {CFAbsoluteTime}
+F CFAbsoluteTimeGetDayOfWeek {SInt32}{CFAbsoluteTime}{CFTimeZoneRef}
+F CFAbsoluteTimeGetDayOfYear {SInt32}{CFAbsoluteTime}{CFTimeZoneRef}
+F CFAbsoluteTimeGetDifferenceAsGregorianUnits {CFGregorianUnits}{CFAbsoluteTime}{CFAbsoluteTime}{CFTimeZoneRef}{CFOptionFlags}
+F CFAbsoluteTimeGetGregorianDate {CFGregorianDate}{CFAbsoluteTime}{CFTimeZoneRef}
+F CFAbsoluteTimeGetWeekOfYear {SInt32}{CFAbsoluteTime}{CFTimeZoneRef}
+F CFGregorianDateGetAbsoluteTime {CFAbsoluteTime}{CFGregorianDate}{CFTimeZoneRef}
+F CFGregorianDateIsValid {Boolean}{CFGregorianDate}{CFOptionFlags}
+
+T CFAbsoluteTime {CFTimeInterval}
+S CFGregorianDate "year"{SInt32}"month"{SInt8}"day"{SInt8}"hour"{SInt8}"minute"{SInt8}"second"{double}
+S CFGregorianUnits "years"{SInt32}"months"{SInt32}"days"{SInt32}"hours"{SInt32}"minutes"{SInt32}"second"{double}
+T CFTimeInterval {double}
+
+C kCFGregorianUnitsYears 1<<0
+C kCFGregorianUnitsMonths 1<<1
+C kCFGregorianUnitsDays 1<<2
+C kCFGregorianUnitsHours 1<<3
+C kCFGregorianUnitsMinutes 1<<4
+C kCFGregorianUnitsSeconds 1<<5
+C kCFGregorianAllUnits 0x00FFFFFF
+
+V kCFAbsoluteTimeIntervalSince1970 {CFTimeInterval}
+V kCFAbsoluteTimeIntervalSince1904 {CFTimeInterval}
+
+# CFComparatorFunction
+
+T CFIndex l
+T CFOptionFlags {UInt32}
+S CFRange "location"{CFIndex}"length"{CFIndex}
+
+E CFComparisonResult
+C kCFCompareLessThan -1
+C kCFCompareEqualTo 0
+C kCFCompareGreaterThan 1
+# CFComparisonResult CFComparisonResult
+
+C kCFNotFound -1
+
+V kCFCoreFoundationVersionNumber d
+
+C kCFCoreFoundationVersionNumber10_0 196.40
+C kCFCoreFoundationVersionNumber10_0_3 196.50
+C kCFCoreFoundationVersionNumber10_1 226.00
+C kCFCoreFoundationVersionNumber10_1_1 226.00
+C kCFCoreFoundationVersionNumber10_1_2 227.20
+C kCFCoreFoundationVersionNumber10_1_3 227.20
+C kCFCoreFoundationVersionNumber10_1_4 227.30
+C kCFCoreFoundationVersionNumber10_2 263.00
+C kCFCoreFoundationVersionNumber10_2_1 263.10
+C kCFCoreFoundationVersionNumber10_2_2 263.10
+C kCFCoreFoundationVersionNumber10_2_3 263.30
+C kCFCoreFoundationVersionNumber10_2_4 263.30
+C kCFCoreFoundationVersionNumber10_2_5 263.50
+C kCFCoreFoundationVersionNumber10_2_6 263.50
+C kCFCoreFoundationVersionNumber10_2_7 263.50
+C kCFCoreFoundationVersionNumber10_2_8 263.50
+C kCFCoreFoundationVersionNumber10_3 299.00
+C kCFCoreFoundationVersionNumber10_3_1 299.00
+C kCFCoreFoundationVersionNumber10_3_2 299.00
+C kCFCoreFoundationVersionNumber10_3_3 299.30
+C kCFCoreFoundationVersionNumber10_3_4 299.31
+C kCFCoreFoundationVersionNumber10_3_5 299.31
+C kCFCoreFoundationVersionNumber10_3_6 299.32
+C kCFCoreFoundationVersionNumber10_3_7 299.33
+C kCFCoreFoundationVersionNumber10_3_8 299.33
+C kCFCoreFoundationVersionNumber10_3_9 299.35
+C kCFCoreFoundationVersionNumber10_4 368.00
+C kCFCoreFoundationVersionNumber10_4_1 368.10
+C kCFCoreFoundationVersionNumber10_4_2 368.11
+C kCFCoreFoundationVersionNumber10_4_3 368.18
+C kCFCoreFoundationVersionNumber10_4_4_Intel 368.26
+C kCFCoreFoundationVersionNumber10_4_4_PowerPC 368.25
+C kCFCoreFoundationVersionNumber10_4_5_Intel 368.26
+C kCFCoreFoundationVersionNumber10_4_5_PowerPC 368.25
+C kCFCoreFoundationVersionNumber10_4_6_Intel 368.26
+C kCFCoreFoundationVersionNumber10_4_6_PowerPC 368.25
+C kCFCoreFoundationVersionNumber10_4_7 368.27
+C kCFCoreFoundationVersionNumber10_4_8 368.27
+C kCFCoreFoundationVersionNumber10_4_9 368.28
+C kCFCoreFoundationVersionNumber10_4_10 368.28
+C kCFCoreFoundationVersionNumber10_4_11 368.31
+C kCFCoreFoundationVersionNumber10_5 476.00
+C kCFCoreFoundationVersionNumber10_5_1 476.00
+C kCFCoreFoundationVersionNumber10_5_2 476.10
+C kCFCoreFoundationVersionNumber10_5_3 476.13
+C kCFCoreFoundationVersionNumber10_5_4 476.14
+C kCFCoreFoundationVersionNumber10_5_5 476.15
+C kCFCoreFoundationVersionNumber10_5_6 476.17
+
+# CFAllocator
+
+F CFAllocatorCreate {CFAllocatorRef}{CFAllocatorRef}{CFAllocatorContext}
+
+F CFAllocatorAllocate ^v{CFAllocatorRef}{CFIndex}{CFOptionFlags}
+F CFAllocatorDeallocate v{CFAllocatorRef}^v
+F CFAllocatorGetPreferredSizeForSize {CFIndex}{CFAllocatorRef}{CFIndex}{CFOptionFlags}
+F CFAllocatorReallocate ^v{CFAllocatorRef}^v{CFIndex}{CFOptionFlags}
+
+F CFAllocatorGetDefault {CFAllocatorRef}
+f CFAllocatorSetDefault v{CFAllocatorRef}
+
+F CFAllocatorGetContext v{CFAllocatorRef}^{CFAllocatorContext}
+
+F CFAllocatorGetTypeID {CFTypeID}
+
+# CFAllocatorAllocateCallBack
+# CFAllocatorCopyDescriptionCallBack
+# CFAllocatorDeallocateCallBack
+# CFAllocatorPreferredSizeCallBack
+# CFAllocatorReallocateCallBack
+# CFAllocatorReleaseCallBack
+# CFAllocatorRetainCallBack
+
+S CFAllocatorContext "version"{CFIndex}"info"^v"retain"{CFAllocatorRetainCallBack}"release"{CFAllocatorReleaseCallBack}"copyDescription"{CFAllocatorCopyDescriptionCallBack}"allocate"{CFAllocatorAllocateCallBack}"reallocate"{CFAllocatorReallocateCallBack}"deallocate"{CFAllocatorDeallocateCallBack}"preferredSize"{CFAllocatorPreferredSizeCallBack}
+# CFAllocatorContext CFAllocatorContext
+
+T CFAllocatorRef @
+# CFAllocatorRef ^r{__CFAllocator}
+
+V kCFAllocatorDefault {CFAllocatorRef}
+V kCFAllocatorSystemDefault {CFAllocatorRef}
+V kCFAllocatorMalloc {CFAllocatorRef}
+V kCFAllocatorMallocZone {CFAllocatorRef}
+V kCFAllocatorNull {CFAllocatorRef}
+V kCFAllocatorUseContext {CFAllocatorRef}
+
+# CFByteOrderUtils
+
+E __CFByteOrder
+C CFByteOrderUnknown 0
+C CFByteOrderLittleEndian 1
+C CFByteOrderBigEndian 2
+T CFByteOrder __CFByteOrder
+
+# CFArray
+
+T CFArrayRef @
+
+# CFData
+
+F CFDataCreate {CFDataRef}{CFAllocatorRef}^r{UInt8}{CFIndex}
+F CFDataCreateCopy {CFDataRef}{CFAllocatorRef}{CFDataRef}
+F CFDataCreateWithBytesNoCopy {CFDataRef}{CFAllocatorRef}^r{UInt8}{CFIndex}{CFAllocatorRef}
+
+F CFDataGetBytePtr ^r{UInt8}{CFDataRef}
+F CFDataGetBytes v{CFDataRef}{CFRange}^{UInt8}
+F CFDataGetLength {CFIndex}{CFDataRef}
+
+F CFDataGetTypeID {CFTypeID}
+
+T CFDataRef @
+# CFDataRef ^r{__CFData}
+
+# CFDate
+
+F CFDateCompare {CFComparisonResult}{CFDateRef}{CFDateRef}^v
+F CFDateCreate {CFDateRef}{CFAllocatorRef}{CFAbsoluteTime}
+F CFDateGetAbsoluteTime {CFAbsoluteTime}{CFDateRef}
+F CFDateGetTimeIntervalSinceDate {CFTimeInterval}{CFDateRef}{CFDateRef}
+F CFDateGetTypeID {CFTypeID}
+
+T CFDateRef @
+# CFDateRef ^r{__CFDate}
+
+# CFDateFormatter
+
+F CFDateFormatterCreate {CFDateFormatterRef}{CFAllocatorRef}{CFLocaleRef}{CFDateFormatterStyle}{CFDateFormatterStyle}
+
+F CFDateFormatterSetFormat v{CFDateFormatterRef}{CFStringRef}
+F CFDateFormatterSetProperty v{CFDateFormatterRef}{CFStringRef}{CFTypeRef}
+
+F CFDateFormatterCreateDateFromString {CFDateRef}{CFAllocatorRef}{CFDateFormatterRef}{CFStringRef}^{CFRange}
+F CFDateFormatterGetAbsoluteTimeFromString {Boolean}{CFDateFormatterRef}{CFStringRef}^{CFRange}^{CFAbsoluteTime}
+
+F CFDateFormatterCreateStringWithAbsoluteTime {CFStringRef}{CFAllocatorRef}{CFDateFormatterRef}{CFAbsoluteTime}
+F CFDateFormatterCreateStringWithDate {CFStringRef}{CFAllocatorRef}{CFDateFormatterRef}{CFDateRef}
+F CFDateFormatterCreateDateFormatFromTemplate {CFStringRef}{CFAllocatorRef}{CFStringRef}{CFOptionFlags}{CFLocaleRef}
+
+F CFDateFormatterCopyProperty {CFTypeRef}{CFDateFormatterRef}{CFStringRef}
+F CFDateFormatterGetDateStyle {CFDateFormatterStyle}{CFDateFormatterRef}
+F CFDateFormatterGetFormat {CFStringRef}{CFDateFormatterRef}
+F CFDateFormatterGetLocale {CFLocaleRef}{CFDateFormatterRef}
+F CFDateFormatterGetTimeStyle {CFDateFormatterStyle}{CFDateFormatterRef}
+
+F CFDateFormatterGetTypeID {CFTypeID}
+
+T CFDateFormatterRef @
+# CFDateFormatterRef ^r{__CFDateFormatter}
+
+T CFDateFormatterStyle {CFIndex}
+
+C kCFDateFormatterNoStyle 0
+C kCFDateFormatterShortStyle 1
+C kCFDateFormatterMediumStyle 2
+C kCFDateFormatterLongStyle 3
+C kCFDateFormatterFullStyle 4
+
+V kCFDateFormatterIsLenient @
+V kCFDateFormatterTimeZone @
+V kCFDateFormatterCalendarName @
+V kCFDateFormatterDefaultFormat @
+
+V kCFDateFormatterTwoDigitStartDate @
+V kCFDateFormatterDefaultDate @
+V kCFDateFormatterCalendar @
+V kCFDateFormatterEraSymbols @
+V kCFDateFormatterMonthSymbols @
+V kCFDateFormatterShortMonthSymbols @
+V kCFDateFormatterWeekdaySymbols @
+V kCFDateFormatterShortWeekdaySymbols @
+V kCFDateFormatterAMSymbol @
+V kCFDateFormatterPMSymbol @
+
+V kCFDateFormatterLongEraSymbols @
+V kCFDateFormatterVeryShortMonthSymbols @
+V kCFDateFormatterStandaloneMonthSymbols @
+V kCFDateFormatterShortStandaloneMonthSymbols @
+V kCFDateFormatterVeryShortStandaloneMonthSymbols @
+V kCFDateFormatterVeryShortWeekdaySymbols @
+V kCFDateFormatterStandaloneWeekdaySymbols @
+V kCFDateFormatterShortStandaloneWeekdaySymbols @
+V kCFDateFormatterVeryShortStandaloneWeekdaySymbols @
+V kCFDateFormatterQuarterSymbols @
+V kCFDateFormatterShortQuarterSymbols @
+V kCFDateFormatterStandaloneQuarterSymbols @
+V kCFDateFormatterShortStandaloneQuarterSymbols @
+V kCFDateFormatterGregorianStartDate @
+
+V CFGregorianCalendar @
+
+# CFLocale
+
+F CFLocaleCopyCurrent {CFLocaleRef}
+F CFLocaleCreate {CFLocaleRef}{CFAllocatorRef}{CFStringRef}
+F CFLocaleCreateCopy {CFLocaleRef}{CFAllocatorRef}{CFLocaleRef}
+F CFLocaleGetSystem {CFLocaleRef}
+
+F CFLocaleCopyAvailableLocaleIdentifiers {CFArrayRef}
+
+F CFLocaleCopyISOCountryCodes {CFArrayRef}
+F CFLocaleCopyISOLanguageCodes {CFArrayRef}
+F CFLocaleCopyISOCurrencyCodes {CFArrayRef}
+F CFLocaleCopyCommonISOCurrencyCodes {CFArrayRef}
+
+F CFLocaleCopyPreferredLanguages {CFArrayRef}
+
+F CFLocaleCopyDisplayNameForPropertyValue {CFStringRef}{CFLocaleRef}{CFStringRef}{CFStringRef}
+F CFLocaleGetValue {CFTypeRef}{CFLocaleRef}{CFStringRef}
+F CFLocaleGetIdentifier {CFStringRef}{CFLocaleRef}
+
+F CFLocaleCreateCanonicalLocaleIdentifierFromScriptManagerCodes {CFStringRef}{CFAllocatorRef}{LangCode}{RegionCode}
+F CFLocaleCreateCanonicalLanguageIdentifierFromString {CFStringRef}{CFAllocatorRef}{CFStringRef}
+F CFLocaleCreateCanonicalLocaleIdentifierFromString {CFStringRef}{CFAllocatorRef}{CFStringRef}
+F CFLocaleCreateComponentsFromLocaleIdentifier {CFDictionaryRef}{CFAllocatorRef}{CFStringRef}
+F CFLocaleCreateLocaleIdentifierFromComponents {CFStringRef}{CFAllocatorRef}{CFDictionaryRef}
+
+F CFLocaleGetTypeID {CFTypeID}
+
+F CFLocaleCreateLocaleIdentifierFromWindowsLocaleCode {CFStringRef}{CFAllocatorRef}{uint32_t}
+F CFLocaleGetLanguageCharacterDirection {CFLocaleLanguageDirection}{CFStringRef}
+F CFLocaleGetLanguageLineDirection {CFLocaleLanguageDirection}{CFStringRef}
+F CFLocaleGetWindowsLocaleCodeFromLocaleIdentifier {uint32_t}{CFStringRef}
+
+T CFLocaleRef @
+# CFLocaleRef ^r{__CFLocale}
+
+C kCFLocaleLanguageDirectionUnknown 0
+C kCFLocaleLanguageDirectionLeftToRight 1
+C kCFLocaleLanguageDirectionRightToLeft 2
+C kCFLocaleLanguageDirectionTopToBottom 3
+C kCFLocaleLanguageDirectionBottomToTop 4
+
+T CFLocaleLanguageDirection {CFIndex}
+
+V kCFLocaleMeasurementSystem @
+V kCFLocaleDecimalSeparator @
+V kCFLocaleGroupingSeparator @
+V kCFLocaleCurrencySymbol @
+V kCFLocaleCurrencyCode @
+
+V kCFLocaleIdentifier @
+V kCFLocaleLanguageCode @
+V kCFLocaleCountryCode @
+V kCFLocaleScriptCode @
+V kCFLocaleVariantCode @
+V kCFLocaleExemplarCharacterSet @
+V kCFLocaleCalendarIdentifier @
+V kCFLocaleCalendar @
+V kCFLocaleCollationIdentifier @
+V kCFLocaleUsesMetricSystem @
+
+V kCFGregorianCalendar @
+V kCFBuddhistCalendar @
+V kCFChineseCalendar @
+V kCFHebrewCalendar @
+V kCFIslamicCalendar @
+V kCFIslamicCivilCalendar @
+V kCFJapaneseCalendar @
+V kCFRepublicOfChinaCalendar @
+V kCFPersianCalendar @
+V kCFIndianCalendar @
+V kCFISO8601Calendar @
+
+V kCFLocaleCurrentLocaleDidChangeNotificatio @
+
+# CFRunLoop
+
+F CFRunLoopGetCurrent {CFRunLoopRef}
+F CFRunLoopGetMain {CFRunLoopRef}
+
+F CFRunLoopRun v
+F CFRunLoopRunInMode {SInt32}{CFStringRef}{CFTimeInterval}{Boolean}
+F CFRunLoopWakeUp v{CFRunLoopRef}
+F CFRunLoopStop v{CFRunLoopRef}
+F CFRunLoopIsWaiting {Boolean}{CFRunLoopRef}