#ifndef ELFCOPY_H
#define ELFCOPY_H

#include <libelf.h>
#include <libebl.h>
#include <elf.h>
#include <gelf.h>

/*
symbol_filter:
	On input: symbol_filter[i] indicates whether to keep a symbol (1) or to
	          remove it from the symbol table.
    On output: symbol_filter[i] indicates whether a symbol was removed (0) or
	           kept (1) in the symbol table.
*/

void clone_elf(Elf *elf, Elf *newelf,
			   const char *elf_name,
			   const char *newelf_name,
			   bool *symbol_filter,
			   int num_symbols,
               int shady
#ifdef SUPPORT_ANDROID_PRELINK_TAGS
			   , int *prelinked,
			   int *elf_little,
			   long *prelink_addr
#endif
               , bool rebuild_shstrtab,
               bool strip_debug,
               bool dry_run);

#endif/*ELFCOPY_H*/
