1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
/*
Copyright (C) 2015- The University of Notre Dame
This software is distributed under the GNU General Public License.
See the file COPYING for details.
*/
#ifndef ELFHEADER_H
#define ELFHEADER_H
#include <limits.h>
#ifndef PATH_MAX // Hurd
#define PATH_MAX 1024
#endif
/** Get the interpreter (PT_INTERP) for the executable.
*
* @param fd The open file descriptor to the executable.
* @param interp The current interpreter.
* @return 0 on success; -1 + errno on failure.
*/
int elf_get_interp(int fd, char interp[PATH_MAX]);
/** Set the interpreter (PT_INTERP) for the executable.
*
* @param fd The open O_RDWR file descriptor to the executable.
* @param interp The new interpreter.
* @return 0 on success; -1 + errno on failure.
*/
int elf_set_interp(int fd, const char *interp);
#endif /* ELFHEADER_H */
|