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

  man pages->Tru64 Unix man pages -> st_obj_calls (3)              
Title
Content
Arch
Section
 

st_obj_calls(3)

Contents


NAME    [Toc]    [Back]

       st_is_obj_call_shared,                   st_is_obj_shared,
       st_is_obj_stripped,   st_obj_bss_size,   st_obj_bss_start,
       st_obj_data_size,    st_obj_data_start,   st_obj_libnames,
       st_obj_mem_addr, st_obj_name,  st_obj_path,  st_obj_rpath,
       st_obj_soname,  st_obj_text_size, st_obj_text_start - general
 calls for accessing information about an object file

SYNOPSIS    [Toc]    [Back]

       #include <st.h>

       st_status_t st_is_obj_call_shared(
               st_obj_t *obj,
               st_bool_t *cs ); st_status_t st_is_obj_shared(
               st_obj_t *obj,
               st_bool_t       *shared       );       st_status_t
       st_is_obj_stripped(
               st_obj_t *obj,
               st_bool_t       *stripped      );      st_status_t
       st_obj_bss_size(
               st_obj_t *obj,
               unsigned    long     *bsize     );     st_status_t
       st_obj_bss_start(
               st_obj_t *obj,
               st_addr_t *bss ); st_status_t st_obj_data_size(
               st_obj_t *obj,
               unsigned     long     *dsize     );    st_status_t
       st_obj_data_start(
               st_obj_t *obj,
               st_addr_t *data ); st_status_t st_obj_libnames(
               st_obj_t *obj,
               [char **list],
               int *count ); st_status_t st_obj_mem_addr(
               st_obj_t *obj,
               st_addr_t file_addr,
               st_addr_t *mem_addr ); st_status_t st_obj_name(
               st_obj_t *obj,
               char *name ); st_status_t st_obj_path(
               st_obj_t *obj,
               char **path ); st_status_t st_obj_rpath(
               st_obj_t *obj,
               char **rpath ); st_status_t st_obj_soname(
               st_obj_t *obj,
               char **soname ); st_status_t st_obj_text_size(
               st_obj_t *obj,
               unsigned    long     *tsize     );     st_status_t
       st_obj_text_start(
               st_obj_t *obj,
               st_addr_t *text );

LIBRARY    [Toc]    [Back]

       Symbol Table and Object File Access Library (libst.a)

PARAMETERS    [Toc]    [Back]

       Specifies   an   object   handle,   as   returned  by  the
       st_obj_open() function.  Specifies the  address  to  which
       st_is_obj_call_shared() returns a Boolean value of TRUE if
       the specified object is call-shared or FALSE if  it  is  a
       nonshared  or  shared  library.   Specifies the address to
       which st_is_obj_shared() returns a Boolean value  of  TRUE
       if  the  specified  object is a shared library (that is, a
       file with an suffix) or FALSE if it is  a  call-shared  or
       nonshared   object.    Specifies   the  address  to  which
       st_is_obj_stripped() returns a Boolean value  of  TRUE  if
       the  symbol  table  has  been  stripped from the specified
       object.  Specifies  the  address  to  which  st_obj_name()
       returns  a  pointer  to  the null-terminated string of the
       object name specified in a prior  st_obj_open()  call  for
       the  specified  object.   Specifies  the  address to which
       st_obj_path() returns a  pointer  to  the  null-terminated
       string  of the directory portion of an object pathname for
       the specified object.   Specifies  the  address  to  which
       st_obj_soname()  returns  a pointer to the null-terminated
       string of the internal object name  of  a  shared  library
       object.   Specifies  the  address  to which st_obj_rpath()
       returns a pointer to the  null-terminated  string  of  the
       internal  library  search  directories  for  the specified
       object.  Specifies the address to which  st_obj_libnames()
       returns  a  pointer to an array of null-terminated strings
       of the  shared  library  dependencies  for  the  specified
       shared   library  or  executable  object.   Specifies  the
       address to which st_obj_libnames() returns the  number  of
       entries  in  the  array  returned  in  the list parameter.
       Specifies the address to which st_obj_text_start() returns
       the  starting  address  of the object's text segment as it
       would reside in  memory  when  the  object  is  executing.
       Specifies  the address to which st_obj_text_size() returns
       the size of the specified object's text  segment.   Specifies
  the address to which st_obj_data_start() returns the
       starting address of the specified object's data segment as
       it  would  reside  in memory when the object is executing.
       Specifies the address to which st_obj_data_size()  returns
       the  size  of the specified object's data segment.  Specifies
 the address to which st_obj_bss_start()  returns  the
       starting  address of the specified object's bss segment as
       it would reside in memory when the  object  is  executing.
       Specifies  the  address to which st_obj_bss_size() returns
       size of the specified object's bss segment.  Specifies  an
       address  in  the specified object file.  st_obj_mem_addr()
       translates this address to the equivalent address in  memory
  to  which  libst  has  read  the file.  Specifies the
       address to which st_obj_mem_addr() writes the  address  to
       which libst has read the file indicated by file_addr.

