ObjFW
amiga-glue.h
1 /*
2  * Copyright (c) 2008-2021 Jonathan Schleifer <js@nil.im>
3  *
4  * All rights reserved.
5  *
6  * This file is part of ObjFW. It may be distributed under the terms of the
7  * Q Public License 1.0, which can be found in the file LICENSE.QPL included in
8  * the packaging of this file.
9  *
10  * Alternatively, it may be distributed under the terms of the GNU General
11  * Public License, either version 2 or 3, which can be found in the file
12  * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this
13  * file.
14  */
15 
16 /* This file is automatically generated from library.xml */
17 
18 #import "ObjFWRT.h"
19 #import "private.h"
20 
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;
26 #else
27 # define PPC_PARAMS(...) (__VA_ARGS__)
28 # define M68K_ARG(...)
29 #endif
30 
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);
91 extern _Nullable objc_uncaught_exception_handler_t glue_objc_setUncaughtExceptionHandler PPC_PARAMS(objc_uncaught_exception_handler_t _Nullable handler);
92 extern void glue_objc_setForwardHandler PPC_PARAMS(IMP _Nullable forward, IMP _Nullable stretForward);
93 extern void glue_objc_setEnumerationMutationHandler PPC_PARAMS(objc_enumeration_mutation_handler_t _Nullable hadler);
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