]> git.saurik.com Git - cycript.git/blobdiff - Bridge.def
Cycript's lexer does not need to be "interactive".
[cycript.git] / Bridge.def
index 68251dad50f35ad25c2610389adccc3778e62321..35b1d58b5d318c108dd88b8cfa4164b409c2e568 100644 (file)
@@ -1,12 +1,59 @@
 C YES true
 C NO false
-C nil null
+C NULL null
+
+T id @
+T Class #
+T SEL :
+
+T short s
+T int i
+T long l
+T longlong q
+
+T byte C
+T ushort S
+T uint I
+T ulong L
+T ulonglong Q
+
+T char c
+T boolean B
+T float f
+T double d
+
+T Boolean B
+T BOOL B
+T bool B
+
+T int8_t {char}
+T uint8_t {byte}
+T int16_t {short}
+T uint16_t {ushort}
+T int32_t {int}
+T uint32_t {uint}
+T int64_t {longlong}
+T uint64_t {ulonglong}
+
+T SInt8 {int8_t}
+T UInt8 {uint8_t}
+T SInt16 {int16_t}
+T UInt16 {uint16_t}
+T SInt32 {int32_t}
+T UInt32 {uint32_t}
+T SInt64 {int64_t}
+T UInt64 {uint64_t}
+
+S CGPoint "x"{CGFloat}"y"{CGFloat}
+S CGRect "origin"{CGPoint}"size"{CGSize}
+S CGSize "width"{CGFloat}"height"{CGFloat}
 
-: applicationDidFinishLaunching: v12@0:4@8
+l c
 
-S CGPoint "x"f"y"f
-S CGRect "origin"{CGPoint}"size"{CGSize}
-S CGSize "width"f"height"f
+S nlist_64 "_un"(?="n_strx"I)"n_type"C"n_sect"C"n_desc"S"n_value"Q
+
+F malloc ^vL
+F free v^v
 
 l objc
 
@@ -85,7 +132,7 @@ F property_getName *^{objc_property=}
 
 F protocol_conformsToProtocol B@@
 F protocol_copyMethodDescriptionList ^{objc_method_description=:*}@BB^I
-F protocol_copyPropertyList ^{objc_property=}@^I
+F protocol_copyPropertyList ^^{objc_property=}@^I
 F protocol_copyProtocolList ^@@^I
 F protocol_getMethodDescription {objc_method_description=:*}@:BB
 F protocol_getName *@
@@ -103,12 +150,15 @@ C UIBarStyleDefault 0
 C UIBarStyleBlack 1
 C UIBarStyleBlackOpaque 2
 C UIBarStyleBlackTranslucent 3
+T UIBarStyle i
 
 C UIDataDetectorTypePhoneNumber (1<<0)
 C UIDataDetectorTypeLink (1<<1)
 C UIDataDetectorTypeNone 0
-# XXX: NSUIntegerMax
 C UIDataDetectorTypeAll -1
+T UIDataDetectorTypes {NSUInteger}
+
+S UIEdgeInsets "top"{CGFloat}"left"{CGFloat}"bottom"{CGFloat}"right"{CGFloat}
 
 # UINavigationBar
 
@@ -118,9 +168,6 @@ V UINavigationControllerHideShowBarDuration f
 
 # UINavigationControllerDelegate
 
-: navigationController:willShowViewController:animated: v20@0:4@8@12B16
-: navigationController:didShowViewController:animated: v20@0:4@8@12B16
-
 # UIScrollView
 
 C UIScrollViewIndicatorStyleDefault 0
@@ -132,29 +179,10 @@ V UIScrollViewDecelerationRateFast f
 
 # UIScrollViewDelegate
 
-: scrollViewDidScroll: v12@0:4@8
-: scrollViewWillBeginDragging: v12@0:4@8
-: scrollViewDidEndDragging:willDecelerate: v16@0:4@8B12
-: scrollViewShouldScrollToTop: B12@0:4@8
-: scrollViewDidScrollToTop: v12@0:4@8
-: scrollViewWillBeginDecelerating: v12@0:4@8
-: scrollViewDidEndDecelerating: v12@0:4@8
-
-: viewForZoomingInScrollView: @12@0:4@8
-: scrollViewDidEndZooming:withView:atScale: v20@0:4@8@12f16
-
-: scrollViewDidEndScrollingAnimation: v12@0:4@8
-
 # UITabBar
 
 # UITabBarDelegate
 
-: tabBar:willBeginCustomizingItems: v16@0:4@8@12
-: tabBar:didBeginCustomizingItems: v16@0:4@8@12
-: tabBar:willBeginCustomizingItems:changed: v20@0:4@8@12B16
-: tabBar:didBeginCustomizingItems:changed: v20@0:4@8@12B16
-: tabBar:didSelectItem: v16@0:4@8@12
-
 # UITableView
 
 C UITableViewStylePlain 0
@@ -169,7 +197,7 @@ C UITableViewRowAnimationFade 0
 C UITableViewRowAnimationRight 1
 C UITableViewRowAnimationLeft 2
 C UITableViewRowAnimationTop 3
-C UITableViewRowAnimationTop 4
+C UITableViewRowAnimationBottom 4
 C UITableViewRowAnimationNone 5
 
 V UITableViewIndexSearch @
@@ -205,20 +233,6 @@ C UITableViewCellSeparatorStyleSingleLine 1
 
 # UITableViewDataSource
 
-: tableView:numberOfRowsInSection: i16@0:4@8i12
-: numberOfSectionsInTableView: i12@0:4@8
-: tableView:cellForRowAtIndexPath: @16@0:4@8@12
-: sectionIndexTitlesForTableView: @12@0:4@8
-: tableView:sectionForSectionIndexTitle:atIndex: i20@0:4@8@12i16
-: tableView:titleForHeaderInSection: @16@0:4@8i12
-: tableView:titleForFooterInSection: @16@0:4@8i12
-
-: tableView:commitEditingStyle:forRowAtIndexPath: v20@0:4@8i12@16
-: tableView:canEditRowAtIndexPath: B16@0:4@8@12
-
-: tableView:canMoveRowAtIndexPath: B16@0:4@8@12
-: tableView:moveRowAtIndexPath:toIndexPath: v20@0:4@8@12@16
-
 # UIToolbar
 
 # UIView
