UNW_SET_REG(3) Programming Library UNW_SET_REG(3)
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(3) for the IA-64 target). Further-
more, the exact set of accessible registers may depend on the type of
frame that cp is referring to. For ordinary stack frames, it is nor-
mally possible to access only the preserved (``callee-saved'') regis-
ters 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_set_reg() can only write the contents of registers whose
values fit in a single word. See unw_set_fpreg(3) 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() call-backs (see unw_cre-
ate_addr_space(3)).
SEE ALSO
libunwind(3), libunwind-ia64(3), unw_get_reg(3), unw_is_sig-
nal_frame(3), unw_set_fpreg(3)
AUTHOR
David Mosberger-Tang
Email: dmosberger@gmail.com
WWW: http://www.nongnu.org/libunwind/.
Programming Library 16 August 2007 UNW_SET_REG(3)
Generated by dwww version 1.14 on Fri Dec 5 05:51:41 CET 2025.