Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
KLDSYM(2)		  FreeBSD System Calls Manual		     KLDSYM(2)

NAME
     kldsym -- look up address by symbol name in a KLD

LIBRARY
     Standard C	Library	(libc, -lc)

SYNOPSIS
     #include <sys/param.h>
     #include <sys/linker.h>

     int
     kldsym(int	fileid,	int cmd, void *data);

DESCRIPTION
     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 mod-
     ules 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.

RETURN VALUES
     The kldsym() function returns the value 0 if successful; otherwise	the
     value -1 is returned and the global variable errno	is set to indicate the
     error.

ERRORS
     The kldsym() system call will fail	if:

     [EINVAL]		Invalid	value in data-_version or cmd.

     [ENOENT]		The fileid argument is invalid,	or the specified sym-
			bol could not be found.

SEE ALSO
     kldfind(2), kldfirstmod(2), kldload(2), kldnext(2), kldunload(2),
     modfind(2), modnext(2), modstat(2), kld(4)

HISTORY
     The kldsym() system call first appeared in	FreeBSD	3.0.

FreeBSD	13.0		       October 17, 2016			  FreeBSD 13.0

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | HISTORY

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=kldsym&sektion=2&manpath=FreeBSD+12.0-RELEASE>

home | help