@@ -273,11 +287,6 @@ C UIWebViewNavigationTypeOther 5
 
 # UIWebViewDelegate
 
-: webView:shouldStartLoadWithRequest:navigationType: B20@0:4@8@12I16
-: webViewDidStartLoad: v12@0:4@8
-: webViewDidFinishLoad: v12@0:4@8
-: webView:didFailLoadWithError: v16@0:4@8@12
-
 # UIWindow
 
 V UIWindowLevelNormal f
@@ -294,7 +303,7 @@ V UIKeyboardAnimationDurationUserInfoKey @
 
 F UIApplicationMain ii^^c@@
 
-F UIImageJPEGRepresentation @@
+F UIImageJPEGRepresentation @@f
 F UIImagePNGRepresentation @@
 F UIImageWriteToSavedPhotosAlbum v@@:^v
 
@@ -304,29 +313,29 @@ F UIVideoAtPathIsCompatibleWithSavedPhotosAlbum B@
 F UIGraphicsGetCurrentContext @
 F UIGraphicsPushContext v@
 F UIGraphicsPopContext v
-F UIGraphicsBeginImageContext v{CGSize=ff}
+F UIGraphicsBeginImageContext v{CGSize}
 F UIGraphicsGetImageFromCurrentImageContext @
 F UIGraphicsEndImageContext v
-F UIRectClip v{CGRect={CGPoint=ff}{CGSize=ff}}
-F UIRectFill v{CGRect={CGPoint=ff}{CGSize=ff}}
-F UIRectFillUsingBlendMode v{CGRect={CGPoint=ff}{CGSize=ff}}i
-F UIRectFrame v{CGRect={CGPoint=ff}{CGSize=ff}}
-F UIRectFrameUsingBlendMode v{CGRect={CGPoint=ff}{CGSize=ff}}i
-
-F CGPointFromString {CGPoint=ff}@
-F CGRectFromString  {CGRect={CGPoint=ff}{CGSize=ff}}@
-F CGSizeFromString {CGSize=ff}@
-F CGAffineTransformFromString {CGAffineTransform=ffffff}@
+F UIRectClip v{CGRect}
+F UIRectFill v{CGRect}
+F UIRectFillUsingBlendMode v{CGRect}{CGBlendMode}
+F UIRectFrame v{CGRect}
+F UIRectFrameUsingBlendMode v{CGRect}{CGBlendMode}
+
+F CGPointFromString {CGPoint}@
+F CGRectFromString  {CGRect}@
+F CGSizeFromString {CGSize}@
+F CGAffineTransformFromString {CGAffineTransform}@
 F UIEdgeInsetsFromString {UIEdgeInsets=ffff}@
-F NSStringFromCGPoint @{CGPoint=ff}
-F NSStringFromCGRect @{CGRect={CGPoint=ff}{CGSize=ff}}
-F NSStringFromCGSize @{CGSize=ff}
-F NSStringFromCGAffineTransform @{CGAffineTransform=ffffff}
+F NSStringFromCGPoint @{CGPoint}
+F NSStringFromCGRect @{CGRect}
+F NSStringFromCGSize @{CGSize}
+F NSStringFromCGAffineTransform @{CGAffineTransform}
 F NSStringFromUIEdgeInsets @{UIEdgeInsets=ffff}
 
 F UIEdgeInsetsMake {UIEdgeInsets=ffff}ffff
 F UIEdgeInsetsEqualToEdgeInsets B{UIEdgeInsets=ffff}{UIEdgeInsets=ffff}
-F UIEdgeInsetsInsetRect {CGRect={CGPoint=ff}{CGSize=ff}}{CGRect={CGPoint=ff}{CGSize=ff}}{UIEdgeInsets=ffff}
+F UIEdgeInsetsInsetRect {CGRect}{CGRect}{UIEdgeInsets=ffff}
 
 # XXX: UIInterfaceOrientationIsPortrait
 # XXX: UIInterfaceOrientationIsLandscape
@@ -339,6 +348,29 @@ F UIAccessibilityPostNotification vI@
 
 # Miscellaneous
 
+F UIGetScreenImage @
+
+V UIAbbreviatedMonthDayFormat @
+V UIAbbreviatedWeekdayDateFormat @
+V UIAbbreviatedWeekdayFormat @
+V UIAbbreviatedWeekdayMonthDayFormat @
+V UIAbbreviatedWeekdayMonthDayMinutelessFormat @
+V UIAbbreviatedWeekdayMonthDayTimeFormat @
+V UIDatePickerDayFormat @
+V UIDatePickerMonthFormat @
+V UIDatePickerYearFormat @
+V UIHourFormat @
+V UIMinutelessTimeFormat @
+V UIMonthYearFormat @
+V UINoAMPMTimeFormat @
+V UIShortMonthDayFormat @
+V UIWeekdayAbbreviatedDateFormat @
+V UIWeekdayAbbreviatedNoYearDateFormat @
+V UIWeekdayFormat @
+V UIWeekdayNoYearDateFormat @
+
+F UIDateFormatStringForFormatType @@
+
 F UIApplicationUseLegacyEvents vB
 
 F UIKeyboardDisableAutomaticAppearance v
@@ -365,11 +397,6 @@ V kUIButtonBarButtonTitleVerticalHeight @
 V kUIButtonBarButtonTitleWidth @
 V kUIButtonBarButtonType @
 
-V UIKeyboardAnimationCurveUserInfoKey @
-V UIKeyboardAnimationDurationUserInfoKey @
-V UIKeyboardBoundsUserInfoKey @
-V UIKeyboardCenterBeginUserInfoKey @
-V UIKeyboardCenterEndUserInfoKey @
 V UIKeyboardRequiresInternationalKey @
 
 V UIKeyboardCandidateCorrectionDidChangeNotification @
@@ -387,8 +414,265 @@ V UIWebViewGrowsAndShrinksToFitHeight f
 V UIWebViewGrowsAndShrinksToFitWidth f
 V UIWebViewScalesToFitScale f
 
