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

FreeBSD Manual Pages

  
 
  

home | help
KSYMS(4)		 BSD Kernel Interfaces Manual		      KSYMS(4)

NAME
     ksyms -- kernel symbol table interface

SYNOPSIS
     pseudo-device ksyms

DESCRIPTION
     The /dev/ksyms character device provides a	read-only interface to the
     current kernel symbol table.  It can be accessed either as	a sequential
     file, where it looks like an executable file but with zero-sized text and
     data segments, or via ioctl(2).

     /dev/ksyms	represents the symbol table at the time	when the device	is
     opened, and may not change	until it is closed.

     The in-kernel symbol manager is designed to be able to handle any type of
     symbol table.  However, only elf(5) symbol	tables are currently dealt
     with.

IOCTLS
     The ioctl(2) command codes	below are defined in <sys/ksyms.h>.

     The (third) argument to the ioctl(2) should be a pointer to the type in-
     dicated.

	   KIOCGSIZE (int)
		   Returns the total size of the current symbol	table.	This
		   should be used when allocating a buffer to read in the
		   whole symbol	table to memory.

	   KIOCGVALUE (struct ksyms_gsymbol)
		   Returns the value for the given symbol name in a symtab-in-
		   dependent fashion.

			 struct	ksyms_gsymbol {
				 const char *kg_name;
				 unsigned long *kg_value;
			 };

		   The struct element kg_name should be	set to the name	of the
		   requested value, and	the address that kg_value points to
		   will	receive	the symbol value.

	   KIOCGSYMBOL (struct ksyms_gsymbol)
		   Returns the complete	symbol for the given symbol name.

			 struct	ksyms_gsymbol {
				 const char *kg_name;
				 void *kg_sym;
			 };

		   The struct element kg_name should be	set to the name	of the
		   requested symbol, and the found symbol will be written to
		   the kg_sym address.	It is the callers responsibility to
		   ensure that enough space for	the symbol is allocated.

FILES
     /dev/ksyms

SEE ALSO
     ioctl(2), nlist(3), elf(5)

HISTORY
     A ksyms device exists in many different operating systems.	 This imple-
     mentation is modelled in function after Solaris ksyms.  This ksyms	driver
     was written by Anders Magnusson for NetBSD.

     The ksyms driver first appeared in	NetBSD 2.0.

BSD			       November	12, 2008			   BSD

NAME | SYNOPSIS | DESCRIPTION | IOCTLS | FILES | SEE ALSO | HISTORY

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=ksyms&sektion=4&manpath=NetBSD+6.0>

home | help