OBJC_EXPORT void objc_msgSend(void /* id self, SEL op, ... */ ) OBJC_EXPORT void objc_msgSendSuper(void /* struct objc_super *super, SEL op, ... */ ) OBJC_EXPORT id objc_msgSend(id self, SEL op, ...) OBJC_EXPORT id objc_msgSendSuper(struct objc_super *super, SEL op, ...) OBJC_EXPORT void objc_msgSend_stret(void /* id self, SEL op, ... */ ) OBJC_EXPORT void objc_msgSendSuper_stret(void /* struct objc_super *super, SEL op, ... */ ) OBJC_EXPORT void objc_msgSend_stret(id self, SEL op, ...) OBJC_EXPORT void objc_msgSendSuper_stret(struct objc_super *super, SEL op, ...) OBJC_EXPORT void objc_msgSend_fpret(void /* id self, SEL op, ... */ ) OBJC_EXPORT void objc_msgSend_fpret(void /* id self, SEL op, ... */ ) OBJC_EXPORT void objc_msgSend_fp2ret(void /* id self, SEL op, ... */ ) OBJC_EXPORT double objc_msgSend_fpret(id self, SEL op, ...) OBJC_EXPORT long double objc_msgSend_fpret(id self, SEL op, ...) OBJC_EXPORT _Complex long double objc_msgSend_fp2ret(id self, SEL op, ...) OBJC_EXPORT void objc_msgSend_fp2ret(id self, SEL op, ...) OBJC_EXPORT void method_invoke(void /* id receiver, Method m, ... */ ) OBJC_EXPORT void method_invoke_stret(void /* id receiver, Method m, ... */ ) OBJC_EXPORT id method_invoke(id receiver, Method m, ...) OBJC_EXPORT void method_invoke_stret(id receiver, Method m, ...) OBJC_EXPORT void _objc_msgForward(void /* id receiver, SEL sel, ... */ ) OBJC_EXPORT void _objc_msgForward_stret(void /* id receiver, SEL sel, ... */ ) OBJC_EXPORT id _objc_msgForward(id receiver, SEL sel, ...) OBJC_EXPORT void _objc_msgForward_stret(id receiver, SEL sel, ...) OBJC_EXPORT id objc_msgSendv(id self, SEL op, size_t arg_size, marg_list arg_frame) OBJC2_UNAVAILABLE; OBJC_EXPORT void objc_msgSendv_stret(void *stretAddr, id self, SEL op, size_t arg_size, marg_list arg_frame) OBJC2_UNAVAILABLE; OBJC_EXPORT double objc_msgSendv_fpret(id self, SEL op, unsigned arg_size, marg_list arg_frame) OBJC2_UNAVAILABLE; OBJC_EXPORT #if !defined(OBJC_EXPORT) # define OBJC_EXPORT OBJC_EXTERN OBJC_VISIBLE OBJC_EXPORT void objc_collect(unsigned long options) OBJC_EXPORT BOOL objc_collectingEnabled(void) OBJC_EXPORT malloc_zone_t *objc_collectableZone(void) OBJC_EXPORT void objc_setCollectionThreshold(size_t threshold) OBJC_EXPORT void objc_setCollectionRatio(size_t ratio) OBJC_EXPORT BOOL objc_atomicCompareAndSwapPtr(id predicate, id replacement, volatile id *objectLocation) OBJC_EXPORT BOOL objc_atomicCompareAndSwapPtrBarrier(id predicate, id replacement, volatile id *objectLocation) OBJC_EXPORT BOOL objc_atomicCompareAndSwapGlobal(id predicate, id replacement, volatile id *objectLocation) OBJC_EXPORT BOOL objc_atomicCompareAndSwapGlobalBarrier(id predicate, id replacement, volatile id *objectLocation) OBJC_EXPORT BOOL objc_atomicCompareAndSwapInstanceVariable(id predicate, id replacement, volatile id *objectLocation) OBJC_EXPORT BOOL objc_atomicCompareAndSwapInstanceVariableBarrier(id predicate, id replacement, volatile id *objectLocation) OBJC_EXPORT id objc_assign_strongCast(id val, id *dest) OBJC_EXPORT id objc_assign_global(id val, id *dest) OBJC_EXPORT id objc_assign_threadlocal(id val, id *dest) OBJC_EXPORT id objc_assign_ivar(id value, id dest, ptrdiff_t offset) OBJC_EXPORT void *objc_memmove_collectable(void *dst, const void *src, size_t size) OBJC_EXPORT id objc_read_weak(id *location) OBJC_EXPORT id objc_assign_weak(id value, id *location) OBJC_EXPORT void objc_registerThreadWithCollector(void) OBJC_EXPORT void objc_unregisterThreadWithCollector(void) OBJC_EXPORT void objc_assertRegisteredThreadWithCollector(void) OBJC_EXPORT void objc_clear_stack(unsigned long options) OBJC_EXPORT BOOL objc_is_finalized(void *ptr) OBJC_EXPORT void objc_finalizeOnMainThread(Class cls) OBJC_EXPORT BOOL objc_collecting_enabled(void) OBJC_EXPORT void objc_set_collection_threshold(size_t threshold) OBJC_EXPORT void objc_set_collection_ratio(size_t ratio) OBJC_EXPORT void objc_start_collector_thread(void) OBJC_EXPORT void objc_startCollectorThread(void) OBJC_EXPORT id objc_allocate_object(Class cls, int extra) OBJC_EXPORT id class_createInstance(Class cls, size_t extraBytes) OBJC_EXPORT void objc_exception_throw(id exception) OBJC_EXPORT void objc_exception_try_enter(void *localExceptionData) OBJC_EXPORT void objc_exception_try_exit(void *localExceptionData) OBJC_EXPORT id objc_exception_extract(void *localExceptionData) OBJC_EXPORT int objc_exception_match(Class exceptionClass, id exception) OBJC_EXPORT void objc_exception_get_functions(objc_exception_functions_t *table) OBJC_EXPORT void objc_exception_set_functions(objc_exception_functions_t *table) OBJC_EXPORT void objc_exception_throw(id exception) OBJC_EXPORT void objc_exception_rethrow(void) OBJC_EXPORT id objc_begin_catch(void *exc_buf) OBJC_EXPORT void objc_end_catch(void) OBJC_EXPORT void objc_terminate(void) OBJC_EXPORT objc_exception_preprocessor objc_setExceptionPreprocessor(objc_exception_preprocessor fn) OBJC_EXPORT objc_exception_matcher objc_setExceptionMatcher(objc_exception_matcher fn) OBJC_EXPORT objc_uncaught_exception_handler objc_setUncaughtExceptionHandler(objc_uncaught_exception_handler fn) OBJC_EXPORT uintptr_t objc_addExceptionHandler(objc_exception_handler fn, void *context) OBJC_EXPORT void objc_removeExceptionHandler(uintptr_t token) OBJC_EXPORT int objc_sync_enter(id obj) OBJC_EXPORT int objc_sync_exit(id obj) OBJC_EXPORT int objc_sync_wait(id obj, long long milliSecondsMaxWait) OBJC_EXPORT int objc_sync_notify(id obj) OBJC_EXPORT int objc_sync_notifyAll(id obj) OBJC_EXPORT const char *sel_getName(SEL sel) OBJC_EXPORT SEL sel_registerName(const char *str) OBJC_EXPORT const char *object_getClassName(id obj) OBJC_EXPORT void *object_getIndexedIvars(id obj) OBJC_EXPORT BOOL sel_isMapped(SEL sel) OBJC_EXPORT SEL sel_getUid(const char *str) OBJC_EXPORT id objc_retainedObject(objc_objectptr_t obj) OBJC_EXPORT id objc_unretainedObject(objc_objectptr_t obj) OBJC_EXPORT objc_objectptr_t objc_unretainedPointer(id obj) OBJC_EXPORT id object_copy(id obj, size_t size) OBJC_EXPORT id object_dispose(id obj) OBJC_EXPORT Class object_getClass(id obj) OBJC_EXPORT Class object_setClass(id obj, Class cls) OBJC_EXPORT BOOL object_isClass(id obj) OBJC_EXPORT const char *object_getClassName(id obj) OBJC_EXPORT void *object_getIndexedIvars(id obj) OBJC_EXPORT id object_getIvar(id obj, Ivar ivar) OBJC_EXPORT void object_setIvar(id obj, Ivar ivar, id value) OBJC_EXPORT void object_setIvarWithStrongDefault(id obj, Ivar ivar, id value) OBJC_EXPORT Ivar object_setInstanceVariable(id obj, const char *name, void *value) OBJC_EXPORT Ivar object_setInstanceVariableWithStrongDefault(id obj, const char *name, void *value) OBJC_EXPORT Ivar object_getInstanceVariable(id obj, const char *name, void **outValue) OBJC_EXPORT Class objc_getClass(const char *name) OBJC_EXPORT Class objc_getMetaClass(const char *name) OBJC_EXPORT Class objc_lookUpClass(const char *name) OBJC_EXPORT Class objc_getRequiredClass(const char *name) OBJC_EXPORT int objc_getClassList(Class *buffer, int bufferCount) OBJC_EXPORT Class *objc_copyClassList(unsigned int *outCount) OBJC_EXPORT const char *class_getName(Class cls) OBJC_EXPORT BOOL class_isMetaClass(Class cls) OBJC_EXPORT Class class_getSuperclass(Class cls) OBJC_EXPORT Class class_setSuperclass(Class cls, Class newSuper) OBJC_EXPORT int class_getVersion(Class cls) OBJC_EXPORT void class_setVersion(Class cls, int version) OBJC_EXPORT size_t class_getInstanceSize(Class cls) OBJC_EXPORT Ivar class_getInstanceVariable(Class cls, const char *name) OBJC_EXPORT Ivar class_getClassVariable(Class cls, const char *name) OBJC_EXPORT Ivar *class_copyIvarList(Class cls, unsigned int *outCount) OBJC_EXPORT Method class_getInstanceMethod(Class cls, SEL name) OBJC_EXPORT Method class_getClassMethod(Class cls, SEL name) OBJC_EXPORT IMP class_getMethodImplementation(Class cls, SEL name) OBJC_EXPORT IMP class_getMethodImplementation_stret(Class cls, SEL name) OBJC_EXPORT BOOL class_respondsToSelector(Class cls, SEL sel) OBJC_EXPORT Method *class_copyMethodList(Class cls, unsigned int *outCount) OBJC_EXPORT BOOL class_conformsToProtocol(Class cls, Protocol *protocol) OBJC_EXPORT Protocol * __unsafe_unretained *class_copyProtocolList(Class cls, unsigned int *outCount) OBJC_EXPORT objc_property_t class_getProperty(Class cls, const char *name) OBJC_EXPORT objc_property_t *class_copyPropertyList(Class cls, unsigned int *outCount) OBJC_EXPORT const uint8_t *class_getIvarLayout(Class cls) OBJC_EXPORT const uint8_t *class_getWeakIvarLayout(Class cls) OBJC_EXPORT BOOL class_addMethod(Class cls, SEL name, IMP imp, OBJC_EXPORT IMP class_replaceMethod(Class cls, SEL name, IMP imp, OBJC_EXPORT BOOL class_addIvar(Class cls, const char *name, size_t size, OBJC_EXPORT BOOL class_addProtocol(Class cls, Protocol *protocol) OBJC_EXPORT BOOL class_addProperty(Class cls, const char *name, const objc_property_attribute_t *attributes, unsigned int attributeCount) OBJC_EXPORT void class_replaceProperty(Class cls, const char *name, const objc_property_attribute_t *attributes, unsigned int attributeCount) OBJC_EXPORT void class_setIvarLayout(Class cls, const uint8_t *layout) OBJC_EXPORT void class_setWeakIvarLayout(Class cls, const uint8_t *layout) OBJC_EXPORT Class objc_getFutureClass(const char *name) OBJC_EXPORT id class_createInstance(Class cls, size_t extraBytes) OBJC_EXPORT id objc_constructInstance(Class cls, void *bytes) OBJC_EXPORT void *objc_destructInstance(id obj) OBJC_EXPORT Class objc_allocateClassPair(Class superclass, const char *name, OBJC_EXPORT void objc_registerClassPair(Class cls) OBJC_EXPORT Class objc_duplicateClass(Class original, const char *name, size_t extraBytes) OBJC_EXPORT void objc_disposeClassPair(Class cls) OBJC_EXPORT SEL method_getName(Method m) OBJC_EXPORT IMP method_getImplementation(Method m) OBJC_EXPORT const char *method_getTypeEncoding(Method m) OBJC_EXPORT unsigned int method_getNumberOfArguments(Method m) OBJC_EXPORT char *method_copyReturnType(Method m) OBJC_EXPORT char *method_copyArgumentType(Method m, unsigned int index) OBJC_EXPORT void method_getReturnType(Method m, char *dst, size_t dst_len) OBJC_EXPORT void method_getArgumentType(Method m, unsigned int index, OBJC_EXPORT struct objc_method_description *method_getDescription(Method m) OBJC_EXPORT IMP method_setImplementation(Method m, IMP imp) OBJC_EXPORT void method_exchangeImplementations(Method m1, Method m2) OBJC_EXPORT const char *ivar_getName(Ivar v) OBJC_EXPORT const char *ivar_getTypeEncoding(Ivar v) OBJC_EXPORT ptrdiff_t ivar_getOffset(Ivar v) OBJC_EXPORT const char *property_getName(objc_property_t property) OBJC_EXPORT const char *property_getAttributes(objc_property_t property) OBJC_EXPORT objc_property_attribute_t *property_copyAttributeList(objc_property_t property, unsigned int *outCount) OBJC_EXPORT char *property_copyAttributeValue(objc_property_t property, const char *attributeName) OBJC_EXPORT Protocol *objc_getProtocol(const char *name) OBJC_EXPORT Protocol * __unsafe_unretained *objc_copyProtocolList(unsigned int *outCount) OBJC_EXPORT BOOL protocol_conformsToProtocol(Protocol *proto, Protocol *other) OBJC_EXPORT BOOL protocol_isEqual(Protocol *proto, Protocol *other) OBJC_EXPORT const char *protocol_getName(Protocol *p) OBJC_EXPORT struct objc_method_description protocol_getMethodDescription(Protocol *p, SEL aSel, BOOL isRequiredMethod, BOOL isInstanceMethod) OBJC_EXPORT struct objc_method_description *protocol_copyMethodDescriptionList(Protocol *p, BOOL isRequiredMethod, BOOL isInstanceMethod, unsigned int *outCount) OBJC_EXPORT objc_property_t protocol_getProperty(Protocol *proto, const char *name, BOOL isRequiredProperty, BOOL isInstanceProperty) OBJC_EXPORT objc_property_t *protocol_copyPropertyList(Protocol *proto, unsigned int *outCount) OBJC_EXPORT objc_property_t *protocol_copyPropertyList2(Protocol *proto, unsigned int *outCount, BOOL isRequiredProperty, BOOL isInstanceProperty) OBJC_EXPORT Protocol * __unsafe_unretained *protocol_copyProtocolList(Protocol *proto, unsigned int *outCount) OBJC_EXPORT Protocol *objc_allocateProtocol(const char *name) OBJC_EXPORT void objc_registerProtocol(Protocol *proto) OBJC_EXPORT void protocol_addMethodDescription(Protocol *proto, SEL name, const char *types, BOOL isRequiredMethod, BOOL isInstanceMethod) OBJC_EXPORT void protocol_addProtocol(Protocol *proto, Protocol *addition) OBJC_EXPORT void protocol_addProperty(Protocol *proto, const char *name, const objc_property_attribute_t *attributes, unsigned int attributeCount, BOOL isRequiredProperty, BOOL isInstanceProperty) OBJC_EXPORT const char **objc_copyImageNames(unsigned int *outCount) OBJC_EXPORT const char *class_getImageName(Class cls) OBJC_EXPORT const char **objc_copyClassNamesForImage(const char *image, OBJC_EXPORT const char *sel_getName(SEL sel) OBJC_EXPORT SEL sel_getUid(const char *str) OBJC_EXPORT SEL sel_registerName(const char *str) OBJC_EXPORT BOOL sel_isEqual(SEL lhs, SEL rhs) OBJC_EXPORT void objc_enumerationMutation(id obj) OBJC_EXPORT void objc_setEnumerationMutationHandler(void (*handler)(id)) OBJC_EXPORT void objc_setForwardHandler(void *fwd, void *fwd_stret) OBJC_EXPORT IMP imp_implementationWithBlock(id block) OBJC_EXPORT id imp_getBlock(IMP anImp) OBJC_EXPORT BOOL imp_removeBlock(IMP anImp) OBJC_EXPORT id objc_loadWeak(id *location) OBJC_EXPORT id objc_storeWeak(id *location, id obj) OBJC_EXPORT void objc_setAssociatedObject(id object, const void *key, id value, objc_AssociationPolicy policy) OBJC_EXPORT id objc_getAssociatedObject(id object, const void *key) OBJC_EXPORT void objc_removeAssociatedObjects(id object) OBJC_EXPORT IMP class_lookupMethod(Class cls, SEL sel) OBJC_EXPORT BOOL class_respondsToMethod(Class cls, SEL sel) OBJC_EXPORT void _objc_flush_caches(Class cls) OBJC_EXPORT id object_copyFromZone(id anObject, size_t nBytes, void *z) OBJC_EXPORT id object_realloc(id anObject, size_t nBytes) OBJC2_UNAVAILABLE; OBJC_EXPORT id object_reallocFromZone(id anObject, size_t nBytes, void *z) OBJC2_UNAVAILABLE; OBJC_EXPORT void *objc_getClasses(void) OBJC2_UNAVAILABLE; OBJC_EXPORT void objc_addClass(Class myClass) OBJC2_UNAVAILABLE; OBJC_EXPORT void objc_setClassHandler(int (*)(const char *)) OBJC2_UNAVAILABLE; OBJC_EXPORT void objc_setMultithreaded (BOOL flag) OBJC2_UNAVAILABLE; OBJC_EXPORT id class_createInstanceFromZone(Class, size_t idxIvars, void *z) OBJC_EXPORT void class_addMethods(Class, struct objc_method_list *) OBJC2_UNAVAILABLE; OBJC_EXPORT void class_removeMethods(Class, struct objc_method_list *) OBJC2_UNAVAILABLE; OBJC_EXPORT void _objc_resolve_categories_for_class(Class cls) OBJC2_UNAVAILABLE; OBJC_EXPORT Class class_poseAs(Class imposter, Class original) OBJC2_UNAVAILABLE; OBJC_EXPORT unsigned int method_getSizeOfArguments(Method m) OBJC2_UNAVAILABLE; OBJC_EXPORT unsigned method_getArgumentInfo(struct objc_method *m, int arg, const char **type, int *offset) OBJC2_UNAVAILABLE; OBJC_EXPORT Class objc_getOrigClass(const char *name) OBJC2_UNAVAILABLE; OBJC_EXPORT struct objc_method_list *class_nextMethodList(Class, void **) OBJC2_UNAVAILABLE; OBJC_EXPORT id (*_alloc)(Class, size_t) OBJC2_UNAVAILABLE; OBJC_EXPORT id (*_copy)(id, size_t) OBJC2_UNAVAILABLE; OBJC_EXPORT id (*_realloc)(id, size_t) OBJC2_UNAVAILABLE; OBJC_EXPORT id (*_dealloc)(id) OBJC2_UNAVAILABLE; OBJC_EXPORT id (*_zoneAlloc)(Class, size_t, void *) OBJC2_UNAVAILABLE; OBJC_EXPORT id (*_zoneRealloc)(id, size_t, void *) OBJC2_UNAVAILABLE; OBJC_EXPORT id (*_zoneCopy)(id, size_t, void *) OBJC2_UNAVAILABLE; OBJC_EXPORT void (*_error)(id, const char *, va_list) OBJC2_UNAVAILABLE;