+f Security
+
+T OSStatus {ulong}
+
+F SecCertificateAddToKeychain {OSStatus}@@
+F SecCertificateCopyCommonName {OSStatus}@^@
+F SecCertificateCopyData @@
+F SecCertificateCopyEmailAddresses {OSStatus}@^@
+F SecCertificateCopyLongDescription @@@^@
+F SecCertificateCopyNormalizedIssuerContent @@^@
+F SecCertificateCopyNormalizedSubjectContent @@^@
+F SecCertificateCopyPreferred @@@
+F SecCertificateCopyPublicKey {OSStatus}@^@
+F SecCertificateCopySerialNumber @@^@
+F SecCertificateCopyShortDescription @@@^@
+F SecCertificateCopySubjectSummary @@
+F SecCertificateCopyValues @@@^@
+F SecCertificateCreateWithData @@@
+F SecCertificateGetItem @@^@
+F SecCertificateGetTypeID {CFTypeID}
+F SecCertificateSetPreference {OSStatus}@@{uint32_t}@
+F SecCertificateSetPreferred {OSStatus}@@@
+F SecCopyErrorMessageString @{OSStatus}^v
+F SecIdentityCopyCertificate {OSStatus}@^@
+F SecIdentityCopyPreferred @@@@
+F SecIdentityCopyPrivateKey {OSStatus}@^@
+F SecIdentityCopySystemIdentity {OSStatus}@^@^@
+F SecIdentityCreateWithCertificate {OSStatus}@@^@
+F SecIdentityGetTypeID {CFTypeID}
+F SecIdentitySetPreferred {OSStatus}@@@
+F SecIdentitySetSystemIdentity {OSStatus}@@
+F SecKeyCreateFromData @@@^@
+F SecKeyDeriveFromPassword @@@^@
+F SecKeyGeneratePair {OSStatus}@^@^@
+F SecKeyGeneratePairAsync v@{dispatch_queue_t}@?
+F SecKeyGenerateSymmetric @@^@
+F SecKeyGetBlockSize {size_t}@
+F SecKeyGetTypeID {CFTypeID}
+F SecKeyUnwrapSymmetric @^@@@^@
+F SecKeyWrapSymmetric @@@@^@
+F SecPKCS12Import {OSStatus}@@^@
+F SecPolicyCopyProperties @@
+F SecPolicyCreateBasicX509 @
+F SecPolicyCreateSSL @B@
+F SecPolicyGetTypeID {CFTypeID}
+F SecTrustCopyAnchorCertificates {OSStatus}^@
+F SecTrustCopyCustomAnchorCertificates {OSStatus}@^@
+F SecTrustCopyExceptions @@
+F SecTrustCopyPolicies {OSStatus}@^@
+F SecTrustCopyProperties @@
+F SecTrustCopyPublicKey @@
+F SecTrustCreateWithCertificates {OSStatus}@@^@
+F SecTrustEvaluate {OSStatus}@^@
+F SecTrustEvaluateAsync @{dispatch_queue_t}@?
+F SecTrustGetCertificateAtIndex @@{CFIndex}
+F SecTrustGetCertificateCount {CFIndex}@
+F SecTrustGetTrustResult {OSStatus}@^@
+F SecTrustGetTypeID {CFTypeID}
+F SecTrustGetVerifyTime {CFAbsoluteTime}@
+F SecTrustSetAnchorCertificates {OSStatus}@@
+F SecTrustSetAnchorCertificatesOnly {OSStatus}@B
+F SecTrustSetExceptions B@@
+F SecTrustSetKeychains {OSStatus}@@
+F SecTrustSetOptions {OSStatus}@{SecTrustOptionFlags}
+F SecTrustSetPolicies {OSStatus}@@
+F SecTrustSettingsCopyCertificates {OSStatus}{SecTrustSettingsDomain}^@
+F SecTrustSettingsCopyModificationDate {OSStatus}@{SecTrustSettingsDomain}^@
+F SecTrustSettingsCopyTrustSettings {OSStatus}@{SecTrustSettingsDomain}^@
+F SecTrustSettingsCreateExternalRepresentation {OSStatus}{SecTrustSettingsDomain}^@
+F SecTrustSettingsImportExternalRepresentation {OSStatus}{SecTrustSettingsDomain}@
+F SecTrustSettingsRemoveTrustSettings {OSStatus}@{SecTrustSettingsDomain}
+F SecTrustSettingsSetTrustSettings {OSStatus}@{SecTrustSettingsDomain}@
+F SecTrustSetVerifyDate {OSStatus}@@
+
+C CSSM_CERT_STATUS_EXPIRED 0x00000001
+C CSSM_CERT_STATUS_NOT_VALID_YET 0x00000002
+C CSSM_CERT_STATUS_IS_IN_INPUT_CERTS 0x00000004
+C CSSM_CERT_STATUS_IS_IN_ANCHORS 0x00000008
+C CSSM_CERT_STATUS_IS_ROOT 0x00000010
+C CSSM_CERT_STATUS_IS_FROM_NET 0x00000020
+
+C kSecPaddingNone 0
+C kSecPaddingPKCS1 1
+C kSecPaddingPKCS1MD2 0x8000
+C kSecPaddingPKCS1MD5 0x8001
+C kSecPaddingPKCS1SHA1 0x8002
+
+C kSecTrustResultInvalid 0
+C kSecTrustResultProceed 1
+C kSecTrustResultConfirm 2
+C kSecTrustResultDeny 3
+C kSecTrustResultUnspecified 4
+C kSecTrustResultRecoverableTrustFailure 5
+C kSecTrustResultFatalTrustFailure 6
+C kSecTrustResultOtherError 7
+
+C CSSM_TP_ACTION_ALLOW_EXPIRED 0x00000001
+C CSSM_TP_ACTION_LEAF_IS_CA 0x00000002
+C CSSM_TP_ACTION_FETCH_CERT_FROM_NET 0x00000004
+C CSSM_TP_ACTION_ALLOW_EXPIRED_ROOT 0x00000008
+
+V kSecImportItemLabel @
+V kSecImportItemKeyID @
+V kSecImportItemTrust @
+V kSecImportItemCertChain @
+V kSecImportItemIdentity @
+
+V kSecIdentityDomainDefault @
+V kSecIdentityDomainKerberosKDC @
+
+C kSecCredentialTypeDefault 0
+C kSecCredentialTypeWithUI 1
+C kSecCredentialTypeNoUI 2
+
+T SecTrustSettingsDomain {uint32_t}
+C kSecTrustSettingsDomainUser 0
+C kSecTrustSettingsDomainAdmin 1
+C kSecTrustSettingsDomainSystem 2
+
+C kSecTrustSettingsKeyUseSignature 0x00000001
+C kSecTrustSettingsKeyUseEnDecryptData 0x00000002
+C kSecTrustSettingsKeyUseEnDecryptKey 0x00000004
+C kSecTrustSettingsKeyUseSignCert 0x00000008
+C kSecTrustSettingsKeyUseSignRevocation 0x00000010
+C kSecTrustSettingsKeyUseKeyExchange 0x00000020
+C kSecTrustSettingsKeyUseAny 0xffffffff
+
+C kSecTrustSettingsPolicy @"kSecTrustSettingsPolicy"
+C kSecTrustSettingsApplication @"kSecTrustSettingsApplication"
+C kSecTrustSettingsPolicyString @"kSecTrustSettingsPolicyString"
+C kSecTrustSettingsKeyUsage @"kSecTrustSettingsKeyUsage"
+C kSecTrustSettingsAllowedError @"kSecTrustSettingsAllowedError"
+C kSecTrustSettingsResult @"kSecTrustSettingsResult"
+
+C kSecTrustSettingsResultInvalid 0
+C kSecTrustSettingsResultTrustRoot 1
+C kSecTrustSettingsResultTrustAsRoot 2
+C kSecTrustSettingsResultDeny 3
+C kSecTrustSettingsResultUnspecified 4
+
+# XXX: this is a pointer...
+C kSecTrustSettingsDefaultRootCertSetting -1
+
+V kSecPropertyKeyType @
+V kSecPropertyKeyLabel @
+V kSecPropertyKeyLocalizedLabel @
+V kSecPropertyKeyValue @
+
+V kSecPropertyTypeWarning @
+V kSecPropertyTypeSuccess @
+V kSecPropertyTypeSection @
+V kSecPropertyTypeData @
+V kSecPropertyTypeString @
+V kSecPropertyTypeURL @
+V kSecPropertyTypeDate @
+V kSecPropertyTypeTitle @
+V kSecPropertyTypeError @
+
+V kSecCertificateUsageSigning @
+V kSecCertificateUsageSigningAndEncrypting @
+V kSecCertificateUsageDeriveAndSign @
+
+V kSecPolicyOid @
+V kSecPolicyName @
+V kSecPolicyClient @
+V kSecPolicyKU_DigitalSignature @
+V kSecPolicyKU_NonRepudiation @
+V kSecPolicyKU_KeyEncipherment @
+V kSecPolicyKU_DataEncipherment @
+V kSecPolicyKU_KeyAgreement @
+V kSecPolicyKU_KeyCertSign @
+V kSecPolicyKU_CRLSign @
+V kSecPolicyKU_EncipherOnly @
+V kSecPolicyKU_DecipherOnly @
+
+C kSecTrustOptionAllowExpired 0x00000001
+C kSecTrustOptionLeafIsCA 0x00000002
+C kSecTrustOptionFetchIssuerFromNet 0x00000004
+C kSecTrustOptionAllowExpiredRoot 0x00000008
+C kSecTrustOptionRequireRevPerCert 0x00000010
+C kSecTrustOptionImplicitAnchors 0x00000040
+
+C kSecDefaultKeySize 0
+C kSec3DES192 192
+C kSecAES128 128
+C kSecAES192 192
+C kSecAES256 256
+C kSecp192r1 192
+C kSecp256r1 256
+C kSecp384r1 384
+C kSecp521r1 521
+C kSecRSAMin 1024
+C kSecRSAMax 4096
+
+V kSecPolicyAppleX509Basic @
+V kSecPolicyAppleSSL @
+V kSecPolicyAppleSMIME @
+V kSecPolicyAppleEAP @
+V kSecPolicyAppleIPsec @
+V kSecPolicyAppleiCha @
+V kSecPolicyApplePKINITClient @
+V kSecPolicyApplePKINITServer @
+V kSecPolicyAppleCodeSigning @
+V kSecPolicyMacAppStoreReceipt @
+V kSecPolicyAppleIDValidation @
+V kSecPolicyAppleTimeStamping @
+
+C errSecSuccess 0
+C errSecUnimplemented -4
+C errSecParam -50
+C errSecAllocate  -108
+C errSecNotAvailable  –25291
+C errSecReadOnly  –25292
+C errSecAuthFailed  –25293
+C errSecNoSuchKeychain  –25294
+C errSecInvalidKeychain –25295
+C errSecDuplicateKeychain –25296
+C errSecDuplicateItem –25299
+C errSecItemNotFound  –25300
+C errSecBufferTooSmall  –25301
+C errSecDataTooLarge  –25302
+C errSecNoSuchAttr  –25303
+C errSecInvalidItemRef  –25304
+C errSecInvalidSearchRef  –25305
+C errSecNoSuchClass –25306
+C errSecNoDefaultKeychain –25307
+C errSecInteractionNotAllowed –25308
+C errSecReadOnlyAttr  –25309
+C errSecWrongSecVersion –25310
+C errSecKeySizeNotAllowed –25311
+C errSecNoStorageModule –25312
+C errSecNoCertificateModule –25313
+C errSecNoPolicyModule  –25314
+C errSecInteractionRequired –25315
+C errSecDataNotAvailable  –25316
+C errSecDataNotModifiable –25317
+C errSecCreateChainFailed –25318
+C errSecInvalidPrefsDomain  –25319
+C errSecACLNotSimple  –25240
+C errSecPolicyNotFound  –25241
+C errSecInvalidTrustSetting –25242
+C errSecNoAccessForItem –25243
+C errSecInvalidOwnerEdit  –25244
+C errSecTrustNotAvailable –25245
+C errSecDecode  -26275
+
 f AddressBook
 
