#include <sys/param.h>
#include <sys/linker.h> int
kldsym (int fileid int command void *data);
DESCRIPTION
The
kldsym ();
system call returns the address of the symbol specified in
Fa data
in the module specified by
Fa fileid .
If
Fa fileid
is 0, all loaded modules are searched.
Currently, the only
Fa command
implemented is
KLDSYM_LOOKUP
The
Fa 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.
RETURN VALUES
Rv -std kldsym
ERRORS
The
kldsym ();
system call will fail if:
Bq Er EINVAL
Invalid value in
Fa data->version
or
Fa command .
Bq Er ENOENT
The
Fa fileid
argument
is invalid,
or the specified symbol could not be found.