xref: /minix3/minix/commands/swifi/extra.h (revision 875abb872412bde4d3ba5da66423f55431e19dcf)
1 /*
2 Compatibility with the linux kernel environment
3 */
4 
5 #include <nlist.h>
6 #include <errno.h>
7 #include <string.h>
8 #include <sys/types.h>
9 
10 #define ElfW(type) Elf_ ## type
11 typedef unsigned long Elf_Addr;
12 typedef unsigned long Elf_Word;
13 
14 void kallsyms_sections(void *infop,
15 	int (*fp)(void *token, const char *modname, const char *secname,
16 	      ElfW(Addr) secstart, ElfW(Addr) secend, ElfW(Word) secflags));
17 
18 void printk(char *fmt, ...);
19 
20 #include "ddb.h"
21 #include "db_machdep.h"
22 int kallsyms_address_to_symbol(db_expr_t off,
23     const char * *mod_name, unsigned long *mod_start, unsigned long *mod_end,
24     const char * *sec_name, unsigned long *sec_start, unsigned long *sec_end,
25     const char * *sym_name, unsigned long *sym_start, unsigned long *sym_end);
26 
27 int read_nlist(const char *filenamer, struct nlist **nlist_table);
28 
29 unsigned long text_read_ul(void *addr);
30 unsigned char text_read_ub(void *addr);
31 void text_write_ul(void *addr, unsigned long value);
32 void text_write_ub(void *addr, unsigned char value);
33 
34 extern pid_t victim_pid;
35 extern char *victim_exe;
36 
37 void load_nlist(char *exe_name, unsigned long *btextp, unsigned long *etextp);
38