+# Private
+
+F CPPhoneNumberCopyNetworkCountryCode @
+F ABCGetSharedAddressBook @
+F ABCFindPersonMatchingPhoneNumberWithCountry @@@@^i^i
+F ABCRecordCopyCompositeName @@
+F ABCFindPersonMatchingPhoneNumber @@@^i^i
+F ABCCopyLocalizedPropertyOrLabel @i
+
+# Public
+
 F ABAddressBookAddRecord B@@^@
 F ABAddressBookCopyArrayOfAllGroups @@
 F ABAddressBookCopyArrayOfAllPeople @@
@@ -551,6 +835,36 @@ V kABWorkLabel @
 V kABHomeLabel @
 V kABOtherLabel @
 
+f Calendar
+
+F CalDatabaseCopyEventOccurrencesInDateRange {CFArrayRef}^{CalDatabase}^{CalFilter}{CFGregorianDate}{CFGregorianDate}{CFTimeZoneRef}
+F CalFilterCreateWithDatabase ^{CalFilter}^{CalDatabase}
+
+F CalEventOccurrenceGetEvent @@
+F CalEventCopySummary @@
+F CalEventIsAllDay B@
+F CalEventOccurrenceGetDate I@
+
+f CoreAnimation
+
+S CATransform3D "m11"{CGFloat}"m12"{CGFloat}"m13"{CGFloat}"m14"{CGFloat}"m21"{CGFloat}"m22"{CGFloat}"m23"{CGFloat}"m24"{CGFloat}"m31"{CGFloat}"m32"{CGFloat}"m33"{CGFloat}"m34"{CGFloat}"m41"{CGFloat}"m42"{CGFloat}"m43"{CGFloat}"m44"{CGFloat}
+
+F CACurrentMediaTime {CFTimeInterval}
+
+F CATransform3DIsIdentity B{CATransform3D}
+F CATransform3DEqualToTransform B{CATransform3D}{CATransform3D}
+F CATransform3DMakeTranslation {CATransform3D}{CGFloat}{CGFloat}{CGFloat}
+F CATransform3DMakeScale {CATransform3D}{CGFloat}{CGFloat}{CGFloat}
+F CATransform3DMakeRotation {CATransform3D}{CGFloat}{CGFloat}{CGFloat}{CGFloat}
+F CATransform3DTranslate {CATransform3D}{CATransform3D}{CGFloat}{CGFloat}{CGFloat}
+F CATransform3DScale {CATransform3D}{CATransform3D}{CGFloat}{CGFloat}{CGFloat}
+F CATransform3DRotate {CATransform3D}{CATransform3D}{CGFloat}{CGFloat}{CGFloat}{CGFloat}
+F CATransform3DConcat {CATransform3D}{CATransform3D}{CATransform3D}
+F CATransform3DInvert {CATransform3D}{CATransform3D}
+F CATransform3DMakeAffineTransform {CATransform3D}{CGAffineTransform}
+F CATransform3DIsAffine B{CATransform3D}
+F CATransform3DGetAffineTransform {CGAffineTransform}{CATransform3D}
+
 f CoreData
 
 C NSUndefinedAttributeType 0
