#import <mach-o/nlist.h>
#import <mach-o/reloc.h>
#import "images.h"
extern void relocate_modules_being_linked(
enum bool launching_with_prebound_libraries);
extern void resolve_external_relocations_in_object_image(
struct object_image *object_image);
extern void local_relocation(
struct image *image);
extern void undo_prebound_lazy_pointers(
struct image *image,
unsigned long PB_LA_PTR_r_type,
enum bool all_lazy_pointers,
unsigned long lazy_pointer_address);
extern enum link_state external_relocation(
struct image *image,
struct relocation_info *relocs,
unsigned long nrelocs,
struct nlist *symbols,
char *strings,
char *library_name,
char *module_name);
extern void undo_external_relocation(
enum bool undo_prebinding,
struct image *image,
struct relocation_info *relocs,
unsigned long nrelocs,
struct nlist *symbols,
char *strings,
char *library_name,
char *module_name);
extern void undo_prebinding_for_library_module(
module_state *module,
struct image *image,
struct library_image *library_image);
extern void make_image_writable(
struct image *image,
char *image_type);
extern void restore_image_vm_protections(
struct image *image,
char *image_type);