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

FreeBSD Manual Pages

  
 
  

home | help
DWARF_GET_TYPES(3)	 BSD Library Functions Manual	    DWARF_GET_TYPES(3)

NAME
     dwarf_get_types, dwarf_type_cu_offset, dwarf_type_die_offset,
     dwarf_type_name_offsets, dwarf_typename --	retrieve information about
     user-defined types

LIBRARY
     DWARF Access Library (libdwarf, -ldwarf)

SYNOPSIS
     #include <libdwarf.h>

     int
     dwarf_get_types(Dwarf_Debug dbg, Dwarf_Type **types,
	 Dwarf_Signed *ntypes, Dwarf_Error *err);

     int
     dwarf_type_cu_offset(Dwarf_Type type, Dwarf_Off *cu_offset,
	 Dwarf_Error *err);

     int
     dwarf_type_die_offset(Dwarf_Type type, Dwarf_Off *die_offset,
	 Dwarf_Error *err);

     int
     dwarf_type_name_offsets(Dwarf_Type	type, char **name,
	 Dwarf_Off *die_offset,	Dwarf_Off *cu_die_offset, Dwarf_Error *err);

     int
     dwarf_typename(Dwarf_Type type, char **name, Dwarf_Error *err);

DESCRIPTION
     These APIs	retrieve information about user-defined	types from the SGI-
     specific ".debug_typenames" section.

     Standards-conformant applications should use the functions
     dwarf_get_pubtypes(3), dwarf_pubtype_cu_offset(3),
     dwarf_pubtype_die_offset(3), dwarf_pubtype_name_offsets(3)	and
     dwarf_pubtypename(3), which operate on the	equivalent ".debug_pubtypes"
     section defined by	the DWARF3 standard.

     Information about user-defined types is returned using opaque descriptors
     of	type Dwarf_Type.  Applications need to use the functions described be-
     low to retrieve the name and offset information contained in these	de-
     scriptors.

     Function dwarf_get_types()	retrieves descriptors for all user-defined
     types associated with the DWARF debug context specified by	argument dbg.
     The argument types	should point to	a location that	will be	set to a
     pointer to	an array of Dwarf_Type descriptors.  The argument ntypes
     should point to a location	that will be set to the	number of descriptors
     returned.

     Function dwarf_type_cu_offset() returns the offset, relative to the
     ".debug_info" section, of the compilation unit that contains the debug-
     ging information entry associated with the	argument type.	Argument
     cu_offset should point to a location that will hold the returned offset.

     Function dwarf_type_die_offset() retrieves	the offset, relative to	the
     ".debug_info" section, of the debugging information entry associated with
     the argument type,	and stores it into the location	pointed	to by the ar-
     gument die_offset.

     Function dwarf_type_name_offsets()	retrieves the name and offsets for the
     debugging information entry for argument type.  Argument name should
     point to a	location which will be set to a	pointer	to a NUL-terminated
     string containing the name	of the associated debugging information	entry.
     Argument die_offset should	point to a location which will be set to the
     offset, relative to the ".debug_info" section, of the associated debug-
     ging information entry.  Argument cu_die_offset should point to a loca-
     tion which	will be	set to a offset, relative to the ".debug_info" sec-
     tion, of the first	debugging information entry in the compilation unit
     associated	with argument type.

     Function dwarf_typename() sets the	location pointed to by argument	name
     to	a pointer to a NUL-terminated string holding the name of the debugging
     information entry associated with the argument type.

   Memory Management
     The memory	area used for the array	of Dwarf_Type descriptors returned in
     argument types by function	dwarf_get_types() is owned by the DWARF	Access
     Library (libdwarf,	-ldwarf).  Application code should not attempt to di-
     rectly free this pointer.	Portable code should instead use the function
     dwarf_types_dealloc(3) to indicate	that the memory	area may be freed.

     The memory	area used for the string returned in the name argument to
     functions dwarf_type_name_offsets() and dwarf_typename() is owned by the
     DWARF Access Library (libdwarf, -ldwarf).	Portable code should indicate
     that the memory area can be freed using the dwarf_dealloc(3) function.

   Error Returns
     If	argument err is	not NULL, these	functions will use it to store error
     information, in case of an	error.

RETURN VALUES
     On	success, these functions returns DW_DLV_OK.  In	case of	an error, they
     return DW_DLV_ERROR and set the argument err.

ERRORS
     These functions may fail with the following errors:

     [DW_DLE_ARGUMENT]	One of the arguments cu_die_offset, cu_offset, dbg,
			die_offset, type, types, name, or ntypes was NULL.

     [DW_DLE_NO_ENTRY]	The DWARF debugging context referenced by argument dbg
			did not	contain	information about user-defined types.

SEE ALSO
     dwarf(3), dwarf_get_cu_die_offset_given_cu_header_offset(3),
     dwarf_get_pubtypes(3), dwarf_pubtype_cu_offset(3),
     dwarf_pubtype_die_offset(3), dwarf_pubtype_name_offsets(3),
     dwarf_pubtypename(3), dwarf_types_dealloc(3)

BSD				April 10, 2011				   BSD

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

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

home | help