21 #ifdef OF_AMIGAOS_M68K
22 # define PPC_PARAMS(...) (void)
23 # define M68K_ARG(type, name, reg) \
24 register type reg##name __asm__(#reg); \
25 type name = reg##name;
27 # define PPC_PARAMS(...) (__VA_ARGS__)
28 # define M68K_ARG(...)
31 extern bool glue_objc_init PPC_PARAMS(
unsigned int version,
struct objc_libc *libc);
32 extern void glue___objc_exec_class PPC_PARAMS(
struct objc_module *_Nonnull module);
33 extern IMP _Nonnull glue_objc_msg_lookup PPC_PARAMS(
id _Nullable
object,
SEL _Nonnull selector);
34 extern IMP _Nonnull glue_objc_msg_lookup_stret PPC_PARAMS(
id _Nullable
object,
SEL _Nonnull selector);
35 extern IMP _Nonnull glue_objc_msg_lookup_super PPC_PARAMS(
struct objc_super *_Nonnull super,
SEL _Nonnull selector);
36 extern IMP _Nonnull glue_objc_msg_lookup_super_stret PPC_PARAMS(
struct objc_super *_Nonnull super,
SEL _Nonnull selector);
37 extern Class _Nullable glue_objc_lookUpClass PPC_PARAMS(
const char *_Nonnull name);
38 extern Class _Nullable glue_objc_getClass PPC_PARAMS(
const char *_Nonnull name);
39 extern Class _Nonnull glue_objc_getRequiredClass PPC_PARAMS(
const char *_Nonnull name);
40 extern Class _Nullable glue_objc_lookup_class PPC_PARAMS(
const char *_Nonnull name);
41 extern Class _Nonnull glue_objc_get_class PPC_PARAMS(
const char *_Nonnull name);
42 extern void glue_objc_exception_throw PPC_PARAMS(
id _Nonnull
object);
43 extern int glue_objc_sync_enter PPC_PARAMS(
id _Nullable
object);
44 extern int glue_objc_sync_exit PPC_PARAMS(
id _Nullable
object);
45 extern id _Nullable glue_objc_getProperty PPC_PARAMS(
id _Nonnull
self,
SEL _Nonnull _cmd, ptrdiff_t offset,
bool atomic);
46 extern void glue_objc_setProperty PPC_PARAMS(
id _Nonnull
self,
SEL _Nonnull _cmd, ptrdiff_t offset,
id _Nullable value,
bool atomic,
signed char copy);
47 extern void glue_objc_getPropertyStruct PPC_PARAMS(
void *_Nonnull dest,
const void *_Nonnull src, ptrdiff_t size,
bool atomic,
bool strong);
48 extern void glue_objc_setPropertyStruct PPC_PARAMS(
void *_Nonnull dest,
const void *_Nonnull src, ptrdiff_t size,
bool atomic,
bool strong);
49 extern void glue_objc_enumerationMutation PPC_PARAMS(
id _Nonnull
object);
50 extern int glue___gnu_objc_personality PPC_PARAMS(
int version,
int actions, uint64_t *_Nonnull exClass,
void *_Nonnull ex,
void *_Nonnull ctx);
51 extern id _Nullable glue_objc_retain PPC_PARAMS(
id _Nullable
object);
52 extern id _Nullable glue_objc_retainBlock PPC_PARAMS(
id _Nullable block);
53 extern id _Nullable glue_objc_retainAutorelease PPC_PARAMS(
id _Nullable
object);
54 extern void glue_objc_release PPC_PARAMS(
id _Nullable
object);
55 extern id _Nullable glue_objc_autorelease PPC_PARAMS(
id _Nullable
object);
56 extern id _Nullable glue_objc_autoreleaseReturnValue PPC_PARAMS(
id _Nullable
object);
57 extern id _Nullable glue_objc_retainAutoreleaseReturnValue PPC_PARAMS(
id _Nullable
object);
58 extern id _Nullable glue_objc_retainAutoreleasedReturnValue PPC_PARAMS(
id _Nullable
object);
59 extern id _Nullable glue_objc_storeStrong PPC_PARAMS(
id _Nullable *_Nonnull
object,
id _Nullable value);
60 extern id _Nullable glue_objc_storeWeak PPC_PARAMS(
id _Nullable *_Nonnull
object,
id _Nullable value);
61 extern id _Nullable glue_objc_loadWeakRetained PPC_PARAMS(
id _Nullable *_Nonnull
object);
62 extern id _Nullable glue_objc_initWeak PPC_PARAMS(
id _Nullable *_Nonnull
object,
id _Nullable value);
63 extern void glue_objc_destroyWeak PPC_PARAMS(
id _Nullable *_Nonnull
object);
64 extern id _Nullable glue_objc_loadWeak PPC_PARAMS(
id _Nullable *_Nonnull
object);
65 extern void glue_objc_copyWeak PPC_PARAMS(
id _Nullable *_Nonnull dest,
id _Nullable *_Nonnull src);
66 extern void glue_objc_moveWeak PPC_PARAMS(
id _Nullable *_Nonnull dest,
id _Nullable *_Nonnull src);
67 extern SEL _Nonnull glue_sel_registerName PPC_PARAMS(
const char *_Nonnull name);
68 extern const char *_Nonnull glue_sel_getName PPC_PARAMS(
SEL _Nonnull selector);
69 extern bool glue_sel_isEqual PPC_PARAMS(
SEL _Nonnull selector1,
SEL _Nonnull selector2);
70 extern Class _Nonnull glue_objc_allocateClassPair PPC_PARAMS(
Class _Nullable superclass,
const char *_Nonnull name,
size_t extraBytes);
71 extern void glue_objc_registerClassPair PPC_PARAMS(
Class _Nonnull
class);
72 extern unsigned int glue_objc_getClassList PPC_PARAMS(
Class _Nonnull *_Nullable buffer,
unsigned int count);
73 extern Class _Nonnull *_Nonnull glue_objc_copyClassList PPC_PARAMS(
unsigned int *_Nullable length);
74 extern bool glue_class_isMetaClass PPC_PARAMS(
Class _Nullable
class);
75 extern const char *_Nullable glue_class_getName PPC_PARAMS(
Class _Nullable
class);
76 extern Class _Nullable glue_class_getSuperclass PPC_PARAMS(
Class _Nullable
class);
77 extern unsigned long glue_class_getInstanceSize PPC_PARAMS(
Class _Nullable
class);
78 extern bool glue_class_respondsToSelector PPC_PARAMS(
Class _Nullable
class,
SEL _Nonnull selector);
79 extern bool glue_class_conformsToProtocol PPC_PARAMS(
Class _Nullable
class,
Protocol *_Nonnull p);
80 extern IMP _Nullable glue_class_getMethodImplementation PPC_PARAMS(
Class _Nullable
class,
SEL _Nonnull selector);
81 extern IMP _Nullable glue_class_getMethodImplementation_stret PPC_PARAMS(
Class _Nullable
class,
SEL _Nonnull selector);
82 extern Method _Nullable glue_class_getInstanceMethod PPC_PARAMS(
Class _Nullable
class,
SEL _Nonnull selector);
83 extern bool glue_class_addMethod PPC_PARAMS(
Class _Nonnull
class,
SEL _Nonnull selector,
IMP _Nonnull implementation,
const char *_Nullable typeEncoding);
84 extern IMP _Nullable glue_class_replaceMethod PPC_PARAMS(
Class _Nonnull
class,
SEL _Nonnull selector,
IMP _Nonnull implementation,
const char *_Nullable typeEncoding);
85 extern Class _Nullable glue_object_getClass PPC_PARAMS(
id _Nullable
object);
86 extern Class _Nullable glue_object_setClass PPC_PARAMS(
id _Nullable
object,
Class _Nonnull
class);
87 extern const char *_Nullable glue_object_getClassName PPC_PARAMS(
id _Nullable
object);
88 extern const char *_Nonnull glue_protocol_getName PPC_PARAMS(
Protocol *_Nonnull protocol);
89 extern bool glue_protocol_isEqual PPC_PARAMS(
Protocol *_Nonnull protocol1,
Protocol *_Nonnull protocol2);
90 extern bool glue_protocol_conformsToProtocol PPC_PARAMS(
Protocol *_Nonnull protocol1,
Protocol *_Nonnull protocol2);
92 extern void glue_objc_setForwardHandler PPC_PARAMS(
IMP _Nullable forward,
IMP _Nullable stretForward);
94 extern id _Nullable glue_objc_constructInstance PPC_PARAMS(
Class _Nullable
class,
void *_Nullable bytes);
95 extern void glue_objc_exit(
void);
96 extern Ivar _Nullable *_Nullable glue_class_copyIvarList PPC_PARAMS(
Class _Nullable
class,
unsigned int *_Nullable outCount);
97 extern const char *_Nonnull glue_ivar_getName PPC_PARAMS(
Ivar _Nonnull ivar);
98 extern const char *_Nonnull glue_ivar_getTypeEncoding PPC_PARAMS(
Ivar _Nonnull ivar);
99 extern ptrdiff_t glue_ivar_getOffset PPC_PARAMS(
Ivar _Nonnull ivar);
100 extern Method _Nullable *_Nullable glue_class_copyMethodList PPC_PARAMS(
Class _Nullable
class,
unsigned int *_Nullable outCount);
101 extern SEL _Nonnull glue_method_getName PPC_PARAMS(
Method _Nonnull method);
102 extern const char *_Nullable glue_method_getTypeEncoding PPC_PARAMS(
Method _Nonnull method);
103 extern objc_property_t _Nullable *_Nullable glue_class_copyPropertyList PPC_PARAMS(
Class _Nullable
class,
unsigned int *_Nullable outCount);
104 extern const char *_Nonnull glue_property_getName PPC_PARAMS(
objc_property_t _Nonnull property);
105 extern char *_Nullable glue_property_copyAttributeValue PPC_PARAMS(
objc_property_t _Nonnull property,
const char *_Nonnull name);
106 extern void *_Nullable glue_objc_destructInstance PPC_PARAMS(
id _Nullable
object);
107 extern void *_Null_unspecified glue_objc_autoreleasePoolPush(
void);
108 extern void glue_objc_autoreleasePoolPop PPC_PARAMS(
void *_Null_unspecified pool);
109 extern id _Nullable glue__objc_rootAutorelease PPC_PARAMS(
id _Nullable
object);
110 extern struct objc_hashtable *_Nonnull glue_objc_hashtable_new PPC_PARAMS(objc_hashtable_hash_func hash, objc_hashtable_equal_func equal, uint32_t size);
111 extern void glue_objc_hashtable_set PPC_PARAMS(
struct objc_hashtable *_Nonnull table,
const void *_Nonnull key,
const void *_Nonnull
object);
112 extern void *_Nullable glue_objc_hashtable_get PPC_PARAMS(
struct objc_hashtable *_Nonnull table,
const void *_Nonnull key);
113 extern void glue_objc_hashtable_delete PPC_PARAMS(
struct objc_hashtable *_Nonnull table,
const void *_Nonnull key);
114 extern void glue_objc_hashtable_free PPC_PARAMS(
struct objc_hashtable *_Nonnull table);
115 extern void glue_objc_setTaggedPointerSecret PPC_PARAMS(uintptr_t secret);
116 extern int glue_objc_registerTaggedPointerClass PPC_PARAMS(
Class _Nonnull
class);
117 extern bool glue_object_isTaggedPointer PPC_PARAMS(
id _Nullable
object);
118 extern uintptr_t glue_object_getTaggedPointerValue PPC_PARAMS(
id _Nonnull
object);
119 extern id _Nullable glue_objc_createTaggedPointer PPC_PARAMS(
int class, uintptr_t value);
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