24 lines
		
	
	
		
			580 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			580 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
| Copyright (C) 2015-2019 The University of Notre Dame
 | |
| This software is distributed under the GNU General Public License.
 | |
| See the file LICENSE for details.
 | |
| */
 | |
| 
 | |
| #ifndef ELF_H
 | |
| #define ELF_H
 | |
| 
 | |
| #include "kernel/types.h"
 | |
| #include "process.h"
 | |
| #include "fs.h"
 | |
| 
 | |
| /*
 | |
| elf_load opens the given filename, and if it contains a valid
 | |
| ELF executable, allocates space in the current process' pagetable,
 | |
| loads the text, data, and bss into memory, and updates the 
 | |
| entry point value in the current process structure.
 | |
| */
 | |
| 
 | |
| int elf_load(struct process *p, struct fs_dirent *d, addr_t * entry);
 | |
| 
 | |
| #endif
 |