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

FreeBSD Manual Pages

  
 
  

home | help
UNW_INIT_LOCAL(3)	     Programming Library	     UNW_INIT_LOCAL(3)

NAME
       unw_init_local -- initialize cursor for local unwinding

SYNOPSIS
       #include	<libunwind.h>

       int unw_init_local(unw_cursor_t *c, unw_context_t *ctxt);

DESCRIPTION
       The  unw_init_local()  routine initializes the unwind cursor pointed to
       by c with the machine-state in the  context  structure  pointed	to  by
       ctxt.   As  such,  the  machine-state pointed to	by ctxt	identifies the
       initial stack frame at which unwinding starts. The  machine-state  must
       remain valid for	the duration for which the cursor c is in use.

       The  unw_init_local() routine can be used only for unwinding in the ad-
       dress space of the current process (i.e., for  local  unwinding).   For
       all other cases,	unw_init_remote() must be used instead.	 From a	behav-
       ioral point of view, the	call:

	   ret = unw_init_local(&cursor, &ucontext);

       is equivalent to:

	   ret = unw_init_remote(&cursor, unw_local_addr_space,
				 &ucontext);

       However,	unwind performance may be better when using  unw_init_local().
       Also,  unw_init_local()	is available even when UNW_LOCAL_ONLY has been
       defined before including	<libunwind.h>,	whereas	 unw_init_remote()  is
       not.

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

THREAD AND SIGNAL SAFETY
       unw_init_local()	is thread-safe as well as safe to use  from  a	signal
       handler.

ERRORS
       UNW_EINVAL
	       unw_init_local()	 was  called  in  a version of libunwind which
	      supports remote unwinding	only (this normally happens when call-
	      ing unw_init_local() for a cross-platform	version	of libunwind).

       UNW_EUNSPEC
	       An unspecified error occurred.

       UNW_EBADREG
	       A register needed by unw_init_local() wasn't accessible.

SEE ALSO
       libunwind(3), unw_init_remote(3)

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

Programming Library		16 August 2007		     UNW_INIT_LOCAL(3)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | THREAD AND SIGNAL SAFETY | ERRORS | SEE ALSO | AUTHOR

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=unw_init_local&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help