The
kldsym()
system call returns the address of the symbol specified in
data
in the module specified by
fileid.
If
fileid
is 0, all loaded modules are searched.
Currently, the only
cmd
implemented is
KLDSYM_LOOKUP.
The
data
argument is of the following structure:
struct kld_sym_lookup {
int version; /* sizeof(struct kld_sym_lookup) */
char *symname; /* Symbol name we are looking up */
u_long symvalue;
size_t symsize;
};
The
version
member is to be set
by the code calling
kldsym()
to
sizeof(struct kld_sym_lookup).
The next two members,
version
and
symname,
are specified by the user.
The last two,
symvalue
and
symsize,
are filled in by
kldsym()
and contain the address associated with
symname
and the size of the data it points to, respectively.