00001 /* 00002 * Copyright (c) 1999 Apple Computer, Inc. All rights reserved. 00003 * 00004 * @APPLE_LICENSE_HEADER_START@ 00005 * 00006 * Portions Copyright (c) 1999 Apple Computer, Inc. All Rights 00007 * Reserved. This file contains Original Code and/or Modifications of 00008 * Original Code as defined in and that are subject to the Apple Public 00009 * Source License Version 1.1 (the "License"). You may not use this file 00010 * except in compliance with the License. Please obtain a copy of the 00011 * License at http://www.apple.com/publicsource and read it before using 00012 * this file. 00013 * 00014 * The Original Code and all software distributed under the License are 00015 * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER 00016 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 00017 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 00018 * FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the 00019 * License for the specific language governing rights and limitations 00020 * under the License. 00021 * 00022 * @APPLE_LICENSE_HEADER_END@ 00023 */ 00024 /* 00025 * objc-load.h 00026 * Copyright 1988-1996, NeXT Software, Inc. 00027 */ 00028 00029 #ifndef _OBJC_LOAD_H_ 00030 #define _OBJC_LOAD_H_ 00031 00032 #import <objc/objc-class.h> 00033 00034 #import <mach-o/loader.h> 00035 00036 /* dynamically loading Mach-O object files that contain Objective-C code */ 00037 00038 OBJC_EXPORT long objc_loadModules ( 00039 char *modlist[], 00040 void *errStream, 00041 void (*class_callback) (Class, Category), 00042 /*headerType*/ struct mach_header **hdr_addr, 00043 char *debug_file 00044 ); 00045 OBJC_EXPORT int objc_loadModule ( 00046 char * moduleName, 00047 void (*class_callback) (Class, Category), 00048 int * errorCode); 00049 OBJC_EXPORT long objc_unloadModules( 00050 void *errorStream, /* input (optional) */ 00051 void (*unloadCallback)(Class, Category) /* input (optional) */ 00052 ); 00053 00054 OBJC_EXPORT void objc_register_header_name( 00055 char *name /* input */ 00056 ); 00057 00058 OBJC_EXPORT void objc_register_header( 00059 char *name /* input */ 00060 ); 00061 00062 00063 #endif /* _OBJC_LOAD_H_ */