1 /* Copyright 2013-2016 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 19 struct library; 20 21 /* Mini shared library loader. No reallocation is performed 22 for the sake of simplicity. */ 23 24 /* Load a library. */ 25 26 struct library *load_shlib (const char *file); 27 28 /* Unload a library. */ 29 30 void unload_shlib (struct library *lib); 31 32 /* Lookup the address of FUNC. */ 33 34 int lookup_function (struct library *lib, const char *func, void **addr); 35 36 /* Return the library's loaded text address. */ 37 38 int get_text_addr (struct library *lib, void **text_addr); 39 40 #endif 41