@@ -579,7 +893,7 @@ V NSMigrationSourceObjectKey @
 V NSMigrationDestinationObjectKey @
 V NSMigrationEntityMappingKey @
 V NSMigrationPropertyMappingKey @
-V NSMigrationPropertyMappingKey @
+V NSMigrationEntityPolicyKey @
 
 C NSManagedObjectResultType 0x00
 C NSManagedObjectIDResultType 0x01
@@ -705,45 +1019,540 @@ C NSCoreDataVersionNumber10_5_3 186.0
 
 f CoreFoundation
 
-# XXX: incomplete by any stretch of the imagination
+# 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 CFShow v@
-F CFShowStr v@
+F CFDateFormatterGetTypeID {CFTypeID}
 
-f CoreGraphics
+T CFDateFormatterRef @
+# CFDateFormatterRef ^r{__CFDateFormatter}
 
-# CGAffineTransform
+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}
+
+F CFRunLoopAddSource v{CFRunLoopRef}{CFRunLoopSourceRef}{CFStringRef}
+F CFRunLoopContainsSource {Boolean}{CFRunLoopRef}{CFRunLoopSourceRef}{CFStringRef}
+F CFRunLoopRemoveSource v{CFRunLoopRef}{CFRunLoopSourceRef}{CFStringRef}
+
+F CFRunLoopAddObserver v{CFRunLoopRef}{CFRunLoopObserverRef}{CFStringRef}
+F CFRunLoopContainsObserver {Boolean}{CFRunLoopRef}{CFRunLoopObserverRef}{CFStringRef}
+F CFRunLoopRemoveObserver v{CFRunLoopRef}{CFRunLoopObserverRef}{CFStringRef}
+
+F CFRunLoopAddCommonMode v{CFRunLoopRef}{CFStringRef}
+F CFRunLoopCopyAllModes {CFArrayRef}{CFRunLoopRef}
+F CFRunLoopCopyCurrentMode {CFStringRef}{CFRunLoopRef}
+
+F CFRunLoopAddTimer v{CFRunLoopRef}{CFRunLoopTimerRef}{CFStringRef}
+F CFRunLoopGetNextTimerFireDate {CFAbsoluteTime}{CFRunLoopRef}{CFStringRef}
+F CFRunLoopRemoveTimer v{CFRunLoopRef}{CFRunLoopTimerRef}{CFStringRef}
+F CFRunLoopContainsTimer {Boolean}{CFRunLoopRef}{CFRunLoopTimerRef}{CFStringRef}
+
+# F CFRunLoopPerformBlock
+
+F CFRunLoopGetTypeID {CFTypeID}
+
+T CFRunLoopRef @
+
+C kCFRunLoopRunFinished 1
+C kCFRunLoopRunStopped 2
+C kCFRunLoopRunTimedOut 3
+C kCFRunLoopRunHandledSource 4
+
+V kCFRunLoopCommonModes {CFStringRef}
+V kCFRunLoopDefaultMode {CFStringRef}
 
-F CGAffineTransformMake {CGAffineTransform=ffffff}ffffff
-F CGAffineTransformMakeRotation {CGAffineTransform=ffffff}f
-F CGAffineTransformMakeScale {CGAffineTransform=ffffff}ff
-F CGAffineTransformMakeTranslation {CGAffineTransform=ffffff}ff
+# CFRunLoopTimer
 
