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

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

st_proc_addr(3)

Contents


NAME    [Toc]    [Back]

       st_is_alternate_entry,      st_proc_addr,     st_proc_sym,
       st_proc_name,     st_proc_to_file,     st_proc_start_line,
       st_proc_end_line,                  st_outer_proc_end_line,
       st_check_proc_line_range,                    st_proc_sort,
       st_proc_sorted_start,     st_proc_sorted_next,    st_foreach_proc,
  st_foreach_obj_proc,  st_foreach_proc_sorted  -
       access information about the procedures in an object

SYNOPSIS    [Toc]    [Back]

       #include <st.h>

       st_status_t st_is_alternate_entry(
               st_obj_t *obj,
               st_proc_t proc,
               st_bool_t *alt ); st_status_t st_proc_addr(
               st_obj_t *obj,
               st_proc_t proc,
               st_addr_t *proc_addr ); st_status_t st_proc_sym(
               st_obj_t *obj,
               st_proc_t proc,
               st_sym_t *sym ); st_status_t st_proc_name(
               st_obj_t *obj,
               st_proc_t proc,
               char **name ); st_status_t st_proc_to_file(
               st_obj_t *obj,
               st_proc_t proc,
               st_file_t *file ); st_status_t st_proc_start_line(
               st_obj_t *obj,
               st_proc_t proc,
               st_line_t *sline ); st_status_t st_proc_end_line(
               st_obj_t *obj,
               st_proc_t proc,
               st_line_t       *eline       );        st_status_t
       st_outer_proc_end_line(
               st_obj_t *obj,
               st_proc_t proc,
               st_line_t        *eline       );       st_status_t
       st_check_proc_line_range(
               st_obj_t *obj,
               st_proc_t proc,
               unsigned long line,
               st_proc_t *oproc ); st_status_t st_proc_sort(
               st_obj_t *obj ); st_status_t st_proc_sorted_start(
               st_obj_t *obj,
               st_proc_t       *pstart       );       st_status_t
       st_proc_sorted_next(
               st_obj_t *obj,
               st_proc_t proc,
               st_proc_t *result ); st_status_t st_foreach_proc(
               st_obj_t *obj,
               st_file_t file,
               st_status_t    (*routine)    __((st_obj_t    *obj,
       st_proc_t proc, st_any_t data, st_any_t *result)),
               st_any_t data,
               st_any_t    *result    );   st_status_t   st_foreach_obj_proc(

               st_obj_t *obj,
               st_status_t    (*routine)    __((st_obj_t    *obj,
       st_proc_t proc, st_any_t data, st_any_t *result)),
               st_any_t data,
               st_any_t        *result       );       st_status_t
       st_foreach_obj_proc_sorted(
               st_obj_t *obj,
               st_status_t    (*routine)    __((st_obj_t    *obj,
       st_proc_t proc, st_any_t data, st_any_t *result)),
               st_any_t data,
               st_any_t *result );

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 a procedure handle,  as
       returned by a function such as st_obj_proc_start().  Specifies
 an address to which st_is_alternate_entry()  returns
       a  Boolean  value of TRUE if the specified procedure is an
       alternate entry or a nested routine.  Specifies an address
       to  which  st_proc_addr()  returns the starting address of
       the procedure as it would reside in memory when the object
       is executing.  Specifies an address to which st_proc_sym()
       returns the symbol handle  for  the  specified  procedure.
       Specifies  an  address to which st_proc_name() returns the
       null-terminated string of the procedure  name.   Specifies
       an  address  to which st_proc_to_file() returns the handle
       of the file that contains the specified  procedure,  or  a
       file  handle  that st_foreach_proc() uses to locate procedures
 for which to run the specified  routine.   Specifies
       an address to which st_proc_start_line() writes the starting
 line number for the specified procedure.  This  number
       identifies the line in the source file at which the procedure
  is  defined.   Specifies   an   address   to   which
       st_proc_end_line()  writes  the ending line number for the
       specified procedure. This number identifies  the  line  in
       the source file at which the procedure ends. If the specified
 procedure is an alternate entry or  a  nested  procedure,
  st_outer_proc_end_line() returns the ending line of
       the procedure containing the specified procedure  to  this
       location.      Specifies     a     line     number    that
       st_check_proc_line_range() is to determine is  within  the
       range  of lines within the specified procedure.  Specifies
       an address to which st_check_proc_line_range()  returns  a
       procedure  handle  if  the specified line number is within
       the range of lines in the specified procedure, or -1 if it
       is     not.      Specifies    an    address    to    which
       st_proc_sorted_start() the handle of the  first  procedure
       in the sorted procedure table created by its implicit call
       of (or prior explicit call to)  st_proc_sort().   For  the
       st_proc_sorted_next  function,  specifies  an  address  to
       which the function returns the procedure that follows proc
       in  the sorted procedure table. For the st_foreach_proc(),
       st_foreach_obj_proc(),  and   st_foreach_obj_proc_sorted()
       functions,  specifies  an  address  to  receive the return
       value from the specified routine. The called routine  must
       be  written  to return 0 to terminate its execution within
       the procedure list, and ST_FOREACH_CONTINUE to continue to
       the  next procedure.  Specifies a routine to be called for
       each procedure in the specified file  (st_foreach_proc()),
       object  (st_foreach_obj_proc()), or sorted procedure table
       (st_foreach_obj_proc_sorted()).   Specifies  data  to   be
       input  to or output from the routine to be called for each
       object in the specified file  (st_foreach_proc()),  object
       (st_foreach_obj_proc()),   or   sorted   procedure   table
       (st_foreach_obj_proc_sorted()).



