Man Linux: Main Page and Category List

NAME

       unw_get_reg -- get register contents

SYNOPSIS

       #include <libunwind.h>

       int unw_get_reg(unw_cursor_t *cp, unw_regnum_t reg, unw_word_t *valp);

DESCRIPTION

       The  unw_get_reg() routine reads the value of register reg in the stack
       frame identified by cursor cp and stores the value in the word  pointed
       to by valp.

       The  register  numbering  is target-dependent and described in separate
       manual  pages  (e.g.,  libunwind-ia64(3)   for   the   IA-64   target).
       Furthermore,  the  exact  set of accessible registers may depend on the
       type of frame that cp is referring to. For ordinary stack frames, it is
       normally  possible  to  access  only  the  preserved (``callee-saved'')
       registers and frame-related  registers  (such  as  the  stack-pointer).
       However,  for signal frames (see unw_is_signal_frame(3)), it is usually
       possible to access all registers.

       Note that unw_get_reg() can only read the contents of  registers  whose
       values  fit  in  a  single word. See unw_get_fpreg(3) for a way to read
       registers which do not fit this constraint.

RETURN VALUE

       On successful  completion,  unw_get_reg()  returns  0.   Otherwise  the
       negative value of one of the error-codes below is returned.

THREAD AND SIGNAL SAFETY

       unw_get_reg()  is  thread-safe  as  well  as  safe to use from a signal
       handler.

ERRORS

       UNW_EUNSPEC
               An unspecified error occurred.

       UNW_EBADREG
               An attempt was made to read a register that is  either  invalid
              or not accessible in the current frame.

       In  addition,  unw_get_reg()  may  return  any  error  returned  by the
       access_mem(),  access_reg(),   and   access_fpreg()   call-backs   (see
       unw_create_addr_space(3)).

SEE ALSO

       libunwind(3),            libunwind-ia64(3),           unw_get_fpreg(3),
       unw_is_signal_frame(3), unw_set_reg(3)

AUTHOR

       David Mosberger-Tang
       Email: dmosberger@gmail.com
       WWW: http://www.nongnu.org/libunwind/.