-F CGAffineTransformTranslate {CGAffineTransform=ffffff}{CGAffineTransform=ffffff}ff
-F CGAffineTransformScale {CGAffineTransform=ffffff}{CGAffineTransform=ffffff}ff
-F CGAffineTransformRotate {CGAffineTransform=ffffff}{CGAffineTransform=ffffff}f
-F CGAffineTransformInvert {CGAffineTransform=ffffff}{CGAffineTransform=ffffff}
-F CGAffineTransformConcat {CGAffineTransform=ffffff}{CGAffineTransform=ffffff}{CGAffineTransform=ffffff}
+T CFRunLoopTimerRef @
 
-F CGPointApplyAffineTransform {CGPoint=ff}{CGPoint=ff}{CGAffineTransform=ffffff}
-F CGSizeApplyAffineTransform {CGSize=ff}{CGSize=ff}{CGAffineTransform=ffffff}
-F CGRectApplyAffineTransform {CGRect={CGPoint=ff}{CGSize=ff}}{CGRect={CGPoint=ff}{CGSize=ff}}{CGAffineTransform=ffffff}
+# CFString
 
-F CGAffineTransformIsIdentity B{CGAffineTransform=ffffff}
-F CGAffineTransformEqualToTransform B{CGAffineTransform=ffffff}{CGAffineTransform=ffffff}
+T CFStringRef @
 
-S CGAffineTransform "a"f"b"f"c"f"d"f"tx"f"ty"f
+# CFTimeZone
 
-V CGAffineTransformIdentity {CGAffineTransform=ffffff}
+F CFTimeZoneCreateWithName {CFTimeZoneRef}{CFAllocatorRef}{CFStringRef}{Boolean}
+F CFTimeZoneCreateWithTimeIntervalFromGMT {CFTimeZoneRef}{CFAllocatorRef}{CFTimeInterval}
+F CFTimeZoneCreate {CFTimeZoneRef}{CFAllocatorRef}{CFStringRef}{CFDataRef}
+
+F CFTimeZoneCopyAbbreviationDictionary {CFDictionaryRef}
+F CFTimeZoneCopyAbbreviation {CFStringRef}{CFTimeZoneRef}{CFAbsoluteTime}
+F CFTimeZoneCopyDefault {CFTimeZoneRef}
+F CFTimeZoneCopySystem {CFTimeZoneRef}
+F CFTimeZoneSetDefault v{CFTimeZoneRef}
+F CFTimeZoneCopyKnownNames {CFArrayRef}
+F CFTimeZoneResetSystem v
+F CFTimeZoneSetAbbreviationDictionary v{CFDictionaryRef}
+
+F CFTimeZoneGetName {CFStringRef}{CFTimeZoneRef}
+F CFTimeZoneCopyLocalizedName {CFStringRef}{CFTimeZoneRef}{CFTimeZoneNameStyle}{CFLocaleRef}
+F CFTimeZoneGetSecondsFromGMT {CFTimeInterval}{CFTimeZoneRef}{CFAbsoluteTime}
+F CFTimeZoneGetData {CFDataRef}{CFTimeZoneRef}
+
+F CFTimeZoneIsDaylightSavingTime {Boolean}{CFTimeZoneRef}{CFAbsoluteTime}
+F CFTimeZoneGetDaylightSavingTimeOffset {CFTimeInterval}{CFTimeZoneRef}{CFAbsoluteTime}
+F CFTimeZoneGetNextDaylightSavingTimeTransition {CFAbsoluteTime}{CFTimeZoneRef}{CFAbsoluteTime}
+
+F CFTimeZoneGetTypeID {CFTypeID}
+
+T CFTimeZoneNameStyle {CFIndex}
+T CFTimeZoneRef @
+# CFTimeZoneRef ^r{__CFTimeZoneRef}
+
+V kCFTimeZoneSystemTimeZoneDidChangeNotification {CFStringRef}
+
+C kCFTimeZoneNameStyleStandard 0
+C kCFTimeZoneNameStyleShortStandard 1
+C kCFTimeZoneNameStyleDaylightSaving 2
+C kCFTimeZoneNameStyleShortDaylightSaving 3
+
+# CFType
+
+F CFGetAllocator {CFAllocatorRef}{CFTypeRef}
+F CFGetRetainCount {CFIndex}{CFTypeRef}
+F CFMakeCollectable {CFTypeRef}{CFTypeRef}
+F CFRelease v{CFTypeRef}
+F CFRetain {CFTypeRef}{CFTypeRef}
+
+F CFEqual
+
+F CFHash {CFHashCode}{CFTypeRef}
+
+F CFGetTypeID {CFTypeID}{CFTypeRef}
+F CFShow v{CFTypeRef}
+
+T CFHashCode L
+T CFTypeID L
+
+T CFTypeRef @
+# CFTypeRef ^rv
+
+# Private
+
+F CFShowStr v@
+
+f CoreGraphics
+
+T CGFloat F
+
+# CGAffineTransform
+
+F CGAffineTransformMake {CGAffineTransform}{CGFloat}{CGFloat}{CGFloat}{CGFloat}{CGFloat}{CGFloat}
+F CGAffineTransformMakeRotation {CGAffineTransform}{CGFloat}
+F CGAffineTransformMakeScale {CGAffineTransform}{CGFloat}{CGFloat}
+F CGAffineTransformMakeTranslation {CGAffineTransform}{CGFloat}{CGFloat}
+
+F CGAffineTransformTranslate {CGAffineTransform}{CGAffineTransform}{CGFloat}{CGFloat}
+F CGAffineTransformScale {CGAffineTransform}{CGAffineTransform}{CGFloat}{CGFloat}
+F CGAffineTransformRotate {CGAffineTransform}{CGAffineTransform}{CGFloat}
+F CGAffineTransformInvert {CGAffineTransform}{CGAffineTransform}
+F CGAffineTransformConcat {CGAffineTransform}{CGAffineTransform}{CGAffineTransform}
+
+F CGPointApplyAffineTransform {CGPoint}{CGPoint}{CGAffineTransform}
+F CGSizeApplyAffineTransform {CGSize}{CGSize}{CGAffineTransform}
+F CGRectApplyAffineTransform {CGRect}{CGRect}{CGAffineTransform}
+
+F CGAffineTransformIsIdentity B{CGAffineTransform}
+F CGAffineTransformEqualToTransform B{CGAffineTransform}{CGAffineTransform}
+
+S CGAffineTransform "a"{CGFloat}"b"{CGFloat}"c"{CGFloat}"d"{CGFloat}"tx"{CGFloat}"ty"{CGFloat}
+
+V CGAffineTransformIdentity {CGAffineTransform}
+
+# CGContext
+
+T CGContextRef ^{CGContext}
+
+E CGBlendMode
+C kCGBlendModeNormal 0
+C kCGBlendModeMultiply 1
+C kCGBlendModeScreen 2
+C kCGBlendModeOverlay 3
+C kCGBlendModeDarken 4
+C kCGBlendModeLighten 5
+C kCGBlendModeColorDodge 6
+C kCGBlendModeColorBurn 7
+C kCGBlendModeSoftLight 8
+C kCGBlendModeHardLight 9
+C kCGBlendModeDifference 10
+C kCGBlendModeExclusion 11
+C kCGBlendModeHue 12
+C kCGBlendModeSaturation 13
+C kCGBlendModeColor 14
+C kCGBlendModeLuminosity 15
+C kCGBlendModeClear 16
+C kCGBlendModeCopy 17
+C kCGBlendModeSourceIn 18
+C kCGBlendModeSourceOut 19
+C kCGBlendModeSourceAtop 20
+C kCGBlendModeDestinationOver 21
+C kCGBlendModeDestinationIn 22
+C kCGBlendModeDestinationOut 23
+C kCGBlendModeDestinationAtop 24
+C kCGBlendModeXOR 25
+C kCGBlendModePlusDarker 26
+C kCGBlendModePlusLighter 27
+
+E CGInterpolationQuality
+C kCGInterpolationDefault 0
+C kCGInterpolationNone 1
+C kCGInterpolationLow 2
+C kCGInterpolationHigh 3
+
+E CGLineCap
+C kCGLineCapButt 0
+C kCGLineCapRound 1
+C kCGLineCapSquare 2
+
+E CGLineJoin
+C kCGLineJoinMiter 0
+C kCGLineJoinRound 1
+C kCGLineJoinBevel 2
+
+E CGTextDrawingMode
+C kCGTextFill 0
+C kCGTextStroke 1
+C kCGTextFillStroke 2
+C kCGTextInvisible 3
+C kCGTextFillClip 4
+C kCGTextStrokeClip 5
+C kCGTextFillStrokeClip 6
+C kCGTextClip 7
+
+E CGTextEncoding
+C kCGEncodingFontSpecific 0
+C kCGEncodingMacRoman 1
 
 f CoreLocation
 