DESCRIPTION    [Toc]    [Back]

       These  routines return information about an object: Determine
 whether the specified object is a call-shared object,
       a  nonshared  object,  or  a  shared  library.  Determines
       whether the symbol table has been stripped from the specified
  object.  Returns the null-terminated string that was
       specified  as  the  object's  name  in  a  prior  call  to
       st_obj_open() for the specified object.  Returns the nullterminated
 string that is the  directory  portion  of  the
       specified  object's pathname.  Returns the null-terminated
       string that is the specified object's  soname  or  a  null
       pointer  if the object is not a shared library. The soname
       is the internal name of a shared library that is  used  by
       the  system  linker (see ld(1)) and loader (see loader(5))
       to identify that  library.   Returns  the  null-terminated
       string  that  is  the  specified  object's rpath or a null
       pointer if the object does not contain  an  rpath  definition.
  The  rpath  string  is  a  colon-separated  list of
       library search directory names. These directories are used
       by  the  loader  (see  loader(5)) to locate shared library
       dependencies.  Returns an array of null-terminated strings
       that  are  the  names  of  the  specified  object's shared
       library dependencies. If the object has no shared  library
       dependencies,  this  function returns a null pointer and a
       count of 0.  Returns the starting address of the specified
       object's  text  segment  as it would reside in memory when
       the object is executing. You can use the st_obj_mem_addr()
       function to translate text addresses for the executable to
       the address in memory to which libst has loaded a copy  of
       the file.  Returns the size of the specified object's text
       segment.  Returns the size of the specified object's  data
       segment.   Returns  the  starting address of the specified
       object's data segment as it would reside  in  memory  when
       the object is executing. You can use the st_obj_mem_addr()
       function to translate data addresses for the executable to
       the  address in memory to which libst has loaded a copy of
       the file.  Returns the starting address of  the  specified
       object's bss segment as it would reside in memory when the
       object is executing. Because no space is allocated in  the
       on-disk object file for the bss segment, you cannot translate
 the bss segment addresses using st_obj_mem_addr()  as
       you  can  use  the  function  to  translate  text and data
       addresses.  Returns the size that the  specified  object's
       bss  segment  would  have in the executing object.  Translates
 an address from the specified  object  file  to  the
       equivalent  address  in memory to which libst has read the
       file. You can then access the text  and  initialized  data
       segments  of a program. You cannot access the bss segments
       and heap because the object is not executing.

RETURN VALUES    [Toc]    [Back]

       All functions indicate success by returning a value  of  0
       (zero).  A  positive return value is an errno value from a
       system call. A negative return value is a library error or
       informational  code.  The  library codes are documented in
       st.h.

       Return parameters are set to 0 or -1 when an error occurs.
       Address  parameters  are set to 0 while file and procedure
       handles are set to -1.  An exception to this is if a  NULL
       pointer for the object or other return parameter is input.
       In these cases, the return parameters will  be  unchanged.
       A  nonzero  return  status  is  the recommended method for
       detecting an error return from a libst function.

FILES    [Toc]    [Back]

       Header file that contains  all  definitions  and  function
       prototypes for libst.a functions

SEE ALSO    [Toc]    [Back]

      
      
       Commands: atom(1), ld(1), loader(5)

       Functions:       libst_intro(3),       st_addr_to_file(3),
       st_file_lang(3),   st_obj_file_start(3),   st_obj_open(3),
       st_objlist_append(3),   st_proc_addr(3),   st_sym_value(3)
       st_dyn_start(3)

       Programmer's Guide



                                                  st_obj_calls(3)
[ Back ]
 Similar pages
Name OS Title
gated.conf Tru64 Gate daemon configuration file (general information)
st_get_format_versions Tru64 access version information in an object file
st_get_known_versions Tru64 access version information in an object file
st_mem_get_format_versions Tru64 access version information in an object file
st_fd_get_version_byname Tru64 access version information in an object file
st_mem_get_version_byname Tru64 access version information in an object file
st_get_version_byname Tru64 access version information in an object file
st_cm_del_entry Tru64 access and modify comment section information in an object file
st_cm_layout Tru64 access and modify comment section information in an object file
st_cm_next Tru64 access and modify comment section information in an object file
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service