DESCRIPTION    [Toc]    [Back]

       These functions return information about  a  procedure  or
       perform operations on the procedures in an object or file:
       Determines whether the specified procedure is an alternate
       entry  or nested routine.  Returns the starting address of
       the procedure as it would reside in memory when the object
       is executing.  Returns the symbol handle for the specified
       procedure.  Returns the null-terminated string of the procedure
  name.  Because  the returned procedure name is for
       read-access only, the calling program should make any modifications
  to  a copy of this string.  Returns the handle
       of the file that contains the specified procedure.  Return
       the  numbers  of  the line in the source file at which the
       procedure is defined and the line at which  the  procedure
       ends,  respectively. The st_outer_proc_end_line() function
       returns the ending line number of the procedure that  contains
  the specified procedure, and is used for procedures
       that are alternate entries or nested  procedures.  If  the
       specified  procedure  is  neither  an alternate entry or a
       nested  procedure,  st_outer_proc_end_line()  returns  the
       line  at  which  the specified procedure ends.  Determines
       whether the specified line number is within the  range  of
       lines  in  the  specified procedure. If the line number is
       within range, the function returns the  procedure  handle.
       If  not,  it  returns  -1  to  the location to which oproc
       points.  Use   st_check_proc_line_range()   when   calling
       st_foreach_proc(),     st_foreach_obj_proc(),     st_foreach_obj_proc_sorted()
 to operate on all the procedures  in
       a  given  file, object, or sorted procedure list. The line
       parameter is defined as unsigned long to allow  it  to  be
       used  for  this purpose.  The st_proc_sort() function creates
 a table of procedures sorted  by  increasing  address
       order.  It includes all procedures in the specified object
       in the sorted procedure table. The sorted procedure  table
       enables   faster   search   operations  on  the  procedure
       addresses by  other  routines.  Any  libst  routines  that
       require   a   sorted   procedure   table  implicitly  call
       st_proc_sort() if the table does not  already  exist.  The
       st_proc_sorted_start()  function returns the handle of the
       first  procedure  in  the  sorted  procedure  table.   The
       st_proc_sorted_next()  function  returns the handle of the
       procedure that follows proc in the sorted procedure table.

                                     NOTE

              Use  the st_obj_proc_start() and st_obj_proc_next()
              functions to access procedures in  the  order  that
              they  appear  in the object, that is, in their link
              order.   Use   the    st_proc_sorted_start()    and
              st_proc_sorted_next()  functions  to  access procedures
 in ascending address order.

              Note that some objects may have multiple procedures
              at the same address.  Determines the number of procedures
 in an object  or  sorted  procedure  table.
              Provide  a means of calling a routine once for each
              procedure in the specified file, object, or  sorted
              procedure  table. You must write the called routine
              so that it returns 0  to  terminate  its  execution
              within  the procedure list, and ST_FOREACH_CONTINUE
              to continue to the next procedure.




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.

       The st_foreach_proc(), st_foreach_obj_proc(), and st_foreach_obj_proc_sorted()
  functions return ST_E_NULL_ARGUMENT
       if a null object handle or routine pointer  are  supplied.
       It  returns  a  value  of 0 (zero) when the called routine
       returns 0 to it. Otherwise, it returns ST_OBJ_END to indicate
 that it has reached the end of the procedures without
       a successful return from the called routine.

FILES    [Toc]    [Back]

       Header file that contains  all  definitions  and  function
       prototypes for libst.a functions Header file that controls
       name-demangling operations for C++ objects

SEE ALSO    [Toc]    [Back]

      
      
       Commands: atom(1)

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



                                                  st_proc_addr(3)
[ Back ]
 Similar pages
Name OS Title
st_obj_lsym_start Tru64 access information about an object's files, procedures, and symbols
st_obj_esym_start Tru64 access information about an object's files, procedures, and symbols
st_obj_sym_count Tru64 access information about an object's files, procedures, and symbols
st_obj_sym_next Tru64 access information about an object's files, procedures, and symbols
st_obj_esym_count Tru64 access information about an object's files, procedures, and symbols
st_obj_esym_next Tru64 access information about an object's files, procedures, and symbols
st_obj_file_start Tru64 access information about an object's files, procedures, and symbols
st_obj_file_next Tru64 access information about an object's files, procedures, and symbols
st_obj_lsym_next Tru64 access information about an object's files, procedures, and symbols
st_obj_lsym_count Tru64 access information about an object's files, procedures, and symbols
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service