Repository: PoomSmart/IDAObjcTypes Branch: master Commit: c51cea5f11b7 Files: 91 Total size: 408.7 KB Directory structure: gitextract_ddc_e4g4/ ├── .clang-format ├── .gitattributes ├── .gitignore ├── .vscode/ │ ├── c_cpp_properties.json │ └── settings.json ├── AVFCapture/ │ └── AVFCapture.h ├── AVFoundation/ │ └── AVFoundation.h ├── AppSupport/ │ ├── AppSupport.h │ └── Types.h ├── AssetsLibraryServices/ │ └── AssetsLibraryServices.h ├── AudioToolbox/ │ ├── AudioToolbox.h │ └── Types.h ├── BaseTypes.h ├── CommonCrypto/ │ ├── CommonCrypto.h │ └── Types.h ├── CoreAnimation/ │ ├── CoreAnimation.h │ └── Types.h ├── CoreAudio/ │ ├── CoreAudio.h │ └── Types.h ├── CoreFoundation/ │ ├── CoreFoundation.h │ └── Types.h ├── CoreGraphics/ │ ├── CoreGraphics.h │ └── Types.h ├── CoreMedia/ │ ├── CoreMedia.h │ └── Types.h ├── CoreServices/ │ ├── CoreServices.h │ └── Types.h ├── CoreText/ │ ├── CoreText.h │ └── Types.h ├── CoreVideo/ │ ├── CoreVideo.h │ └── Types.h ├── CydiaSubstrate/ │ ├── CydiaSubstrate.h │ └── Types.h ├── Darwin/ │ ├── Darwin.h │ └── Types.h ├── Foundation/ │ ├── Foundation.h │ └── Types.h ├── GraphicsServices/ │ ├── GraphicsServices.h │ └── Types.h ├── IDA.h ├── IDA.til ├── IDA32.til ├── IOKit/ │ ├── IOKit.h │ ├── NXTypes.h │ └── Types.h ├── IOMobileFramebuffer/ │ ├── IOMobileFramebuffer.h │ └── Types.h ├── IOSurface/ │ ├── IOSurface.h │ └── Types.h ├── Kernel/ │ ├── Kernel.h │ └── Types.h ├── LICENSE ├── MediaRemote/ │ ├── MediaRemote.h │ └── Types.h ├── MobileGestalt/ │ ├── MobileGestalt.h │ └── Types.h ├── PowerLog/ │ └── PowerLog.h ├── QuartzCore/ │ ├── QuartzCore.h │ └── Types.h ├── README.md ├── Security/ │ ├── Security.h │ └── Types.h ├── SoftLinking/ │ └── SoftLinking.h ├── SpringBoard/ │ └── Types.h ├── SpringBoardHome/ │ └── Types.h ├── Swift/ │ ├── Swift.h │ └── Types.h ├── System/ │ ├── System.h │ └── Types.h ├── SystemConfiguration/ │ ├── SystemConfiguration.h │ └── Types.h ├── Types.h ├── UIKit/ │ ├── Types.h │ └── UIKit.h ├── dyld/ │ ├── Types.h │ └── dyld.h ├── fishhook/ │ └── fishhook.h ├── icu/ │ ├── Types.h │ └── icu.h ├── objc/ │ ├── Types.h │ └── objc.h ├── os/ │ ├── Types.h │ └── os.h ├── pthread/ │ ├── Types.h │ └── pthread.h ├── sandbox/ │ ├── Types.h │ └── sandbox.h ├── sqlite/ │ ├── Types.h │ └── sqlite.h └── xpc/ ├── Types.h └── xpc.h ================================================ FILE CONTENTS ================================================ ================================================ FILE: .clang-format ================================================ BasedOnStyle: LLVM Language: Cpp ColumnLimit: 200 MaxEmptyLinesToKeep: 1 PointerBindsToType: false AllowShortBlocksOnASingleLine: true AllowAllParametersOfDeclarationOnNextLine: false AlignTrailingComments: true SpaceBeforeParens: ControlStatements SpaceBeforeAssignmentOperators: true SpacesInContainerLiterals: true IndentWidth: 4 TabWidth: 4 ================================================ FILE: .gitattributes ================================================ # Auto detect text files and perform LF normalization * text=auto ================================================ FILE: .gitignore ================================================ .DS_Store ================================================ FILE: .vscode/c_cpp_properties.json ================================================ { "configurations": [ { "name": "Win32", "includePath": [ "${workspaceFolder}/**" ], "defines": [ "_DEBUG", "UNICODE", "_UNICODE" ], "intelliSenseMode": "clang-x64" }, { "name": "Mac", "includePath": [ "${workspaceFolder}/**" ], "defines": [ "_DEBUG", "UNICODE", "_UNICODE" ], "intelliSenseMode": "clang-x64" } ], "version": 4 } ================================================ FILE: .vscode/settings.json ================================================ { "files.associations": { "*.h": "objective-cpp" }, "C_Cpp.clang_format_fallbackStyle": "LLVM", "C_Cpp.clang_format_style": "file" } ================================================ FILE: AVFCapture/AVFCapture.h ================================================ #import "../CoreFoundation/Types.h" #import "../Foundation/Types.h" CFStringRef AVGestaltGetStringAnswer(CFStringRef key); CFStringRef AVGestaltGetStringAnswerWithDefault(CFStringRef key, CFStringRef defaultVal); CFStringRef AVGestaltGetStringAnswerWithError(CFStringRef key, NSError **error); NSInteger AVGestaltGetIntegerAnswer(CFStringRef key); NSInteger AVGestaltGetIntegerAnswerWithDefault(CFStringRef key, NSInteger defaultVal); NSInteger AVGestaltGetIntegerAnswerWithError(CFStringRef key, NSError **error); float AVGestaltGetFloatAnswer(CFStringRef key); float AVGestaltGetFloatAnswerWithDefault(CFStringRef key, float defaultVal); float AVGestaltGetFloatAnswerWithError(CFStringRef key, NSError **error); bool AVGestaltGetBoolAnswer(CFStringRef key); bool AVGestaltGetBoolAnswerWithDefault(CFStringRef key, bool defaultVal); bool AVGestaltGetBoolAnswerWithError(CFStringRef key, NSError **error); bool AVGestaltIsQuestionValid(CFStringRef key, int *result); ================================================ FILE: AVFoundation/AVFoundation.h ================================================ #import "../CoreGraphics/Types.h" #import "../Foundation/Types.h" CGRect AVMakeRectWithAspectRatioInsideRect(CGSize aspectRatio, CGRect boundingRect); void AVCGRectFromNSValue(NSValue *value, CGRect *rect); void AVCGSizeFromNSValue(NSValue *value, CGSize *size); void AVCGPointFromNSValue(NSValue *value, CGPoint *point); NSMutableArray *AVNSArrayFromCGColor(CGColorRef color); NSValue *AVNSValueWithCGRect(CGRect *rect); NSValue *AVNSValueWithCGSize(CGSize *size); NSValue *AVNSValueWithCGPoint(CGPoint *point); ================================================ FILE: AppSupport/AppSupport.h ================================================ #import "../CoreFoundation/Types.h" #import "../Kernel/Types.h" #import "Types.h" BOOL CPIsInternalDevice(void); void _CPLogLine(int64_t unk0, CFStringRef category, const char *file, const char *method, int64_t lineNumber, int64_t unk5, CFStringRef format, ...); CFArrayRef CPBitmapCreateImagesFromData(CFDataRef cpbitmap, void *, int, void *); CFStringRef CPCopyBundleIdentifierFromAuditToken(audit_token_t *token, bool *unknown); CFStringRef CPCopySharedResourcesPreferencesDomainForDomain(CFStringRef domain); CFStringRef CPGetDeviceRegionCode(); CFStringRef CPSystemRootDirectory(); CFStringRef CPSharedResourcesDirectory(); ================================================ FILE: AppSupport/Types.h ================================================ #ifndef APP_SUPPORT_H_ #define APP_SUPPORT_H_ #endif ================================================ FILE: AssetsLibraryServices/AssetsLibraryServices.h ================================================ #import "../Darwin/Types.h" void pl_dispatch_after(dispatch_time_t when, dispatch_queue_t queue, dispatch_block_t block); void pl_dispatch_async(dispatch_queue_t queue, dispatch_block_t block); void pl_dispatch_sync(dispatch_queue_t queue, dispatch_block_t block); void pl_dispatch_group_notify(dispatch_group_t group, dispatch_queue_t queue, dispatch_block_t block); ================================================ FILE: AudioToolbox/AudioToolbox.h ================================================ #import "../BaseTypes.h" #import "../Kernel/Types.h" #import "../CoreFoundation/Types.h" #import "Types.h" OSStatus AudioServicesCreateSystemSoundID(CFURLRef inFileURL, SystemSoundID *outSystemSoundID); OSStatus AudioServicesDisposeSystemSoundID(SystemSoundID inSystemSoundID); OSStatus AudioServicesSetProperty(AudioServicesPropertyID inPropertyID, UInt32 inSpecifierSize, const void *inSpecifier, UInt32 inPropertyDataSize, const void *inPropertyData); void AudioServicesStartSystemSound(SystemSoundID inSystemSoundID); void AudioServicesStopSystemSound(SystemSoundID inSystemSoundID, int64_t unk1); void AudioServicesPlaySystemSound(SystemSoundID inSystemSoundID); void AudioServicesPlayAlertSound(SystemSoundID inSystemSoundID); void AudioServicesPlaySystemSoundWithCompletion(SystemSoundID inSystemSoundID, void (*inCompletionBlock)(void)); ================================================ FILE: AudioToolbox/Types.h ================================================ #ifndef AUDIOTOOLBOX_H_ #define AUDIOTOOLBOX_H_ #import "../CoreAudio/Types.h" typedef struct AudioFormatListItem { AudioStreamBasicDescription mASBD; AudioChannelLayoutTag mChannelLayoutTag; } AudioFormatListItem; // Credits: https://github.com/TUNER88/iOSSystemSoundsLibrary PS_ENUM(UInt32, SystemSoundID) { kSystemSoundID_MailSent = 1000, kSystemSoundID_MailReceived = 1001, kSystemSoundID_VoicemailReceived = 1002, kSystemSoundID_SMSReceivedMessage = 1003, kSystemSoundID_SMSSentMessage = 1004, kSystemSoundID_LowPower = 1006, kSystemSoundID_SMSSentTweet = 1016, kSystemSoundID_PinKeyPressed = 1057, kSystemSoundID_ScreenLocked = 1100, kSystemSoundID_ScreenUnlocked = 1101, kSystemSoundID_FailedUnlock = 1102, kSystemSoundID_ConnectedToPower = 1106, kSystemSoundID_RingerSwitchIndication = 1107, kSystemSoundID_CameraShutter = 1108, kSystemSoundID_ShakeToShuffle = 1109, kSystemSoundID_BeginRecording = 1113, kSystemSoundID_EndRecording = 1114, kSystemSoundID_StartRecording = 1117, // successor of 1113 kSystemSoundID_StopRecording = 1118, // successor of 1114 kSystemSoundID_BurstCapture = 1119, kSystemSoundID_RingerVibeChanged = 1350, kSystemSoundID_SilentVibeChanged = 1351, kSystemSoundID_Vibrate = 0x00000FFF, kSystemSoundID_UserPreferredAlert = 0x00001000, kSystemSoundID_FlashScreen = 0x00000FFE, kUserPreferredAlert = kSystemSoundID_UserPreferredAlert }; PS_ENUM(UInt32, AudioServicesPropertyID) { kAudioServicesPropertyIsUISound = 'isui', kAudioServicesPropertyCompletePlaybackIfAppDies = 'ifdi', kAudioServicesPropertyBeingActive = 'actt', }; #endif ================================================ FILE: BaseTypes.h ================================================ #ifndef BASE_TYPES_H_ #define BASE_TYPES_H_ #ifndef GHIDRA #define PS_ENUM(_type, _name) enum _name : _type #else #define PS_ENUM(_type, _name) typedef enum _name #endif typedef signed char int8; typedef unsigned char uint8; typedef signed short int16; typedef unsigned short uint16; typedef signed long int32; typedef unsigned long uint32; typedef signed long long int64; typedef unsigned long long uint64; typedef uint64 __darwin_size_t; typedef __darwin_size_t size_t; typedef uint8 UInt8; typedef uint16 UInt16; typedef uint32 UInt32; typedef uint64 UInt64; typedef int8 SInt8; typedef int16 SInt16; typedef int32 SInt32; typedef int64 SInt64; typedef signed char int8_t; typedef unsigned char uint8_t; typedef signed short int16_t; typedef unsigned short uint16_t; typedef int int32_t; typedef unsigned int uint32_t; typedef int64 int64_t; typedef uint64 uint64_t; typedef uint64 uintptr_t; typedef long intptr_t; typedef struct { unsigned int gp_offset; unsigned int fp_offset; void *overflow_arg_area; void *reg_save_area; } va_list[1]; typedef int64 __darwin_time_t; struct timespec { __darwin_time_t tv_sec; int64 tv_nsec; }; typedef uint8 Boolean; typedef int kern_return_t; typedef unsigned int __darwin_natural_t; typedef unsigned long long u_int64_t; typedef uintptr_t vm_offset_t; typedef vm_offset_t vm_address_t; typedef uint64_t mach_vm_address_t; typedef UInt64 AbsoluteTime; typedef struct ipc_port *ipc_port_t; typedef ipc_port_t mach_port_t; typedef struct task *task_t; // Just C typedef struct _OSObject *OSObject; typedef struct objc_class *Class; typedef struct NSObject { Class isa; } NSObject; #ifdef __ARM__ typedef bool BOOL; #else typedef signed char BOOL; #endif typedef float Float32; typedef double Float64; typedef unsigned long UniCharCount; typedef UInt32 UTF32Char; typedef UInt16 UniChar; typedef UInt16 UTF16Char; typedef UInt8 UTF8Char; typedef int errno_t; typedef int32_t integer_t; typedef int64_t off_t; typedef size_t rsize_t; extern uintptr_t __stack_chk_guard; __attribute__((noreturn)) void __stack_chk_fail(void); #endif ================================================ FILE: CommonCrypto/CommonCrypto.h ================================================ #import "Types.h" int CCDigest(CCDigestAlgorithm alg, const uint8_t *data, size_t len, uint8_t *out); int CC_MD4_Init(CC_MD4_CTX *c); int CC_MD4_Update(CC_MD4_CTX *c, const void *data, CC_LONG len); int CC_MD4_Final(unsigned char *md, CC_MD4_CTX *c); unsigned char *CC_MD4(const void *data, CC_LONG len, unsigned char *md); int CC_MD5_Init(CC_MD5_CTX *c); int CC_MD5_Update(CC_MD5_CTX *c, const void *data, CC_LONG len); int CC_MD5_Final(unsigned char *md, CC_MD5_CTX *c); unsigned char *CC_MD5(const void *data, CC_LONG len, unsigned char *md); int CC_SHA1_Init(CC_SHA1_CTX *c); int CC_SHA1_Update(CC_SHA1_CTX *c, const void *data, CC_LONG len); int CC_SHA1_Final(unsigned char *md, CC_SHA1_CTX *c); unsigned char *CC_SHA1(const void *data, CC_LONG len, unsigned char *md); int CC_SHA224_Init(CC_SHA224_CTX *c); int CC_SHA224_Update(CC_SHA224_CTX *c, const void *data, CC_LONG len); int CC_SHA224_Final(unsigned char *md, CC_SHA224_CTX *c); unsigned char *CC_SHA224(const void *data, CC_LONG len, unsigned char *md); int CC_SHA256_Init(CC_SHA256_CTX *c); int CC_SHA256_Update(CC_SHA256_CTX *c, const void *data, CC_LONG len); int CC_SHA256_Final(unsigned char *md, CC_SHA256_CTX *c); unsigned char *CC_SHA256(const void *data, CC_LONG len, unsigned char *md); int CC_SHA384_Init(CC_SHA512_CTX *c); int CC_SHA384_Update(CC_SHA512_CTX *c, const void *data, CC_LONG len); int CC_SHA384_Final(unsigned char *md, CC_SHA512_CTX *c); unsigned char *CC_SHA384(const void *data, CC_LONG len, unsigned char *md); int CC_SHA512_Init(CC_SHA512_CTX *c); int CC_SHA512_Update(CC_SHA512_CTX *c, const void *data, CC_LONG len); int CC_SHA512_Final(unsigned char *md, CC_SHA512_CTX *c); unsigned char *CC_SHA512(const void *data, CC_LONG len, unsigned char *md); int CCRandomCopyBytes(CCRandomRef rnd, void *bytes, size_t count); size_t CCCryptorGetOutputLength(CCCryptorRef cryptorRef, size_t inputLength, bool final); int CCKeyDerivationPBKDF(CCPBKDFAlgorithm algorithm, const char *password, size_t passwordLen, const uint8_t *salt, size_t saltLen, CCPseudoRandomAlgorithm prf, unsigned rounds, uint8_t *derivedKey, size_t derivedKeyLen); unsigned CCCalibratePBKDF(CCPBKDFAlgorithm algorithm, size_t passwordLen, size_t saltLen, CCPseudoRandomAlgorithm prf, size_t derivedKeyLen, uint32_t msec); void CCHmacInit(CCHmacContext *ctx, CCHmacAlgorithm algorithm, const void *key, size_t keyLength); void CCHmacUpdate(CCHmacContext *ctx, const void *data, size_t dataLength); void CCHmacFinal(CCHmacContext *ctx, void *macOut); void CCHmac(CCHmacAlgorithm algorithm, const void *key, size_t keyLength, const void *data, size_t dataLength, void *macOut); void CCKDFParametersDestroy(CCKDFParametersRef params); CCStatus CCDeriveKey(const CCKDFParametersRef params, CCDigestAlgorithm digest, const void *keyDerivationKey, size_t keyDerivationKeyLen, void *derivedKey, size_t derivedKeyLen); CCStatus CCKDFParametersCreateHkdf(CCKDFParametersRef *params, const void *salt, size_t saltLen, const void *context, size_t contextLen); CCCryptorStatus CCCryptorCreate(CCOperation op, CCAlgorithm alg, CCOptions options, const void *key, size_t keyLength, const void *iv, CCCryptorRef *cryptorRef); CCCryptorStatus CCCryptorCreateFromData(CCOperation op, CCAlgorithm alg, CCOptions options, const void *key, size_t keyLength, const void *iv, const void *data, size_t dataLength, CCCryptorRef *cryptorRef, size_t *dataUsed); CCCryptorStatus CCCryptorCreateWithMode(CCOperation op, CCMode mode, CCAlgorithm alg, CCPadding padding, const void *iv, const void *key, size_t keyLength, const void *tweak, size_t tweakLength, int numRounds, CCModeOptions options, CCCryptorRef *cryptorRef); CCCryptorStatus CCCryptorRelease(CCCryptorRef cryptorRef); CCCryptorStatus CCCryptorUpdate(CCCryptorRef cryptorRef, const void *dataIn, size_t dataInLength, void *dataOut, size_t dataOutAvailable, size_t *dataOutMoved); CCCryptorStatus CCCryptorFinal(CCCryptorRef cryptorRef, void *dataOut, size_t dataOutAvailable, size_t *dataOutMoved); CCCryptorStatus CCCryptorReset(CCCryptorRef cryptorRef, const void *iv); CCCryptorStatus CCCrypt(CCOperation op, CCAlgorithm alg, CCOptions options, const void *key, size_t keyLength, const void *iv, const void *dataIn, size_t dataInLength, void *dataOut, size_t dataOutAvailable, size_t *dataOutMoved); CCDigestRef CCDigestCreate(CCDigestAlgorithm alg); int CCDigestInit(CCDigestAlgorithm algorithm, CCDigestRef ctx); int CCDigestFinal(CCDigestRef ctx, uint8_t *output); int CCDigestUpdate(CCDigestRef ctx, const void *data, size_t length); size_t CCDigestOutputSize(CCDigestRef ctx); void CCDigestDestroy(CCDigestRef ctx); void CCDigestReset(CCDigestRef ctx); CNStatus CNEncode(CNEncodings encoding, CNEncodingDirection direction, const void *in, const size_t inLen, void *out, size_t *outLen); ================================================ FILE: CommonCrypto/Types.h ================================================ #ifndef COMMONCRYPTO_H_ #define COMMONCRYPTO_H_ #import "../BaseTypes.h" typedef uint32_t CC_LONG; typedef uint64_t CC_LONG64; typedef uint32_t CNStatus; typedef struct _CCCryptor *CCCryptorRef; typedef struct _CNEncoder *CNEncoderRef; typedef struct CCKDFParameters *CCKDFParametersRef; typedef struct __CCRandom *CCRandomRef; #define CC_DIGEST_SIZE 1032 typedef struct CCDigestCtx_t { uint8_t context[CC_DIGEST_SIZE]; } CCDigestCtx, *CCDigestRef; #define CC_MD2_DIGEST_LENGTH 16 #define CC_MD2_BLOCK_BYTES 64 #define CC_MD2_BLOCK_LONG (CC_MD2_BLOCK_BYTES / sizeof(CC_LONG)) typedef struct CC_MD2state_st { int num; unsigned char data[CC_MD2_DIGEST_LENGTH]; CC_LONG cksm[CC_MD2_BLOCK_LONG]; CC_LONG state[CC_MD2_BLOCK_LONG]; } CC_MD2_CTX; int CC_MD2_Init(CC_MD2_CTX *c); int CC_MD2_Update(CC_MD2_CTX *c, const void *data, CC_LONG len); int CC_MD2_Final(unsigned char *md, CC_MD2_CTX *c); #define CC_MD4_DIGEST_LENGTH 16 #define CC_MD4_BLOCK_BYTES 64 #define CC_MD4_BLOCK_LONG (CC_MD4_BLOCK_BYTES / sizeof(CC_LONG)) typedef struct CC_MD4state_st { CC_LONG A, B, C, D; CC_LONG Nl, Nh; CC_LONG data[CC_MD4_BLOCK_LONG]; int num; } CC_MD4_CTX; #define CC_MD5_DIGEST_LENGTH 16 #define CC_MD5_BLOCK_BYTES 64 #define CC_MD5_BLOCK_LONG (CC_MD5_BLOCK_BYTES / sizeof(CC_LONG)) typedef struct CC_MD5state_st { CC_LONG A, B, C, D; CC_LONG Nl, Nh; CC_LONG data[CC_MD5_BLOCK_LONG]; int num; } CC_MD5_CTX; #define CC_SHA1_DIGEST_LENGTH 20 #define CC_SHA1_BLOCK_BYTES 64 #define CC_SHA1_BLOCK_LONG (CC_SHA1_BLOCK_BYTES / sizeof(CC_LONG)) typedef struct CC_SHA1state_st { CC_LONG h0, h1, h2, h3, h4; CC_LONG Nl, Nh; CC_LONG data[CC_SHA1_BLOCK_LONG]; int num; } CC_SHA1_CTX; typedef struct CC_SHA224state_st { CC_LONG count[2]; CC_LONG hash[8]; CC_LONG wbuf[16]; } CC_SHA224_CTX; #define CC_SHA256_DIGEST_LENGTH 32 #define CC_SHA256_BLOCK_BYTES 64 typedef struct CC_SHA256state_st { CC_LONG count[2]; CC_LONG hash[8]; CC_LONG wbuf[16]; } CC_SHA256_CTX; #define CC_SHA384_DIGEST_LENGTH 48 #define CC_SHA384_BLOCK_BYTES 128 typedef struct CC_SHA512state_st { CC_LONG64 count[2]; CC_LONG64 hash[8]; CC_LONG64 wbuf[16]; } CC_SHA512_CTX; #define CC_SHA512_DIGEST_LENGTH 64 #define CC_SHA512_BLOCK_BYTES 128 PS_ENUM(int32_t, CCStatus) { kCCSuccess = 0, kCCParamError = -4300, kCCBufferTooSmall = -4301, kCCMemoryFailure = -4302, kCCAlignmentError = -4303, kCCDecodeError = -4304, kCCUnimplemented = -4305, kCCOverflow = -4306, kCCRNGFailure = -4307, kCCUnspecifiedError = -4308, kCCCallSequenceError = -4309, kCCKeySizeError = -4310, kCCInvalidKey = -4311, }; typedef int32_t CCCryptorStatus; PS_ENUM(uint32_t, CCOperation) { kCCEncrypt = 0, kCCDecrypt, }; PS_ENUM(uint32_t, CCAlgorithm) { kCCAlgorithmAES128 = 0, kCCAlgorithmAES = 0, kCCAlgorithmDES, kCCAlgorithm3DES, kCCAlgorithmCAST, kCCAlgorithmRC4, kCCAlgorithmRC2, kCCAlgorithmBlowfish }; PS_ENUM(uint32_t, CCOptions) { kCCOptionPKCS7Padding = 0x0001, kCCOptionECBMode = 0x0002 }; PS_ENUM(uint32_t, CCMode) { kCCModeECB = 1, kCCModeCBC = 2, kCCModeCFB = 3, kCCModeCTR = 4, kCCModeOFB = 7, kCCModeRC4 = 9, kCCModeCFB8 = 10, }; PS_ENUM(uint32_t, CCModeOptions) { kCCModeOptionCTR_BE = 2 }; PS_ENUM(uint32_t, CCPadding) { ccNoPadding = 0, ccPKCS7Padding = 1, }; /* enum { kCCKeySizeAES128 = 16, kCCKeySizeAES192 = 24, kCCKeySizeAES256 = 32, kCCKeySizeDES = 8, kCCKeySize3DES = 24, kCCKeySizeMinCAST = 5, kCCKeySizeMaxCAST = 16, kCCKeySizeMinRC4 = 1, kCCKeySizeMaxRC4 = 512, kCCKeySizeMinRC2 = 1, kCCKeySizeMaxRC2 = 128, kCCKeySizeMinBlowfish = 8, kCCKeySizeMaxBlowfish = 56, }; enum { kCCBlockSizeAES128 = 16, kCCBlockSizeDES = 8, kCCBlockSize3DES = 8, kCCBlockSizeCAST = 8, kCCBlockSizeRC2 = 8, kCCBlockSizeBlowfish = 8, }; enum { kCCContextSizeAES128 = 404, kCCContextSizeDES = 240, kCCContextSize3DES = 496, kCCContextSizeCAST = 240, kCCContextSizeRC4 = 1072 }; */ PS_ENUM(uint32_t, CCHmacAlgorithm) { kCCHmacAlgSHA1, kCCHmacAlgMD5, kCCHmacAlgSHA256, kCCHmacAlgSHA384, kCCHmacAlgSHA512, kCCHmacAlgSHA224 }; #define CC_HMAC_CONTEXT_SIZE 96 typedef struct CCHmacContext { uint32_t ctx[CC_HMAC_CONTEXT_SIZE]; } CCHmacContext; PS_ENUM(uint32_t, CCPBKDFAlgorithm) { kCCPBKDF2 = 2, }; PS_ENUM(uint32_t, CCPseudoRandomAlgorithm) { kCCPRFHmacAlgSHA1 = 1, kCCPRFHmacAlgSHA224 = 2, kCCPRFHmacAlgSHA256 = 3, kCCPRFHmacAlgSHA384 = 4, kCCPRFHmacAlgSHA512 = 5, }; PS_ENUM(uint32_t, CNEncodings) { kCNEncodingBase64 = 0x0001, kCNEncodingBase32 = 0x0002, kCNEncodingBase32Recovery = 0x0003, kCNEncodingBase32HEX = 0x0004, kCNEncodingBase16 = 0x0005, kCNEncodingCustom = 0xcafe }; PS_ENUM(uint32_t, CNEncodingDirection) { kCNEncode = 0x0001, kCNDecode = 0x0002, }; PS_ENUM(uint32_t, CCDigestAlgorithm) { kCCDigestNone = 0, kCCDigestMD2 = 1, kCCDigestMD4 = 2, kCCDigestMD5 = 3, kCCDigestRMD128 = 4, kCCDigestRMD160 = 5, kCCDigestRMD256 = 6, kCCDigestRMD320 = 7, kCCDigestSHA1 = 8, kCCDigestSHA224 = 9, kCCDigestSHA256 = 10, kCCDigestSHA384 = 11, kCCDigestSHA512 = 12, kCCDigestSkein128 = 13, kCCDigestSkein160 = 14, kCCDigestSkein224 = 16, kCCDigestSkein256 = 17, kCCDigestSkein384 = 18, kCCDigestSkein512 = 19, }; #endif ================================================ FILE: CoreAnimation/CoreAnimation.h ================================================ #import "../CoreFoundation/Types.h" #import "Types.h" bool CATransform3DIsAffine(CATransform3D t); bool CATransform3DIsIdentity(CATransform3D t); bool CATransform3DEqualToTransform(CATransform3D a, CATransform3D b); CFTimeInterval CACurrentMediaTime(void); CGPoint CA_CGPointApplyTransform(CGPoint p, CATransform3D t); CGPoint CA_CGPointUnapplyInverseTransform(CGPoint p, CATransform3D t_inv); CGRect CA_CGRectApplyTransform(CGRect r, CATransform3D t); CGRect CA_CGRectUnapplyInverseTransform(CGRect r, CATransform3D t_inv); CATransform3D CATransform3DMakeAffineTransform(CGAffineTransform m); CATransform3D CATransform3DMakeTranslation(CGFloat tx, CGFloat ty, CGFloat tz); CATransform3D CATransform3DMakeScale(CGFloat sx, CGFloat sy, CGFloat sz); CATransform3D CATransform3DMakeRotation(CGFloat angle, CGFloat x, CGFloat y, CGFloat z); CATransform3D CATransform3DConcat(CATransform3D a, CATransform3D b); CATransform3D CATransform3DConcatAffineTransform(CGAffineTransform a, CATransform3D b); CATransform3D CATransform3DTranslate(CATransform3D t, CGFloat tx, CGFloat ty, CGFloat tz); CATransform3D CATransform3DTranslateRight(CATransform3D t, CGFloat tx, CGFloat ty, CGFloat tz); CATransform3D CATransform3DScale(CATransform3D t, CGFloat sx, CGFloat sy, CGFloat sz); CATransform3D CATransform3DRotate(CATransform3D t, CGFloat angle, CGFloat x, CGFloat y, CGFloat z); CATransform3D CATransform3DInvert(CATransform3D t); CGAffineTransform CATransform3DGetAffineTransform(CATransform3D t); ================================================ FILE: CoreAnimation/Types.h ================================================ #ifndef COREANIMATION_H_ #define COREANIMATION_H_ #import "../CoreGraphics/Types.h" typedef struct CATransform3D { CGFloat _field1; CGFloat _field2; CGFloat _field3; CGFloat _field4; CGFloat _field5; CGFloat _field6; CGFloat _field7; CGFloat _field8; CGFloat _field9; CGFloat _field10; CGFloat _field11; CGFloat _field12; CGFloat _field13; CGFloat _field14; CGFloat _field15; CGFloat _field16; } CATransform3D; #endif ================================================ FILE: CoreAudio/CoreAudio.h ================================================ #import "Types.h" ================================================ FILE: CoreAudio/Types.h ================================================ #ifndef COREAUDIO_H_ #define COREAUDIO_H_ #import "../BaseTypes.h" typedef UInt32 AudioChannelLabel; typedef UInt32 AudioChannelLayoutTag; typedef struct AudioValueRange { Float64 mMinimum; Float64 mMaximum; } AudioValueRange; typedef struct AudioBuffer { UInt32 mNumberChannels; UInt32 mDataByteSize; void *mData; } AudioBuffer; typedef struct AudioBufferList { UInt32 mNumberBuffers; AudioBuffer mBuffers[1]; } AudioBufferList; typedef struct AudioStreamBasicDescription { Float64 mSampleRate; UInt32 mFormatID; UInt32 mFormatFlags; UInt32 mBytesPerPacket; UInt32 mFramesPerPacket; UInt32 mBytesPerFrame; UInt32 mChannelsPerFrame; UInt32 mBitsPerChannel; UInt32 mReserved; } AudioStreamBasicDescription; typedef struct AudioStreamPacketDescription { SInt64 mStartOffset; UInt32 mVariableFramesInPacket; UInt32 mDataByteSize; } AudioStreamPacketDescription; typedef struct AudioChannelDescription { AudioChannelLabel mChannelLabel; UInt32 mChannelFlags; Float32 mCoordinates[3]; } AudioChannelDescription; typedef struct AudioChannelLayout { AudioChannelLayoutTag mChannelLayoutTag; UInt32 mChannelBitmap; UInt32 mNumberChannelDescriptions; AudioChannelDescription mChannelDescriptions[1]; } AudioChannelLayout; #endif ================================================ FILE: CoreFoundation/CoreFoundation.h ================================================ #import "../BaseTypes.h" #import "../Darwin/Types.h" #import "../xpc/Types.h" #import "Types.h" double CFStringGetDoubleValue(CFStringRef str); bool _CFPropertyListCreateFiltered(CFAllocatorRef allocator, CFDataRef data, CFOptionFlags option, CFSetRef keyPaths, CFPropertyListRef *value, CFErrorRef *error); bool CFUniCharIsMemberOf(UTF32Char theChar, uint32_t charset); SInt32 CFStringGetIntValue(CFStringRef str); SInt32 CFURLGetPortNumber(CFURLRef anURL); SInt32 CFRunLoopRunSpecific(CFRunLoopRef rl, CFStringRef modeName, CFTimeInterval seconds, Boolean returnAfterSourceHandled); SInt32 CFUserNotificationReceiveResponse(CFUserNotificationRef userNotification, CFTimeInterval timeout, CFOptionFlags *responseFlags); SInt32 CFUserNotificationCancel(CFUserNotificationRef userNotification); SInt32 CFMessagePortSendRequest(CFMessagePortRef remote, SInt32 msgid, CFDataRef data, CFTimeInterval sendTimeout, CFTimeInterval rcvTimeout, CFStringRef replyMode, CFDataRef *returnData); UInt32 CFBundleGetVersionNumber(CFBundleRef bundle); const char **_CFGetProgname(void); const char *CFStringGetCStringPtr(CFStringRef theString, CFStringEncoding encoding); const void *CFUniCharGetUnicodePropertyDataForPlane(uint32_t propertyType, uint32_t plane); const void *CFArrayGetValueAtIndex(CFArrayRef theArray, CFIndex idx); const void *CFDictionaryGetValue(CFDictionaryRef theDict, const void *key); const void *CFSetGetValue(CFSetRef theSet, const void *value); void *CFAllocatorAllocate(CFAllocatorRef allocator, CFIndex size, CFOptionFlags hint); void *CFAllocatorReallocate(CFAllocatorRef allocator, void *ptr, CFIndex newsize, CFOptionFlags hint); void *CFBundleGetFunctionPointerForName(CFBundleRef bundle, CFStringRef functionName); const uint8_t *CFUniCharGetBitmapPtrForPlane(uint32_t charset, uint32_t plane); const UniChar *CFStringGetCharactersPtr(CFStringRef theString); UniChar CFStringGetCharacterAtIndex(CFStringRef theString, CFIndex idx); UniChar CFStringGetCharacterFromInlineBuffer(CFStringInlineBuffer *buf, CFIndex idx); UTF32Char CFStringGetLongCharacterFromInlineBuffer(CFStringInlineBuffer *buf, CFIndex idx); const UInt8 *CFDataGetBytePtr(CFDataRef theData); const UInt8 *CFReadStreamGetBuffer(CFReadStreamRef stream, CFIndex maxBytesToRead, CFIndex *numBytesRead); UInt8 *CFDataGetMutableBytePtr(CFMutableDataRef theData); mach_port_t CFMachPortGetPort(CFMachPortRef port); xpc_object_t _CFXPCCreateXPCObjectFromCFObject(CFTypeRef attrs); const CFRuntimeClass *_CFRuntimeGetClassWithTypeID(CFTypeID typeID); void CFLog(int32_t level, CFStringRef format, ...); void CFShow(CFTypeRef obj); void CFShowStr(CFStringRef str); void CFRelease(CFTypeRef cf); void CFArrayAppendValue(CFMutableArrayRef mDict, const void *value); void CFArrayAppendArray(CFMutableArrayRef theArray, CFArrayRef otherArray, CFRange otherRange); void CFArrayRemoveValueAtIndex(CFMutableArrayRef theArray, CFIndex idx); void CFArrayReplaceValues(CFMutableArrayRef theArray, CFRange range, const void **newValues, CFIndex newCount); void CFArrayInsertValueAtIndex(CFMutableArrayRef theArray, CFIndex idx, const void *value); void CFArrayGetValues(CFArrayRef theArray, CFRange range, const void **values); void CFArraySetValueAtIndex(CFMutableArrayRef theArray, CFIndex idx, const void *value); void CFArraySortValues(CFMutableArrayRef theArray, CFRange range, CFComparatorFunction comparator, void *context); void CFArrayRemoveAllValues(CFMutableArrayRef theArray); void CFArrayExchangeValuesAtIndices(CFMutableArrayRef theArray, CFIndex idx1, CFIndex idx2); void CFArrayApplyFunction(CFArrayRef theArray, CFRange range, CFArrayApplierFunction applier, void *context); void CFPreferencesSetValue(CFStringRef key, CFPropertyListRef value, CFStringRef applicationID, CFStringRef userName, CFStringRef hostName); void CFPreferencesSetAppValue(CFStringRef key, CFPropertyListRef value, CFStringRef applicationID); void CFPreferencesSetMultiple(CFDictionaryRef keysToSet, CFArrayRef keysToRemove, CFStringRef applicationID, CFStringRef userName, CFStringRef hostName); void CFPreferencesAddSuitePreferencesToApp(CFStringRef applicationID, CFStringRef suiteID); void CFPreferencesRemoveSuitePreferencesFromApp(CFStringRef applicationID, CFStringRef suiteID); void CFNotificationCenterAddObserver(CFNotificationCenterRef center, const void *observer, CFNotificationCallback callBack, CFStringRef name, const void *object, CFNotificationSuspensionBehavior suspensionBehavior); void CFNotificationCenterPostNotification(CFNotificationCenterRef center, CFNotificationName name, const void *object, CFDictionaryRef userInfo, Boolean deliverImmediately); void CFNotificationCenterRemoveObserver(CFNotificationCenterRef center, const void *observer, CFNotificationName name, const void *object); void CFNotificationCenterRemoveEveryObserver(CFNotificationCenterRef center, const void *observer); void CFBurstTrieTraverseFromCursor(CFBurstTrieCursorRef cursor, void *ctx, CFBurstTrieTraversalCallback callback); void CFBurstTrieRelease(CFBurstTrieRef trie); void CFBurstTrieCursorRelease(CFBurstTrieCursorRef cursor); void CFCharacterSetAddCharactersInRange(CFMutableCharacterSetRef theSet, CFRange theRange); void CFCharacterSetAddCharactersInString(CFMutableCharacterSetRef theSet, CFStringRef theString); void CFCharacterSetRemoveCharactersInRange(CFMutableCharacterSetRef theSet, CFRange theRange); void CFCharacterSetIntersect(CFMutableCharacterSetRef theSet, CFCharacterSetRef theOtherSet); void CFCharacterSetInvert(CFMutableCharacterSetRef theSet); void CFCharacterSetUnion(CFMutableCharacterSetRef theSet, CFCharacterSetRef theOtherSet); void CFCharacterSetCompact(CFMutableCharacterSetRef theSet); void CFCharacterSetInitInlineBuffer(CFCharacterSetRef cset, CFCharacterSetInlineBuffer *buffer); void CFDataAppendBytes(CFMutableDataRef theData, const UInt8 *bytes, CFIndex length); void CFDataDeleteBytes(CFMutableDataRef theData, CFRange range); void CFDataReplaceBytes(CFMutableDataRef theData, CFRange range, const UInt8 *newBytes, CFIndex newLength); void CFDataGetBytes(CFDataRef theData, CFRange range, UInt8 *buffer); void CFDataSetLength(CFMutableDataRef theData, CFIndex length); void CFDataIncreaseLength(CFMutableDataRef theData, CFIndex extraLength); void CFDictionaryGetKeysAndValues(CFDictionaryRef theDict, const void **keys, const void **values); void CFDictionaryApplyFunction(CFDictionaryRef theDict, CFDictionaryApplierFunction applier, void *context); void CFDictionaryRemoveValue(CFMutableDictionaryRef theDict, const void *key); void CFDictionarySetValue(CFMutableDictionaryRef theDict, const void *key, const void *value); void CFDictionaryAddValue(CFMutableDictionaryRef theDict, const void *key, const void *value); void CFDictionaryRemoveAllValues(CFMutableDictionaryRef theDict); void CFDictionaryReplaceValue(CFMutableDictionaryRef theDict, const void *key, const void *value); void CFAttributedStringSetAttribute(CFMutableAttributedStringRef aStr, CFRange range, CFStringRef attrName, CFTypeRef value); void CFAttributedStringReplaceAttributedString(CFMutableAttributedStringRef aStr, CFRange range, CFAttributedStringRef replacement); void CFAttributedStringReplaceString(CFMutableAttributedStringRef aStr, CFRange range, CFStringRef replacement); void CFStringGetLineBounds(CFStringRef theString, CFRange range, CFIndex *lineBeginIndex, CFIndex *lineEndIndex, CFIndex *contentsEndIndex); void CFStringDelete(CFMutableStringRef theString, CFRange range); void CFStringFold(CFMutableStringRef theString, CFStringCompareFlags theFlags, CFLocaleRef theLocale); void CFStringNormalize(CFMutableStringRef theString, CFStringNormalizationForm theForm); void CFStringCapitalize(CFMutableStringRef theString, CFLocaleRef locale); void CFStringUppercase(CFMutableStringRef theString, CFLocaleRef locale); void CFStringLowercase(CFMutableStringRef theString, CFLocaleRef locale); void CFStringInsert(CFMutableStringRef str, CFIndex idx, CFStringRef insertedStr); void CFStringAppend(CFMutableStringRef theString, CFStringRef appendedString); void CFStringAppendCharacters(CFMutableStringRef theString, const UniChar *chars, CFIndex numChars); void CFStringAppendCString(CFMutableStringRef theString, const char *cStr, CFStringEncoding encoding); void CFStringAppendFormat(CFMutableStringRef theString, CFDictionaryRef formatOptions, CFStringRef format, ...); void CFStringAppendFormatAndArguments(CFMutableStringRef theString, CFDictionaryRef formatOptions, CFStringRef format, va_list arguments); void CFStringPad(CFMutableStringRef theString, CFStringRef padString, CFIndex length, CFIndex indexIntoPad); void CFStringReplace(CFMutableStringRef theString, CFRange range, CFStringRef replacement); void CFStringReplaceAll(CFMutableStringRef theString, CFStringRef replacement); void CFStringSetExternalCharactersNoCopy(CFMutableStringRef theString, UniChar *chars, CFIndex length, CFIndex capacity); void CFStringTrim(CFMutableStringRef theString, CFStringRef trimString); void CFStringTrimWhitespace(CFMutableStringRef theString); void CFStringGetCharacters(CFStringRef theString, CFRange range, UniChar *buffer); void CFStringInitInlineBuffer(CFStringRef str, CFStringInlineBuffer *buf, CFRange range); void CFStringGetParagraphBounds(CFStringRef string, CFRange range, CFIndex *parBeginIndex, CFIndex *parEndIndex, CFIndex *contentsEndIndex); void CFStringTokenizerSetString(CFStringTokenizerRef tokenizer, CFStringRef string, CFRange range); void CFSetAddValue(CFMutableSetRef theSet, const void *value); void CFSetSetValue(CFMutableSetRef theSet, const void *value); void CFSetReplaceValue(CFMutableSetRef theSet, const void *value); void CFSetRemoveValue(CFMutableSetRef theSet, const void *value); void CFSetRemoveAllValues(CFMutableSetRef theSet); void CFSetGetValues(CFSetRef theSet, const void **values); void CFSetApplyFunction(CFSetRef theSet, CFSetApplierFunction applier, void *context); void CFAllocatorSetDefault(CFAllocatorRef allocator); void CFAllocatorDeallocate(CFAllocatorRef allocator, void *ptr); void CFAllocatorGetContext(CFAllocatorRef allocator, CFAllocatorContext *context); void CFReadStreamSetDispatchQueue(CFReadStreamRef stream, dispatch_queue_t q); void CFReadStreamClose(CFReadStreamRef stream); void CFReadStreamScheduleWithRunLoop(CFReadStreamRef stream, CFRunLoopRef runLoop, CFRunLoopMode runLoopMode); void CFReadStreamUnscheduleFromRunLoop(CFReadStreamRef stream, CFRunLoopRef runLoop, CFRunLoopMode runLoopMode); void CFWriteStreamScheduleWithRunLoop(CFWriteStreamRef stream, CFRunLoopRef runLoop, CFRunLoopMode runLoopMode); void CFWriteStreamUnscheduleFromRunLoop(CFWriteStreamRef stream, CFRunLoopRef runLoop, CFRunLoopMode runLoopMode); void CFWriteStreamSetDispatchQueue(CFWriteStreamRef stream, dispatch_queue_t q); void CFWriteStreamClose(CFWriteStreamRef stream); void CFBundleGetPackageInfo(CFBundleRef bundle, UInt32 *packageType, UInt32 *packageCreator); void CFBundleCloseBundleResourceMap(CFBundleRef bundle, CFBundleRefNum refNum); void CFRunLoopAddCommonMode(CFRunLoopRef rl, CFRunLoopMode mode); void CFRunLoopAddTimer(CFRunLoopRef rl, CFRunLoopTimerRef timer, CFRunLoopMode mode); void CFRunLoopAddSource(CFRunLoopRef rl, CFRunLoopSourceRef source, CFRunLoopMode mode); void CFRunLoopAddObserver(CFRunLoopRef rl, CFRunLoopObserverRef observer, CFRunLoopMode mode); void CFRunLoopRemoveTimer(CFRunLoopRef rl, CFRunLoopTimerRef timer, CFRunLoopMode mode); void CFRunLoopRemoveSource(CFRunLoopRef rl, CFRunLoopSourceRef source, CFRunLoopMode mode); void CFRunLoopRemoveObserver(CFRunLoopRef rl, CFRunLoopObserverRef observer, CFRunLoopMode mode); void CFRunLoopRun(void); void CFRunLoopWakeUp(CFRunLoopRef rl); void CFRunLoopStop(CFRunLoopRef rl); void CFRunLoopPerformBlock(CFRunLoopRef rl, CFTypeRef mode, void (*block)(void)); void CFRunLoopSourceInvalidate(CFRunLoopSourceRef source); void CFRunLoopSourceGetContext(CFRunLoopSourceRef source, CFRunLoopSourceContext *context); void CFRunLoopSourceSignal(CFRunLoopSourceRef source); void CFRunLoopTimerSetTolerance(CFRunLoopTimerRef timer, CFTimeInterval tolerance); void CFRunLoopTimerSetNextFireDate(CFRunLoopTimerRef timer, CFAbsoluteTime fireDate); void CFRunLoopTimerInvalidate(CFRunLoopTimerRef timer); void CFRunLoopTimerGetContext(CFRunLoopTimerRef timer, CFRunLoopTimerContext *context); void CFRunLoopObserverGetContext(CFRunLoopObserverRef observer, CFRunLoopObserverContext *context); void CFRunLoopObserverInvalidate(CFRunLoopObserverRef observer); void CFMachPortSetInvalidationCallBack(CFMachPortRef port, CFMachPortInvalidationCallBack callout); void CFMachPortInvalidate(CFMachPortRef port); void CFMessagePortInvalidate(CFMessagePortRef ms); void CFDictionaryApply(CFHashRef hc, void (*block)(const void *key, const void *value, Boolean *stop)); void _CFNonObjCRelease(CFTypeRef cf); void _CFRuntimeInitStaticInstance(void *memory, CFTypeID typeID); void _CFRuntimeBridgeClasses(CFTypeID cfType, const char *className); void _CFPreferencesSetValueWithContainer(CFStringRef key, CFPropertyListRef value, CFStringRef applicationID, CFStringRef userName, CFStringRef hostName, CFStringRef containerPath); Boolean CFEqual(CFTypeRef cf1, CFTypeRef cf2); Boolean CFBooleanGetValue(CFBooleanRef boolean); Boolean CFArrayContainsValue(CFArrayRef theArray, CFRange range, const void *value); Boolean CFPreferencesAppSynchronize(CFStringRef appID); Boolean CFPreferencesAppValueIsForced(CFStringRef key, CFStringRef applicationID); Boolean CFPreferencesGetAppBooleanValue(CFStringRef key, CFStringRef applicationID, Boolean *keyExistsAndHasValidFormat); Boolean CFPreferencesSynchronize(CFStringRef applicationID, CFStringRef userName, CFStringRef hostName); Boolean CFBurstTrieContainsUTF8String(CFBurstTrieRef trie, UInt8 *key, CFIndex length, uint32_t *payload); Boolean CFBurstTrieCursorGetPayload(CFBurstTrieCursorRef cursor, uint32_t *payload); Boolean CFBurstTrieCursorAdvanceForBytes(CFBurstTrieCursorRef cursor, const UInt8 *bytes, CFIndex length); Boolean CFBurstTrieSetCursorForBytes(CFBurstTrieRef trie, CFBurstTrieCursorRef cursor, const UInt8 *bytes, CFIndex length); Boolean CFCharacterSetHasMemberInPlane(CFCharacterSetRef theSet, CFIndex thePlane); Boolean CFCharacterSetIsCharacterMember(CFCharacterSetRef theSet, UniChar theChar); Boolean CFCharacterSetIsLongCharacterMember(CFCharacterSetRef theSet, UTF32Char theChar); Boolean CFCharacterSetIsSupersetOfSet(CFCharacterSetRef theSet, CFCharacterSetRef theOtherset); Boolean CFDictionaryContainsKey(CFDictionaryRef theDict, const void *key); Boolean CFDictionaryContainsValue(CFDictionaryRef theDict, const void *value); Boolean CFDictionaryGetValueIfPresent(CFDictionaryRef theDict, const void *key, const void **value); Boolean CFStringFindCharacterFromSet(CFStringRef theString, CFCharacterSetRef theSet, CFRange rangeToSearch, CFStringCompareFlags searchOptions, CFRange *result); Boolean CFStringFindWithOptions(CFStringRef theString, CFStringRef stringToFind, CFRange rangeToSearch, CFStringCompareFlags searchOptions, CFRange *result); Boolean CFStringFindWithOptionsAndLocale(CFStringRef theString, CFStringRef stringToFind, CFRange rangeToSearch, CFStringCompareFlags searchOptions, CFLocaleRef locale, CFRange *result); Boolean CFStringHasPrefix(CFStringRef theString, CFStringRef prefix); Boolean CFStringHasSuffix(CFStringRef theString, CFStringRef suffix); Boolean CFStringTransform(CFMutableStringRef string, CFRange *range, CFStringRef transform, Boolean reverse); Boolean CFStringGetCString(CFStringRef theString, char *buffer, CFIndex bufferSize, CFStringEncoding encoding); Boolean CFStringGetFileSystemRepresentation(CFStringRef string, char *buffer, CFIndex maxBufLen); Boolean CFNumberGetValue(CFNumberRef number, CFNumberType theType, void *valuePtr); Boolean CFNumberIsFloatType(CFNumberRef number); Boolean CFSetContainsValue(CFSetRef theSet, const void *value); Boolean CFSetGetValueIfPresent(CFSetRef theSet, const void *candidate, const void **value); Boolean CFReadStreamOpen(CFReadStreamRef stream); Boolean CFReadStreamHasBytesAvailable(CFReadStreamRef stream); Boolean CFReadStreamSetClient(CFReadStreamRef stream, CFOptionFlags streamEvents, CFReadStreamClientCallBack clientCB, CFStreamClientContext *clientContext); Boolean CFReadStreamSetProperty(CFReadStreamRef stream, CFStreamPropertyKey propertyName, CFTypeRef propertyValue); Boolean CFWriteStreamOpen(CFWriteStreamRef stream); Boolean CFWriteStreamCanAcceptBytes(CFWriteStreamRef stream); Boolean CFWriteStreamSetClient(CFWriteStreamRef stream, CFOptionFlags streamEvents, CFWriteStreamClientCallBack clientCB, CFStreamClientContext *clientContext); Boolean CFWriteStreamSetProperty(CFWriteStreamRef stream, CFStreamPropertyKey propertyName, CFTypeRef propertyValue); Boolean CFURLCanBeDecomposed(CFURLRef anURL); Boolean CFURLHasDirectoryPath(CFURLRef anURL); Boolean CFURLGetFileSystemRepresentation(CFURLRef url, Boolean resolveAgainstBase, UInt8 *buffer, CFIndex maxBufLen); Boolean CFURLCreateDataAndPropertiesFromResource(CFAllocatorRef alloc, CFURLRef url, CFDataRef *resourceData, CFDictionaryRef *properties, CFArrayRef desiredProperties, SInt32 *errorCode); Boolean CFURLWriteDataAndPropertiesToResource(CFURLRef url, CFDataRef dataToWrite, CFDictionaryRef propertiesToWrite, SInt32 *errorCode); Boolean CFURLResourceIsReachable(CFURLRef url, CFErrorRef *error); Boolean CFURLCopyResourcePropertyForKey(CFURLRef url, CFStringRef key, void *propertyValueTypeRefPtr, CFErrorRef *error); Boolean CFRunLoopObserverIsValid(CFRunLoopObserverRef observer); Boolean CFRunLoopIsWaiting(CFRunLoopRef rl); Boolean CFRunLoopContainsSource(CFRunLoopRef rl, CFRunLoopSourceRef source, CFRunLoopMode mode); Boolean CFRunLoopContainsObserver(CFRunLoopRef rl, CFRunLoopObserverRef observer, CFRunLoopMode mode); Boolean CFRunLoopContainsTimer(CFRunLoopRef rl, CFRunLoopTimerRef timer, CFRunLoopMode mode); Boolean CFRunLoopSourceIsValid(CFRunLoopSourceRef source); Boolean CFRunLoopTimerDoesRepeat(CFRunLoopTimerRef timer); Boolean CFRunLoopTimerIsValid(CFRunLoopTimerRef timer); Boolean CFLocaleGetLanguageRegionEncodingForLocaleIdentifier(CFStringRef locale, LangCode *, RegionCode *, ScriptCode *, CFStringEncoding *); Boolean CFMessagePortIsValid(CFMessagePortRef ms); Boolean _CFExecutableLinkedOnOrAfter(CFSystemVersion version); Boolean _CFDictionaryIsMutable(CFDictionaryRef dictionary); Boolean _CFIsDeallocating(CFTypeRef); Boolean _CFIsObjC(CFTypeID typeID, CFTypeRef obj); Boolean _CFNonObjCEqual(CFTypeRef cf1, CFTypeRef cf2); Boolean _CFPreferencesAppSynchronizeWithContainer(CFStringRef appID, CFStringRef containerPath); Boolean _CFPreferencesSynchronizeWithContainer(CFStringRef applicationID, CFStringRef userName, CFStringRef hostName, CFStringRef containerPath); CFTypeRef CFRetain(CFTypeRef cf); CFTypeRef CFAutorelease(CFTypeRef arg); CFTypeRef CFAttributedStringGetAttribute(CFAttributedStringRef aStr, CFIndex loc, CFStringRef attrName, CFRange *effectiveRange); CFTypeRef CFDictionaryGetValue(CFDictionaryRef theDict, const void *key); CFTypeRef CFMakeCollectable(CFTypeRef cf); CFTypeRef CFWriteStreamCopyProperty(CFWriteStreamRef stream, CFStreamPropertyKey propertyName); CFTypeRef CFReadStreamCopyProperty(CFReadStreamRef stream, CFStreamPropertyKey propertyName); CFTypeRef CFLocaleGetValue(CFLocaleRef locale, CFLocaleKey key); CFTypeRef CFURLCreatePropertyFromResource(CFAllocatorRef alloc, CFURLRef url, CFStringRef property, SInt32 *errorCode); CFTypeRef CFBundleGetValueForInfoDictionaryKey(CFBundleRef bundle, CFStringRef key); CFTypeRef _CFRuntimeCreateInstance(CFAllocatorRef allocator, CFTypeID typeID, CFIndex extraBytes, unsigned char *category); CFTypeRef _CFTryRetain(CFTypeRef); CFTypeRef _CFNonObjCRetain(CFTypeRef cf); CFTypeRef _CFXPCCreateCFObjectFromXPCObject(xpc_object_t xpcattrs); CFTypeRef _CFXPCCreateCFObjectFromXPCMessage(xpc_object_t message); CFTypeID CFGetTypeID(CFTypeRef cf); CFTypeID CFBooleanGetTypeID(void); CFTypeID CFDictionaryGetTypeID(void); CFTypeID CFArrayGetTypeID(void); CFTypeID CFCharacterSetGetTypeID(void); CFTypeID CFDataGetTypeID(void); CFTypeID CFStringGetTypeID(void); CFTypeID CFAttributedStringGetTypeID(void); CFTypeID CFNumberGetTypeID(void); CFTypeID CFSetGetTypeID(void); CFTypeID CFURLGetTypeID(void); CFTypeID CFNotificationCenterGetTypeID(void); CFTypeID CFAllocatorGetTypeID(void); CFTypeID CFNullGetTypeID(void); CFTypeID CFLocaleGetTypeID(void); CFTypeID CFErrorGetTypeID(void); CFTypeID CFBagGetTypeID(void); CFTypeID CFRunLoopGetTypeID(void); CFTypeID CFRunLoopSourceGetTypeID(void); CFTypeID CFRunLoopTimerGetTypeID(void); CFTypeID CFUUIDGetTypeID(void); CFTypeID _CFRuntimeRegisterClass(const CFRuntimeClass *const cls); CFTimeInterval CFRunLoopTimerGetTolerance(CFRunLoopTimerRef timer); CFTimeInterval CFRunLoopTimerGetInterval(CFRunLoopTimerRef timer); CFAbsoluteTime CFRunLoopGetNextTimerFireDate(CFRunLoopRef rl, CFRunLoopMode mode); CFAbsoluteTime CFDateGetAbsoluteTime(CFDateRef theDate); CFHashCode CFHash(CFTypeRef cf); CFHashCode CFHashBytes(uint8_t *bytes, CFIndex length); CFHashCode _CFNonObjCHash(CFTypeRef cf); CFRunLoopRef CFRunLoopGetCurrent(void); CFRunLoopRef CFRunLoopGetMain(void); CFRunLoopSourceRef CFMessagePortCreateRunLoopSource(CFAllocatorRef allocator, CFMessagePortRef local, CFIndex order); CFRunLoopSourceRef CFRunLoopSourceCreate(CFAllocatorRef allocator, CFIndex order, CFRunLoopSourceContext *context); CFRunLoopSourceRef CFUserNotificationCreateRunLoopSource(CFAllocatorRef allocator, CFUserNotificationRef userNotification, CFUserNotificationCallBack callout, CFIndex order); CFRunLoopSourceRef CFMachPortCreateRunLoopSource(CFAllocatorRef allocator, CFMachPortRef port, CFIndex order); CFRunLoopObserverRef CFRunLoopObserverCreate(CFAllocatorRef allocator, CFOptionFlags activities, Boolean repeats, CFIndex order, CFRunLoopObserverCallBack callout, CFRunLoopObserverContext *context); CFRunLoopObserverRef CFRunLoopObserverCreateWithHandler(CFAllocatorRef allocator, CFOptionFlags activities, Boolean repeats, CFIndex order, void (*block)(CFRunLoopObserverRef observer, CFRunLoopActivity activity)); CFRunLoopTimerRef CFRunLoopTimerCreate(CFAllocatorRef allocator, CFAbsoluteTime fireDate, CFTimeInterval interval, CFOptionFlags flags, CFIndex order, CFRunLoopTimerCallBack callout, CFRunLoopTimerContext *context); CFRunLoopTimerRef CFRunLoopTimerCreateWithHandler(CFAllocatorRef allocator, CFAbsoluteTime fireDate, CFTimeInterval interval, CFOptionFlags flags, CFIndex order, void (*block)(CFRunLoopTimerRef timer)); CFRunLoopMode CFRunLoopCopyCurrentMode(CFRunLoopRef rl); CFRunLoopRunResult CFRunLoopRunInMode(CFRunLoopMode mode, CFTimeInterval seconds, Boolean returnAfterSourceHandled); CFStringEncoding CFStringGetSystemEncoding(void); CFStringEncoding CFStringConvertNSStringEncodingToEncoding(unsigned long encoding); CFComparisonResult CFStringCompare(CFStringRef theString1, CFStringRef theString2, CFStringCompareFlags compareOptions); CFComparisonResult CFStringCompareWithOptions(CFStringRef theString1, CFStringRef theString2, CFRange rangeToCompare, CFStringCompareFlags compareOptions); CFComparisonResult CFNumberCompare(CFNumberRef number, CFNumberRef otherNumber, void *context); CFLocaleRef CFLocaleCreate(CFAllocatorRef allocator, CFLocaleIdentifier localeIdentifier); CFLocaleRef CFLocaleCreateCopy(CFAllocatorRef allocator, CFLocaleRef locale); CFLocaleRef CFLocaleCopyCurrent(void); CFLocaleRef CFLocaleGetSystem(void); CFLocaleIdentifier CFLocaleGetIdentifier(CFLocaleRef locale); CFLocaleIdentifier CFLocaleCreateCanonicalLanguageIdentifierFromString(CFAllocatorRef allocator, CFStringRef localeIdentifier); CFLocaleIdentifier CFLocaleCreateCanonicalLocaleIdentifierFromString(CFAllocatorRef allocator, CFStringRef localeIdentifier); CFLocaleIdentifier CFLocaleCreateLocaleIdentifierFromComponents(CFAllocatorRef allocator, CFDictionaryRef dictionary); CFLocaleIdentifier CFLocaleCreateLocaleIdentifierFromWindowsLocaleCode(CFAllocatorRef allocator, uint32_t lcid); CFUUIDRef CFUUIDCreate(CFAllocatorRef alloc); CFUUIDRef CFUUIDCreateFromString(CFAllocatorRef alloc, CFStringRef uuidStr); CFUUIDRef CFUUIDCreateFromUUIDBytes(CFAllocatorRef alloc, CFUUIDBytes bytes); CFUUIDRef CFUUIDCreateWithBytes(CFAllocatorRef alloc, UInt8 byte0, UInt8 byte1, UInt8 byte2, UInt8 byte3, UInt8 byte4, UInt8 byte5, UInt8 byte6, UInt8 byte7, UInt8 byte8, UInt8 byte9, UInt8 byte10, UInt8 byte11, UInt8 byte12, UInt8 byte13, UInt8 byte14, UInt8 byte15); CFUUIDRef CFUUIDGetConstantUUIDWithBytes(CFAllocatorRef alloc, UInt8 byte0, UInt8 byte1, UInt8 byte2, UInt8 byte3, UInt8 byte4, UInt8 byte5, UInt8 byte6, UInt8 byte7, UInt8 byte8, UInt8 byte9, UInt8 byte10, UInt8 byte11, UInt8 byte12, UInt8 byte13, UInt8 byte14, UInt8 byte15); CFUUIDBytes CFUUIDGetUUIDBytes(CFUUIDRef uuid); CFRange CFDataFind(CFDataRef theData, CFDataRef dataToFind, CFRange searchRange, CFDataSearchFlags compareOptions); CFRange CFStringFind(CFStringRef theString, CFStringRef stringToFind, CFStringCompareFlags compareOptions); CFRange CFStringGetRangeOfComposedCharactersAtIndex(CFStringRef theString, CFIndex theIndex); CFRange CFStringGetRangeOfCharacterClusterAtIndex(CFStringRef string, CFIndex charIndex, CFStringCharacterClusterType type); CFRange CFURLGetByteRangeForComponent(CFURLRef url, CFURLComponentType component, CFRange *rangeIncludingSeparators); CFRange CFStringTokenizerGetCurrentTokenRange(CFStringTokenizerRef tokenizer); CFAllocatorRef CFAllocatorGetDefault(void); CFAllocatorRef CFGetAllocator(CFTypeRef cf); CFAllocatorRef CFAllocatorCreate(CFAllocatorRef allocator, CFAllocatorContext *context); CFErrorRef CFErrorCreate(CFAllocatorRef allocator, CFErrorDomain domain, CFIndex code, CFDictionaryRef userInfo); CFErrorRef CFErrorCreateWithUserInfoKeysAndValues(CFAllocatorRef allocator, CFErrorDomain domain, CFIndex code, const void *const *userInfoKeys, const void *const *userInfoValues, CFIndex numUserInfoValues); CFErrorRef CFWriteStreamCopyError(CFWriteStreamRef stream); CFErrorRef CFReadStreamCopyError(CFReadStreamRef stream); CFErrorRef _CFBundleCreateError(CFAllocatorRef allocator, CFBundleRef bundle, CFIndex code); CFErrorRef _CFBundleCreateErrorDebug(CFAllocatorRef allocator, CFBundleRef bundle, CFIndex code, CFStringRef debugString); CFStreamStatus CFReadStreamGetStatus(CFReadStreamRef stream); CFStreamStatus CFWriteStreamGetStatus(CFWriteStreamRef stream); CFErrorDomain CFErrorGetDomain(CFErrorRef err); CFNumberRef CFNumberCreate(CFAllocatorRef allocator, CFNumberType theType, const void *valuePtr); CFNumberType CFNumberGetType(CFNumberRef number); CFURLRef CFURLCopyAbsoluteURL(CFURLRef relativeURL); CFURLRef CFURLCreateAbsoluteURLWithBytes(CFAllocatorRef alloc, const UInt8 *relativeURLBytes, CFIndex length, CFStringEncoding encoding, CFURLRef baseURL, Boolean useCompatibilityMode); CFURLRef CFURLCreateByResolvingBookmarkData(CFAllocatorRef allocator, CFDataRef bookmark, CFURLBookmarkResolutionOptions options, CFURLRef relativeToURL, CFArrayRef resourcePropertiesToInclude, Boolean *isStale, CFErrorRef *error); CFURLRef CFURLCreateCopyAppendingPathComponent(CFAllocatorRef allocator, CFURLRef url, CFStringRef pathComponent, Boolean isDirectory); CFURLRef CFURLCreateCopyAppendingPathExtension(CFAllocatorRef allocator, CFURLRef url, CFStringRef extension); CFURLRef CFURLCreateCopyDeletingLastPathComponent(CFAllocatorRef allocator, CFURLRef url); CFURLRef CFURLCreateCopyDeletingPathExtension(CFAllocatorRef allocator, CFURLRef url); CFURLRef CFURLCreateFilePathURL(CFAllocatorRef allocator, CFURLRef url, CFErrorRef *error); CFURLRef CFURLCreateFileReferenceURL(CFAllocatorRef allocator, CFURLRef url, CFErrorRef *error); CFURLRef CFURLCreateFromFileSystemRepresentation(CFAllocatorRef allocator, const UInt8 *buffer, CFIndex bufLen, Boolean isDirectory); CFURLRef CFURLCreateFromFileSystemRepresentationRelativeToBase(CFAllocatorRef allocator, const UInt8 *buffer, CFIndex bufLen, Boolean isDirectory, CFURLRef baseURL); CFURLRef CFURLCreateWithString(CFAllocatorRef allocator, CFStringRef URLString, CFURLRef baseURL); CFURLRef CFURLCreateWithFileSystemPath(CFAllocatorRef allocator, CFStringRef filePath, CFURLPathStyle pathStyle, Boolean isDirectory); CFURLRef CFURLCreateWithBytes(CFAllocatorRef allocator, const UInt8 *URLBytes, CFIndex length, CFStringEncoding encoding, CFURLRef baseURL); CFURLRef CFCopyHomeDirectoryURLForUser(CFStringRef uName); CFURLRef CFBundleCopyExecutableURL(CFBundleRef bundle); CFURLRef _CFBundleCopyInfoPlistURL(CFBundleRef bundle); CFDataRef CFDataCreate(CFAllocatorRef allocator, const UInt8 *bytes, CFIndex length); CFDataRef CFDataCreateCopy(CFAllocatorRef allocator, CFDataRef theData); CFDataRef CFDataCreateWithBytesNoCopy(CFAllocatorRef allocator, const UInt8 *bytes, CFIndex length, CFAllocatorRef bytesDeallocator); CFDataRef CFPropertyListCreateData(CFAllocatorRef allocator, CFPropertyListRef propertyList, CFPropertyListFormat format, CFOptionFlags options, CFErrorRef *error); CFDataRef CFCharacterSetCreateBitmapRepresentation(CFAllocatorRef alloc, CFCharacterSetRef theSet); CFDataRef CFStringCreateExternalRepresentation(CFAllocatorRef alloc, CFStringRef theString, CFStringEncoding encoding, UInt8 lossByte); CFDataRef CFURLCreateData(CFAllocatorRef allocator, CFURLRef url, CFStringEncoding encoding, Boolean escapeWhitespace); CFMutableDataRef CFDataCreateMutable(CFAllocatorRef allocator, CFIndex capacity); CFMutableDataRef CFDataCreateMutableCopy(CFAllocatorRef allocator, CFIndex capacity, CFDataRef theData); CFMutableCharacterSetRef CFCharacterSetCreateMutable(CFAllocatorRef alloc); CFMutableCharacterSetRef CFCharacterSetCreateMutableCopy(CFAllocatorRef alloc, CFCharacterSetRef theSet); CFCharacterSetRef CFCharacterSetCreateCopy(CFAllocatorRef alloc, CFCharacterSetRef theSet); CFCharacterSetRef CFCharacterSetCreateInvertedSet(CFAllocatorRef alloc, CFCharacterSetRef theSet); CFCharacterSetRef CFCharacterSetCreateWithCharactersInRange(CFAllocatorRef alloc, CFRange theRange); CFCharacterSetRef CFCharacterSetCreateWithCharactersInString(CFAllocatorRef alloc, CFStringRef theString); CFCharacterSetRef CFCharacterSetCreateWithBitmapRepresentation(CFAllocatorRef alloc, CFDataRef theData); CFCharacterSetRef CFCharacterSetGetPredefined(CFCharacterSetPredefinedSet theSetIdentifier); CFMutableSetRef CFSetCreateMutable(CFAllocatorRef allocator, CFIndex capacity, const CFSetCallBacks *callBacks); CFMutableSetRef CFSetCreateMutableCopy(CFAllocatorRef allocator, CFIndex capacity, CFSetRef theSet); CFSetRef CFSetCreate(CFAllocatorRef allocator, const void **values, CFIndex numValues, const CFSetCallBacks *callBacks); CFSetRef CFSetCreateCopy(CFAllocatorRef allocator, CFSetRef theSet); CFAbsoluteTime CFAbsoluteTimeGetCurrent(void); CFNotificationCenterRef CFNotificationCenterGetDarwinNotifyCenter(void); CFNotificationCenterRef CFNotificationCenterGetDistributedCenter(void); CFNotificationCenterRef CFNotificationCenterGetLocalCenter(void); CFUserNotificationRef CFUserNotificationCreate(CFAllocatorRef allocator, CFTimeInterval timeout, CFOptionFlags flags, SInt32 *error, CFDictionaryRef dictionary); CFPropertyListRef CFPreferencesCopyValue(CFStringRef key, CFStringRef applicationID, CFStringRef userName, CFStringRef hostName); CFPropertyListRef CFPreferencesCopyAppValue(CFStringRef key, CFStringRef applicationID); CFPropertyListRef CFPropertyListCreateDeepCopy(CFAllocatorRef allocator, CFPropertyListRef propertyList, CFOptionFlags mutabilityOption); CFPropertyListRef CFPropertyListCreateWithData(CFAllocatorRef allocator, CFDataRef data, CFOptionFlags options, CFPropertyListFormat *format, CFErrorRef *error); CFPropertyListRef CFPropertyListCreateWithStream(CFAllocatorRef allocator, CFReadStreamRef stream, CFIndex streamLength, CFOptionFlags options, CFPropertyListFormat *format, CFErrorRef *error); CFPropertyListRef CFPropertyListCreateFromStream(CFAllocatorRef allocator, CFReadStreamRef stream, CFIndex streamLength, CFOptionFlags mutabilityOption, CFPropertyListFormat *format, CFStringRef *errorString); CFPropertyListRef CFPropertyListCreateFromXMLData(CFAllocatorRef allocator, CFDataRef xmlData, CFOptionFlags mutabilityOption, CFStringRef *errorString); CFPropertyListRef _CFPreferencesCopyValueWithContainer(CFStringRef key, CFStringRef applicationID, CFStringRef userName, CFStringRef hostName, CFStringRef containerPath); CFReadStreamRef CFReadStreamCreateWithFile(CFAllocatorRef alloc, CFURLRef fileURL); CFReadStreamRef CFReadStreamCreateWithFTPURL(CFAllocatorRef alloc, CFURLRef ftpURL); CFReadStreamRef CFReadStreamCreateWithBytesNoCopy(CFAllocatorRef alloc, const UInt8 *bytes, CFIndex length, CFAllocatorRef bytesDeallocator); CFReadStreamRef CFReadStreamCreateForHTTPRequest(CFAllocatorRef alloc, CFHTTPMessageRef request); CFWriteStreamRef CFWriteStreamCreateWithFile(CFAllocatorRef alloc, CFURLRef fileURL); CFWriteStreamRef CFWriteStreamCreateWithFTPURL(CFAllocatorRef alloc, CFURLRef ftpURL); CFWriteStreamRef CFWriteStreamCreateWithBuffer(CFAllocatorRef alloc, UInt8 *buffer, CFIndex bufferCapacity); CFWriteStreamRef CFWriteStreamCreateWithAllocatedBuffers(CFAllocatorRef alloc, CFAllocatorRef bufferAllocator); CFDictionaryRef CFBundleGetInfoDictionary(CFBundleRef bundle); CFDictionaryRef CFBundleCopyInfoDictionaryForURL(CFURLRef url); CFDictionaryRef CFDictionaryCreate(CFAllocatorRef allocator, const void **keys, const void **values, CFIndex numValues, const CFDictionaryKeyCallBacks *keyCallBacks, const CFDictionaryValueCallBacks *valueCallBacks); CFDictionaryRef CFDictionaryCreateCopy(CFAllocatorRef allocator, CFDictionaryRef theDict); CFDictionaryRef CFPreferencesCopyMultiple(CFArrayRef keysToFetch, CFStringRef applicationID, CFStringRef userName, CFStringRef hostName); CFDictionaryRef CFLocaleCreateComponentsFromLocaleIdentifier(CFAllocatorRef allocator, CFLocaleIdentifier localeID); CFDictionaryRef CFUserNotificationGetResponseDictionary(CFUserNotificationRef userNotification); CFDictionaryRef CFErrorCopyUserInfo(CFErrorRef err); CFDictionaryRef CFAttributedStringGetAttributes(CFAttributedStringRef aStr, CFIndex loc, CFRange *effectiveRange); CFDictionaryRef _CFPreferencesCopyMultipleWithContainer(CFArrayRef keysToFetch, CFStringRef applicationID, CFStringRef userName, CFStringRef hostName, CFStringRef containerPath); CFDictionaryRef _CFCopySystemVersionDictionary(void); CFMutableDictionaryRef CFDictionaryCreateMutable(CFAllocatorRef allocator, CFIndex capacity, const CFDictionaryKeyCallBacks *keyCallBacks, const CFDictionaryValueCallBacks *valueCallBacks); CFMutableDictionaryRef CFDictionaryCreateMutableCopy(CFAllocatorRef allocator, CFIndex capacity, CFDictionaryRef theDict); CFMutableArrayRef CFArrayCreateMutable(CFAllocatorRef allocator, CFIndex capacity, const CFArrayCallBacks *callBacks); CFMutableArrayRef CFArrayCreateMutableCopy(CFAllocatorRef allocator, CFIndex capacity, CFArrayRef theArray); CFArrayRef CFArrayCreate(CFAllocatorRef allocator, const void **values, CFIndex numValues, const CFArrayCallBacks *callBacks); CFArrayRef CFArrayCreateCopy(CFAllocatorRef allocator, CFArrayRef theArray); CFArrayRef CFStringCreateArrayBySeparatingStrings(CFAllocatorRef alloc, CFStringRef theString, CFStringRef separatorString); CFArrayRef CFStringCreateArrayWithFindResults(CFAllocatorRef alloc, CFStringRef theString, CFStringRef stringToFind, CFRange rangeToSearch, CFStringCompareFlags compareOptions); CFArrayRef CFPreferencesCopyKeyList(CFStringRef applicationID, CFStringRef userName, CFStringRef hostName); CFArrayRef CFBundleCreateBundlesFromDirectory(CFAllocatorRef allocator, CFURLRef directoryURL, CFStringRef bundleType); CFArrayRef CFBundleGetAllBundles(void); CFArrayRef CFBundleCopyResourceURLsOfType(CFBundleRef bundle, CFStringRef resourceType, CFStringRef subDirName); CFArrayRef CFBundleCopyResourceURLsOfTypeInDirectory(CFURLRef bundleURL, CFStringRef resourceType, CFStringRef subDirName); CFArrayRef CFBundleCopyResourceURLsOfTypeForLocalization(CFBundleRef bundle, CFStringRef resourceType, CFStringRef subDirName, CFStringRef localizationName); CFArrayRef CFBundleCopyLocalizationsForPreferences(CFArrayRef locArray, CFArrayRef prefArray); CFArrayRef CFBundleCopyBundleLocalizations(CFBundleRef bundle); CFArrayRef CFRunLoopCopyAllModes(CFRunLoopRef rl); CFArrayRef CFLocaleCopyPreferredLanguages(void); CFArrayRef CFLocaleCopyAvailableLocaleIdentifiers(void); CFArrayRef CFLocaleCopyISOLanguageCodes(void); CFArrayRef CFCopySearchPathForDirectoriesInDomains(CFSearchPathDirectory directory, CFSearchPathDomainMask domainMask, Boolean expandTilde); CFStringTokenizerRef CFStringTokenizerCreate(CFAllocatorRef alloc, CFStringRef string, CFRange range, CFOptionFlags options, CFLocaleRef locale); CFMutableStringRef CFStringCreateMutable(CFAllocatorRef alloc, CFIndex maxLength); CFMutableStringRef CFStringCreateMutableCopy(CFAllocatorRef alloc, CFIndex maxLength, CFStringRef theString); CFMutableStringRef CFStringCreateMutableWithExternalCharactersNoCopy(CFAllocatorRef alloc, UniChar *chars, CFIndex numChars, CFIndex capacity, CFAllocatorRef externalCharactersAllocator); CFStringRef CFCopySystemVersionString(void); CFStringRef CFCopyDescription(CFTypeRef cf); CFStringRef CFCopyTypeIDDescription(CFTypeID type_id); CFStringRef CFCopyUserName(void); CFStringRef CFErrorCopyDescription(CFErrorRef err); CFStringRef CFErrorCopyFailureReason(CFErrorRef err); CFStringRef CFAttributedStringGetString(CFAttributedStringRef aStr); CFStringRef CFStringCreateCopy(CFAllocatorRef alloc, CFStringRef theString); CFStringRef CFStringCreateByCombiningStrings(CFAllocatorRef alloc, CFArrayRef theArray, CFStringRef separatorString); CFStringRef CFStringCreateFromExternalRepresentation(CFAllocatorRef alloc, CFDataRef data, CFStringEncoding encoding); CFStringRef CFStringCreateWithPascalString(CFAllocatorRef alloc, ConstStr255Param pStr, CFStringEncoding encoding); CFStringRef CFStringCreateWithBytes(CFAllocatorRef alloc, const UInt8 *bytes, CFIndex numBytes, CFStringEncoding encoding, Boolean isExternalRepresentation); CFStringRef CFStringCreateWithBytesNoCopy(CFAllocatorRef alloc, const UInt8 *bytes, CFIndex numBytes, CFStringEncoding encoding, Boolean isExternalRepresentation, CFAllocatorRef contentsDeallocator); CFStringRef CFStringCreateWithCharacters(CFAllocatorRef alloc, const UniChar *chars, CFIndex numChars); CFStringRef CFStringCreateWithCharactersNoCopy(CFAllocatorRef alloc, const UniChar *chars, CFIndex numChars, CFAllocatorRef contentsDeallocator); CFStringRef CFStringCreateWithFormat(CFAllocatorRef alloc, CFDictionaryRef formatOptions, CFStringRef format, ...); CFStringRef CFStringCreateWithFormatAndArguments(CFAllocatorRef alloc, CFDictionaryRef formatOptions, CFStringRef format, va_list arguments); CFStringRef CFStringCreateWithCString(CFAllocatorRef alloc, const char *cStr, CFStringEncoding encoding); CFStringRef CFStringCreateWithCStringNoCopy(CFAllocatorRef alloc, const char *cStr, CFStringEncoding encoding, CFAllocatorRef contentsDeallocator); CFStringRef CFStringCreateWithSubstring(CFAllocatorRef alloc, CFStringRef str, CFRange range); CFStringRef CFStringCreateWithFileSystemRepresentation(CFAllocatorRef alloc, const char *buffer); CFStringRef CFStringTokenizerCopyBestStringLanguage(CFStringRef string, CFRange range); CFStringRef CFBundleGetIdentifier(CFBundleRef bundle); CFStringRef CFBundleCopyLocalizedString(CFBundleRef bundle, CFStringRef key, CFStringRef value, CFStringRef tableName); CFStringRef CFBundleCopyLocalizedStringForLocalization(CFBundleRef bundle, CFStringRef key, CFStringRef value, CFStringRef tableName, CFStringRef localizationName); CFStringRef CFUUIDCreateString(CFAllocatorRef alloc, CFUUIDRef uuid); CFStringRef CFURLCopyFileSystemPath(CFURLRef anURL, CFURLPathStyle pathStyle); CFStringRef CFURLCopyFragment(CFURLRef anURL, CFStringRef charactersToLeaveEscaped); CFStringRef CFURLCopyHostName(CFURLRef anURL); CFStringRef CFURLCopyLastPathComponent(CFURLRef url); CFStringRef CFURLCopyNetLocation(CFURLRef anURL); CFStringRef CFURLCopyParameterString(CFURLRef anURL, CFStringRef charactersToLeaveEscaped); CFStringRef CFURLCopyPassword(CFURLRef anURL); CFStringRef CFURLCopyPath(CFURLRef anURL); CFStringRef CFURLCopyPathExtension(CFURLRef url); CFStringRef CFURLCopyQueryString(CFURLRef anURL, CFStringRef charactersToLeaveEscaped); CFStringRef CFURLCopyResourceSpecifier(CFURLRef anURL); CFStringRef CFURLCopyScheme(CFURLRef anURL); CFStringRef CFURLCopyUserName(CFURLRef anURL); CFStringRef CFURLCreateStringByReplacingPercentEscapes(CFAllocatorRef allocator, CFStringRef originalString, CFStringRef charactersToLeaveEscaped); CFStringRef CFURLCreateStringByReplacingPercentEscapesUsingEncoding(CFAllocatorRef allocator, CFStringRef origString, CFStringRef charsToLeaveEscaped, CFStringEncoding encoding); CFStringRef CFURLCreateStringByAddingPercentEscapes(CFAllocatorRef allocator, CFStringRef originalString, CFStringRef charactersToLeaveUnescaped, CFStringRef legalURLCharactersToBeEscaped, CFStringEncoding encoding); CFStringRef CFURLGetString(CFURLRef anURL); CFStringRef CFLocaleCopyDisplayNameForPropertyValue(CFLocaleRef displayLocale, CFLocaleKey key, CFStringRef value); CFStringRef CFUserNotificationGetResponseValue(CFUserNotificationRef userNotification, CFStringRef key, CFIndex idx); CFStringRef _CFGetProductName(void); CFStringTokenizerTokenType CFStringTokenizerAdvanceToNextToken(CFStringTokenizerRef tokenizer); CFStringTokenizerTokenType CFStringTokenizerGoToTokenAtIndex(CFStringTokenizerRef tokenizer, CFIndex index); CFAttributedStringRef CFAttributedStringCreate(CFAllocatorRef alloc, CFStringRef str, CFDictionaryRef attributes); CFAttributedStringRef CFAttributedStringCreateCopy(CFAllocatorRef alloc, CFAttributedStringRef aStr); CFAttributedStringRef CFAttributedStringCreateWithSubstring(CFAllocatorRef alloc, CFAttributedStringRef aStr, CFRange range); CFMutableAttributedStringRef CFAttributedStringCreateMutableCopy(CFAllocatorRef alloc, CFIndex maxLength, CFAttributedStringRef aStr); CFBurstTrieRef CFBurstTrieCreateFromMapBytes(char *mapBase); CFBurstTrieCursorRef CFBurstTrieCursorCreateByCopy(CFBurstTrieCursorRef cursor); CFBurstTrieCursorRef CFBurstTrieCreateCursorForBytes(CFBurstTrieRef trie, const UInt8 *bytes, CFIndex length); CFBundleRef CFBundleCreate(CFAllocatorRef allocator, CFURLRef bundleURL); CFBundleRef CFBundleGetBundleWithIdentifier(CFStringRef bundleID); CFBundleRef CFBundleGetMainBundle(void); CFBundleRef _CFBundleCreateUnique(CFAllocatorRef allocator, CFURLRef bundleURL); CFBundleRef _CFBundleCreateIfMightBeBundle(CFAllocatorRef allocator, CFURLRef url); CFBundleRef _CFBundleCreateWithExecutableURLIfMightBeBundle(CFAllocatorRef allocator, CFURLRef url); CFBundleRef _CFBundleGetMainBundleIfLooksLikeBundle(void); CFURLRef CFBundleCopyBundleURL(CFBundleRef bundle); CFURLRef CFBundleCopyResourcesDirectoryURL(CFBundleRef bundle); CFURLRef CFBundleCopyResourceURL(CFBundleRef bundle, CFStringRef resourceName, CFStringRef resourceType, CFStringRef subDirName); CFURLRef CFBundleCopyResourceURLInDirectory(CFURLRef bundleURL, CFStringRef resourceName, CFStringRef resourceType, CFStringRef subDirName); CFURLRef CFBundleCopyResourceURLForLocalization(CFBundleRef bundle, CFStringRef resourceName, CFStringRef resourceType, CFStringRef subDirName, CFStringRef localizationName); CFURLRef CFURLGetBaseURL(CFURLRef anURL); CFMessagePortRef CFMessagePortCreateLocal(CFAllocatorRef allocator, CFStringRef name, CFMessagePortCallBack callout, CFMessagePortContext *context, Boolean *shouldFreeInfo); CFMessagePortRef CFMessagePortCreateRemote(CFAllocatorRef allocator, CFStringRef name); CFMachPortRef CFMachPortCreate(CFAllocatorRef allocator, CFMachPortCallBack callout, CFMachPortContext *context, Boolean *shouldFreeInfo); CFMachPortRef CFMachPortCreateWithPort(CFAllocatorRef allocator, mach_port_t portNum, CFMachPortCallBack callout, CFMachPortContext *context, Boolean *shouldFreeInfo); CFIndex CFGetRetainCount(CFTypeRef cf); CFIndex CFAttributedStringGetLength(CFAttributedStringRef aStr); CFIndex CFArrayGetFirstIndexOfValue(CFArrayRef theArray, CFRange range, const void *value); CFIndex CFArrayGetLastIndexOfValue(CFArrayRef theArray, CFRange range, const void *value); CFIndex CFArrayGetCountOfValue(CFArrayRef theArray, CFRange range, const void *value); CFIndex CFArrayGetCount(CFArrayRef theArray); CFIndex CFArrayBSearchValues(CFArrayRef theArray, CFRange range, const void *value, CFComparatorFunction comparator, void *context); CFIndex CFPreferencesGetAppIntegerValue(CFStringRef key, CFStringRef applicationID, Boolean *keyExistsAndHasValidFormat); CFIndex CFDataGetLength(CFDataRef theData); CFIndex CFDictionaryGetCount(CFDictionaryRef theDict); CFIndex CFDictionaryGetCountOfKey(CFDictionaryRef theDict, const void *key); CFIndex CFDictionaryGetCountOfValue(CFDictionaryRef theDict, const void *value); CFIndex CFStringFindAndReplace(CFMutableStringRef theString, CFStringRef stringToFind, CFStringRef replacementString, CFRange rangeToSearch, CFStringCompareFlags compareOptions); CFIndex CFStringGetLength(CFStringRef theString); CFIndex CFStringGetBytes(CFStringRef theString, CFRange range, CFStringEncoding encoding, UInt8 lossByte, Boolean isExternalRepresentation, UInt8 *buffer, CFIndex maxBufLen, CFIndex *usedBufLen); CFIndex CFStringGetMaximumSizeForEncoding(CFIndex length, CFStringEncoding encoding); CFIndex CFStringGetMaximumSizeOfFileSystemRepresentation(CFStringRef string); CFIndex CFNumberGetByteSize(CFNumberRef number); CFIndex CFSetGetCount(CFSetRef theSet); CFIndex CFReadStreamRead(CFReadStreamRef stream, UInt8 *buffer, CFIndex bufferLength); CFIndex CFWriteStreamWrite(CFWriteStreamRef stream, const UInt8 *buffer, CFIndex bufferLength); CFIndex CFErrorGetCode(CFErrorRef err); CFIndex CFAllocatorGetPreferredSizeForSize(CFAllocatorRef allocator, CFIndex size, CFOptionFlags hint); CFIndex CFPropertyListWrite(CFPropertyListRef propertyList, CFWriteStreamRef stream, CFPropertyListFormat format, CFOptionFlags options, CFErrorRef *error); CFIndex CFPropertyListWriteToStream(CFPropertyListRef propertyList, CFWriteStreamRef stream, CFPropertyListFormat format, CFStringRef *errorString); CFIndex CFURLGetBytes(CFURLRef url, UInt8 *buffer, CFIndex bufferLength); CFIndex CFRunLoopSourceGetOrder(CFRunLoopSourceRef source); CFIndex CFRunLoopTimerGetOrder(CFRunLoopTimerRef timer); ================================================ FILE: CoreFoundation/Types.h ================================================ #ifndef COREFOUNDATION_H_ #define COREFOUNDATION_H_ #import "../BaseTypes.h" #ifdef __EA64__ struct __CFString { void *isa; int64 info; char *data; int64 length; }; #else struct __CFString { void *isa; int32 info; char *data; int32 length; }; #endif typedef struct __CFError *CFErrorRef; typedef const struct __CFAllocator *CFAllocatorRef; typedef struct __CFArray *CFArrayRef; typedef struct __CFArray *CFMutableArrayRef; typedef const __CFString *CFStringRef; typedef const __CFString *CFMutableStringRef; typedef const struct __CFDictionary *CFDictionaryRef; typedef struct __CFDictionary *CFMutableDictionaryRef; typedef struct _CFBurstTrie *CFBurstTrieRef; typedef struct _CFBurstTrieCursor *CFBurstTrieCursorRef; typedef struct __CFBundle *CFBundleRef; typedef struct __CFLocale *CFLocaleRef; typedef struct __CFBoolean *CFBooleanRef; typedef struct __CFNumber *CFNumberRef; typedef struct __CFDate *CFDateRef; typedef struct __CFData *CFDataRef; typedef struct __CFData *CFMutableDataRef; typedef struct __CFURL *CFURLRef; typedef struct __CFRunLoop *CFRunLoopRef; typedef struct __CFRunLoopSource *CFRunLoopSourceRef; typedef struct __CFRunLoopObserver *CFRunLoopObserverRef; typedef struct __CFRunLoopTimer *CFRunLoopTimerRef; typedef struct __CFAttributedString *CFAttributedStringRef; typedef struct __CFMutableAttributedString *CFMutableAttributedStringRef; typedef struct __CFNotificationCenter *CFNotificationCenterRef; typedef struct __CFUserNotification *CFUserNotificationRef; typedef struct __CFCharacterSet *CFCharacterSetRef; typedef struct __CFCharacterSet *CFMutableCharacterSetRef; typedef struct __CFSet *CFSetRef; typedef struct __CFSet *CFMutableSetRef; typedef struct __CFReadStream *CFReadStreamRef; typedef struct __CFWriteStream *CFWriteStreamRef; typedef struct __CFUUID *CFUUIDRef; typedef const struct __CFBag *CFBagRef; typedef struct __CFBag *CFMutableBagRef; typedef struct __CFStringTokenizer *CFStringTokenizerRef; typedef struct __CFMachPort *CFMachPortRef; typedef struct __CFMessagePort *CFMessagePortRef; typedef struct __CFMessagePortContext CFMessagePortContext; typedef struct __CFHTTPMessage *CFHTTPMessageRef; typedef struct __CFBitVector *CFBitVectorRef; typedef const void *CFTypeRef; typedef const unsigned char *ConstStr255Param; typedef CFTypeRef CFPropertyListRef; typedef int CFBundleRefNum; #ifdef __EA64__ typedef long CFIndex; #else typedef int32 CFIndex; #endif typedef unsigned long CFTypeID; typedef unsigned long CFOptionFlags; typedef unsigned long CFHashCode; typedef SInt16 LangCode; typedef SInt16 RegionCode; typedef SInt16 ScriptCode; typedef double CFTimeInterval; typedef CFOptionFlags CFURLBookmarkResolutionOptions; typedef CFIndex CFSystemVersion; PS_ENUM(CFOptionFlags, CFDataSearchFlags) { kCFDataSearchBackwards = 1UL << 0, kCFDataSearchAnchored = 1UL << 1 }; PS_ENUM(CFOptionFlags, CFBurstTrieOpts) { kCFBurstTrieReadOnly = 1<<1, kCFBurstTrieBitmapCompression = 1<<2, kCFBurstTriePrefixCompression = 1<<3, kCFBurstTrieSortByKey = 1 << 4 }; PS_ENUM(CFIndex, CFNotificationSuspensionBehavior) { CFNotificationSuspensionBehaviorDrop = 1, CFNotificationSuspensionBehaviorCoalesce = 2, CFNotificationSuspensionBehaviorHold = 3, CFNotificationSuspensionBehaviorDeliverImmediately = 4 }; PS_ENUM(CFIndex, CFStreamStatus) { kCFStreamStatusNotOpen = 0, kCFStreamStatusOpening, kCFStreamStatusOpen, kCFStreamStatusReading, kCFStreamStatusWriting, kCFStreamStatusAtEnd, kCFStreamStatusClosed, kCFStreamStatusError }; PS_ENUM(CFIndex, CFStringNormalizationForm) { kCFStringNormalizationFormD = 0, kCFStringNormalizationFormKD, kCFStringNormalizationFormC, kCFStringNormalizationFormKC }; PS_ENUM(CFIndex, CFStringCharacterClusterType) { kCFStringComposedCharacterCluster = 2, kCFStringCursorMovementCluster = 3, kCFStringBackwardDeletionCluster = 4 }; PS_ENUM(CFIndex, CFURLComponentType) { kCFURLComponentScheme = 1, kCFURLComponentNetLocation = 2, kCFURLComponentPath = 3, kCFURLComponentResourceSpecifier = 4, kCFURLComponentUser = 5, kCFURLComponentPassword = 6, kCFURLComponentUserInfo = 7, kCFURLComponentHost = 8, kCFURLComponentPort = 9, kCFURLComponentParameterString = 10, kCFURLComponentQuery = 11, kCFURLComponentFragment = 12 }; PS_ENUM(CFIndex, CFURLPathStyle) { kCFURLPOSIXPathStyle = 0, kCFURLHFSPathStyle, kCFURLWindowsPathStyle }; PS_ENUM(SInt32, CFRunLoopRunResult) { kCFRunLoopRunFinished = 1, kCFRunLoopRunStopped = 2, kCFRunLoopRunTimedOut = 3, kCFRunLoopRunHandledSource = 4 }; PS_ENUM(CFIndex, CFComparisonResult) { kCFCompareLessThan = -1, kCFCompareEqualTo = 0, kCFCompareGreaterThan = 1 }; PS_ENUM(CFIndex, CFSearchPathDirectory) { kCFApplicationDirectory = 1, kCFDemoApplicationDirectory, kCFDeveloperApplicationDirectory, kCFAdminApplicationDirectory, kCFLibraryDirectory, kCFDeveloperDirectory, kCFUserDirectory, kCFDocumentationDirectory, kCFDocumentDirectory, kCFAllApplicationsDirectory = 100, kCFAllLibrariesDirectory = 101 }; PS_ENUM(CFIndex, CFPropertyListFormat) { kCFPropertyListOpenStepFormat = 1, kCFPropertyListXMLFormat_v1_0 = 100, kCFPropertyListBinaryFormat_v1_0 = 200 }; PS_ENUM(CFOptionFlags, CFSearchPathDomainMask) { kCFUserDomainMask = 1, kCFLocalDomainMask = 2, kCFNetworkDomainMask = 4, kCFSystemDomainMask = 8, kCFAllDomainsMask = 0x0ffff }; PS_ENUM(CFOptionFlags, CFRunLoopActivity) { kCFRunLoopEntry = (1UL << 0), kCFRunLoopBeforeTimers = (1UL << 1), kCFRunLoopBeforeSources = (1UL << 2), kCFRunLoopBeforeWaiting = (1UL << 5), kCFRunLoopAfterWaiting = (1UL << 6), kCFRunLoopExit = (1UL << 7), kCFRunLoopAllActivities = 0x0FFFFFFFU }; typedef CFStringRef CFNotificationName; typedef CFStringRef CFErrorDomain; typedef CFStringRef CFRunLoopMode; typedef CFStringRef CFStreamPropertyKey; typedef CFStringRef CFLocaleKey; typedef CFStringRef CFLocaleIdentifier; typedef CFComparisonResult (*CFComparatorFunction)(const void *val1, const void *val2, void *context); typedef const void *(*CFArrayRetainCallBack)(CFAllocatorRef allocator, const void *value); typedef void (*CFArrayApplierFunction)(const void *value, void *context); typedef void (*CFArrayReleaseCallBack)(CFAllocatorRef allocator, const void *value); typedef void (*CFNotificationCallback)(CFNotificationCenterRef center, void *observer, CFNotificationName name, const void *object, CFDictionaryRef userInfo); typedef CFStringRef (*CFArrayCopyDescriptionCallBack)(const void *value); typedef CFTimeInterval CFAbsoluteTime; typedef Boolean (*CFArrayEqualCallBack)(const void *value1, const void *value2); typedef struct CFArrayCallBacks { CFIndex version; CFArrayRetainCallBack retain; CFArrayReleaseCallBack release; CFArrayCopyDescriptionCallBack copyDescription; CFArrayEqualCallBack equal; } CFArrayCallBacks; typedef const void *(*CFDictionaryRetainCallBack)(CFAllocatorRef allocator, const void *value); typedef void (*CFDictionaryApplierFunction)(const void *key, const void *value, void *context); typedef void (*CFDictionaryReleaseCallBack)(CFAllocatorRef allocator, const void *value); typedef CFStringRef (*CFDictionaryCopyDescriptionCallBack)(const void *value); typedef Boolean (*CFDictionaryEqualCallBack)(const void *value1, const void *value2); typedef CFHashCode (*CFDictionaryHashCallBack)(const void *value); typedef struct CFDictionaryKeyCallBacks { CFIndex version; CFDictionaryRetainCallBack retain; CFDictionaryReleaseCallBack release; CFDictionaryCopyDescriptionCallBack copyDescription; CFDictionaryEqualCallBack equal; CFDictionaryHashCallBack hash; } CFDictionaryKeyCallBacks; extern const CFDictionaryKeyCallBacks kCFTypeDictionaryKeyCallBacks; extern const CFDictionaryKeyCallBacks kCFCopyStringDictionaryKeyCallBacks; typedef struct CFDictionaryValueCallBacks { CFIndex version; CFDictionaryRetainCallBack retain; CFDictionaryReleaseCallBack release; CFDictionaryCopyDescriptionCallBack copyDescription; CFDictionaryEqualCallBack equal; } CFDictionaryValueCallBacks; extern const CFDictionaryValueCallBacks kCFTypeDictionaryValueCallBacks; typedef CFDataRef (*CFMessagePortCallBack)(CFMessagePortRef local, SInt32 msgid, CFDataRef data, void *info); typedef const void *(*CFSetRetainCallBack)(CFAllocatorRef allocator, const void *value); typedef void (*CFSetReleaseCallBack)(CFAllocatorRef allocator, const void *value); typedef void (*CFSetApplierFunction)(const void *value, void *context); typedef CFStringRef (*CFSetCopyDescriptionCallBack)(const void *value); typedef Boolean (*CFSetEqualCallBack)(const void *value1, const void *value2); typedef CFHashCode (*CFSetHashCallBack)(const void *value); typedef void *(*CFAllocatorAllocateCallBack)(CFIndex allocSize, CFOptionFlags hint, void *info); typedef void (*CFAllocatorDeallocateCallBack)(void *ptr, void *info); typedef void *(*CFAllocatorReallocateCallBack)(void *ptr, CFIndex newsize, CFOptionFlags hint, void *info); typedef CFIndex (*CFAllocatorPreferredSizeCallBack)(CFIndex size, CFOptionFlags hint, void *info); typedef const void *(*CFAllocatorRetainCallBack)(const void *info); typedef void (*CFAllocatorReleaseCallBack)(const void *info); typedef CFStringRef (*CFAllocatorCopyDescriptionCallBack)(const void *info); typedef struct CFAllocatorContext { CFIndex version; void *info; CFAllocatorRetainCallBack retain; CFAllocatorReleaseCallBack release; CFAllocatorCopyDescriptionCallBack copyDescription; CFAllocatorAllocateCallBack allocate; CFAllocatorReallocateCallBack reallocate; CFAllocatorDeallocateCallBack deallocate; CFAllocatorPreferredSizeCallBack preferredSize; } CFAllocatorContext; typedef struct CFSetCallBacks { CFIndex version; CFSetRetainCallBack retain; CFSetReleaseCallBack release; CFSetCopyDescriptionCallBack copyDescription; CFSetEqualCallBack equal; CFSetHashCallBack hash; } CFSetCallBacks; typedef struct CFRange { CFIndex location; CFIndex length; } CFRange; typedef struct CFCharacterSetInlineBuffer { CFCharacterSetRef cset; uint32_t flags; uint32_t rangeStart; uint32_t rangeLimit; const uint8_t *bitmap; } CFCharacterSetInlineBuffer; typedef struct CFStringInlineBuffer { UniChar buffer[64]; CFStringRef theString; const UniChar *directBuffer; CFRange rangeToBuffer; CFIndex bufferedRangeStart; CFIndex bufferedRangeEnd; } CFStringInlineBuffer; PS_ENUM(CFIndex, CFNumberType) { kCFNumberSInt8Type = 1, kCFNumberSInt16Type = 2, kCFNumberSInt32Type = 3, kCFNumberSInt64Type = 4, kCFNumberFloat32Type = 5, kCFNumberFloat64Type = 6, kCFNumberCharType = 7, kCFNumberShortType = 8, kCFNumberIntType = 9, kCFNumberLongType = 10, kCFNumberLongLongType = 11, kCFNumberFloatType = 12, kCFNumberDoubleType = 13, kCFNumberCFIndexType = 14, kCFNumberNSIntegerType = 15, kCFNumberCGFloatType = 16, kCFNumberMaxType = 16 }; PS_ENUM(UInt32, CFStringEncoding) { kCFStringEncodingMacRoman = 0, kCFStringEncodingWindowsLatin1 = 0x0500, kCFStringEncodingISOLatin1 = 0x0201, kCFStringEncodingNextStepLatin = 0x0B01, kCFStringEncodingASCII = 0x0600, kCFStringEncodingUnicode = 0x0100, kCFStringEncodingUTF8 = 0x08000100, kCFStringEncodingNonLossyASCII = 0x0BFF, kCFStringEncodingUTF16 = 0x0100, kCFStringEncodingUTF16BE = 0x10000100, kCFStringEncodingUTF16LE = 0x14000100, kCFStringEncodingUTF32 = 0x0c000100, kCFStringEncodingUTF32BE = 0x18000100, kCFStringEncodingUTF32LE = 0x1c000100 }; PS_ENUM(CFOptionFlags, CFStringCompareFlags) { kCFCompareCaseInsensitive = 1, kCFCompareBackwards = 4, kCFCompareAnchored = 8, kCFCompareNonliteral = 16, kCFCompareLocalized = 32, kCFCompareNumerically = 64, kCFCompareDiacriticInsensitive = 128, kCFCompareWidthInsensitive = 256, kCFCompareForcedOrdering = 512 }; PS_ENUM(CFOptionFlags, CFStringTokenizerTokenType) { kCFStringTokenizerTokenNone = 0, kCFStringTokenizerTokenNormal = 1UL << 0, kCFStringTokenizerTokenHasSubTokensMask = 1UL << 1, kCFStringTokenizerTokenHasDerivedSubTokensMask = 1UL << 2, kCFStringTokenizerTokenHasHasNumbersMask = 1UL << 3, kCFStringTokenizerTokenHasNonLettersMask = 1UL << 4, kCFStringTokenizerTokenIsCJWordMask = 1UL << 5 }; PS_ENUM(CFIndex, CFCharacterSetPredefinedSet) { kCFCharacterSetControl = 1, kCFCharacterSetWhitespace, kCFCharacterSetWhitespaceAndNewline, kCFCharacterSetDecimalDigit, kCFCharacterSetLetter, kCFCharacterSetLowercaseLetter, kCFCharacterSetUppercaseLetter, kCFCharacterSetNonBase, kCFCharacterSetDecomposable, kCFCharacterSetAlphaNumeric, kCFCharacterSetPunctuation, kCFCharacterSetCapitalizedLetter = 13, kCFCharacterSetSymbol = 14, kCFCharacterSetNewline = 15, kCFCharacterSetIllegal = 12 }; typedef enum CFStreamEventType { kCFStreamEventNone = 0, kCFStreamEventOpenCompleted = (1 << 0), kCFStreamEventHasBytesAvailable = (1 << 1), kCFStreamEventCanAcceptBytes = (1 << 2), kCFStreamEventErrorOccurred = (1 << 3), kCFStreamEventEndEncountered = (1 << 4) } CFStreamEventType; typedef struct __CFRuntimeClass { CFIndex version; const char *className; void (*init)(CFTypeRef cf); CFTypeRef (*copy)(CFAllocatorRef allocator, CFTypeRef cf); void (*finalize)(CFTypeRef cf); Boolean (*equal)(CFTypeRef cf1, CFTypeRef cf2); CFHashCode (*hash)(CFTypeRef cf); CFStringRef (*copyFormattingDesc)(CFTypeRef cf, CFDictionaryRef formatOptions); CFStringRef (*copyDebugDesc)(CFTypeRef cf); void (*reclaim)(CFTypeRef cf); uint32_t (*refcount)(intptr_t op, CFTypeRef cf); uintptr_t requiredAlignment; } CFRuntimeClass; typedef struct CFUUIDBytes { UInt8 byte0; UInt8 byte1; UInt8 byte2; UInt8 byte3; UInt8 byte4; UInt8 byte5; UInt8 byte6; UInt8 byte7; UInt8 byte8; UInt8 byte9; UInt8 byte10; UInt8 byte11; UInt8 byte12; UInt8 byte13; UInt8 byte14; UInt8 byte15; } CFUUIDBytes; extern const CFAllocatorRef kCFAllocatorDefault; extern const CFAllocatorRef kCFAllocatorSystemDefault; extern const CFAllocatorRef kCFAllocatorMalloc; extern const CFAllocatorRef kCFAllocatorMallocZone; extern const CFAllocatorRef kCFAllocatorNull; extern const CFAllocatorRef kCFAllocatorUseContext; extern const CFArrayCallBacks kCFTypeArrayCallBacks; extern const CFBooleanRef kCFBooleanTrue; extern const CFBooleanRef kCFBooleanFalse; extern const CFRunLoopMode kCFRunLoopDefaultMode; extern const CFRunLoopMode kCFRunLoopCommonModes; typedef void (*CFBurstTrieTraversalCallback)(void *context, const UInt8 *key, uint32_t keyLength, uint32_t payload, Boolean *stop); typedef const void *(*CFBagRetainCallBack)(CFAllocatorRef allocator, const void *value); typedef void (*CFBagReleaseCallBack)(CFAllocatorRef allocator, const void *value); typedef CFStringRef (*CFBagCopyDescriptionCallBack)(const void *value); typedef Boolean (*CFBagEqualCallBack)(const void *value1, const void *value2); typedef CFHashCode (*CFBagHashCallBack)(const void *value); typedef struct CFBagCallBacks { CFIndex version; CFBagRetainCallBack retain; CFBagReleaseCallBack release; CFBagCopyDescriptionCallBack copyDescription; CFBagEqualCallBack equal; CFBagHashCallBack hash; } CFBagCallBacks; extern const CFBagCallBacks kCFTypeBagCallBacks; extern const CFBagCallBacks kCFCopyStringBagCallBacks; typedef void (*CFBagApplierFunction)(const void *value, void *context); #ifndef NULL #define NULL 0 #endif static const CFBagCallBacks __kCFNullBagCallBacks = {0, NULL, NULL, NULL, NULL, NULL}; typedef struct __CFRuntimeBase { uintptr_t _cfisa; uint8_t _cfinfo[4]; #ifdef __EA64__ uint32_t _rc; #endif } CFRuntimeBase; typedef struct CFStreamClientContext { CFIndex version; void *info; void *(*retain)(void *info); void (*release)(void *info); CFStringRef (*copyDescription)(void *info); } CFStreamClientContext; typedef struct CFRunLoopSourceContext { CFIndex version; void *info; const void *(*retain)(const void *info); void (*release)(const void *info); CFStringRef (*copyDescription)(const void *info); Boolean (*equal)(const void *info1, const void *info2); CFHashCode (*hash)(const void *info); void (*schedule)(void *info, CFRunLoopRef rl, CFRunLoopMode mode); void (*cancel)(void *info, CFRunLoopRef rl, CFRunLoopMode mode); void (*perform)(void *info); } CFRunLoopSourceContext; typedef struct CFRunLoopSourceContext1 { CFIndex version; void *info; const void *(*retain)(const void *info); void (*release)(const void *info); CFStringRef (*copyDescription)(const void *info); Boolean (*equal)(const void *info1, const void *info2); CFHashCode (*hash)(const void *info); mach_port_t (*getPort)(void *info); void *(*perform)(void *msg, CFIndex size, CFAllocatorRef allocator, void *info); } CFRunLoopSourceContext1; typedef struct CFRunLoopObserverContext { CFIndex version; void *info; const void *(*retain)(const void *info); void (*release)(const void *info); CFStringRef (*copyDescription)(const void *info); } CFRunLoopObserverContext; typedef void (*CFRunLoopObserverCallBack)(CFRunLoopObserverRef observer, CFRunLoopActivity activity, void *info); typedef struct CFRunLoopTimerContext { CFIndex version; void *info; const void *(*retain)(const void *info); void (*release)(const void *info); CFStringRef (*copyDescription)(const void *info); } CFRunLoopTimerContext; typedef struct { CFIndex version; void *info; const void *(*retain)(const void *info); void (*release)(const void *info); CFStringRef (*copyDescription)(const void *info); } CFMachPortContext; typedef void (*CFRunLoopTimerCallBack)(CFRunLoopTimerRef timer, void *info); typedef void (*CFUserNotificationCallBack)(CFUserNotificationRef userNotification, CFOptionFlags responseFlags); typedef void (*CFReadStreamClientCallBack)(CFReadStreamRef stream, CFStreamEventType type, void *clientCallBackInfo); typedef void (*CFWriteStreamClientCallBack)(CFWriteStreamRef stream, CFStreamEventType type, void *clientCallBackInfo); typedef void (*CFMachPortCallBack)(CFMachPortRef port, void *msg, CFIndex size, void *info); typedef void (*CFMachPortInvalidationCallBack)(CFMachPortRef port, void *info); #define CFBagKeyCallBacks CFBagCallBacks #define CFBagValueCallBacks CFBagCallBacks #define CFHashRef CFBagRef #define CFMutableHashRef CFMutableBagRef #define CFHashKeyCallBacks CFBagCallBacks #define CFHashValueCallBacks CFBagCallBacks #endif ================================================ FILE: CoreGraphics/CoreGraphics.h ================================================ #import "../CoreFoundation/Types.h" #import "../Foundation/Types.h" #import "../IOSurface/Types.h" #import "Types.h" CFTypeID CGPathGetTypeID(void); CFTypeID CGImageGetTypeID(void); CFTypeID CGColorGetTypeID(void); CFTypeID CGColorSpaceGetTypeID(void); CFTypeID CGColorTransformGetTypeID(void); CFTypeID CGPatternGetTypeID(void); CFTypeID CGFontGetTypeID(void); CFTypeRef CGCFRetain(CFTypeRef cf); CFTypeRef CGTypeCreateInstance(CFTypeID typeID, CFIndex extraBytes); CFTypeRef CGCFDictionaryGetValueWithType(CFDictionaryRef theDict, const void *key, CFTypeID typeID); CFDataRef CGFontCopyTableForTag(CGFontRef font, uint32_t tag); CFDataRef CGColorSpaceCopyICCData(CGColorSpaceRef space); CFDictionaryRef CGFontCopyVariations(CGFontRef font); CFDictionaryRef CGRectCreateDictionaryRepresentation(CGRect rect); CFDictionaryRef CGSizeCreateDictionaryRepresentation(CGSize size); CFDictionaryRef CGPointCreateDictionaryRepresentation(CGPoint point); CFDictionaryRef CGImageSourceCopyProperties(CGImageSourceRef isrc, CFDictionaryRef options); CFDictionaryRef CGImageSourceCopyPropertiesAtIndex(CGImageSourceRef isrc, size_t index, CFDictionaryRef options); CFMutableDictionaryRef CGCFDictionaryCreate(void); CFMutableDictionaryRef CGCFDictionaryCreateCopy(CFDictionaryRef theDict); CFArrayRef CGCFDictionaryCopyKeys(CFDictionaryRef theDict, const CFArrayCallBacks *callBacks); CFArrayRef CGCFDictionaryCopyValues(CFDictionaryRef theDict, const CFArrayCallBacks *callBacks); CFArrayRef CGFontCreateFontsWithPath(CFStringRef path); CFArrayRef CGFontCopyTableTags(CGFontRef font); CFArrayRef CGFontCopyVariationAxes(CGFontRef font); CFPropertyListRef CGColorSpaceCopyPropertyList(CGColorSpaceRef space); CFStringRef CGFontCopyFullName(CGFontRef font); CFStringRef CGFontCopyFamilyName(CGFontRef font); CFStringRef CGFontCopyPostScriptName(CGFontRef font); CFStringRef CGFontCopyGlyphNameForGlyph(CGFontRef font, CGGlyph glyph); CFStringRef CGImageSourceGetType(CGImageSourceRef isrc); // ImageIO ? CFStringRef CGImageSourceGetTypeWithData(CFDataRef, CFStringRef, bool *); // ImageIO ? CFStringRef CGImageMetadataCopyStringValueWithPath(CGImageMetadataRef metadata, CGImageMetadataTagRef parent, CFStringRef path); CFStringRef CGColorSpaceGetName(CGColorSpaceRef space); CGRect CGPatternGetBounds(CGPatternRef pattern); CGRect CGContextGetPathBoundingBox(CGContextRef c); CGRect CGContextGetClipBoundingBox(CGContextRef c); CGRect CGPathGetBoundingBox(CGPathRef path); CGRect CGPathGetPathBoundingBox(CGPathRef path); CGRect CGFontGetFontBBox(CGFontRef font); CGRect CGRectInset(CGRect rect, CGFloat dx, CGFloat dy); CGRect CGRectUnion(CGRect rect1, CGRect rect2); CGRect CGRectApplyAffineTransform(CGRect rect, CGAffineTransform t); CGRect CGRectStandardize(CGRect rect); CGRect CGRectOffset(CGRect rect, CGFloat dx, CGFloat dy); CGRect CGRectIntegral(CGRect rect); CGRect CGRectIntersection(CGRect r1, CGRect r2); CGRect *CGSNextRect(CGSRegionEnumeratorRef enumerator); CGPoint CGPointApplyAffineTransform(CGPoint point, CGAffineTransform t); CGPoint CGContextGetPathCurrentPoint(CGContextRef context); CGPoint CGContextGetTextPosition(CGContextRef c); CGPoint CGPathGetCurrentPoint(CGPathRef path); CGSize CGSizeApplyAffineTransform(CGSize size, CGAffineTransform t); CGSize CGContextConvertSizeToUserSpace(CGContextRef c, CGSize size); CGFloat CGFontGetItalicAngle(CGFontRef font); CGFloat CGFontGetStemV(CGFontRef font); CGFloat CGRectGetWidth(CGRect rect); CGFloat CGRectGetHeight(CGRect rect); CGFloat CGRectGetMaxX(CGRect rect); CGFloat CGRectGetMidX(CGRect rect); CGFloat CGRectGetMinX(CGRect rect); CGFloat CGRectGetMaxY(CGRect rect); CGFloat CGRectGetMidY(CGRect rect); CGFloat CGRectGetMinY(CGRect rect); CGFloat CGColorGetAlpha(CGColorRef color); CGFloat CGContextGetAlpha(CGContextRef c); CGFloat CGContextGetLineWidth(CGContextRef c); CGFloat CGContextGetFontSize(CGContextRef c); CGBlendMode CGContextGetBlendMode(CGContextRef c); CGPathRef CGPathRetain(CGPathRef path); CGPathRef CGPathCreateWithEllipseInRect(CGRect rect, const CGAffineTransform *transform); CGPathRef CGPathCreateWithRect(CGRect rect, const CGAffineTransform *transform); CGPathRef CGPathCreateWithRoundedRect(CGRect rect, CGFloat cornerWidth, CGFloat cornerHeight, const CGAffineTransform *transform); CGPathRef CGPathCreateCopy(CGPathRef path); CGPathRef CGPathCreateCopyByTransformingPath(CGPathRef path, const CGAffineTransform *transform); CGPathRef CGPathCreateCopyByDashingPath(CGPathRef path, const CGAffineTransform *transform, CGFloat phase, const CGFloat *lengths, size_t count); CGPathRef CGPathCreateCopyByStrokingPath(CGPathRef path, const CGAffineTransform *transform, CGFloat lineWidth, CGLineCap lineCap, CGLineJoin lineJoin, CGFloat miterLimit); CGPathRef CGContextCopyPath(CGContextRef c); CGMutablePathRef CGPathCreateMutable(void); CGMutablePathRef CGPathCreateMutableCopy(CGPathRef path); CGMutablePathRef CGPathCreateMutableCopyByTransformingPath(CGPathRef path, const CGAffineTransform *transform); CGImageRef CGImageCreate(size_t width, size_t height, size_t bitsPerComponent, size_t bitsPerPixel, size_t bytesPerRow, CGColorSpaceRef space, CGBitmapInfo bitmapInfo, CGDataProviderRef provider, const CGFloat *decode, bool shouldInterpolate, CGColorRenderingIntent intent); CGImageRef CGImageCreateWithPNGDataProvider(CGDataProviderRef source, const CGFloat *decode, bool shouldInterpolate, CGColorRenderingIntent intent); CGImageRef CGImageCreateWithJPEGDataProvider(CGDataProviderRef source, const CGFloat *decode, bool shouldInterpolate, CGColorRenderingIntent intent); CGImageRef CGImageCreateWithImageInRect(CGImageRef image, CGRect rect); CGImageRef CGImageCreateWithMask(CGImageRef image, CGImageRef mask); CGImageRef CGImageCreateFromIOSurface(IOSurfaceRef surface, CFDictionaryRef options); CGImageRef CGImageCreateCopy(CGImageRef image); CGImageRef CGImageMaskCreate(size_t width, size_t height, size_t bitsPerComponent, size_t bitsPerPixel, size_t bytesPerRow, CGDataProviderRef provider, const CGFloat *decode, bool shouldInterpolate); CGImageRef CGImageRetain(CGImageRef image); CGImageRef CGImageSourceCreateImageAtIndex(CGImageSourceRef isrc, size_t index, CFDictionaryRef options); CGImageRef CGImageSourceCreateThumbnailAtIndex(CGImageSourceRef isrc, size_t index, CFDictionaryRef options); CGImageRef CGPatternGetImage(CGPatternRef pattern); CGImageRef CGBitmapContextCreateImage(CGContextRef context); CGImageRef CGIOSurfaceContextCreateImage(CGContextRef); CGImageRef CGIOSurfaceContextCreateImageReference(CGContextRef); CGImageMetadataRef CGImageSourceCopyMetadataAtIndex(CGImageSourceRef isrc, size_t index, CFDictionaryRef options); CGImageMetadataTagRef CGImageMetadataTagCreate(CFStringRef xmlns, CFStringRef prefix, CFStringRef name, CGImageMetadataType type, CFTypeRef value); CGMutableImageMetadataRef CGImageMetadataCreateMutable(void); CGImageSourceRef CGImageSourceCreateWithData(CFDataRef data, CFDictionaryRef options); CGImageSourceRef CGImageSourceCreateWithDataProvider(CGDataProviderRef provider, CFDictionaryRef options); CGImageSourceRef CGImageSourceCreateWithURL(CFURLRef url, CFDictionaryRef options); CGImageSourceRef CGImageSourceCreateWithFile(CFStringRef path, CFDictionaryRef options); CGImageSourceRef CGImageSourceCreateIncremental(CFDictionaryRef options); CGImageDestinationRef CGImageDestinationCreateWithData(CFMutableDataRef data, CFStringRef type, size_t count, CFDictionaryRef options); CGImageDestinationRef CGImageDestinationCreateWithURL(CFURLRef url, CFStringRef type, size_t count, CFDictionaryRef options); CGImageProviderRef CGImageGetImageProvider(CGImageRef image); CGFontRef CGFontRetain(CGFontRef font); CGFontRef CGFontCreateWithFontName(CFStringRef name); CGFontRef CGFontCreateWithDataProvider(CGDataProviderRef provider); CGFontRef CGFontCreateCopyWithVariations(CGFontRef font, CFDictionaryRef variations); CGFontRef CGFontCreateWithName(const char *name); CGFontRef CGFontCreateMatchingFont(const char *, const char *, int, bool, CGFloat); CFMutableArrayRef CGFontCreateFontsWithPath(CFStringRef path); CFMutableArrayRef CGCFArrayCreate(void); CGContextRef CGBitmapContextCreate(void *data, size_t width, size_t height, size_t bitsPerComponent, size_t bytesPerRow, CGColorSpaceRef space, uint32_t bitmapInfo); CGContextRef CGContextRetain(CGContextRef c); CGContextRef CGIOSurfaceContextCreate(IOSurfaceRef, size_t, size_t, size_t, size_t, CGColorSpaceRef, CGBitmapInfo); CGColorRef CGColorRetain(CGColorRef color); CGColorRef CGColorGetConstantColor(CFStringRef colorName); CGColorRef CGColorCreate(CGColorSpaceRef space, const CGFloat *components); CGColorRef CGColorCreateCopy(CGColorRef color); CGColorRef CGColorCreateCopyWithAlpha(CGColorRef color, CGFloat alpha); CGColorRef CGColorCreateSRGB(CGFloat red, CGFloat green, CGFloat blue, CGFloat alpha); CGColorRef CGColorCreateGenericGray(CGFloat gray, CGFloat alpha); CGColorRef CGColorCreateGenericRGB(CGFloat red, CGFloat green, CGFloat blue, CGFloat alpha); CGColorRef CGColorCreateGenericCMYK(CGFloat cyan, CGFloat magenta, CGFloat yellow, CGFloat black, CGFloat alpha); CGColorRef CGColorCreateWithPattern(CGColorSpaceRef space, CGPatternRef pattern, const CGFloat *components); CGColorRef CGColorCreateCopyByMatchingToColorSpace(CGColorSpaceRef, CGColorRenderingIntent intent, CGColorRef color, CFDictionaryRef options); CGColorRef CGColorTransformConvertColor(CGColorTransformRef, CGColorRef, CGColorRenderingIntent); CGColorRef CGContextGetFillColorAsColor(CGContextRef); CGColorSpaceRef CGImageGetColorSpace(CGImageRef image); CGColorSpaceRef CGGradientGetColorSpace(CGGradientRef gradient); CGColorSpaceRef CGColorGetColorSpace(CGColorRef color); CGColorSpaceRef CGColorSpaceRetain(CGColorSpaceRef space); CGColorSpaceRef CGColorSpaceCreateWithName(CFStringRef name); CGColorSpaceRef CGColorSpaceCreateDeviceRGB(void); CGColorSpaceRef CGColorSpaceCreateDeviceCMYK(void); CGColorSpaceRef CGColorSpaceCreateDeviceGray(void); CGColorSpaceRef CGColorSpaceCreateLab(const CGFloat *whitePoint, const CGFloat *blackPoint, const CGFloat *range); CGColorSpaceRef CGColorSpaceCreatePattern(CGColorSpaceRef baseSpace); CGColorSpaceRef CGColorSpaceCreateWithPropertyList(CFPropertyListRef plist); CGColorSpaceRef CGColorSpaceCreateWithICCData(CFTypeRef data); CGColorSpaceRef CGColorSpaceCreateCalibratedRGB(const CGFloat *whitePoint, const CGFloat *blackPoint, const CGFloat *gamma, const CGFloat *matrix); CGColorSpaceRef CGColorSpaceGetBaseColorSpace(CGColorSpaceRef space); CGColorSpaceRef CGIOSurfaceContextGetColorSpace(CGContextRef context); CGColorSpaceRef CGBitmapContextGetColorSpace(CGContextRef context); CGColorSpaceModel CGColorSpaceGetModel(CGColorSpaceRef space); CGColorTransformRef CGColorTransformCreate(CGColorSpaceRef, CFDictionaryRef attributes); CGColorTransformRef CGColorTransformRetain(CGColorTransformRef colorTransform); CGColorRenderingIntent CGImageGetRenderingIntent(CGImageRef image); CGPatternRef CGPatternRetain(CGPatternRef pattern); CGPatternRef CGPatternCreate(void *info, CGRect bounds, CGAffineTransform matrix, CGFloat xStep, CGFloat yStep, CGPatternTiling tiling, bool isColored, const CGPatternCallbacks *callbacks); CGPatternRef CGPatternCreateWithImage2(CGImageRef, CGAffineTransform, CGPatternTiling); CGPatternRef CGColorGetPattern(CGColorRef color); CGGradientRef CGGradientCreateWithColors(CGColorSpaceRef space, CFArrayRef colors, const CGFloat *locations); CGGradientRef CGGradientCreateWithColorComponents(CGColorSpaceRef space, const CGFloat *components, const CGFloat *locations, size_t count); CGImageAlphaInfo CGImageGetAlphaInfo(CGImageRef image); CGImageAlphaInfo CGBitmapContextGetAlphaInfo(CGContextRef context); CGBitmapInfo CGImageGetBitmapInfo(CGImageRef image); CGBitmapInfo CGBitmapContextGetBitmapInfo(CGContextRef context); CGDataProviderRef CGImageGetDataProvider(CGImageRef image); const CGFloat *CGImageGetDecode(CGImageRef image); const CGFloat *CGColorGetComponents(CGColorRef color); const void *CGImageGetProperty(CGImageRef image, CFStringRef property); CGAffineTransform CGAffineTransformMake(CGFloat a, CGFloat b, CGFloat c, CGFloat d, CGFloat tx, CGFloat ty); CGAffineTransform CGAffineTransformMakeScale(CGFloat sx, CGFloat sy); CGAffineTransform CGAffineTransformMakeRotation(CGFloat angle); CGAffineTransform CGAffineTransformMakeTranslation(CGFloat tx, CGFloat ty); CGAffineTransform CGAffineTransformTranslate(CGAffineTransform t, CGFloat tx, CGFloat ty); CGAffineTransform CGAffineTransformScale(CGAffineTransform t, CGFloat sx, CGFloat sy); CGAffineTransform CGAffineTransformRotate(CGAffineTransform t, CGFloat angle); CGAffineTransform CGAffineTransformTranslate(CGAffineTransform t, CGFloat tx, CGFloat ty); CGAffineTransform CGAffineTransformInvert(CGAffineTransform t); CGAffineTransform CGAffineTransformConcat(CGAffineTransform t1, CGAffineTransform t2); CGAffineTransform CGAffineTransformFromString(CFNSString string); CGAffineTransform CGContextGetCTM(CGContextRef c); CGAffineTransform CGContextGetBaseCTM(CGContextRef c); CGAffineTransform CGContextGetTextMatrix(CGContextRef c); CGAffineTransform CGContextGetUserSpaceToDeviceSpaceTransform(CGContextRef c); CGDataProviderRef CGPDFDocumentGetDataProvider(CGPDFDocumentRef); CGError CGSPackagesEnableConnectionOcclusionNotifications(CGSConnectionID, bool flag, bool *outCurrentVisibilityState); CGError CGSPackagesEnableConnectionWindowModificationNotifications(CGSConnectionID, bool flag, bool *outConnectionIsCurrentlyIdle); CGError CGSNewRegionWithRect(const CGRect*, CGRegionRef *); CGError CGSNewEmptyRegion(CGSRegionObj *outRegion); CGError CGSCopyRegion(CGSRegionObj region, CGSRegionObj *outRegion); CGError CGSUnionRegion(CGSRegionObj region1, CGSRegionObj region2, CGSRegionObj *outRegion); CGError CGSUnionRegionWithRect(CGSRegionObj region, CGRect *rect, CGSRegionObj *outRegion); CGError CGSDiffRegion(CGSRegionRef region1, CGSRegionRef region2, CGSRegionRef *outRegion); CGError CGSXorRegion(CGSRegionRef region1, CGSRegionRef region2, CGSRegionRef *outRegion); CGError CGSOffsetRegion(CGSRegionRef region, CGFloat offsetLeft, CGFloat offsetTop, CGSRegionRef *outRegion); CGError CGSIntersectRegionWithRect(const CGSRegionObj region,const CGRect *rect, CGSRegionObj *intersectRegion); CGError CGSReleaseRegion(const CGRegionRef); CGError CGSGetRegionBounds(CGSRegionRef region, CGRect *outRect); CGError CGSSetWindowAlpha(CGSConnectionID, CGSWindowID, float alpha); CGError CGSSetWindowClipShape(CGSConnectionID, CGSWindowID, CGRegionRef shape); CGError CGSSetWindowWarp(CGSConnectionID, CGSWindowID, int w, int h, const float *mesh); CGError CGSFetchDirtyScreenRegion(CGSConnectionID cid, CGSRegionRef *outDirtyRegion); CGFontAntialiasingStyle CGContextGetFontAntialiasingStyle(CGContextRef); CGFontRef CGFontCreateWithPathAndName(CFStringRef path, CFStringRef name); CGImageCachingFlags CGImageGetCachingFlags(CGImageRef image); CGContextType CGContextGetType(CGContextRef c); CGGlyph CGFontGetGlyphWithGlyphName(CGFontRef font, CFStringRef name); CGCompositeOperation CGContextGetCompositeOperation(CGContextRef c); CGSRegionEnumeratorRef CGSRegionEnumerator(CGSRegionRef region); CGSRegionEnumeratorObj CGSRegionPathEnumerator(const CGSRegionObj region); const char *CGFontGetPostScriptName(CGFontRef font); bool CGSRegionIsEmpty(CGSRegionObj region); bool CGSRegionIsRectangular(CGSRegionObj region); bool CGSPointInRegion(CGSRegionObj region, const CGPoint *point); bool CGSRectInRegion(CGSRegionObj region, const CGRect *rect); bool CGSRegionInRegion(CGSRegionObj region1, CGSRegionObj region2); bool CGSRegionIntersectsRect(CGSRegionObj obj, const CGRect *rect); bool CGSRegionIntersectsRegion(CGSRegionObj region1, CGSRegionObj region2); size_t CGFontGetNumberOfGlyphs(CGFontRef font); size_t CGImageGetWidth(CGImageRef image); size_t CGImageGetHeight(CGImageRef image); size_t CGImageGetBitsPerComponent(CGImageRef image); size_t CGImageGetBitsPerPixel(CGImageRef image); size_t CGImageGetBytesPerRow(CGImageRef image); size_t CGImageSourceGetCount(CGImageSourceRef isrc); size_t CGBitmapContextGetBitsPerComponent(CGContextRef context); size_t CGBitmapContextGetBitsPerPixel(CGContextRef context); size_t CGBitmapContextGetBytesPerRow(CGContextRef context); size_t CGBitmapContextGetWidth(CGContextRef context); size_t CGBitmapContextGetHeight(CGContextRef context); size_t CGBitmapGetAlignedBytesPerRow(size_t); size_t CGColorGetNumberOfComponents(CGColorRef color); size_t CGColorSpaceGetNumberOfComponents(CGColorSpaceRef space); bool CGFontGetGlyphBBoxes(CGFontRef font, const CGGlyph *glyphs, size_t count, CGRect *bboxes); bool CGFontGetGlyphAdvances(CGFontRef font, const CGGlyph *glyphs, size_t count, int *advances); bool CGFontGetGlyphAdvancesForStyle(CGFontRef font, const CGAffineTransform *transform, CGFontRenderingStyle style, const CGGlyph *glyphs, size_t count, CGSize *advances); bool CGRectEqualToRect(CGRect rect1, CGRect rect2); bool CGRectIsNull(CGRect rect); bool CGRectIsEmpty(CGRect rect); bool CGRectIsInfinite(CGRect rect); bool CGRectContainsPoint(CGRect rect, CGPoint point); bool CGRectContainsRect(CGRect rect1, CGRect rect2); bool CGRectIntersectsRect(CGRect rect1, CGRect rect2); bool CGRectMakeWithDictionaryRepresentation(CFDictionaryRef dict, CGRect *rect); bool CGSizeMakeWithDictionaryRepresentation(CFDictionaryRef dict, CGSize *size); bool CGSizeEqualToSize(CGSize size1, CGSize size2); bool CGAffineTransformIsIdentity(CGAffineTransform t); bool CGAffineTransformIsRectilinear(CGAffineTransform t); bool CGAffineTransformEqualToTransform(CGAffineTransform t1, CGAffineTransform t2); bool CGContextIsPathEmpty(CGContextRef context); bool CGContextDrawsWithCorrectShadowOffsets(CGContextRef); bool CGContextGetAllowsFontSubpixelPositioning(CGContextRef); bool CGImageGetShouldInterpolate(CGImageRef image); bool CGImageDestinationCopyImageSource(CGImageDestinationRef idst, CGImageSourceRef isrc, CFDictionaryRef options, CFErrorRef *err); bool CGImageDestinationFinalize(CGImageDestinationRef idst); bool CGImageHasAlpha(CGImageRef image); bool CGImageIsMask(CGImageRef image); bool CGImageMetadataRegisterNamespaceForPrefix(CGMutableImageMetadataRef metadata, CFStringRef xmlns, CFStringRef prefix, CFErrorRef *err); bool CGImageMetadataSetTagWithPath(CGMutableImageMetadataRef metadata, CGImageMetadataTagRef parent, CFStringRef path, CGImageMetadataTagRef tag); bool CGImageMetadataSetValueWithPath(CGMutableImageMetadataRef metadata, CGImageMetadataTagRef parent, CFStringRef path, CFTypeRef value); bool CGPathEqualToPath(CGPathRef path1, CGPathRef path2); bool CGPathIsEmpty(CGPathRef path); bool CGPathIsRect(CGPathRef path, CGRect *rect); bool CGPathContainsPoint(CGPathRef path, const CGAffineTransform *m, CGPoint point, bool eoFill); bool CGPointMakeWithDictionaryRepresentation(CFDictionaryRef dict, CGPoint *point); bool CGColorEqualToColor(CGColorRef color1, CGColorRef color2); bool CGColorSpaceIsUncalibrated(CGColorSpaceRef space); bool CGColorSpaceIsWideGamutRGB(CGColorSpaceRef space); bool CGColorSpaceSupportsOutput(CGColorSpaceRef space); bool CGColorSpaceUsesExtendedRange(CGColorSpaceRef space); bool CGColorSpaceEqualToColorSpace(CGColorSpaceRef space1, CGColorSpaceRef space2); bool CGColorSpaceEqualToColorSpaceIgnoringRange(CGColorSpaceRef space1, CGColorSpaceRef space2); bool CGFloatIsValid(CGFloat value); bool CGCFDictionaryGetBoolean(CFDictionaryRef theDict, const void *key, bool *result); bool CGCFDictionaryGetBooleanWithDefault(CFDictionaryRef theDict, const void *key, bool defaultValue); bool CGCFDictionaryGetFloat(CFMutableDictionaryRef theDict, const void *key, double *value); bool CGCFDictionaryGetNumber(CFMutableDictionaryRef theDict, const void *key, CFNumberType type, void *valuePtr); bool CGCFDictionaryGetInteger(CFMutableDictionaryRef theDict, const void *key, int *valuePtr); bool CGCFDictionaryGetCFTypeRef(CFDictionaryRef theDict, const void *key, CFTypeID typeID, CFTypeRef *valuePtr); double CGCFDictionaryGetFloatWithDefault(CFMutableDictionaryRef theDict, const void *key, double defaultValue); int CGCFDictionaryGetIntegerWithDefault(CFMutableDictionaryRef theDict, const void *key, int defaultValue); int CGFontGetAscent(CGFontRef font); int CGFontGetDescent(CGFontRef font); int CGFontGetLeading(CGFontRef font); int CGFontGetCapHeight(CGFontRef font); int CGFontGetXHeight(CGFontRef font); int CGFontGetUnitsPerEm(CGFontRef font); int CGSNextPoint(const CGSRegionEnumeratorObj enumerator, CGPoint *point); int32_t CGImageGetIdentifier(CGImageRef image); void CGContextDestroy(CFTypeRef c); void CGContextSaveGState(CGContextRef c); void CGContextRestoreGState(CGContextRef c); void CGContextScaleCTM(CGContextRef c, CGFloat sx, CGFloat sy); void CGContextTranslateCTM(CGContextRef c, CGFloat tx, CGFloat ty); void CGContextRotateCTM(CGContextRef c, CGFloat angle); void CGContextConcatCTM(CGContextRef c, CGAffineTransform transform); void CGContextSetLineCap(CGContextRef c, CGLineCap cap); void CGContextSetLineJoin(CGContextRef c, CGLineJoin join); void CGContextSetLineDash(CGContextRef c, CGFloat phase, const CGFloat *lengths, size_t count); void CGContextSetLineWidth(CGContextRef c, CGFloat width); void CGContextSetAlpha(CGContextRef c, CGFloat alpha); void CGContextSetGrayFillColor(CGContextRef c, CGFloat gray, CGFloat alpha); void CGContextSetGrayStrokeColor(CGContextRef c, CGFloat gray, CGFloat alpha); void CGContextSetRGBFillColor(CGContextRef c, CGFloat red, CGFloat green, CGFloat blue, CGFloat alpha); void CGContextSetCMYKFillColor(CGContextRef c, CGFloat cyan, CGFloat magenta, CGFloat yellow, CGFloat black, CGFloat alpha); void CGContextSetFillColor(CGContextRef context, const CGFloat components[]); void CGContextSetFillColorWithColor(CGContextRef c, CGColorRef color); void CGContextSetFillColorSpace(CGContextRef c, CGColorSpaceRef space); void CGContextSetFillPattern(CGContextRef c, CGPatternRef pattern, const CGFloat *components); void CGContextSetRGBStrokeColor(CGContextRef c, CGFloat red, CGFloat green, CGFloat blue, CGFloat alpha); void CGContextSetStrokeColor(CGContextRef context, const CGFloat components[]); void CGContextSetStrokeColorWithColor(CGContextRef c, CGColorRef color); void CGContextSetStrokeColorSpace(CGContextRef c, CGColorSpaceRef space); void CGContextSetInterpolationQuality(CGContextRef c, CGInterpolationQuality quality); void CGContextSetShadowWithColor(CGContextRef c, CGSize offset, CGFloat blur, CGColorRef color); void CGContextSetTextDrawingMode(CGContextRef c, CGTextDrawingMode mode); void CGContextSetTextPosition(CGContextRef c, CGFloat x, CGFloat y); void CGContextSetTextMatrix(CGContextRef c, CGAffineTransform t); void CGContextSetFont(CGContextRef c, CGFontRef font); void CGContextSetFontSize(CGContextRef c, CGFloat size); void CGContextSetFontAntialiasingStyle(CGContextRef c, CGFontAntialiasingStyle style); void CGContextSetShouldSmoothFonts(CGContextRef c, bool shouldSmoothFonts); void CGContextSetShouldAntialias(CGContextRef c, bool shouldAntialias); void CGContextSetShouldSubpixelPositionFonts(CGContextRef c, bool shouldSubpixelPositionFonts); void CGContextSetShouldSubpixelQuantizeFonts(CGContextRef c, bool shouldSubpixelQuantizeFonts); void CGContextSetAllowsAntialiasing(CGContextRef c, bool allowsAntialiasing); void CGContextSetAllowsFontSubpixelPositioning(CGContextRef c, bool allowsFontSubpixelPositioning); void CGContextSetAllowsFontSubpixelQuantization(CGContextRef c, bool allowsFontSubpixelQuantization); void CGContextSetRenderingIntent(CGContextRef c, CGColorRenderingIntent intent); void CGContextSetCompositeOperation(CGContextRef c, CGCompositeOperation operation); void CGContextSetCTM(CGContextRef, CGAffineTransform); void CGContextSetBaseCTM(CGContextRef, CGAffineTransform); void CGContextResetCTM(CGContextRef c); void CGContextSetBlendMode(CGContextRef c, CGBlendMode mode); void CGContextSetFlatness(CGContextRef c, CGFloat flatness); void CGContextSetMiterLimit(CGContextRef c, CGFloat limit); void CGContextSetPatternPhase(CGContextRef c, CGSize phase); void CGContextBeginPath(CGContextRef c); void CGContextAddPath(CGContextRef c, CGPathRef path); void CGContextFillPath(CGContextRef c); void CGContextEOFillPath(CGContextRef c); void CGContextStrokePath(CGContextRef c); void CGContextClosePath(CGContextRef c); void CGContextMoveToPoint(CGContextRef c, CGFloat x, CGFloat y); void CGContextAddLineToPoint(CGContextRef c, CGFloat x, CGFloat y); void CGContextAddCurveToPoint(CGContextRef c, CGFloat cp1x, CGFloat cp1y, CGFloat cp2x, CGFloat cp2y, CGFloat x, CGFloat y); void CGContextAddQuadCurveToPoint(CGContextRef c, CGFloat cpx, CGFloat cpy, CGFloat x, CGFloat y); void CGContextAddRect(CGContextRef c, CGRect rect); void CGContextAddRects(CGContextRef c, const CGRect rects[], size_t count); void CGContextAddLines(CGContextRef c, const CGPoint points[], size_t count); void CGContextAddEllipseInRect(CGContextRef context, CGRect rect); void CGContextAddArc(CGContextRef c, CGFloat x, CGFloat y, CGFloat radius, CGFloat startAngle, CGFloat endAngle, int clockwise); void CGContextAddArcToPoint(CGContextRef c, CGFloat x1, CGFloat y1, CGFloat x2, CGFloat y2, CGFloat radius); void CGContextReplacePathWithStrokedPath(CGContextRef c); void CGContextDrawImage(CGContextRef c, CGRect rect, CGImageRef image); void CGContextDrawTiledImage(CGContextRef c, CGRect rect, CGImageRef image); void CGContextDrawRadialGradient(CGContextRef c, CGGradientRef gradient, CGPoint startCenter, CGFloat startRadius, CGPoint endCenter, CGFloat endRadius, CGGradientDrawingOptions options); void CGContextDrawLinearGradient(CGContextRef c, CGGradientRef gradient, CGPoint startPoint, CGPoint endPoint, CGGradientDrawingOptions options); void CGContextDrawPath(CGContextRef c, CGPathDrawingMode mode); void CGContextDrawShading(CGContextRef c, CGShadingRef shading); void CGContextFillRect(CGContextRef c, CGRect rect); void CGContextFillRects(CGContextRef c, const CGRect rects[], size_t count); void CGContextFillEllipseInRect(CGContextRef context, CGRect rect); void CGContextStrokeRect(CGContextRef c, CGRect rect); void CGContextStrokeRectWithWidth(CGContextRef c, CGRect rect, CGFloat width); void CGContextStrokeEllipseInRect(CGContextRef context, CGRect rect); void CGContextStrokeLineSegments(CGContextRef c, const CGPoint points[], size_t count); void CGContextClearRect(CGContextRef c, CGRect rect); void CGContextClip(CGContextRef c); void CGContextEOClip(CGContextRef c); void CGContextClipToMask(CGContextRef c, CGRect rect, CGImageRef mask); void CGContextClipToRect(CGContextRef c, CGRect rect); void CGContextClipToRects(CGContextRef c, const CGRect rects[], size_t count); void CGContextResetState(CGContextRef c); void CGContextRelease(CGContextRef c); void CGContextFlush(CGContextRef c); void CGContextSynchronize(CGContextRef c); void CGContextEndPage(CGContextRef c); void CGContextBeginPage(CGContextRef c, const CGRect *mediaBox); void CGContextBeginTransparencyLayer(CGContextRef c, CFDictionaryRef auxiliaryInfo); void CGContextBeginTransparencyLayerWithRect(CGContextRef c, CGRect rect, CFDictionaryRef auxInfo); void CGContextEndTransparencyLayer(CGContextRef c); void CGContextShowGlyphsAtPositions(CGContextRef c, const CGGlyph *glyphs, const CGPoint *Lpositions, size_t count); void CGContextShowGlyphsWithAdvances(CGContextRef c, const CGGlyph *glyphs, const CGSize *advances, size_t count); void CGContextResetClip(CGContextRef c); void CGContextClear(CGContextRef c); void CGContextDrawPDFPage(CGContextRef c, CGPDFPageRef page); void CGContextDrawPDFPageWithAnnotations(CGContextRef c, CGPDFPageRef page, CGPDFAnnotationDrawCallbackType); void CGContextDrawPathDirect(CGContextRef, CGPathDrawingMode, CGPathRef, const CGRect *boundingBox); void CGBitmapContextSetData(CGContextRef c, size_t x, size_t y, size_t width, size_t height, void* data, size_t bitsPerComponent, size_t bitsPerPixel, size_t bytesPerRow); void CGGradientRetain(CGGradientRef gradient); void CGGradientRelease(CGGradientRef gradient); void CGImageSourceUpdateData(CGImageSourceRef isrc, CFDataRef data, bool final); void CGImageSourceUpdateDataProvider(CGImageSourceRef isrc, CGDataProviderRef provider, bool final); void CGImageSourceRemoveCacheAtIndex(CGImageSourceRef isrc, size_t index); void CGImageDestinationAddImage(CGImageDestinationRef idst, CGImageRef image, CFDictionaryRef properties); void CGImageDestinationAddImageFromSource(CGImageDestinationRef idst, CGImageSourceRef isrc, size_t index, CFDictionaryRef properties); void CGImageDestinationAddImageAndMetadata(CGImageDestinationRef idst, CGImageRef image, CGImageMetadataRef metadata, CFDictionaryRef options); void CGImageDestinationSetProperties(CGImageDestinationRef idst, CFDictionaryRef properties); void CGImageSetProperty(CGImageRef image, CFStringRef property, const void *value); void CGImageSetCachingFlags(CGImageRef image, CGImageCachingFlags flags); void CGImageRelease(CGImageRef image); void CGPathAddPath(CGMutablePathRef path1, const CGAffineTransform *m, CGPathRef path2); void CGPathAddArc(CGMutablePathRef path, const CGAffineTransform *m, CGFloat x, CGFloat y, CGFloat radius, CGFloat startAngle, CGFloat endAngle, bool clockwise); void CGPathAddRelativeArc(CGMutablePathRef path, const CGAffineTransform *matrix, CGFloat x, CGFloat y, CGFloat radius, CGFloat startAngle, CGFloat delta); void CGPathAddArcToPoint(CGMutablePathRef path, const CGAffineTransform *m, CGFloat x1, CGFloat y1, CGFloat x2, CGFloat y2, CGFloat radius); void CGPathAddCurveToPoint(CGMutablePathRef path, const CGAffineTransform *m, CGFloat cp1x, CGFloat cp1y, CGFloat cp2x, CGFloat cp2y, CGFloat x, CGFloat y); void CGPathAddLines(CGMutablePathRef path, const CGAffineTransform *m, const CGPoint *points, size_t count); void CGPathAddLineToPoint(CGMutablePathRef path, const CGAffineTransform *m, CGFloat x, CGFloat y); void CGPathAddQuadCurveToPoint(CGMutablePathRef path, const CGAffineTransform *m, CGFloat cpx, CGFloat cpy, CGFloat x, CGFloat y); void CGPathAddRect(CGMutablePathRef path, const CGAffineTransform *m, CGRect rect); void CGPathAddRects(CGMutablePathRef path, const CGAffineTransform *m, const CGRect *rects, size_t count); void CGPathAddRoundedRect(CGMutablePathRef path, const CGAffineTransform *transform, CGRect rect, CGFloat cornerWidth, CGFloat cornerHeight); void CGPathAddEllipseInRect(CGMutablePathRef path, const CGAffineTransform *m, CGRect rect); void CGPathApply(CGPathRef path, void *info, CGPathApplierFunction function); void CGPathApplyWithBlock(CGPathRef path, CGPathApplyBlock block); void CGPathMoveToPoint(CGMutablePathRef path, const CGAffineTransform *m, CGFloat x, CGFloat y); void CGPathCloseSubpath(CGMutablePathRef path); void CGPathRelease(CGPathRef path); void CGRectDivide(CGRect rect, CGRect *slice, CGRect *remainder, CGFloat amount, CGRectEdge edge); void CGColorSpaceRelease(CGColorSpaceRef space); void CGColorTransformRelease(CGColorTransformRef colorTransform); void CGColorRelease(CGColorRef color); void CGPatternRelease(CGPatternRef pattern); void CGFontGetGlyphsForUnichars(CGFontRef font, const UniChar chars[], CGGlyph glyphs[], size_t length); void CGFontRelease(CGFontRef font); void CGPostError(const char *format, ...); void CGIOSurfaceContextSetDisplayMask(CGContextRef, uint32_t mask); void CGCFRelease(CFTypeRef cf); void CGCFDictionaryApplyBlock(CFDictionaryRef theDict, void *context); void CGCFDictionarySetCString(CFMutableDictionaryRef theDict, const char *cStr); void CGCFDictionarySetBoolean(CFMutableDictionaryRef theDict, const void *key, bool value); void CGCFDictionarySetFloat(CFMutableDictionaryRef theDict, const void *key, double value); void CGCFDictionarySetInteger(CFMutableDictionaryRef theDict, const void *key, int value); void CGCFDictionarySetLongInteger(CFMutableDictionaryRef theDict, const void *key, long value); void CGCFDictionarySetNumber(CFMutableDictionaryRef theDict, const void *key, CFNumberType type, const void *valuePtr); void CGCFDictionarySetCFTypeRef(CFMutableDictionaryRef theDict, const void *key, const void *value); void *CGBitmapContextGetData(CGContextRef context); ================================================ FILE: CoreGraphics/Types.h ================================================ #ifndef COREGRAPHICS_H_ #define COREGRAPHICS_H_ #import "../BaseTypes.h" #import "../CoreFoundation/Types.h" #ifdef __EA64__ typedef double CGFloat; #else typedef float CGFloat; #endif typedef struct CGPoint { CGFloat x; CGFloat y; } CGPoint; typedef struct CGSize { CGFloat width; CGFloat height; } CGSize; typedef struct CGRect { CGPoint origin; CGSize size; } CGRect; typedef struct CGVector { CGFloat dx; CGFloat dy; } CGVector; typedef struct CGAffineTransform { CGFloat a; CGFloat b; CGFloat c; CGFloat d; CGFloat tx; CGFloat ty; } CGAffineTransform; typedef struct CGContext *CGContextRef; typedef struct CGImage *CGImageRef; typedef struct CGColorSpace *CGColorSpaceRef; typedef struct CGColor *CGColorRef; typedef struct CGGradient *CGGradientRef; typedef struct CGDataProvider *CGDataProviderRef; typedef const struct CGPath *CGPathRef; typedef struct CGPath *CGMutablePathRef; typedef struct CGPattern *CGPatternRef; typedef struct CGFont *CGFontRef; typedef const struct CGColorTransform *CGColorTransformRef; typedef struct CGImageDestination *CGImageDestinationRef; typedef struct CGImageSource *CGImageSourceRef; typedef struct CGImageMetadata *CGImageMetadataRef; typedef struct CGImageMetadata *CGMutableImageMetadataRef; typedef struct CGImageMetadataTag *CGImageMetadataTagRef; typedef struct CGShading *CGShadingRef; typedef struct CGPDFAnnotation *CGPDFAnnotationRef; typedef struct CGPDFPage *CGPDFPageRef; typedef struct CGPDFDocument *CGPDFDocumentRef; typedef struct CGImageProvider *CGImageProviderRef; typedef struct CGSRegionEnumeratorObject *CGSRegionEnumeratorObj; typedef struct CGSRegionObject *CGSRegionObj; typedef struct CGSRegionObject *CGRegionRef; typedef uint32_t CGRectEdge; typedef uint32_t CGSByteCount; typedef uint32_t CGSConnectionID; typedef uint32_t CGSWindowCount; typedef uint32_t CGSWindowID; typedef unsigned short CGFontIndex; typedef CGFontIndex CGGlyph; typedef CFTypeRef CGSRegionRef; typedef CFTypeRef CGSRegionEnumeratorRef; PS_ENUM(uint32_t, CGImageCachingFlags) { kCGImageCachingTransient = 1, kCGImageCachingTemporary = 3, }; PS_ENUM(int32_t, CGError) { kCGErrorSuccess = 0, kCGErrorFailure = 1000, kCGErrorIllegalArgument = 1001, kCGErrorInvalidConnection = 1002, kCGErrorInvalidContext = 1003, kCGErrorCannotComplete = 1004, kCGErrorNotImplemented = 1006, kCGErrorRangeCheck = 1007, kCGErrorTypeCheck = 1008, kCGErrorInvalidOperation = 1010, kCGErrorNoneAvailable = 1011 }; typedef enum CGCompositeOperation { kCGCompositeCopy = 1, kCGCompositeSover = 2, } CGCompositeOperation; PS_ENUM(int32_t, CGImageMetadataType) { kCGImageMetadataTypeInvalid = -1, kCGImageMetadataTypeDefault = 0, kCGImageMetadataTypeString = 1, kCGImageMetadataTypeArrayUnordered = 2, kCGImageMetadataTypeArrayOrdered = 3, kCGImageMetadataTypeAlternateArray = 4, kCGImageMetadataTypeAlternateText = 5, kCGImageMetadataTypeStructure = 6 }; PS_ENUM(int32_t, CGBlendMode) { kCGBlendModeNormal, kCGBlendModeMultiply, kCGBlendModeScreen, kCGBlendModeOverlay, kCGBlendModeDarken, kCGBlendModeLighten, kCGBlendModeColorDodge, kCGBlendModeColorBurn, kCGBlendModeSoftLight, kCGBlendModeHardLight, kCGBlendModeDifference, kCGBlendModeExclusion, kCGBlendModeHue, kCGBlendModeSaturation, kCGBlendModeColor, kCGBlendModeLuminosity, kCGBlendModeClear, kCGBlendModeCopy, kCGBlendModeSourceIn, kCGBlendModeSourceOut, kCGBlendModeSourceAtop, kCGBlendModeDestinationOver, kCGBlendModeDestinationIn, kCGBlendModeDestinationOut, kCGBlendModeDestinationAtop, kCGBlendModeXOR, kCGBlendModePlusDarker, kCGBlendModePlusLighter }; PS_ENUM(int32_t, CGInterpolationQuality) { kCGInterpolationDefault = 0, kCGInterpolationNone = 1, kCGInterpolationLow = 2, kCGInterpolationMedium = 4, kCGInterpolationHigh = 3 }; PS_ENUM(int32_t, CGPathDrawingMode) { kCGPathFill, kCGPathEOFill, kCGPathStroke, kCGPathFillStroke, kCGPathEOFillStroke }; PS_ENUM(int32_t, CGTextDrawingMode) { kCGTextFill, kCGTextStroke, kCGTextFillStroke, kCGTextInvisible, kCGTextFillClip, kCGTextStrokeClip, kCGTextFillStrokeClip, kCGTextClip }; PS_ENUM(int32_t, CGPatternTiling) { kCGPatternTilingNoDistortion, kCGPatternTilingConstantSpacingMinimalDistortion, kCGPatternTilingConstantSpacing }; PS_ENUM(uint32_t, CGImageAlphaInfo) { kCGImageAlphaNone, kCGImageAlphaPremultipliedLast, kCGImageAlphaPremultipliedFirst, kCGImageAlphaLast, kCGImageAlphaFirst, kCGImageAlphaNoneSkipLast, kCGImageAlphaNoneSkipFirst, kCGImageAlphaOnly }; PS_ENUM(uint32_t, CGGradientDrawingOptions) { kCGGradientDrawsBeforeStartLocation = (1 << 0), kCGGradientDrawsAfterEndLocation = (1 << 1) }; PS_ENUM(int32_t, CGColorRenderingIntent) { kCGRenderingIntentDefault, kCGRenderingIntentAbsoluteColorimetric, kCGRenderingIntentRelativeColorimetric, kCGRenderingIntentPerceptual, kCGRenderingIntentSaturation }; PS_ENUM(int32_t, CGColorSpaceModel) { kCGColorSpaceModelUnknown = -1, kCGColorSpaceModelMonochrome, kCGColorSpaceModelRGB, kCGColorSpaceModelCMYK, kCGColorSpaceModelLab, kCGColorSpaceModelDeviceN, kCGColorSpaceModelIndexed, kCGColorSpaceModelPattern, kCGColorSpaceModelXYZ }; PS_ENUM(int32_t, CGLineCap) { kCGLineCapButt, kCGLineCapRound, kCGLineCapSquare }; PS_ENUM(int32_t, CGLineJoin) { kCGLineJoinMiter, kCGLineJoinRound, kCGLineJoinBevel }; PS_ENUM(int32_t, CGPathElementType) { kCGPathElementMoveToPoint, kCGPathElementAddLineToPoint, kCGPathElementAddQuadCurveToPoint, kCGPathElementAddCurveToPoint, kCGPathElementCloseSubpath }; PS_ENUM(uint32_t, CGImageByteOrderInfo) { kCGImageByteOrderMask = 0x7000, kCGImageByteOrderDefault = (0 << 12), kCGImageByteOrder16Little = (1 << 12), kCGImageByteOrder32Little = (2 << 12), kCGImageByteOrder16Big = (3 << 12), kCGImageByteOrder32Big = (4 << 12) }; PS_ENUM(uint32_t, CGImagePixelFormatInfo) { kCGImagePixelFormatMask = 0xF0000, kCGImagePixelFormatPacked = (0 << 16), kCGImagePixelFormatRGB555 = (1 << 16), kCGImagePixelFormatRGB565 = (2 << 16), kCGImagePixelFormatRGB101010 = (3 << 16), kCGImagePixelFormatRGBCIF10 = (4 << 16), }; PS_ENUM(uint32_t, CGBitmapInfo) { kCGBitmapAlphaInfoMask = 0x1F, kCGBitmapFloatInfoMask = 0xF00, kCGBitmapFloatComponents = (1 << 8), kCGBitmapByteOrderMask = kCGImageByteOrderMask, kCGBitmapByteOrderDefault = kCGImageByteOrderDefault, kCGBitmapByteOrder16Little = kCGImageByteOrder16Little, kCGBitmapByteOrder32Little = kCGImageByteOrder32Little, kCGBitmapByteOrder16Big = kCGImageByteOrder16Big, kCGBitmapByteOrder32Big = kCGImageByteOrder32Big }; PS_ENUM(uint32_t, CGFontAntialiasingStyle) { kCGFontAntialiasingStyleUnfiltered = 0 << 7, kCGFontAntialiasingStyleFilterLight = 1 << 7, kCGFontAntialiasingStyleUnfilteredCustomDilation = (8 << 7), }; typedef enum CGContextType { kCGContextTypeUnknown, kCGContextTypePDF, kCGContextTypePostScript, kCGContextTypeWindow, kCGContextTypeBitmap, kCGContextTypeGL, kCGContextTypeDisplayList, kCGContextTypeKSeparation, kCGContextTypeIOSurface, kCGContextTypeCount } CGContextType; PS_ENUM(uint32_t, CGFontRenderingStyle) { kCGFontRenderingStyleAntialiasing = 1 << 0, kCGFontRenderingStyleSmoothing = 1 << 1, kCGFontRenderingStyleSubpixelPositioning = 1 << 2, kCGFontRenderingStyleSubpixelQuantization = 1 << 3, kCGFontRenderingStylePlatformNative = 1 << 9, kCGFontRenderingStyleMask = 0x20F, }; typedef struct CGPathElement { CGPathElementType type; CGPoint *points; } CGPathElement; typedef void (*CGPathApplyBlock)(const CGPathElement *element); typedef void (*CGPathApplierFunction)(void *info, const CGPathElement *element); typedef void (*CGPatternDrawPatternCallback)(void *info, CGContextRef context); typedef void (*CGPatternReleaseInfoCallback)(void *info); typedef bool (*CGPDFAnnotationDrawCallbackType)(CGContextRef context, CGPDFPageRef page, CGPDFAnnotationRef annotation); typedef struct CGPatternCallbacks { unsigned int version; CGPatternDrawPatternCallback drawPattern; CGPatternReleaseInfoCallback releaseInfo; } CGPatternCallbacks; extern const CGAffineTransform CGAffineTransformIdentity; extern const CGRect CGRectZero; extern const CGRect CGRectNull; extern const CGSize CGSizeZero; extern const CGPoint CGPointZero; #endif ================================================ FILE: CoreMedia/CoreMedia.h ================================================ #import "../BaseTypes.h" #import "../Kernel/Types.h" #import "../AudioToolbox/Types.h" #import "../CoreGraphics/Types.h" #import "../CoreFoundation/Types.h" #import "../CoreVideo/Types.h" #import "Types.h" Boolean CMAudioFormatDescriptionEqual(CMAudioFormatDescriptionRef formatDescription, CMAudioFormatDescriptionRef otherFormatDescription, CMAudioFormatDescriptionMask equalityMask, CMAudioFormatDescriptionMask *equalityMaskOut); Boolean CMDoesBigEndianSoundDescriptionRequireLegacyCBRSampleTableLayout(CMBlockBufferRef soundDescriptionBlockBuffer, CMSoundDescriptionFlavor flavor); Boolean CMFormatDescriptionEqual(CMFormatDescriptionRef formatDescription, CMFormatDescriptionRef otherFormatDescription); Boolean CMFormatDescriptionEqualIgnoringExtensionKeys(CMFormatDescriptionRef formatDescription, CMFormatDescriptionRef otherFormatDescription, CFTypeRef formatDescriptionExtensionKeysToIgnore, CFTypeRef sampleDescriptionExtensionAtomKeysToIgnore); Boolean CMSampleBufferDataIsReady(CMSampleBufferRef sbuf); Boolean CMSampleBufferHasDataFailed(CMSampleBufferRef sbuf, OSStatus *statusOut); Boolean CMSampleBufferIsValid(CMSampleBufferRef sbuf); Boolean CMTimeRangeContainsTime(CMTimeRange range, CMTime time); Boolean CMTimeRangeContainsTimeRange(CMTimeRange range, CMTimeRange otherRange); Boolean CMTimeRangeEqual(CMTimeRange range1, CMTimeRange range2); Boolean CMVideoFormatDescriptionGetVideoDynamicRange(CMVideoFormatDescriptionRef desc); Boolean CMVideoFormatDescriptionMatchesImageBuffer(CMVideoFormatDescriptionRef desc, CVImageBufferRef imageBuffer); CFArrayRef CMSampleBufferGetSampleAttachmentsArray(CMSampleBufferRef sbuf, Boolean createIfNecessary); CFArrayRef CMVideoFormatDescriptionGetExtensionKeysCommonWithImageBuffers(void); CFDictionaryRef CMCopyDictionaryOfAttachments(CFAllocatorRef allocator, CMAttachmentBearerRef target, CMAttachmentMode attachmentMode); CFDictionaryRef CMFormatDescriptionGetExtensions(CMFormatDescriptionRef desc); CFDictionaryRef CMTimeCopyAsDictionary(CMTime time, CFAllocatorRef allocator); CMNotificationCenterRef CMNotificationCenterCreate(void); CFPropertyListRef CMFormatDescriptionGetExtension(CMFormatDescriptionRef desc, CFStringRef extensionKey); CFStringRef CMTimeCopyDescription(CFAllocatorRef allocator, CMTime time); CFTypeID CMFormatDescriptionGetTypeID(void); CFTypeID FigEndpointManagerGetTypeID(void); CFTypeRef CMGetAttachment(CMAttachmentBearerRef target, CFStringRef key, CMAttachmentMode *attachmentModeOut); CGRect CMVideoFormatDescriptionGetCleanAperture(CMVideoFormatDescriptionRef videoDesc, Boolean originIsAtTopLeft); CGSize CMVideoFormatDescriptionGetPresentationDimensions(CMVideoFormatDescriptionRef videoDesc, Boolean usePixelAspectRatio, Boolean useCleanAperture); CMBlockBufferRef CMSampleBufferGetDataBuffer(CMSampleBufferRef sbuf); CMClockRef CMClockGetHostTimeClock(void); CMFormatDescriptionRef CMSampleBufferGetFormatDescription(CMSampleBufferRef sbuf); CMItemCount CMSampleBufferGetNumSamples(CMSampleBufferRef sbuf); CMMediaType CMFormatDescriptionGetMediaType(CMFormatDescriptionRef desc); CMNotificationCenterRef CMNotificationCenterGetDefaultLocalCenter(void); CMTime CMClockGetTime(CMClockRef clock); CMTime CMClockMakeHostTimeFromSystemUnits(uint64_t hostTime); CMTime CMSampleBufferGetDecodeTimeStamp(CMSampleBufferRef sbuf); CMTime CMSampleBufferGetDuration(CMSampleBufferRef sbuf); CMTime CMSampleBufferGetOutputDecodeTimeStamp(CMSampleBufferRef sbuf); CMTime CMSampleBufferGetOutputDuration(CMSampleBufferRef sbuf); CMTime CMSampleBufferGetOutputPresentationTimeStamp(CMSampleBufferRef sbuf); CMTime CMSampleBufferGetPresentationTimeStamp(CMSampleBufferRef sbuf); CMTime CMTimeAbsoluteValue(CMTime time); CMTime CMTimeAdd(CMTime lhs, CMTime rhs); CMTime CMTimeClampToRange(CMTime time, CMTimeRange range); CMTime CMTimeConvertScale(CMTime time, int32_t newTimescale, CMTimeRoundingMethod method); CMTime CMTimeMake(int64_t value, int32_t timescale); CMTime CMTimeMakeFromDictionary(CFDictionaryRef dictionaryRepresentation); CMTime CMTimeMakeWithEpoch(int64_t value, int32_t timescale, int64_t epoch); CMTime CMTimeMakeWithSeconds(Float64 seconds, int32_t preferredTimescale); CMTime CMTimeMaximum(CMTime time1, CMTime time2); CMTime CMTimeMinimum(CMTime time1, CMTime time2); CMTime CMTimeMultiply(CMTime time, int32_t multiplier); CMTime CMTimeMultiplyByFloat64(CMTime time, Float64 multiplier); CMTime CMTimeMultiplyByRatio(CMTime time, int32_t multiplier, int32_t divisor); CMTime CMTimeRangeGetEnd(CMTimeRange range); CMTime CMTimeSubtract(CMTime lhs, CMTime rhs); CMTimeRange CMTimeRangeFromTimeToTime(CMTime start, CMTime end); CMTimeRange CMTimeRangeGetIntersection(CMTimeRange range, CMTimeRange otherRange); CMTimeRange CMTimeRangeGetUnion(CMTimeRange range, CMTimeRange otherRange); CMTimeRange CMTimeRangeMake(CMTime start, CMTime duration); CMTimeRange CMTimeRangeMakeFromDictionary(CFDictionaryRef dictionaryRepresentation); CMVideoDimensions CMVideoFormatDescriptionGetDimensions(CMVideoFormatDescriptionRef videoDesc); const AudioChannelLayout *CMAudioFormatDescriptionGetChannelLayout(CMAudioFormatDescriptionRef desc, size_t *sizeOut); const AudioFormatListItem *CMAudioFormatDescriptionGetFormatList(CMAudioFormatDescriptionRef desc, size_t *sizeOut); const AudioFormatListItem *CMAudioFormatDescriptionGetMostCompatibleFormat(CMAudioFormatDescriptionRef desc); const AudioFormatListItem *CMAudioFormatDescriptionGetRichestDecodableFormat(CMAudioFormatDescriptionRef desc); const AudioStreamBasicDescription *CMAudioFormatDescriptionGetStreamBasicDescription(CMAudioFormatDescriptionRef desc); const void *CMAudioFormatDescriptionGetMagicCookie(CMAudioFormatDescriptionRef desc, size_t *sizeOut); CVImageBufferRef CMSampleBufferGetImageBuffer(CMSampleBufferRef sbuf); Float64 CMTimeGetSeconds(CMTime time); FourCharCode CMFormatDescriptionGetMediaSubType(CMFormatDescriptionRef desc); int32_t CMTimeCompare(CMTime time1, CMTime time2); OSStatus CMAudioFormatDescriptionCopyAsBigEndianSoundDescriptionBlockBuffer(CFAllocatorRef allocator, CMAudioFormatDescriptionRef audioFormatDescription, CMSoundDescriptionFlavor flavor, CMBlockBufferRef *blockBufferOut); OSStatus CMAudioFormatDescriptionCreate(CFAllocatorRef allocator, const AudioStreamBasicDescription *asbd, size_t layoutSize, const AudioChannelLayout *layout, size_t magicCookieSize, const void *magicCookie, CFDictionaryRef extensions, CMAudioFormatDescriptionRef *formatDescriptionOut); OSStatus CMAudioFormatDescriptionCreateFromBigEndianSoundDescriptionBlockBuffer(CFAllocatorRef allocator, CMBlockBufferRef soundDescriptionBlockBuffer, CMSoundDescriptionFlavor flavor, CMAudioFormatDescriptionRef *formatDescriptionOut); OSStatus CMAudioFormatDescriptionCreateFromBigEndianSoundDescriptionData(CFAllocatorRef allocator, const uint8_t *soundDescriptionData, size_t size, CMSoundDescriptionFlavor flavor, CMAudioFormatDescriptionRef *formatDescriptionOut); OSStatus CMAudioFormatDescriptionCreateSummary(CFAllocatorRef allocator, CFArrayRef formatDescriptionArray, uint32_t flags, CMAudioFormatDescriptionRef *formatDescriptionOut); OSStatus CMAudioSampleBufferCreateReadyWithPacketDescriptions(CFAllocatorRef allocator, CMBlockBufferRef dataBuffer, CMFormatDescriptionRef formatDescription, CMItemCount numSamples, CMTime presentationTimeStamp, const AudioStreamPacketDescription *packetDescriptions, CMSampleBufferRef *sampleBufferOut); OSStatus CMAudioSampleBufferCreateWithPacketDescriptions(CFAllocatorRef allocator, CMBlockBufferRef dataBuffer, Boolean dataReady, CMSampleBufferMakeDataReadyCallback makeDataReadyCallback, void *makeDataReadyRefcon, CMFormatDescriptionRef formatDescription, CMItemCount numSamples, CMTime presentationTimeStamp, const AudioStreamPacketDescription *packetDescriptions, CMSampleBufferRef *sampleBufferOut); OSStatus CMClockGetAnchorTime(CMClockRef clock, CMTime *clockTimeOut, CMTime *referenceClockTimeOut); OSStatus CMFormatDescriptionCreate(CFAllocatorRef allocator, CMMediaType mediaType, FourCharCode mediaSubType, CFDictionaryRef extensions, CMFormatDescriptionRef *formatDescriptionOut); OSStatus CMNotificationCenterAddListener(CMNotificationCenterRef inCenter, const void *inListener, CMNotificationCallback inCallBack, CFStringRef inNotificationName, const void *inObjectToObserve, UInt32 inFlags); OSStatus CMNotificationCenterRemoveListener(CMNotificationCenterRef inCenter, const void *inListener, CMNotificationCallback inCallBack, CFStringRef inNotificationName, const void *inObject); OSStatus CMSampleBufferCallBlockForEachSample(CMSampleBufferRef sbuf, OSStatus (*handler)(CMSampleBufferRef sampleBuffer, CMItemCount index)); OSStatus CMSampleBufferCallForEachSample(CMSampleBufferRef sbuf, OSStatus (*callback)(CMSampleBufferRef sampleBuffer, CMItemCount index, void *refcon), void *refcon); OSStatus CMSampleBufferCopyPCMDataIntoAudioBufferList(CMSampleBufferRef sbuf, int32_t frameOffset, int32_t numFrames, AudioBufferList *bufferList); OSStatus CMSampleBufferCopySampleBufferForRange(CFAllocatorRef allocator, CMSampleBufferRef sbuf, CFRange sampleRange, CMSampleBufferRef *sampleBufferOut); OSStatus CMSampleBufferCreate(CFAllocatorRef allocator, CMBlockBufferRef dataBuffer, Boolean dataReady, CMSampleBufferMakeDataReadyCallback makeDataReadyCallback, void *makeDataReadyRefcon, CMFormatDescriptionRef formatDescription, CMItemCount numSamples, CMItemCount numSampleTimingEntries, const CMSampleTimingInfo *sampleTimingArray, CMItemCount numSampleSizeEntries, const size_t *sampleSizeArray, CMSampleBufferRef *sampleBufferOut); OSStatus CMSampleBufferCreateCopy(CFAllocatorRef allocator, CMSampleBufferRef sbuf, CMSampleBufferRef *sampleBufferOut); OSStatus CMSampleBufferCreateCopyWithNewTiming(CFAllocatorRef allocator, CMSampleBufferRef originalSBuf, CMItemCount numSampleTimingEntries, const CMSampleTimingInfo *sampleTimingArray, CMSampleBufferRef *sampleBufferOut); OSStatus CMSampleBufferCreateForImageBuffer(CFAllocatorRef allocator, CVImageBufferRef imageBuffer, Boolean dataReady, CMSampleBufferMakeDataReadyCallback makeDataReadyCallback, void *makeDataReadyRefcon, CMVideoFormatDescriptionRef formatDescription, const CMSampleTimingInfo *sampleTiming, CMSampleBufferRef *sampleBufferOut); OSStatus CMSampleBufferCreateReady(CFAllocatorRef allocator, CMBlockBufferRef dataBuffer, CMFormatDescriptionRef formatDescription, CMItemCount numSamples, CMItemCount numSampleTimingEntries, const CMSampleTimingInfo *sampleTimingArray, CMItemCount numSampleSizeEntries, const size_t *sampleSizeArray, CMSampleBufferRef *sampleBufferOut); OSStatus CMSampleBufferCreateReadyWithImageBuffer(CFAllocatorRef allocator, CVImageBufferRef imageBuffer, CMVideoFormatDescriptionRef formatDescription, const CMSampleTimingInfo *sampleTiming, CMSampleBufferRef *sampleBufferOut); OSStatus CMSampleBufferGetAudioBufferListWithRetainedBlockBuffer(CMSampleBufferRef sbuf, size_t *bufferListSizeNeededOut, AudioBufferList *bufferListOut, size_t bufferListSize, CFAllocatorRef blockBufferStructureAllocator, CFAllocatorRef blockBufferBlockAllocator, uint32_t flags, CMBlockBufferRef *blockBufferOut); OSStatus CMSampleBufferGetAudioStreamPacketDescriptions(CMSampleBufferRef sbuf, size_t packetDescriptionsSize, AudioStreamPacketDescription *packetDescriptionsOut, size_t *packetDescriptionsSizeNeededOut); OSStatus CMSampleBufferGetAudioStreamPacketDescriptionsPtr(CMSampleBufferRef sbuf, const AudioStreamPacketDescription **packetDescriptionsPtrOut, size_t *packetDescriptionsSizeOut); OSStatus CMSampleBufferGetOutputSampleTimingInfoArray(CMSampleBufferRef sbuf, CMItemCount timingArrayEntries, CMSampleTimingInfo *timingArrayOut, CMItemCount *timingArrayEntriesNeededOut); OSStatus CMSampleBufferGetSampleSizeArray(CMSampleBufferRef sbuf, CMItemCount sizeArrayEntries, size_t *sizeArrayOut, CMItemCount *sizeArrayEntriesNeededOut); OSStatus CMSampleBufferGetSampleTimingInfo(CMSampleBufferRef sbuf, CMItemIndex sampleIndex, CMSampleTimingInfo *timingInfoOut); OSStatus CMSampleBufferGetSampleTimingInfoArray(CMSampleBufferRef sbuf, CMItemCount numSampleTimingEntries, CMSampleTimingInfo *timingArrayOut, CMItemCount *timingArrayEntriesNeededOut); OSStatus CMSampleBufferInvalidate(CMSampleBufferRef sbuf); OSStatus CMSampleBufferMakeDataReady(CMSampleBufferRef sbuf); OSStatus CMSampleBufferSetDataBuffer(CMSampleBufferRef sbuf, CMBlockBufferRef dataBuffer); OSStatus CMSampleBufferSetDataBufferFromAudioBufferList(CMSampleBufferRef sbuf, CFAllocatorRef blockBufferStructureAllocator, CFAllocatorRef blockBufferBlockAllocator, uint32_t flags, const AudioBufferList *bufferList); OSStatus CMSampleBufferSetDataFailed(CMSampleBufferRef sbuf, OSStatus status); OSStatus CMSampleBufferSetDataReady(CMSampleBufferRef sbuf); OSStatus CMSampleBufferSetInvalidateCallback(CMSampleBufferRef sbuf, CMSampleBufferInvalidateCallback invalidateCallback, uint64_t invalidateRefCon); OSStatus CMSampleBufferSetInvalidateHandler(CMSampleBufferRef sbuf, CMSampleBufferInvalidateHandler invalidateHandler); OSStatus CMSampleBufferSetOutputPresentationTimeStamp(CMSampleBufferRef sbuf, CMTime outputPresentationTimeStamp); OSStatus CMSampleBufferTrackDataReadiness(CMSampleBufferRef sbuf, CMSampleBufferRef sampleBufferToTrack); OSStatus CMSwapBigEndianSoundDescriptionToHost(uint8_t *soundDescriptionData, size_t soundDescriptionSize); OSStatus CMSwapHostEndianSoundDescriptionToBig(uint8_t *soundDescriptionData, size_t soundDescriptionSize); OSStatus CMVideoFormatDescriptionCreate(CFAllocatorRef allocator, CMVideoCodecType codecType, int32_t width, int32_t height, CFDictionaryRef extensions, CMVideoFormatDescriptionRef *formatDescriptionOut); OSStatus CMVideoFormatDescriptionCreateForImageBuffer(CFAllocatorRef allocator, CVImageBufferRef imageBuffer, CMVideoFormatDescriptionRef *formatDescriptionOut); OSStatus CMVideoFormatDescriptionCreateFromH264ParameterSets(CFAllocatorRef allocator, size_t parameterSetCount, const uint8_t *const *parameterSetPointers, const size_t *parameterSetSizes, int NALUnitHeaderLength, CMFormatDescriptionRef *formatDescriptionOut); OSStatus CMVideoFormatDescriptionCreateFromHEVCParameterSets(CFAllocatorRef allocator, size_t parameterSetCount, const uint8_t *const *parameterSetPointers, const size_t *parameterSetSizes, int NALUnitHeaderLength, CFDictionaryRef extensions, CMFormatDescriptionRef *formatDescriptionOut); OSStatus CMVideoFormatDescriptionGetH264ParameterSetAtIndex(CMFormatDescriptionRef videoDesc, size_t parameterSetIndex, const uint8_t ** parameterSetPointerOut, size_t *parameterSetSizeOut, size_t *parameterSetCountOut, int *NALUnitHeaderLengthOut); OSStatus CMVideoFormatDescriptionGetHEVCParameterSetAtIndex(CMFormatDescriptionRef videoDesc, size_t parameterSetIndex, const uint8_t **parameterSetPointerOut, size_t *parameterSetSizeOut, size_t *parameterSetCountOut, int *NALUnitHeaderLengthOut); size_t CMSampleBufferGetSampleSize(CMSampleBufferRef sbuf, CMItemIndex sampleIndex); size_t CMSampleBufferGetTotalSampleSize(CMSampleBufferRef sbuf); uint64_t CMClockConvertHostTimeToSystemUnits(CMTime hostTime); void CMNotificationCenterPostNotification(CFNotificationCenterRef center, CFNotificationName name, const void *object, CFDictionaryRef userInfo); void CMSetAttachment(CMAttachmentBearerRef target, CFStringRef key, CFTypeRef value, CMAttachmentMode attachmentMode); void CMTimeShow(CMTime time); void *CMBaseObjectGetDerivedStorage(CMBaseObjectRef o); const CMBaseVTable *CMBaseObjectGetVTable(CMBaseObjectRef o); ================================================ FILE: CoreMedia/Types.h ================================================ #ifndef COREMEDIA_H_ #define COREMEDIA_H_ #import "../BaseTypes.h" #import "../CoreFoundation/Types.h" #import "../Kernel/Types.h" typedef int64_t CMTimeValue; typedef int64_t CMTimeEpoch; typedef int32_t CMTimeScale; typedef uint32_t CMBaseClassVersion; typedef uint32_t CMStructVersion; typedef double Float64; typedef long CMItemCount; typedef long CMItemIndex; PS_ENUM(uint32_t, CMAttachmentMode) { kCMAttachmentMode_ShouldNotPropagate = 0, kCMAttachmentMode_ShouldPropagate = 1 }; PS_ENUM(uint32_t, CMTimeFlags) { kCMTimeFlags_Valid = 1UL<<0, kCMTimeFlags_HasBeenRounded = 1UL<<1, kCMTimeFlags_PositiveInfinity = 1UL<<2, kCMTimeFlags_NegativeInfinity = 1UL<<3, kCMTimeFlags_Indefinite = 1UL<<4, kCMTimeFlags_ImpliedValueFlagsMask = kCMTimeFlags_PositiveInfinity | kCMTimeFlags_NegativeInfinity | kCMTimeFlags_Indefinite }; PS_ENUM(uint32_t, CMAudioFormatDescriptionMask) { kCMAudioFormatDescriptionMask_StreamBasicDescription = (1<<0), kCMAudioFormatDescriptionMask_MagicCookie = (1<<1), kCMAudioFormatDescriptionMask_ChannelLayout = (1<<2), kCMAudioFormatDescriptionMask_Extensions = (1<<3), kCMAudioFormatDescriptionMask_All = kCMAudioFormatDescriptionMask_StreamBasicDescription | kCMAudioFormatDescriptionMask_MagicCookie | kCMAudioFormatDescriptionMask_ChannelLayout | kCMAudioFormatDescriptionMask_Extensions }; PS_ENUM(uint32_t, CMTimeRoundingMethod) { kCMTimeRoundingMethod_RoundHalfAwayFromZero = 1, kCMTimeRoundingMethod_RoundTowardZero = 2, kCMTimeRoundingMethod_RoundAwayFromZero = 3, kCMTimeRoundingMethod_QuickTime = 4, kCMTimeRoundingMethod_RoundTowardPositiveInfinity = 5, kCMTimeRoundingMethod_RoundTowardNegativeInfinity = 6, kCMTimeRoundingMethod_Default = kCMTimeRoundingMethod_RoundHalfAwayFromZero }; PS_ENUM(FourCharCode, CMMediaType) { kCMMediaType_Video = 'vide', kCMMediaType_Audio = 'soun', kCMMediaType_Muxed = 'muxx', kCMMediaType_Text = 'text', kCMMediaType_ClosedCaption = 'clcp', kCMMediaType_Subtitle = 'sbtl', kCMMediaType_TimeCode = 'tmcd', kCMMediaType_Metadata = 'meta' }; PS_ENUM(FourCharCode, CMPixelFormatType) { kCMPixelFormat_32ARGB = 32, kCMPixelFormat_32BGRA = 'BGRA', kCMPixelFormat_24RGB = 24, kCMPixelFormat_16BE555 = 16, kCMPixelFormat_16BE565 = 'B565', kCMPixelFormat_16LE555 = 'L555', kCMPixelFormat_16LE565 = 'L565', kCMPixelFormat_16LE5551 = '5551', kCMPixelFormat_422YpCbCr8 = '2vuy', kCMPixelFormat_422YpCbCr8_yuvs = 'yuvs', kCMPixelFormat_444YpCbCr8 = 'v308', kCMPixelFormat_4444YpCbCrA8 = 'v408', kCMPixelFormat_422YpCbCr16 = 'v216', kCMPixelFormat_422YpCbCr10 = 'v210', kCMPixelFormat_444YpCbCr10 = 'v410', kCMPixelFormat_8IndexedGray_WhiteIsZero = 0x00000028 }; PS_ENUM(FourCharCode, CMVideoCodecType) { kCMVideoCodecType_422YpCbCr8 = kCMPixelFormat_422YpCbCr8, kCMVideoCodecType_Animation = 'rle ', kCMVideoCodecType_Cinepak = 'cvid', kCMVideoCodecType_JPEG = 'jpeg', kCMVideoCodecType_JPEG_OpenDML = 'dmb1', kCMVideoCodecType_SorensonVideo = 'SVQ1', kCMVideoCodecType_SorensonVideo3 = 'SVQ3', kCMVideoCodecType_H263 = 'h263', kCMVideoCodecType_H264 = 'avc1', kCMVideoCodecType_HEVC = 'hvc1', kCMVideoCodecType_HEVCWithAlpha = 'muxa', kCMVideoCodecType_VP9 = 'vp09', kCMVideoCodecType_AV1 = 'av01', kCMVideoCodecType_MPEG4Video = 'mp4v', kCMVideoCodecType_MPEG2Video = 'mp2v', kCMVideoCodecType_MPEG1Video = 'mp1v', kCMVideoCodecType_DVCNTSC = 'dvc ', kCMVideoCodecType_DVCPAL = 'dvcp', kCMVideoCodecType_DVCProPAL = 'dvpp', kCMVideoCodecType_DVCPro50NTSC = 'dv5n', kCMVideoCodecType_DVCPro50PAL = 'dv5p', kCMVideoCodecType_DVCPROHD720p60 = 'dvhp', kCMVideoCodecType_DVCPROHD720p50 = 'dvhq', kCMVideoCodecType_DVCPROHD1080i60 = 'dvh6', kCMVideoCodecType_DVCPROHD1080i50 = 'dvh5', kCMVideoCodecType_DVCPROHD1080p30 = 'dvh3', kCMVideoCodecType_DVCPROHD1080p25 = 'dvh2', kCMVideoCodecType_AppleProRes4444XQ = 'ap4x', kCMVideoCodecType_AppleProRes4444 = 'ap4h', kCMVideoCodecType_AppleProRes422HQ = 'apch', kCMVideoCodecType_AppleProRes422 = 'apcn', kCMVideoCodecType_AppleProRes422LT = 'apcs', kCMVideoCodecType_AppleProRes422Proxy = 'apco', kCMVideoCodecType_AppleProResRAW = 'aprn', kCMVideoCodecType_AppleProResRAWHQ = 'aprh' }; typedef CFTypeRef CMAttachmentBearerRef; typedef CFStringRef CMSoundDescriptionFlavor; typedef struct OpaqueCMBaseObject *CMBaseObjectRef; typedef struct OpaqueCMBaseClass *CMBaseClassID; typedef struct OpaqueCMBlockBuffer *CMBlockBufferRef; typedef struct OpaqueCMClock *CMClockRef; typedef struct opaqueCMSampleBuffer *CMSampleBufferRef; typedef struct opaqueCMFormatDescription *CMFormatDescriptionRef; typedef struct opaqueCMNotificationCenter *CMNotificationCenterRef; typedef struct CMBaseProtocolTable CMBaseProtocolTable; typedef CMFormatDescriptionRef CMVideoFormatDescriptionRef; typedef CMFormatDescriptionRef CMAudioFormatDescriptionRef; typedef OSStatus (*CMBaseObjectCopyPropertyFunction)(CMBaseObjectRef object, CFStringRef propertyKey, CFAllocatorRef allocator, void *propertyValueOut); typedef OSStatus (*CMBaseObjectSetPropertyFunction)(CMBaseObjectRef object, CFStringRef propertyKey, CFTypeRef propertyValue); typedef OSStatus (*CMSampleBufferMakeDataReadyCallback)(CMSampleBufferRef sbuf, void *makeDataReadyRefcon); typedef void (*CMSampleBufferInvalidateHandler)(CMSampleBufferRef sbuf); typedef void (*CMSampleBufferInvalidateCallback)(CMSampleBufferRef sbuf, uint64_t invalidateRefCon); typedef void (*CMNotificationCallback)(CMNotificationCenterRef inCenter, const void *inListener, CFStringRef inNotificationName, const void *inNotifyingObject, CFTypeRef inNotificationPayload); typedef struct CMVideoDimensions { int32_t width; int32_t height; } CMVideoDimensions; typedef struct CMTime { CMTimeValue value; CMTimeScale timescale; CMTimeFlags flags; CMTimeEpoch epoch; } CMTime; typedef struct CMTimeRange { CMTime duration; CMTime start; } CMTimeRange; typedef struct CMSampleTimingInfo { CMTime duration; CMTime presentationTimeStamp; CMTime decodeTimeStamp; } CMSampleTimingInfo; typedef struct CMBaseClass { CMBaseClassVersion version; size_t derivedStorageSize; Boolean (*equal)(CMBaseObjectRef o, CMBaseObjectRef compareTo); OSStatus (*invalidate)(CMBaseObjectRef o); void (*finalize)(CMBaseObjectRef o); CFStringRef (*copyDebugDescription)(CMBaseObjectRef o); CMBaseObjectCopyPropertyFunction copyProperty; CMBaseObjectSetPropertyFunction setProperty; OSStatus (*notificationBarrier)(CMBaseObjectRef o); const CMBaseProtocolTable *protocolTable; } CMBaseClass; typedef struct CMBaseVTable { const struct OpaqueCMBaseVTableReserved *reserved; const CMBaseClass *baseClass; } CMBaseVTable; CMTime kCMTimeZero; #endif ================================================ FILE: CoreServices/CoreServices.h ================================================ #import "../BaseTypes.h" #import "../CoreFoundation/Types.h" #import "Types.h" Boolean UTTypeConformsTo(CFStringRef inUTI, CFStringRef inConformsToUTI); Boolean UTTypeEqual(CFStringRef inUTI1, CFStringRef inUTI2); CFArrayRef UTTypeCreateAllIdentifiersForTag(CFStringRef inTagClass, CFStringRef inTag, CFStringRef inConformingToUTI); CFStringRef UTTypeCopyDescription(CFStringRef inUTI); CFStringRef UTTypeCopyPreferredTagWithClass(CFStringRef inUTI, CFStringRef inTagClass); CFStringRef UTTypeCreatePreferredIdentifierForTag(CFStringRef inTagClass, CFStringRef inTag, CFStringRef inConformingToUTI); ================================================ FILE: CoreServices/Types.h ================================================ #ifndef CORESERVICES_H_ #define CORESERVICES_H_ #endif ================================================ FILE: CoreText/CoreText.h ================================================ #import "../BaseTypes.h" #import "../CoreFoundation/Types.h" #import "../CoreGraphics/Types.h" #import "Types.h" CGAffineTransform CTRunGetTextMatrix(CTRunRef run); CGPathRef CTFontCreatePathForGlyph(CTFontRef font, CGGlyph glyph, const CGAffineTransform *matrix); CGPathRef CTFrameGetPath(CTFrameRef frame); CGFontRef CTFontCopyGraphicsFont(CTFontRef font, CTFontDescriptorRef *attributes); CGGlyph CTFontGetGlyphWithName(CTFontRef font, CFStringRef glyphName); const CGGlyph *CTRunGetGlyphsPtr(CTRunRef run); const CGPoint *CTRunGetPositionsPtr(CTRunRef run); const CGSize *CTRunGetAdvancesPtr(CTRunRef run); const CFIndex *CTRunGetStringIndicesPtr(CTRunRef run); CGFloat CTFontGetSize(CTFontRef font); CGFloat CTFontGetAscent(CTFontRef font); CGFloat CTFontGetDescent(CTFontRef font); CGFloat CTFontGetLeading(CTFontRef font); CGFloat CTFontGetUnderlinePosition(CTFontRef font); CGFloat CTFontGetUnderlineThickness(CTFontRef font); CGFloat CTFontGetSlantAngle(CTFontRef font); CGFloat CTFontGetCapHeight(CTFontRef font); CGFloat CTFontGetXHeight(CTFontRef font); CGFloat CTLineGetOffsetForStringIndex(CTLineRef line, CFIndex charIndex, CGFloat *secondaryOffset); CGRect CTFontGetBoundingRectsForGlyphs(CTFontRef font, CTFontOrientation orientation, const CGGlyph glyphs[], CGRect *boundingRects, CFIndex count); CGRect CTFontGetOpticalBoundsForGlyphs(CTFontRef font, const CGGlyph glyphs[], CGRect *boundingRects, CFIndex count, CFOptionFlags options); CGRect CTFontGetBoundingBox(CTFontRef font); CGRect CTLineGetBoundsWithOptions(CTLineRef line, CTLineBoundsOptions options); CGRect CTLineGetImageBounds(CTLineRef line, CGContextRef context); CGRect CTRunGetImageBounds(CTRunRef run, CGContextRef context, CFRange range); CGSize CTFramesetterSuggestFrameSizeWithConstraints(CTFramesetterRef framesetter, CFRange stringRange, CFDictionaryRef frameAttributes, CGSize constraints, CFRange *fitRange); CGSize CTFontShapeGlyphs(CTFontRef, CGGlyph glyphs[], CGSize advances[], CGPoint origins[], CFIndex indexes[], const UniChar chars[], CFIndex count, CTFontShapeOptions, CFStringRef language, void (*handler)(CFRange, CGGlyph**, CGSize**, CGPoint**, CFIndex**)); CGSize CTRunGetInitialAdvance(CTRunRef); CGAffineTransform CTFontGetMatrix(CTFontRef font); CFTypeID CTRunGetTypeID(void); CFTypeID CTFontGetTypeID(void); CFTypeID CTFontDescriptorGetTypeID(void); CFRange CTRunGetStringRange(CTRunRef run); CFRange CTLineGetStringRange(CTLineRef line); CFRange CTFrameGetStringRange(CTFrameRef frame); CFRange CTFrameGetVisibleStringRange(CTFrameRef frame); CFStringEncoding CTFontGetStringEncoding(CTFontRef font); CFIndex CTRunGetGlyphCount(CTRunRef run); CFIndex CTFontGetGlyphCount(CTFontRef font); CFIndex CTFontGetLigatureCaretPositions(CTFontRef font, CGGlyph glyph, CGFloat *positions, CFIndex maxPositions); CFIndex CTLineGetGlyphCount(CTLineRef line); CFIndex CTLineGetStringIndexForPosition(CTLineRef line, CGPoint position); CFTypeRef CTFontCopyAttribute(CTFontRef font, CFStringRef attribute); CFTypeRef CTFontDescriptorCopyAttribute(CTFontDescriptorRef descriptor, CFStringRef attribute); CFTypeRef CTFontDescriptorCopyLocalizedAttribute(CTFontDescriptorRef descriptor, CFStringRef attribute, CFStringRef *language); CFStringRef CTFontCopyFullName(CTFontRef font); CFStringRef CTFontCopyPostScriptName(CTFontRef font); CFStringRef CTFontCopyFamilyName(CTFontRef font); CFStringRef CTFontCopyDisplayName(CTFontRef font); CFStringRef CTFontCopyName(CTFontRef font, CFStringRef nameKey); CFStringRef CTFontCopyLocalizedName(CTFontRef font, CFStringRef nameKey, CFStringRef *actualLanguage); CFStringRef CTFontCopyLocalizedNameWithLanguages(CTFontRef font, CFStringRef nameKey, int unk, CFStringRef *actualLanguage); CFStringRef CTFontCopyNameForGlyph(CTFontRef font, CGGlyph glyph); CFDictionaryRef CTRunGetAttributes(CTRunRef run); CFDictionaryRef CTFrameGetFrameAttributes(CTFrameRef frame); CFDictionaryRef CTFontDescriptorCopyAttributes(CTFontDescriptorRef descriptor); CFDictionaryRef CTFontCopyTraits(CTFontRef font); CFArrayRef CTLineGetGlyphRuns(CTLineRef line); CFArrayRef CTFrameGetLines(CTFrameRef frame); CFArrayRef CTFontCopySupportedLanguages(CTFontRef font); CFArrayRef CTFontCopyFeatures(CTFontRef font); CFArrayRef CTFontCopyDefaultCascadeListForLanguages(CTFontRef font, CFArrayRef languagePrefList); CFArrayRef CTFontCollectionCreateMatchingFontDescriptors(CTFontCollectionRef collection); CFArrayRef CTFontManagerCreateFontDescriptorsFromData(CFDataRef); CFCharacterSetRef CTFontCopyCharacterSet(CTFontRef font); CFCharacterSetRef CTFontCopyLogicalCharacterSet(CTFontRef font); CFBitVectorRef CTFontCopyGlyphCoverageForFeature(CTFontRef, CFDictionaryRef feature); CTRunStatus CTRunGetStatus(CTRunRef run); double CTFontGetAdvancesForGlyphs(CTFontRef font, CTFontOrientation orientation, const CGGlyph glyphs[], CGSize advances[], CFIndex count); double CTLineGetPenOffsetForFlush(CTLineRef line, CGFloat flushFactor, double flushWidth); double CTLineGetTypographicBounds(CTLineRef line, CGFloat *ascent, CGFloat *descent, CGFloat *leading); double CTLineGetTrailingWhitespaceWidth(CTLineRef line); double CTRunGetTypographicBounds(CTRunRef run, CFRange range, CGFloat *ascent, CGFloat *descent, CGFloat *leading); unsigned int CTFontGetUnitsPerEm(CTFontRef font); bool CTFontGetGlyphsForCharacters(CTFontRef font, const UniChar characters[], CGGlyph glyphs[], CFIndex count); bool CTFontGetVerticalGlyphsForCharacters(CTFontRef, const UniChar characters[], CGGlyph glyphs[], CFIndex count); bool CTFontGetGlyphsForCharacterRange(CTFontRef, CGGlyph glyphs[], CFRange); bool CTFontTransformGlyphs(CTFontRef, CGGlyph *glyphs, CGSize *advances, CFIndex count, CTFontTransformOptions); bool CTFontIsAppleColorEmoji(CTFontRef font); bool CTFontIsSystemUIFont(CTFontRef font); bool CTFontDescriptorIsSystemUIFont(CTFontDescriptorRef); void CTFontGetVerticalTranslationsForGlyphs(CTFontRef font, const CGGlyph glyphs[], CGSize translations[], CFIndex count); void CTFontGetUnsummedAdvancesForGlyphsAndStyle(CTFontRef, CTFontOrientation, CGFontRenderingStyle, const CGGlyph[], CGSize advances[], CFIndex count); void CTFontGetTransformedAdvancesForGlyphsAndStyle(CTFontRef, CTFontOrientation, CGFontRenderingStyle, const CGAffineTransform *, const CGGlyph[], CGSize advances[], CFIndex count); void CTFontDrawGlyphs(CTFontRef font, const CGGlyph glyphs[], const CGPoint positions[], size_t count, CGContextRef context); void CTFontDrawGlyphsAtPositions(CTFontRef font, const CGGlyph glyphs[], CGPoint positions[], size_t count, CGContextRef context); void CTRunGetGlyphs(CTRunRef run, CFRange range, CGGlyph *buffer); void CTRunGetPositions(CTRunRef run, CFRange range, CGPoint *buffer); void CTRunGetAdvances(CTRunRef run, CFRange range, CGSize *buffer); void CTRunGetStringIndices(CTRunRef run, CFRange range, CFIndex *buffer); void CTRunGetBaseAdvancesAndOrigins(CTRunRef runRef, CFRange range, CGSize *advancesBuffer, CGPoint *originsBuffer); void CTRunDraw(CTRunRef run, CGContextRef context, CFRange range); void CTFrameDraw(CTFrameRef frame, CGContextRef context); void CTFrameGetLineOrigins(CTFrameRef frame, CFRange range, CGPoint *origins); void CTLineDraw(CTLineRef line, CGContextRef context); void CTParagraphStyleSetCompositionLanguage(CTParagraphStyleRef, CTCompositionLanguage); CTFontRef CTFontCreateWithName(CFStringRef name, CGFloat size, const CGAffineTransform *matrix); CTFontRef CTFontCreateWithNameAndOptions(CFStringRef name, CGFloat size, const CGAffineTransform *matrix, CTFontOptions options); CTFontRef CTFontCreateWithFontDescriptor(CTFontDescriptorRef descriptor, CGFloat size, const CGAffineTransform *matrix); CTFontRef CTFontCreateWithFontDescriptorAndOptions(CTFontDescriptorRef descriptor, CGFloat size, const CGAffineTransform *matrix, CTFontOptions options); CTFontRef CTFontCreateWithGraphicsFont(CGFontRef graphicsFont, CGFloat size, const CGAffineTransform *matrix, CTFontDescriptorRef attributes); CTFontRef CTFontCreateForCharacters(CTFontRef currentFont, const UTF16Char *characters, CFIndex length, CFIndex *coveredLength); CTFontRef CTFontCreateForCharactersWithLanguage(CTFontRef currentFont, const UTF16Char *characters, CFIndex length, CFStringRef language, CFIndex *coveredLength); CTFontRef CTFontCreateForCharactersWithLanguageAndOption(CTFontRef currentFont, const UTF16Char *characters, CFIndex length, CFStringRef language, CTFontFallbackOption option, CFIndex *coveredLength); CTFontRef CTFontCreateUIFontForLanguage(CTFontUIFontType uiType, CGFloat size, CFStringRef language); CTFontRef CTFontCreateCopyWithAttributes(CTFontRef font, CGFloat size, const CGAffineTransform *matrix, CTFontDescriptorRef attributes); CTFontRef CTFontCreateCopyWithSymbolicTraits(CTFontRef font, CGFloat size, const CGAffineTransform *matrix, CTFontSymbolicTraits symTraitValue, CTFontSymbolicTraits symTraitMask); CTFontRef CTFontCreateCopyWithFamily(CTFontRef font, CGFloat size, const CGAffineTransform *matrix, CFStringRef family); CTFontRef CTFontCreateForString(CTFontRef currentFont, CFStringRef string, CFRange range); CTFontRef CTFontCreateForStringWithLanguage(CTFontRef currentFont, CFStringRef string, CFRange range, CFStringRef language); CTFontRef CTFontCopyPhysicalFont(CTFontRef); CTFontDescriptorRef CTFontDescriptorCreateMatchingFontDescriptor(CTFontDescriptorRef descriptor, CFSetRef mandatoryAttributes); CTFontDescriptorRef CTFontDescriptorCreateWithAttributes(CFDictionaryRef attributes); CTFontDescriptorRef CTFontDescriptorCreateWithAttributesAndOptions(CFDictionaryRef attributes, CTFontDescriptorOptions); CTFontDescriptorRef CTFontDescriptorCreateWithNameAndSize(CFStringRef name, CGFloat size); CTFontDescriptorRef CTFontDescriptorCreateWithTextStyle(CFStringRef style, CFStringRef size, CFStringRef language); CTFontDescriptorRef CTFontDescriptorCreateForUIType(CTFontUIFontType, CGFloat size, CFStringRef language); CTFontDescriptorRef CTFontDescriptorCreateCopyWithSymbolicTraits(CTFontDescriptorRef original, CTFontSymbolicTraits symTraitValue, CTFontSymbolicTraits symTraitMask); CTFontDescriptorRef CTFontDescriptorCreateCopyWithAttributes(CTFontDescriptorRef original, CFDictionaryRef attributes); CTFontDescriptorRef CTFontDescriptorCreateForCSSFamily(CFStringRef cssFamily, CFStringRef language); CTFontDescriptorRef CTFontDescriptorCreateLastResort(void); CTFontDescriptorRef CTFontCopyFontDescriptor(CTFontRef font); CTFontCollectionRef CTFontCollectionCreateFromAvailableFonts(CFDictionaryRef options); CTFontSymbolicTraits CTFontGetSymbolicTraits(CTFontRef font); CTFontSymbolicTraits CTFontGetPhysicalSymbolicTraits(CTFontRef font); CTFrameRef CTFramesetterCreateFrame(CTFramesetterRef framesetter, CFRange stringRange, CGPathRef path, CFDictionaryRef frameAttributes); CTFramesetterRef CTFramesetterCreateWithAttributedString(CFAttributedStringRef string); CTTypesetterRef CTFramesetterGetTypesetter(CTFramesetterRef framesetter); CTTypesetterRef CTTypesetterCreateWithUniCharProviderAndOptions(CTUniCharProviderCallback, CTUniCharDisposeCallback, void *refCon, CFDictionaryRef options); CTLineRef CTLineCreateWithAttributedString(CFAttributedStringRef attrString); CTLineRef CTLineCreateWithUniCharProvider(CTUniCharProviderCallback, CTUniCharDisposeCallback, void *refCon); CTLineRef CTLineCreateTruncatedLine(CTLineRef line, double width, CTLineTruncationType truncationType, CTLineRef truncationToken); CTLineRef CTLineCreateJustifiedLine(CTLineRef line, CGFloat justificationFactor, double justificationWidth); ================================================ FILE: CoreText/Types.h ================================================ #ifndef CORETEXT_H_ #define CORETEXT_H_ #import "../BaseTypes.h" #import "../CoreFoundation/Types.h" typedef struct __CTFont *CTFontRef; typedef struct __CTFontDescriptor *CTFontDescriptorRef; typedef struct __CTFontCollection *CTFontCollectionRef; typedef struct __CTRun *CTRunRef; typedef struct __CTLine *CTLineRef; typedef struct __CTTypesetter *CTTypesetterRef; typedef struct __CTFrame *CTFrameRef; typedef struct __CTFramesetter *CTFramesetterRef; typedef struct __CTParagraphStyle *CTParagraphStyleRef; enum { kCTFontOptionsPreferSystemFont = 1 << 2 }; PS_ENUM(uint32_t, CTFontOrientation) { kCTFontOrientationDefault = 0, kCTFontOrientationHorizontal = 1, kCTFontOrientationVertical = 2 }; PS_ENUM(uint32_t, CTFontDescriptorOptions) { kCTFontDescriptorOptionSystemUIFont = 1 << 1, kCTFontDescriptorOptionPreferAppleSystemFont = kCTFontOptionsPreferSystemFont }; enum { kCTFontClassMaskShift = 28 }; PS_ENUM(uint32_t, CTFontSymbolicTraits) { kCTFontTraitItalic = (1 << 0), kCTFontTraitBold = (1 << 1), kCTFontTraitExpanded = (1 << 5), kCTFontTraitCondensed = (1 << 6), kCTFontTraitMonoSpace = (1 << 10), kCTFontTraitVertical = (1 << 11), kCTFontTraitUIOptimized = (1 << 12), kCTFontTraitColorGlyphs = (1 << 13), kCTFontTraitComposite = (1 << 14), kCTFontTraitClassMask = (15U << kCTFontClassMaskShift), kCTFontItalicTrait = kCTFontTraitItalic, kCTFontBoldTrait = kCTFontTraitBold, kCTFontExpandedTrait = kCTFontTraitExpanded, kCTFontCondensedTrait = kCTFontTraitCondensed, kCTFontMonoSpaceTrait = kCTFontTraitMonoSpace, kCTFontVerticalTrait = kCTFontTraitVertical, kCTFontUIOptimizedTrait = kCTFontTraitUIOptimized, kCTFontColorGlyphsTrait = kCTFontTraitColorGlyphs, kCTFontCompositeTrait = kCTFontTraitComposite, kCTFontClassMaskTrait = kCTFontTraitClassMask }; PS_ENUM(uint32_t, CTFontUIFontType) { kCTFontUIFontNone = (uint32_t)-1, kCTFontUIFontUser = 0, kCTFontUIFontUserFixedPitch = 1, kCTFontUIFontSystem = 2, kCTFontUIFontEmphasizedSystem = 3, kCTFontUIFontSmallSystem = 4, kCTFontUIFontSmallEmphasizedSystem = 5, kCTFontUIFontMiniSystem = 6, kCTFontUIFontMiniEmphasizedSystem = 7, kCTFontUIFontViews = 8, kCTFontUIFontApplication = 9, kCTFontUIFontLabel = 10, kCTFontUIFontMenuTitle = 11, kCTFontUIFontMenuItem = 12, kCTFontUIFontMenuItemMark = 13, kCTFontUIFontMenuItemCmdKey = 14, kCTFontUIFontWindowTitle = 15, kCTFontUIFontPushButton = 16, kCTFontUIFontUtilityWindowTitle = 17, kCTFontUIFontAlertHeader = 18, kCTFontUIFontSystemDetail = 19, kCTFontUIFontEmphasizedSystemDetail = 20, kCTFontUIFontToolbar = 21, kCTFontUIFontSmallToolbar = 22, kCTFontUIFontMessage = 23, kCTFontUIFontPalette = 24, kCTFontUIFontToolTip = 25, kCTFontUIFontControlContent = 26, kCTFontNoFontType = kCTFontUIFontNone, kCTFontUserFontType = kCTFontUIFontUser, kCTFontUserFixedPitchFontType = kCTFontUIFontUserFixedPitch, kCTFontSystemFontType = kCTFontUIFontSystem, kCTFontEmphasizedSystemFontType = kCTFontUIFontEmphasizedSystem, kCTFontSmallSystemFontType = kCTFontUIFontSmallSystem, kCTFontSmallEmphasizedSystemFontType = kCTFontUIFontSmallEmphasizedSystem, kCTFontMiniSystemFontType = kCTFontUIFontMiniSystem, kCTFontMiniEmphasizedSystemFontType = kCTFontUIFontMiniEmphasizedSystem, kCTFontViewsFontType = kCTFontUIFontViews, kCTFontApplicationFontType = kCTFontUIFontApplication, kCTFontLabelFontType = kCTFontUIFontLabel, kCTFontMenuTitleFontType = kCTFontUIFontMenuTitle, kCTFontMenuItemFontType = kCTFontUIFontMenuItem, kCTFontMenuItemMarkFontType = kCTFontUIFontMenuItemMark, kCTFontMenuItemCmdKeyFontType = kCTFontUIFontMenuItemCmdKey, kCTFontWindowTitleFontType = kCTFontUIFontWindowTitle, kCTFontPushButtonFontType = kCTFontUIFontPushButton, kCTFontUtilityWindowTitleFontType = kCTFontUIFontUtilityWindowTitle, kCTFontAlertHeaderFontType = kCTFontUIFontAlertHeader, kCTFontSystemDetailFontType = kCTFontUIFontSystemDetail, kCTFontEmphasizedSystemDetailFontType = kCTFontUIFontEmphasizedSystemDetail, kCTFontToolbarFontType = kCTFontUIFontToolbar, kCTFontSmallToolbarFontType = kCTFontUIFontSmallToolbar, kCTFontMessageFontType = kCTFontUIFontMessage, kCTFontPaletteFontType = kCTFontUIFontPalette, kCTFontToolTipFontType = kCTFontUIFontToolTip, kCTFontControlContentFontType = kCTFontUIFontControlContent }; PS_ENUM(uint32_t, CTRunStatus) { kCTRunStatusNoStatus = 0, kCTRunStatusRightToLeft = (1 << 0), kCTRunStatusNonMonotonic = (1 << 1), kCTRunStatusHasNonIdentityMatrix = (1 << 2) }; PS_ENUM(uint32_t, CTLineBoundsOptions) { kCTLineBoundsExcludeTypographicLeading = 1 << 0, kCTLineBoundsExcludeTypographicShifts = 1 << 1, kCTLineBoundsUseHangingPunctuation = 1 << 2, kCTLineBoundsUseGlyphPathBounds = 1 << 3, kCTLineBoundsUseOpticalBounds = 1 << 4, kCTLineBoundsIncludeLanguageExtents = 1 << 5, }; PS_ENUM(uint32_t, CTLineTruncationType) { kCTLineTruncationStart = 0, kCTLineTruncationEnd = 1, kCTLineTruncationMiddle = 2 }; PS_ENUM(CFOptionFlags, CTFontFallbackOption) { kCTFontFallbackOptionNone = 0, kCTFontFallbackOptionSystem = 1 << 0, kCTFontFallbackOptionUserInstalled = 1 << 1, kCTFontFallbackOptionDefault = kCTFontFallbackOptionSystem | kCTFontFallbackOptionUserInstalled, }; PS_ENUM(uint32_t, CTFontTransformOptions) { kCTFontTransformApplyShaping = (1 << 0), kCTFontTransformApplyPositioning = (1 << 1) }; PS_ENUM(CFOptionFlags, CTFontShapeOptions) { kCTFontShapeWithKerning = (1 << 0), kCTFontShapeWithClusterComposition = (1 << 1), kCTFontShapeRightToLeft = (1 << 2), }; PS_ENUM(uint8_t, CTCompositionLanguage) { kCTCompositionLanguageUnset, kCTCompositionLanguageNone, kCTCompositionLanguageJapanese, kCTCompositionLanguageSimplifiedChinese, kCTCompositionLanguageTraditionalChinese, }; typedef CFOptionFlags CTFontOptions; typedef const UniChar *(*CTUniCharProviderCallback)(CFIndex stringIndex, CFIndex *charCount, CFDictionaryRef *attributes, void *refCon); typedef void (*CTUniCharDisposeCallback)(const UniChar *chars, void *refCon); #endif ================================================ FILE: CoreVideo/CoreVideo.h ================================================ #import "../BaseTypes.h" #import "../Kernel/Types.h" #import "../CoreGraphics/Types.h" #import "../CoreFoundation/Types.h" #import "../IOSurface/Types.h" #import "Types.h" Boolean CVImageBufferIsFlipped(CVImageBufferRef imageBuffer); Boolean CVPixelBufferIsPlanar(CVPixelBufferRef pixelBuffer); CFDictionaryRef CVBufferGetAttachments(CVBufferRef buffer, CVAttachmentMode attachmentMode); CFDictionaryRef CVPixelBufferPoolGetPixelBufferAttributes(CVPixelBufferPoolRef pool); CFDictionaryRef CVPixelFormatDescriptionGetDescriptionWithPixelFormatType(OSType pixelFormatType); CFTypeID CVPixelBufferGetTypeID(void); CFTypeRef CVBufferGetAttachment(CVBufferRef buffer, CFStringRef key, CVAttachmentMode *attachmentMode); CGColorSpaceRef CVImageBufferCreateColorSpaceFromAttachments(CFDictionaryRef attachments); CGRect CVImageBufferGetCleanRect(CVImageBufferRef imageBuffer); CGSize CVImageBufferGetDisplaySize(CVImageBufferRef imageBuffer); CGSize CVImageBufferGetEncodedSize(CVImageBufferRef imageBuffer); CVPixelBufferRef CVPixelBufferRetain(CVPixelBufferRef texture); CVPixelBufferPoolRef CVPixelBufferPoolRetain(CVPixelBufferPoolRef pixelBufferPool); CVReturn CVPixelBufferCreate(CFAllocatorRef allocator, size_t width, size_t height, OSType pixelFormatType, CFDictionaryRef pixelBufferAttributes, CVPixelBufferRef *pixelBufferOut); CVReturn CVPixelBufferCreateResolvedAttributesDictionary(CFAllocatorRef allocator, CFArrayRef attributes, CFDictionaryRef *resolvedDictionaryOut); CVReturn CVPixelBufferCreateWithBytes(CFAllocatorRef allocator, size_t width, size_t height, OSType pixelFormatType, void *baseAddress, size_t bytesPerRow, CVPixelBufferReleaseBytesCallback releaseCallback, void *releaseRefCon, CFDictionaryRef pixelBufferAttributes, CVPixelBufferRef *pixelBufferOut); CVReturn CVPixelBufferLockBaseAddress(CVPixelBufferRef pixelBuffer, CVPixelBufferLockFlags lockFlags); CVReturn CVPixelBufferPoolCreate(CFAllocatorRef allocator, CFDictionaryRef poolAttributes, CFDictionaryRef pixelBufferAttributes, CVPixelBufferPoolRef *poolOut); CVReturn CVPixelBufferPoolCreatePixelBuffer(CFAllocatorRef allocator, CVPixelBufferPoolRef pixelBufferPool, CVPixelBufferRef *pixelBufferOut); CVReturn CVPixelBufferPoolCreatePixelBufferWithAuxAttributes(CFAllocatorRef allocator, CVPixelBufferPoolRef pixelBufferPool, CFDictionaryRef auxAttributes, CVPixelBufferRef *pixelBufferOut); CVReturn CVPixelBufferUnlockBaseAddress(CVPixelBufferRef pixelBuffer, CVPixelBufferLockFlags unlockFlags); IOSurfaceRef CVPixelBufferGetIOSurface(CVPixelBufferRef pixelBuffer); OSType CVPixelBufferGetPixelFormatType(CVPixelBufferRef pixelBuffer); size_t CVPixelBufferGetBytesPerRow(CVPixelBufferRef pixelBuffer); size_t CVPixelBufferGetBytesPerRowOfPlane(CVPixelBufferRef pixelBuffer, size_t planeIndex); size_t CVPixelBufferGetDataSize(CVPixelBufferRef pixelBuffer); size_t CVPixelBufferGetHeight(CVPixelBufferRef pixelBuffer); size_t CVPixelBufferGetHeightOfPlane(CVPixelBufferRef pixelBuffer, size_t planeIndex); size_t CVPixelBufferGetPlaneCount(CVPixelBufferRef pixelBuffer); size_t CVPixelBufferGetWidth(CVPixelBufferRef pixelBuffer); size_t CVPixelBufferGetWidthOfPlane(CVPixelBufferRef pixelBuffer, size_t planeIndex); void *CVPixelBufferGetBaseAddress(CVPixelBufferRef pixelBuffer); void *CVPixelBufferGetBaseAddressOfPlane(CVPixelBufferRef pixelBuffer, size_t planeIndex); void CVPixelBufferGetExtendedPixels(CVPixelBufferRef pixelBuffer, size_t *extraColumnsOnLeft, size_t *extraColumnsOnRight, size_t *extraRowsOnTop, size_t *extraRowsOnBottom); void CVPixelBufferPoolFlush(CVPixelBufferPoolRef pool, CVPixelBufferPoolFlushFlags options); void CVPixelBufferPoolRelease(CVPixelBufferPoolRef pixelBufferPool); void CVPixelBufferRelease(CVPixelBufferRef texture); ================================================ FILE: CoreVideo/Types.h ================================================ #ifndef COREVIDEO_H_ #define COREVIDEO_H_ #import "../BaseTypes.h" typedef struct __CVBuffer *CVBufferRef; typedef struct __CVPixelBufferPool *CVPixelBufferPoolRef; typedef CVBufferRef CVImageBufferRef; typedef CVImageBufferRef CVPixelBufferRef; typedef uint64_t CVOptionFlags; typedef int32_t CVReturn; PS_ENUM(uint32_t, CVAttachmentMode) { kCVAttachmentMode_ShouldNotPropagate = 0, kCVAttachmentMode_ShouldPropagate = 1 }; PS_ENUM(CVOptionFlags, CVPixelBufferLockFlags) { kCVPixelBufferLock_ReadOnly = 0x00000001, }; PS_ENUM(CVOptionFlags, CVPixelBufferPoolFlushFlags) { kCVPixelBufferPoolFlushExcessBuffers = 1, }; typedef void (*CVPixelBufferReleaseBytesCallback)(void *releaseRefCon, const void *baseAddress); #endif ================================================ FILE: CydiaSubstrate/CydiaSubstrate.h ================================================ /* Cydia Substrate - Powerful Code Insertion Platform * Copyright (C) 2008-2019 Jay Freeman (saurik) */ /* * Redistribution and use in source and binary * forms, with or without modification, are permitted * provided that the following conditions are met: * * 1. Redistributions of source code must retain the * above copyright notice, this list of conditions * and the following disclaimer. * 2. Redistributions in binary form must reproduce the * above copyright notice, this list of conditions * and the following disclaimer in the documentation * and/or other materials provided with the * distribution. * 3. The name of the author may not be used to endorse * or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #import "Types.h" #import "../Kernel/Types.h" #import "../objc/Types.h" bool MSHookProcess(pid_t pid, const char *library); MSImageRef MSMapImage(const char *file); MSImageRef MSGetImageByName(const char *file); const MSImageHeader *MSImageAddress(MSImageRef image); void *MSFindSymbol(MSImageRef image, const char *name); char *MSFindAddress(MSImageRef image, void **address); void MSCloseImage(MSImageRef); void MSHookFunction(void *symbol, void *replace, void **result); void MSHookMemory(void *target, const void *data, size_t size); void MSHookMessageEx(Class _class, SEL sel, IMP imp, IMP *result); void _MSHookMessageEx(Class _class, SEL sel, IMP imp, IMP *result); void MSHookClassPair(Class target, Class hook, Class old); #ifdef __arm__ IMP MSHookMessage(Class _class, SEL sel, IMP imp, const char *prefix); #endif ================================================ FILE: CydiaSubstrate/Types.h ================================================ #ifndef SUBSTRATE_H_ #define SUBSTRATE_H_ #ifndef __EA64__ typedef struct mach_header MSImageHeader; #else typedef struct mach_header_64 MSImageHeader; #endif typedef const void *MSImageRef; #endif ================================================ FILE: Darwin/Darwin.h ================================================ #import "../pthread/Types.h" #import "Types.h" bool dispatch_data_apply(dispatch_data_t data, dispatch_data_applier_t applier); bool dispatch_mach_mig_demux(void *context, const struct mig_subsystem *const subsystems[], size_t count, dispatch_mach_msg_t dmsg); bool notify_is_valid_token(int val); char *__strcat_chk(char *dest, const char *src, size_t destlen); char *__strcpy_chk(char *dest, const char *src, size_t destlen); char *__strncat_chk(char *dest, const char *src, size_t len, size_t dstlen); char **backtrace_symbols(void * const *array, int size); dispatch_block_t dispatch_block_create(dispatch_block_flags_t flags, dispatch_block_t block); dispatch_block_t dispatch_block_create_with_qos_class(dispatch_block_flags_t flags, dispatch_qos_class_t qos_class, int relative_priority, dispatch_block_t block); dispatch_block_t dispatch_block_create_with_voucher(dispatch_block_flags_t flags, voucher_t voucher, dispatch_block_t block); dispatch_block_t dispatch_block_create_with_voucher_and_qos_class(dispatch_block_flags_t flags, voucher_t voucher, dispatch_qos_class_t qos_class, int relative_priority, dispatch_block_t block); dispatch_data_t dispatch_data_copy_region(dispatch_data_t data, size_t location, size_t *offset_ptr); dispatch_data_t dispatch_data_create_alloc(size_t size, void** buffer_ptr); dispatch_data_t dispatch_data_create_concat(dispatch_data_t data1, dispatch_data_t data2); dispatch_data_t dispatch_data_create_map(dispatch_data_t data, const void **buffer_ptr, size_t *size_ptr); dispatch_data_t dispatch_data_create_subrange(dispatch_data_t data, size_t offset, size_t length); dispatch_data_t dispatch_data_create(const void *buffer, size_t size, dispatch_queue_t queue, dispatch_block_t destructor); dispatch_io_t dispatch_io_create_with_io(dispatch_io_type_t type, dispatch_io_t io, dispatch_queue_t queue, void (*cleanup_handler)(int error)); dispatch_io_t dispatch_io_create_with_path(dispatch_io_type_t type, const char *path, int oflag, mode_t mode, dispatch_queue_t queue, void (*cleanup_handler)(int error)); dispatch_io_t dispatch_io_create(dispatch_io_type_t type, dispatch_fd_t fd, dispatch_queue_t queue, void (*cleanup_handler)(int error)); dispatch_mach_msg_t dispatch_mach_msg_create(mach_msg_header_t *msg, size_t size, dispatch_mach_msg_destructor_t destructor, mach_msg_header_t **msg_ptr); dispatch_mach_t dispatch_mach_create_f(const char *label, dispatch_queue_t queue, void *context, dispatch_mach_handler_function_t handler); dispatch_mach_t dispatch_mach_create(const char *label, dispatch_queue_t queue, dispatch_mach_handler_t handler); dispatch_queue_attr_t dispatch_queue_attr_make_initially_inactive(dispatch_queue_attr_t attr); dispatch_queue_attr_t dispatch_queue_attr_make_with_autorelease_frequency(dispatch_queue_attr_t attr, dispatch_autorelease_frequency_t frequency); dispatch_queue_attr_t dispatch_queue_attr_make_with_overcommit(dispatch_queue_attr_t attr, bool overcommit); dispatch_queue_attr_t dispatch_queue_attr_make_with_qos_class(dispatch_queue_attr_t attr, dispatch_qos_class_t qos_class, int relative_priority); dispatch_queue_global_t _dispatch_pthread_root_queue_create_with_observer_hooks_4IOHID(const char *label, unsigned long flags, const pthread_attr_t *attr, dispatch_pthread_root_queue_observer_hooks_t observer_hooks, dispatch_block_t configure); dispatch_queue_global_t dispatch_get_global_queue(intptr_t identifier, uintptr_t flags); dispatch_queue_t dispatch_pthread_root_queue_create(const char *label, unsigned long flags, const pthread_attr_t *attr, dispatch_block_t configure); dispatch_queue_t dispatch_queue_create_with_target$V2(const char *label, dispatch_queue_attr_t attr, dispatch_queue_t target); dispatch_semaphore_t dispatch_semaphore_create(intptr_t value); dispatch_source_t dispatch_source_create(dispatch_source_type_t type, uintptr_t handle, uintptr_t mask, dispatch_queue_t queue); dispatch_workloop_t dispatch_workloop_create_inactive(const char *label); dispatch_workloop_t dispatch_workloop_create(const char *label); double __exp10(double); errno_t memset_s(void *dest, rsize_t destsz, int ch, rsize_t count); float __exp10f(float); int _stdlib_memcmp(const void *s1, const void *s2, size_t n); int backtrace(void **array, int size); int reboot3(uint64_t flags, ...); intptr_t dispatch_block_testcancel(dispatch_block_t block); intptr_t dispatch_block_wait(dispatch_block_t block, dispatch_time_t timeout); intptr_t dispatch_group_wait(dispatch_group_t group, dispatch_time_t timeout); intptr_t dispatch_semaphore_signal(dispatch_semaphore_t dsema); intptr_t dispatch_semaphore_wait(dispatch_semaphore_t dsema, dispatch_time_t timeout); intptr_t dispatch_source_testcancel(dispatch_source_t source); mach_msg_header_t *dispatch_mach_msg_get_msg(dispatch_mach_msg_t message, size_t *size_ptr); mach_msg_return_t dispatch_mig_server(dispatch_source_t ds, size_t maxmsgsz, dispatch_mig_callback_t callback); mach_port_t dispatch_mach_get_checkin_port(dispatch_mach_t channel); size_t __strlcat_chk(char *dest, char *src, size_t len, size_t dstlen); size_t __strlcpy_chk(char *dest, char *src, size_t len, size_t dstlen); size_t _stdlib_malloc_size(const void *ptr); size_t dispatch_data_get_size(dispatch_data_t data); struct __double2 __sincos_stret(double); struct __double2 __sincospi_stret(double); struct __double2 { double __sinval; double __cosval; }; struct __float2 __sincosf_stret(float); struct __float2 __sincospif_stret(float); struct __float2 { float __sinval; float __cosval; }; uint32_t notify_register_dispatch(const char *name, int *out_token, dispatch_queue_t queue, notify_handler_t handler); uintptr_t dispatch_source_get_mask(dispatch_source_t source); void *__memcpy_chk(void *dest, const void *src, size_t len, size_t dstlen); void *__memmove_chk(void *dest, const void *src, size_t len, size_t dstlen); void *__memset_chk(void *dstpp, int c, size_t len, size_t dstlen); void *__strncpy_chk(char *dest, char *src, size_t len, size_t dstlen); void *bsearch_b(const void *, const void *, size_t, size_t, int (*)(const void *, const void *)); void *dispatch_mach_mig_demux_get_context(void); void abort_report_np(const char *, ...); void backtrace_symbols_fd(void * const *array, int size, int fd); void dispatch_activate(dispatch_object_t object); void dispatch_after(dispatch_time_t when, dispatch_queue_t queue, dispatch_block_t block); void dispatch_apply(size_t iterations, dispatch_queue_t queue, void (*block)(size_t)); void dispatch_assert_queue_not$V2(dispatch_queue_t queue); void dispatch_assert_queue(dispatch_queue_t queue); void dispatch_assert_queue$V2(dispatch_queue_t queue); void dispatch_async_and_wait(dispatch_queue_t queue, dispatch_block_t block); void dispatch_async(dispatch_queue_t queue, dispatch_block_t block); void dispatch_barrier_async(dispatch_queue_t queue, dispatch_block_t block); void dispatch_barrier_sync(dispatch_queue_t queue, dispatch_block_t block); void dispatch_block_cancel(dispatch_block_t block); void dispatch_group_async(dispatch_group_t group, dispatch_queue_t queue, dispatch_block_t block); void dispatch_group_notify(dispatch_group_t group, dispatch_queue_t queue, dispatch_block_t block); void dispatch_io_barrier(dispatch_io_t channel, dispatch_block_t barrier); void dispatch_io_close(dispatch_io_t channel, dispatch_io_close_flags_t flags); void dispatch_io_read(dispatch_io_t channel, off_t offset, size_t length, dispatch_queue_t queue, dispatch_io_handler_t io_handler); void dispatch_mach_cancel(dispatch_mach_t channel); void dispatch_mach_connect(dispatch_mach_t channel, mach_port_t receive, mach_port_t send, dispatch_mach_msg_t checkin); void dispatch_mach_receive_barrier_f(dispatch_mach_t channel, void *context, dispatch_function_t barrier); void dispatch_mach_receive_barrier(dispatch_mach_t channel, dispatch_block_t barrier); void dispatch_mach_reconnect(dispatch_mach_t channel, mach_port_t send, dispatch_mach_msg_t checkin); void dispatch_mach_send_barrier_f(dispatch_mach_t channel, void *context, dispatch_function_t barrier); void dispatch_mach_send_barrier(dispatch_mach_t channel, dispatch_block_t barrier); void dispatch_once(dispatch_once_t *predicate, dispatch_block_t block); void dispatch_queue_set_label_nocopy(dispatch_queue_t queue, const char *label); void dispatch_read(dispatch_fd_t fd, size_t length, dispatch_queue_t queue, void (*handler)(dispatch_data_t data, int error)); void dispatch_set_qos_class_fallback(dispatch_object_t object, dispatch_qos_class_t qos_class); void dispatch_set_qos_class_floor(dispatch_object_t object, dispatch_qos_class_t qos_class, int relative_priority); void dispatch_source_merge_data(dispatch_source_t source, uintptr_t value); void dispatch_source_set_cancel_handler(dispatch_source_t source, dispatch_block_t handler); void dispatch_source_set_event_handler(dispatch_source_t source, dispatch_block_t handler); void dispatch_source_set_mandatory_cancel_handler(dispatch_source_t source, dispatch_block_t handler); void dispatch_sync(dispatch_queue_t queue, dispatch_block_t block); void dispatch_workloop_set_autorelease_frequency(dispatch_workloop_t workloop, dispatch_autorelease_frequency_t frequency); void dispatch_workloop_set_scheduler_priority(dispatch_workloop_t workloop, int priority, dispatch_workloop_param_flags_t flags); void dispatch_write(dispatch_fd_t fd, dispatch_data_t data, dispatch_queue_t queue, void (*handler)(dispatch_data_t data, int error)); void qsort_b(void *base, size_t nel, size_t width, int (*compar)(const void *, const void *)); ================================================ FILE: Darwin/Types.h ================================================ #ifndef MY_DARWIN_H_ #define MY_DARWIN_H_ #import "../BaseTypes.h" #import "../Foundation/Types.h" #import "../Kernel/Types.h" typedef uint32_t mach_error_t; typedef uint32_t dispatch_lock; typedef uint32_t dispatch_priority_t; typedef uint64_t dispatch_time_t; typedef intptr_t dispatch_once_t; typedef unsigned long dispatch_io_type_t; typedef unsigned long dispatch_io_close_flags_t; typedef unsigned long dispatch_block_flags_t; typedef unsigned long dispatch_workloop_param_flags_t; typedef unsigned long dispatch_autorelease_frequency_t; typedef int opaque_t; typedef int dispatch_fd_t; typedef long dispatch_queue_priority_t; PS_ENUM(unsigned int, qos_class_t) { QOS_CLASS_USER_INTERACTIVE = 0x21, QOS_CLASS_USER_INITIATED = 0x19, QOS_CLASS_DEFAULT = 0x15, QOS_CLASS_UTILITY = 0x11, QOS_CLASS_BACKGROUND = 0x09, QOS_CLASS_UNSPECIFIED = 0x00 }; typedef NSObject *dispatch_object_t; typedef NSObject *dispatch_source_t; typedef NSObject *dispatch_group_t; typedef NSObject *dispatch_data_t; typedef NSObject *dispatch_workloop_t; typedef NSObject *dispatch_queue_global_t; typedef NSObject *dispatch_io_t; typedef NSObject *dispatch_semaphore_t; typedef const struct dispatch_source_type_s *dispatch_source_type_t; typedef struct dispatch_queue_s *dispatch_queue_t; typedef struct dispatch_queue_attr_s *dispatch_queue_attr_t; typedef struct dispatch_mach_s *dispatch_mach_t; typedef struct dispatch_mach_msg_s *dispatch_mach_msg_t; typedef struct voucher_s *voucher_t; typedef struct dispatch_unfair_lock_s { dispatch_lock dul_lock; } dispatch_unfair_lock_s, *dispatch_unfair_lock_t; typedef struct dispatch_pthread_root_queue_observer_hooks_s { void (*queue_will_execute)(dispatch_queue_t queue); void (*queue_did_execute)(dispatch_queue_t queue); } * dispatch_pthread_root_queue_observer_hooks_t; typedef qos_class_t dispatch_qos_class_t; enum dispatch_mach_reason_t { DISPATCH_MACH_CONNECTED = 1, DISPATCH_MACH_MESSAGE_RECEIVED, DISPATCH_MACH_MESSAGE_SENT, DISPATCH_MACH_MESSAGE_SEND_FAILED, DISPATCH_MACH_MESSAGE_NOT_SENT, DISPATCH_MACH_BARRIER_COMPLETED, DISPATCH_MACH_DISCONNECTED, DISPATCH_MACH_CANCELED, DISPATCH_MACH_REASON_LAST, }; enum dispatch_mach_msg_destructor_t { DISPATCH_MACH_MSG_DESTRUCTOR_DEFAULT = 0, DISPATCH_MACH_MSG_DESTRUCTOR_FREE, DISPATCH_MACH_MSG_DESTRUCTOR_VM_DEALLOCATE, }; typedef mach_msg_context_trailer_t dispatch_mach_trailer_t; #define DISPATCH_MACH_RECEIVE_MAX_INLINE_MESSAGE_SIZE (0x4000 - sizeof(dispatch_mach_trailer_t)) typedef void (*notify_handler_t)(int token); typedef void (*dispatch_block_t)(void); typedef void (*dispatch_function_t)(void *); typedef void (*dispatch_io_handler_t)(bool done, dispatch_data_t data, int error); typedef void (*dispatch_mach_handler_t)(dispatch_mach_reason_t reason, dispatch_mach_msg_t message, mach_error_t error); typedef void (*dispatch_mach_handler_function_t)(void *context, dispatch_mach_reason_t reason, dispatch_mach_msg_t message, mach_error_t error); typedef bool (*dispatch_data_applier_t)(dispatch_data_t region, size_t offset, const void *buffer, size_t size); typedef boolean_t (*dispatch_mig_callback_t)(mach_msg_header_t *message, mach_msg_header_t *reply); // problematic extern struct dispatch_queue_s _dispatch_main_q; extern struct dispatch_queue_attr_s _dispatch_queue_attr_concurrent; #endif ================================================ FILE: Foundation/Foundation.h ================================================ #import "../BaseTypes.h" #import "../CoreGraphics/Types.h" #import "../UIKit/Types.h" #import "Types.h" BOOL NSCompareHashTables(NSHashTable *table1, NSHashTable *table2); BOOL NSCompareMapTables(NSMapTable *table1, NSMapTable *table2); BOOL NSContainsRect(NSRect aRect, NSRect bRect); BOOL NSEqualPoints(NSPoint aPoint, NSPoint bPoint); BOOL NSEqualRects(NSRect aRect, NSRect bRect); BOOL NSEqualSizes(NSSize aSize, NSSize bSize); BOOL NSIntersectsRange(NSRange aRange, NSRange bRange); BOOL NSIntersectsRect(NSRect aRect, NSRect bRect); BOOL NSIsEmptyRect(NSRect aRect); BOOL NSMapMember(NSMapTable *table, const void *key, void **originalKey, void **value); BOOL NSNextMapEnumeratorPair(NSMapEnumerator *enumerator, void **key, void **value); BOOL NSPointInRect(NSPoint aPoint, NSRect aRect); CGFloat NSHeight(NSRect aRect); CGFloat NSMaxX(NSRect aRect); CGFloat NSMaxY(NSRect aRect); CGFloat NSMidX(NSRect aRect); CGFloat NSMidY(NSRect aRect); CGFloat NSMinX(NSRect aRect); CGFloat NSMinY(NSRect aRect); CGFloat NSWidth(NSRect aRect); Class NSClassFromString(CFStringRef string); const char *NSGetSizeAndAlignment(const char *typePtr, NSUInteger *sizep, NSUInteger *alignp); id NSAllocateObject(Class aClass, NSUInteger extraBytes, NSZone *zone); NSArray *NSAllMapTableKeys(NSMapTable *table); NSArray *NSAllMapTableValues(NSMapTable *table); NSArray *NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory directory, NSSearchPathDomainMask domainMask, BOOL expandTilde); NSDictionary *_NSDictionaryOfVariableBindings(NSString *commaSeparatedKeysString, id firstValue, ...); NSHashEnumerator NSEnumerateHashTable(NSHashTable *table); NSHashTable *NSCreateHashTable(NSHashTableCallBacks callBacks, NSUInteger capacity); NSMapEnumerator NSEnumerateMapTable(NSMapTable *table); NSMapTable *NSCreateMapTable(NSMapTableKeyCallBacks keyCallBacks, NSMapTableValueCallBacks valueCallBacks, NSUInteger capacity); NSMapTable *NSCreateMapTableWithZone(NSMapTableKeyCallBacks keyCallBacks, NSMapTableValueCallBacks valueCallBacks, NSUInteger capacity, NSZone *zone); NSPoint NSPointFromString(CFNSString aString); NSRange NSIntersectionRange(NSRange range1, NSRange range2); NSRange NSRangeFromString(CFNSString aString); NSRange NSUnionRange(NSRange range1, NSRange range2); NSRect NSInsetRect(NSRect aRect, CGFloat dX, CGFloat dY); NSRect NSIntegralRect(NSRect aRect); NSRect NSIntegralRectWithOptions(NSRect aRect, NSAlignmentOptions opts); NSRect NSIntersectionRect(NSRect aRect, NSRect bRect); NSRect NSMakeRect(CGFloat x, CGFloat y, CGFloat w, CGFloat h); NSRect NSRectFromString(NSString *aString); NSRect NSUnionRect(NSRect aRect, NSRect bRect); NSString *NSHomeDirectory(void); NSString *NSOpenStepRootDirectory(void); NSString *NSStringFromBOOL(BOOL theBOOL); NSString *NSStringFromClass(Class aClass); NSString *NSStringFromPoint(NSPoint aPoint); NSString *NSStringFromProtocol(Protocol *proto); NSString *NSStringFromRange(NSRange range); NSString *NSStringFromRect(NSRect aRect); NSString *NSStringFromSelector(SEL aSelector); NSString *NSStringFromSize(NSSize aSize); NSString *NSTemporaryDirectory(void); NSUInteger NSCountMapTable(NSMapTable *table); NSUInteger NSPageSize(void); NSUInteger NSRoundUpToMultipleOfPageSize(NSUInteger bytes); NSUncaughtExceptionHandler *NSGetUncaughtExceptionHandler(void); NSZone *NSZoneFromPointer(void *ptr); Protocol *NSProtocolFromString(CFStringRef namestr); SEL NSSelectorFromString(CFStringRef aSelectorName); unsigned __NSHashCString(void *table, const void *anObject); unsigned NSHashCString(unsigned char *str, int n); void *NSHashGet(NSHashTable *table, const void *pointer); void *NSMapGet(NSMapTable *table, const void *key); void *NSMapInsertIfAbsent(NSMapTable *table, const void *key, const void *value); void *NSNextHashEnumeratorItem(NSHashEnumerator *enumerator); void *NSPushAutoreleasePool(NSUInteger capacity); void *NSReallocateCollectable(void *ptr, NSUInteger size, NSUInteger options); void *NSZoneCalloc(NSZone *zone, NSUInteger numElems, NSUInteger byteSize); void *NSZoneMalloc(NSZone *zone, NSUInteger size); void *NSZoneRealloc(NSZone *zone, void *ptr, NSUInteger size); void NSDeallocateObject(id object); void NSDivideRect(NSRect inRect, NSRect *slice, NSRect *rem, CGFloat amount, NSRectEdge edge); void NSEndHashTableEnumeration(NSHashEnumerator *enumerator); void NSEndMapTableEnumeration(NSMapEnumerator *enumerator); void NSFreeMapTable(NSMapTable *table); void NSHashInsert(NSHashTable *table, const void *pointer); void NSHashRemove(NSHashTable *table, const void *pointer); void NSLog(CFNSString format, ...); void NSLogv(CFNSString format, va_list args); void NSMapInsert(NSMapTable *table, const void *key, const void *value); void NSMapInsertKnownAbsent(NSMapTable *table, const void *key, const void *value); void NSMapRemove(NSMapTable *table, const void *key); void NSPopAutoreleasePool(void *token); void NSRequestConcreteImplementation(id self, SEL _cmd, Class absClass); void NSSetUncaughtExceptionHandler(NSUncaughtExceptionHandler *); void NSZoneFree(NSZone *zone, void *ptr); ================================================ FILE: Foundation/Types.h ================================================ #ifndef FOUNDATION_H_ #define FOUNDATION_H_ #import "../BaseTypes.h" #import "../CoreFoundation/Types.h" #import "../CoreGraphics/Types.h" #import "../objc/Types.h" #ifdef __EA64__ typedef unsigned long NSUInteger; typedef long NSInteger; #else typedef unsigned int NSUInteger; typedef int NSInteger; #endif typedef double NSTimeInterval; typedef struct __NSValue NSValue; typedef struct __NSObject NSString; #define CFNSString const __CFString typedef struct __NSData NSData; typedef struct __NSArray NSArray; typedef struct __NSArray NSMutableArray; typedef struct __NSDictionary NSDictionary; typedef struct __NSException NSException; typedef struct _NSZone NSZone; typedef unsigned long long NSAlignmentOptions; typedef NSUInteger NSRectEdge; typedef NSUInteger NSSearchPathDirectory; typedef NSUInteger NSSearchPathDomainMask; PS_ENUM(NSInteger, NSComparisonResult) { NSOrderedAscending = -1L, NSOrderedSame, NSOrderedDescending }; struct _NSMapTable; struct _NSMapNode { void *key; void *value; struct _NSMapNode *next; }; typedef NSObject *NSHashTable; typedef struct NSError { NSObject super; void *_reserved; int64 _code; NSString *_domain; NSDictionary *_userInfo; } NSError; typedef struct _NSMapTableKeyCallBacks { unsigned (*hash)(struct _NSMapTable *table, const void *anObject); BOOL (*isEqual)(struct _NSMapTable *table, const void *anObject1, const void *anObject2); void (*retain)(struct _NSMapTable *table, const void *anObject); void (*release)(struct _NSMapTable *table, void *anObject); NSString *(*describe)(struct _NSMapTable *table, const void *anObject); const void *notAKeyMarker; } NSMapTableKeyCallBacks; typedef struct NSHashTableCallBacks { unsigned (*hash)(NSHashTable *table, const void *); BOOL (*isEqual)(NSHashTable *table, const void *, const void *); void (*retain)(NSHashTable *table, const void *); void (*release)(NSHashTable *table, void *); NSString *(*describe)(NSHashTable *table, const void *); } NSHashTableCallBacks; typedef struct _NSMapTableValueCallBacks { void (*retain)(struct _NSMapTable *table, const void *anObject); void (*release)(struct _NSMapTable *table, void *anObject); NSString *(*describe)(struct _NSMapTable *table, const void *anObject); } NSMapTableValueCallBacks; typedef struct _NSMapTable { struct _NSMapNode **nodes; unsigned int hashSize; unsigned int itemsCount; NSMapTableKeyCallBacks keyCallbacks; NSMapTableValueCallBacks valueCallbacks; NSZone *zone; BOOL keysInvisible; BOOL valuesInvisible; } NSMapTable; typedef struct NSMapEnumerator { struct _NSMapTable *table; struct _NSMapNode *node; int bucket; } NSMapEnumerator; typedef struct NSHashEnumerator { unsigned _pi; unsigned _si; void *_bs; } NSHashEnumerator; typedef struct NSFastEnumerationState { unsigned long state; id *itemsPtr; unsigned long *mutationsPtr; unsigned long extra[5]; } NSFastEnumerationState; typedef struct _NSRange { NSUInteger location; NSUInteger length; } NSRange; typedef struct NSEdgeInsets { CGFloat top, left, bottom, right; } NSEdgeInsets; typedef CGPoint NSPoint; typedef CGSize NSSize; typedef CGRect NSRect; typedef CFNSString NSNotificationName; typedef void NSUncaughtExceptionHandler(NSException *exception); extern const NSPoint NSZeroPoint; extern const NSSize NSZeroSize; extern const NSRect NSZeroRect; extern const NSEdgeInsets NSEdgeInsetsZero; #endif ================================================ FILE: GraphicsServices/GraphicsServices.h ================================================ #import "../BaseTypes.h" #import "../Kernel/Types.h" #import "Types.h" float GSEventGetDeltaX(GSEventRef event); float GSEventGetDeltaY(GSEventRef event); float GSEventAccelerometerAxisX(GSEventRef event); float GSEventAccelerometerAxisY(GSEventRef event); float GSEventAccelerometerAxisZ(GSEventRef event); int GSEventDeviceOrientation(GSEventRef event); uint64_t GSCurrentEventTimestamp(); UInt8 GSEventGetHardwareKeyboardCountry(); UInt8 GSEventGetHardwareKeyboardType(); UInt32 GSKeyboardGetHWKeyboardType(); Boolean GSEventIsHardwareKeyboardEvent(GSEventRef event); Boolean GSEventIsHardwareKeyboardAttached(void); Boolean GSEventIsKeyCharacterEventType(GSEventRef event, UniChar expected_keycode); Boolean GSEventIsTabKeyEvent(GSEventRef event); Boolean GSEventIsHandEvent(GSEventRef event); Boolean GSEventIsChordingHandEvent(GSEventRef event); Boolean GSEventShouldRouteToFrontMost(GSEventRef event); Boolean GSEventQueueContainsMouseEvent(); void GSInitialize(void); void GSEventPopRunLoopMode(CFStringRef mode); void GSEventPushRunLoopMode(CFStringRef mode); void GSEventStopModal(); void GSEventRunModal(Boolean disallow_restart); void GSEventRun(); void GSEventInitialize(Boolean registerPurple); void GSEventInitializeAsExtension(); void GSEventResetIdleTimer(); void GSEventResetIdleDuration(int a, int b); void GSEventSetBacklightLevel(float level); void GSEventSetBacklightFactor(int factor); void GSEventSetType(GSEventRef event, GSEventType type); void GSEventSetPathInfoAtIndex(GSEventRef event, GSPathInfo pathInfo, CFIndex index); void GSEventSetSensitivity(unsigned sensitivity); void GSEventSetHardwareKeyboardAttached(Boolean attached); void GSEventRemoveShouldRouteToFrontMost(GSEventRef event); void GSEventRotateSimulator(int x); void GSEventRestoreSensitivity(); void GSEventLockDevice(); void GSEventRegisterEventCallBack(void (*callback)(GSEventRef event)); void GSEventSendKeyEvent(GSEventType event, CFStringRef key); void GSSendEvent(const GSEventRecord* record, mach_port_t port); void GSSendSimpleEvent(GSEventType type, mach_port_t port); void GSSendSystemEvent(const GSEventRecord* record); void GSSendKeyEvent(GSEventType type, CGPoint windowLocation, CFStringRef characters, CFStringRef unmodifiedCharacters, GSEventFlags modifiers, uint16_t usagePage, unsigned short options7, unsigned short options8); void GSKeyboardRelease(GSKeyboardRef keyboard); void GSKeyboardReset(GSKeyboardRef keyboard); mach_port_t GSGetPurpleApplicationPort(); mach_port_name_t GSCopyPurpleNamedPort(const char *appId); CGPoint GSEventGetLocationInWindow(GSEventRef event); CGPoint GSEventGetOuterMostPathPosition(GSEventRef event); CGPoint GSEventGetInnerMostPathPosition(GSEventRef event); CGSize GSMainScreenPixelSize(void); CGSize GSMainScreenPointSize(void); OSStatus GSKeyTranslate(GSKeyboardRef keyboard, UInt16 virtualKeyCode, UInt16 keyAction, UInt32 modifierKeyState, UInt32 keyboardType, OptionBits keyTranslateOptions, UInt32 *deadKeyState, UniCharCount maxStringLength, UniCharCount *actualStringLength, UniChar unicodeString[]); OSStatus GSKeyboardTranslateKey(GSKeyboardRef keyboard, UInt16 virtualKeyCode, UInt16 unknown, OptionBits keyTranslateOptions, UniCharCount maxStringLength, UniCharCount *actualStringLength, UniChar unicodeString[], UniCharCount *actualStringLength2, UniChar unicodeString2[]); CFTypeID GSEventGetTypeID(void); CFTypeID GSKeyboardGetTypeID(void); CFAbsoluteTime GSEventGetTimestamp(GSEventRef event); CFAbsoluteTime GSEventGetHIDTimestamp(GSEventRef event); CFStringRef GSSystemRootDirectory(); CFStringRef GSEventCopyCharactersIgnoringModifiers(GSEventRef event); CFStringRef GSEventCopyCharacters(GSEventRef event); CFStringRef GSKeyboardGetLayout(GSKeyboardRef keyboard); CFDictionaryRef GSEventCreatePlistRepresentation(GSEventRef event); GSEventType GSEventGetType(GSEventRef event); GSEventSubType GSEventGetSubType(GSEventRef event); GSWindowRef GSEventGetWindow(GSEventRef event); GSEventRef GSEventCopy(GSEventRef event); GSEventRef GSEventCreateWithEventRecord(const GSEventRecord* record); GSEventRef GSEventCreateWithPlist(CFDictionaryRef dictionary); const GSEventRecord *GSEventRecordGetRecordDataWithPlist(CFDictionaryRef plist); GSKeyboardRef GSKeyboardCreate(CFStringRef layoutName, UInt32 keyboardType); GSHandInfo GSEventGetHandInfo(GSEventRef event); GSPathInfo GSEventGetPathInfoAtIndex(GSEventRef event, CFIndex index); ================================================ FILE: GraphicsServices/Types.h ================================================ #ifndef GRAPHICSSERVICES_H_ #define GRAPHICSSERVICES_H_ #import "../CoreFoundation/Types.h" #import "../CoreGraphics/Types.h" typedef void *GSWindowRef; typedef struct __GSKeyboard * GSKeyboardRef; PS_ENUM(int, GSEventType) { kGSEventLeftMouseDown = 1, kGSEventLeftMouseUp = 2, kGSEventMouseMoved = 5, kGSEventLeftMouseDragged = 6, kGSEventKeyDown = 10, kGSEventKeyUp = 11, kGSEventModifiersChanged = 12, kGSEventSimulatorKeyDown = 13, kGSEventHardwareKeyDown = 14, kGSEventScrollWheel = 22, kGSEventAccelerate = 23, kGSEventProximityStateChanged = 24, kGSEventDeviceOrientationChanged = 50, kGSAppPreferencesChanged = 60, kGSEventUserDefaultsDidChange = 60, kGSEventResetIdleTimer = 100, kGSEventResetIdleDuration = 101, kGSEventProcessScript = 200, kGSEventDumpUIHierarchy = 500, kGSEventDumpScreenContents = 501, kGSEventMenuButtonDown = 1000, kGSEventMenuButtonUp = 1001, kGSEventVolumeChanged = 1006, kGSEventVolumeUpButtonDown = 1006, kGSEventVolumeUpButtonUp = 1007, kGSEventVolumeDownButtonDown = 1008, kGSEventVolumeDownButtonUp = 1009, kGSEventLockButtonDown = 1010, kGSEventLockButtonUp = 1011, kGSEventRingerOff = 1012, kGSEventRingerOn = 1013, kGSEventRingerChanged = 1013, kGSEventLockDevice = 1014, kGSEventStatusBarMouseDown = 1015, kGSEventStatusBarMouseDragged = 1016, kGSEventStatusBarMouseUp = 1017, kGSEventHeadsetButtonDown = 1018, kGSEventHeadsetButtonUp = 1019, kGSEventMotionBegin = 1020, kGSEventHeadsetAvailabilityChanged = 1021, kGSEventMediaKeyDown = 1022, kGSEventMediaKeyUp = 1023, kGSEventVibrate = 1100, kGSEventSetBacklightFactor = 1102, kGSEventSetBacklightLevel = 1103, kGSEventApplicationLaunch = 2000, kGSEventAnotherApplicationFinishedLaunching = 2001, kGSEventSetAppThreadPriority = 2002, kGSEventApplicationResume = 2003, kGSEventApplicationDidEndResumeAnimation = 2004, kGSEventApplicationBeginSuspendAnimation = 2005, kGSEventApplicationHandleTestURL = 2006, kGSEventApplicationSuspendEventsOnly = 2007, kGSEventApplicationSuspend = 2008, kGSEventApplicationExit = 2009, kGSEventQuitTopApplication = 2010, kGSEventApplicationUpdateSuspendedSettings = 2011, kGSEventHand = 3001, kGSEventAccessoryAvailabilityChanged = 4000, kGSEventAccessoryKeyStateChanged = 4001, kGSEventAccessory = 4002, kGSEventOutOfLineDataRequest = 5000, kGSEventOutOfLineDataResponse = 5001, kGSEventUrgentMemoryWarning = 6000, kGSEventShouldRouteToFrontMost = 1<<17 }; PS_ENUM(unsigned, GSEventSubType) { kGSEventSubTypeUnknown, }; PS_ENUM(unsigned, GSEventFlags) { kGSEventFlagMaskShift = 1 << 17, kGSEventFlagMaskControl = 1 << 18, kGSEventFlagMaskAlternate = 1 << 19, kGSEventFlagMaskCommand = 1 << 20 }; PS_ENUM(unsigned, GSHandInfoType) { kGSHandInfoTypeTouchDown = 0, kGSHandInfoTypeTouchDragged = 1, kGSHandInfoTypeTouchMoved = 4, kGSHandInfoTypeTouchUp = 5, kGSHandInfoTypeCancel = 8 }; typedef struct GSAccelerometerInfo { float axisX, axisY, axisZ; } GSAccelerometerInfo; typedef struct GSDeviceOrientationInfo { int orientation; } GSDeviceOrientationInfo; typedef struct GSHardwareKeyInfo { UniChar keyCode; UniChar characterIgnoringModifier; UniChar charCode; unsigned short characterSet; uint16_t characters_length; UniChar characters[32]; uint16_t unmodified_characters_length; UniChar unmodified_characters[32]; int unknown0 : 1; int isKeyVariant : 1; int unknown2 : 14; int unknown10 : 16; } GSHardwareKeyInfo; typedef struct GSKeyInfo { UniChar keyCode, characterIgnoringModifier, charCode; unsigned short characterSet; Boolean isKeyRepeating; } GSKeyInfo; typedef struct GSPathInfo { unsigned char pathIndex; unsigned char pathIdentity; unsigned char pathProximity; CGFloat pathPressure; CGFloat pathMajorRadius; CGPoint pathLocation; GSWindowRef pathWindow; } GSPathInfo; typedef struct GSHandInfo { GSHandInfoType type; short deltaX, deltaY; float _0x44; float _0x48; float width; float _0x50; float height; float _0x58; unsigned char _0x5C; unsigned char pathInfosCount; GSPathInfo pathInfos[0]; } GSHandInfo; typedef struct GSScrollWheelInfo { int deltaY; int deltaX; } GSScrollWheelInfo; typedef struct GSEventRecord { GSEventType type; GSEventSubType subtype; CGPoint location; CGPoint windowLocation; int windowContextId; uint64_t timestamp; GSWindowRef window; GSEventFlags flags; pid_t senderPID; CFIndex infoSize; #if !TARGET_OS_SIMULATOR && !TARGET_OS_OSX uint64_t HIDtime; #endif uint8_t data[]; } GSEventRecord; typedef struct __GSEvent { CFRuntimeBase _base; GSEventRecord record; } GSEvent; typedef struct __GSEvent *GSEventRef; #endif ================================================ FILE: IDA.h ================================================ // #define SWIFT // #define IOS14 #import "Types.h" #import "Kernel/Kernel.h" #import "dyld/dyld.h" #import "pthread/pthread.h" #import "Darwin/Darwin.h" #import "icu/icu.h" #import "AppSupport/AppSupport.h" #import "AssetsLibraryServices/AssetsLibraryServices.h" #import "AudioToolbox/AudioToolbox.h" #import "AVFCapture/AVFCapture.h" #import "AVFoundation/AVFoundation.h" #import "CommonCrypto/CommonCrypto.h" #import "CoreAnimation/CoreAnimation.h" #import "CoreAudio/CoreAudio.h" #import "CoreFoundation/CoreFoundation.h" #import "CoreGraphics/CoreGraphics.h" #import "CoreMedia/CoreMedia.h" #import "CoreText/CoreText.h" #import "CoreServices/CoreServices.h" #import "CoreVideo/CoreVideo.h" #import "CydiaSubstrate/CydiaSubstrate.h" #import "Foundation/Foundation.h" #import "GraphicsServices/GraphicsServices.h" #import "IOMobileFramebuffer/IOMobileFramebuffer.h" #import "IOKit/IOKit.h" #import "IOSurface/IOSurface.h" #import "MediaRemote/MediaRemote.h" #import "MobileGestalt/MobileGestalt.h" #import "PowerLog/PowerLog.h" #import "QuartzCore/QuartzCore.h" #import "UIKit/UIKit.h" #import "objc/objc.h" #import "os/os.h" #import "sandbox/sandbox.h" #import "Security/Security.h" #import "SoftLinking/SoftLinking.h" #import "xpc/xpc.h" #import "sqlite/sqlite.h" #ifdef SWIFT #import "Swift/Swift.h" #endif #import "System/System.h" #import "SystemConfiguration/SystemConfiguration.h" #import "fishhook/fishhook.h" ================================================ FILE: IOKit/IOKit.h ================================================ #import "../BaseTypes.h" #import "../Darwin/Types.h" #import "../Kernel/Types.h" #import "../CoreFoundation/Types.h" #import "../Foundation/Types.h" #import "Types.h" kern_return_t IOConnectCallMethod(mach_port_t connection, uint32_t selector, const uint64_t *input, uint32_t inputCnt, const void *inputStruct, size_t inputStructCnt, uint64_t *output, uint32_t *outputCnt, void *outputStruct, size_t *outputStructCnt); kern_return_t IOConnectCallAsyncMethod(mach_port_t connection, uint32_t selector, mach_port_t wake_port, uint64_t *reference, uint32_t referenceCnt, const uint64_t *input, uint32_t inputCnt, const void *inputStruct, size_t inputStructCnt, uint64_t *output, uint32_t *outputCnt, void *outputStruct, size_t *outputStructCnt); kern_return_t IOConnectCallScalarMethod(mach_port_t connection, uint32_t selector, const uint64_t *input, uint32_t inputCnt, uint64_t *output, uint32_t *outputCnt); kern_return_t IOConnectCallStructMethod(mach_port_t connection, uint32_t selector, const void *inputStruct, size_t inputStructCnt, void *outputStruct, size_t *outputStructCnt); kern_return_t IOConnectCallAsyncStructMethod(mach_port_t connection, uint32_t selector, mach_port_t wake_port, uint64_t *reference, uint32_t referenceCnt, const void *inputStruct, size_t inputStructCnt, void *outputStruct, size_t *outputStructCnt); kern_return_t IOConnectCallAsyncScalarMethod(mach_port_t connection, uint32_t selector, mach_port_t wake_port, uint64_t *reference, uint32_t referenceCnt, const uint64_t *input, uint32_t inputCnt, uint64_t *output, uint32_t *outputCnt); kern_return_t IOConnectSetCFProperty(io_connect_t connect, CFStringRef propertyName, CFTypeRef property); kern_return_t IOConnectSetCFProperties(io_connect_t connect, CFTypeRef properties); kern_return_t IOConnectAddClient(io_connect_t connect, io_connect_t client); kern_return_t IOConnectMapMemory64(io_connect_t connect, uint32_t memoryType, task_port_t intoTask, mach_vm_address_t *atAddress, mach_vm_size_t *ofSize, IOOptionBits options); kern_return_t IOObjectGetClass(io_object_t object, io_name_t className); kern_return_t IOObjectRelease(io_object_t object); kern_return_t IOObjectRetain(io_object_t object); kern_return_t IOServiceOpen(io_service_t service, task_port_t owningTask, uint32_t type, io_connect_t *connect); kern_return_t IOServiceClose(io_connect_t connect); kern_return_t IOServiceGetMatchingServices(mach_port_t masterPort, CFDictionaryRef matching, io_iterator_t *existing); kern_return_t IOServiceGetState(io_service_t service, uint64_t *state); kern_return_t IOServiceMatchPropertyTable(io_service_t service, CFDictionaryRef matching, boolean_t *matches); kern_return_t IOServiceAddMatchingNotification(IONotificationPortRef notifyPort, const io_name_t notificationType, CFDictionaryRef matching, IOServiceMatchingCallback callback, void *refCon, io_iterator_t *notification); kern_return_t IORegistryCreateIterator(mach_port_t masterPort, const io_name_t plane, IOOptionBits options, io_iterator_t *iterator); kern_return_t IORegistryEntryGetPath(io_registry_entry_t entry, const io_name_t plane, io_string_t path); kern_return_t IORegistryEntryGetName(io_registry_entry_t entry, io_name_t name); kern_return_t IORegistryEntryGetNameInPlane(io_registry_entry_t entry, const io_name_t plane, io_name_t name); kern_return_t IORegistryEntryGetLocationInPlane(io_registry_entry_t entry, const io_name_t plane, io_name_t location); kern_return_t IORegistryEntryGetParentEntry(io_registry_entry_t entry, const io_name_t plane, io_registry_entry_t *parent); kern_return_t IORegistryEntryGetChildEntry(io_registry_entry_t entry, const io_name_t plane, io_registry_entry_t *child); kern_return_t IORegistryEntryGetChildIterator(io_registry_entry_t entry, const io_name_t plane, io_iterator_t *iterator); kern_return_t IORegistryEntryGetParentIterator(io_registry_entry_t entry, const io_name_t plane, io_iterator_t *iterator); kern_return_t IORegistryEntryGetProperty(io_registry_entry_t entry, const io_name_t propertyName, io_struct_inband_t buffer, uint32_t *size); kern_return_t IORegistryEntryCreateCFProperties(io_registry_entry_t entry, CFMutableDictionaryRef *, CFAllocatorRef, NSInteger); kern_return_t IORegistryEntryCreateIterator(io_registry_entry_t entry, const io_name_t plane, IOOptionBits options, io_iterator_t *iterator); kern_return_t IORegistryEntrySetCFProperty(io_registry_entry_t entry, CFStringRef propertyName, CFTypeRef property); kern_return_t IORegistryEntrySetCFProperties(io_registry_entry_t entry, CFTypeRef properties); kern_return_t IORegistryIteratorEnterEntry(io_iterator_t iterator); kern_return_t IORegistryIteratorExitEntry(io_iterator_t iterator); #ifndef GHIDRA kern_return_t IOHIDPostEvent(io_connect_t connect, UInt32 eventType, IOGPoint location, const NXEventData *eventData, UInt32 eventDataVersion, IOOptionBits eventFlags, IOOptionBits options); #endif io_service_t IOServiceGetMatchingService(mach_port_t masterPort, CFDictionaryRef matching); io_object_t IOIteratorNext(io_iterator_t iterator); io_registry_entry_t IORegistryEntryFromPath(mach_port_t masterPort, const io_string_t path); io_registry_entry_t IORegistryEntryCopyFromPath(mach_port_t masterPort, CFStringRef path); AbsoluteTime IOHIDEventGetTimeStamp(IOHIDEventRef event); boolean_t IOHIDServiceClientConformsTo(IOHIDServiceClientRef service, uint32_t usagePage, uint32_t usage); boolean_t IORegistryEntryInPlane(io_registry_entry_t entry, const io_name_t plane); CFTypeID IOHIDEventGetTypeID(void); CFTypeID IOHIDEventQueueGetTypeID(void); CFTypeID IOHIDDeviceGetTypeID(void); CFTypeID IOHIDManagerGetTypeID(void); CFTypeID IOHIDUserDeviceGetTypeID(void); CFTypeID IOUSBDeviceControllerGetTypeID(void); CFDictionaryRef IOPMCopyActivePMPreferences(void); CFDictionaryRef IOPMCopySystemPowerSettings(void); CFMutableDictionaryRef IOPMCopyPMPreferences(void); CFMutableDictionaryRef IOBSDNameMatching(mach_port_t masterPort, uint32_t options, const char *bsdName); CFMutableDictionaryRef IOServiceMatching(const char *name); CFMutableDictionaryRef IOServiceNameMatching(const char *name); CFMutableDictionaryRef IORegistryEntryIDMatching(uint64_t entryID); CFMutableDataRef IOHIDEventCreateData(CFAllocatorRef allocator, IOHIDEventRef event); CFArrayRef IOHIDDeviceCopyMatchingElements(IOHIDDeviceRef device, CFDictionaryRef matching, IOOptionBits options); CFArrayRef IOHIDEventGetChildren(IOHIDEventRef event); CFArrayRef IOHIDEventSystemClientCopyServices(IOHIDEventSystemClientRef client); CFIndex IOHIDEventGetIntegerValueWithOptions(IOHIDEventRef event, IOHIDEventField field, IOOptionBits options); CFIndex IOHIDEventGetIntegerValue(IOHIDEventRef event, IOHIDEventField field); CFIndex IOHIDElementGetLogicalMax(IOHIDElementRef element); CFIndex IOHIDElementGetLogicalMin(IOHIDElementRef element); CFIndex IOHIDValueGetIntegerValue(IOHIDValueRef value); CFSetRef IOHIDManagerCopyDevices(IOHIDManagerRef manager); CFTypeRef IOHIDDeviceGetProperty(IOHIDDeviceRef device, CFStringRef key); CFTypeRef IOHIDManagerGetProperty(IOHIDManagerRef manager, CFStringRef key); CFTypeRef IOHIDServiceClientCopyProperty(IOHIDServiceClientRef service, CFStringRef key); CFTypeRef IORegistryEntryCreateCFProperty(io_registry_entry_t entry, CFStringRef key, CFAllocatorRef allocator, IOOptionBits options); CFTypeRef IORegistryEntrySearchCFProperty(io_registry_entry_t entry, const io_name_t plane, CFStringRef key, CFAllocatorRef allocator, IOOptionBits options); CFStringRef IORegistryEntryCopyPath(io_registry_entry_t entry, const io_name_t plane); CFStringRef IOHIDEventTypeGetName(IOHIDEventType type); CFStringRef IOPMSleepWakeCopyUUID(void); IOHIDUserDeviceRef IOHIDUserDeviceCreate(CFAllocatorRef allocator, CFDictionaryRef properties); IOHIDEventQueueRef IOHIDEventQueueCreateWithToken(CFAllocatorRef allocator, uint32_t token); IOHIDEventQueueRef IOHIDEventQueueCreate(CFAllocatorRef allocator, int notificationPortType, uint32_t token); IOHIDEventSystemClientRef IOHIDEventSystemClientCreate(CFAllocatorRef allocator); IOHIDEventSystemClientRef IOHIDEventSystemClientCreateSimpleClient(CFAllocatorRef allocator); IOHIDEventRef IOHIDEventQueueDequeueCopy(IOHIDEventQueueRef queue); IOHIDEventRef IOHIDEventCreateCopy(CFAllocatorRef allocator, IOHIDEventRef event); IOHIDEventRef IOHIDEventCreate(CFAllocatorRef allocator, IOHIDEventType type, AbsoluteTime timeStamp, IOOptionBits options); IOHIDEventRef IOHIDEventCreateWithData(CFAllocatorRef allocator, CFDataRef data); IOHIDEventRef IOHIDEventCreateProgressEvent(CFAllocatorRef allocator, AbsoluteTime timeStamp, uint32_t eventType, IOHIDFloat level, IOOptionBits options); IOHIDEventRef IOHIDEventCreateVendorDefinedEvent(CFAllocatorRef allocator, AbsoluteTime timeStamp, uint16_t usagePage, uint16_t usage, uint32_t version, const uint8_t *data, uint32_t length, IOOptionBits options); IOHIDEventRef IOHIDEventCreateSwipeEvent(CFAllocatorRef allocator, AbsoluteTime timeStamp, IOHIDSwipeMask swipeMask, IOOptionBits options); IOHIDEventRef IOHIDEventCreateDigitizerEvent(CFAllocatorRef allocator, AbsoluteTime timeStamp, IOHIDDigitizerTransducerType type, uint32_t index, uint32_t identity, uint32_t eventMask, uint32_t buttonMask, IOHIDFloat x, IOHIDFloat y, IOHIDFloat z, IOHIDFloat tipPressure, IOHIDFloat barrelPressure, Boolean range, Boolean touch, IOOptionBits options); IOHIDEventRef IOHIDEventCreateDigitizerFingerEventWithQuality(CFAllocatorRef allocator, AbsoluteTime timeStamp, uint32_t index, uint32_t identity, uint32_t eventMask, IOHIDFloat x, IOHIDFloat y, IOHIDFloat z, IOHIDFloat tipPressure, IOHIDFloat twist, IOHIDFloat minorRadius, IOHIDFloat majorRadius, IOHIDFloat quality, IOHIDFloat density, IOHIDFloat irregularity, Boolean range, Boolean touch, IOOptionBits options); IOHIDEventRef IOHIDEventCreateDigitizerFingerEvent(CFAllocatorRef allocator, AbsoluteTime timeStamp, uint32_t index, uint32_t identity, uint32_t eventMask, IOHIDFloat x, IOHIDFloat y, IOHIDFloat z, IOHIDFloat tipPressure, IOHIDFloat twist, Boolean range, Boolean touch, IOOptionBits options); IOHIDEventRef IOHIDEventCreateDigitizerStylusEventWithPolarOrientation(CFAllocatorRef allocator, AbsoluteTime timeStamp, uint32_t index, uint32_t identity, uint32_t eventMask, uint32_t buttonMask, IOHIDFloat x, IOHIDFloat y, IOHIDFloat z, IOHIDFloat tipPressure, IOHIDFloat barrelPressure, IOHIDFloat twist, IOHIDFloat altitude, IOHIDFloat azimuth, Boolean range, Boolean invert, IOOptionBits options); IOHIDEventRef IOHIDEventCreateDigitizerStylusEvent(CFAllocatorRef allocator, AbsoluteTime timeStamp, uint32_t index, uint32_t identity, uint32_t eventMask, uint32_t buttonMask, IOHIDFloat x, IOHIDFloat y, IOHIDFloat z, IOHIDFloat tipPressure, IOHIDFloat barrelPressure, IOHIDFloat twist, IOHIDFloat altitude, IOHIDFloat azimuth, Boolean range, Boolean invert, IOOptionBits options); IOHIDEventRef IOHIDEventCreateProximtyEvent(CFAllocatorRef allocator, AbsoluteTime timeStamp, IOHIDProximityDetectionMask detectionMask, IOOptionBits options); #define IOHIDEventCreateProximityEvent IOHIDEventCreateProximtyEvent IOHIDEventRef IOHIDEventCreateAmbientLightSensorEvent(CFAllocatorRef allocator, AbsoluteTime timeStamp, IOHIDFloat level, IOOptionBits options); IOHIDEventRef IOHIDEventCreateMouseEvent(CFAllocatorRef allocator, AbsoluteTime timeStamp, IOHIDFloat x, IOHIDFloat y, IOHIDFloat z, uint32_t buttonMask, IOOptionBits options); IOHIDEventRef IOHIDEventCreateMouseEventWithPressure(CFAllocatorRef allocator, AbsoluteTime timeStamp, IOHIDFloat x, IOHIDFloat y, IOHIDFloat z, uint32_t buttonMask, IOHIDFloat pressure, IOOptionBits options); IOHIDEventRef IOHIDEventCreateButtonEvent(CFAllocatorRef allocator, AbsoluteTime timeStamp, uint32_t buttonMask, IOOptionBits options); IOHIDEventRef IOHIDEventCreateButtonEventWithPressure(CFAllocatorRef allocator, AbsoluteTime timeStamp, uint32_t buttonMask, IOHIDFloat pressure, IOOptionBits options); IOHIDEventRef IOHIDEventCreateKeyboardEvent(CFAllocatorRef allocator, AbsoluteTime timeStamp, uint16_t usagePage, uint16_t usage, Boolean down, IOHIDEventOptionBits flags); IOHIDEventRef IOHIDEventCreateAccelerometerEvent(CFAllocatorRef allocator, AbsoluteTime timeStamp, IOHIDFloat x, IOHIDFloat y, IOHIDFloat z, IOOptionBits options); IOHIDEventRef IOHIDEventCreatePolarOrientationEvent(CFAllocatorRef allocator, AbsoluteTime timeStamp, IOHIDFloat x, IOHIDFloat y, IOHIDFloat z, IOOptionBits options); IOHIDEventRef IOHIDEventCreateOrientationEvent(CFAllocatorRef allocator, AbsoluteTime timeStamp, IOHIDFloat x, IOHIDFloat y, IOHIDFloat z, IOOptionBits options); IOHIDEventRef IOHIDEventCreateVelocityEvent(CFAllocatorRef allocator, AbsoluteTime timeStamp, IOHIDFloat x, IOHIDFloat y, IOHIDFloat z, IOOptionBits options); IOHIDEventRef IOHIDEventCreateScaleEvent(CFAllocatorRef allocator, AbsoluteTime timeStamp, IOHIDFloat x, IOHIDFloat y, IOHIDFloat z, IOOptionBits options); IOHIDEventRef IOHIDEventCreateScrollEvent(CFAllocatorRef allocator, AbsoluteTime timeStamp, IOHIDFloat x, IOHIDFloat y, IOHIDFloat z, IOOptionBits options); IOHIDEventRef IOHIDEventCreateRotationEvent(CFAllocatorRef allocator, AbsoluteTime timeStamp, IOHIDFloat x, IOHIDFloat y, IOHIDFloat z, IOOptionBits options); IOHIDEventRef IOHIDEventCreateTranslationEvent(CFAllocatorRef allocator, AbsoluteTime timeStamp, IOHIDFloat x, IOHIDFloat y, IOHIDFloat z, IOOptionBits options); IOHIDEventRef IOHIDEventGetParent(IOHIDEventRef event); IOHIDEventRef IOHIDEventGetEventWithOptions(IOHIDEventRef event, IOHIDEventType type, IOOptionBits options); IOHIDEventRef IOHIDEventGetEvent(IOHIDEventRef event, IOHIDEventType type); IOHIDEventRef IOHIDServiceClientCopyEvent(IOHIDServiceClientRef, int64_t, int32_t, int64_t); IOHIDEventRef _IOHIDEventGetContext(IOHIDEventRef event); IOHIDEventType IOHIDEventGetType(IOHIDEventRef event); IOHIDElementRef IOHIDValueGetElement(IOHIDValueRef value); IOPMNotificationHandle IOPMRegisterPrefsChangeNotification(dispatch_queue_t queue, void (*block)()); int IOHIDEventSystemClientSetMatching(IOHIDEventSystemClientRef client, CFDictionaryRef match); int IOHIDServiceClientSetProperty(IOHIDServiceClientRef, CFStringRef, CFNumberRef); unsigned int IOHIDEventIsRepeat(IOHIDEventRef event); uint32_t IOHIDEventGetEventFlags(IOHIDEventRef event); uint32_t IOHIDEventQueueGetToken(IOHIDEventQueueRef queue); uint32_t IOHIDElementGetUsage(IOHIDElementRef element); uint32_t IOHIDElementGetUsagePage(IOHIDElementRef element); uint64_t IOHIDEventGetSenderID(IOHIDEventRef event); void IOHIDDeviceRegisterInputReportCallback(IOHIDDeviceRef device, uint8_t *report, CFIndex reportLength, IOHIDReportCallback callback, void *context); void IOHIDDeviceRegisterInputValueCallback(IOHIDDeviceRef device, IOHIDValueCallback callback, void *context); void IOHIDDeviceRegisterRemovalCallback(IOHIDDeviceRef device, IOHIDCallback callback, void *context); void IOHIDDeviceUnscheduleFromRunLoop(IOHIDDeviceRef device, CFRunLoopRef runLoop, CFStringRef runLoopMode); void IOHIDEventGetVendorDefinedData(IOHIDEventRef event, uint32_t *length, uint8_t **data); void IOHIDEventSetFloatValueWithOptions(IOHIDEventRef event, IOHIDEventField field, IOHIDFloat value, IOOptionBits options); void IOHIDEventSetFloatValue(IOHIDEventRef event, IOHIDEventField field, IOHIDFloat value); void IOHIDEventSetDoubleValue(IOHIDEventRef event, IOHIDEventField field, double value); void IOHIDEventSetIntegerValueWithOptions(IOHIDEventRef event, IOHIDEventField field, CFIndex value, IOOptionBits options); void IOHIDEventSetIntegerValue(IOHIDEventRef event, IOHIDEventField field, CFIndex value); void IOHIDEventSetPositionWithOptions(IOHIDEventRef event, IOHIDEventField field, IOHID3DPoint position, IOOptionBits options); void IOHIDEventSetPosition(IOHIDEventRef event, IOHIDEventField field, IOHID3DPoint position); void IOHIDEventSetEventFlags(IOHIDEventRef event, uint32_t eventFlags); void IOHIDEventSetTimeStamp(IOHIDEventRef event, AbsoluteTime timeStamp); void IOHIDEventSetSenderID(IOHIDEventRef event, uint64_t senderID); void IOHIDEventRemoveEvent(IOHIDEventRef event, IOHIDEventRef childEvent); void IOHIDEventAppendEvent(IOHIDEventRef event, IOHIDEventRef childEvent); void IOHIDEventQueueEnqueue(IOHIDEventQueueRef queue, IOHIDEventRef event); void IOHIDEventSystemClientDispatchEvent(IOHIDEventSystemClientRef client, IOHIDEventRef event); void IOHIDEventSystemClientSetMatchingMultiple(IOHIDEventSystemClientRef, CFArrayRef); void IOHIDEventSystemClientRegisterEventCallback(IOHIDEventSystemClientRef client, IOHIDEventSystemClientEventCallback callback, void *target, void *refcon); void IOHIDEventSystemClientUnregisterEventCallback(IOHIDEventSystemClientRef client); void IOHIDEventSystemClientUnregisterEventFilterCallback(IOHIDEventSystemClientRef client, IOHIDEventSystemEventFilterCallback callback, void *target, void *refcon); void IOHIDEventSystemClientUnscheduleWithRunLoop(IOHIDEventSystemClientRef client, CFRunLoopRef runloop, CFStringRef mode); void IOHIDEventSystemClientScheduleWithRunLoop(IOHIDEventSystemClientRef client, CFRunLoopRef runloop, CFStringRef mode); void IOHIDManagerSetDeviceMatching(IOHIDManagerRef manager, CFDictionaryRef matching); void IOHIDManagerSetDeviceMatchingMultiple(IOHIDManagerRef manager, CFArrayRef multiple); void IOHIDManagerScheduleWithRunLoop(IOHIDManagerRef manager, CFRunLoopRef runLoop, CFStringRef runLoopMode); void IOHIDManagerUnscheduleFromRunLoop(IOHIDManagerRef manager, CFRunLoopRef runLoop, CFStringRef runLoopMode); void IOHIDManagerRegisterDeviceMatchingCallback(IOHIDManagerRef manager, IOHIDDeviceCallback callback, void *context); void IOHIDManagerRegisterDeviceRemovalCallback(IOHIDManagerRef manager, IOHIDDeviceCallback callback, void *context); void IOHIDManagerRegisterInputReportCallback(IOHIDManagerRef manager, IOHIDReportCallback callback, void *context); void IOHIDManagerRegisterInputValueCallback(IOHIDManagerRef manager, IOHIDValueCallback callback, void *context); void IOHIDUserDeviceScheduleWithRunLoop(IOHIDUserDeviceRef device, CFRunLoopRef runLoop, CFStringRef runLoopMode); void IOHIDUserDeviceUnscheduleFromRunLoop(IOHIDUserDeviceRef device, CFRunLoopRef runLoop, CFStringRef runLoopMode); void IOHIDUserDeviceRegisterGetReportCallback(IOHIDUserDeviceRef device, IOHIDUserDeviceReportCallback callback, void *refcon); void IOHIDUserDeviceRegisterSetReportCallback(IOHIDUserDeviceRef device, IOHIDUserDeviceReportCallback callback, void *refcon); void IOUSBDeviceDescriptionSetSerialString(IOUSBDeviceDescriptionRef ref, CFStringRef serial); void IOUSBDeviceDescriptionRemoveAllConfigurations(IOUSBDeviceDescriptionRef devDesc); IOHIDFloat IOHIDEventGetFloatValueWithOptions(IOHIDEventRef event, IOHIDEventField field, IOOptionBits options); IOHIDFloat IOHIDEventGetFloatValue(IOHIDEventRef event, IOHIDEventField field); double IOHIDEventGetDoubleValue(IOHIDEventRef event, IOHIDEventField field); double IOHIDEventGetDoubleValueWithOptions(IOHIDEventRef event, IOHIDEventField field, IOOptionBits options); IOHID3DPoint IOHIDEventGetPositionWithOptions(IOHIDEventRef event, IOHIDEventField field, IOOptionBits options); IOHID3DPoint IOHIDEventGetPosition(IOHIDEventRef event, IOHIDEventField field); void *IOHIDEventGetDataValue(IOHIDEventRef event, IOHIDEventType type); bool IOPSDrawingUnlimitedPower(void); bool IOPMFeatureIsAvailableWithSupportedTable(CFStringRef PMFeature, CFStringRef power_source, CFDictionaryRef supportedFeatures); Boolean IOHIDDeviceConformsTo(IOHIDDeviceRef device, uint32_t usagePage, uint32_t usage); Boolean IOHIDEventIsAbsolute(IOHIDEventRef event); Boolean IOHIDEventConformsToWithOptions(IOHIDEventRef event, IOHIDEventType type, IOOptionBits options); Boolean IOHIDEventConformsTo(IOHIDEventRef event, IOHIDEventType type); IOHIDManagerRef IOHIDManagerCreate(CFAllocatorRef allocator, IOOptionBits options); IOHIDEventSystemClientRef IOHIDEventSystemClientCreateWithType(CFAllocatorRef allocator, IOHIDEventSystemClientType type, void *unk); IOUSBDeviceDescriptionRef IOUSBDeviceDescriptionCreateWithType(CFAllocatorRef allocator, CFStringRef type); IOUSBDeviceDescriptionRef IOUSBDeviceDescriptionCreateFromController(CFAllocatorRef allocator, IOUSBDeviceControllerRef); IOReturn IOHIDDeviceOpen(IOHIDDeviceRef device, IOOptionBits options); IOReturn IOHIDDeviceClose(IOHIDDeviceRef device, IOOptionBits options); IOReturn IOHIDManagerOpen(IOHIDManagerRef manager, IOOptionBits options); IOReturn IOHIDManagerClose(IOHIDManagerRef manager, IOOptionBits options); IOReturn IOHIDUserDeviceHandleReport(IOHIDUserDeviceRef device, uint8_t *report, CFIndex reportLength); IOReturn IOHIDUserDeviceHandleReportAsync(IOHIDUserDeviceRef device, uint8_t *report, CFIndex reportLength, IOHIDUserDeviceHandleReportAsyncCallback callback, void *refcon); IOReturn IOUSBDeviceControllerCreate(CFAllocatorRef allocator, IOUSBDeviceControllerRef *deviceRef); IOReturn IOUSBDeviceControllerSetDescription(IOUSBDeviceControllerRef device, IOUSBDeviceDescriptionRef description); IOReturn IOUSBDeviceControllerSendCommand(IOUSBDeviceControllerRef device, CFStringRef command, CFTypeRef param); IOReturn IOPSGetPercentRemaining(int *percent, bool *isCharging, bool *isFullyCharged); IOReturn IOPSRequestBatteryUpdate(int type); IOReturn IOPMRequestSysWake(CFDictionaryRef request); IOReturn IOPMGetLastWakeTime(CFAbsoluteTime *whenWoke, CFTimeInterval *adjustedForPhysicalWake); IOReturn IOPMCopySleepPreventersList(int preventerType, CFArrayRef *outArray); IOReturn IOPMCopySleepPreventersListWithID(int preventerType, CFArrayRef *outArray); ================================================ FILE: IOKit/NXTypes.h ================================================ #ifndef _NX_TYPES #define _NX_TYPES #ifndef GHIDRA // Doesn't work correctly on IDA Pro 7.0 #import "../BaseTypes.h" typedef struct _NXTabletPointData { SInt32 x; SInt32 y; SInt32 z; UInt16 buttons; UInt16 pressure; struct { SInt16 x; SInt16 y; } tilt; UInt16 rotation; SInt16 tangentialPressure; UInt16 deviceID; SInt16 vendor1; SInt16 vendor2; SInt16 vendor3; } NXTabletPointData, *NXTabletPointDataPtr; typedef struct _NXTabletProximityData { UInt16 vendorID; UInt16 tabletID; UInt16 pointerID; UInt16 deviceID; UInt16 systemTabletID; UInt16 vendorPointerType; UInt32 pointerSerialNumber; UInt64 uniqueID __attribute__((packed)); UInt32 capabilityMask; UInt8 pointerType; UInt8 enterProximity; SInt16 reserved1; } NXTabletProximityData, *NXTabletProximityDataPtr; typedef union NXEventData { typedef struct mouse { UInt8 subx; UInt8 suby; SInt16 eventNum; SInt32 click; UInt8 pressure; UInt8 buttonNumber; UInt8 subType; UInt8 reserved2; SInt32 reserved3; typedef union tablet { NXTabletPointData point; NXTabletProximityData proximity; } tablet; } mouse; typedef struct mouseMove { SInt32 dx; SInt32 dy; UInt8 subx; UInt8 suby; UInt8 subType; UInt8 reserved1; SInt32 reserved2; typedef union tablet { NXTabletPointData point; NXTabletProximityData proximity; } tablet; } mouseMove; typedef struct key { UInt16 origCharSet; SInt16 repeat; UInt16 charSet; UInt16 charCode; UInt16 keyCode; UInt16 origCharCode; SInt32 reserved1; UInt32 keyboardType; SInt32 reserved2; SInt32 reserved3; SInt32 reserved4; SInt32 reserved5[4]; } key; typedef struct tracking { SInt16 reserved; SInt16 eventNum; SInt32 trackingNum; SInt32 userData; SInt32 reserved1; SInt32 reserved2; SInt32 reserved3; SInt32 reserved4; SInt32 reserved5; SInt32 reserved6[4]; } tracking; typedef struct zoom { SInt16 deltaAxis1; SInt16 deltaAxis2; SInt16 deltaAxis3; SInt16 reserved1; SInt32 fixedDeltaAxis1; SInt32 fixedDeltaAxis2; SInt32 fixedDeltaAxis3; SInt32 pointDeltaAxis1; SInt32 pointDeltaAxis2; SInt32 pointDeltaAxis3; SInt32 reserved8[4]; } scrollWheel, zoom; typedef struct compound { SInt16 reserved; SInt16 subType; typedef union misc { float F[11]; SInt32 L[11]; SInt16 S[22]; char C[44]; } misc; } compound; typedef struct tablet { SInt32 x; SInt32 y; SInt32 z; UInt16 buttons; UInt16 pressure; typedef struct tilt { SInt16 x; SInt16 y; } tilt; UInt16 rotation; SInt16 tangentialPressure; UInt16 deviceID; SInt16 vendor1; SInt16 vendor2; SInt16 vendor3; SInt32 reserved[4]; } tablet; typedef struct proximity { UInt16 vendorID; UInt16 tabletID; UInt16 pointerID; UInt16 deviceID; UInt16 systemTabletID; UInt16 vendorPointerType; UInt32 pointerSerialNumber; UInt64 uniqueID __attribute__((packed)); UInt32 capabilityMask; UInt8 pointerType; UInt8 enterProximity; SInt16 reserved1; SInt32 reserved2[4]; } proximity; } NXEventData; #endif #endif ================================================ FILE: IOKit/Types.h ================================================ #ifndef IOKIT_H_ #define IOKIT_H_ #import "../BaseTypes.h" #import "../CoreFoundation/Types.h" #import "NXTypes.h" #define IOHIDEventFieldBase(type) (type << 16) #define IOHIDEventFieldOffsetOf(field) (field & 0xffff) typedef OSObject *io_object_t; typedef io_object_t *io_service_t; typedef io_object_t *io_connect_t; typedef io_object_t *io_registry_entry_t; typedef io_object_t *io_iterator_t; typedef char io_name_t[128]; typedef char io_string_t[512]; typedef char io_struct_inband_t[4096]; typedef kern_return_t IOReturn; PS_ENUM(UInt32, IOOptionBits) { kIOHIDEventOptionNone = 0, }; typedef SInt32 IOFixed; typedef UInt32 IOVersion; typedef UInt32 IOItemCount; typedef UInt32 IOCacheMode; typedef UInt32 IOByteCount32; typedef UInt64 IOByteCount64; typedef UInt32 IOPhysicalAddress32; typedef UInt64 IOPhysicalAddress64; typedef UInt32 IOPhysicalLength32; typedef UInt64 IOPhysicalLength64; #ifdef __EA64__ typedef mach_vm_address_t IOVirtualAddress; #else typedef vm_address_t IOVirtualAddress; #endif typedef IOVirtualAddress IOLogicalAddress; typedef struct __IOHIDManager *IOHIDManagerRef; typedef struct __IOHIDValue *IOHIDValueRef; typedef struct __IOHIDDevice *IOHIDDeviceRef; typedef struct IONotificationPort *IONotificationPortRef; typedef struct __IOHIDEventSystemClient *IOHIDEventSystemClientRef; typedef struct __IOHIDEventQueue *IOHIDEventQueueRef; typedef struct __IOHIDServiceClient *IOHIDServiceClientRef; typedef struct __IOHIDElement *IOHIDElementRef; typedef struct __IOHIDUserDevice *IOHIDUserDeviceRef; typedef struct __IOUSBDeviceController *IOUSBDeviceControllerRef; typedef struct __IOUSBDeviceDescription *IOUSBDeviceDescriptionRef; extern const mach_port_t kIOMasterPortDefault; typedef struct IOGPoint { SInt16 x; SInt16 y; } IOGPoint; typedef struct __IOHIDEvent { CFRuntimeBase base; AbsoluteTime _timeStamp; int x10; int x14; IOOptionBits _options; unsigned _typeMask; CFMutableArrayRef _children; struct __IOHIDEvent *_parent; size_t recordSize; void *record; } * IOHIDEventRef; PS_ENUM(uint32_t, IOHIDEventType) { kIOHIDEventTypeNULL = 0, kIOHIDEventTypeVendorDefined, kIOHIDEventTypeButton, kIOHIDEventTypeKeyboard, kIOHIDEventTypeTranslation, kIOHIDEventTypeRotation, kIOHIDEventTypeScroll, kIOHIDEventTypeScale, kIOHIDEventTypeZoom, kIOHIDEventTypeVelocity, kIOHIDEventTypeOrientation, kIOHIDEventTypeDigitizer, kIOHIDEventTypeAmbientLightSensor, kIOHIDEventTypeAccelerometer, kIOHIDEventTypeProximity, kIOHIDEventTypeTemperature, kIOHIDEventTypeNavigationSwipe, kIOHIDEventTypePointer, kIOHIDEventTypeProgress, kIOHIDEventTypeMultiAxisPointer, kIOHIDEventTypeGyro, kIOHIDEventTypeCompass, kIOHIDEventTypeZoomToggle, kIOHIDEventTypeDockSwipe, kIOHIDEventTypeSymbolicHotKey, kIOHIDEventTypePower, kIOHIDEventTypeLED, kIOHIDEventTypeFluidTouchGesture, kIOHIDEventTypeBoundaryScroll, kIOHIDEventTypeBiometric, kIOHIDEventTypeUnicode, kIOHIDEventTypeAtmosphericPressure, kIOHIDEventTypeForce, kIOHIDEventTypeMotionActivity, kIOHIDEventTypeMotionGesture, kIOHIDEventTypeGameController, kIOHIDEventTypeHumidity, kIOHIDEventTypeCollection, kIOHIDEventTypeBrightness, kIOHIDEventTypeGenericGesture, kIOHIDEventTypeCount, kIOHIDEventTypeSwipe = kIOHIDEventTypeNavigationSwipe, kIOHIDEventTypeMouse = kIOHIDEventTypePointer }; PS_ENUM(uint32_t, IOHIDAccelerometerType) { kIOHIDAccelerometerTypeNormal = 0, kIOHIDAccelerometerTypeShake = 1 }; PS_ENUM(uint32_t, IOHIDSwipeMask) { kIOHIDSwipeNone = 0, kIOHIDSwipeUp = 1 << 0, kIOHIDSwipeDown = 1 << 1, kIOHIDSwipeLeft = 1 << 2, kIOHIDSwipeRight = 1 << 3, kIOHIDScaleExpand = 1 << 4, kIOHIDScaleContract = 1 << 5, kIOHIDRotateCW = 1 << 6, kIOHIDRotateCCW = 1 << 7, }; PS_ENUM(uint32_t, IOHIDProximityDetectionMask) { kIOHIDProximityDetectionLargeBodyContact = 0x0001, kIOHIDProximityDetectionLargeBodyFarField = 0x0002, kIOHIDProximityDetectionIrregularObjects = 0x0004, kIOHIDProximityDetectionEdgeStraddling = 0x0008, kIOHIDProximityDetectionFlatFingerClasp = 0x0010, kIOHIDProximityDetectionFingerTouch = 0x0020, kIOHIDProximityDetectionReceiver = 0x0040, kIOHIDProximityDetectionSmallObjectsHovering = 0x0080, kIOHIDProximityDetectionReceiverCrude = 0x0100 }; PS_ENUM(uint32_t, IOHIDDigitizerTransducerType) { kIOHIDDigitizerTransducerTypeStylus = 0x20, kIOHIDDigitizerTransducerTypePuck, kIOHIDDigitizerTransducerTypeFinger, kIOHIDDigitizerTransducerTypeHand }; PS_ENUM(uint32_t, IOHIDDigitizerEventMask) { kIOHIDDigitizerEventRange = 1 << 0, kIOHIDDigitizerEventTouch = 1 << 1, kIOHIDDigitizerEventPosition = 1 << 2, kIOHIDDigitizerEventStop = 1 << 3, kIOHIDDigitizerEventPeak = 1 << 4, kIOHIDDigitizerEventIdentity = 1 << 5, kIOHIDDigitizerEventAttribute = 1 << 6, kIOHIDDigitizerEventCancel = 1 << 7, kIOHIDDigitizerEventStart = 1 << 8, kIOHIDDigitizerEventResting = 1 << 9, kIOHIDDigitizerEventFromEdgeFlat = 1 << 10, kIOHIDDigitizerEventFromEdgeTip = 1 << 11, kIOHIDDigitizerEventFromCorner = 1 << 12, kIOHIDDigitizerEventSwipePending = 1 << 13, kIOHIDDigitizerEventFromEdgeForcePending = 1 << 14, kIOHIDDigitizerEventFromEdgeForceActive = 1 << 15, kIOHIDDigitizerEventForcePopped = 1 << 16, kIOHIDDigitizerEventSwipeUp = 1 << 24, kIOHIDDigitizerEventSwipeDown = 1 << 25, kIOHIDDigitizerEventSwipeLeft = 1 << 26, kIOHIDDigitizerEventSwipeRight = 1 << 27, kIOHIDDigitizerEventEstimatedAltitude = 1 << 28, kIOHIDDigitizerEventEstimatedAzimuth = 1 << 29, kIOHIDDigitizerEventEstimatedPressure = 1 << 30, kIOHIDDigitizerEventSwipeMask = 0xF << 24, }; PS_ENUM(uint32_t, IOHIDEventOptionBits) { kIOHIDEventOptionIsAbsolute = 0x00000001, kIOHIDEventOptionIsCollection = 0x00000002, kIOHIDEventOptionPixelUnits = 0x00000004 }; PS_ENUM(uint32_t, IOHIDReportType) { kIOHIDReportTypeInput = 0, kIOHIDReportTypeOutput, kIOHIDReportTypeFeature, kIOHIDReportTypeCount }; #ifdef __EA64__ typedef double IOHIDFloat; #else typedef float IOHIDFloat; #endif typedef struct _IOHID3DPoint { IOHIDFloat x; IOHIDFloat y; IOHIDFloat z; } IOHID3DPoint; PS_ENUM(uint32_t, IOHIDEventField) { kIOHIDEventFieldAccelerometerX = IOHIDEventFieldBase(kIOHIDEventTypeAccelerometer), kIOHIDEventFieldAccelerometerY, kIOHIDEventFieldAccelerometerZ, kIOHIDEventFieldAccelerometerType, kIOHIDEventFieldAccelerometerSubType, kIOHIDEventFieldAccelerometerSequence, kIOHIDEventFieldMouseX = IOHIDEventFieldBase(kIOHIDEventTypeMouse), kIOHIDEventFieldMouseY, kIOHIDEventFieldMouseZ, kIOHIDEventFieldMouseButtonMask, kIOHIDEventFieldMouseNumber, kIOHIDEventFieldMouseClickCount, kIOHIDEventFieldMousePressure, kIOHIDEventFieldAmbientLightSensorLevel = IOHIDEventFieldBase(kIOHIDEventTypeAmbientLightSensor), kIOHIDEventFieldAmbientLightSensorRawChannel0, kIOHIDEventFieldAmbientLightSensorRawChannel1, kIOHIDEventFieldAmbientLightDisplayBrightnessChanged, kIOHIDEventFieldTemperatureLevel = IOHIDEventFieldBase(kIOHIDEventTypeTemperature), kIOHIDEventFieldProximityDetectionMask = IOHIDEventFieldBase(kIOHIDEventTypeProximity), kIOHIDEventFieldOrientationRadius = IOHIDEventFieldBase(kIOHIDEventTypeOrientation), kIOHIDEventFieldOrientationAzimuth, kIOHIDEventFieldOrientationAltitude, kIOHIDEventFieldKeyboardUsagePage = IOHIDEventFieldBase(kIOHIDEventTypeKeyboard), kIOHIDEventFieldKeyboardUsage, kIOHIDEventFieldKeyboardDown, kIOHIDEventFieldKeyboardRepeat, kIOHIDEventFieldKeyboardPressCount, kIOHIDEventFieldKeyboardLongPress, kIOHIDEventFieldKeyboardClickSpeed, kIOHIDEventFieldKeyboardSlowKeyPhase, kIOHIDEventFieldKeyboardMouseKeyToggle, kIOHIDEventFieldDigitizerX = IOHIDEventFieldBase(kIOHIDEventTypeDigitizer), kIOHIDEventFieldDigitizerY, kIOHIDEventFieldDigitizerZ, kIOHIDEventFieldDigitizerButtonMask, kIOHIDEventFieldDigitizerType, kIOHIDEventFieldDigitizerIndex, kIOHIDEventFieldDigitizerIdentity, kIOHIDEventFieldDigitizerEventMask, kIOHIDEventFieldDigitizerRange, kIOHIDEventFieldDigitizerTouch, kIOHIDEventFieldDigitizerPressure, kIOHIDEventFieldDigitizerBarrelPressure, kIOHIDEventFieldDigitizerTwist, kIOHIDEventFieldDigitizerTiltX, kIOHIDEventFieldDigitizerTiltY, kIOHIDEventFieldDigitizerAltitude, kIOHIDEventFieldDigitizerAzimuth, kIOHIDEventFieldDigitizerQuality, kIOHIDEventFieldDigitizerDensity, kIOHIDEventFieldDigitizerIrregularity, kIOHIDEventFieldDigitizerMajorRadius, kIOHIDEventFieldDigitizerMinorRadius, kIOHIDEventFieldDigitizerCollection, kIOHIDEventFieldDigitizerCollectionChord, kIOHIDEventFieldDigitizerChildEventMask, kIOHIDEventFieldDigitizerIsDisplayIntegrated, kIOHIDEventFieldDigitizerQualityRadiiAccuracy, kIOHIDEventFieldDigitizerGenerationCount, kIOHIDEventFieldDigitizerWillUpdateMask, kIOHIDEventFieldDigitizerDidUpdateMask, kIOHIDEventFieldDigitizerEstimatedMask, kIOHIDEventFieldDigitizerAuxiliaryPressure = kIOHIDEventFieldDigitizerBarrelPressure, kIOHIDEventFieldGenericGestureType = IOHIDEventFieldBase(kIOHIDEventTypeGenericGesture), kIOHIDEventFieldGenericGestureTypeTapCount, kIOHIDEventFieldGenericGestureTypeSwipeProgress, kIOHIDEventFieldSwipeMask = IOHIDEventFieldBase(kIOHIDEventTypeSwipe), kIOHIDEventFieldSwipeMotion, kIOHIDEventFieldSwipeProgress, kIOHIDEventFieldSwipePositionX, kIOHIDEventFieldSwipePositionY, kIOHIDEventFieldSwipeFlavor, kIOHIDEventFieldProgressEventType = IOHIDEventFieldBase(kIOHIDEventTypeProgress), kIOHIDEventFieldProgressLevel, kIOHIDEventFieldFluidTouchGestureMask = IOHIDEventFieldBase(kIOHIDEventTypeFluidTouchGesture), kIOHIDEventFieldFluidTouchGestureMotion, kIOHIDEventFieldFluidTouchGestureProgress, kIOHIDEventFieldFluidTouchGesturePositionX, kIOHIDEventFieldFluidTouchGesturePositionY, kIOHIDEventFieldFluidTouchGestureFlavor, kIOHIDEventFieldBoundaryScrollMask = IOHIDEventFieldBase(kIOHIDEventTypeBoundaryScroll), kIOHIDEventFieldBoundaryScrollMotion, kIOHIDEventFieldBoundaryScrollProgress, kIOHIDEventFieldBoundaryScrollPositionX, kIOHIDEventFieldBoundaryScrollPositionY, kIOHIDEventFieldBoundaryScrollFlavor, kIOHIDEventFieldDockSwipeMask = IOHIDEventFieldBase(kIOHIDEventTypeDockSwipe), kIOHIDEventFieldDockSwipeMotion, kIOHIDEventFieldDockSwipeProgress, kIOHIDEventFieldDockSwipePositionX, kIOHIDEventFieldDockSwipePositionY, kIOHIDEventFieldDockSwipeFlavor, kIOHIDEventFieldNavigationSwipeMask = IOHIDEventFieldBase(kIOHIDEventTypeNavigationSwipe), kIOHIDEventFieldNavigationSwipeMotion, kIOHIDEventFieldNavigationSwipeProgress, kIOHIDEventFieldNavigationSwipePositionX, kIOHIDEventFieldNavigationSwipePositionY, kIOHIDEventFieldNavagationSwipeFlavor, kIOHIDEventFieldButtonMask = IOHIDEventFieldBase(kIOHIDEventTypeButton), kIOHIDEventFieldButtonNumber, kIOHIDEventFieldButtonClickCount, kIOHIDEventFieldButtonPressure, kIOHIDEventFieldButtonState, kIOHIDEventFieldPointerX = IOHIDEventFieldBase(kIOHIDEventTypePointer), kIOHIDEventFieldPointerY, kIOHIDEventFieldPointerZ, kIOHIDEventFieldPointerButtonMask, kIOHIDEventFieldPointerButtonNumber = kIOHIDEventFieldButtonNumber, kIOHIDEventFieldPointerButtonClickCount = kIOHIDEventFieldButtonClickCount, kIOHIDEventFieldPointerButtonPressure = kIOHIDEventFieldButtonPressure, kIOHIDEventFieldVelocityX = IOHIDEventFieldBase(kIOHIDEventTypeVelocity), kIOHIDEventFieldVelocityY, kIOHIDEventFieldVelocityZ, kIOHIDEventFieldScaleX = IOHIDEventFieldBase(kIOHIDEventTypeScale), kIOHIDEventFieldScaleY, kIOHIDEventFieldScaleZ, kIOHIDEventFieldScrollX = IOHIDEventFieldBase(kIOHIDEventTypeScroll), kIOHIDEventFieldScrollY, kIOHIDEventFieldScrollZ, kIOHIDEventFieldScrollIsPixels, kIOHIDEventFieldRotationX = IOHIDEventFieldBase(kIOHIDEventTypeRotation), kIOHIDEventFieldRotationY, kIOHIDEventFieldRotationZ, kIOHIDEventFieldTranslationX = IOHIDEventFieldBase(kIOHIDEventTypeTranslation), kIOHIDEventFieldTranslationY, kIOHIDEventFieldTranslationZ, kIOHIDEventFieldVendorDefinedUsagePage = IOHIDEventFieldBase(kIOHIDEventTypeVendorDefined), kIOHIDEventFieldVendorDefinedUsage, kIOHIDEventFieldVendorDefinedVersion, kIOHIDEventFieldVendorDefinedDataLength, kIOHIDEventFieldVendorDefinedData, kIOHIDEventFieldIsRelative = IOHIDEventFieldBase(kIOHIDEventTypeNULL), kIOHIDEventFieldIsCollection, kIOHIDEventFieldIsPixelUnits, kIOHIDEventFieldIsCenterOrigin, kIOHIDEventFieldIsBuiltIn, kIOHIDEventFieldMultiAxisPointerX = IOHIDEventFieldBase(kIOHIDEventTypeMultiAxisPointer), kIOHIDEventFieldMultiAxisPointerY, kIOHIDEventFieldMultiAxisPointerZ, kIOHIDEventFieldMultiAxisPointerRx, kIOHIDEventFieldMultiAxisPointerRy, kIOHIDEventFieldMultiAxisPointerRz, kIOHIDEventFieldMultiAxisPointerButtonMask, kIOHIDEventFieldMultiAxisPointerButtonNumber = kIOHIDEventFieldButtonNumber, kIOHIDEventFieldMultiAxisPointerButtonClickCount = kIOHIDEventFieldButtonClickCount, kIOHIDEventFieldMultiAxisPointerButtonPressure = kIOHIDEventFieldButtonPressure, }; PS_ENUM(uint32_t, IOHIDDigitizerEventUpdateMask) { kIOHIDDigitizerEventUpdateXMask = 1 << IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerX), kIOHIDDigitizerEventUpdateYMask = 1 << IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerY), kIOHIDDigitizerEventUpdateZMask = 1 << IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerZ), kIOHIDDigitizerEventUpdateButtonMaskMask = 1 << IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerButtonMask), kIOHIDDigitizerEventUpdateTypeMask = 1 << IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerType), kIOHIDDigitizerEventUpdateIndexMask = 1 << IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerIndex), kIOHIDDigitizerEventUpdateIdentityMask = 1 << IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerIdentity), kIOHIDDigitizerEventUpdateEventMaskMask = 1 << IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerEventMask), kIOHIDDigitizerEventUpdateRangeMask = 1 << IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerRange), kIOHIDDigitizerEventUpdateTouchMask = 1 << IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerTouch), kIOHIDDigitizerEventUpdatePressureMask = 1 << IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerPressure), kIOHIDDigitizerEventUpdateAuxiliaryPressureMask = 1 << IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerAuxiliaryPressure), kIOHIDDigitizerEventUpdateTwistMask = 1 << IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerTwist), kIOHIDDigitizerEventUpdateTiltXMask = 1 << IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerTiltX), kIOHIDDigitizerEventUpdateTiltYMask = 1 << IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerTiltY), kIOHIDDigitizerEventUpdateAltitudeMask = 1 << IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerAltitude), kIOHIDDigitizerEventUpdateAzimuthMask = 1 << IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerAzimuth), kIOHIDDigitizerEventUpdateQualityMask = 1 << IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerQuality), kIOHIDDigitizerEventUpdateDensityMask = 1 << IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerDensity), kIOHIDDigitizerEventUpdateIrregularityMask = 1 << IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerIrregularity), kIOHIDDigitizerEventUpdateMajorRadiusMask = 1 << IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerMajorRadius), kIOHIDDigitizerEventUpdateMinorRadiusMask = 1 << IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerMinorRadius), kIOHIDDigitizerEventUpdateCollectionMask = 1 << IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerCollection), kIOHIDDigitizerEventUpdateCollectionChordMask = 1 << IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerCollectionChord), kIOHIDDigitizerEventUpdateChildEventMaskMask = 1 << IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerChildEventMask), kIOHIDDigitizerEventUpdateIsDisplayIntegratedMask = 1 << IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerIsDisplayIntegrated), kIOHIDDigitizerEventUpdateQualityRadiiAccuracyMask = 1 << IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerQualityRadiiAccuracy), }; PS_ENUM(int, IOHIDEventSystemClientType) { kIOHIDEventSystemClientTypeMonitor = 1, kIOHIDEventSystemClientTypeAdmin = 2, kIOHIDEventSystemClientTypeSimple = 4 }; enum { kIOPMIdleSleepPreventers = 0, kIOPMSystemSleepPreventers = 1 }; enum { kIOHIDGenericGestureTypeTap = 0, kIOHIDGenericGestureTypeSwipe }; typedef struct IOHIDEventData { uint32_t size; IOHIDEventType type; uint32_t options; uint8_t depth; uint8_t reserved[3]; } IOHIDEventData; typedef void (*IOHIDCallback)(void *context, IOReturn result, void *sender); typedef void (*IOHIDValueCallback)(void *context, IOReturn result, void *sender, IOHIDValueRef value); typedef void (*IOHIDReportCallback)(void *context, IOReturn result, void *sender, IOHIDReportType type, uint32_t reportID, uint8_t *report, CFIndex reportLength); typedef void (*IOHIDDeviceCallback)(void *context, IOReturn result, void *sender, IOHIDDeviceRef device); typedef void (*IOServiceMatchingCallback)(void *refcon, io_iterator_t iterator); typedef void (*IOHIDEventSystemClientEventCallback)(void *target, void *refcon, IOHIDEventQueueRef queue, IOHIDEventRef event); typedef bool (*IOHIDEventSystemEventFilterCallback)(void *target, void *refcon, void *sender, IOHIDEventRef event); typedef IOReturn (*IOHIDUserDeviceReportCallback)(void *refcon, IOHIDReportType type, uint32_t reportID, uint8_t *report, CFIndex reportLength); typedef IOReturn (*IOHIDUserDeviceHandleReportAsyncCallback)(void *refcon, IOReturn result); typedef uintptr_t IOPMNotificationHandle; #endif ================================================ FILE: IOMobileFramebuffer/IOMobileFramebuffer.h ================================================ #import "../Kernel/Types.h" #import "../IOSurface/Types.h" #import "Types.h" IOMobileFramebufferReturn IOMobileFramebufferOpen(IOMobileFramebufferService service, task_port_t owningTask, unsigned int type, IOMobileFramebufferRef *pointer); IOMobileFramebufferReturn IOMobileFramebufferOpenByName(IOMobileFramebufferDisplayType name, IOMobileFramebufferRef *pointer); IOMobileFramebufferReturn IOMobileFramebufferGetMainDisplay(IOMobileFramebufferRef *pointer); IOMobileFramebufferReturn IOMobileFramebufferGetDisplayArea(IOMobileFramebufferRef pointer, IOMobileFramebufferDisplayArea *displayArea); IOMobileFramebufferReturn IOMobileFramebufferGetDisplaySize(IOMobileFramebufferRef pointer, IOMobileFramebufferDisplaySize *size); IOMobileFramebufferReturn IOMobileFramebufferGetDotPitch(IOMobileFramebufferRef pointer, IOMobileFramebufferDotPitch *dotPitch); IOMobileFramebufferReturn IOMobileFramebufferSwapBegin(IOMobileFramebufferRef pointer, int *token); IOMobileFramebufferReturn IOMobileFramebufferSwapEnd(IOMobileFramebufferRef pointer); IOMobileFramebufferReturn IOMobileFramebufferSwapSetLayer(IOMobileFramebufferRef pointer, int layerid, IOSurfaceRef buffer); IOMobileFramebufferReturn IOMobileFramebufferSwapWait(IOMobileFramebufferRef pointer, int token, int something); ================================================ FILE: IOMobileFramebuffer/Types.h ================================================ #ifndef IOMOBILEFRAMEBUFFER_H_ #define IOMOBILEFRAMEBUFFER_H_ #import "../CoreGraphics/Types.h" #import "../IOKit/Types.h" typedef struct __IOMobileFramebuffer *IOMobileFramebufferRef; typedef IOReturn IOMobileFramebufferReturn; typedef io_service_t IOMobileFramebufferService; typedef CGSize IOMobileFramebufferDisplaySize; typedef CGFloat IOMobileFramebufferDisplayArea; typedef CFTypeID IOMobileFramebufferID; typedef CFStringRef IOMobileFramebufferDisplayType; typedef int IOMobileFramebufferContrastLevel; typedef int IOMobileFramebufferDotPitch; #endif ================================================ FILE: IOSurface/IOSurface.h ================================================ #import "../BaseTypes.h" #import "../Kernel/Types.h" #import "../CoreGraphics/Types.h" #import "../CoreFoundation/Types.h" #import "../IOKit/Types.h" #import "Types.h" Boolean IOSurfaceIsInUse(IOSurfaceRef buffer); Boolean IOSurfaceIsTiled(IOSurfaceRef buffer); CFTypeID IOSurfaceGetTypeID(void); CFTypeRef IOSurfaceCopyValue(IOSurfaceRef buffer, CFStringRef key); CGContextRef CGIOSurfaceContextCreate(IOSurfaceRef, size_t, size_t, size_t, size_t, CGColorSpaceRef, CGBitmapInfo); CGImageRef CGIOSurfaceContextCreateImage(CGContextRef); IOReturn IOSurfaceLock(IOSurfaceRef buffer, uint32_t options, uint32_t *seed); IOReturn IOSurfaceSetPurgeable(IOSurfaceRef buffer, uint32_t newState, uint32_t *oldState); IOReturn IOSurfaceUnlock(IOSurfaceRef buffer, uint32_t options, uint32_t *seed); IOSurfaceID IOSurfaceGetID(IOSurfaceRef buffer); IOSurfaceRef IOSurfaceCreate(CFDictionaryRef properties); IOSurfaceRef IOSurfaceLookup(IOSurfaceID csid); IOSurfaceRef IOSurfaceLookupFromMachPort(mach_port_t); mach_port_t IOSurfaceCreateMachPort(IOSurfaceRef buffer); OSType IOSurfaceGetPixelFormat(IOSurfaceRef buffer); size_t IOSurfaceAlignProperty(CFStringRef property, size_t value); size_t IOSurfaceGetAllocSize(IOSurfaceRef buffer); size_t IOSurfaceGetBytesPerElement(IOSurfaceRef buffer); size_t IOSurfaceGetBytesPerElementOfPlane(IOSurfaceRef buffer, size_t planeIndex); size_t IOSurfaceGetBytesPerRow(IOSurfaceRef buffer); size_t IOSurfaceGetBytesPerRowOfPlane(IOSurfaceRef buffer, size_t planeIndex); size_t IOSurfaceGetElementHeight(IOSurfaceRef buffer); size_t IOSurfaceGetElementHeightOfPlane(IOSurfaceRef buffer, size_t planeIndex); size_t IOSurfaceGetElementWidth(IOSurfaceRef buffer); size_t IOSurfaceGetElementWidthOfPlane(IOSurfaceRef buffer, size_t planeIndex); size_t IOSurfaceGetHeight(IOSurfaceRef buffer); size_t IOSurfaceGetHeightOfPlane(IOSurfaceRef buffer, size_t planeIndex); size_t IOSurfaceGetPlaneCount(IOSurfaceRef buffer); size_t IOSurfaceGetPropertyMaximum(CFStringRef property); size_t IOSurfaceGetWidth(IOSurfaceRef buffer); size_t IOSurfaceGetWidthOfPlane(IOSurfaceRef buffer, size_t planeIndex); void *IOSurfaceGetBaseAddress(IOSurfaceRef buffer); void *IOSurfaceGetBaseAddressOfPlane(IOSurfaceRef buffer, size_t planeIndex); void IOSurfaceDecrementUseCount(IOSurfaceRef buffer); void IOSurfaceIncrementUseCount(IOSurfaceRef buffer); void IOSurfaceRemoveValue(IOSurfaceRef buffer, CFStringRef key); void IOSurfaceSetValue(IOSurfaceRef buffer, CFStringRef key, CFTypeRef value); ================================================ FILE: IOSurface/Types.h ================================================ #ifndef IOSURFACE_H_ #define IOSURFACE_H_ #import "../BaseTypes.h" typedef struct __IOSurface *IOSurfaceRef; typedef uint32_t IOSurfaceID; #endif ================================================ FILE: Kernel/Kernel.h ================================================ #import "../BaseTypes.h" #import "Types.h" int kdebug_trace(uint32_t debugid, uint64_t arg1, uint64_t arg2, uint64_t arg3, uint64_t arg4); int mig_strncpy_zerofill(char *dest, const char *src, int len); int proc_setthread_cpupercent(uint8_t percentage, uint32_t ms_refill); kern_return_t mach_port_construct(ipc_space_t task, mach_port_options_ptr_t options, uint64_t context, mach_port_name_t *name); kern_return_t mach_port_destruct(ipc_space_t task, mach_port_name_t name, mach_port_delta_t srdelta, uint64_t guard); kern_return_t mach_port_peek(ipc_space_t task, mach_port_name_t name, mach_msg_trailer_type_t trailer_type, mach_port_seqno_t *request_seqnop, mach_msg_size_t *msg_sizep, mach_msg_id_t *msg_idp, mach_msg_trailer_info_t trailer_infop, mach_msg_type_number_t *trailer_infopCnt); kern_return_t mach_get_times(uint64_t *absolute_time, uint64_t *cont_time, struct timespec *tp); uint64_t mach_continuous_approximate_time(void); uint64_t mach_continuous_time(void); ================================================ FILE: Kernel/Types.h ================================================ #ifndef KERNEL_H_ #define KERNEL_H_ #import "../BaseTypes.h" typedef __darwin_natural_t natural_t; typedef natural_t mach_port_name_t; typedef natural_t mach_port_seqno_t; typedef natural_t mach_port_msgcount_t; typedef natural_t mach_msg_type_number_t; typedef natural_t mach_msg_size_t; typedef kern_return_t mach_msg_return_t; #define BOOTSTRAP_MAX_NAME_LEN 128 typedef char name_t[BOOTSTRAP_MAX_NAME_LEN]; #ifdef __EA64__ typedef long __darwin_ptrdiff_t; #else typedef int __darwin_ptrdiff_t; #endif typedef unsigned char __darwin_uuid_t[16]; typedef __darwin_uuid_t uuid_t; typedef __darwin_ptrdiff_t ptrdiff_t; typedef struct task *task_t; typedef task_t task_port_t; typedef integer_t mach_msg_id_t; typedef integer_t mach_port_delta_t; typedef char *mach_msg_trailer_info_t; typedef uint16_t mode_t; typedef uint64_t mach_vm_size_t; typedef u_int64_t user_addr_t; typedef int boolean_t; typedef char gid_t; typedef short uid_t; typedef int pid_t; typedef unsigned int FourCharCode; typedef unsigned int mach_msg_trailer_type_t; typedef unsigned int mach_msg_trailer_size_t; typedef unsigned int mach_msg_bits_t; typedef vm_offset_t pointer_t; typedef SInt16 OSErr; typedef SInt32 OSStatus; typedef UInt32 OptionBits; typedef FourCharCode OSType; typedef struct ipc_space *ipc_space_t; typedef struct mach_port_limits { mach_port_msgcount_t mpl_qlimit; } mach_port_limits_t; typedef struct mach_port_options { uint32_t flags; mach_port_limits_t mpl; uint64_t reserved[2]; } mach_port_options_t; typedef struct mach_msg_header { mach_msg_bits_t msgh_bits; mach_msg_size_t msgh_size; mach_port_t msgh_remote_port; mach_port_t msgh_local_port; mach_msg_size_t msgh_reserved; mach_msg_id_t msgh_id; } mach_msg_header_t; typedef mach_vm_address_t mach_port_context_t; typedef mach_port_options_t *mach_port_options_ptr_t; typedef struct security_token { unsigned int val[2]; } security_token_t; typedef struct audit_token { unsigned int val[8]; } audit_token_t; typedef struct mach_msg_context_trailer { mach_msg_trailer_type_t msgh_trailer_type; mach_msg_trailer_size_t msgh_trailer_size; mach_port_seqno_t msgh_seqno; security_token_t msgh_sender; audit_token_t msgh_audit; mach_port_context_t msgh_context; } mach_msg_context_trailer_t; #endif ================================================ FILE: LICENSE ================================================ MIT License Copyright (c) 2019 - 2025 PoomSmart Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Copyright (C) Apple Inc. All rights reserved Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ================================================ FILE: MediaRemote/MediaRemote.h ================================================ #import "../BaseTypes.h" #import "../Darwin/Types.h" #import "../CoreFoundation/Types.h" #import "../Foundation/Types.h" #import "Types.h" Boolean MRMediaRemotePickedRouteHasVolumeControl(); Boolean MRMediaRemoteSendCommand(MRMediaRemoteCommand command, NSDictionary *userInfo); Boolean MRMediaRemoteSetCanBeNowPlayingApplication(Boolean can); CFArrayRef MRMediaRemoteCopyPickableRoutes(); CFArrayRef MRMediaRemoteCopyPickableRoutesForCategory(CFNSString category); int MRMediaRemoteSelectSourceWithID(CFStringRef identifier); void MRMediaRemoteBeginRouteDiscovery(); void MRMediaRemoteEndRouteDiscovery(); void MRMediaRemoteGetMediaPlaybackVolume(dispatch_queue_t queue, MRMediaRemoteGetMediaPlaybackVolumeCompletion completion); void MRMediaRemoteGetNowPlayingApplicationIsPlaying(dispatch_queue_t queue, MRMediaRemoteGetNowPlayingApplicationIsPlayingCompletion completion); void MRMediaRemoteGetNowPlayingApplicationPID(dispatch_queue_t queue, MRMediaRemoteGetNowPlayingApplicationPIDCompletion completion); void MRMediaRemoteGetNowPlayingInfo(dispatch_queue_t queue, MRMediaRemoteGetNowPlayingInfoCompletion completion); void MRMediaRemoteGetSavedAVRoutePassword(CFStringRef route, dispatch_queue_t queue, MRMediaRemoteGetSavedAVRoutePasswordCompletion completion); void MRMediaRemoteGetSupportedCommands(dispatch_queue_t queue, MRMediaRemoteGetSupportedCommandsCompletion completion); void MRMediaRemoteKeepAlive(); void MRMediaRemoteRegisterForNowPlayingNotifications(dispatch_queue_t queue); void MRMediaRemoteSetElapsedTime(double elapsedTime); void MRMediaRemoteSetElapsedTime(double time); void MRMediaRemoteSetMediaPlaybackVolume(float volume, Boolean bypassVolumeWarning, dispatch_queue_t queue, MRMediaRemoteSetMediaPlaybackVolumeCompletion completion); void MRMediaRemoteSetNowPlayingApplicationOverrideEnabled(Boolean enabled); void MRMediaRemoteSetNowPlayingInfo(CFDictionaryRef information); void MRMediaRemoteSetPickedRouteWithPassword(CFStringRef route, CFStringRef password); void MRMediaRemoteSetPlaybackSpeed(int speed); void MRMediaRemoteSetRepeatMode(int mode); void MRMediaRemoteSetShuffleMode(int mode); void MRMediaRemoteUnregisterForNowPlayingNotifications(); ================================================ FILE: MediaRemote/Types.h ================================================ #ifndef MEDIAREMOTE_H_ #define MEDIAREMOTE_H_ #import "../CoreFoundation/Types.h" #import "../Foundation/Types.h" PS_ENUM(NSInteger, MRMediaRemoteCommand) { MRMediaRemoteCommandPlay = 0, MRMediaRemoteCommandPause = 1, MRMediaRemoteCommandTogglePlayPause = 2, MRMediaRemoteCommandStop = 3, MRMediaRemoteCommandNextTrack = 4, MRMediaRemoteCommandPreviousTrack = 5, MRMediaRemoteCommandAdvanceShuffleMode = 6, MRMediaRemoteCommandAdvanceRepeatMode = 7, MRMediaRemoteCommandBeginFastForward = 8, MRMediaRemoteCommandEndFastForward = 9, MRMediaRemoteCommandBeginRewind = 10, MRMediaRemoteCommandEndRewind = 11, MRMediaRemoteCommandRewind15Seconds = 12, MRMediaRemoteCommandFastForward15Seconds = 13, MRMediaRemoteCommandRewind30Seconds = 14, MRMediaRemoteCommandFastForward30Seconds = 15, MRMediaRemoteCommandToggleRecord = 16, MRMediaRemoteCommandSkipForward = 17, MRMediaRemoteCommandSkipBackward = 18, MRMediaRemoteCommandChangePlaybackRate = 19, MRMediaRemoteCommandRateTrack = 20, MRMediaRemoteCommandLikeTrack = 21, MRMediaRemoteCommandDislikeTrack = 22, MRMediaRemoteCommandBookmarkTrack = 23, MRMediaRemoteCommandSeekToPlaybackPosition = 24, MRMediaRemoteCommandChangeRepeatMode = 25, MRMediaRemoteCommandChangeShuffleMode = 26, MRMediaRemoteCommandEnableLanguageOption = 27, MRMediaRemoteCommandDisableLanguageOption = 28, MRMediaRemoteCommandNextChapter = 100, MRMediaRemoteCommandPreviousChapter = 101, MRMediaRemoteCommandNextAlbum = 102, MRMediaRemoteCommandPreviousAlbum = 103, MRMediaRemoteCommandNextPlaylist = 104, MRMediaRemoteCommandPreviousPlaylist = 105, MRMediaRemoteCommandBanTrack = 106, MRMediaRemoteCommandAddTrackToWishList = 107, MRMediaRemoteCommandRemoveTrackFromWishList = 108, MRMediaRemoteCommandNextInContext = 109, MRMediaRemoteCommandPreviousInContext = 110, MRMediaRemoteCommandMenu = 111, MRMediaRemoteCommandSelect = 112, MRMediaRemoteCommandUpArrow = 113, MRMediaRemoteCommandDownArrow = 114, MRMediaRemoteCommandBacklightOff = 115, MRMediaRemoteCommandResetPlaybackTimeout = 116, MRMediaRemoteCommandBuyTrack = 117, MRMediaRemoteCommandBuyAlbum = 118, MRMediaRemoteCommandPreOrderAlbum = 119, MRMediaRemoteCommandCancelDownload = 120, MRMediaRemoteCommandCreateRadioStation = 121, MRMediaRemoteCommandSetPlaybackQueue = 122, MRMediaRemoteCommandPresentUpNext = 123, MRMediaRemoteCommandSetSleepTimer = 124, MRMediaRemoteCommandInsertIntoPlaybackQueue = 125, MRMediaRemoteCommandPresentSharingOptions = 126, MRMediaRemoteCommandAddNowPlayingItemToLibrary = 127, MRMediaRemoteCommandAddItemToLibrary = 128, MRMediaRemoteCommandRemoveFromPlaybackQueue = 129, MRMediaRemoteCommandReorderPlaybackQueue = 130, MRMediaRemoteCommandPlayItemInPlaybackQueue = 131, MRMediaRemoteCommandPrepareForSetQueue = 132, MRMediaRemoteCommandSetPlaybackSession = 133, MRMediaRemoteCommandReshuffle = 134, MRMediaRemoteCommandChangeQueueEndAction = 135, MRMediaRemoteCommandPreloadPlaybackSession = 136, MRMediaRemoteCommandSetPriorityForPlaybackSession = 137, MRMediaRemoteCommandDiscardPlaybackSession = 138 }; typedef void (*MRMediaRemoteGetMediaPlaybackVolumeCompletion)(float volume); typedef void (*MRMediaRemoteGetNowPlayingInfoCompletion)(CFDictionaryRef information); typedef void (*MRMediaRemoteGetNowPlayingApplicationPIDCompletion)(int PID); typedef void (*MRMediaRemoteGetNowPlayingApplicationIsPlayingCompletion)(Boolean isPlaying); typedef void (*MRMediaRemoteGetSavedAVRoutePasswordCompletion)(CFStringRef password); typedef void (*MRMediaRemoteGetSupportedCommandsCompletion)(CFArrayRef commands); typedef void (*MRMediaRemoteSetMediaPlaybackVolumeCompletion)(CFErrorRef error); CFStringRef kMRMediaRemoteNowPlayingInfoDidChangeNotification; CFStringRef kMRMediaRemoteNowPlayingPlaybackQueueDidChangeNotification; CFStringRef kMRMediaRemotePickableRoutesDidChangeNotification; CFStringRef kMRMediaRemoteNowPlayingApplicationDidChangeNotification; CFStringRef kMRMediaRemoteNowPlayingApplicationIsPlayingDidChangeNotification; CFStringRef kMRMediaRemoteRouteStatusDidChangeNotification; CFStringRef kMRMediaRemoteNowPlayingApplicationPIDUserInfoKey; CFStringRef kMRMediaRemoteNowPlayingApplicationIsPlayingUserInfoKey; CFStringRef kMRMediaRemoteNowPlayingInfoAlbum; CFStringRef kMRMediaRemoteNowPlayingInfoArtist; CFStringRef kMRMediaRemoteNowPlayingInfoArtworkData; CFStringRef kMRMediaRemoteNowPlayingInfoArtworkMIMEType; CFStringRef kMRMediaRemoteNowPlayingInfoChapterNumber; CFStringRef kMRMediaRemoteNowPlayingInfoComposer; CFStringRef kMRMediaRemoteNowPlayingInfoDuration; CFStringRef kMRMediaRemoteNowPlayingInfoElapsedTime; CFStringRef kMRMediaRemoteNowPlayingInfoGenre; CFStringRef kMRMediaRemoteNowPlayingInfoIsAdvertisement; CFStringRef kMRMediaRemoteNowPlayingInfoIsBanned; CFStringRef kMRMediaRemoteNowPlayingInfoIsInWishList; CFStringRef kMRMediaRemoteNowPlayingInfoIsLiked; CFStringRef kMRMediaRemoteNowPlayingInfoIsMusicApp; CFStringRef kMRMediaRemoteNowPlayingInfoPlaybackRate; CFStringRef kMRMediaRemoteNowPlayingInfoProhibitsSkip; CFStringRef kMRMediaRemoteNowPlayingInfoQueueIndex; CFStringRef kMRMediaRemoteNowPlayingInfoRadioStationIdentifier; CFStringRef kMRMediaRemoteNowPlayingInfoRepeatMode; CFStringRef kMRMediaRemoteNowPlayingInfoShuffleMode; CFStringRef kMRMediaRemoteNowPlayingInfoStartTime; CFStringRef kMRMediaRemoteNowPlayingInfoSupportsFastForward15Seconds; CFStringRef kMRMediaRemoteNowPlayingInfoSupportsIsBanned; CFStringRef kMRMediaRemoteNowPlayingInfoSupportsIsLiked; CFStringRef kMRMediaRemoteNowPlayingInfoSupportsRewind15Seconds; CFStringRef kMRMediaRemoteNowPlayingInfoTimestamp; CFStringRef kMRMediaRemoteNowPlayingInfoTitle; CFStringRef kMRMediaRemoteNowPlayingInfoTotalChapterCount; CFStringRef kMRMediaRemoteNowPlayingInfoTotalDiscCount; CFStringRef kMRMediaRemoteNowPlayingInfoTotalQueueCount; CFStringRef kMRMediaRemoteNowPlayingInfoTotalTrackCount; CFStringRef kMRMediaRemoteNowPlayingInfoTrackNumber; CFStringRef kMRMediaRemoteNowPlayingInfoUniqueIdentifier; CFStringRef kMRMediaRemoteNowPlayingInfoRadioStationHash; CFStringRef kMRMediaRemoteOptionMediaType; CFStringRef kMRMediaRemoteOptionSourceID; CFStringRef kMRMediaRemoteOptionTrackID; CFStringRef kMRMediaRemoteOptionStationID; CFStringRef kMRMediaRemoteOptionStationHash; CFStringRef kMRMediaRemoteRouteDescriptionUserInfoKey; CFStringRef kMRMediaRemoteRouteStatusUserInfoKey; #endif ================================================ FILE: MobileGestalt/MobileGestalt.h ================================================ #import "../BaseTypes.h" #import "../CoreFoundation/Types.h" #import "../Foundation/Types.h" #import "Types.h" SInt32 MGGetSInt32Answer(CFStringRef key, SInt32 defaultVal); SInt64 MGGetSInt64Answer(CFStringRef key, SInt64 defaultVal); Float32 MGGetFloat32Answer(CFStringRef key, Float32 defaultVal); bool MGGetBoolAnswer(CFStringRef key); bool MGIsQuestionValid(CFStringRef key); bool MGIsDeviceOfType(uint8_t *type); bool MGIsDeviceOneOfType(uint8_t *type, ...) __attribute__((sentinel)); CFTypeRef MGCopyAnswer(CFStringRef key, CFDictionaryRef options); CFTypeRef MGCopyAnswerWithError(CFStringRef key, CFDictionaryRef options, int *error); CFPropertyListRef MGCopyMultipleAnswers(CFArrayRef keys, CFDictionaryRef options); CFStringRef MGGetStringAnswer(CFStringRef key); MGProductType MGGetProductType(void); int MGSetAnswer(CFStringRef key, CFTypeRef answer); void _MGLog(CFStringRef filePath, NSInteger lineNumber, CFStringRef format, ...); ================================================ FILE: MobileGestalt/Types.h ================================================ #import "../BaseTypes.h" PS_ENUM(int, MGProductType) { MGProductTypeUnknown = -1, }; PS_ENUM(int, MGDeviceClass) { MGDeviceClassInvalid = -1, MGDeviceClassiPhone = 1, MGDeviceClassiPod = 2, MGDeviceClassiPad = 3, MGDeviceClassAppleTV = 4, MGDeviceClassiFPGA = 5, MGDeviceClassWatch = 6, MGDeviceClassAudioAccessory = 7, MGDeviceClassiBridge = 8, MGDeviceClassMac = 9, MGDeviceClassAppleDisplay = 10, MGDeviceClassRealityDevice = 11, MGDeviceClassComputeModule = 12, }; ================================================ FILE: PowerLog/PowerLog.h ================================================ #import "../CoreFoundation/Types.h" bool PLShouldLogRegisteredEvent(int clientID, CFStringRef event); void PLLogRegisteredEvent(int clientID, CFStringRef eventName, CFDictionaryRef eventDictionary); void PLLogTimeSensitiveRegisteredEvent(int clientID, CFStringRef eventName, CFDictionaryRef eventDictionary); ================================================ FILE: QuartzCore/QuartzCore.h ================================================ #import "Types.h" bool CAFrameRateRangeIsEqualToRange(CAFrameRateRange range, CAFrameRateRange other); CAFrameRateRange CAFrameRateRangeMake(float minimum, float maximum, float preferred); ================================================ FILE: QuartzCore/Types.h ================================================ #ifndef QUARTZCORE_H_ #define QUARTZCORE_H_ typedef struct CAFrameRateRange { float minimum; float maximum; float preferred; } CAFrameRateRange; extern const CAFrameRateRange CAFrameRateRangeDefault; #endif ================================================ FILE: README.md ================================================ # IDAObjcTypes A collection of (public and private) types and functions definitions useful for iOS/macOS binaries analysis. ## Why even? Would you rather re-define the same functions or types over and over as you work with different binaries? ## Usage (IDA Pro 8+) 1. Go to `File > Load file > Parse C header file` then choose `IDA.h` to import everything at once. Or, run this IDA command: `idaapi.idc_parse_types("/path/to/IDAObjcTypes/IDA.h", idc.PT_FILE)`. 2. Copy `IDA.til` and `IDA32.til` to `til` folder inside IDA application directory. 3. In IDA Pro, open `Type Libraries` window via `View > Open subviews > Type libraries` or press `Shift + F11`. 4. Right-click the type list and select `Load type library...`. 5. Select `IDA` (or `IDA32` if you target 32-bit binaries) and click `OK` button. TIL created via this command: ```bash tilib -c -hIDA.h IDA.til -D__EA64__ -P -tIDAObjcTypes tilib -c -hIDA.h IDA32.til -P -tIDAObjcTypes32 ``` ## Usage (IDA Pro 7) Go to `File > Load file > Parse C header file` then choose `IDA.h` to import everything at once. Or, run this IDA command: `idaapi.idc_parse_types("/path/to/IDAObjcTypes/IDA.h", idc.PT_FILE)` ## Usage (Binary Ninja) 1. Go to `Analysis > Import Header File...`. 2. In `Header File(s)`, browse for `IDA.h` in this project. 3. In `Compiler Flag(s)`, add `-D__EA64__ -D__BINJA__`. 4. Click `Import` button. ## Usage (Ghidra) 1. Go to `File > Parse C Source`. 2. (Go to 6. if it's not the first time you do this) Clone `objc_mac_carbon.prf` profile into a new profile, called `OBJC.prf`, for example. 3. Remove everything in `Source files to parse`, and add `IDA.h` in this project to the list. 4. Add two additional flags: `-D__EA64__ -DGHIDRA` to Parse Options. 5. Save `OBJC.prf` profile as you might use it later. 6. Click `Parse to Program`, click `Proceed` if anything pops up. 7. Check `Data Type Manager` window (at bottom-left), (long) right-click at `` and select `Apply Function Data Types`. ### Ghidra limitation You have to manually specify the size of enum members if what you get is incorrect. ## iOS version-specific analysis Uncomment `// #define IOS14` inside `IDA.h` before you import it if you are reversing iOS 14 or lower binaries. ## Included Frameworks/Libraries More to be added as the owner reverses more binaries. - AppSupport - AssetsLibraryServices - AudioToolbox - AVFCapture - AVFoundation - CommonCrypto - CoreAnimation - CoreAudio - CoreFoundation - CoreGraphics - CoreMedia - CoreServices - CoreText - CoreVideo - CydiaSubstrate (if you ever want to RE tweaks) - Darwin - Foundation - GraphicsServices - IOMobileFramebuffer - IOKit - IOSurface - Kernel - MediaRemote - MobileGestalt - PowerLog - Security - SoftLinking - SpringBoard - SpringBoardHome - Swift (WIP, PRs welcome) - System (libSystem) - SystemConfiguration - UIKit - dyld - icu - objc - os - pthread - sandbox - sqlite - xpc - fishhook ================================================ FILE: Security/Security.h ================================================ #import "../BaseTypes.h" #import "../CoreFoundation/Types.h" #import "../Darwin/Types.h" #import "../Kernel/Types.h" #import "../xpc/Types.h" #import "Types.h" Boolean SecTaskEntitlementsValidated(SecTaskRef task); CFAbsoluteTime SecTrustGetVerifyTime(SecTrustRef trust); CFArrayRef CFArrayCreateForCFTypes(CFAllocatorRef allocator, ...); CFArrayRef SecCertificateCopyCommonNames(SecCertificateRef certificate); CFArrayRef SecCertificateCopyDNSNames(SecCertificateRef certificate); CFArrayRef SecCertificateCopyIPAddresses(SecCertificateRef certificate); CFArrayRef SecTrustCopyCertificateChain(SecTrustRef trust); CFArrayRef SecTrustCopyProperties(SecTrustRef trust); CFDataRef SecCertificateCopyData(SecCertificateRef certificate); CFDataRef SecCertificateCopyNormalizedIssuerSequence(SecCertificateRef certificate); CFDataRef SecCertificateCopyNormalizedSubjectSequence(SecCertificateRef certificate); #ifdef TARGET_OS_MAC CFDataRef SecCertificateCopySerialNumber(SecCertificateRef certificate, CFErrorRef *error); #else CFDataRef SecCertificateCopySerialNumber(SecCertificateRef certificate); #endif CFDataRef SecCertificateCopySerialNumberData(SecCertificateRef certificate, CFErrorRef *error); CFDataRef SecTrustCopyExceptions(SecTrustRef trust); CFDataRef SecTrustSerialize(SecTrustRef trust, CFErrorRef *error); CFDictionaryRef SecTrustCopyResult(SecTrustRef trust); CFIndex SecTrustGetCertificateCount(SecTrustRef trust); CFStringRef SecCertificateCopySubjectSummary(SecCertificateRef certificate); CFStringRef SecCopyErrorMessageString(OSStatus status, void *reserved); CFStringRef SecTaskCopySigningIdentifier(SecTaskRef task, CFErrorRef *error); CFStringRef SecTaskCopyDebugDescription(CFTypeRef cfTask); CFStringRef SecTaskCopyIdentifier(SecTaskRef task, int op, CFErrorRef *error); CFTypeID SecAccessControlGetTypeID(void); CFTypeID SecCertificateGetTypeID(void); CFTypeID SecPolicyGetTypeID(void); CFTypeID SecTaskGetTypeID(void); CFTypeID SecTrustGetTypeID(void); CFTypeRef SecTaskCopyValueForEntitlement(SecTaskRef task, CFStringRef entitlement, CFErrorRef *error); OSStatus SecCertificateAddToKeychain(SecCertificateRef certificate, SecKeychainRef keychain); OSStatus SecCertificateCopyCommonName(SecCertificateRef certificate, CFStringRef *commonName); OSStatus SecCertificateCopyEmailAddresses(SecCertificateRef certificate, CFArrayRef *emailAddresses); OSStatus SecCertificateGetData(SecCertificateRef certificate, CSSM_DATA_PTR data); OSStatus SecCodeCheckValidity(SecCodeRef code, SecCSFlags flags, SecRequirementRef requirement); OSStatus SecIdentityCopyCertificate(SecIdentityRef identityRef, SecCertificateRef *certificateRef); OSStatus SecItemAdd(CFDictionaryRef attributes, CFTypeRef *result); OSStatus SecItemCopyMatching(CFDictionaryRef query, CFTypeRef *result); OSStatus SecItemDelete(CFDictionaryRef query); OSStatus SecItemUpdate(CFDictionaryRef query, CFDictionaryRef attributesToUpdate); OSStatus SecKeyRawVerify(SecKeyRef key, SecPadding padding, const uint8_t *signedData, size_t signedDataLen, const uint8_t *sig, size_t sigLen); OSStatus SecPKCS12Import(CFDataRef pkcs12_data, CFDictionaryRef options, CFArrayRef *items); OSStatus SecTrustCopyAnchorCertificates(CFArrayRef *anchors); OSStatus SecTrustCopyCustomAnchorCertificates(SecTrustRef trust, CFArrayRef *anchors); OSStatus SecTrustCopyPolicies(SecTrustRef trust, CFArrayRef *policies); OSStatus SecTrustCreateWithCertificates(CFTypeRef certificates, CFTypeRef policies, SecTrustRef *trust); OSStatus SecTrustEvaluate(SecTrustRef trust, SecTrustResultType *result); OSStatus SecTrustEvaluateAsync(SecTrustRef trust, dispatch_queue_t queue, SecTrustCallback result); OSStatus SecTrustEvaluateWithError(SecTrustRef trust, CFErrorRef *error); OSStatus SecTrustGetCssmResult(SecTrustRef trust, CSSM_TP_VERIFY_CONTEXT_RESULT_PTR *result); OSStatus SecTrustGetCssmResultCode(SecTrustRef trust, OSStatus *resultCode); OSStatus SecTrustGetNetworkFetchAllowed(SecTrustRef trust, Boolean *allowFetch); OSStatus SecTrustGetResult(SecTrustRef trustRef, SecTrustResultType *result, CFArrayRef *certChain, CSSM_TP_APPLE_EVIDENCE_INFO **statusChain); OSStatus SecTrustGetTPHandle(SecTrustRef trust, CSSM_TP_HANDLE *handle); OSStatus SecTrustGetTrustResult(SecTrustRef trust, SecTrustResultType *result); OSStatus SecTrustSetAnchorCertificates(SecTrustRef trust, CFArrayRef anchorCertificates); OSStatus SecTrustSetAnchorCertificatesOnly(SecTrustRef trust, Boolean anchorCertificatesOnly); OSStatus SecTrustSetKeychains(SecTrustRef trust, CFTypeRef keychainOrArray); OSStatus SecTrustSetNetworkFetchAllowed(SecTrustRef trust, Boolean allowFetch); OSStatus SecTrustSetOCSPResponse(SecTrustRef trust, CFTypeRef responseData); OSStatus SecTrustSetOptions(SecTrustRef trustRef, SecTrustOptionFlags options); OSStatus SecTrustSetParameters(SecTrustRef trustRef, CSSM_TP_ACTION action, CFDataRef actionData); OSStatus SecTrustSetPolicies(SecTrustRef trust, CFTypeRef policies); OSStatus SecTrustSetSignedCertificateTimestamps(SecTrustRef trust, CFArrayRef sctArray); OSStatus SecTrustSetVerifyDate(SecTrustRef trust, CFDateRef verifyDate); SecSignatureHashAlgorithm SecCertificateGetSignatureHashAlgorithm(SecCertificateRef certificate); SecAccessControlRef SecAccessControlCreateWithFlags(CFAllocatorRef allocator, CFTypeRef protection, SecAccessControlCreateFlags flags, CFErrorRef *error); SecCertificateRef SecCertificateCreateWithData(CFAllocatorRef allocator, CFDataRef data); SecCertificateRef SecTrustGetCertificateAtIndex(SecTrustRef trust, CFIndex ix); SecKeyRef SecCertificateCopyKey(SecCertificateRef certificate); SecKeyRef SecKeyCreateRSAPublicKey(CFAllocatorRef allocator, const uint8_t *keyData, CFIndex keyDataLength, SecKeyEncoding encoding); SecKeyRef SecKeyCreateWithData(CFDataRef keyData, CFDictionaryRef attributes, CFErrorRef *error); SecKeyRef SecTrustCopyPublicKey(SecTrustRef trust); SecPolicyRef SecPolicyCreateBasicX509(void); SecPolicyRef SecPolicyCreateRevocation(CFOptionFlags revocationFlags); SecPolicyRef SecPolicyCreateSSL(Boolean server, CFStringRef hostname); SecPolicyRef SecPolicyCreateAppleIDAuthorityPolicy(void); SecTaskRef SecTaskCreateFromSelf(CFAllocatorRef allocator); SecTaskRef SecTaskCreateWithAuditToken(CFAllocatorRef allocator, audit_token_t token); SecTaskRef SecTaskCreateWithXPCMessage(xpc_object_t message); SecTrustRef SecTrustDeserialize(CFDataRef serializedTrust, CFErrorRef *error); uint32_t SecTaskGetCodeSignStatus(SecTaskRef task); int SecRandomCopyBytes(SecRandomRef rnd, size_t count, void *bytes); bool SecTaskLoadEntitlements(SecTaskRef task, CFErrorRef *error); bool SecTrustSetExceptions(SecTrustRef trust, CFDataRef exceptions); void SecTaskFinalize(CFTypeRef cfTask); #if TARGET_OS_OSX OSStatus SecCertificateCopyPublicKey(SecCertificateRef certificate, SecKeyRef *key); #else SecKeyRef SecCertificateCopyPublicKey(SecCertificateRef certificate); #endif ================================================ FILE: Security/Types.h ================================================ #ifndef SECURITY_H_ #define SECURITY_H_ #import "../BaseTypes.h" #import "../CoreFoundation/Types.h" #import "../Kernel/Types.h" struct __SecTask { CFRuntimeBase base; audit_token_t token; Boolean entitlementsLoaded; CFDictionaryRef entitlements; int lastFailure; }; typedef struct __SecCertificate *SecCertificateRef; typedef struct __SecIdentity *SecIdentityRef; typedef struct __SecKey *SecKeyRef; typedef struct __SecPolicy *SecPolicyRef; typedef struct __SecAccessControl *SecAccessControlRef; typedef struct __SecKeychain *SecKeychainRef; typedef struct __SecKeychainItem *SecKeychainItemRef; typedef struct __SecKeychainSearch *SecKeychainSearchRef; typedef struct __SecTrustedApplication *SecTrustedApplicationRef; typedef struct __SecAccess *SecAccessRef; typedef struct __SecTrust *SecACLRef; typedef struct __SecPassword *SecPasswordRef; typedef struct __SecTrust *SecTrustRef; typedef struct __SecTask *SecTaskRef; typedef struct __SecCode *SecCodeRef; typedef struct __SecRequirement *SecRequirementRef; typedef const struct __SecRandom *SecRandomRef; typedef uint32 CSSM_TP_ACTION; typedef uint32 CSSM_TP_HANDLE; typedef uint32 CSSM_EVIDENCE_FORM; typedef uint32 CSSM_DL_HANDLE; typedef uint32 CSSM_DB_HANDLE; #define CSSM_EVIDENCE_FORM_UNSPECIFIC 0x0 #define CSSM_EVIDENCE_FORM_CERT 0x1 #define CSSM_EVIDENCE_FORM_CRL 0x2 #define CSSM_EVIDENCE_FORM_CERT_ID 0x3 #define CSSM_EVIDENCE_FORM_CRL_ID 0x4 #define CSSM_EVIDENCE_FORM_VERIFIER_TIME 0x5 #define CSSM_EVIDENCE_FORM_CRL_THISTIME 0x6 #define CSSM_EVIDENCE_FORM_CRL_NEXTTIME 0x7 #define CSSM_EVIDENCE_FORM_POLICYINFO 0x8 #define CSSM_EVIDENCE_FORM_TUPLEGROUP 0x9 typedef enum cssm_return { CSSM_OK = 0, CSSM_FAIL = -1 } CSSM_RETURN; typedef struct cssm_evidence { CSSM_EVIDENCE_FORM EvidenceForm; void *Evidence; } CSSM_EVIDENCE, *CSSM_EVIDENCE_PTR; typedef struct cssm_tp_verify_context_result { uint32 NumberOfEvidences; CSSM_EVIDENCE_PTR Evidence; } CSSM_TP_VERIFY_CONTEXT_RESULT, *CSSM_TP_VERIFY_CONTEXT_RESULT_PTR; PS_ENUM(uint32, CSSM_TP_APPLE_CERT_STATUS) { CSSM_CERT_STATUS_EXPIRED = 0x00000001, CSSM_CERT_STATUS_NOT_VALID_YET = 0x00000002, CSSM_CERT_STATUS_IS_IN_INPUT_CERTS = 0x00000004, CSSM_CERT_STATUS_IS_IN_ANCHORS = 0x00000008, CSSM_CERT_STATUS_IS_ROOT = 0x00000010, CSSM_CERT_STATUS_IS_FROM_NET = 0x00000020, CSSM_CERT_STATUS_TRUST_SETTINGS_FOUND_USER = 0x00000040, CSSM_CERT_STATUS_TRUST_SETTINGS_FOUND_ADMIN = 0x00000080, CSSM_CERT_STATUS_TRUST_SETTINGS_FOUND_SYSTEM = 0x00000100, CSSM_CERT_STATUS_TRUST_SETTINGS_TRUST = 0x00000200, CSSM_CERT_STATUS_TRUST_SETTINGS_DENY = 0x00000400, CSSM_CERT_STATUS_TRUST_SETTINGS_IGNORED_ERROR = 0x00000800 }; typedef enum cssm_db_index_type { CSSM_DB_INDEX_UNIQUE = 0, CSSM_DB_INDEX_NONUNIQUE = 1 } CSSM_DB_INDEX_TYPE; typedef enum cssm_db_indexed_data_location { CSSM_DB_INDEX_ON_UNKNOWN = 0, CSSM_DB_INDEX_ON_ATTRIBUTE = 1, CSSM_DB_INDEX_ON_RECORD = 2 } CSSM_DB_INDEXED_DATA_LOCATION; typedef struct cssm_dl_db_handle { CSSM_DL_HANDLE DLHandle; CSSM_DB_HANDLE DBHandle; } CSSM_DL_DB_HANDLE, *CSSM_DL_DB_HANDLE_PTR; typedef enum cssm_db_attribute_name_format { CSSM_DB_ATTRIBUTE_NAME_AS_STRING = 0, CSSM_DB_ATTRIBUTE_NAME_AS_OID = 1, CSSM_DB_ATTRIBUTE_NAME_AS_NUMBER = 2 } CSSM_DB_ATTRIBUTE_NAME_FORMAT, *CSSM_DB_ATTRIBUTE_NAME_FORMAT_PTR; typedef struct cssm_data { uint32 Length; uint8 *Data; } CSSM_DATA, *CSSM_DATA_PTR; typedef CSSM_DATA CSSM_OID, *CSSM_OID_PTR; typedef struct cssm_db_attribute_info { CSSM_DB_ATTRIBUTE_NAME_FORMAT AttributeNameFormat; union { char *AttributeName; CSSM_OID AttributeID; uint32 AttributeNumber; }; } CSSM_DB_ATTRIBUTE_INFO, *CSSM_DB_ATTRIBUTE_INFO_PTR; typedef struct cssm_db_index_info { CSSM_DB_INDEX_TYPE IndexType; CSSM_DB_INDEXED_DATA_LOCATION IndexedDataLocation; CSSM_DB_ATTRIBUTE_INFO Info; } CSSM_DB_INDEX_INFO, *CSSM_DB_INDEX_INFO_PTR; typedef struct cssm_db_unique_record { CSSM_DB_INDEX_INFO RecordLocator; CSSM_DATA RecordIdentifier; } CSSM_DB_UNIQUE_RECORD, *CSSM_DB_UNIQUE_RECORD_PTR; typedef struct CSSM_TP_APPLE_EVIDENCE_INFO { CSSM_TP_APPLE_CERT_STATUS StatusBits; uint32 NumStatusCodes; CSSM_RETURN *StatusCodes; uint32 Index; CSSM_DL_DB_HANDLE DlDbHandle; CSSM_DB_UNIQUE_RECORD_PTR UniqueRecord; } CSSM_TP_APPLE_EVIDENCE_INFO; typedef OSType SecKeychainAttrType; typedef struct SecKeychainAttribute { SecKeychainAttrType tag; UInt32 length; void *data; } SecKeychainAttribute; typedef SecKeychainAttribute *SecKeychainAttributePtr; typedef struct SecKeychainAttributeList { UInt32 count; SecKeychainAttribute *attr; } SecKeychainAttributeList; typedef struct SecKeychainAttributeInfo { UInt32 count; UInt32 *tag; UInt32 *format; } SecKeychainAttributeInfo; typedef UInt32 SecKeychainStatus; PS_ENUM(uint32_t, SecTrustResultType) { kSecTrustResultInvalid = 0, kSecTrustResultProceed = 1, kSecTrustResultConfirm = 2, kSecTrustResultDeny = 3, kSecTrustResultUnspecified = 4, kSecTrustResultRecoverableTrustFailure = 5, kSecTrustResultFatalTrustFailure = 6, kSecTrustResultOtherError = 7 }; typedef void (*SecTrustCallback)(SecTrustRef trustRef, SecTrustResultType trustResult); typedef SecTrustResultType SecTrustUserSetting; PS_ENUM(uint32_t, SecPadding) { kSecPaddingNone = 0, kSecPaddingPKCS1 = 1, kSecPaddingOAEP = 2, kSecPaddingPKCS1MD2 = 0x8000, kSecPaddingPKCS1MD5 = 0x8001, kSecPaddingPKCS1SHA1 = 0x8002 }; PS_ENUM(uint32_t, SecCSFlags) { kSecCSDefaultFlags = 0, kSecCSConsiderExpiration = 1u << 31, kSecCSEnforceRevocationChecks = 1 << 30, kSecCSNoNetworkAccess = 1 << 29, kSecCSReportProgress = 1 << 28, kSecCSCheckTrustedAnchors = 1 << 27, kSecCSQuickCheck = 1 << 26, }; PS_ENUM(uint32_t, SecTrustOptionFlags) { kSecTrustOptionAllowExpired = 0x00000001, kSecTrustOptionLeafIsCA = 0x00000002, kSecTrustOptionFetchIssuerFromNet = 0x00000004, kSecTrustOptionAllowExpiredRoot = 0x00000008, kSecTrustOptionRequireRevPerCert = 0x00000010, kSecTrustOptionUseTrustSettings = 0x00000020, kSecTrustOptionImplicitAnchors = 0x00000040 }; PS_ENUM(CFOptionFlags, SecAccessControlCreateFlags) { kSecAccessControlUserPresence = 1u << 0, kSecAccessControlBiometryAny = 1u << 1, kSecAccessControlTouchIDAny = 1u << 1, kSecAccessControlBiometryCurrentSet = 1u << 3, kSecAccessControlTouchIDCurrentSet = 1u << 3, kSecAccessControlDevicePasscode = 1u << 4, kSecAccessControlWatch = 1u << 5, kSecAccessControlOr = 1u << 14, kSecAccessControlAnd = 1u << 15, kSecAccessControlPrivateKeyUsage = 1u << 30, kSecAccessControlApplicationPassword = 1u << 31 }; PS_ENUM(uint32_t, SecKeyEncoding) { kSecKeyEncodingRaw = 0, kSecKeyEncodingPkcs1 = 1, kSecKeyEncodingApplePkcs1 = 2, kSecKeyEncodingRSAPublicParams = 3, kSecDERKeyEncoding = 4, kSecGenerateKey = 5, kSecExtractPublicFromPrivate = 6, kSecKeyEncodingBytes = 7, kSecKeyCoreCrypto = 8 }; PS_ENUM(uint32_t, SecSignatureHashAlgorithm) { kSecSignatureHashAlgorithmUnknown = 0, kSecSignatureHashAlgorithmMD2 = 1, kSecSignatureHashAlgorithmMD4 = 2, kSecSignatureHashAlgorithmMD5 = 3, kSecSignatureHashAlgorithmSHA1 = 4, kSecSignatureHashAlgorithmSHA224 = 5, kSecSignatureHashAlgorithmSHA256 = 6, kSecSignatureHashAlgorithmSHA384 = 7, kSecSignatureHashAlgorithmSHA512 = 8 }; extern const CFStringRef kSecPropertyTypeTitle; extern const CFStringRef kSecPropertyTypeError; extern const CFStringRef kSecTrustEvaluationDate; extern const CFStringRef kSecTrustExtendedValidation; extern const CFStringRef kSecTrustOrganizationName; extern const CFStringRef kSecTrustResultValue; extern const CFStringRef kSecTrustRevocationChecked; extern const CFStringRef kSecTrustRevocationValidUntilDate; extern const CFStringRef kSecTrustCertificateTransparency; extern const CFStringRef kSecTrustCertificateTransparencyWhiteList; extern const CFStringRef kSecClassInternetPassword; extern const CFStringRef kSecClassGenericPassword; extern const CFStringRef kSecClassCertificate; extern const CFStringRef kSecClassKey; extern const CFStringRef kSecClassIdentity; extern const CFStringRef kSecAttrAccessible; extern const CFStringRef kSecAttrAccess; extern const CFStringRef kSecAttrAccessControl; extern const CFStringRef kSecAttrAccessGroup; extern const CFStringRef kSecAttrSynchronizable; extern const CFStringRef kSecAttrSynchronizableAny; extern const CFStringRef kSecAttrCreationDate; extern const CFStringRef kSecAttrModificationDate; extern const CFStringRef kSecAttrDescription; extern const CFStringRef kSecAttrComment; extern const CFStringRef kSecAttrCreator; extern const CFStringRef kSecAttrType; extern const CFStringRef kSecAttrLabel; extern const CFStringRef kSecAttrIsInvisible; extern const CFStringRef kSecAttrIsNegative; extern const CFStringRef kSecAttrAccount; extern const CFStringRef kSecAttrService; extern const CFStringRef kSecAttrGeneric; extern const CFStringRef kSecAttrSecurityDomain; extern const CFStringRef kSecAttrServer; extern const CFStringRef kSecAttrProtocol; extern const CFStringRef kSecAttrAuthenticationType; extern const CFStringRef kSecAttrPort; extern const CFStringRef kSecAttrPath; extern const CFStringRef kSecAttrSubject; extern const CFStringRef kSecAttrIssuer; extern const CFStringRef kSecAttrSerialNumber; extern const CFStringRef kSecAttrSubjectKeyID; extern const CFStringRef kSecAttrPublicKeyHash; extern const CFStringRef kSecAttrCertificateType; extern const CFStringRef kSecAttrCertificateEncoding; extern const CFStringRef kSecAttrKeyClass; extern const CFStringRef kSecAttrApplicationLabel; extern const CFStringRef kSecAttrIsPermanent; extern const CFStringRef kSecAttrIsSensitive; extern const CFStringRef kSecAttrIsExtractable; extern const CFStringRef kSecAttrApplicationTag; extern const CFStringRef kSecAttrKeyType; extern const CFStringRef kSecAttrPRF; extern const CFStringRef kSecAttrSalt; extern const CFStringRef kSecAttrRounds; extern const CFStringRef kSecAttrKeySizeInBits; extern const CFStringRef kSecAttrEffectiveKeySize; extern const CFStringRef kSecAttrCanEncrypt; extern const CFStringRef kSecAttrCanDecrypt; extern const CFStringRef kSecAttrCanDerive; extern const CFStringRef kSecAttrCanSign; extern const CFStringRef kSecAttrCanVerify; extern const CFStringRef kSecAttrCanWrap; extern const CFStringRef kSecAttrCanUnwrap; extern const CFStringRef kSecAttrSyncViewHint; extern const CFStringRef kSecAttrTokenID; extern const CFStringRef kSecAttrPersistantReference; extern const CFStringRef kSecAttrPersistentReference; extern const CFStringRef kSecAttrAccessibleWhenUnlocked; extern const CFStringRef kSecAttrAccessibleAfterFirstUnlock; extern const CFStringRef kSecAttrAccessibleAlways; extern const CFStringRef kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly; extern const CFStringRef kSecAttrAccessibleWhenUnlockedThisDeviceOnly; extern const CFStringRef kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly; extern const CFStringRef kSecAttrAccessibleAlwaysThisDeviceOnly; extern const CFStringRef kSecAttrProtocolFTP; extern const CFStringRef kSecAttrProtocolFTPAccount; extern const CFStringRef kSecAttrProtocolHTTP; extern const CFStringRef kSecAttrProtocolIRC; extern const CFStringRef kSecAttrProtocolNNTP; extern const CFStringRef kSecAttrProtocolPOP3; extern const CFStringRef kSecAttrProtocolSMTP; extern const CFStringRef kSecAttrProtocolSOCKS; extern const CFStringRef kSecAttrProtocolIMAP; extern const CFStringRef kSecAttrProtocolLDAP; extern const CFStringRef kSecAttrProtocolAppleTalk; extern const CFStringRef kSecAttrProtocolAFP; extern const CFStringRef kSecAttrProtocolTelnet; extern const CFStringRef kSecAttrProtocolSSH; extern const CFStringRef kSecAttrProtocolFTPS; extern const CFStringRef kSecAttrProtocolHTTPS; extern const CFStringRef kSecAttrProtocolHTTPProxy; extern const CFStringRef kSecAttrProtocolHTTPSProxy; extern const CFStringRef kSecAttrProtocolFTPProxy; extern const CFStringRef kSecAttrProtocolSMB; extern const CFStringRef kSecAttrProtocolRTSP; extern const CFStringRef kSecAttrProtocolRTSPProxy; extern const CFStringRef kSecAttrProtocolDAAP; extern const CFStringRef kSecAttrProtocolEPPC; extern const CFStringRef kSecAttrProtocolIPP; extern const CFStringRef kSecAttrProtocolNNTPS; extern const CFStringRef kSecAttrProtocolLDAPS; extern const CFStringRef kSecAttrProtocolTelnetS; extern const CFStringRef kSecAttrProtocolIMAPS; extern const CFStringRef kSecAttrProtocolIRCS; extern const CFStringRef kSecAttrProtocolPOP3S; extern const CFStringRef kSecAttrAuthenticationTypeNTLM; extern const CFStringRef kSecAttrAuthenticationTypeMSN; extern const CFStringRef kSecAttrAuthenticationTypeDPA; extern const CFStringRef kSecAttrAuthenticationTypeRPA; extern const CFStringRef kSecAttrAuthenticationTypeHTTPBasic; extern const CFStringRef kSecAttrAuthenticationTypeHTTPDigest; extern const CFStringRef kSecAttrAuthenticationTypeHTMLForm; extern const CFStringRef kSecAttrAuthenticationTypeDefault; extern const CFStringRef kSecAttrKeyClassPublic; extern const CFStringRef kSecAttrKeyClassPrivate; extern const CFStringRef kSecAttrKeyClassSymmetric; extern const CFStringRef kSecAttrKeyTypeRSA; extern const CFStringRef kSecAttrKeyTypeDSA; extern const CFStringRef kSecAttrKeyTypeAES; extern const CFStringRef kSecAttrKeyTypeDES; extern const CFStringRef kSecAttrKeyType3DES; extern const CFStringRef kSecAttrKeyTypeRC4; extern const CFStringRef kSecAttrKeyTypeRC2; extern const CFStringRef kSecAttrKeyTypeCAST; extern const CFStringRef kSecAttrKeyTypeECDSA; extern const CFStringRef kSecAttrKeyTypeEC; extern const CFStringRef kSecAttrKeyTypeECSECPrimeRandom; extern const CFStringRef kSecAttrPRFHmacAlgSHA1; extern const CFStringRef kSecAttrPRFHmacAlgSHA224; extern const CFStringRef kSecAttrPRFHmacAlgSHA256; extern const CFStringRef kSecAttrPRFHmacAlgSHA384; extern const CFStringRef kSecAttrPRFHmacAlgSHA512; extern const CFStringRef kSecMatchPolicy; extern const CFStringRef kSecMatchItemList; extern const CFStringRef kSecMatchSearchList; extern const CFStringRef kSecMatchIssuers; extern const CFStringRef kSecMatchEmailAddressIfPresent; extern const CFStringRef kSecMatchSubjectContains; extern const CFStringRef kSecMatchSubjectStartsWith; extern const CFStringRef kSecMatchSubjectEndsWith; extern const CFStringRef kSecMatchSubjectWholeString; extern const CFStringRef kSecMatchCaseInsensitive; extern const CFStringRef kSecMatchDiacriticInsensitive; extern const CFStringRef kSecMatchWidthInsensitive; extern const CFStringRef kSecMatchTrustedOnly; extern const CFStringRef kSecMatchValidOnDate; extern const CFStringRef kSecMatchLimit; extern const CFStringRef kSecMatchLimitOne; extern const CFStringRef kSecMatchLimitAll; extern const CFStringRef kSecReturnData; extern const CFStringRef kSecReturnAttributes; extern const CFStringRef kSecReturnRef; extern const CFStringRef kSecReturnPersistentRef; extern const CFStringRef kSecValueData; extern const CFStringRef kSecValueRef; extern const CFStringRef kSecValuePersistentRef; extern const CFStringRef kSecUseItemList; extern const CFStringRef kSecUseKeychain; extern const CFStringRef kSecUseOperationPrompt; extern const CFStringRef kSecUseNoAuthenticationUI; extern const CFStringRef kSecUseAuthenticationUI; extern const CFStringRef kSecUseAuthenticationContext; extern const CFStringRef kSecUseDataProtectionKeychain; extern const CFStringRef kSecUseAuthenticationUIAllow; extern const CFStringRef kSecUseAuthenticationUIFail; extern const CFStringRef kSecUseAuthenticationUISkip; extern const CFStringRef kSecAttrTokenIDSecureEnclave; extern const CFStringRef kSecAttrAccessGroupToken; extern const SecRandomRef kSecRandomDefault; #endif ================================================ FILE: SoftLinking/SoftLinking.h ================================================ void *_sl_dlopen(const char **); void *_sl_dlopen_audited(const char **); ================================================ FILE: SpringBoard/Types.h ================================================ #ifndef SPRINGBOARD_H_ #define SPRINGBOARD_H_ #import "../CoreFoundation/Types.h" #import "../Foundation/Types.h" PS_ENUM(NSInteger, SBApplicationClassicMode) { SBApplicationClassicModeNone = 0, SBApplicationClassicModePhone = 1, SBApplicationClassicModePhone4 = 2, SBApplicationClassicModePhone4_7 = 3, SBApplicationClassicModePhone5_5 = 4, SBApplicationClassicModePhone5_8_Zoomed = 5, SBApplicationClassicModePhone5_8 = 6, SBApplicationClassicModePhone6_1 = 7, SBApplicationClassicModePhone6_5 = 8, SBApplicationClassicModePhone6_7 = 9, SBApplicationClassicModePad = 10, SBApplicationClassicModePad_10_5 = 11, SBApplicationClassicModePad_12_9 = 12, SBApplicationClassicModePad_11 = 13 }; typedef struct SBIconImageInfo { CGSize size; CGFloat scale; CGFloat continuousCornerRadius; } SBIconImageInfo; #endif ================================================ FILE: SpringBoardHome/Types.h ================================================ #ifndef SPRINGBOARDHOME_H_ #define SPRINGBOARDHOME_H_ #import "../Foundation/Types.h" PS_ENUM(NSUInteger, SBHScreenType) { SBHScreenTypeiPhone5, SBHScreenTypeiPhone6, SBHScreenTypeiPhone6Plus, SBHScreenTypeiPhoneX, SBHScreenTypeiPhoneXZoomed, SBHScreenTypeiPhoneXsMax, SBHScreenTypeiPhoneXsMaxZoomed, SBHScreenTypeiPhoneXr, SBHScreenTypeiPhoneXrZoomed, SBHScreenTypeiPhone12Mini, SBHScreenTypeiPhone12MiniZoomed, SBHScreenTypeiPhone12, SBHScreenTypeiPhone12Zoomed, SBHScreenTypeiPhone12ProMax, SBHScreenTypeiPhone12ProMaxZoomed, #ifndef IOS14 SBHScreenTypeiPhone13Mini, SBHScreenTypeiPhone13MiniZoomed, SBHScreenTypeiPhone13Pro, SBHScreenTypeiPhone13ProZoomed, SBHScreenTypeiPhone13ProMax, SBHScreenTypeiPhone13ProMaxZoomed, #endif SBHScreenTypeiPad3, SBHScreenTypeiPadMini2, SBHScreenTypeiPad7, SBHScreenTypeiPadPro1, SBHScreenTypeiPadPro2, #ifndef IOS14 SBHScreenTypeiPadMini6, #endif SBHScreenTypeiPadAir4, SBHScreenTypeiPadPro3, SBHScreenTypeiPadPro3Large, SBHScreenTypeiPadPro3LargeZoomed, }; #endif ================================================ FILE: Swift/Swift.h ================================================ #import "../BaseTypes.h" #import "../objc/Types.h" #import "Types.h" bool swift_dynamicCast(opaque*, opaque*, type*, type*, size_t); bool swift_isClassType(type*); bool swift_isDeallocating(void *ptr); bool swift_isEscapingClosureAtFileLocation(const struct HeapObject *object, const unsigned char *filename, int32_t filenameLength, int32_t line, int32_t col, unsigned type); bool swift_isOptionalType(type*); bool swift_isUniquelyReferenced_native(const struct HeapObject *); bool swift_isUniquelyReferenced_nonNull_native(const struct HeapObject *); bool swift_isUniquelyReferencedNonObjC_nonNull_bridgeObject(uintptr_t bits); bool swift_isUniquelyReferencedNonObjC_nonNull(const void *); bool swift_isUniquelyReferencedNonObjC(const void *); BoxPair swift_makeBoxUnique(OpaqueValue *buffer, Metadata *type, size_t alignMask); const ProtocolWitnessTable *swift_getWitnessTable(const ProtocolConformanceDescriptor *conf, const Metadata *type, const void *const *instantiationArgs); const WitnessTable *swift_getAssociatedConformanceWitness(WitnessTable *wtable, const Metadata *conformingType, const Metadata *assocType, const ProtocolRequirement *reqBase, const ProtocolRequirement *assocConformance); const WitnessTable *swift_getOpaqueTypeConformance(const void *const *arguments, const OpaqueTypeDescriptor *descriptor, uintptr_t index); error *swift_errorRetain(error *ptr); float swift_intToFloat32(const size_t *data, IntegerLiteralFlags flags); HeapObject *swift_initStackObject(HeapMetadata const *metadata, HeapObject *object); HeapObject *swift_initStaticObject(HeapMetadata const *metadata, HeapObject *object); id swift_dynamicCastMetatypeToObjectConditional(type *type); id swift_dynamicCastMetatypeToObjectUnconditional(type *type); id swift_dynamicCastObjCProtocolConditional(id object, size_t numProtocols, Protocol *const *protocols); id swift_dynamicCastObjCProtocolUnconditional(id object, size_t numProtocols, Protocol *const *protocols); int swift_getEnumCaseMultiPayload(opaque_t *obj, Metadata *enumTy); int swift_getEnumTagSinglePayloadGeneric(opaque_t *obj, unsigned num_empty_cases, Metadata *payloadType, int (*getExtraInhabitantIndex)(opaque_t *obj, unsigned numPayloadXI, Metadata *payload)); Metadata *swift_allocateGenericClassMetadata(ClassDescriptor *type, const void *const *arguments, const void *template); Metadata *swift_allocateGenericValueMetadata(ValueTypeDescriptor *type, const void *const *arguments, const void *template, size_t extraSize); Metadata *swift_getDynamicType(opaque_t *obj, Metadata *self); Metadata *swift_getExistentialMetatypeMetadata(Metadata *instanceTy); Metadata *swift_getExistentialTypeMetadata(ProtocolClassConstraint classConstraint, const Metadata *superclassConstraint, size_t numProtocols, const ProtocolDescriptorRef *protocols); Metadata *swift_getForeignTypeMetadata(Metadata *nonUnique); Metadata *swift_getFunctionTypeMetadata(unsigned long flags, const Metadata **parameters, const uint32_t *parameterFlags, const Metadata *result); Metadata *swift_getFunctionTypeMetadata0(unsigned long flags, const Metadata *resultMetadata); Metadata *swift_getFunctionTypeMetadata1(unsigned long flags, const Metadata *arg0, const Metadata *resultMetadata); Metadata *swift_getFunctionTypeMetadata2(unsigned long flags, const Metadata *arg0, const Metadata *arg1, const Metadata *resultMetadata); Metadata *swift_getFunctionTypeMetadata3(unsigned long flags, const Metadata *arg0, const Metadata *arg1, const Metadata *arg2, const Metadata *resultMetadata); Metadata *swift_getMetatypeMetadata(Metadata *instanceTy); Metadata *swift_getObjCClassFromMetadata(objc_class *theClass); Metadata *swift_getObjCClassFromObject(id object); Metadata *swift_getObjCClassMetadata(objc_class *theClass); Metadata *swift_getObjectType(id object); Metadata *swift_relocateClassMetadata(TypeContextDescriptor *descriptor, const void *pattern); MetadataDependency swift_initClassMetadata2(Metadata *self, ClassLayoutFlags flags, size_t numFields, TypeLayout *const *fieldTypes, size_t *fieldOffsets); MetadataDependency swift_updateClassMetadata2(Metadata *self, ClassLayoutFlags flags, size_t numFields, TypeLayout *const *fieldTypes, size_t *fieldOffsets); MetadataResponse swift_checkMetadataState(MetadataRequest request, const Metadata *type); MetadataResponse swift_getAssociatedTypeWitness(MetadataRequest request, WitnessTable *wtable, const Metadata *conformingType, ProtocolRequirement *reqBase, ProtocolRequirement *assocType); MetadataResponse swift_getGenericMetadata(MetadataRequest request, const void *const *arguments, TypeContextDescriptor *type); MetadataResponse swift_getOpaqueTypeMetadata(MetadataRequest request, const void *const *arguments, const OpaqueTypeDescriptor *descriptor, uintptr_t index); MetadataResponse swift_getSingletonMetadata(MetadataRequest request, TypeContextDescriptor *type); MetadataResponse swift_getTupleTypeMetadata(MetadataRequest request, TupleTypeFlags flags, Metadata *const *elts, const char *labels, value_witness_table_t *proposed); MetadataResponse swift_getTupleTypeMetadata2(MetadataRequest request, Metadata *elt0, Metadata *elt1, const char *labels, value_witness_table_t *proposed); MetadataResponse swift_getTupleTypeMetadata3(MetadataRequest request, Metadata *elt0, Metadata *elt1, Metadata *elt2, const char *labels, value_witness_table_t *proposed); objc_class *swift_dynamicCastObjCClassMetatype(objc_class*, objc_class*); objc_class *swift_dynamicCastObjCClassMetatypeUnconditional(objc_class*, objc_class*); OffsetPair swift_getTupleTypeLayout3(TypeLayout *layout, const TypeLayout *elt0, const TypeLayout *elt1, const TypeLayout *elt2); RefCounted *swift_allocObject(Metadata *type, size_t size, size_t alignMask); size_t swift_getTupleTypeLayout2(TypeLayout *layout, const TypeLayout *elt0, const TypeLayout *elt1); type *swift_dynamicCastMetatype(type*, type*); type *swift_dynamicCastMetatypeUnconditional(type*, type*); type *swift_dynamicCastTypeToObjCProtocolConditional(type *object, size_t numProtocols, Protocol *const *protocols); type *swift_dynamicCastTypeToObjCProtocolUnconditional(type *object, size_t numProtocols, Protocol *const *protocols); void __tsan_external_write(void *addr, void *caller_pc, void *tag); void _Block_release(void *block); void *_Block_copy(void *block); void *swift_bridgeObjectRetain(void *ptr); void *swift_copyPOD(void *dest, void *src, Metadata *self); void *swift_dynamicCastClass(void *, void *); void *swift_dynamicCastClassUnconditional(void *, void *); void *swift_dynamicCastObjCClass(void *, void *); void *swift_dynamicCastObjCClassUnconditional(void *, void *); void *swift_dynamicCastUnknownClass(void *, void *); void *swift_dynamicCastUnknownClassUnconditional(void *, void *); void *swift_lookUpClassMethod(Metadata *metadata, ClassDescriptor *description, MethodDescriptor *method); void *swift_nonatomic_bridgeObjectRetain(void *ptr); void *swift_nonatomic_retain_n(void *ptr, int32_t n); void *swift_nonatomic_retain(void *ptr); void *swift_nonatomic_unknownObjectRetain_n(void *ptr, int32_t n); void *swift_nonatomic_unknownObjectRetain(void *ptr); void *swift_release_n(void *ptr, int32_t n); void *swift_retain_n(void *ptr, int32_t n); void *swift_retain(void *ptr); void *swift_slowAlloc(size_t size, size_t alignMask); void *swift_tryRetain(void *ptr); void *swift_unknownObjectRetain_n(void *ptr, int32_t n); void *swift_unknownObjectRetain(void *ptr); void swift_arrayAssignWithCopyBackToFront(opaque*, opaque*, size_t, type*); void swift_arrayAssignWithCopyFrontToBack(opaque*, opaque*, size_t, type*); void swift_arrayAssignWithCopyNoAlias(opaque*, opaque*, size_t, type*); void swift_arrayAssignWithTake(opaque*, opaque*, size_t, type*); void swift_arrayDestroy(opaque*, size_t, type*); void swift_arrayInitWithCopy(opaque*, opaque*, size_t, type*); void swift_arrayInitWithTakeBackToFront(opaque*, opaque*, size_t, type*); void swift_arrayInitWithTakeFrontToBack(opaque*, opaque*, size_t, type*); void swift_arrayInitWithTakeNoAlias(opaque*, opaque*, size_t, type*); void swift_beginAccess(void *pointer, ValueBuffer *scratch, size_t flags); void swift_bridgeObjectRelease_n(void *ptr, int32_t n); void swift_bridgeObjectRetain_n(void *ptr, int32_t n); void swift_bridgeRelease(void *ptr); void swift_deallocClassInstance(HeapObject *obj, size_t size, size_t alignMask); void swift_deallocObject(HeapObject *obj, size_t size, size_t alignMask); void swift_deallocPartialClassInstance(HeapObject *obj, HeapMetadata *type, size_t size, size_t alignMask); void swift_deallocUninitializedObject(HeapObject *obj, size_t size, size_t alignMask); void swift_deletedMethodError(); void swift_endAccess(ValueBuffer *scratch); void swift_errorInMain(error *ptr); void swift_errorRelease(void *ptr); void swift_getTupleTypeLayout(TypeLayout *result, uint32_t offsets, TupleTypeFlags flags, const TypeLayout *const *elts); void swift_initClassMetadata(Metadata *self, ClassLayoutFlags flags, size_t numFields, TypeLayout *const *fieldTypes, size_t *fieldOffsets); void swift_initEnumMetadataMultiPayload(Metadata *enumType, size_t numPayloads, TypeLayout *const *payloadTypes); void swift_initEnumMetadataSingleCase(Metadata *enumType, EnumLayoutFlags flags, TypeLayout *payload); void swift_initEnumMetadataSinglePayload(Metadata *enumType, EnumLayoutFlags flags, TypeLayout *payload, unsigned num_empty_cases); void swift_initStructMetadata(Metadata *structType, StructLayoutFlags flags, size_t numFields, TypeLayout *const *fieldTypes, uint32_t *fieldOffsets); void swift_nonatomic_bridgeObjectRelease_n(void *ptr, int32_t n); void swift_nonatomic_bridgeObjectRetain_n(void *ptr, int32_t n); void swift_nonatomic_bridgeRelease(void *ptr); void swift_nonatomic_release_n(void *ptr, int32_t n); void swift_nonatomic_release(void *ptr); void swift_nonatomic_unknownObjectRelease_n(void *ptr, int32_t n); void swift_nonatomic_unknownObjectRelease(void *ptr); void swift_objc_swift3ImplicitObjCEntrypoint(id self, SEL selector); void swift_once(swift_once_t *predicate, void (*function_code)(RefCounted*), void *context); void swift_registerProtocolConformances(const ProtocolConformanceRecord *begin, const ProtocolConformanceRecord *end); void swift_registerProtocols(const ProtocolRecord *begin, const ProtocolRecord *end); void swift_release(void *ptr); void swift_setDeallocating(void *ptr); void swift_slowDealloc(void *ptr, size_t size, size_t alignMask); void swift_storeEnumTagMultiPayload(opaque_t *obj, Metadata *enumTy, int case_index); void swift_storeEnumTagSinglePayloadGeneric(opaque_t *obj, unsigned case_index, unsigned num_empty_cases, Metadata *payloadType, void (*storeExtraInhabitant)(opaque_t *obj, unsigned case_index, unsigned numPayloadXI, Metadata *payload)); void swift_unexpectedError(error *ptr); void swift_unknownObjectRelease_n(void *ptr, int32_t n); void swift_unknownObjectRelease(void *ptr); void swift_updateClassMetadata(Metadata *self, ClassLayoutFlags flags, size_t numFields, TypeLayout *const *fieldTypes, size_t *fieldOffsets); void swift_verifyEndOfLifetime(HeapObject *object); void swift_willThrow(error *ptr); witness_table *swift_conformsToProtocol(type*, protocol*); ================================================ FILE: Swift/Types.h ================================================ #ifndef SWIFT_H_ #define SWIFT_H_ typedef struct HeapObject *HeapObject; typedef struct OpaqueValue *OpaqueValue; typedef struct Metadata *Metadata; typedef struct HeapMetadata *HeapMetadata; typedef struct WitnessTable *WitnessTable; typedef struct ProtocolRequirement *ProtocolRequirement; typedef struct ClassDescriptor *ClassDescriptor; typedef struct MethodDescriptor *MethodDescriptor; typedef struct TypeContextDescriptor *TypeContextDescriptor; typedef struct ValueTypeDescriptor *ValueTypeDescriptor; typedef struct OpaqueTypeDescriptor *OpaqueTypeDescriptor; typedef struct ProtocolConformanceDescriptor *ProtocolConformanceDescriptor; typedef struct TypeLayout *TypeLayout; typedef struct ProtocolRecord *ProtocolRecord; typedef struct ProtocolConformanceRecord *ProtocolConformanceRecord; typedef struct ProtocolClassConstraint *ProtocolClassConstraint; typedef struct MetadataDependency *MetadataDependency; typedef struct MetadataResponse *MetadataResponse; typedef struct MetadataRequest *MetadataRequest; typedef struct ProtocolDescriptorRef *ProtocolDescriptorRef; typedef struct BoxPair *BoxPair; typedef struct ValueBuffer *ValueBuffer; typedef struct opaque *opaque; typedef struct type *type; typedef struct error *error; class ProtocolWitnessTable; class IntegerLiteralFlags; class TupleTypeFlags; class EnumLayoutFlags; class ClassLayoutFlags; class StructLayoutFlags; struct HeapObject { void *HeapMetadata_Kind; }; struct MetadataResponse { struct Metadata *Value; size_t State; }; #endif ================================================ FILE: System/System.h ================================================ #import "../BaseTypes.h" #import "../Darwin/Types.h" #import "../Kernel/Types.h" #import "Types.h" void asl_release(asl_object_t obj); void *__memccpy_chk(void *dest, const void *src, int c, size_t len, size_t dstlen); int renamex_np(const char *from, const char *to, unsigned int flags); int memorystatus_get_level(user_addr_t level); int memorystatus_control(uint32_t command, int32_t pid, uint32_t flags, void *buffer, size_t buffersize); int csops(pid_t pid, unsigned int ops, void *useraddr, size_t usersize); int csops_audittoken(pid_t pid, unsigned int ops, void *useraddr, size_t usersize, audit_token_t *token); int _get_cpu_capabilities(void); bool malloc_zone_claimed_address(malloc_zone_t *zone, void *ptr); const char *container_system_group_path_for_identifier(int, const char *group, container_error_t *error); asl_object_t asl_next(asl_object_t obj); qos_class_t qos_class_main(void); kern_return_t bootstrap_register2(mach_port_t, name_t, mach_port_t, uint64_t); kern_return_t bootstrap_look_up2(mach_port_t bp, const name_t service_name, mach_port_t *sp, pid_t target_pid, uint64_t flags); boolean_t voucher_mach_msg_set(mach_msg_header_t *msg); OSThermalNotificationLevel OSThermalNotificationCurrentLevel(void); ================================================ FILE: System/Types.h ================================================ #ifndef SYSTEM_H_ #define SYSTEM_H_ #import "../BaseTypes.h" typedef struct __asl_object_s *asl_object_t; typedef int clockid_t; typedef long container_error_t; // guessed typedef struct _malloc_zone_t { void *reserved1; void *reserved2; size_t (*size)(struct _malloc_zone_t *zone, const void *ptr); void *(*malloc)(struct _malloc_zone_t *zone, size_t size); void *(*calloc)(struct _malloc_zone_t *zone, size_t num_items, size_t size); void *(*valloc)(struct _malloc_zone_t *zone, size_t size); void (*free)(struct _malloc_zone_t *zone, void *ptr); void *(*realloc)(struct _malloc_zone_t *zone, void *ptr, size_t size); void (*destroy)(struct _malloc_zone_t *zone); const char *zone_name; unsigned (*batch_malloc)(struct _malloc_zone_t *zone, size_t size, void **results, unsigned num_requested); void (*batch_free)(struct _malloc_zone_t *zone, void **to_be_freed, unsigned num_to_be_freed); struct malloc_introspection_t *introspect; unsigned version; } malloc_zone_t; PS_ENUM(int, OSThermalNotificationLevel) { OSThermalNotificationLevelAny = -1, OSThermalNotificationLevelNormal = 0, }; #endif ================================================ FILE: SystemConfiguration/SystemConfiguration.h ================================================ #import "../CoreFoundation/Types.h" #import "Types.h" CFDictionaryRef SCDynamicStoreCopyDHCPInfo(SCDynamicStoreRef store, CFStringRef serviceID); CFDictionaryRef CNCopyCurrentNetworkInfo(CFStringRef interfaceName); CFArrayRef CNCopySupportedInterfaces(void); SCNetworkReachabilityRef SCNetworkReachabilityCreateWithOptions(CFAllocatorRef allocator, CFDictionaryRef options); void SCDynamicStoreSetDisconnectCallBack(SCDynamicStoreRef store, SCDynamicStoreDisconnectCallBack callback); ================================================ FILE: SystemConfiguration/Types.h ================================================ #ifndef SYSTEMCONFIGURATION_H_ #define SYSTEMCONFIGURATION_H_ typedef struct __SCDynamicStore *SCDynamicStoreRef; typedef struct __SCNetworkReachability *SCNetworkReachabilityRef; typedef void (*SCDynamicStoreDisconnectCallBack)(SCDynamicStoreRef store); #endif ================================================ FILE: Types.h ================================================ #ifndef IDATYPES_H_ #define IDATYPES_H_ #import "BaseTypes.h" #import "AppSupport/Types.h" #import "AudioToolbox/Types.h" #import "CommonCrypto/Types.h" #import "CoreAnimation/Types.h" #import "CoreAudio/Types.h" #import "CoreFoundation/Types.h" #import "CoreGraphics/Types.h" #import "CoreMedia/Types.h" #import "CoreText/Types.h" #import "CoreVideo/Types.h" #import "CydiaSubstrate/Types.h" #import "Darwin/Types.h" #import "Foundation/Types.h" #import "GraphicsServices/Types.h" #import "MediaRemote/Types.h" #import "IOMobileFramebuffer/Types.h" #import "IOKit/Types.h" #import "IOSurface/Types.h" #import "Kernel/Types.h" #import "Security/Types.h" #import "UIKit/Types.h" #import "QuartzCore/Types.h" #import "SpringBoard/Types.h" #import "SpringBoardHome/Types.h" #import "SystemConfiguration/Types.h" #import "dyld/Types.h" #import "icu/Types.h" #import "objc/Types.h" #import "os/Types.h" #import "pthread/Types.h" #import "sandbox/Types.h" #import "xpc/Types.h" #ifdef SWIFT #import "Swift/Types.h" #endif #import "System/Types.h" #endif ================================================ FILE: UIKit/Types.h ================================================ #ifndef UIKIT_H_ #define UIKIT_H_ #import "../CoreFoundation/Types.h" #import "../CoreGraphics/Types.h" #import "../Foundation/Types.h" typedef struct __UIImage *UIImage; typedef struct UIEdgeInsets { CGFloat top, left, bottom, right; } UIEdgeInsets; typedef struct UIOffset { CGFloat horizontal, vertical; } UIOffset; typedef struct NSDirectionalEdgeInsets { CGFloat top; CGFloat leading; CGFloat bottom; CGFloat trailing; } NSDirectionalEdgeInsets; PS_ENUM(NSInteger, UIEventType) { UIEventTypeTouches, UIEventTypeMotion, UIEventTypeRemoteControl, UIEventTypePresses, UIEventTypePhysicalKeyboard, // from research UIEventTypeMove, // from research UIEventTypeWheel = 7, // from research UIEventTypeGameController = 8, // from research UIEventTypeScroll = 10, UIEventTypeHover = 11, UIEventTypePencil = 13, // from research UIEventTypeTransform = 14 }; PS_ENUM(NSInteger, UIEventSubtype) { UIEventSubtypeNone = 0, UIEventSubtypeMotionShake = 1, UIEventSubtypeRemoteControlPlay = 100, UIEventSubtypeRemoteControlPause = 101, UIEventSubtypeRemoteControlStop = 102, UIEventSubtypeRemoteControlTogglePlayPause = 103, UIEventSubtypeRemoteControlNextTrack = 104, UIEventSubtypeRemoteControlPreviousTrack = 105, UIEventSubtypeRemoteControlBeginSeekingBackward = 106, UIEventSubtypeRemoteControlEndSeekingBackward = 107, UIEventSubtypeRemoteControlBeginSeekingForward = 108, UIEventSubtypeRemoteControlEndSeekingForward = 109, }; PS_ENUM(NSInteger, UIEventButtonMask) { UIEventButtonMaskPrimary = 1 << 0, UIEventButtonMaskSecondary = 1 << 1 }; PS_ENUM(NSInteger, UIButtonType) { UIButtonTypeCustom = 0, UIButtonTypeSystem, // iOS 7+ UIButtonTypeDetailDisclosure, UIButtonTypeInfoLight, UIButtonTypeInfoDark, UIButtonTypeContactAdd, UIButtonTypeClose, UIButtonTypeRoundedRect = UIButtonTypeSystem }; PS_ENUM(NSInteger, UITouchPhase) { UITouchPhaseBegan, UITouchPhaseMoved, UITouchPhaseStationary, UITouchPhaseEnded, UITouchPhaseCancelled, UITouchPhaseRegionEntered, UITouchPhaseRegionMoved, UITouchPhaseRegionExited }; PS_ENUM(NSInteger, UITouchType) { UITouchTypeDirect, UITouchTypeIndirect, UITouchTypePencil, UITouchTypeStylus, UITouchTypeIndirectPointer }; PS_ENUM(NSInteger, UITouchProperties) { UITouchPropertyForce = (1UL << 0), UITouchPropertyAzimuth = (1UL << 1), UITouchPropertyAltitude = (1UL << 2), UITouchPropertyLocation = (1UL << 3) }; PS_ENUM(NSInteger, UIForceTouchCapability) { UIForceTouchCapabilityUnknown = 0, UIForceTouchCapabilityUnavailable = 1, UIForceTouchCapabilityAvailable = 2 }; PS_ENUM(NSUInteger, UIControlEvents) { UIControlEventTouchDown = 1 << 0, UIControlEventTouchDownRepeat = 1 << 1, UIControlEventTouchDragInside = 1 << 2, UIControlEventTouchDragOutside = 1 << 3, UIControlEventTouchDragEnter = 1 << 4, UIControlEventTouchDragExit = 1 << 5, UIControlEventTouchUpInside = 1 << 6, UIControlEventTouchUpOutside = 1 << 7, UIControlEventTouchCancel = 1 << 8, UIControlEventValueChanged = 1 << 12, UIControlEventPrimaryActionTriggered = 1 << 13, UIControlEventEditingDidBegin = 1 << 16, UIControlEventEditingChanged = 1 << 17, UIControlEventEditingDidEnd = 1 << 18, UIControlEventEditingDidEndOnExit = 1 << 19, UIControlEventAllTouchEvents = 0x00000FFF, UIControlEventAllEditingEvents = 0x000F0000, UIControlEventApplicationReserved = 0x0F000000, UIControlEventSystemReserved = 0xF0000000, UIControlEventAllEvents = 0xFFFFFFFF }; PS_ENUM(NSInteger, UIControlContentVerticalAlignment) { UIControlContentVerticalAlignmentCenter = 0, UIControlContentVerticalAlignmentTop = 1, UIControlContentVerticalAlignmentBottom = 2, UIControlContentVerticalAlignmentFill = 3 }; PS_ENUM(NSInteger, UIControlContentHorizontalAlignment) { UIControlContentHorizontalAlignmentCenter = 0, UIControlContentHorizontalAlignmentLeft = 1, UIControlContentHorizontalAlignmentRight = 2, UIControlContentHorizontalAlignmentFill = 3, UIControlContentHorizontalAlignmentLeading = 4, UIControlContentHorizontalAlignmentTrailing = 5 }; PS_ENUM(NSUInteger, UIControlState) { UIControlStateNormal = 0, UIControlStateHighlighted = 1 << 0, UIControlStateDisabled = 1 << 1, UIControlStateSelected = 1 << 2, UIControlStateFocused = 1 << 3, UIControlStateApplication = 0x00FF0000, UIControlStateReserved = 0xFF000000 }; PS_ENUM(NSInteger, UIUserInterfaceSizeClass) { UIUserInterfaceSizeClassUnspecified = 0, UIUserInterfaceSizeClassCompact = 1, UIUserInterfaceSizeClassRegular = 2, }; PS_ENUM(NSInteger, UIUserInterfaceStyle) { UIUserInterfaceStyleUnspecified, UIUserInterfaceStyleLight, UIUserInterfaceStyleDark, }; PS_ENUM(NSInteger, UIDisplayGamut) { UIDisplayGamutUnspecified = -1, UIDisplayGamutSRGB, UIDisplayGamutP3 }; PS_ENUM(NSInteger, UIDeviceOrientation) { UIDeviceOrientationUnknown, UIDeviceOrientationPortrait, UIDeviceOrientationPortraitUpsideDown, UIDeviceOrientationLandscapeLeft, UIDeviceOrientationLandscapeRight, UIDeviceOrientationFaceUp, UIDeviceOrientationFaceDown }; PS_ENUM(NSInteger, UIInterfaceOrientation) { UIInterfaceOrientationPortrait = UIDeviceOrientationPortrait, UIInterfaceOrientationPortraitUpsideDown = UIDeviceOrientationPortraitUpsideDown, UIInterfaceOrientationLandscapeLeft = UIDeviceOrientationLandscapeLeft, UIInterfaceOrientationLandscapeRight = UIDeviceOrientationLandscapeRight }; PS_ENUM(NSInteger, UIDeviceBatteryState) { UIDeviceBatteryStateUnknown, UIDeviceBatteryStateUnplugged, UIDeviceBatteryStateCharging, UIDeviceBatteryStateFull, }; PS_ENUM(NSInteger, UIUserInterfaceIdiom) { UIUserInterfaceIdiomUnspecified = -1, UIUserInterfaceIdiomPhone, UIUserInterfaceIdiomPad, UIUserInterfaceIdiomTV, UIUserInterfaceIdiomCarPlay, UIUserInterfaceIdiomWatch, UIUserInterfaceIdiomMac = 5, }; PS_ENUM(NSInteger, UIUserInterfaceLevel) { UIUserInterfaceLevelUnspecified = -1, UIUserInterfaceLevelBase, UIUserInterfaceLevelElevated }; PS_ENUM(NSUInteger, UIRectEdge) { UIRectEdgeNone = 0, UIRectEdgeTop = 1 << 0, UIRectEdgeLeft = 1 << 1, UIRectEdgeBottom = 1 << 2, UIRectEdgeRight = 1 << 3, UIRectEdgeAll = UIRectEdgeTop | UIRectEdgeLeft | UIRectEdgeBottom | UIRectEdgeRight }; extern const UIOffset UIOffsetZero; extern const UIEdgeInsets UIEdgeInsetsZero; typedef CFNSString UIContentSizeCategory; extern const float UITableCellDefaultFontSize; extern const float UITableViewCellDefaultFontSize; extern const float UIWebViewGrowsAndShrinksToFitHeight; extern const float UIWebViewScalesToFitScale; extern const float UIWebViewStandardViewportWidth; extern CFNSString UIWindowDidMoveToScreenNotification; extern CFNSString UIWindowDidRotateNotification; extern CFNSString UIWindowNewScreenUserInfoKey; extern CFNSString UIWindowWillRotateNotification; extern CFNSString UIKeyboardIsLocalUserInfoKey; extern CFNSString UIKeyInputPageUp; extern CFNSString UIKeyInputPageDown; extern NSNotificationName UIApplicationDidReceiveMemoryWarningNotification; extern NSNotificationName UIApplicationBackgroundRefreshStatusDidChangeNotification; extern NSNotificationName UIApplicationDidChangeStatusBarFrameNotification; extern NSNotificationName UIApplicationDidBecomeActiveNotification; #endif ================================================ FILE: UIKit/UIKit.h ================================================ #import "../BaseTypes.h" #import "../CoreGraphics/Types.h" #import "../IOSurface/Types.h" #import "Types.h" UIEdgeInsets UIEdgeInsetsFromString(NSString *str); UIEdgeInsets UIEdgeInsetsAdd(UIEdgeInsets a, UIEdgeInsets b); UIEdgeInsets UIEdgeInsetsMax(UIEdgeInsets a, UIEdgeInsets b); UIEdgeInsets UIEdgeInsetsSubtract(UIEdgeInsets a, UIEdgeInsets b); UIOffset UIOffsetFromString(NSString *str); NSString *NSStringFromDirectionalEdgeInsets(NSDirectionalEdgeInsets insets); NSString *NSStringFromCGAffineTransform(CGAffineTransform t); NSString *NSStringFromCGPoint(CGPoint point); NSString *NSStringFromCGRect(CGRect rect); NSString *NSStringFromCGSize(CGSize size); NSString *NSStringFromCGVector(CGVector vector); NSString *NSStringFromUIEdgeInsets(UIEdgeInsets insets); NSString *NSStringFromUIOffset(UIOffset offset); NSData *UIImagePNGRepresentation(UIImage *image); NSData *UIImageJPEGRepresentation(UIImage *image, CGFloat compressionQuality); UIImage *UIGraphicsGetImageFromCurrentImageContext(void); CGRect UIRectCenteredAboutPoint(CGRect rect, CGPoint center); CGRect UIRectCenteredAboutPointScale(CGRect rect, CGPoint center, CGFloat scale); CGRect UIRectCenteredXInRect(CGRect rect, CGRect bounds); CGRect UIRectCenteredYInRect(CGRect rect, CGRect bounds); CGRect UIRectCenteredIntegralRect(CGRect rect, CGRect bounds); CGRect UIRectCenteredIntegralRectScale(CGRect rect, CGRect bounds, CGFloat scale); CGRect UIRectInset(CGRect rect, CGFloat top, CGFloat right, CGFloat bottom, CGFloat left); CGRect UIRectInsetEdges(CGRect rect, UIRectEdge edges, CGFloat v); CGRect UIRectIntegralWithScale(CGRect rect, CGFloat scale); CGRect UIRectRoundToScale(CGRect value, CGFloat scale); CGRect CGRectFromString(NSString *str); CGSize CGSizeFromString(NSString *str); CGPoint UIRectGetCenter(CGRect rect); CGPoint UIMidPointBetweenPoints(CGPoint a, CGPoint b); CGPoint CGPointFromString(NSString *str); CGVector CGVectorFromString(NSString *str); CGFloat UIRoundToScale(CGFloat value, CGFloat scale); CGFloat UIRoundToViewScale(CGFloat value, id view); CGFloat UIRoundToScreenScale(CGFloat value, id screen); CGFloat UIFloorToScale(CGFloat value, CGFloat scale); CGFloat UIFloorToViewScale(CGFloat value, id view); CGFloat UIFloorToScreenScale(CGFloat value, id screen); CGFloat UICeilToScale(CGFloat value, CGFloat scale); CGFloat UICeilToViewScale(CGFloat value, id view); CGFloat UICeilToScreenScale(CGFloat value, id screen); CGFloat UIAnimationDragCoefficient(void); CGFloat UIDistanceBetweenPoints(CGPoint a, CGPoint b); CGAffineTransform UIIntegralTransform(CGAffineTransform t); CGContextRef UIGraphicsGetCurrentContext(void); CGImageRef UICreateCGImageFromIOSurface(IOSurfaceRef surface); NSComparisonResult UIContentSizeCategoryCompareToCategory(UIContentSizeCategory lhs, UIContentSizeCategory rhs); NSDirectionalEdgeInsets NSDirectionalEdgeInsetsFromString(NSString *str); void UIRectFrame(CGRect rect); void UIRectFill(CGRect rect); void UIRectFillUsingBlendMode(CGRect rect, CGBlendMode blendMode); void UIRectClip(CGRect rect); void UIImageWriteToSavedPhotosAlbum(UIImage *image, id completionTarget, SEL completionSelector, void *contextInfo); void UIImageDataWriteToSavedPhotosAlbum(NSData *imageData, id completionTarget, SEL completionSelector, void *contextInfo); void UISaveVideoAtPathToSavedPhotosAlbum(CFNSString videoPath, id completionTarget, SEL completionSelector, void *contextInfo); void UIGraphicsPushContext(CGContextRef context); void UIGraphicsPopContext(void); void UIGraphicsBeginImageContextWithOptions(CGSize size, BOOL opaque, CGFloat scale); void UIGraphicsBeginImageContext(CGSize size); void UIGraphicsEndImageContext(void); void _UIApplicationLoadWebKit(void); int UIApplicationMain(int argc, char **argv, NSString *principalClassName, NSString *delegateClassName); BOOL UIContentSizeCategoryIsAccessibilityCategory(UIContentSizeCategory category); BOOL _UIApplicationIsExtension(void); BOOL _UIApplicationUsesLegacyUI(void); bool UIRectIsDiscrete(CGRect rect); bool __UIApplicationLinkedOnOrAfter(NSInteger); ================================================ FILE: dyld/Types.h ================================================ #ifndef DYLD_H_ #define DYLD_H_ #import "../BaseTypes.h" typedef uint32_t dyld_platform_t; typedef struct dyld_build_version_t { dyld_platform_t platform; uint32_t version; } dyld_build_version_t; typedef const struct dyld_process_info_base *dyld_process_info; typedef struct dyld_unwind_sections { const struct mach_header *mh; const void *dwarf_section; uintptr_t dwarf_section_length; const void *compact_unwind_section; uintptr_t compact_unwind_section_length; } dyld_unwind_sections; typedef enum Platform { unknown = 0, macOS = 1, // PLATFORM_MACOS iOS = 2, // PLATFORM_IOS tvOS = 3, // PLATFORM_TVOS watchOS = 4, // PLATFORM_WATCHOS bridgeOS = 5, // PLATFORM_BRIDGEOS iOSMac = 6, // PLATFORM_MACCATALYST iOS_simulator = 7, // PLATFORM_IOSSIMULATOR tvOS_simulator = 8, // PLATFORM_TVOSSIMULATOR watchOS_simulator = 9, // PLATFORM_WATCHOSSIMULATOR driverKit = 10, // PLATFORM_DRIVERKIT } Platform; typedef struct PlatformInfo { const char* name; Platform platform; uint32_t loadCommand; } PlatformInfo; #endif ================================================ FILE: dyld/dyld.h ================================================ #import "../BaseTypes.h" #import "Types.h" dyld_platform_t dyld_get_active_platform(void); dyld_platform_t dyld_get_base_platform(dyld_platform_t platform); int _dyld_func_lookup(const char *dyld_func_name, void **address); uint32_t dyld_get_program_sdk_version(void); uint32_t dyld_get_min_os_version(const struct mach_header *mh); uint32_t dyld_get_program_min_os_version(void); intptr_t _dyld_get_image_slide(const struct mach_header *mh); bool dyld_program_minos_at_least(dyld_build_version_t version); bool dyld_program_sdk_at_least(dyld_build_version_t version); bool dyld_has_inserted_or_interposing_libraries(void); bool dyld_is_simulator_platform(dyld_platform_t platform); bool _dyld_is_memory_immutable(char *ptr, int64_t unk1); bool _dyld_find_unwind_sections(void *addr, struct dyld_unwind_sections *info); const char *dyld_image_path_containing_address(const void *addr); const struct mach_header *dyld_image_header_containing_address(const void *addr); dyld_process_info _dyld_process_info_create(task_t task, uint64_t timestamp, kern_return_t* kr); void *dlopen_from(const char *path, int mode, void *addressInCaller); void dyld_get_image_versions(const struct mach_header *mh, void (*callback)(dyld_platform_t platform, uint32_t sdk_version, uint32_t min_version)); ================================================ FILE: fishhook/fishhook.h ================================================ #import "../BaseTypes.h" struct rebinding { const char *name; void *replacement; void **replaced; }; int rebind_symbols(struct rebinding rebindings[], size_t rebindings_nel); int rebind_symbols_image(void *header, intptr_t slide, struct rebinding rebindings[], size_t rebindings_nel); ================================================ FILE: icu/Types.h ================================================ #ifndef ICU_H_ #define ICU_H_ #import "../BaseTypes.h" typedef struct USet USet; typedef int8_t UBool; typedef uint16_t UChar; typedef int32_t UChar32; #define U_MAX_VERSION_LENGTH 4 #define U_MAX_VERSION_STRING_LENGTH 20 typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH]; #define U_UNICODE_VERSION "11.0" #define UCHAR_MIN_VALUE 0 #define UCHAR_MAX_VALUE 0x10ffff #define U_MASK(x) ((uint32_t)1 << (x)) typedef enum UProperty { UCHAR_ALPHABETIC = 0, UCHAR_BINARY_START = UCHAR_ALPHABETIC, UCHAR_ASCII_HEX_DIGIT = 1, UCHAR_BIDI_CONTROL = 2, UCHAR_BIDI_MIRRORED = 3, UCHAR_DASH = 4, UCHAR_DEFAULT_IGNORABLE_CODE_POINT = 5, UCHAR_DEPRECATED = 6, UCHAR_DIACRITIC = 7, UCHAR_EXTENDER = 8, UCHAR_FULL_COMPOSITION_EXCLUSION = 9, UCHAR_GRAPHEME_BASE = 10, UCHAR_GRAPHEME_EXTEND = 11, UCHAR_GRAPHEME_LINK = 12, UCHAR_HEX_DIGIT = 13, UCHAR_HYPHEN = 14, UCHAR_ID_CONTINUE = 15, UCHAR_ID_START = 16, UCHAR_IDEOGRAPHIC = 17, UCHAR_IDS_BINARY_OPERATOR = 18, UCHAR_IDS_TRINARY_OPERATOR = 19, UCHAR_JOIN_CONTROL = 20, UCHAR_LOGICAL_ORDER_EXCEPTION = 21, UCHAR_LOWERCASE = 22, UCHAR_MATH = 23, UCHAR_NONCHARACTER_CODE_POINT = 24, UCHAR_QUOTATION_MARK = 25, UCHAR_RADICAL = 26, UCHAR_SOFT_DOTTED = 27, UCHAR_TERMINAL_PUNCTUATION = 28, UCHAR_UNIFIED_IDEOGRAPH = 29, UCHAR_UPPERCASE = 30, UCHAR_WHITE_SPACE = 31, UCHAR_XID_CONTINUE = 32, UCHAR_XID_START = 33, UCHAR_CASE_SENSITIVE = 34, UCHAR_S_TERM = 35, UCHAR_VARIATION_SELECTOR = 36, UCHAR_NFD_INERT = 37, UCHAR_NFKD_INERT = 38, UCHAR_NFC_INERT = 39, UCHAR_NFKC_INERT = 40, UCHAR_SEGMENT_STARTER = 41, UCHAR_PATTERN_SYNTAX = 42, UCHAR_PATTERN_WHITE_SPACE = 43, UCHAR_POSIX_ALNUM = 44, UCHAR_POSIX_BLANK = 45, UCHAR_POSIX_GRAPH = 46, UCHAR_POSIX_PRINT = 47, UCHAR_POSIX_XDIGIT = 48, UCHAR_CASED = 49, UCHAR_CASE_IGNORABLE = 50, UCHAR_CHANGES_WHEN_LOWERCASED = 51, UCHAR_CHANGES_WHEN_UPPERCASED = 52, UCHAR_CHANGES_WHEN_TITLECASED = 53, UCHAR_CHANGES_WHEN_CASEFOLDED = 54, UCHAR_CHANGES_WHEN_CASEMAPPED = 55, UCHAR_CHANGES_WHEN_NFKC_CASEFOLDED = 56, UCHAR_EMOJI = 57, UCHAR_EMOJI_PRESENTATION = 58, UCHAR_EMOJI_MODIFIER = 59, UCHAR_EMOJI_MODIFIER_BASE = 60, UCHAR_EMOJI_COMPONENT = 61, UCHAR_REGIONAL_INDICATOR = 62, UCHAR_PREPENDED_CONCATENATION_MARK = 63, UCHAR_EXTENDED_PICTOGRAPHIC = 64, #ifndef U_HIDE_DEPRECATED_API UCHAR_BINARY_LIMIT, #endif UCHAR_BIDI_CLASS = 0x1000, UCHAR_INT_START = UCHAR_BIDI_CLASS, UCHAR_BLOCK = 0x1001, UCHAR_CANONICAL_COMBINING_CLASS = 0x1002, UCHAR_DECOMPOSITION_TYPE = 0x1003, UCHAR_EAST_ASIAN_WIDTH = 0x1004, UCHAR_GENERAL_CATEGORY = 0x1005, UCHAR_JOINING_GROUP = 0x1006, UCHAR_JOINING_TYPE = 0x1007, UCHAR_LINE_BREAK = 0x1008, UCHAR_NUMERIC_TYPE = 0x1009, UCHAR_SCRIPT = 0x100A, UCHAR_HANGUL_SYLLABLE_TYPE = 0x100B, UCHAR_NFD_QUICK_CHECK = 0x100C, UCHAR_NFKD_QUICK_CHECK = 0x100D, UCHAR_NFC_QUICK_CHECK = 0x100E, UCHAR_NFKC_QUICK_CHECK = 0x100F, UCHAR_LEAD_CANONICAL_COMBINING_CLASS = 0x1010, UCHAR_TRAIL_CANONICAL_COMBINING_CLASS = 0x1011, UCHAR_GRAPHEME_CLUSTER_BREAK = 0x1012, UCHAR_SENTENCE_BREAK = 0x1013, UCHAR_WORD_BREAK = 0x1014, UCHAR_BIDI_PAIRED_BRACKET_TYPE = 0x1015, #ifndef U_HIDE_DEPRECATED_API UCHAR_INT_LIMIT = 0x1016, #endif UCHAR_GENERAL_CATEGORY_MASK = 0x2000, UCHAR_MASK_START = UCHAR_GENERAL_CATEGORY_MASK, #ifndef U_HIDE_DEPRECATED_API UCHAR_MASK_LIMIT = 0x2001, #endif UCHAR_NUMERIC_VALUE = 0x3000, UCHAR_DOUBLE_START = UCHAR_NUMERIC_VALUE, #ifndef U_HIDE_DEPRECATED_API UCHAR_DOUBLE_LIMIT = 0x3001, #endif UCHAR_AGE = 0x4000, UCHAR_STRING_START = UCHAR_AGE, UCHAR_BIDI_MIRRORING_GLYPH = 0x4001, UCHAR_CASE_FOLDING = 0x4002, #ifndef U_HIDE_DEPRECATED_API UCHAR_ISO_COMMENT = 0x4003, #endif UCHAR_LOWERCASE_MAPPING = 0x4004, UCHAR_NAME = 0x4005, UCHAR_SIMPLE_CASE_FOLDING = 0x4006, UCHAR_SIMPLE_LOWERCASE_MAPPING = 0x4007, UCHAR_SIMPLE_TITLECASE_MAPPING = 0x4008, UCHAR_SIMPLE_UPPERCASE_MAPPING = 0x4009, UCHAR_TITLECASE_MAPPING = 0x400A, #ifndef U_HIDE_DEPRECATED_API UCHAR_UNICODE_1_NAME = 0x400B, #endif UCHAR_UPPERCASE_MAPPING = 0x400C, UCHAR_BIDI_PAIRED_BRACKET = 0x400D, #ifndef U_HIDE_DEPRECATED_API UCHAR_STRING_LIMIT = 0x400E, #endif UCHAR_SCRIPT_EXTENSIONS = 0x7000, UCHAR_OTHER_PROPERTY_START = UCHAR_SCRIPT_EXTENSIONS, #ifndef U_HIDE_DEPRECATED_API UCHAR_OTHER_PROPERTY_LIMIT = 0x7001, #endif UCHAR_INVALID_CODE = -1 } UProperty; typedef enum UScriptCode { USCRIPT_INVALID_CODE = -1, USCRIPT_COMMON = 0, USCRIPT_INHERITED = 1, USCRIPT_ARABIC = 2, USCRIPT_ARMENIAN = 3, USCRIPT_BENGALI = 4, USCRIPT_BOPOMOFO = 5, USCRIPT_CHEROKEE = 6, USCRIPT_COPTIC = 7, USCRIPT_CYRILLIC = 8, USCRIPT_DESERET = 9, USCRIPT_DEVANAGARI = 10, USCRIPT_ETHIOPIC = 11, USCRIPT_GEORGIAN = 12, USCRIPT_GOTHIC = 13, USCRIPT_GREEK = 14, USCRIPT_GUJARATI = 15, USCRIPT_GURMUKHI = 16, USCRIPT_HAN = 17, USCRIPT_HANGUL = 18, USCRIPT_HEBREW = 19, USCRIPT_HIRAGANA = 20, USCRIPT_KANNADA = 21, USCRIPT_KATAKANA = 22, USCRIPT_KHMER = 23, USCRIPT_LAO = 24, USCRIPT_LATIN = 25, USCRIPT_MALAYALAM = 26, USCRIPT_MONGOLIAN = 27, USCRIPT_MYANMAR = 28, USCRIPT_OGHAM = 29, USCRIPT_OLD_ITALIC = 30, USCRIPT_ORIYA = 31, USCRIPT_RUNIC = 32, USCRIPT_SINHALA = 33, USCRIPT_SYRIAC = 34, USCRIPT_TAMIL = 35, USCRIPT_TELUGU = 36, USCRIPT_THAANA = 37, USCRIPT_THAI = 38, USCRIPT_TIBETAN = 39, USCRIPT_CANADIAN_ABORIGINAL = 40, USCRIPT_UCAS = USCRIPT_CANADIAN_ABORIGINAL, USCRIPT_YI = 41, USCRIPT_TAGALOG = 42, USCRIPT_HANUNOO = 43, USCRIPT_BUHID = 44, USCRIPT_TAGBANWA = 45, USCRIPT_BRAILLE = 46, USCRIPT_CYPRIOT = 47, USCRIPT_LIMBU = 48, USCRIPT_LINEAR_B = 49, USCRIPT_OSMANYA = 50, USCRIPT_SHAVIAN = 51, USCRIPT_TAI_LE = 52, USCRIPT_UGARITIC = 53, USCRIPT_KATAKANA_OR_HIRAGANA = 54, USCRIPT_BUGINESE = 55, USCRIPT_GLAGOLITIC = 56, USCRIPT_KHAROSHTHI = 57, USCRIPT_SYLOTI_NAGRI = 58, USCRIPT_NEW_TAI_LUE = 59, USCRIPT_TIFINAGH = 60, USCRIPT_OLD_PERSIAN = 61, USCRIPT_BALINESE = 62, USCRIPT_BATAK = 63, USCRIPT_BLISSYMBOLS = 64, USCRIPT_BRAHMI = 65, USCRIPT_CHAM = 66, USCRIPT_CIRTH = 67, USCRIPT_OLD_CHURCH_SLAVONIC_CYRILLIC = 68, USCRIPT_DEMOTIC_EGYPTIAN = 69, USCRIPT_HIERATIC_EGYPTIAN = 70, USCRIPT_EGYPTIAN_HIEROGLYPHS = 71, USCRIPT_KHUTSURI = 72, USCRIPT_SIMPLIFIED_HAN = 73, USCRIPT_TRADITIONAL_HAN = 74, USCRIPT_PAHAWH_HMONG = 75, USCRIPT_OLD_HUNGARIAN = 76, USCRIPT_HARAPPAN_INDUS = 77, USCRIPT_JAVANESE = 78, USCRIPT_KAYAH_LI = 79, USCRIPT_LATIN_FRAKTUR = 80, USCRIPT_LATIN_GAELIC = 81, USCRIPT_LEPCHA = 82, USCRIPT_LINEAR_A = 83, USCRIPT_MANDAIC = 84, USCRIPT_MANDAEAN = USCRIPT_MANDAIC, USCRIPT_MAYAN_HIEROGLYPHS = 85, USCRIPT_MEROITIC_HIEROGLYPHS = 86, USCRIPT_MEROITIC = USCRIPT_MEROITIC_HIEROGLYPHS, USCRIPT_NKO = 87, USCRIPT_ORKHON = 88, USCRIPT_OLD_PERMIC = 89, USCRIPT_PHAGS_PA = 90, USCRIPT_PHOENICIAN = 91, USCRIPT_MIAO = 92, USCRIPT_PHONETIC_POLLARD = USCRIPT_MIAO, USCRIPT_RONGORONGO = 93, USCRIPT_SARATI = 94, USCRIPT_ESTRANGELO_SYRIAC = 95, USCRIPT_WESTERN_SYRIAC = 96, USCRIPT_EASTERN_SYRIAC = 97, USCRIPT_TENGWAR = 98, USCRIPT_VAI = 99, USCRIPT_VISIBLE_SPEECH = 100, USCRIPT_CUNEIFORM = 101, USCRIPT_UNWRITTEN_LANGUAGES = 102, USCRIPT_UNKNOWN = 103, USCRIPT_CARIAN = 104, USCRIPT_JAPANESE = 105, USCRIPT_LANNA = 106, USCRIPT_LYCIAN = 107, USCRIPT_LYDIAN = 108, USCRIPT_OL_CHIKI = 109, USCRIPT_REJANG = 110, USCRIPT_SAURASHTRA = 111, USCRIPT_SIGN_WRITING = 112, USCRIPT_SUNDANESE = 113, USCRIPT_MOON = 114, USCRIPT_MEITEI_MAYEK = 115, USCRIPT_IMPERIAL_ARAMAIC = 116, USCRIPT_AVESTAN = 117, USCRIPT_CHAKMA = 118, USCRIPT_KOREAN = 119, USCRIPT_KAITHI = 120, USCRIPT_MANICHAEAN = 121, USCRIPT_INSCRIPTIONAL_PAHLAVI = 122, USCRIPT_PSALTER_PAHLAVI = 123, USCRIPT_BOOK_PAHLAVI = 124, USCRIPT_INSCRIPTIONAL_PARTHIAN = 125, USCRIPT_SAMARITAN = 126, USCRIPT_TAI_VIET = 127, USCRIPT_MATHEMATICAL_NOTATION = 128, USCRIPT_SYMBOLS = 129, USCRIPT_BAMUM = 130, USCRIPT_LISU = 131, USCRIPT_NAKHI_GEBA = 132, USCRIPT_OLD_SOUTH_ARABIAN = 133, USCRIPT_BASSA_VAH = 134, USCRIPT_DUPLOYAN = 135, #ifndef U_HIDE_DEPRECATED_API USCRIPT_DUPLOYAN_SHORTAND = USCRIPT_DUPLOYAN, #endif USCRIPT_ELBASAN = 136, USCRIPT_GRANTHA = 137, USCRIPT_KPELLE = 138, USCRIPT_LOMA = 139, USCRIPT_MENDE = 140, USCRIPT_MEROITIC_CURSIVE = 141, USCRIPT_OLD_NORTH_ARABIAN = 142, USCRIPT_NABATAEAN = 143, USCRIPT_PALMYRENE = 144, USCRIPT_KHUDAWADI = 145, USCRIPT_SINDHI = USCRIPT_KHUDAWADI, USCRIPT_WARANG_CITI = 146, USCRIPT_AFAKA = 147, USCRIPT_JURCHEN = 148, USCRIPT_MRO = 149, USCRIPT_NUSHU = 150, USCRIPT_SHARADA = 151, USCRIPT_SORA_SOMPENG = 152, USCRIPT_TAKRI = 153, USCRIPT_TANGUT = 154, USCRIPT_WOLEAI = 155, USCRIPT_ANATOLIAN_HIEROGLYPHS = 156, USCRIPT_KHOJKI = 157, USCRIPT_TIRHUTA = 158, USCRIPT_CAUCASIAN_ALBANIAN = 159, USCRIPT_MAHAJANI = 160, USCRIPT_AHOM = 161, USCRIPT_HATRAN = 162, USCRIPT_MODI = 163, USCRIPT_MULTANI = 164, USCRIPT_PAU_CIN_HAU = 165, USCRIPT_SIDDHAM = 166, USCRIPT_ADLAM = 167, USCRIPT_BHAIKSUKI = 168, USCRIPT_MARCHEN = 169, USCRIPT_NEWA = 170, USCRIPT_OSAGE = 171, USCRIPT_HAN_WITH_BOPOMOFO = 172, USCRIPT_JAMO = 173, USCRIPT_SYMBOLS_EMOJI = 174, USCRIPT_MASARAM_GONDI = 175, USCRIPT_SOYOMBO = 176, USCRIPT_ZANABAZAR_SQUARE = 177, USCRIPT_DOGRA = 178, USCRIPT_GUNJALA_GONDI = 179, USCRIPT_MAKASAR = 180, USCRIPT_MEDEFAIDRIN = 181, USCRIPT_HANIFI_ROHINGYA = 182, USCRIPT_SOGDIAN = 183, USCRIPT_OLD_SOGDIAN = 184, USCRIPT_ELYMAIC = 185, USCRIPT_NYIAKENG_PUACHUE_HMONG = 186, USCRIPT_NANDINAGARI = 187, USCRIPT_WANCHO = 188, USCRIPT_CHORASMIAN = 189, USCRIPT_DIVES_AKURU = 190, USCRIPT_KHITAN_SMALL_SCRIPT = 191, USCRIPT_YEZIDI = 192, #ifndef U_HIDE_DEPRECATED_API USCRIPT_CODE_LIMIT = 193 #endif } UScriptCode; typedef enum UCharCategory { U_UNASSIGNED = 0, U_GENERAL_OTHER_TYPES = 0, U_UPPERCASE_LETTER = 1, U_LOWERCASE_LETTER = 2, U_TITLECASE_LETTER = 3, U_MODIFIER_LETTER = 4, U_OTHER_LETTER = 5, U_NON_SPACING_MARK = 6, U_ENCLOSING_MARK = 7, U_COMBINING_SPACING_MARK = 8, U_DECIMAL_DIGIT_NUMBER = 9, U_LETTER_NUMBER = 10, U_OTHER_NUMBER = 11, U_SPACE_SEPARATOR = 12, U_LINE_SEPARATOR = 13, U_PARAGRAPH_SEPARATOR = 14, U_CONTROL_CHAR = 15, U_FORMAT_CHAR = 16, U_PRIVATE_USE_CHAR = 17, U_SURROGATE = 18, U_DASH_PUNCTUATION = 19, U_START_PUNCTUATION = 20, U_END_PUNCTUATION = 21, U_CONNECTOR_PUNCTUATION = 22, U_OTHER_PUNCTUATION = 23, U_MATH_SYMBOL = 24, U_CURRENCY_SYMBOL = 25, U_MODIFIER_SYMBOL = 26, U_OTHER_SYMBOL = 27, U_INITIAL_PUNCTUATION = 28, U_FINAL_PUNCTUATION = 29, U_CHAR_CATEGORY_COUNT } UCharCategory; #define U_GC_CN_MASK U_MASK(U_GENERAL_OTHER_TYPES) #define U_GC_LU_MASK U_MASK(U_UPPERCASE_LETTER) #define U_GC_LL_MASK U_MASK(U_LOWERCASE_LETTER) #define U_GC_LT_MASK U_MASK(U_TITLECASE_LETTER) #define U_GC_LM_MASK U_MASK(U_MODIFIER_LETTER) #define U_GC_LO_MASK U_MASK(U_OTHER_LETTER) #define U_GC_MN_MASK U_MASK(U_NON_SPACING_MARK) #define U_GC_ME_MASK U_MASK(U_ENCLOSING_MARK) #define U_GC_MC_MASK U_MASK(U_COMBINING_SPACING_MARK) #define U_GC_ND_MASK U_MASK(U_DECIMAL_DIGIT_NUMBER) #define U_GC_NL_MASK U_MASK(U_LETTER_NUMBER) #define U_GC_NO_MASK U_MASK(U_OTHER_NUMBER) #define U_GC_ZS_MASK U_MASK(U_SPACE_SEPARATOR) #define U_GC_ZL_MASK U_MASK(U_LINE_SEPARATOR) #define U_GC_ZP_MASK U_MASK(U_PARAGRAPH_SEPARATOR) #define U_GC_CC_MASK U_MASK(U_CONTROL_CHAR) #define U_GC_CF_MASK U_MASK(U_FORMAT_CHAR) #define U_GC_CO_MASK U_MASK(U_PRIVATE_USE_CHAR) #define U_GC_CS_MASK U_MASK(U_SURROGATE) #define U_GC_PD_MASK U_MASK(U_DASH_PUNCTUATION) #define U_GC_PS_MASK U_MASK(U_START_PUNCTUATION) #define U_GC_PE_MASK U_MASK(U_END_PUNCTUATION) #define U_GC_PC_MASK U_MASK(U_CONNECTOR_PUNCTUATION) #define U_GC_PO_MASK U_MASK(U_OTHER_PUNCTUATION) #define U_GC_SM_MASK U_MASK(U_MATH_SYMBOL) #define U_GC_SC_MASK U_MASK(U_CURRENCY_SYMBOL) #define U_GC_SK_MASK U_MASK(U_MODIFIER_SYMBOL) #define U_GC_SO_MASK U_MASK(U_OTHER_SYMBOL) #define U_GC_PI_MASK U_MASK(U_INITIAL_PUNCTUATION) #define U_GC_PF_MASK U_MASK(U_FINAL_PUNCTUATION) #define U_GC_L_MASK (U_GC_LU_MASK | U_GC_LL_MASK | U_GC_LT_MASK | U_GC_LM_MASK | U_GC_LO_MASK) #define U_GC_LC_MASK (U_GC_LU_MASK | U_GC_LL_MASK | U_GC_LT_MASK) #define U_GC_M_MASK (U_GC_MN_MASK | U_GC_ME_MASK | U_GC_MC_MASK) #define U_GC_N_MASK (U_GC_ND_MASK | U_GC_NL_MASK | U_GC_NO_MASK) #define U_GC_Z_MASK (U_GC_ZS_MASK | U_GC_ZL_MASK | U_GC_ZP_MASK) #define U_GC_C_MASK (U_GC_CN_MASK | U_GC_CC_MASK | U_GC_CF_MASK | U_GC_CO_MASK | U_GC_CS_MASK) #define U_GC_P_MASK (U_GC_PD_MASK | U_GC_PS_MASK | U_GC_PE_MASK | U_GC_PC_MASK | U_GC_PO_MASK | U_GC_PI_MASK | U_GC_PF_MASK) #define U_GC_S_MASK (U_GC_SM_MASK | U_GC_SC_MASK | U_GC_SK_MASK | U_GC_SO_MASK) typedef enum UCharDirection { U_LEFT_TO_RIGHT = 0, U_RIGHT_TO_LEFT = 1, U_EUROPEAN_NUMBER = 2, U_EUROPEAN_NUMBER_SEPARATOR = 3, U_EUROPEAN_NUMBER_TERMINATOR = 4, U_ARABIC_NUMBER = 5, U_COMMON_NUMBER_SEPARATOR = 6, U_BLOCK_SEPARATOR = 7, U_SEGMENT_SEPARATOR = 8, U_WHITE_SPACE_NEUTRAL = 9, U_OTHER_NEUTRAL = 10, U_LEFT_TO_RIGHT_EMBEDDING = 11, U_LEFT_TO_RIGHT_OVERRIDE = 12, U_RIGHT_TO_LEFT_ARABIC = 13, U_RIGHT_TO_LEFT_EMBEDDING = 14, U_RIGHT_TO_LEFT_OVERRIDE = 15, U_POP_DIRECTIONAL_FORMAT = 16, U_DIR_NON_SPACING_MARK = 17, U_BOUNDARY_NEUTRAL = 18, U_FIRST_STRONG_ISOLATE = 19, U_LEFT_TO_RIGHT_ISOLATE = 20, U_RIGHT_TO_LEFT_ISOLATE = 21, U_POP_DIRECTIONAL_ISOLATE = 22, #ifndef U_HIDE_DEPRECATED_API U_CHAR_DIRECTION_COUNT #endif } UCharDirection; typedef enum UBidiPairedBracketType { U_BPT_NONE, U_BPT_OPEN, U_BPT_CLOSE, #ifndef U_HIDE_DEPRECATED_API U_BPT_COUNT #endif } UBidiPairedBracketType; typedef enum UBlockCode { UBLOCK_NO_BLOCK = 0, UBLOCK_BASIC_LATIN = 1, UBLOCK_LATIN_1_SUPPLEMENT = 2, UBLOCK_LATIN_EXTENDED_A = 3, UBLOCK_LATIN_EXTENDED_B = 4, UBLOCK_IPA_EXTENSIONS = 5, UBLOCK_SPACING_MODIFIER_LETTERS = 6, UBLOCK_COMBINING_DIACRITICAL_MARKS = 7, UBLOCK_GREEK = 8, UBLOCK_CYRILLIC = 9, UBLOCK_ARMENIAN = 10, UBLOCK_HEBREW = 11, UBLOCK_ARABIC = 12, UBLOCK_SYRIAC = 13, UBLOCK_THAANA = 14, UBLOCK_DEVANAGARI = 15, UBLOCK_BENGALI = 16, UBLOCK_GURMUKHI = 17, UBLOCK_GUJARATI = 18, UBLOCK_ORIYA = 19, UBLOCK_TAMIL = 20, UBLOCK_TELUGU = 21, UBLOCK_KANNADA = 22, UBLOCK_MALAYALAM = 23, UBLOCK_SINHALA = 24, UBLOCK_THAI = 25, UBLOCK_LAO = 26, UBLOCK_TIBETAN = 27, UBLOCK_MYANMAR = 28, UBLOCK_GEORGIAN = 29, UBLOCK_HANGUL_JAMO = 30, UBLOCK_ETHIOPIC = 31, UBLOCK_CHEROKEE = 32, UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS = 33, UBLOCK_OGHAM = 34, UBLOCK_RUNIC = 35, UBLOCK_KHMER = 36, UBLOCK_MONGOLIAN = 37, UBLOCK_LATIN_EXTENDED_ADDITIONAL = 38, UBLOCK_GREEK_EXTENDED = 39, UBLOCK_GENERAL_PUNCTUATION = 40, UBLOCK_SUPERSCRIPTS_AND_SUBSCRIPTS = 41, UBLOCK_CURRENCY_SYMBOLS = 42, UBLOCK_COMBINING_MARKS_FOR_SYMBOLS = 43, UBLOCK_LETTERLIKE_SYMBOLS = 44, UBLOCK_NUMBER_FORMS = 45, UBLOCK_ARROWS = 46, UBLOCK_MATHEMATICAL_OPERATORS = 47, UBLOCK_MISCELLANEOUS_TECHNICAL = 48, UBLOCK_CONTROL_PICTURES = 49, UBLOCK_OPTICAL_CHARACTER_RECOGNITION = 50, UBLOCK_ENCLOSED_ALPHANUMERICS = 51, UBLOCK_BOX_DRAWING = 52, UBLOCK_BLOCK_ELEMENTS = 53, UBLOCK_GEOMETRIC_SHAPES = 54, UBLOCK_MISCELLANEOUS_SYMBOLS = 55, UBLOCK_DINGBATS = 56, UBLOCK_BRAILLE_PATTERNS = 57, UBLOCK_CJK_RADICALS_SUPPLEMENT = 58, UBLOCK_KANGXI_RADICALS = 59, UBLOCK_IDEOGRAPHIC_DESCRIPTION_CHARACTERS = 60, UBLOCK_CJK_SYMBOLS_AND_PUNCTUATION = 61, UBLOCK_HIRAGANA = 62, UBLOCK_KATAKANA = 63, UBLOCK_BOPOMOFO = 64, UBLOCK_HANGUL_COMPATIBILITY_JAMO = 65, UBLOCK_KANBUN = 66, UBLOCK_BOPOMOFO_EXTENDED = 67, UBLOCK_ENCLOSED_CJK_LETTERS_AND_MONTHS = 68, UBLOCK_CJK_COMPATIBILITY = 69, UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A = 70, UBLOCK_CJK_UNIFIED_IDEOGRAPHS = 71, UBLOCK_YI_SYLLABLES = 72, UBLOCK_YI_RADICALS = 73, UBLOCK_HANGUL_SYLLABLES = 74, UBLOCK_HIGH_SURROGATES = 75, UBLOCK_HIGH_PRIVATE_USE_SURROGATES = 76, UBLOCK_LOW_SURROGATES = 77, UBLOCK_PRIVATE_USE_AREA = 78, UBLOCK_PRIVATE_USE = UBLOCK_PRIVATE_USE_AREA, UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS = 79, UBLOCK_ALPHABETIC_PRESENTATION_FORMS = 80, UBLOCK_ARABIC_PRESENTATION_FORMS_A = 81, UBLOCK_COMBINING_HALF_MARKS = 82, UBLOCK_CJK_COMPATIBILITY_FORMS = 83, UBLOCK_SMALL_FORM_VARIANTS = 84, UBLOCK_ARABIC_PRESENTATION_FORMS_B = 85, UBLOCK_SPECIALS = 86, UBLOCK_HALFWIDTH_AND_FULLWIDTH_FORMS = 87, UBLOCK_OLD_ITALIC = 88, UBLOCK_GOTHIC = 89, UBLOCK_DESERET = 90, UBLOCK_BYZANTINE_MUSICAL_SYMBOLS = 91, UBLOCK_MUSICAL_SYMBOLS = 92, UBLOCK_MATHEMATICAL_ALPHANUMERIC_SYMBOLS = 93, UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B = 94, UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT = 95, UBLOCK_TAGS = 96, UBLOCK_CYRILLIC_SUPPLEMENT = 97, UBLOCK_CYRILLIC_SUPPLEMENTARY = UBLOCK_CYRILLIC_SUPPLEMENT, UBLOCK_TAGALOG = 98, UBLOCK_HANUNOO = 99, UBLOCK_BUHID = 100, UBLOCK_TAGBANWA = 101, UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A = 102, UBLOCK_SUPPLEMENTAL_ARROWS_A = 103, UBLOCK_SUPPLEMENTAL_ARROWS_B = 104, UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B = 105, UBLOCK_SUPPLEMENTAL_MATHEMATICAL_OPERATORS = 106, UBLOCK_KATAKANA_PHONETIC_EXTENSIONS = 107, UBLOCK_VARIATION_SELECTORS = 108, UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_A = 109, UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_B = 110, UBLOCK_LIMBU = 111, UBLOCK_TAI_LE = 112, UBLOCK_KHMER_SYMBOLS = 113, UBLOCK_PHONETIC_EXTENSIONS = 114, UBLOCK_MISCELLANEOUS_SYMBOLS_AND_ARROWS = 115, UBLOCK_YIJING_HEXAGRAM_SYMBOLS = 116, UBLOCK_LINEAR_B_SYLLABARY = 117, UBLOCK_LINEAR_B_IDEOGRAMS = 118, UBLOCK_AEGEAN_NUMBERS = 119, UBLOCK_UGARITIC = 120, UBLOCK_SHAVIAN = 121, UBLOCK_OSMANYA = 122, UBLOCK_CYPRIOT_SYLLABARY = 123, UBLOCK_TAI_XUAN_JING_SYMBOLS = 124, UBLOCK_VARIATION_SELECTORS_SUPPLEMENT = 125, UBLOCK_ANCIENT_GREEK_MUSICAL_NOTATION = 126, UBLOCK_ANCIENT_GREEK_NUMBERS = 127, UBLOCK_ARABIC_SUPPLEMENT = 128, UBLOCK_BUGINESE = 129, UBLOCK_CJK_STROKES = 130, UBLOCK_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT = 131, UBLOCK_COPTIC = 132, UBLOCK_ETHIOPIC_EXTENDED = 133, UBLOCK_ETHIOPIC_SUPPLEMENT = 134, UBLOCK_GEORGIAN_SUPPLEMENT = 135, UBLOCK_GLAGOLITIC = 136, UBLOCK_KHAROSHTHI = 137, UBLOCK_MODIFIER_TONE_LETTERS = 138, UBLOCK_NEW_TAI_LUE = 139, UBLOCK_OLD_PERSIAN = 140, UBLOCK_PHONETIC_EXTENSIONS_SUPPLEMENT = 141, UBLOCK_SUPPLEMENTAL_PUNCTUATION = 142, UBLOCK_SYLOTI_NAGRI = 143, UBLOCK_TIFINAGH = 144, UBLOCK_VERTICAL_FORMS = 145, UBLOCK_NKO = 146, UBLOCK_BALINESE = 147, UBLOCK_LATIN_EXTENDED_C = 148, UBLOCK_LATIN_EXTENDED_D = 149, UBLOCK_PHAGS_PA = 150, UBLOCK_PHOENICIAN = 151, UBLOCK_CUNEIFORM = 152, UBLOCK_CUNEIFORM_NUMBERS_AND_PUNCTUATION = 153, UBLOCK_COUNTING_ROD_NUMERALS = 154, UBLOCK_SUNDANESE = 155, UBLOCK_LEPCHA = 156, UBLOCK_OL_CHIKI = 157, UBLOCK_CYRILLIC_EXTENDED_A = 158, UBLOCK_VAI = 159, UBLOCK_CYRILLIC_EXTENDED_B = 160, UBLOCK_SAURASHTRA = 161, UBLOCK_KAYAH_LI = 162, UBLOCK_REJANG = 163, UBLOCK_CHAM = 164, UBLOCK_ANCIENT_SYMBOLS = 165, UBLOCK_PHAISTOS_DISC = 166, UBLOCK_LYCIAN = 167, UBLOCK_CARIAN = 168, UBLOCK_LYDIAN = 169, UBLOCK_MAHJONG_TILES = 170, UBLOCK_DOMINO_TILES = 171, UBLOCK_SAMARITAN = 172, UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED = 173, UBLOCK_TAI_THAM = 174, UBLOCK_VEDIC_EXTENSIONS = 175, UBLOCK_LISU = 176, UBLOCK_BAMUM = 177, UBLOCK_COMMON_INDIC_NUMBER_FORMS = 178, UBLOCK_DEVANAGARI_EXTENDED = 179, UBLOCK_HANGUL_JAMO_EXTENDED_A = 180, UBLOCK_JAVANESE = 181, UBLOCK_MYANMAR_EXTENDED_A = 182, UBLOCK_TAI_VIET = 183, UBLOCK_MEETEI_MAYEK = 184, UBLOCK_HANGUL_JAMO_EXTENDED_B = 185, UBLOCK_IMPERIAL_ARAMAIC = 186, UBLOCK_OLD_SOUTH_ARABIAN = 187, UBLOCK_AVESTAN = 188, UBLOCK_INSCRIPTIONAL_PARTHIAN = 189, UBLOCK_INSCRIPTIONAL_PAHLAVI = 190, UBLOCK_OLD_TURKIC = 191, UBLOCK_RUMI_NUMERAL_SYMBOLS = 192, UBLOCK_KAITHI = 193, UBLOCK_EGYPTIAN_HIEROGLYPHS = 194, UBLOCK_ENCLOSED_ALPHANUMERIC_SUPPLEMENT = 195, UBLOCK_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT = 196, UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C = 197, UBLOCK_MANDAIC = 198, UBLOCK_BATAK = 199, UBLOCK_ETHIOPIC_EXTENDED_A = 200, UBLOCK_BRAHMI = 201, UBLOCK_BAMUM_SUPPLEMENT = 202, UBLOCK_KANA_SUPPLEMENT = 203, UBLOCK_PLAYING_CARDS = 204, UBLOCK_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS = 205, UBLOCK_EMOTICONS = 206, UBLOCK_TRANSPORT_AND_MAP_SYMBOLS = 207, UBLOCK_ALCHEMICAL_SYMBOLS = 208, UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D = 209, UBLOCK_ARABIC_EXTENDED_A = 210, UBLOCK_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS = 211, UBLOCK_CHAKMA = 212, UBLOCK_MEETEI_MAYEK_EXTENSIONS = 213, UBLOCK_MEROITIC_CURSIVE = 214, UBLOCK_MEROITIC_HIEROGLYPHS = 215, UBLOCK_MIAO = 216, UBLOCK_SHARADA = 217, UBLOCK_SORA_SOMPENG = 218, UBLOCK_SUNDANESE_SUPPLEMENT = 219, UBLOCK_TAKRI = 220, UBLOCK_BASSA_VAH = 221, UBLOCK_CAUCASIAN_ALBANIAN = 222, UBLOCK_COPTIC_EPACT_NUMBERS = 223, UBLOCK_COMBINING_DIACRITICAL_MARKS_EXTENDED = 224, UBLOCK_DUPLOYAN = 225, UBLOCK_ELBASAN = 226, UBLOCK_GEOMETRIC_SHAPES_EXTENDED = 227, UBLOCK_GRANTHA = 228, UBLOCK_KHOJKI = 229, UBLOCK_KHUDAWADI = 230, UBLOCK_LATIN_EXTENDED_E = 231, UBLOCK_LINEAR_A = 232, UBLOCK_MAHAJANI = 233, UBLOCK_MANICHAEAN = 234, UBLOCK_MENDE_KIKAKUI = 235, UBLOCK_MODI = 236, UBLOCK_MRO = 237, UBLOCK_MYANMAR_EXTENDED_B = 238, UBLOCK_NABATAEAN = 239, UBLOCK_OLD_NORTH_ARABIAN = 240, UBLOCK_OLD_PERMIC = 241, UBLOCK_ORNAMENTAL_DINGBATS = 242, UBLOCK_PAHAWH_HMONG = 243, UBLOCK_PALMYRENE = 244, UBLOCK_PAU_CIN_HAU = 245, UBLOCK_PSALTER_PAHLAVI = 246, UBLOCK_SHORTHAND_FORMAT_CONTROLS = 247, UBLOCK_SIDDHAM = 248, UBLOCK_SINHALA_ARCHAIC_NUMBERS = 249, UBLOCK_SUPPLEMENTAL_ARROWS_C = 250, UBLOCK_TIRHUTA = 251, UBLOCK_WARANG_CITI = 252, UBLOCK_AHOM = 253, UBLOCK_ANATOLIAN_HIEROGLYPHS = 254, UBLOCK_CHEROKEE_SUPPLEMENT = 255, UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E = 256, UBLOCK_EARLY_DYNASTIC_CUNEIFORM = 257, UBLOCK_HATRAN = 258, UBLOCK_MULTANI = 259, UBLOCK_OLD_HUNGARIAN = 260, UBLOCK_SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS = 261, UBLOCK_SUTTON_SIGNWRITING = 262, UBLOCK_ADLAM = 263, UBLOCK_BHAIKSUKI = 264, UBLOCK_CYRILLIC_EXTENDED_C = 265, UBLOCK_GLAGOLITIC_SUPPLEMENT = 266, UBLOCK_IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION = 267, UBLOCK_MARCHEN = 268, UBLOCK_MONGOLIAN_SUPPLEMENT = 269, UBLOCK_NEWA = 270, UBLOCK_OSAGE = 271, UBLOCK_TANGUT = 272, UBLOCK_TANGUT_COMPONENTS = 273, UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F = 274, UBLOCK_KANA_EXTENDED_A = 275, UBLOCK_MASARAM_GONDI = 276, UBLOCK_NUSHU = 277, UBLOCK_SOYOMBO = 278, UBLOCK_SYRIAC_SUPPLEMENT = 279, UBLOCK_ZANABAZAR_SQUARE = 280, UBLOCK_CHESS_SYMBOLS = 281, UBLOCK_DOGRA = 282, UBLOCK_GEORGIAN_EXTENDED = 283, UBLOCK_GUNJALA_GONDI = 284, UBLOCK_HANIFI_ROHINGYA = 285, UBLOCK_INDIC_SIYAQ_NUMBERS = 286, UBLOCK_MAKASAR = 287, UBLOCK_MAYAN_NUMERALS = 288, UBLOCK_MEDEFAIDRIN = 289, UBLOCK_OLD_SOGDIAN = 290, UBLOCK_SOGDIAN = 291, #ifndef U_HIDE_DEPRECATED_API UBLOCK_COUNT = 292, #endif UBLOCK_INVALID_CODE = -1 } UBlockCode; typedef enum UEastAsianWidth { U_EA_NEUTRAL, U_EA_AMBIGUOUS, U_EA_HALFWIDTH, U_EA_FULLWIDTH, U_EA_NARROW, U_EA_WIDE, #ifndef U_HIDE_DEPRECATED_API U_EA_COUNT #endif } UEastAsianWidth; typedef enum UCharNameChoice { U_UNICODE_CHAR_NAME, #ifndef U_HIDE_DEPRECATED_API U_UNICODE_10_CHAR_NAME, #endif U_EXTENDED_CHAR_NAME = U_UNICODE_CHAR_NAME + 2, U_CHAR_NAME_ALIAS, #ifndef U_HIDE_DEPRECATED_API U_CHAR_NAME_CHOICE_COUNT #endif } UCharNameChoice; typedef enum UPropertyNameChoice { U_SHORT_PROPERTY_NAME, U_LONG_PROPERTY_NAME, #ifndef U_HIDE_DEPRECATED_API U_PROPERTY_NAME_CHOICE_COUNT #endif } UPropertyNameChoice; typedef enum UDecompositionType { U_DT_NONE, U_DT_CANONICAL, U_DT_COMPAT, U_DT_CIRCLE, U_DT_FINAL, U_DT_FONT, U_DT_FRACTION, U_DT_INITIAL, U_DT_ISOLATED, U_DT_MEDIAL, U_DT_NARROW, U_DT_NOBREAK, U_DT_SMALL, U_DT_SQUARE, U_DT_SUB, U_DT_SUPER, U_DT_VERTICAL, U_DT_WIDE, #ifndef U_HIDE_DEPRECATED_API U_DT_COUNT #endif } UDecompositionType; typedef enum UJoiningType { U_JT_NON_JOINING, U_JT_JOIN_CAUSING, U_JT_DUAL_JOINING, U_JT_LEFT_JOINING, U_JT_RIGHT_JOINING, U_JT_TRANSPARENT, #ifndef U_HIDE_DEPRECATED_API U_JT_COUNT #endif } UJoiningType; typedef enum UJoiningGroup { U_JG_NO_JOINING_GROUP, U_JG_AIN, U_JG_ALAPH, U_JG_ALEF, U_JG_BEH, U_JG_BETH, U_JG_DAL, U_JG_DALATH_RISH, U_JG_E, U_JG_FEH, U_JG_FINAL_SEMKATH, U_JG_GAF, U_JG_GAMAL, U_JG_HAH, U_JG_TEH_MARBUTA_GOAL, U_JG_HAMZA_ON_HEH_GOAL = U_JG_TEH_MARBUTA_GOAL, U_JG_HE, U_JG_HEH, U_JG_HEH_GOAL, U_JG_HETH, U_JG_KAF, U_JG_KAPH, U_JG_KNOTTED_HEH, U_JG_LAM, U_JG_LAMADH, U_JG_MEEM, U_JG_MIM, U_JG_NOON, U_JG_NUN, U_JG_PE, U_JG_QAF, U_JG_QAPH, U_JG_REH, U_JG_REVERSED_PE, U_JG_SAD, U_JG_SADHE, U_JG_SEEN, U_JG_SEMKATH, U_JG_SHIN, U_JG_SWASH_KAF, U_JG_SYRIAC_WAW, U_JG_TAH, U_JG_TAW, U_JG_TEH_MARBUTA, U_JG_TETH, U_JG_WAW, U_JG_YEH, U_JG_YEH_BARREE, U_JG_YEH_WITH_TAIL, U_JG_YUDH, U_JG_YUDH_HE, U_JG_ZAIN, U_JG_FE, U_JG_KHAPH, U_JG_ZHAIN, U_JG_BURUSHASKI_YEH_BARREE, U_JG_FARSI_YEH, U_JG_NYA, U_JG_ROHINGYA_YEH, U_JG_MANICHAEAN_ALEPH, U_JG_MANICHAEAN_AYIN, U_JG_MANICHAEAN_BETH, U_JG_MANICHAEAN_DALETH, U_JG_MANICHAEAN_DHAMEDH, U_JG_MANICHAEAN_FIVE, U_JG_MANICHAEAN_GIMEL, U_JG_MANICHAEAN_HETH, U_JG_MANICHAEAN_HUNDRED, U_JG_MANICHAEAN_KAPH, U_JG_MANICHAEAN_LAMEDH, U_JG_MANICHAEAN_MEM, U_JG_MANICHAEAN_NUN, U_JG_MANICHAEAN_ONE, U_JG_MANICHAEAN_PE, U_JG_MANICHAEAN_QOPH, U_JG_MANICHAEAN_RESH, U_JG_MANICHAEAN_SADHE, U_JG_MANICHAEAN_SAMEKH, U_JG_MANICHAEAN_TAW, U_JG_MANICHAEAN_TEN, U_JG_MANICHAEAN_TETH, U_JG_MANICHAEAN_THAMEDH, U_JG_MANICHAEAN_TWENTY, U_JG_MANICHAEAN_WAW, U_JG_MANICHAEAN_YODH, U_JG_MANICHAEAN_ZAYIN, U_JG_STRAIGHT_WAW, U_JG_AFRICAN_FEH, U_JG_AFRICAN_NOON, U_JG_AFRICAN_QAF, U_JG_MALAYALAM_BHA, U_JG_MALAYALAM_JA, U_JG_MALAYALAM_LLA, U_JG_MALAYALAM_LLLA, U_JG_MALAYALAM_NGA, U_JG_MALAYALAM_NNA, U_JG_MALAYALAM_NNNA, U_JG_MALAYALAM_NYA, U_JG_MALAYALAM_RA, U_JG_MALAYALAM_SSA, U_JG_MALAYALAM_TTA, U_JG_HANIFI_ROHINGYA_KINNA_YA, U_JG_HANIFI_ROHINGYA_PA, #ifndef U_HIDE_DEPRECATED_API U_JG_COUNT #endif } UJoiningGroup; typedef enum UGraphemeClusterBreak { U_GCB_OTHER = 0, U_GCB_CONTROL = 1, U_GCB_CR = 2, U_GCB_EXTEND = 3, U_GCB_L = 4, U_GCB_LF = 5, U_GCB_LV = 6, U_GCB_LVT = 7, U_GCB_T = 8, U_GCB_V = 9, U_GCB_SPACING_MARK = 10, U_GCB_PREPEND = 11, U_GCB_REGIONAL_INDICATOR = 12, U_GCB_E_BASE = 13, U_GCB_E_BASE_GAZ = 14, U_GCB_E_MODIFIER = 15, U_GCB_GLUE_AFTER_ZWJ = 16, U_GCB_ZWJ = 17, #ifndef U_HIDE_DEPRECATED_API U_GCB_COUNT = 18 #endif } UGraphemeClusterBreak; typedef enum UWordBreakValues { U_WB_OTHER = 0, U_WB_ALETTER = 1, U_WB_FORMAT = 2, U_WB_KATAKANA = 3, U_WB_MIDLETTER = 4, U_WB_MIDNUM = 5, U_WB_NUMERIC = 6, U_WB_EXTENDNUMLET = 7, U_WB_CR = 8, U_WB_EXTEND = 9, U_WB_LF = 10, U_WB_MIDNUMLET = 11, U_WB_NEWLINE = 12, U_WB_REGIONAL_INDICATOR = 13, U_WB_HEBREW_LETTER = 14, U_WB_SINGLE_QUOTE = 15, U_WB_DOUBLE_QUOTE = 16, U_WB_E_BASE = 17, U_WB_E_BASE_GAZ = 18, U_WB_E_MODIFIER = 19, U_WB_GLUE_AFTER_ZWJ = 20, U_WB_ZWJ = 21, U_WB_WSEGSPACE = 22, #ifndef U_HIDE_DEPRECATED_API U_WB_COUNT = 23 #endif } UWordBreakValues; typedef enum USentenceBreak { U_SB_OTHER = 0, U_SB_ATERM = 1, U_SB_CLOSE = 2, U_SB_FORMAT = 3, U_SB_LOWER = 4, U_SB_NUMERIC = 5, U_SB_OLETTER = 6, U_SB_SEP = 7, U_SB_SP = 8, U_SB_STERM = 9, U_SB_UPPER = 10, U_SB_CR = 11, U_SB_EXTEND = 12, U_SB_LF = 13, U_SB_SCONTINUE = 14, #ifndef U_HIDE_DEPRECATED_API U_SB_COUNT = 15 #endif } USentenceBreak; typedef enum ULineBreak { U_LB_UNKNOWN = 0, U_LB_AMBIGUOUS = 1, U_LB_ALPHABETIC = 2, U_LB_BREAK_BOTH = 3, U_LB_BREAK_AFTER = 4, U_LB_BREAK_BEFORE = 5, U_LB_MANDATORY_BREAK = 6, U_LB_CONTINGENT_BREAK = 7, U_LB_CLOSE_PUNCTUATION = 8, U_LB_COMBINING_MARK = 9, U_LB_CARRIAGE_RETURN = 10, U_LB_EXCLAMATION = 11, U_LB_GLUE = 12, U_LB_HYPHEN = 13, U_LB_IDEOGRAPHIC = 14, U_LB_INSEPARABLE = 15, U_LB_INSEPERABLE = U_LB_INSEPARABLE, U_LB_INFIX_NUMERIC = 16, U_LB_LINE_FEED = 17, U_LB_NONSTARTER = 18, U_LB_NUMERIC = 19, U_LB_OPEN_PUNCTUATION = 20, U_LB_POSTFIX_NUMERIC = 21, U_LB_PREFIX_NUMERIC = 22, U_LB_QUOTATION = 23, U_LB_COMPLEX_CONTEXT = 24, U_LB_SURROGATE = 25, U_LB_SPACE = 26, U_LB_BREAK_SYMBOLS = 27, U_LB_ZWSPACE = 28, U_LB_NEXT_LINE = 29, U_LB_WORD_JOINER = 30, U_LB_H2 = 31, U_LB_H3 = 32, U_LB_JL = 33, U_LB_JT = 34, U_LB_JV = 35, U_LB_CLOSE_PARENTHESIS = 36, U_LB_CONDITIONAL_JAPANESE_STARTER = 37, U_LB_HEBREW_LETTER = 38, U_LB_REGIONAL_INDICATOR = 39, U_LB_E_BASE = 40, U_LB_E_MODIFIER = 41, U_LB_ZWJ = 42, #ifndef U_HIDE_DEPRECATED_API U_LB_COUNT = 43 #endif } ULineBreak; typedef enum UNumericType { U_NT_NONE, U_NT_DECIMAL, U_NT_DIGIT, U_NT_NUMERIC, #ifndef U_HIDE_DEPRECATED_API U_NT_COUNT #endif } UNumericType; typedef enum UHangulSyllableType { U_HST_NOT_APPLICABLE, U_HST_LEADING_JAMO, U_HST_VOWEL_JAMO, U_HST_TRAILING_JAMO, U_HST_LV_SYLLABLE, U_HST_LVT_SYLLABLE, #ifndef U_HIDE_DEPRECATED_API U_HST_COUNT #endif } UHangulSyllableType; typedef enum UErrorCode { U_USING_FALLBACK_WARNING = -128, U_ERROR_WARNING_START = -128, U_USING_DEFAULT_WARNING = -127, U_SAFECLONE_ALLOCATED_WARNING = -126, U_STATE_OLD_WARNING = -125, U_STRING_NOT_TERMINATED_WARNING = -124, U_SORT_KEY_TOO_SHORT_WARNING = -123, U_AMBIGUOUS_ALIAS_WARNING = -122, U_DIFFERENT_UCA_VERSION = -121, U_PLUGIN_CHANGED_LEVEL_WARNING = -120, #ifndef U_HIDE_DEPRECATED_API U_ERROR_WARNING_LIMIT, #endif U_ZERO_ERROR = 0, U_ILLEGAL_ARGUMENT_ERROR = 1, U_MISSING_RESOURCE_ERROR = 2, U_INVALID_FORMAT_ERROR = 3, U_FILE_ACCESS_ERROR = 4, U_INTERNAL_PROGRAM_ERROR = 5, U_MESSAGE_PARSE_ERROR = 6, U_MEMORY_ALLOCATION_ERROR = 7, U_INDEX_OUTOFBOUNDS_ERROR = 8, U_PARSE_ERROR = 9, U_INVALID_CHAR_FOUND = 10, U_TRUNCATED_CHAR_FOUND = 11, U_ILLEGAL_CHAR_FOUND = 12, U_INVALID_TABLE_FORMAT = 13, U_INVALID_TABLE_FILE = 14, U_BUFFER_OVERFLOW_ERROR = 15, U_UNSUPPORTED_ERROR = 16, U_RESOURCE_TYPE_MISMATCH = 17, U_ILLEGAL_ESCAPE_SEQUENCE = 18, U_UNSUPPORTED_ESCAPE_SEQUENCE = 19, U_NO_SPACE_AVAILABLE = 20, U_CE_NOT_FOUND_ERROR = 21, U_PRIMARY_TOO_LONG_ERROR = 22, U_STATE_TOO_OLD_ERROR = 23, U_TOO_MANY_ALIASES_ERROR = 24, U_ENUM_OUT_OF_SYNC_ERROR = 25, U_INVARIANT_CONVERSION_ERROR = 26, U_INVALID_STATE_ERROR = 27, U_COLLATOR_VERSION_MISMATCH = 28, U_USELESS_COLLATOR_ERROR = 29, U_NO_WRITE_PERMISSION = 30, #ifndef U_HIDE_DEPRECATED_API U_STANDARD_ERROR_LIMIT, #endif U_BAD_VARIABLE_DEFINITION = 0x10000, U_PARSE_ERROR_START = 0x10000, U_MALFORMED_RULE, U_MALFORMED_SET, U_MALFORMED_SYMBOL_REFERENCE, U_MALFORMED_UNICODE_ESCAPE, U_MALFORMED_VARIABLE_DEFINITION, U_MALFORMED_VARIABLE_REFERENCE, U_MISMATCHED_SEGMENT_DELIMITERS, U_MISPLACED_ANCHOR_START, U_MISPLACED_CURSOR_OFFSET, U_MISPLACED_QUANTIFIER, U_MISSING_OPERATOR, U_MISSING_SEGMENT_CLOSE, U_MULTIPLE_ANTE_CONTEXTS, U_MULTIPLE_CURSORS, U_MULTIPLE_POST_CONTEXTS, U_TRAILING_BACKSLASH, U_UNDEFINED_SEGMENT_REFERENCE, U_UNDEFINED_VARIABLE, U_UNQUOTED_SPECIAL, U_UNTERMINATED_QUOTE, U_RULE_MASK_ERROR, U_MISPLACED_COMPOUND_FILTER, U_MULTIPLE_COMPOUND_FILTERS, U_INVALID_RBT_SYNTAX, U_INVALID_PROPERTY_PATTERN, U_MALFORMED_PRAGMA, U_UNCLOSED_SEGMENT, U_ILLEGAL_CHAR_IN_SEGMENT, U_VARIABLE_RANGE_EXHAUSTED, U_VARIABLE_RANGE_OVERLAP, U_ILLEGAL_CHARACTER, U_INTERNAL_TRANSLITERATOR_ERROR, U_INVALID_ID, U_INVALID_FUNCTION, #ifndef U_HIDE_DEPRECATED_API U_PARSE_ERROR_LIMIT, #endif U_UNEXPECTED_TOKEN = 0x10100, U_FMT_PARSE_ERROR_START = 0x10100, U_MULTIPLE_DECIMAL_SEPARATORS, U_MULTIPLE_DECIMAL_SEPERATORS = U_MULTIPLE_DECIMAL_SEPARATORS, U_MULTIPLE_EXPONENTIAL_SYMBOLS, U_MALFORMED_EXPONENTIAL_PATTERN, U_MULTIPLE_PERCENT_SYMBOLS, U_MULTIPLE_PERMILL_SYMBOLS, U_MULTIPLE_PAD_SPECIFIERS, U_PATTERN_SYNTAX_ERROR, U_ILLEGAL_PAD_POSITION, U_UNMATCHED_BRACES, U_UNSUPPORTED_PROPERTY, U_UNSUPPORTED_ATTRIBUTE, U_ARGUMENT_TYPE_MISMATCH, U_DUPLICATE_KEYWORD, U_UNDEFINED_KEYWORD, U_DEFAULT_KEYWORD_MISSING, U_DECIMAL_NUMBER_SYNTAX_ERROR, U_FORMAT_INEXACT_ERROR, #ifndef U_HIDE_DRAFT_API U_NUMBER_ARG_OUTOFBOUNDS_ERROR, #endif #ifndef U_HIDE_DRAFT_API U_NUMBER_SKELETON_SYNTAX_ERROR, #endif #ifndef U_HIDE_DEPRECATED_API U_FMT_PARSE_ERROR_LIMIT = 0x10114, #endif U_BRK_INTERNAL_ERROR = 0x10200, U_BRK_ERROR_START = 0x10200, U_BRK_HEX_DIGITS_EXPECTED, U_BRK_SEMICOLON_EXPECTED, U_BRK_RULE_SYNTAX, U_BRK_UNCLOSED_SET, U_BRK_ASSIGN_ERROR, U_BRK_VARIABLE_REDFINITION, U_BRK_MISMATCHED_PAREN, U_BRK_NEW_LINE_IN_QUOTED_STRING, U_BRK_UNDEFINED_VARIABLE, U_BRK_INIT_ERROR, U_BRK_RULE_EMPTY_SET, U_BRK_UNRECOGNIZED_OPTION, U_BRK_MALFORMED_RULE_TAG, #ifndef U_HIDE_DEPRECATED_API U_BRK_ERROR_LIMIT, #endif U_REGEX_INTERNAL_ERROR = 0x10300, U_REGEX_ERROR_START = 0x10300, U_REGEX_RULE_SYNTAX, U_REGEX_INVALID_STATE, U_REGEX_BAD_ESCAPE_SEQUENCE, U_REGEX_PROPERTY_SYNTAX, U_REGEX_UNIMPLEMENTED, U_REGEX_MISMATCHED_PAREN, U_REGEX_NUMBER_TOO_BIG, U_REGEX_BAD_INTERVAL, U_REGEX_MAX_LT_MIN, U_REGEX_INVALID_BACK_REF, U_REGEX_INVALID_FLAG, U_REGEX_LOOK_BEHIND_LIMIT, U_REGEX_SET_CONTAINS_STRING, #ifndef U_HIDE_DEPRECATED_API U_REGEX_OCTAL_TOO_BIG, #endif U_REGEX_MISSING_CLOSE_BRACKET = U_REGEX_SET_CONTAINS_STRING + 2, U_REGEX_INVALID_RANGE, U_REGEX_STACK_OVERFLOW, U_REGEX_TIME_OUT, U_REGEX_STOPPED_BY_CALLER, U_REGEX_PATTERN_TOO_BIG, U_REGEX_INVALID_CAPTURE_GROUP_NAME, #ifndef U_HIDE_DEPRECATED_API U_REGEX_ERROR_LIMIT = U_REGEX_STOPPED_BY_CALLER + 3, #endif U_IDNA_PROHIBITED_ERROR = 0x10400, U_IDNA_ERROR_START = 0x10400, U_IDNA_UNASSIGNED_ERROR, U_IDNA_CHECK_BIDI_ERROR, U_IDNA_STD3_ASCII_RULES_ERROR, U_IDNA_ACE_PREFIX_ERROR, U_IDNA_VERIFICATION_ERROR, U_IDNA_LABEL_TOO_LONG_ERROR, U_IDNA_ZERO_LENGTH_LABEL_ERROR, U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR, #ifndef U_HIDE_DEPRECATED_API U_IDNA_ERROR_LIMIT, #endif U_STRINGPREP_PROHIBITED_ERROR = U_IDNA_PROHIBITED_ERROR, U_STRINGPREP_UNASSIGNED_ERROR = U_IDNA_UNASSIGNED_ERROR, U_STRINGPREP_CHECK_BIDI_ERROR = U_IDNA_CHECK_BIDI_ERROR, U_PLUGIN_ERROR_START = 0x10500, U_PLUGIN_TOO_HIGH = 0x10500, U_PLUGIN_DIDNT_SET_LEVEL, #ifndef U_HIDE_DEPRECATED_API U_PLUGIN_ERROR_LIMIT, #endif #ifndef U_HIDE_DEPRECATED_API U_ERROR_LIMIT = U_PLUGIN_ERROR_LIMIT #endif } UErrorCode; struct BinaryProperty; typedef UBool BinaryPropertyContains(const BinaryProperty &prop, UChar32 c, UProperty which); typedef struct BinaryProperty { int32_t column; uint32_t mask; BinaryPropertyContains *contains; } BinaryProperty; typedef struct UBreakIterator UBreakIterator; #endif ================================================ FILE: icu/icu.h ================================================ #import "../BaseTypes.h" #import "Types.h" #define U_NO_NUMERIC_VALUE ((double)-123456789.) UBool u_hasBinaryProperty(UChar32 c, UProperty which); UBool u_isUAlphabetic(UChar32 c); UBool u_isULowercase(UChar32 c); UBool u_isUUppercase(UChar32 c); UBool u_isUWhiteSpace(UChar32 c); UBool u_islower(UChar32 c); UBool u_isupper(UChar32 c); UBool u_istitle(UChar32 c); UBool u_isdigit(UChar32 c); UBool u_isalpha(UChar32 c); UBool u_isalnum(UChar32 c); UBool u_isxdigit(UChar32 c); UBool u_ispunct(UChar32 c); UBool u_isgraph(UChar32 c); UBool u_isblank(UChar32 c); UBool u_isdefined(UChar32 c); UBool u_isspace(UChar32 c); UBool u_isJavaSpaceChar(UChar32 c); UBool u_isWhitespace(UChar32 c); UBool u_iscntrl(UChar32 c); UBool u_isISOControl(UChar32 c); UBool u_isprint(UChar32 c); UBool u_isbase(UChar32 c); UBool u_isMirrored(UChar32 c); UBool u_isIDStart(UChar32 c); UBool u_isIDPart(UChar32 c); UBool u_isIDIgnorable(UChar32 c); UBool u_isJavaIDStart(UChar32 c); UBool u_isJavaIDPart(UChar32 c); UBool uscript_hasScript(UChar32 c, UScriptCode sc); UBool uset_contains(const USet *set, UChar32 c); UBool uset_containsRange(const USet *set, UChar32 start, UChar32 end); UBool uset_containsString(const USet *set, const UChar *str, int32_t strLen); UBool uset_isFrozen(const USet *set); UCharDirection u_charDirection(UChar32 c); UChar32 u_charMirror(UChar32 c); UChar32 u_getBidiPairedBracket(UChar32 c); UChar32 u_charFromName(UCharNameChoice nameChoice, const char *name, UErrorCode *pErrorCode); UChar32 u_tolower(UChar32 c); UChar32 u_toupper(UChar32 c); UChar32 u_totitle(UChar32 c); UChar32 u_foldCase(UChar32 c, uint32_t options); UChar32 u_forDigit(int32_t digit, int8_t radix); int8_t u_charType(UChar32 c); uint8_t u_getCombiningClass(UChar32 c); #define U_GET_GC_MASK(c) U_MASK(u_charType(c)) typedef UBool UCharEnumTypeRange(const void *context, UChar32 start, UChar32 limit, UCharCategory type); typedef UBool UEnumCharNamesFn(void *context, UChar32 code, UCharNameChoice nameChoice, const char *name, int32_t length); UBlockCode ublock_getCode(UChar32 c); UScriptCode uscript_getScript(UChar32 codepoint, UErrorCode *err); double u_getNumericValue(UChar32 c); int32_t u_getIntPropertyValue(UChar32 c, UProperty which); int32_t u_getIntPropertyMinValue(UProperty which); int32_t u_getIntPropertyMaxValue(UProperty which); int32_t u_getISOComment(UChar32 c, char *dest, int32_t destCapacity, UErrorCode *pErrorCode); int32_t u_getFC_NFKC_Closure(UChar32 c, UChar *dest, int32_t destCapacity, UErrorCode *pErrorCode); int32_t u_getPropertyValueEnum(UProperty property, const char *alias); int32_t u_charDigitValue(UChar32 c); int32_t u_charName(UChar32 code, UCharNameChoice nameChoice, char *buffer, int32_t bufferLength, UErrorCode *pErrorCode); int32_t uscript_getCode(const char *nameOrAbbrOrLocale, UScriptCode *fillIn, int32_t capacity, UErrorCode *err); int32_t u_strlen(const UChar *str); int32_t u_strToUpper(UChar *dest, int32_t destCapacity, const UChar *src, int32_t srcLength, const char *locale, UErrorCode *pErrorCode); int32_t u_strToLower(UChar *dest, int32_t destCapacity, const UChar *src, int32_t srcLength, const char *locale, UErrorCode *pErrorCode); int32_t u_strToTitle(UChar *dest, int32_t destCapacity, const UChar *src, int32_t srcLength, UBreakIterator *titleIter, const char *locale, UErrorCode *pErrorCode); int32_t u_digit(UChar32 ch, int8_t radix); int32_t u_formatMessage(const char *locale, const UChar *pattern, int32_t patternLength, UChar *result, int32_t resultLength, UErrorCode *status, ...); int32_t uset_getItemCount(const USet *set); int32_t uset_getItem(const USet *set, int32_t itemIndex, UChar32 *start, UChar32 *end, UChar *str, int32_t strCapacity, UErrorCode *ec); const char *u_errorName(UErrorCode code); const char *u_getPropertyName(UProperty property, UPropertyNameChoice nameChoice); const char *u_getPropertyValueName(UProperty property, int32_t value, UPropertyNameChoice nameChoice); UProperty u_getPropertyEnum(const char *alias); char *u_strToUTF8(char *dest, int32_t destCapacity, int32_t *pDestLength, const UChar *src, int32_t srcLength, UErrorCode *pErrorCode); void u_enumCharTypes(UCharEnumTypeRange *enumRange, const void *context); void u_enumCharNames(UChar32 start, UChar32 limit, UEnumCharNamesFn *fn, void *context, UCharNameChoice nameChoice, UErrorCode *pErrorCode); void u_charAge(UChar32 c, UVersionInfo versionArray); void u_charsToUChars(const char *cs, UChar *us, int32_t length); void u_getVersion(UVersionInfo versionArray); void u_getUnicodeVersion(UVersionInfo versionArray); void u_versionToString(UVersionInfo versionArray, char *versionString); void uset_set(USet *set, UChar32 start, UChar32 end); void uset_add(USet *set, UChar32 c); void uset_addAll(USet *set, const USet *additionalSet); void uset_addRange(USet *set, UChar32 start, UChar32 end); void uset_addString(USet *set, const UChar *str, int32_t strLen); void uset_remove(USet *set, UChar32 c); void uset_close(USet *set); void uset_freeze(USet *set); void uset_applyIntPropertyValue(USet *set, UProperty prop, int32_t value, UErrorCode *ec); USet *uset_openEmpty(void); USet *uset_open(UChar32 start, UChar32 end); USet *uset_openPattern(const UChar *pattern, int32_t patternLength, UErrorCode *ec); USet *uset_openPatternOptions(const UChar *pattern, int32_t patternLength, uint32_t options, UErrorCode *ec); USet *uset_clone (const USet *set); UChar *u_strFromUTF32(UChar *dest, int32_t destCapacity, int32_t *pDestLength, const UChar32 *src, int32_t srcLength, UErrorCode *pErrorCode); UChar *u_strFromUTF8(UChar *dest, int32_t destCapacity, int32_t *pDestLength, const char *src, int32_t srcLength, UErrorCode *pErrorCode); ================================================ FILE: objc/Types.h ================================================ #ifndef OBJC_H_ #define OBJC_H_ #import "../BaseTypes.h" struct objc_object { Class isa; }; typedef void *id; typedef struct Protocol { NSObject super; } Protocol; // typedef struct objc_selector *SEL; typedef const char *SEL; typedef struct objc_ivar *Ivar; typedef struct objc_category *Category; typedef struct objc_property *objc_property_t; typedef struct objc_method *Method; typedef uintptr_t objc_AssociationPolicy; typedef void (*IMP)(void); typedef struct objc_property_attribute { const char *name; const char *value; } objc_property_attribute_t; typedef struct objc_super { id receiver; Class super_class; } objc_super; typedef enum objc_tag_index_t { OBJC_TAG_NSAtom = 0, OBJC_TAG_1 = 1, OBJC_TAG_NSString = 2, OBJC_TAG_NSNumber = 3, OBJC_TAG_NSIndexPath = 4, OBJC_TAG_NSManagedObjectID = 5, OBJC_TAG_NSDate = 6, OBJC_TAG_RESERVED_7 = 7, OBJC_TAG_Photos_1 = 8, OBJC_TAG_Photos_2 = 9, OBJC_TAG_Photos_3 = 10, OBJC_TAG_Photos_4 = 11, OBJC_TAG_XPC_1 = 12, OBJC_TAG_XPC_2 = 13, OBJC_TAG_XPC_3 = 14, OBJC_TAG_XPC_4 = 15, OBJC_TAG_NSColor = 16, OBJC_TAG_UIColor = 17, OBJC_TAG_CGColor = 18, OBJC_TAG_NSIndexSet = 19, OBJC_TAG_First60BitPayload = 0, OBJC_TAG_Last60BitPayload = 6, OBJC_TAG_First52BitPayload = 8, OBJC_TAG_Last52BitPayload = 263, OBJC_TAG_RESERVED_264 = 264 } objc_tag_index_t; typedef BOOL (*objc_hook_getClass)(const char *name, Class *outClass); typedef const char *(*objc_hook_lazyClassNamer)(Class cls); #endif ================================================ FILE: objc/objc.h ================================================ #import "../BaseTypes.h" #import "../Kernel/Types.h" #import "../System/Types.h" #import "../Foundation/Types.h" #import "Types.h" bool _objc_rootTryRetain(id obj); bool _objc_rootReleaseWasZero(id obj); bool _objc_rootIsDeallocating(id obj); BOOL class_addIvar(Class cls, const char *name, size_t size, uint8_t alignment, const char *types); BOOL class_addMethod(Class cls, SEL name, IMP imp, const char *types); BOOL class_addProperty(Class cls, const char *name, const objc_property_attribute_t *attributes, unsigned int attributeCount); BOOL class_addProtocol(Class cls, Protocol *protocol); BOOL class_conformsToProtocol(Class cls, Protocol *protocol); BOOL class_isMetaClass(Class cls); BOOL class_respondsToSelector(Class cls, SEL sel); BOOL objc_opt_isKindOfClass(id obj, Class cls); BOOL objc_opt_respondsToSelector(id obj, SEL sel); BOOL protocol_conformsToProtocol(Protocol *proto, Protocol *other); BOOL protocol_isEqual(Protocol *proto, Protocol *other); BOOL sel_isEqual(SEL lhs, SEL rhs); BOOL sel_isMapped(SEL aSelector); char *method_copyArgumentType(Method m, unsigned int index); char *method_copyReturnType(Method m); char *property_copyAttributeValue(objc_property_t property, const char *attributeName); const char **objc_copyClassNamesForImageHeader(const struct mach_header *mh, unsigned int *outCount); Class _objc_getClassForTag(objc_tag_index_t tag); Class _objc_getFreedObjectClass(void); Class class_getSuperclass(Class cls); Class class_setSuperclass(Class cls, Class newSuper); Class objc_allocateClassPair(Class superclass, const char *name, size_t extraBytes); Class objc_duplicateClass(Class original, const char *name, size_t extraBytes); Class objc_getFutureClass(const char *name); Class objc_getRequiredClass(const char *name); Class objc_initializeClassPair(Class superclass, const char *name, Class cls, Class metacls); Class objc_lookUpClass(const char *name); Class objc_opt_class(id obj); Class object_getClass(id obj); Class object_setClass(id obj, Class cls); const char *_protocol_getMethodTypeEncoding(Protocol *, SEL, BOOL isRequiredMethod, BOOL isInstanceMethod); const char **objc_copyImageNames(unsigned int *outCount); const char *class_getImageName(Class cls); const char *class_getName(Class cls); const char *ivar_getName(Ivar v); const char *ivar_getTypeEncoding(Ivar v); const char *method_getTypeEncoding(Method m); const char *object_getClassName(id obj); const char *property_getAttributes(objc_property_t property); const char *property_getName(objc_property_t property); const char *protocol_getName(Protocol *proto); const char *sel_getName(SEL sel); const uint8_t *class_getIvarLayout(Class cls); #ifdef __EA64__ long double objc_msgSend_fpret(id self, SEL op, ...); #else double objc_msgSend_fpret(id self, SEL op, ...); #endif id _objc_rootAlloc(Class cls); id _objc_rootAllocWithZone(Class cls, malloc_zone_t *zone); id _objc_rootAutorelease(id object); id _objc_rootRetain(id object); id class_createInstance(Class cls, size_t extraBytes); id method_invoke(id receiver, Method m, ...); id objc_alloc_init(Class); id objc_alloc(Class); id objc_allocWithZone(Class cls); id objc_autorelease(id value); id objc_autoreleaseReturnValue(id value); id objc_claimAutoreleasedReturnValue(id value); id objc_begin_catch(void *exc_buf); id objc_constructInstance(Class cls, void *bytes); id objc_getAssociatedObject(id object, const void *key); id objc_getClass(const char *name); id objc_getMetaClass(const char *name); id objc_getProperty(id self, SEL _cmd, ptrdiff_t offset, BOOL atomic); id objc_initWeak(id *object, id value); id objc_loadWeak(id *object); id objc_loadWeakRetained(id *object); id objc_msgSendSuper(struct objc_super *super, SEL op, ...); id objc_msgSendSuper2(struct objc_super *super, SEL op, ...); id objc_opt_new(Class cls); id objc_opt_self(id self); id objc_retain(id value); id objc_retainAutorelease(id value); id objc_retainAutoreleasedReturnValue(id value); id objc_retainAutoreleaseReturnValue(id value); id objc_retainBlock(id value); id objc_storeWeak(id *object, id value); id objc_storeWeakOrNil(id *location, id obj); id objc_unsafeClaimAutoreleasedReturnValue(id value); id object_dispose(id obj); id object_getIvar(id obj, Ivar ivar); IMP class_getMethodImplementation(Class cls, SEL name); IMP class_replaceMethod(Class cls, SEL name, IMP imp, const char *types); IMP imp_implementationWithBlock(id block); IMP method_getImplementation(Method m); IMP method_setImplementation(Method m, IMP imp); IMP object_getMethodImplementation(id obj, SEL name); int objc_getClassList(Class *buffer, int bufferCount); int objc_sync_enter(id obj); int objc_sync_exit(id obj); uintptr_t _objc_rootHash(id obj); uintptr_t _objc_rootRetainCount(id obj); Ivar *class_copyIvarList(Class cls, unsigned int *outCount); Ivar class_getClassVariable(Class cls, const char *name); Ivar class_getInstanceVariable(Class cls, const char *name); Ivar object_getInstanceVariable(id obj, const char *name, void **outValue); Ivar object_setInstanceVariable(id obj, const char *name, void *value); Method *class_copyMethodList(Class cls, unsigned int *outCount); Method class_getClassMethod(Class cls, SEL name); Method class_getInstanceMethod(Class cls, SEL name); objc_property_attribute_t *property_copyAttributeList(objc_property_t property, unsigned int *outCount); objc_property_t *class_copyPropertyList(Class cls, unsigned int *outCount); objc_property_t *protocol_copyPropertyList(Protocol *proto, unsigned int *outCount); objc_property_t class_getProperty(Class cls, const char *name); Protocol **class_copyProtocolList(Class cls, unsigned int *outCount); Protocol *objc_allocateProtocol(const char *name); Protocol *objc_getProtocol(const char *name); ptrdiff_t ivar_getOffset(Ivar v); SEL method_getName(Method m); SEL sel_getUid(const char *str); SEL sel_registerName(const char *str); size_t class_getInstanceSize(Class cls); struct objc_method_description *method_getDescription(Method m); struct objc_method_description *protocol_copyMethodDescriptionList(Protocol *proto, BOOL isRequiredMethod, BOOL isInstanceMethod, unsigned int *outCount); struct objc_method_description protocol_getMethodDescription(Protocol *proto, SEL aSel, BOOL isRequiredMethod, BOOL isInstanceMethod); unsigned int method_getNumberOfArguments(Method m); void _objc_autoreleasePoolPrint(); void _objc_registerTaggedPointerClass(objc_tag_index_t tag, Class cls); void _objc_rootDealloc(id obj); void _objc_rootRelease(id obj); void _objc_setBadAllocHandler(id (*newHandler)(Class isa)); void *objc_autoreleasePoolPush(void); void *objc_destructInstance(id obj); void *object_getIndexedIvars(id obj); void class_replaceProperty(Class cls, const char *name, const objc_property_attribute_t *attributes, unsigned int attributeCount); void method_exchangeImplementations(Method m1, Method m2); void method_getArgumentType(Method m, unsigned int index, char *dst, size_t dst_len); void method_getReturnType(Method m, char *dst, size_t dst_len); void method_invoke_stret(id receiver, Method m, ...); void objc_autoreleasePoolPop(void *pool); void objc_copyStruct(void *dest, const void *src, ptrdiff_t size, BOOL atomic, BOOL hasStrong); void objc_copyWeak(id *dest, id *src); void objc_destroyWeak(id *object); void objc_disposeClassPair(Class cls); void objc_end_catch(void); void objc_enumerationMutation(id obj); void objc_exception_rethrow(void); void objc_exception_throw(id exception); void objc_moveWeak(id *dest, id *src); void objc_msgSend_stret(void *val, id self, SEL op, ...); void objc_msgSendSuper2_stret(struct objc_super *super, SEL op,...); void objc_registerClassPair(Class cls); void objc_registerProtocol(Protocol *proto); void objc_release(id value); void objc_removeAssociatedObjects(id object); void objc_setAssociatedObject(id object, const void *key, id value, objc_AssociationPolicy policy); void objc_setHook_getClass(objc_hook_getClass newValue, objc_hook_getClass *outOldValue); void objc_setHook_lazyClassNamer(objc_hook_lazyClassNamer newValue, objc_hook_lazyClassNamer *outOldValue); void objc_setProperty_atomic_copy(id self, SEL _cmd, id newValue, ptrdiff_t offset); void objc_setProperty_atomic(id self, SEL _cmd, id newValue, ptrdiff_t offset); void objc_setProperty_nonatomic_copy(id self, SEL _cmd, id newValue, ptrdiff_t offset); void objc_setProperty_nonatomic(id self, SEL _cmd, id newValue, ptrdiff_t offset); void objc_setProperty(id self, SEL _cmd, ptrdiff_t offset, id newValue, BOOL atomic, BOOL shouldCopy); void objc_storeStrong(id *object, id value); void objc_terminate(void); void object_setIvar(id obj, Ivar ivar, id value); void protocol_addMethodDescription(Protocol *proto, SEL name, const char *types, BOOL isRequiredMethod, BOOL isInstanceMethod); void protocol_addProperty(Protocol *proto, const char *name, const objc_property_attribute_t *attributes, unsigned int attributeCount, BOOL isRequiredProperty, BOOL isInstanceProperty); void protocol_addProtocol(Protocol *proto, Protocol *addition); void _objc_rootFinalize(id obj); NSZone *_objc_rootZone(id obj); ================================================ FILE: os/Types.h ================================================ #ifndef OS_H_ #define OS_H_ #import "../BaseTypes.h" #import "../Foundation/Types.h" #ifdef __EA64__ #define __OS_WORKGROUP_ATTR_SIZE__ 60 #define __OS_WORKGROUP_INTERVAL_DATA_SIZE__ 56 #define __OS_WORKGROUP_JOIN_TOKEN_SIZE__ 36 #else #define __OS_WORKGROUP_ATTR_SIZE__ 60 #define __OS_WORKGROUP_INTERVAL_DATA_SIZE__ 56 #define __OS_WORKGROUP_JOIN_TOKEN_SIZE__ 28 #endif typedef struct _os_object_s *_os_object_t; typedef struct os_log_s *os_log_t; typedef struct os_activity_s *os_activity_t; typedef struct os_transaction_s *os_transaction_t; typedef struct os_activity_scope_state_s *os_activity_scope_state_t; struct os_workgroup_attr_opaque_s { uint32_t sig; char opaque[__OS_WORKGROUP_ATTR_SIZE__]; }; struct os_workgroup_interval_data_opaque_s { uint32_t sig; char opaque[__OS_WORKGROUP_INTERVAL_DATA_SIZE__]; }; struct os_workgroup_join_token_opaque_s { uint32_t sig; char opaque[__OS_WORKGROUP_JOIN_TOKEN_SIZE__]; }; typedef struct os_workgroup_interval_data_opaque_s os_workgroup_interval_data_s; typedef struct os_workgroup_interval_data_opaque_s *os_workgroup_interval_data_t; typedef struct os_workgroup_attr_opaque_s os_workgroup_attr_s; typedef struct os_workgroup_attr_opaque_s *os_workgroup_attr_t; typedef struct os_workgroup_max_parallel_threads_attr_s os_workgroup_mpt_attr_s; typedef struct os_workgroup_max_parallel_threads_attr_s *os_workgroup_mpt_attr_t; typedef struct os_workgroup_join_token_opaque_s os_workgroup_join_token_s; typedef struct os_workgroup_join_token_opaque_s *os_workgroup_join_token_t; typedef struct os_unfair_lock_s { uint32_t _os_unfair_lock_opaque; } os_unfair_lock, *os_unfair_lock_t; typedef struct os_unfair_recursive_lock_s { os_unfair_lock ourl_lock; uint32_t ourl_count; } os_unfair_recursive_lock, *os_unfair_recursive_lock_t; typedef NSObject *os_workgroup_t; typedef os_workgroup_t *os_workgroup_interval_t; PS_ENUM(uint8_t, os_log_type_t) { OS_LOG_TYPE_DEFAULT = 0x00, OS_LOG_TYPE_INFO = 0x01, OS_LOG_TYPE_DEBUG = 0x02, OS_LOG_TYPE_ERROR = 0x10, OS_LOG_TYPE_FAULT = 0x11, }; PS_ENUM(uint32_t, os_activity_flag_t) { OS_ACTIVITY_FLAG_DEFAULT = 0, OS_ACTIVITY_FLAG_DETACHED = 0x1, OS_ACTIVITY_FLAG_IF_NONE_PRESENT = 0x2 }; PS_ENUM(uint32_t, os_unfair_lock_options_t) { OS_UNFAIR_LOCK_NONE = 0x00000000, OS_UNFAIR_LOCK_DATA_SYNCHRONIZATION = 0x00010000, OS_UNFAIR_LOCK_ADAPTIVE_SPIN = 0x0004000 }; PS_ENUM(uint32_t, os_state_reason_t) { OS_STATE_REASON_GENERAL = 0x0001, OS_STATE_REASON_NETWORKING = 0x0002, OS_STATE_REASON_CELLULAR = 0x0004, OS_STATE_REASON_AUTHENTICATION = 0x0008, }; PS_ENUM(uint32_t, os_state_api_t) { OS_STATE_API_ERROR = 1, OS_STATE_API_FAULT = 2, OS_STATE_API_REQUEST = 3, }; PS_ENUM(uint32_t, os_state_data_type_t) { OS_STATE_DATA_SERIALIZED_NSCF_OBJECT = 1, OS_STATE_DATA_PROTOCOL_BUFFER = 2, OS_STATE_DATA_CUSTOM = 3, }; typedef struct os_state_hints_s { uint32_t osh_version; const char *osh_requestor; os_state_api_t osh_api; os_state_reason_t osh_reason; } *os_state_hints_t; typedef struct os_state_data_decoder_s { char osdd_library[64]; char osdd_type[64]; } *os_state_data_decoder_t; union os_state_unk_stru_1 { int32 var0 : 32; unsigned int var1; }; typedef struct os_state_data_s { os_state_data_type_t osd_type; union { uint64_t osd_size:32; uint32_t osd_data_size; } __attribute__((packed, aligned(4))); struct os_state_data_decoder_s osd_decoder; char osd_title[64]; uint8_t osd_data[]; } *os_state_data_t; typedef uint64_t os_state_handle_t; typedef os_state_data_t (*os_state_block_t)(os_state_hints_t hints); typedef uint32_t os_workgroup_index; typedef uint64_t os_activity_id_t; typedef uint64_t os_signpost_id_t; typedef long os_once_t; typedef os_once_t os_alloc_token_t; PS_ENUM(uint8_t, os_signpost_type_t) { OS_SIGNPOST_EVENT = 0x00, OS_SIGNPOST_INTERVAL_BEGIN = 0x01, OS_SIGNPOST_INTERVAL_END = 0x02, }; struct _os_alloc_once_s { os_alloc_token_t once; void *ptr; }; typedef void (*os_function_t)(void *); typedef void (*os_block_t)(void); #define OS_LOCK_TYPE_STRUCT(type) const struct _os_lock_type_##type##_s #define OS_LOCK_TYPE_REF(type) _os_lock_type_##type #define OS_LOCK(type) os_lock_##type##_s #define OS_LOCK_STRUCT(type) struct OS_LOCK(type) #define OS_LOCK_DECL(type, size) \ typedef OS_LOCK_STRUCT(type) { \ OS_LOCK_TYPE_STRUCT(type) *const osl_type; \ uintptr_t _osl_##type##_opaque[size - 1]; \ } \ OS_LOCK(type) #define OS_LOCK_T_MEMBER(type) OS_LOCK_STRUCT(type) * _osl_##type typedef union os_lock { OS_LOCK_T_MEMBER(base); OS_LOCK_T_MEMBER(unfair); OS_LOCK_T_MEMBER(nospin); OS_LOCK_T_MEMBER(spin); OS_LOCK_T_MEMBER(handoff); OS_LOCK_T_MEMBER(eliding); OS_LOCK_T_MEMBER(transactional); } os_lock_t; typedef struct os_log_pack_s { uint64_t olp_continuous_time; struct timespec olp_wall_time; const void *olp_mh; const void *olp_pc; const char *olp_format; uint8_t olp_data[0]; } os_log_pack_s, *os_log_pack_t; typedef struct _os_nospin_lock_s *_os_nospin_lock_t; typedef bool (*_os_log_NSCF_callback)(const void *obj, char *string_value, size_t string_sz, bool *publicData); extern struct os_log_s _os_log_default; #endif ================================================ FILE: os/os.h ================================================ #import "../BaseTypes.h" #import "../Darwin/Types.h" #import "../CoreFoundation/Types.h" #import "Types.h" bool _os_feature_enabled_impl(const char *domain, const char *feature); bool _os_nospin_lock_trylock(_os_nospin_lock_t lock); bool os_log_shim_enabled(void *); bool os_log_type_enabled(os_log_t oslog, os_log_type_t type); bool os_signpost_enabled(os_log_t log); bool os_unfair_lock_trylock(os_unfair_lock_t lock); bool os_unfair_recursive_lock_trylock(os_unfair_recursive_lock_t lock); bool os_unfair_recursive_lock_tryunlock4objc(os_unfair_recursive_lock_t lock); bool os_variant_allows_internal_security_policies(const char *subsystem); bool os_variant_check(const char *subsystem, const char *variant); bool os_variant_has_factory_content(const char *subsystem); bool os_variant_has_internal_content(const char *subsystem); bool os_variant_has_internal_diagnostics(const char *subsystem); bool os_variant_has_internal_ui(const char *subsystem); bool os_variant_is_darwinos(const char *subsystem); bool os_workgroup_testcancel(os_workgroup_t wg); bool os_parse_boot_arg_int(const char *which, int64_t *where); int os_workgroup_copy_port(os_workgroup_t wg, mach_port_t *mach_port_out); int os_workgroup_interval_finish(os_workgroup_interval_t wg, os_workgroup_interval_data_t data); int os_workgroup_interval_start(os_workgroup_interval_t wg, uint64_t start, uint64_t deadline, os_workgroup_interval_data_t data); int os_workgroup_interval_update(os_workgroup_interval_t wg, uint64_t deadline, os_workgroup_interval_data_t data); int os_workgroup_join_self(os_workgroup_t wg, os_workgroup_join_token_t token_out, os_workgroup_index *id_out); int os_workgroup_max_parallel_threads(os_workgroup_t wh, os_workgroup_mpt_attr_t attr); uint64_t os_simple_hash(const void *buff, size_t len); uint64_t os_simple_hash_string(const char *string); uint64_t os_simple_hash_string_with_seed(const char *string, uint64_t seed); char *_os_assert_log(uint64_t code); os_activity_id_t os_activity_get_identifier(os_activity_t activity, os_activity_id_t *parent_id); os_activity_t _os_activity_create(void *dso, const char *description, os_activity_t activity, os_activity_flag_t flags); os_activity_t _os_activity_start(void *dso, const char *description, os_activity_flag_t flags); os_log_t _os_log_create(void *dso, const char *subsystem, const char *category); os_log_t os_log_create(const char *subsystem, const char *category); os_signpost_id_t os_signpost_id_generate(os_log_t log); os_signpost_id_t os_signpost_id_make_with_pointer(os_log_t log, const void *ptr); os_state_handle_t os_state_add_handler(dispatch_queue_t, os_state_block_t); os_transaction_t os_transaction_create(const char *description); os_workgroup_t os_workgroup_create_with_port(const char *name, mach_port_t mach_port); os_workgroup_t os_workgroup_create_with_workgroup(const char *name, os_workgroup_t wg); _os_object_t _os_object_alloc(const void *cls, size_t size); size_t os_proc_available_memory(void); size_t _os_log_pack_size(size_t os_log_format_buffer_size); uint8_t *_os_log_pack_fill(os_log_pack_t pack, size_t size, int saved_errno, const void *dso, const char *fmt); void _os_assumes_log(kern_return_t); void _os_crash(const char *message); void _os_log_debug_impl(void *dso, os_log_t log, os_log_type_t type, const char *format, uint8_t *buf, uint32_t size); void _os_log_error_impl(void *dso, os_log_t log, os_log_type_t type, const char *format, uint8_t *buf, unsigned int size); void _os_log_fault_impl(void *dso, os_log_t log, os_log_type_t type, const char *format, uint8_t *buf, unsigned int size); void _os_log_impl(void *dso, os_log_t log, os_log_type_t type, const char *format, uint8_t *buf, unsigned int size); void _os_log_internal(void *dso, os_log_t log, os_log_type_t type, const char *message, ...); void _os_log_set_nscf_formatter(_os_log_NSCF_callback function); void _os_nospin_lock_lock(_os_nospin_lock_t lock); void _os_nospin_lock_unlock(_os_nospin_lock_t lock); void _os_once(os_once_t *val, void *ctxt, os_function_t func); void _os_signpost_emit_with_name_impl(void *dso, os_log_t log, os_signpost_type_t type, os_signpost_id_t spid, const char *name, const char *format, uint8_t *buf, uint32_t size); void _os_signpost_emit_unreliably_with_name_impl(void *dso, os_log_t log, os_signpost_type_t type, os_signpost_id_t spid, const char *name, const char *format, uint8_t *buf, uint32_t size); void *_os_alloc_once(struct _os_alloc_once_s *slot, size_t sz, os_function_t init); void *os_retain(void *object); void *os_workgroup_get_context(os_workgroup_t wg); void *os_workgroup_set_context(os_workgroup_t wg, void *context); void os_activity_apply_f(os_activity_t activity, void *context, os_function_t function); void os_activity_apply(os_activity_t activity, os_block_t block); void os_activity_end(os_activity_t activity); void os_activity_scope_enter(os_activity_t activity, os_activity_scope_state_t state); void os_activity_scope_leave(os_activity_scope_state_t state); void os_lock_lock(os_lock_t lock); void os_lock_unlock(os_lock_t lock); void os_log_pack_send(os_log_pack_t pack, os_log_t log, os_log_type_t type); void os_log_shim_with_CFString(void *, os_log_type_t, const uint8_t, CFStringRef, va_list args, void *ret_addr); void os_log_with_args(os_log_t oslog, os_log_type_t type, const char *format, va_list args, void *ret_addr); void os_release(void *object); void os_state_remove_handler(os_state_handle_t); void os_unfair_lock_assert_not_owner(os_unfair_lock_t lock); void os_unfair_lock_assert_owner(os_unfair_lock_t lock); void os_unfair_lock_lock_with_options(os_unfair_lock_t lock, os_unfair_lock_options_t options); void os_unfair_lock_lock(os_unfair_lock_t lock); void os_unfair_lock_unlock(os_unfair_lock_t lock); void os_unfair_recursive_lock_lock_with_options(os_unfair_recursive_lock_t lock, os_unfair_lock_options_t options); void os_unfair_recursive_lock_unlock(os_unfair_recursive_lock_t lock); void os_workgroup_cancel(os_workgroup_t wg); void os_workgroup_leave_self(os_workgroup_t wg, os_workgroup_join_token_t token); ================================================ FILE: pthread/Types.h ================================================ #ifndef DARWIN_H_ #define DARWIN_H_ #import "../BaseTypes.h" #ifdef __EA64__ #define __PTHREAD_SIZE__ 8176 #define __PTHREAD_ATTR_SIZE__ 56 #define __PTHREAD_COND_SIZE__ 40 #else #define __PTHREAD_SIZE__ 4088 #define __PTHREAD_ATTR_SIZE__ 36 #define __PTHREAD_COND_SIZE__ 24 #endif struct __darwin_pthread_handler_rec { void (*__routine)(void *); void *__arg; struct __darwin_pthread_handler_rec *__next; }; struct _opaque_pthread_attr_t { long __sig; char __opaque[__PTHREAD_ATTR_SIZE__]; }; struct _opaque_pthread_t { long __sig; struct __darwin_pthread_handler_rec *__cleanup_stack; char __opaque[__PTHREAD_SIZE__]; }; struct _opaque_pthread_mutex_t { int64 __sig; char __opaque[56]; }; typedef _opaque_pthread_mutex_t __darwin_pthread_mutex_t; typedef __darwin_pthread_mutex_t pthread_mutex_t; struct _opaque_pthread_cond_t { long __sig; char __opaque[__PTHREAD_COND_SIZE__]; }; typedef struct _opaque_pthread_cond_t __darwin_pthread_cond_t; typedef __darwin_pthread_cond_t pthread_cond_t; typedef struct pthread_mutexattr_t { int pshared; int kind; int protocol; int robustness; } pthread_mutexattr_t; typedef struct _opaque_pthread_t *__darwin_pthread_t; typedef struct _opaque_pthread_attr_t __darwin_pthread_attr_t; typedef __darwin_pthread_t pthread_t; typedef __darwin_pthread_attr_t pthread_attr_t; #endif ================================================ FILE: pthread/pthread.h ================================================ #import "../Kernel/Types.h" #import "../Darwin/Types.h" #import "Types.h" int pthread_main_np(void); int pthread_attr_set_qos_class_np(pthread_attr_t *__attr, qos_class_t __qos_class, int __relative_priority); int pthread_cond_timedwait_relative_np(pthread_cond_t *cond, pthread_mutex_t *mutex, const struct timespec *abstime); int pthread_getname_np(pthread_t thread, char *name, size_t len); int pthread_is_threaded_np(void); int pthread_key_init_np(int, void (*)(void *)); int pthread_mutexattr_setpolicy_np(pthread_mutexattr_t *, int); int pthread_set_qos_class_self_np(qos_class_t __qos_class, int __relative_priority); int pthread_set_fixedpriority_self(void); int pthread_setname_np(pthread_t thread, const char *name); mach_port_t pthread_mach_thread_np(pthread_t thread); pthread_t pthread_from_mach_thread_np(mach_port_t kernel_thread); pthread_t pthread_main_thread_np(void); size_t pthread_get_stacksize_np(pthread_t t); void *pthread_get_stackaddr_np(pthread_t t); ================================================ FILE: sandbox/Types.h ================================================ #ifndef SANDBOX_H_ #define SANDBOX_H_ #import "../BaseTypes.h" enum sandbox_filter_type { SANDBOX_FILTER_NONE, SANDBOX_FILTER_PATH, SANDBOX_FILTER_GLOBAL_NAME, SANDBOX_FILTER_LOCAL_NAME, SANDBOX_FILTER_APPLEEVENT_DESTINATION, SANDBOX_FILTER_RIGHT_NAME, SANDBOX_FILTER_PREFERENCE_DOMAIN, SANDBOX_FILTER_KEXT_BUNDLE_ID, SANDBOX_FILTER_INFO_TYPE, SANDBOX_FILTER_NOTIFICATION, SANDBOX_FILTER_DESCRIPTOR, SANDBOX_FILTER_FILE_ID, SANDBOX_FILTER_XPC_SERVICE_NAME, SANDBOX_FILTER_IOKIT_CONNECTION, SANDBOX_FILTER_SYSCALL_NUMBER, } sandbox_filter_type; typedef struct sandbox_profile { char *builtin; unsigned char *data; size_t size; } *sandbox_profile_t; typedef struct sandbox_params { const char **params; size_t size; size_t available; } *sandbox_params_t; extern const char *const APP_SANDBOX_READ; extern const char *const APP_SANDBOX_READ_WRITE; extern const enum sandbox_filter_type SANDBOX_CHECK_NO_REPORT; extern const enum sandbox_filter_type SANDBOX_CHECK_CANONICAL; extern const enum sandbox_filter_type SANDBOX_CHECK_NOFOLLOW; extern const enum sandbox_filter_type SANDBOX_CHECK_NO_APPROVAL; #endif ================================================ FILE: sandbox/sandbox.h ================================================ #import "../BaseTypes.h" #import "../Kernel/Types.h" #import "Types.h" char *sandbox_extension_issue_file(const char *extension_class, const char *path, uint32_t flags); char *sandbox_extension_issue_file_to_process(const char *extension_class, const char *path, uint32_t flags, audit_token_t); char *sandbox_extension_issue_mach(const char *ext, const char *name, int reserved, uint32_t flags); char *sandbox_extension_issue_generic(const char *extension_class, uint32_t flags); const char *_amkrtemp(const char *); int sandbox_check(pid_t, const char *operation, enum sandbox_filter_type, ...); int sandbox_check_by_audit_token(audit_token_t, const char *operation, enum sandbox_filter_type, ...); int sandbox_container_path_for_audit_token(char *buffer, size_t bufsize); int sandbox_container_path_for_pid(pid_t, char *buffer, size_t bufsize); int sandbox_extension_release(int64_t extension_handle); int sandbox_init_with_parameters(const char *profile, uint64_t flags, const char *const parameters[], char **errorbuf); int sandbox_apply(sandbox_profile_t); int sandbox_set_param(sandbox_params_t, const char *key, const char *value); int64_t sandbox_extension_consume(const char *extension_token); void sandbox_free_params(sandbox_params_t); void sandbox_free_profile(sandbox_profile_t); sandbox_params_t sandbox_create_params(void); sandbox_profile_t sandbox_compile_file(const char *path, sandbox_params_t, char **error); sandbox_profile_t sandbox_compile_string(const char *data, sandbox_params_t, char **error); ================================================ FILE: sqlite/Types.h ================================================ #ifndef MY_SQLITE_H_ #define MY_SQLITE_H_ typedef long long int sqlite_int64; typedef unsigned long long int sqlite_uint64; typedef sqlite_int64 sqlite3_int64; typedef sqlite_uint64 sqlite3_uint64; typedef struct sqlite3 sqlite3; typedef struct sqlite3_stmt sqlite3_stmt; #endif ================================================ FILE: sqlite/sqlite.h ================================================ #import "Types.h" #import "../BaseTypes.h" int sqlite3_prepare_v3(sqlite3 *db, const char *zSql, int nByte, unsigned int prepFlags, sqlite3_stmt **ppStmt, const char **pzTail); int sqlite3_wal_checkpoint_v2(sqlite3 *db, const char *zDb, int eMode, int *pnLog, int *pnCkpt); int sqlite3_bind_blob64(sqlite3_stmt *, int, const void *, sqlite3_uint64, void(*)(void *)); int sqlite3_close_v2(sqlite3 *); const char *sqlite3_errstr(int); char *sqlite3_expanded_sql(sqlite3_stmt *pStmt); ================================================ FILE: xpc/Types.h ================================================ #ifndef XPC_H_ #define XPC_H_ #import "../Foundation/Types.h" typedef NSObject *xpc_object_t; typedef NSObject *OS_xpc_mach_send; typedef const struct _xpc_type_s *xpc_type_t; typedef struct _xpc_pipe_s *xpc_pipe_t; typedef xpc_object_t xpc_connection_t; typedef xpc_object_t xpc_bundle_t; typedef xpc_object_t xpc_endpoint_t; typedef xpc_object_t xpc_activity_t; typedef void (*xpc_handler_t)(xpc_object_t object); typedef void (*xpc_finalizer_t)(void *value); typedef void (*xpc_activity_handler_t)(xpc_activity_t activity); typedef bool (*xpc_dictionary_applier_t)(const char *key, xpc_object_t value); typedef bool (*xpc_array_applier_t)(size_t index, xpc_object_t value); typedef long xpc_activity_state_t; extern const struct _xpc_type_s _xpc_type_array; extern const struct _xpc_type_s _xpc_type_bool; extern const struct _xpc_type_s _xpc_type_connection; extern const struct _xpc_type_s _xpc_type_dictionary; extern const struct _xpc_type_s _xpc_type_endpoint; extern const struct _xpc_type_s _xpc_type_error; extern const struct _xpc_type_s _xpc_type_string; extern const struct _xpc_type_s _xpc_type_null; #endif ================================================ FILE: xpc/xpc.h ================================================ #import "../BaseTypes.h" #import "../Kernel/Types.h" #import "../Darwin/Types.h" #import "Types.h" xpc_type_t xpc_get_type(xpc_object_t object); xpc_connection_t xpc_connection_create(const char *name, dispatch_queue_t targetq); xpc_connection_t xpc_connection_create_from_endpoint(xpc_endpoint_t endpoint); xpc_connection_t xpc_connection_create_mach_service(const char *name, dispatch_queue_t targetq, uint64_t flags); xpc_connection_t xpc_dictionary_get_remote_connection(xpc_object_t xdict); xpc_connection_t xpc_array_create_connection(xpc_object_t xarray, size_t index); xpc_endpoint_t xpc_endpoint_create(xpc_connection_t connection); xpc_object_t xpc_copy(xpc_object_t object); xpc_object_t xpc_copy_entitlement_for_self(const char *); xpc_object_t xpc_copy_entitlement_for_token(const char *, audit_token_t *); xpc_object_t xpc_create_from_plist(void *data, size_t size); xpc_object_t xpc_data_create(const void *bytes, size_t length); xpc_object_t xpc_data_create_with_dispatch_data(dispatch_data_t ddata); xpc_object_t xpc_connection_send_message_with_reply_sync(xpc_connection_t connection, xpc_object_t message); xpc_object_t xpc_connection_copy_entitlement_value(xpc_connection_t, const char *entitlement); xpc_object_t xpc_dictionary_create(const char *const *keys, xpc_object_t const *values, size_t count); xpc_object_t xpc_dictionary_create_reply(xpc_object_t original); xpc_object_t xpc_dictionary_get_value(xpc_object_t xdict, const char *key); xpc_object_t xpc_dictionary_get_dictionary(xpc_object_t xdict, const char *key); xpc_object_t xpc_dictionary_get_array(xpc_object_t xdict, const char *key); xpc_object_t xpc_array_create(const xpc_object_t *objects, size_t count); xpc_object_t xpc_array_get_value(xpc_object_t xarray, size_t index); xpc_object_t xpc_array_get_dictionary(xpc_object_t xarray, size_t index); xpc_object_t xpc_array_get_array(xpc_object_t xarray, size_t index); xpc_object_t xpc_string_create(const char *string); xpc_object_t xpc_string_create_with_format(const char *fmt, ...); xpc_object_t xpc_string_create_with_format_and_arguments(const char *fmt, va_list ap); xpc_object_t xpc_null_create(void); xpc_object_t xpc_fd_create(int fd); xpc_object_t xpc_date_create(int64_t interval); xpc_object_t xpc_bool_create(bool value); xpc_object_t xpc_double_create(double value); xpc_object_t xpc_int64_create(int64_t value); xpc_object_t xpc_uint64_create(uint64_t value); xpc_object_t xpc_uuid_create(const unsigned char *uuid); xpc_object_t xpc_shmem_create(void *region, size_t length); xpc_object_t xpc_copy_bootstrap(void); xpc_object_t xpc_retain(xpc_object_t); xpc_object_t xpc_activity_copy_criteria(xpc_activity_t activity); xpc_object_t xpc_bundle_get_info_dictionary(xpc_bundle_t bundle); xpc_bundle_t xpc_bundle_create(const char *path, int64 __unk); xpc_activity_state_t xpc_activity_get_state(xpc_activity_t activity); OS_xpc_mach_send *xpc_mach_send_create(mach_port_t); Class xpc_get_class4NSXPC(xpc_type_t type); pid_t xpc_connection_get_pid(xpc_connection_t connection); gid_t xpc_connection_get_egid(xpc_connection_t connection); uid_t xpc_connection_get_euid(xpc_connection_t connection); bool xpc_equal(xpc_object_t object1, xpc_object_t object2); bool xpc_dictionary_apply(xpc_object_t xdict, xpc_dictionary_applier_t applier); bool xpc_dictionary_get_bool(xpc_object_t xdict, const char *key); bool xpc_array_apply(xpc_object_t xarray, xpc_array_applier_t applier); bool xpc_array_get_bool(xpc_object_t xarray, size_t index); bool xpc_bool_get_value(xpc_object_t xbool); bool xpc_activity_set_state(xpc_activity_t activity, xpc_activity_state_t state); bool xpc_activity_should_defer(xpc_activity_t activity); double xpc_dictionary_get_double(xpc_object_t xdict, const char *key); double xpc_array_get_double(xpc_object_t xarray, size_t index); double xpc_double_get_value(xpc_object_t xdouble); int64_t xpc_dictionary_get_date(xpc_object_t xdict, const char *key); int64_t xpc_dictionary_get_int64(xpc_object_t xdict, const char *key); int64_t xpc_array_get_date(xpc_object_t xarray, size_t index); int64_t xpc_array_get_int64(xpc_object_t xarray, size_t index); int64_t xpc_int64_get_value(xpc_object_t xint); int64_t xpc_date_get_value(xpc_object_t xdate); uint64_t xpc_dictionary_get_uint64(xpc_object_t xdict, const char *key); uint64_t xpc_array_get_uint64(xpc_object_t xarray, size_t index); uint64_t xpc_uint64_get_value(xpc_object_t xuint); size_t xpc_dictionary_get_count(xpc_object_t xdict); size_t xpc_array_get_count(xpc_object_t xarray); size_t xpc_data_get_length(xpc_object_t xdata); size_t xpc_string_get_length(xpc_object_t xstring); size_t xpc_shmem_map(xpc_object_t xshmem, void **region); int xpc_pipe_routine(xpc_pipe_t pipe, xpc_object_t request, xpc_object_t* reply); int xpc_dictionary_dup_fd(xpc_object_t xdict, const char *key); int xpc_array_dup_fd(xpc_object_t xarray, size_t index); int xpc_fd_dup(xpc_object_t xfd); int _xpc_runtime_is_app_sandboxed(); mach_port_t xpc_dictionary_copy_mach_send(xpc_object_t, const char *); mach_port_t xpc_mach_send_copy_right(OS_xpc_mach_send *); pointer_t xpc_array_get_pointer(xpc_object_t xarray, size_t index); void xpc_release(xpc_object_t object); void xpc_connection_activate(xpc_connection_t connection); void xpc_connection_resume(xpc_connection_t connection); void xpc_connection_suspend(xpc_connection_t connection); void xpc_connection_cancel(xpc_connection_t connection); void xpc_connection_send_barrier(xpc_connection_t connection, dispatch_block_t barrier); void xpc_connection_send_message(xpc_connection_t connection, xpc_object_t message); void xpc_connection_send_message_with_reply(xpc_connection_t connection, xpc_object_t message, dispatch_queue_t replyq, xpc_handler_t handler); void xpc_connection_send_notification(xpc_connection_t connection, xpc_object_t notification); void xpc_connection_set_context(xpc_connection_t connection, void *context); void xpc_connection_set_event_handler(xpc_connection_t connection, xpc_handler_t handler); void xpc_connection_set_legacy(xpc_connection_t connection); void xpc_connection_set_target_queue(xpc_connection_t connection, dispatch_queue_t targetq); void xpc_connection_set_target_uid(xpc_connection_t connection, uid_t uid); void xpc_connection_set_bootstrap(xpc_connection_t, xpc_object_t bootstrap); void xpc_connection_set_instance(xpc_connection_t, uuid_t); void xpc_connection_set_oneshot_instance(xpc_connection_t, uuid_t instance); void xpc_connection_set_finalizer_f(xpc_connection_t connection, xpc_finalizer_t finalizer); void xpc_connection_set_privileged(xpc_connection_t connection); void xpc_connection_get_audit_token(xpc_connection_t, audit_token_t *); void xpc_connection_kill(xpc_connection_t, int); void xpc_array_append_value(xpc_object_t xarray, xpc_object_t value); void xpc_array_set_double(xpc_object_t xarray, size_t index, double value); void xpc_array_set_int64(xpc_object_t xarray, size_t index, int64_t value); void xpc_array_set_uint64(xpc_object_t xarray, size_t index, uint64_t value); void xpc_array_set_uuid(xpc_object_t xarray, size_t index, const uuid_t uuid); void xpc_array_set_fd(xpc_object_t xarray, size_t index, int fd); void xpc_array_set_string(xpc_object_t xarray, size_t index, const char *string); void xpc_array_set_data(xpc_object_t xarray, size_t index, const void *bytes, size_t length); void xpc_array_set_date(xpc_object_t xarray, size_t index, int64_t value); void xpc_array_set_value(xpc_object_t xarray, size_t index, xpc_object_t value); void xpc_array_set_pointer(xpc_object_t xarray, size_t index, pointer_t value); void xpc_dictionary_send_reply(xpc_object_t xdict); void xpc_dictionary_set_mach_send(xpc_object_t, const char *, mach_port_t); void xpc_dictionary_set_uuid(xpc_object_t xdict, const char *key, const uuid_t uuid); void xpc_dictionary_set_connection(xpc_object_t xdict, const char *key, xpc_connection_t connection); void xpc_dictionary_set_bool(xpc_object_t xdict, const char *key, bool value); void xpc_dictionary_set_double(xpc_object_t xdict, const char *key, double value); void xpc_dictionary_set_string(xpc_object_t xdict, const char *key, const char *string); void xpc_dictionary_set_int64(xpc_object_t xdict, const char *key, int64_t value); void xpc_dictionary_set_uint64(xpc_object_t xdict, const char *key, uint64_t value); void xpc_dictionary_set_data(xpc_object_t xdict, const char *key, const void *bytes, size_t length); void xpc_dictionary_set_date(xpc_object_t xdict, const char *key, int64_t value); void xpc_dictionary_set_value(xpc_object_t xdict, const char *key, xpc_object_t value); void xpc_dictionary_set_fd(xpc_object_t xdict, const char *key, int fd); void xpc_dictionary_set_mach_recv(xpc_object_t xdict, const char *, mach_port_t); void xpc_dictionary_set_mach_send(xpc_object_t xdict, const char *, mach_port_t); void xpc_dictionary_get_audit_token(xpc_object_t xdict, audit_token_t *); void xpc_set_event(const char *stream, const char *key, xpc_object_t event); void xpc_set_event_with_flags(const char *stream, const char *key, xpc_object_t event, uint64_t flags); void xpc_transaction_begin(void); void xpc_transaction_end(void); void xpc_transaction_exit_clean(void); void xpc_track_activity(void); void xpc_activity_register(const char *identifier, xpc_object_t criteria, xpc_activity_handler_t handler); void xpc_activity_unregister(const char *identifier); void xpc_activity_set_criteria(xpc_activity_t activity, xpc_object_t criteria); void xpc_handle_service(const char *service_name, void (*)(xpc_connection_t), int); const uint8_t *xpc_uuid_get_bytes(xpc_object_t xuuid); const void *xpc_data_get_bytes_ptr(xpc_object_t xdata); const void *xpc_dictionary_get_data(xpc_object_t xdict, const char *key, size_t *length); const void *xpc_array_get_data(xpc_object_t xarray, size_t index, size_t *length); void *xpc_connection_get_context(xpc_connection_t connection); char *xpc_activity_copy_identifier(xpc_activity_t activity); char *xpc_copy_description(xpc_object_t object); char *xpc_copy_short_description(xpc_object_t object); const char *xpc_connection_copy_bundle_id(xpc_object_t object); const char *xpc_connection_get_name(xpc_connection_t connection); const char *xpc_dictionary_get_string(xpc_object_t xdict, const char *key); const char *xpc_array_get_string(xpc_object_t xarray, size_t index); const char *xpc_string_get_string_ptr(xpc_object_t); const char *xpc_bundle_get_executable_path(xpc_object_t bundle); const char *xpc_strerror(int error);