Penguin
Blame: get_kernel_syms(2)
EditPageHistoryDiffInfoLikePages
Annotated edit history of get_kernel_syms(2) version 4, including all changes. View license author blame.
Rev Author # Line
1 perry 1 GET_KERNEL_SYMS
2 !!!GET_KERNEL_SYMS
3 NAME
4 SYNOPSIS
5 DESCRIPTION
6 RETURN VALUE
7 SEE ALSO
8 BUGS
9 ----
10 !!NAME
11
12
13 get_kernel_syms - retrieve exported kernel and module symbols
14 !!SYNOPSIS
15
16
17 __#include
18 __''table''__);
19 __
20 !!DESCRIPTION
21
22
23 If ''table'' is __NULL__, __get_kernel_syms__
24 returns the number of symbols available for query. Otherwise
25 it fills in a table of structures:
26
27
28 struct kernel_sym
29 {
30 unsigned long value;
31 char name[[60];
32 };
33
34
35 The symbols are interspersed with magic symbols of the form
36 __#__''module-name'' with the kernel having an empty
37 name. The value associated with a symbol of this form is the
38 address at which the module is loaded.
39
40
41 The symbols exported from each module follow their magic
42 module tag and the modules are returned in the reverse order
43 they were loaded.
44 !!RETURN VALUE
45
46
47 Returns the number of symbols returned. There is no possible
48 error return.
49 !!SEE ALSO
50
51
4 perry 52 create_module(2), __init_module__(2),
53 delete_module(2),
54 query_module(2).
1 perry 55 !!BUGS
56
57
58 There is no way to indicate the size of the buffer allocated
59 for ''table''. If symbols have been added to the kernel
60 since the program queried for the symbol table size, memory
61 will be corrupted.
62
63
64 The length of exported symbol names is limited to
65 59.
66
67
68 Because of these limitations, this system call is deprecated
69 in favor of __query_module__.
70 ----
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.