OBJC_EXPORT NXUncaughtExceptionHandler *_NXUncaughtExceptionHandler; OBJC_EXPORT void _NXAddHandler( NXHandler *handler ); OBJC_EXPORT void _NXRemoveHandler( NXHandler *handler ); OBJC_EXPORT OBJC_EXPORT void NXSetExceptionRaiser(NXExceptionRaiser *proc); OBJC_EXPORT NXExceptionRaiser *NXGetExceptionRaiser(void); OBJC_EXPORT NXExceptionRaiser NXDefaultExceptionRaiser; OBJC_EXPORT void NXAllocErrorData(int size, void **data); OBJC_EXPORT void NXResetErrorData(void); OBJC_EXPORT NXHashTable *NXCreateHashTableFromZone (NXHashTablePrototype prototype, unsigned capacity, const void *info, void *z); OBJC_EXPORT NXHashTable *NXCreateHashTable (NXHashTablePrototype prototype, unsigned capacity, const void *info); OBJC_EXPORT void NXFreeHashTable (NXHashTable *table); OBJC_EXPORT void NXEmptyHashTable (NXHashTable *table); OBJC_EXPORT void NXResetHashTable (NXHashTable *table); OBJC_EXPORT BOOL NXCompareHashTables (NXHashTable *table1, NXHashTable *table2); OBJC_EXPORT NXHashTable *NXCopyHashTable (NXHashTable *table); OBJC_EXPORT unsigned NXCountHashTable (NXHashTable *table); OBJC_EXPORT int NXHashMember (NXHashTable *table, const void *data); OBJC_EXPORT void *NXHashGet (NXHashTable *table, const void *data); OBJC_EXPORT void *NXHashInsert (NXHashTable *table, const void *data); OBJC_EXPORT void *NXHashInsertIfAbsent (NXHashTable *table, const void *data); OBJC_EXPORT void *NXHashRemove (NXHashTable *table, const void *data); OBJC_EXPORT NXHashState NXInitHashState(NXHashTable *table); OBJC_EXPORT int NXNextHashState(NXHashTable *table, NXHashState *state, void **data); OBJC_EXPORT uarith_t NXPtrHash(const void *info, const void *data); OBJC_EXPORT uarith_t NXStrHash(const void *info, const void *data); OBJC_EXPORT int NXPtrIsEqual(const void *info, const void *data1, const void *data2); OBJC_EXPORT int NXStrIsEqual(const void *info, const void *data1, const void *data2); OBJC_EXPORT void NXNoEffectFree(const void *info, void *data); OBJC_EXPORT void NXReallyFree(const void *info, void *data); OBJC_EXPORT const NXHashTablePrototype NXPtrPrototype; OBJC_EXPORT const NXHashTablePrototype NXStrPrototype; OBJC_EXPORT const NXHashTablePrototype NXPtrStructKeyPrototype; OBJC_EXPORT const NXHashTablePrototype NXStrStructKeyPrototype; OBJC_EXPORT NXAtom NXUniqueString(const char *buffer); OBJC_EXPORT NXAtom NXUniqueStringWithLength(const char *buffer, int length); OBJC_EXPORT NXAtom NXUniqueStringNoCopy(const char *string); OBJC_EXPORT char *NXCopyStringBuffer(const char *buffer); OBJC_EXPORT char *NXCopyStringBufferFromZone(const char *buffer, void *z); OBJC_EXPORT NXHashTable *NXCreateHashTableFromZone (NXHashTablePrototype prototype, unsigned capacity, const void *info, void *z); OBJC_EXPORT NXHashTable *NXCreateHashTable (NXHashTablePrototype prototype, unsigned capacity, const void *info); OBJC_EXPORT void NXFreeHashTable (NXHashTable *table); OBJC_EXPORT void NXEmptyHashTable (NXHashTable *table); OBJC_EXPORT void NXResetHashTable (NXHashTable *table); OBJC_EXPORT BOOL NXCompareHashTables (NXHashTable *table1, NXHashTable *table2); OBJC_EXPORT NXHashTable *NXCopyHashTable (NXHashTable *table); OBJC_EXPORT unsigned NXCountHashTable (NXHashTable *table); OBJC_EXPORT int NXHashMember (NXHashTable *table, const void *data); OBJC_EXPORT void *NXHashGet (NXHashTable *table, const void *data); OBJC_EXPORT void *NXHashInsert (NXHashTable *table, const void *data); OBJC_EXPORT void *NXHashInsertIfAbsent (NXHashTable *table, const void *data); OBJC_EXPORT void *NXHashRemove (NXHashTable *table, const void *data); OBJC_EXPORT NXHashState NXInitHashState(NXHashTable *table); OBJC_EXPORT int NXNextHashState(NXHashTable *table, NXHashState *state, void **data); OBJC_EXPORT uarith_t NXPtrHash(const void *info, const void *data); OBJC_EXPORT uarith_t NXStrHash(const void *info, const void *data); OBJC_EXPORT int NXPtrIsEqual(const void *info, const void *data1, const void *data2); OBJC_EXPORT int NXStrIsEqual(const void *info, const void *data1, const void *data2); OBJC_EXPORT void NXNoEffectFree(const void *info, void *data); OBJC_EXPORT void NXReallyFree(const void *info, void *data); OBJC_EXPORT const NXHashTablePrototype NXPtrPrototype; OBJC_EXPORT const NXHashTablePrototype NXStrPrototype; OBJC_EXPORT const NXHashTablePrototype NXPtrStructKeyPrototype; OBJC_EXPORT const NXHashTablePrototype NXStrStructKeyPrototype; OBJC_EXPORT NXAtom NXUniqueString(const char *buffer); OBJC_EXPORT NXAtom NXUniqueStringWithLength(const char *buffer, int length); OBJC_EXPORT NXAtom NXUniqueStringNoCopy(const char *string); OBJC_EXPORT char *NXCopyStringBuffer(const char *buffer); OBJC_EXPORT char *NXCopyStringBufferFromZone(const char *buffer, void *z); #if !defined(OBJC_EXPORT) # define OBJC_EXPORT extern "C" # define OBJC_EXPORT extern OBJC_EXPORT void objc_collect_if_needed(unsigned long options); OBJC_EXPORT unsigned int objc_numberAllocated(void); OBJC_EXPORT BOOL objc_collecting_enabled(void); OBJC_EXPORT id objc_allocate_object(Class cls, int extra); OBJC_EXPORT id objc_assign_strongCast(id val, id *dest); OBJC_EXPORT id objc_assign_global(id val, id *dest); OBJC_EXPORT id objc_assign_ivar(id value, id dest, unsigned int offset); OBJC_EXPORT void *objc_memmove_collectable(void *dst, const void *src, size_t size); OBJC_EXPORT BOOL objc_is_finalized(void *ptr); OBJC_EXPORT Ivar object_setInstanceVariable(id, const char *name, void *); OBJC_EXPORT Ivar object_getInstanceVariable(id, const char *name, void **); OBJC_EXPORT id class_createInstance(Class, unsigned idxIvars); OBJC_EXPORT id class_createInstanceFromZone(Class, unsigned idxIvars, void *z); OBJC_EXPORT void class_setVersion(Class, int); OBJC_EXPORT int class_getVersion(Class); OBJC_EXPORT Ivar class_getInstanceVariable(Class, const char *); OBJC_EXPORT Method class_getInstanceMethod(Class, SEL); OBJC_EXPORT Method class_getClassMethod(Class, SEL); OBJC_EXPORT void class_addMethods(Class, struct objc_method_list *); OBJC_EXPORT void class_removeMethods(Class, struct objc_method_list *); OBJC_EXPORT Class class_poseAs(Class imposter, Class original); OBJC_EXPORT unsigned method_getNumberOfArguments(Method); OBJC_EXPORT unsigned method_getSizeOfArguments(Method); OBJC_EXPORT unsigned method_getArgumentInfo(Method m, int arg, const char **type, int *offset); OBJC_EXPORT struct objc_method_list *class_nextMethodList(Class, void **); OBJC_EXPORT void objc_exception_throw(id exception); OBJC_EXPORT void objc_exception_try_enter(void *localExceptionData); OBJC_EXPORT void objc_exception_try_exit(void *localExceptionData); OBJC_EXPORT id objc_exception_extract(void *localExceptionData); OBJC_EXPORT int objc_exception_match(Class exceptionClass, id exception); OBJC_EXPORT void objc_exception_get_functions(objc_exception_functions_t *table); OBJC_EXPORT void objc_exception_set_functions(objc_exception_functions_t *table); OBJC_EXPORT long objc_loadModules ( OBJC_EXPORT int objc_loadModule ( OBJC_EXPORT long objc_unloadModules( OBJC_EXPORT void objc_register_header_name( OBJC_EXPORT void objc_register_header( OBJC_EXPORT id objc_getClass(const char *name); OBJC_EXPORT id objc_getMetaClass(const char *name); OBJC_EXPORT id objc_msgSend(id self, SEL op, ...); OBJC_EXPORT id objc_msgSendSuper(struct objc_super *super, SEL op, ...); OBJC_EXPORT double objc_msgSend_fpret(id self, SEL op, ...); OBJC_EXPORT id objc_msgSend_stret(id self, SEL op, ...); OBJC_EXPORT id objc_msgSendSuper_stret(struct objc_super *super, SEL op, ...); OBJC_EXPORT void objc_msgSend_stret(void * stretAddr, id self, SEL op, ...); OBJC_EXPORT void objc_msgSendSuper_stret(void * stretAddr, struct objc_super *super, SEL op, ...); OBJC_EXPORT id objc_msgSendv(id self, SEL op, unsigned arg_size, marg_list arg_frame); OBJC_EXPORT void objc_msgSendv_stret(void * stretAddr, id self, SEL op, unsigned arg_size, marg_list arg_frame); OBJC_EXPORT double objc_msgSendv_fpret(id self, SEL op, unsigned arg_size, marg_list arg_frame); OBJC_EXPORT int objc_getClassList(Class *buffer, int bufferLen); OBJC_EXPORT void *objc_getClasses(void); OBJC_EXPORT id objc_lookUpClass(const char *name); OBJC_EXPORT id objc_getRequiredClass(const char *name); OBJC_EXPORT void objc_addClass(Class myClass); OBJC_EXPORT void objc_setClassHandler(int (*)(const char *)); OBJC_EXPORT void objc_setMultithreaded (BOOL flag); OBJC_EXPORT id (*_alloc)(Class, unsigned int); OBJC_EXPORT id (*_copy)(id, unsigned int); OBJC_EXPORT id (*_realloc)(id, unsigned int); OBJC_EXPORT id (*_dealloc)(id); OBJC_EXPORT id (*_zoneAlloc)(Class, unsigned int, void *); OBJC_EXPORT id (*_zoneRealloc)(id, unsigned int, void *); OBJC_EXPORT id (*_zoneCopy)(id, unsigned int, void *); OBJC_EXPORT void (*_error)(id, const char *, va_list); OBJC_EXPORT int objc_sync_enter(id obj); OBJC_EXPORT int objc_sync_exit(id obj); OBJC_EXPORT int objc_sync_wait(id obj, long long milliSecondsMaxWait); OBJC_EXPORT int objc_sync_notify(id obj); OBJC_EXPORT int objc_sync_notifyAll(id obj); #import // for OBJC_EXPORT OBJC_EXPORT BOOL sel_isMapped(SEL sel); OBJC_EXPORT const char *sel_getName(SEL sel); OBJC_EXPORT SEL sel_getUid(const char *str); OBJC_EXPORT SEL sel_registerName(const char *str); OBJC_EXPORT const char *object_getClassName(id obj); OBJC_EXPORT void *object_getIndexedIvars(id obj); OBJC_EXPORT id object_dispose(Object *anObject); OBJC_EXPORT id object_copy(Object *anObject, unsigned nBytes); OBJC_EXPORT id object_copyFromZone(Object *anObject, unsigned nBytes, void *z); OBJC_EXPORT id object_realloc(Object *anObject, unsigned nBytes); OBJC_EXPORT id object_reallocFromZone(Object *anObject, unsigned nBytes, void *z);