|
|
1.1 ! root 1: /* ! 2: * sa_rld() loads the specified object in memory against the specified ! 3: * base file in memory. The output is placed in memory starting at ! 4: * the value of the parameter workmem_addr and the size of the memory ! 5: * used for the output returned indirectly through workmem_size. ! 6: * Initially *workmem_size is the size of the working memory. ! 7: */ ! 8: typedef int sa_rld_t( ! 9: char *basefile_name, /* base file name */ ! 10: struct mach_header *basefile_addr, /* mach header of the base file */ ! 11: ! 12: char *object_name, /* name of the object to load */ ! 13: char *object_addr, /* addr of the object in memory to load */ ! 14: unsigned long object_size, /* size of the object in memory to load */ ! 15: ! 16: char *workmem_addr, /* address of working memory */ ! 17: unsigned long *workmem_size, /* size of working memory (in/out) */ ! 18: ! 19: char *error_buf_addr, /* address of error message buffer */ ! 20: unsigned long error_buf_size, /* size of error message buffer */ ! 21: ! 22: char *malloc_addr, /* address to use for initializing malloc */ ! 23: unsigned long malloc_len); /* length to use for same */ ! 24: ! 25: #ifdef SA_RLD ! 26: extern sa_rld_t sa_rld; ! 27: ! 28: /* ! 29: * These two variables are set in sa_rld() and used in layout_segments() ! 30: * as the place to put the output in memory. ! 31: */ ! 32: extern char *sa_rld_output_addr; ! 33: extern unsigned long sa_rld_output_size; ! 34: #endif /* SA_RLD */ ! 35: ! 36:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.