|
|
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.