25 extern bool glue_objc_init(
unsigned int version,
struct objc_linklib_context *_Nonnull ctx);
26 extern void glue___objc_exec_class(
struct objc_module *_Nonnull module);
27 extern IMP _Nonnull glue_objc_msg_lookup(
id _Nullable
object,
SEL _Nonnull selector);
28 extern IMP _Nonnull glue_objc_msg_lookup_stret(
id _Nullable
object,
SEL _Nonnull selector);
29 extern IMP _Nonnull glue_objc_msg_lookup_super(
struct objc_super *_Nonnull super,
SEL _Nonnull selector);
30 extern IMP _Nonnull glue_objc_msg_lookup_super_stret(
struct objc_super *_Nonnull super,
SEL _Nonnull selector);
31 extern Class _Nullable glue_objc_lookUpClass(
const char *_Nonnull name);
32 extern Class _Nullable glue_objc_getClass(
const char *_Nonnull name);
33 extern Class _Nonnull glue_objc_getRequiredClass(
const char *_Nonnull name);
34 extern Class _Nullable glue_objc_lookup_class(
const char *_Nonnull name);
35 extern Class _Nonnull glue_objc_get_class(
const char *_Nonnull name);
36 extern void glue_objc_exception_throw(
id _Nonnull
object);
37 extern int glue_objc_sync_enter(
id _Nullable
object);
38 extern int glue_objc_sync_exit(
id _Nullable
object);
39 extern id _Nullable glue_objc_getProperty(
id _Nonnull
self,
SEL _Nonnull _cmd, ptrdiff_t offset,
bool atomic);
40 extern void glue_objc_setProperty(
id _Nonnull
self,
SEL _Nonnull _cmd, ptrdiff_t offset,
id _Nullable value,
bool atomic,
signed char copy);
41 extern void glue_objc_getPropertyStruct(
void *_Nonnull dest,
const void *_Nonnull src, ptrdiff_t size,
bool atomic,
bool strong);
42 extern void glue_objc_setPropertyStruct(
void *_Nonnull dest,
const void *_Nonnull src, ptrdiff_t size,
bool atomic,
bool strong);
43 extern void glue_objc_enumerationMutation(
id _Nonnull
object);
44 extern int glue___gnu_objc_personality_v0(
int version,
int actions, uint64_t _Nonnull exClass,
void *_Nonnull ex,
void *_Nonnull ctx);
45 extern id _Nullable glue_objc_retain(
id _Nullable
object);
46 extern id _Nullable glue_objc_retainBlock(
id _Nullable block);
47 extern id _Nullable glue_objc_retainAutorelease(
id _Nullable
object);
48 extern void glue_objc_release(
id _Nullable
object);
49 extern id _Nullable glue_objc_autorelease(
id _Nullable
object);
50 extern id _Nullable glue_objc_autoreleaseReturnValue(
id _Nullable
object);
51 extern id _Nullable glue_objc_retainAutoreleaseReturnValue(
id _Nullable
object);
52 extern id _Nullable glue_objc_retainAutoreleasedReturnValue(
id _Nullable
object);
53 extern id _Nullable glue_objc_storeStrong(
id _Nullable *_Nonnull
object,
id _Nullable value);
54 extern id _Nullable glue_objc_storeWeak(
id _Nullable *_Nonnull
object,
id _Nullable value);
55 extern id _Nullable glue_objc_loadWeakRetained(
id _Nullable *_Nonnull
object);
56 extern id _Nullable glue_objc_initWeak(
id _Nullable *_Nonnull
object,
id _Nullable value);
57 extern void glue_objc_destroyWeak(
id _Nullable *_Nonnull
object);
58 extern id _Nullable glue_objc_loadWeak(
id _Nullable *_Nonnull
object);
59 extern void glue_objc_copyWeak(
id _Nullable *_Nonnull dest,
id _Nullable *_Nonnull src);
60 extern void glue_objc_moveWeak(
id _Nullable *_Nonnull dest,
id _Nullable *_Nonnull src);
61 extern SEL _Nonnull glue_sel_registerName(
const char *_Nonnull name);
62 extern const char *_Nonnull glue_sel_getName(
SEL _Nonnull selector);
63 extern bool glue_sel_isEqual(
SEL _Nonnull selector1,
SEL _Nonnull selector2);
64 extern Class _Nonnull glue_objc_allocateClassPair(Class _Nullable superclass,
const char *_Nonnull name,
size_t extraBytes);
65 extern void glue_objc_registerClassPair(Class _Nonnull class_);
66 extern unsigned int glue_objc_getClassList(Class _Nonnull *_Nullable buffer,
unsigned int count);
67 extern Class _Nonnull *_Nonnull glue_objc_copyClassList(
unsigned int *_Nullable length);
68 extern bool glue_class_isMetaClass(Class _Nullable class_);
69 extern const char *_Nullable glue_class_getName(Class _Nullable class_);
70 extern Class _Nullable glue_class_getSuperclass(Class _Nullable class_);
71 extern unsigned long glue_class_getInstanceSize(Class _Nullable class_);
72 extern bool glue_class_respondsToSelector(Class _Nullable class_,
SEL _Nonnull selector);
73 extern bool glue_class_conformsToProtocol(Class _Nullable class_,
Protocol *_Nonnull p);
74 extern IMP _Nullable glue_class_getMethodImplementation(Class _Nullable class_,
SEL _Nonnull selector);
75 extern IMP _Nullable glue_class_getMethodImplementation_stret(Class _Nullable class_,
SEL _Nonnull selector);
76 #if defined(OF_MORPHOS)
77 extern const char *_Nullable glue__class_getMethodTypeEncoding(Class _Nullable class_,
SEL _Nonnull selector);
79 extern bool glue_class_addMethod(Class _Nonnull class_,
SEL _Nonnull selector,
IMP _Nonnull implementation,
const char *_Nullable typeEncoding);
80 extern IMP _Nullable glue_class_replaceMethod(Class _Nonnull class_,
SEL _Nonnull selector,
IMP _Nonnull implementation,
const char *_Nullable typeEncoding);
81 extern Class _Nullable glue_object_getClass(
id _Nullable
object);
82 extern Class _Nullable glue_object_setClass(
id _Nullable
object, Class _Nonnull class_);
83 extern const char *_Nullable glue_object_getClassName(
id _Nullable
object);
84 extern const char *_Nonnull glue_protocol_getName(
Protocol *_Nonnull protocol);
85 extern bool glue_protocol_isEqual(
Protocol *_Nonnull protocol1,
Protocol *_Nonnull protocol2);
86 extern bool glue_protocol_conformsToProtocol(
Protocol *_Nonnull protocol1,
Protocol *_Nonnull protocol2);
88 extern void glue_objc_setForwardHandler(
IMP _Nullable forward,
IMP _Nullable stretForward);
90 #if defined(OF_MORPHOS)
91 extern void glue__objc_zeroWeakReferences(
id _Nullable value);
93 extern void glue_objc_deinit(
void);
94 extern Ivar _Nullable *_Nullable glue_class_copyIvarList(Class _Nullable class_,
unsigned int *_Nullable outCount);
95 extern const char *_Nonnull glue_ivar_getName(
Ivar _Nonnull ivar);
96 extern const char *_Nonnull glue_ivar_getTypeEncoding(
Ivar _Nonnull ivar);
97 extern ptrdiff_t glue_ivar_getOffset(
Ivar _Nonnull ivar);
98 extern void glue_class_registerAlias_np(Class _Nonnull class_,
const char *_Nonnull name);
99 extern Method _Nullable glue_class_getInstanceMethod(Class _Nullable class_,
SEL _Nonnull selector);
100 extern Method _Nullable *_Nullable glue_class_copyMethodList(Class _Nullable class_,
unsigned int *_Nullable outCount);
101 extern SEL _Nonnull glue_method_getName(
Method _Nonnull method);
102 extern const char *_Nullable glue_method_getTypeEncoding(
Method _Nonnull method);
103 extern objc_property_t _Nullable *_Nullable glue_class_copyPropertyList(Class _Nullable class_,
unsigned int *_Nullable outCount);
104 extern const char *_Nonnull glue_property_getName(
objc_property_t _Nonnull property);
105 extern char *_Nullable glue_property_copyAttributeValue(
objc_property_t _Nonnull property,
const char *_Nonnull name);
106 extern id _Nullable glue_objc_constructInstance(Class _Nullable class_,
void *_Nullable bytes);
107 extern void *_Nullable glue_objc_destructInstance(
id _Nullable
object);
108 extern id _Nullable glue_class_createInstance(Class _Nullable class_,
size_t extraBytes);
109 extern id _Nullable glue_object_dispose(
id _Nullable
object);
110 extern id _Nonnull glue__objc_rootRetain(
id _Nonnull
object);
111 extern unsigned int glue__objc_rootRetainCount(
id _Nonnull
object);
112 extern void glue__objc_rootRelease(
id _Nonnull
object);
113 extern void *_Null_unspecified glue_objc_autoreleasePoolPush(
void);
114 extern void glue_objc_autoreleasePoolPop(
void *_Null_unspecified pool);
115 extern id _Nullable glue__objc_rootAutorelease(
id _Nullable
object);
116 extern void glue_objc_setTaggedPointerSecret(uintptr_t secret);
117 extern int glue_objc_registerTaggedPointerClass(Class _Nonnull class_);
118 extern bool glue_object_isTaggedPointer(
id _Nullable
object);
119 extern uintptr_t glue_object_getTaggedPointerValue(
id _Nonnull
object);
120 extern id _Nullable glue_objc_createTaggedPointer(
int class_, uintptr_t value);
121 extern void glue_objc_setAssociatedObject(
id _Nonnull
object,
const void *_Nonnull key,
id _Nullable value,
objc_associationPolicy policy);
122 extern id _Nullable glue_objc_getAssociatedObject(
id _Nonnull
object,
const void *_Nonnull key);
123 extern void glue_objc_removeAssociatedObjects(
id _Nonnull
object);
const struct objc_property * objc_property_t
A property.
Definition: ObjFWRT.h:128
id(* IMP)(id object, SEL selector,...)
A method implementation.
Definition: ObjFWRT.h:146
const struct objc_ivar * Ivar
An instance variable.
Definition: ObjFWRT.h:123
void(* objc_uncaught_exception_handler)(id exception)
A handler for uncaught exceptions.
Definition: ObjFWRT.h:153
void(* objc_enumeration_mutation_handler)(id object)
A handler for mutation during enumeration.
Definition: ObjFWRT.h:160
const struct objc_method * Method
A method.
Definition: ObjFWRT.h:109
const struct objc_protocol * Protocol
A protocol.
Definition: ObjFWRT.h:117
objc_associationPolicy
A policy for object association, see objc_setAssociatedObject.
Definition: ObjFWRT.h:183
A struct representing a call to super.
Definition: ObjFWRT.h:165