*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> libelfutil/xlate_get_info (3)              
Title
Content
Arch
Section
 

Contents


XLATE_GET_INFO(3E)					    XLATE_GET_INFO(3E)


NAME    [Toc]    [Back]

     xlate_get_info - get recorded overall info

SYNOPSIS    [Toc]    [Back]

     #include <elf.h>
     #include <libelf.h>
     #include <dwarf.h>
     #include <libdwarf.h>
     #include <cmplrs/xlate.h>
     #include <libXlate.h>

     int xlate_get_info(xlate_table_con	con_table_ptr,
       Elf64_Sxword *data_moved,
       Elf64_Addr   *new_low_addr,
       Elf64_Addr   *old_low_addr,
       Elf64_Addr   *new_high_addr,
       Elf64_Addr   *old_high_addr,
       Elf64_Addr   *startup_fwa,
       Elf64_Addr   *startup_lwa,
       Elf64_Xword  *number_of_ranges,
       int	    *old_text_exists,
       int	    *old_text_alloc
       int	    *is64bit
       xlate_tablekind *tablekind
       int	    *version
     );

DESCRIPTION    [Toc]    [Back]

     xlate_get_info is used to get basic values	from the xlate section.
     con_table_ptr must	be a valid open	translate table	handle.	 The other
     arguments are pointers passed in and the pointers are used	to put values
     from the translation table	header into the	pointed-to data	objects.  See
     <cmplrs/xlate.h> for the header field declarations.  The memory that is
     pointed to	by the pointer is what is actually changed.

     Other than	con_table_ptr any of the pointers passed in may	be the null
     pointer (0).  xlate_get_info notices each null pointer and	does not
     attempt to	pass a value back thru a null pointer.

     data_moved
	     is	the number of bytes the	data section was moved by a
	     translation tool (normally	only pixie(1) moves data sections).
	     The value is not the amount the text was moved but	the amount
	     that the data had moved above and beyond text movement.  The
	     movement is important because rld(1) relies on the	distance
	     between text and data being fixed.	 The movement is an important
	     fact in the translation process but the fact is not ordinarily
	     needed by consuming tools or applications.

     new_low_addr
	     is	set to the low pc address of the translated (runnable) text.




									Page 1






XLATE_GET_INFO(3E)					    XLATE_GET_INFO(3E)



     old_low_addr
	     is	set to the low pc address of the original (before translation)
	     text.

     new_high_addr
	     is	set to the high	pc address  (one past the last address
	     actually used) of the translated (runnable) text.

     old_high_addr
	     is	set to the high	pc address  (one past the last address
	     actually used) of the original (before translation) text.

     startup_fwa
	     is	set to the pc address (First Word Address) (in the translated
	     text) of special startup code introduced by a translation tool.
	     pixie is currently	the only tool creating such special startup
	     code.

     startup_lwa
	     is	set to the pc address (Last Word Address) (in the translated
	     text) of the end (actually	one past the last address) of the
	     startup code introduced by	a translation tool.  pixie is
	     currently the only	tool creating such special startup code.

     number_of_ranges
	     is	set to the number of ranges in the translation table.

     old_text_exists
	     is	set to 1 if the	original (untranslated)	text is	present	in the
	     executable	or DSO.	 It is set to 0	if the original	text is	not
	     present.  cord(1)ed DSOs often do not have	the original text
	     present.  pixied applications and DSOs usually do have the
	     original text present.

     old_text_alloc
	     is	set to 1 if the	original text is present and is	marked to be
	     brought into memory automatically on program startup.  Otherwise
	     old_text_alloc is set to 0.  This lets a consuming	application
	     (such as a	debugger) know what it has to do to find the relevant
	     original text image.

     is64bit is	set to 1 if the	xlate file is marked as	64 bit (for a 64 bit
	     application).

     tablekind
	     is	set to one of xlate_tk_general,	xlate_tk_preserve_size,	or
	     xlate_tk_preserve_order.

     version is	set to one of XLATE_TB_MAIN_V1(1), XLATE_TB_COPY_V1(2),
	     XLATE_TB_DEBUG_V1(3), XLATE_TB_OLD_V1(4), XLATE_TB_32_V2(5), or
	     XLATE_TB_64_V2(6).




									Page 2






XLATE_GET_INFO(3E)					    XLATE_GET_INFO(3E)


FILES    [Toc]    [Back]

     /usr/include/libXlate.h
     /usr/include/cmplrs/xlate.h
     /usr/include/elf.h
     /usr/include/dwarf.h
     /usr/include/libdwarf.h
     /usr/lib/libelfutil.a

DIAGNOSTICS    [Toc]    [Back]

     Returns XLATE_TB_STATUS_NO_ERROR (0) on success.  In case of error, a
     negative number is	returned indicating the	error.	In case	of error,
     nothing is	returned thru the pointer arguments which would	return values
     on	successful call	(values	might have been	changed	thru these pointers
     but any such changes are not meaningful).

     XLATE_TB_STATUS_INVALID_TABLE
	     The initial bytes of the structure	pointed	to by
	     consumer_table_ptr	have been corrupted (indicating	malloc(3)
	     arena corruption) or the pointer is not pointing to a valid open
	     consumer table.

SEE ALSO    [Toc]    [Back]

      
      
     libelfutil(5), open(2), xlate(4), xlate_init_fd(3e), xlate_finish(3e),
     xlate_pro_init(3e), xlate_pro_finish(3e), xlate_pro_add_info(3e),
     xlate_address(3e)


									PPPPaaaaggggeeee 3333
[ Back ]
 Similar pages
Name OS Title
xlate_pro_add_info IRIX set recorded overall info
cd_type Tru64 determines the type of file system recorded on a
mvGetTrackDataFieldInfo IRIX get track data info
install-info OpenBSD update info/dir entries
info OpenBSD read Info documents
install-info FreeBSD update info/dir entries
info FreeBSD read Info documents
info Linux read Info documents
dh_installinfo Linux install and register info files
cleanup-info Linux clean up the mess that bogus install-info may have done
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service