linker.h (43301) | linker.h (43309) |
---|---|
1/*- 2 * Copyright (c) 1997 Doug Rabson 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * | 1/*- 2 * Copyright (c) 1997 Doug Rabson 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * |
26 * $Id: linker.h,v 1.12 1999/01/25 08:42:24 dfr Exp $ | 26 * $Id: linker.h,v 1.13 1999/01/27 21:50:00 dillon Exp $ |
27 */ 28 29#ifndef _SYS_LINKER_H_ 30#define _SYS_LINKER_H_ 31 32#ifdef KERNEL 33 34#include <machine/elf.h> --- 24 unchanged lines hidden (view full) --- 59 /* 60 * Lookup a symbol in the file's symbol table. If the symbol is 61 * not found then return ENOENT, otherwise zero. If the symbol 62 * found is a common symbol, return with *address set to zero and 63 * *size set to the size of the common space required. Otherwise 64 * set *address the value of the symbol. 65 */ 66 int (*lookup_symbol)(linker_file_t, const char* name, | 27 */ 28 29#ifndef _SYS_LINKER_H_ 30#define _SYS_LINKER_H_ 31 32#ifdef KERNEL 33 34#include <machine/elf.h> --- 24 unchanged lines hidden (view full) --- 59 /* 60 * Lookup a symbol in the file's symbol table. If the symbol is 61 * not found then return ENOENT, otherwise zero. If the symbol 62 * found is a common symbol, return with *address set to zero and 63 * *size set to the size of the common space required. Otherwise 64 * set *address the value of the symbol. 65 */ 66 int (*lookup_symbol)(linker_file_t, const char* name, |
67 linker_sym_t* sym); | 67 c_linker_sym_t* sym); |
68 | 68 |
69 int (*symbol_values)(linker_file_t, linker_sym_t, | 69 int (*symbol_values)(linker_file_t, c_linker_sym_t, |
70 linker_symval_t*); 71 72 int (*search_symbol)(linker_file_t, caddr_t value, | 70 linker_symval_t*); 71 72 int (*search_symbol)(linker_file_t, caddr_t value, |
73 linker_sym_t* sym, long* diffp); | 73 c_linker_sym_t* sym, long* diffp); |
74 75 /* 76 * Unload a file, releasing dependancies and freeing storage. 77 */ 78 void (*unload)(linker_file_t); 79}; 80 81struct common_symbol { --- 106 unchanged lines hidden (view full) --- 188 * Search the linker path for the module. Return the full pathname in 189 * a malloc'ed buffer. 190 */ 191char *linker_search_path(const char *filename); 192 193/* 194 * DDB Helpers, tuned specifically for ddb/db_kld.c 195 */ | 74 75 /* 76 * Unload a file, releasing dependancies and freeing storage. 77 */ 78 void (*unload)(linker_file_t); 79}; 80 81struct common_symbol { --- 106 unchanged lines hidden (view full) --- 188 * Search the linker path for the module. Return the full pathname in 189 * a malloc'ed buffer. 190 */ 191char *linker_search_path(const char *filename); 192 193/* 194 * DDB Helpers, tuned specifically for ddb/db_kld.c 195 */ |
196int linker_ddb_lookup(char *symstr, linker_sym_t *sym); 197int linker_ddb_search_symbol(caddr_t value, linker_sym_t *sym, long *diffp); 198int linker_ddb_symbol_values(linker_sym_t sym, linker_symval_t *symval); | 196int linker_ddb_lookup(const char *symstr, c_linker_sym_t *sym); 197int linker_ddb_search_symbol(caddr_t value, c_linker_sym_t *sym, long *diffp); 198int linker_ddb_symbol_values(c_linker_sym_t sym, linker_symval_t *symval); |
199 200 201#endif /* KERNEL */ 202 203/* 204 * Module information subtypes 205 */ 206#define MODINFO_END 0x0000 /* End of list */ --- 88 unchanged lines hidden --- | 199 200 201#endif /* KERNEL */ 202 203/* 204 * Module information subtypes 205 */ 206#define MODINFO_END 0x0000 /* End of list */ --- 88 unchanged lines hidden --- |