1/* Copyright 2013-2020 Free Software Foundation, Inc. 2 This program is free software; you can redistribute it and/or modify 3 it under the terms of the GNU General Public License as published by 4 the Free Software Foundation; either version 3 of the License, or 5 (at your option) any later version. 6 7 This program is distributed in the hope that it will be useful, 8 but WITHOUT ANY WARRANTY; without even the implied warranty of 9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 GNU General Public License for more details. 11 12 You should have received a copy of the GNU General Public License 13 along with this program. If not, see <http://www.gnu.org/licenses/>. 14*/ 15 16#ifndef __SYM_FILE_LOADER__ 17#define __SYM_FILE_LOADER__ 18 19struct library; 20 21/* Mini shared library loader. No reallocation is performed 22 for the sake of simplicity. */ 23 24/* Load a library. */ 25 26struct library *load_shlib (const char *file); 27 28/* Unload a library. */ 29 30void unload_shlib (struct library *lib); 31 32/* Lookup the address of FUNC. */ 33 34int lookup_function (struct library *lib, const char *func, void **addr); 35 36/* Return the library's loaded text address. */ 37 38int get_text_addr (struct library *lib, void **text_addr); 39 40#endif 41