kldsym (2)
Leading comments
Copyright (c) 2001 Chris Costello <chris@FreeBSD.org> All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the docu...
NAME
kldsym - look up address by symbol name in a KLDLIBRARY
Lb libcSYNOPSIS
In sys/param.h In sys/linker.h Ft int Fn kldsym int fileid int command void *dataDESCRIPTION
The Fn 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_LOOKUPThe 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 Fn kldsym to Fn 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 Fn kldsym and contain the address associated with symname and the size of the data it points to, respectively.
RETURN VALUES
Rv -std kldsymERRORS
The Fn 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.