+T CLLocationDegrees d
+
+S CLLocationCoordinate2D "latitude"{CLLocationDegrees}"longitude"{CLLocationDegrees}
+
+T CLLocationAccuracy d
+
 V kCLLocationAccuracyBest d
 V kCLLocationAccuracyNearestTenMeters d
 V kCLLocationAccuracyHundredMeters d
 V kCLLocationAccuracyKilometer d
 V kCLLocationAccuracyThreeKilometers d
 
+T CLLocationSpeed d
+T CLLocationDirection d
+
 V kCLDistanceFilterNone d
 V kCLHeadingFilterNone d
 
@@ -754,15 +1563,118 @@ C kCLErrorHeadingFailure 3
 
 V kCLErrorDomain @
 
+f CoreTelephony
+
+# most of this is garbage
+
+T CTCallRef @
+
+# CTCallAddressBlocked
+# CTCallAnswer
+# CTCallAnswerEndingActive
+# CTCallAnswerEndingAllOthers
+# CTCallAnswerEndingHeld
+# CTCallAnswerWithSourceIdentifier
+F CTCallCopyAddress {CFStringRef}{CFAllocatorRef}{CTCallRef}
+# CTCallCopyAllCallsSince
+# CTCallCopyAllIncomingCallsSince
+F CTCallCopyAllMissedCallsAfterRowID {CFArrayRef}{CFAllocatorRef}l
+F CTCallCopyAllMissedCallsSince {CFArrayRef}{CFAllocatorRef}{CFDateRef}
+# CTCallCopyAllOutgoingCallsSince
+# CTCallCopyName
+# CTCallCopyUUID
+# CTCallDeleteAllCallsBeforeDate
+# CTCallDial
+# CTCallDialEmergency
+# CTCallDialEmergencyWithSourceIdentifier
+# CTCallDialVoicemail
+# CTCallDialVoicemailWithSourceIdentifier
+# CTCallDialWithID
+# CTCallDialWithIDAndSourceIdentifier
+# CTCallDialWithSourceIdentifier
+# CTCallDisconnect
+# CTCallGetCauseCode
+# CTCallGetDuration
+# CTCallGetEmergencyStatus
+F CTCallGetGetRowIDOfLastInsert i
+F CTCallGetID l{CTCallRef}
+# CTCallGetMultiPartyCallCountMax
+F CTCallGetStartTime B{CTCallRef}^d
+# CTCallGetStatus
+F CTCallGetTypeID {CFTypeID}
+# CTCallHistoryInvalidateCaches
+# CTCallHold
+# CTCallIsAlerting
+# CTCallIsConferenced
+# CTCallIsOutgoing
+# CTCallIsToVoicemail
+# CTCallIsWaiting
+# CTCallJoinConference
+# CTCallLeaveConference
+# CTCallListDisconnect
+# CTCallListDisconnectAll
+# CTCallResume
+# CTCallTimersGetAll
+# CTCallTimersGetIncoming
+# CTCallTimersGetLast
+# CTCallTimersGetLastResetTime
+# CTCallTimersGetLifetime
+# CTCallTimersGetOutgoing
+# CTCallTimersReset
+
 f Foundation
 
