Expand description
Raw bindings to Objective-C runtimes
These bindings contain almost no documentation, so it is highly recommended to read the documentation of the original libraries:
- Apple’s official documentation.
- Apple’s
objc4source code, in particularruntime.h. - GNUStep’s
libobjc2source code, in particularruntime.h.
See also the README.md for more
background information, and for how to configure the desired runtime.
Structs
An opaque type that represents an Objective-C class.
An opaque type that represents an instance variable.
A type that represents a method in a class definition.
Describes an Objective-C method.
An opaque type that represents an object / an instance of a class.
An opaque type that describes a property in a class.
Describes an Objective-C property attribute.
Opaque type for Objective-C protocols.
An opaque type that represents a method selector.
Specifies data used when sending messages to superclasses.
Constants
The maximum value for an NSInteger.
The minimum value for an NSInteger.
The maximum value for an NSUInteger.
Only relevant before macOS 10.13
OBJC_SYNC_SUCCESS
appleOBJC_SYNC_TIMED_OUT
appleOnly relevant before macOS 10.13
Functions
_objc_msgForward⚠
apple_objc_msgForward_stret⚠
apple and non-AArch64class_addIvar⚠Non-
objfwclass_addProperty⚠Non-
objfwclass_addProtocol⚠Non-
objfwclass_copyIvarList⚠Non-
objfwclass_copyMethodList⚠Non-
objfwclass_copyPropertyList⚠Non-
objfwclass_copyProtocolList⚠Non-
objfwclass_createInstance⚠Non-
objfwclass_getClassMethod⚠Non-
objfwclass_getClassVariable⚠Non-
objfwclass_getImageName⚠
appleclass_getInstanceMethod⚠Non-
objfwclass_getInstanceVariable⚠Non-
objfwclass_getIvarLayout⚠Non-
objfwclass_getMethodImplementation_stret⚠
objfw or non-AArch64class_getProperty⚠Non-
objfwclass_getVersion⚠Non-
objfwclass_getWeakIvarLayout⚠
appleclass_replaceProperty⚠Non-
objfwclass_setIvarLayout⚠Non-
objfwclass_setVersion⚠Non-
objfwclass_setWeakIvarLayout⚠
appleimp_getBlock⚠Non-
objfwimp_implementationWithBlock⚠Non-
objfwimp_removeBlock⚠Non-
objfwivar_getName⚠Non-
objfwivar_getOffset⚠Non-
objfwivar_getTypeEncoding⚠Non-
objfwmethod_copyArgumentType⚠Non-
objfwmethod_copyReturnType⚠Non-
objfwmethod_exchangeImplementations⚠Non-
objfwmethod_getArgumentType⚠Non-
objfwmethod_getDescription⚠
applemethod_getImplementation⚠Non-
objfwmethod_getName⚠Non-
objfwmethod_getNumberOfArguments⚠Non-
objfwmethod_getReturnType⚠Non-
objfwmethod_getTypeEncoding⚠Non-
objfwmethod_invoke⚠
applemethod_invoke_stret⚠
apple and non-AArch64method_setImplementation⚠Non-
objfwobjc_addExceptionHandler⚠
apple_new and macOSobjc_allocateProtocol⚠Non-
objfwobjc_autoreleasePoolPop⚠Non-
objfwobjc_autoreleasePoolPush⚠Non-
objfwobjc_begin_catch⚠
gnustep or apple_newobjc_copyImageNames⚠
appleobjc_copyProtocolList⚠Non-
objfwobjc_disposeClassPair⚠Non-
objfwobjc_duplicateClass⚠
appleobjc_end_catch⚠
gnustep or apple_newobjc_enumerationMutation⚠
apple or objfwobjc_exception_rethrow⚠
apple_newobjc_exception_try_enter⚠
apple_oldobjc_exception_try_exit⚠
apple_oldobjc_getAssociatedObject⚠Non-
objfwobjc_getMetaClass⚠Non-
objfwobjc_getProtocol⚠Non-
objfwobjc_msgSend⚠Non-
objfwobjc_msgSendSuper⚠
appleobjc_msgSendSuper_stret⚠
apple and non-AArch64objc_msgSend_fp2ret⚠
apple and x86-64objc_msgSend_fpret⚠Non-
objfw and (x86-64 or x86)objc_msgSend_stret⚠Non-
objfw and non-AArch64objc_msg_lookup⚠
gnustep or objfwobjc_msg_lookup_stret⚠
objfwobjc_msg_lookup_super⚠
gnustep or objfwobjc_registerProtocol⚠Non-
objfwobjc_removeAssociatedObjects⚠Non-
objfwobjc_removeExceptionHandler⚠
apple_new and macOSobjc_setAssociatedObject⚠Non-
objfwobjc_setEnumerationMutationHandler⚠
apple or objfwobjc_setExceptionMatcher⚠
apple_newobjc_setExceptionPreprocessor⚠
apple_newobjc_setForwardHandler⚠
apple or objfwobjc_setUncaughtExceptionHandler⚠
apple_new or objfwobject_getIndexedIvars⚠Non-
objfwobject_getIvar⚠Non-
objfwobject_setIvar⚠Non-
objfwproperty_copyAttributeList⚠Non-
objfwproperty_copyAttributeValue⚠Non-
objfwproperty_getAttributes⚠Non-
objfwproperty_getName⚠Non-
objfwprotocol_addMethodDescription⚠Non-
objfwprotocol_addProperty⚠Non-
objfwprotocol_addProtocol⚠Non-
objfwprotocol_copyMethodDescriptionList⚠Non-
objfwprotocol_copyPropertyList⚠Non-
objfwprotocol_copyProtocolList⚠Non-
objfwprotocol_getMethodDescription⚠Non-
objfwprotocol_getProperty⚠Non-
objfwsel_getUid⚠Non-
objfwsel_isMapped⚠
appleType Definitions
The Objective-C
BOOL type.A nullable pointer to the start of a method implementation.
A signed integer value type.
Describes an unsigned integer.
An immutable pointer to a selector.
A mutable pointer to an object / instance.
objc_exception_handler
apple_new and macOSRemember that this is non-null!
objc_exception_matcher
apple_newRemember that this is non-null!
objc_exception_preprocessor
apple_newRemember that this is non-null!
objc_uncaught_exception_handler
apple_newRemember that this is non-null!