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

FreeBSD Manual Pages

  
 
  

home | help
UNW_SET_REG(3libunwind)	     Programming Library       UNW_SET_REG(3libunwind)

NAME
       unw_set_reg -- set register contents

SYNOPSIS
       #include	<libunwind.h>

       int unw_set_reg(unw_cursor_t *cp, unw_regnum_t reg, unw_word_t val);

DESCRIPTION
       The  unw_set_reg()  routine sets	the value of register reg in the stack
       frame identified	by cursor cp to	the value passed in val.

       The register numbering is target	dependent and  described  in  separate
       manual  pages  (e.g., libunwind-ia64(3libunwind)	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'') reg-
       isters and frame-related	registers (such	as the	stack  pointer).  How-
       ever,  for  signal  frames (see unw_is_signal_frame(3libunwind)), it is
       usually possible	to access all registers.

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

RETURN VALUE
       On successful completion, unw_set_reg() returns 0.  Otherwise the nega-
       tive value of one of the	error codes below is returned.

THREAD AND SIGNAL SAFETY
       unw_set_reg()  is thread-safe as	well as	safe to	use from a signal han-
       dler.

ERRORS
       UNW_EUNSPEC
	       An unspecified error occurred.

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

       UNW_EREADONLY
	       An attempt was made to write to a read-only register.

       In  addition,  unw_set_reg()  may  return any error returned by the ac-
       cess_mem(), access_reg(), and access_fpreg()  callbacks	(see  unw_cre-
       ate_addr_space(3libunwind)).

SEE ALSO
       libunwind(3libunwind),  libunwind-ia64(3libunwind), unw_get_reg(3libun-
       wind), unw_is_signal_frame(3libunwind), unw_set_fpreg(3libunwind)

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

Programming Library		29 August 2023	       UNW_SET_REG(3libunwind)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=unw_set_reg&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help