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

FreeBSD Manual Pages

  
 
  

home | help
KLDSYM(2)		      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
       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.

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
			  symbol 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.2		       October 17, 2016			     KLDSYM(2)

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+14.0-RELEASE+and+Ports>

home | help