ObjFW
morphos-clib.h
1 /* The following function is only for the linklib. */
2 bool glue_objc_init(unsigned int, struct objc_libc *);
3 void glue___objc_exec_class(struct objc_module *);
4 IMP glue_objc_msg_lookup(id, SEL);
5 IMP glue_objc_msg_lookup_stret(id, SEL);
6 IMP glue_objc_msg_lookup_super(struct objc_super *, SEL);
7 IMP glue_objc_msg_lookup_super_stret(struct objc_super *, SEL);
8 Class glue_objc_lookUpClass(const char *);
9 Class glue_objc_getClass(const char *);
10 Class glue_objc_getRequiredClass(const char *);
11 Class glue_objc_lookup_class(const char *);
12 Class glue_objc_get_class(const char *);
13 void glue_objc_exception_throw(id);
14 int glue_objc_sync_enter(id);
15 int glue_objc_sync_exit(id);
16 id glue_objc_getProperty(id, SEL, ptrdiff_t, bool);
17 void glue_objc_setProperty(id, SEL, ptrdiff_t, id, bool, signed char);
18 void glue_objc_getPropertyStruct(void *, const void *, ptrdiff_t, bool, bool);
19 void glue_objc_setPropertyStruct(void *, const void *, ptrdiff_t, bool, bool);
20 void glue_objc_enumerationMutation(id);
21 int glue___gnu_objc_personality(int, int, uint64_t, void *, void *);
22 id glue_objc_retain(id);
23 id glue_objc_retainBlock(id);
24 id glue_objc_retainAutorelease(id);
25 void glue_objc_release(id);
26 id glue_objc_autorelease(id);
27 id glue_objc_autoreleaseReturnValue(id);
28 id glue_objc_retainAutoreleaseReturnValue(id);
29 id glue_objc_retainAutoreleasedReturnValue(id);
30 id glue_objc_storeStrong(id *, id);
31 id glue_objc_storeWeak(id *, id);
32 id glue_objc_loadWeakRetained(id *);
33 id glue_objc_initWeak(id *, id);
34 void glue_objc_destroyWeak(id *);
35 id glue_objc_loadWeak(id *);
36 void glue_objc_copyWeak(id *, id *);
37 void glue_objc_moveWeak(id *, id *);
38 SEL glue_sel_registerName(const char *);
39 const char *glue_sel_getName(SEL);
40 bool glue_sel_isEqual(SEL, SEL);
41 Class glue_objc_allocateClassPair(Class, const char *, size_t);
42 void glue_objc_registerClassPair(Class);
43 unsigned int glue_objc_getClassList(Class *, unsigned int);
44 Class *glue_objc_copyClassList(unsigned int *);
45 bool glue_class_isMetaClass(Class);
46 const char *glue_class_getName(Class);
47 Class glue_class_getSuperclass(Class);
48 unsigned long glue_class_getInstanceSize(Class);
49 bool glue_class_respondsToSelector(Class, SEL);
50 bool glue_class_conformsToProtocol(Class, Protocol *);
51 IMP glue_class_getMethodImplementation(Class, SEL);
52 IMP glue_class_getMethodImplementation_stret(Class, SEL);
53 Method glue_class_getInstanceMethod(Class, SEL);
54 bool glue_class_addMethod(Class, SEL, IMP, const char *);
55 IMP glue_class_replaceMethod(Class, SEL, IMP, const char *);
56 Class glue_object_getClass(id);
57 Class glue_object_setClass(id, Class);
58 const char *glue_object_getClassName(id);
59 const char *glue_protocol_getName(Protocol *);
60 bool glue_protocol_isEqual(Protocol *, Protocol *);
61 bool glue_protocol_conformsToProtocol(Protocol *, Protocol *);
62 objc_uncaught_exception_handler_t glue_objc_setUncaughtExceptionHandler(objc_uncaught_exception_handler_t);
63 void glue_objc_setForwardHandler(IMP, IMP);
64 void glue_objc_setEnumerationMutationHandler(objc_enumeration_mutation_handler_t);
65 id glue_objc_constructInstance(Class, void *);
66 void glue_objc_exit(void);
67 Ivar *glue_class_copyIvarList(Class, unsigned int *);
68 const char *glue_ivar_getName(Ivar);
69 const char *glue_ivar_getTypeEncoding(Ivar);
70 ptrdiff_t glue_ivar_getOffset(Ivar);
71 Method *glue_class_copyMethodList(Class, unsigned int *);
72 SEL glue_method_getName(Method);
73 const char *glue_method_getTypeEncoding(Method);
74 objc_property_t *glue_class_copyPropertyList(Class, unsigned int *);
75 const char *glue_property_getName(objc_property_t);
76 char *glue_property_copyAttributeValue(objc_property_t, const char *);
77 void *glue_objc_destructInstance(id);
78 void *glue_objc_autoreleasePoolPush(void);
79 void glue_objc_autoreleasePoolPop(void *);
80 id glue__objc_rootAutorelease(id);
81 /* The following functions are private! Don't use! */
82 struct objc_hashtable *glue_objc_hashtable_new(objc_hashtable_hash_func, objc_hashtable_equal_func, uint32_t);
83 void glue_objc_hashtable_set(struct objc_hashtable *, const void *, const void *);
84 void *glue_objc_hashtable_get(struct objc_hashtable *, const void *);
85 void glue_objc_hashtable_delete(struct objc_hashtable *, const void *);
86 void glue_objc_hashtable_free(struct objc_hashtable *);
87 /* Public functions again */
88 void glue_objc_setTaggedPointerSecret(uintptr_t);
89 int glue_objc_registerTaggedPointerClass(Class);
90 bool glue_object_isTaggedPointer(id);
91 uintptr_t glue_object_getTaggedPointerValue(id);
92 id glue_objc_createTaggedPointer(int, uintptr_t);
const struct objc_property * objc_property_t
A property.
Definition: ObjFWRT.h:124
id _Nullable(* IMP)(id _Nonnull object, SEL _Nonnull selector,...)
A method implemenation.
Definition: ObjFWRT.h:142
void(* objc_enumeration_mutation_handler_t)(id _Nonnull object)
A handler for mutation during enumeration.
Definition: ObjFWRT.h:156
const struct objc_ivar * Ivar
An instance variable.
Definition: ObjFWRT.h:119
void(* objc_uncaught_exception_handler_t)(id _Nullable exception)
A handler for uncaught exceptions.
Definition: ObjFWRT.h:149
struct objc_class * Class
A pointer to a class.
Definition: ObjFWRT.h:85
const struct objc_method * Method
A method.
Definition: ObjFWRT.h:105
const struct objc_protocol * Protocol
A protocol.
Definition: ObjFWRT.h:113
A struct representing a call to super.
Definition: ObjFWRT.h:161