-S _NSRange "location"I"length"I
+T NSAppleEventManagerSuspensionID ^r{__NSAppleEventManagerSuspension}
+
+E _NSByteOrder
+C NS_UnknownByteOrder CFByteOrderUnknown
+C NS_LittleEndian CFByteOrderLittleEndian
+C NS_BigEndian CFByteOrderBigEndian
+
+# NSComparator
+
+C NSOrderedAscending -1
+C NSOrderedSame 0
+C NSOrderedDescending 1
+T NSComparisonResult {NSInteger}
+
+# NSDecimal
+
+T NSEnumerationOptions {NSUInteger}
+# NSHashEnumerator
+T NSHashTable {_NSHashTable}
+# NSHashTableCallBacks
+
+T NSHashTableOptions {NSUInteger}
+T NSInteger l
+
+# NSMapEnumerator
+
+T NSMapTable {_NSMapTable}
+# NSMapTableKeyCallBacks
+
+T NSMapTableOptions {NSUInteger}
+# NSMapTableValueCallBacks
+
+S _NSPoint "x"{CGFloat}"y"{CGFloat}
+T NSPoint {_NSPoint}
+T NSPointArray ^{NSPoint}
+T NSPointPointer ^{NSPoint}
+
+S _NSRange "location"{NSUInteger}"length"{NSUInteger}
+T NSRange {_NSRange}
+T NSRangePointer ^{NSRange}
+
+S _NSRect "origin"{NSPoint}"size"{NSSize}
+T NSRectArray ^{NSRect}
 
 C NSMinXEdge 0
 C NSMinYEdge 1
 C NSMaxXEdge 2
 C NSMaxYEdge 3
 
+T NSRectPointer ^{NSRect}
+
 C NSApplicationDirectory 1
 C NSDemoApplicationDirectory 2
 C NSDeveloperApplicationDirectory 3
@@ -788,12 +1700,27 @@ C NSPreferencePanesDirectory 22
 C NSItemReplacementDirectory 99
 C NSAllApplicationsDirectory 100
 C NSAllLibrariesDirectory 101
+T NSSearchPathDirectory {NSUInteger}
 
 C NSUserDomainMask 1
 C NSLocalDomainMask 2
 C NSNetworkDomainMask 4
 C NSSystemDomainMask 8
 C NSAllDomainsMask 0x0ffff
+T NSSearchPathDomainMask {NSUInteger}
+
+S _NSSize "width"{CGFloat}"height"{CGFloat}
+T NSSize {_NSSize}
+
+T NSSizePointer ^{NSSize}
+T NSSocketNativeHandle i
+T NSStringEncoding {NSUInteger}
+S NSSwappedDouble "v"Q
+S NSSwappedFloat "v"L
+T NSTimeInterval d
+# NSUncaughtExceptionHandler
+T NSUInteger L
+T NSZone {_NSZone}
 
 f MapKit
 
@@ -813,9 +1740,74 @@ C MKPinAnnotationColorGreen 1
 C MKPinAnnotationColorPurple 2
 
 # MKCoordinateRegionMake
-# MKCoordinateRegionMakeWithDistance
+F MKCoordinateRegionMakeWithDistance {MKCoordinateRegion}{CLLocationCoordinate2D}{CLLocationDistance}{CLLocationDistance}
 # MKCoordinateSpanMake
 
+f MobileWiFi
+
+#F WiFiManagerClientAddNetwork
+#F WiFiManagerClientCopyDevices
+#F WiFiManagerClientCopyNetworks
+#F WiFiManagerClientCopyProperty
+#F WiFiManagerClientCreate
+#F WiFiManagerClientDisable
+#F WiFiManagerClientDisableNetwork
+#F WiFiManagerClientDispatchNotificationResponse
+#F WiFiManagerClientEnable
+#F WiFiManagerClientEnableNetwork
+#F WiFiManagerClientGetAssociationMode
+#F WiFiManagerClientGetDevice
+#F WiFiManagerClientGetType
+#F WiFiManagerClientGetTypeID
+#F WiFiManagerClientIsNetworkEnabled
+#F WiFiManagerClientRegisterNotificationCallback
+#F WiFiManagerClientRemoveNetwork
+#F WiFiManagerClientScheduleWithRunLoop
+#F WiFiManagerClientSetAssociationMode
+#F WiFiManagerClientSetPower
+#F WiFiManagerClientSetProperty
+#F WiFiManagerClientSetType
+#F WiFiManagerClientUnscheduleFromRunLoop
+#F WiFiManagerClientUpdateNetwork
+
+F WiFiNetworkComparePriority B@@
+#F WiFiNetworkCopyFilteredRecord
+F WiFiNetworkCopyPassword @@
+#F WiFiNetworkCopyPreparedEAPProfile
+#F WiFiNetworkCopyRecord
+#F WiFiNetworkCreate
+#F WiFiNetworkCreateCopy
+F WiFiNetworkGetAssociationDate @@
+#F WiFiNetworkGetAuthFlags
+#F WiFiNetworkGetDirectedState
+#F WiFiNetworkGetFloatProperty
+#F WiFiNetworkGetIntProperty
+#F WiFiNetworkGetProperty
+#F WiFiNetworkGetRateBounds
+F WiFiNetworkGetSSID @@
+F WiFiNetworkGetSSIDData @@
+F WiFiNetworkGetTypeID {CFTypeID}
+F WiFiNetworkIsEAP B@
+F WiFiNetworkIsEnabled B@
+F WiFiNetworkIsHidden B@
+F WiFiNetworkIsHiddenSSID B@
+F WiFiNetworkIsWEP B@
+F WiFiNetworkIsWPA B@
+#F WiFiNetworkMerge
+#F WiFiNetworkMergeForAssociation
+#F WiFiNetworkMergeProperties
+F WiFiNetworkRemovePassword v@
+F WiFiNetworkRequiresIdentity B@
+F WiFiNetworkRequiresOneTimePassword B@
+F WiFiNetworkRequiresPassword B@
+F WiFiNetworkRequiresUsername B@
+F WiFiNetworkSetAssociationDate v@@
+#F WiFiNetworkSetDirectedState
+#F WiFiNetworkSetFloatProperty
+#F WiFiNetworkSetIntProperty
+F WiFiNetworkSetPassword v@@
+#F WiFiNetworkSetProperty
+
 C RTLD_LAZY 0x1
 C RTLD_NOW 0x2
 C RTLD_LOCAL 0x4
@@ -829,7 +1821,10 @@ C RTLD_NEXT -1
 C RTLD_DEFAULT -2
 C RTLD_SELF -3
 
-# XXX: dladdr
+S dl_info "dli_fname"*"dli_fbase"^v"dli_sname"*"dli_saddr"^v
+T Dl_info {dl_info}
+
+F dladdr i^rv^{dl_info}
 F dlclose i^v
 F dlerror *
 F dlopen ^v*i