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
 |