td_thr_getxregsize man page on SunOS

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
SunOS logo
[printable version]

td_thr_getgregs(3C_DB)Threads Debugging Library Functiontd_thr_getgregs(3C_DB)

NAME
       td_thr_getgregs,	 td_thr_setgregs,  td_thr_getfpregs, td_thr_setfpregs,
       td_thr_getxregsize,  td_thr_getxregs,  td_thr_setxregs  -  reading  and
       writing thread registers in libc_db

SYNOPSIS
       cc [ flag... ] file... -lc_db [ library... ]
       #include <proc_service.h>
       #include <thread_db.h>

       td_err_e td_thr_getgregs(const td_thrhandle_t *th_p, prgregset_tgregset);

       td_err_e td_thr_setgregs(const td_thrhandle_t *th_p, prgregset_tgregset);

       td_err_e td_thr_getfpregs(const td_thrhandle_t *th_p, prfpregset_t *fpregset);

       td_err_e td_thr_setfpregs(const td_thrhandle_t *th_p, prfpregset_t *fpregset);

       td_err_e td_thr_getxregsize(const td_thrhandle_t *th_p, int *xregsize);

       td_err_e td_thr_getxregs(const td_thrhandle_t *th_p, prxregset_t *xregset);

       td_err_e td_thr_setxregs(const td_thrhandle_t *th_p, prxregset_t *xregset);

DESCRIPTION
       These functions read and write the register sets associated with thread
       th_p. The td_thr_getgregs() and	td_thr_setgregs()  functions  get  and
       set,   respectively,   the   general  registers	of  thread  th_p.  The
       td_thr_getfpregs()  and	td_thr_setfpregs()  functions  get  and	  set,
       respectively,   the   thread's	floating   point   register  set.  The
       td_thr_getxregsize(), td_thr_getxregs(),	 and  td_thr_setxregs()	 func‐
       tions are system-specific. The td_thr_getxregsize() function returns in
       *xregsize the size of the architecture-dependent extra state registers.
       The  td_thr_getxregs()  and  td_thr_setxregs()  functions  get and set,
       respectively, those extra state registers. On  systems  that  does  not
       support extra state registers, these functions return TD_NOXREGS.

       If the thread specified by th_p is currently executing on a lightweight
       process ( LWP), these functions read or write, respectively, the appro‐
       priate  register	 set  to the LWP using the imported interface.	If the
       thread is not currently executing on an LWP,  the  floating  point  and
       extra  state  registers may cannot be read or written. Some of the gen‐
       eral registers might also not be readable or writable, depending on the
       architecture,  in  which case td_thr_getfpregs() and td_thr_setfpregs()
       return  TD_NOFPREGS and td_thr_getxregs()  and  td_thr_setxregs()  will
       TD_NOXREGS.  Calls  to td_thr_getgregs() and td_thr_setgregs() succeed,
       but values returned for	unreadable  registers  are  undefined,	values
       specified  for  unwritable registers are ignored. In this instance, and
       TD_PARTIALREGS is returned.  See the architecture-specific  notes  that
       follow  regarding  the  registers  that	may  be read and written for a
       thread not currently executing on an LWP.

   SPARC
       On a thread not currently assigned to an LWP,  only  %i0-%i7,  %l0-%l7,
       %g7,  %pc,  and %sp (%o6) can be read or written.  %pc and %sp refer to
       the program counter and stack pointer that the thread will have when it
       resumes execution.

   x86 Architecture
       On  a  thread  not  currently  assigned to an LWP, only %pc, %sp, %ebp,
       %edi, %edi, and %ebx can be read.

RETURN VALUES
       TD_OK		 The call completed successfully.

       TD_BADTH		 An invalid thread handle was passed in.

       TD_DBERR		 A call to one	of  the	 imported  interface  routines
			 failed.

       TD_PARTIALREGS	 Because  the  thread  is  not currently assigned to a
			 LWP, not all registers	 were  read  or	 written.  See
			 DESCRIPTION  for  a  discussion about which registers
			 are not saved when a thread is	 not  assigned	to  an
			 LWP.

       TD_NOFPREGS	 Floating  point  registers could not be read or writ‐
			 ten, either  because  the  thread  is	not  currently
			 assigned  to an LWP, or because the architecture does
			 not have such registers.

       TD_NOXREGS	 System-dependent extra state registers could  not  be
			 read  or  written,  either  because the thread is not
			 currently assigned to an LWP, or because  the	archi‐
			 tecture  does not have such registers, or because the
			 system does not have extra state registers.

       TD_ERR		 A libc_db internal error occurred.

ATTRIBUTES
       See attributes(5) for description of the following attributes:

       ┌─────────────────────────────┬─────────────────────────────┐
       │      ATTRIBUTE TYPE	     │	    ATTRIBUTE VALUE	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │MT-Level		     │Safe			   │
       └─────────────────────────────┴─────────────────────────────┘

SEE ALSO
       libc_db(3LIB), attributes(5)

SunOS 5.10			  13 Sep 2010		td_thr_getgregs(3C_DB)
[top]

List of man pages available for SunOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net