proc_service(3T)
NAME
proc_service − process service interfaces
SYNOPSIS
#include <proc_service.h>
ps_err_e ps_kill(const struct ps_prochandle ∗ph, int signum) ps_err_e ps_lcontinue(const struct ps_prochandle ∗ph, lwpid_tlwpid);
ps_err_e ps_lgetfpregs(const struct ps_prochandle ∗ph,
lwpid_t lwpid, prfpregset_t ∗fpregset);
ps_err_e ps_lgetregs(const struct ps_prochandle ∗ph, lwpid_t lwpid,
prgregset_t gregset);
ps_err_e ps_lrolltoaddr(const struct ps_prochandle ∗ph,
lwpid_t lwpid,
ps_err_e ps_lsetfpregs(const struct ps_prochandle ∗ph,
lwpid_t lwpid, const prfpregset_t ∗fpregset);
psaddr_t go_addr, psaddr_t stop_addr)
ps_err_e ps_lsetregs(const struct ps_prochandle ∗ph, lwpid_t lwpid,
const prgregset_t gregset);
ps_err_e ps_lstop(const struct ps_prochandle ∗ph, lwpid_tlwpid);
ps_err_e ps_pcontinue(const struct ps_prochandle ∗ph);
ps_err_e ps_pdread(const struct ps_prochandle ∗ph, psaddr_t addr,
char ∗buf, int size);
ps_err_e ps_pdwrite(const struct ps_prochandle ∗ph, psaddr_t addr,
char ∗buf, int size);
ps_err_e ps_pglobal_lookup(const struct ps_prochandle ∗ph,
const char ∗ld_object_name, const char ∗ld_symbol_name ,
psaddr_t ∗ld_symbol_addr);
ps_err_e ps_pstop(const struct ps_prochandle ∗ph);
ps_err_e ps_ptread(const struct ps_prochandle ∗ph, psaddr_t addr,
char ∗buf, int size);
ps_err_e ps_ptwrite(const struct ps_prochandle ∗ph, psaddr_t addr,
char ∗buf, int size);
SPARC Platform Only
ps_err_e ps_lgetxregs( const struct ps_prochandle ∗ph,
lwpid_t lwpid, prxregset_t ∗xregset); ps_err_e ps_lgetxregsize(const struct ps_prochandle ∗ph,
lwpid_t lwpid, int ∗xregsize);
ps_err_e ps_lsetxregs( const struct ps_prochandle ∗ph,
lwpid_t lwpid, prxregset_t ∗xregset);
x86 Platform Only
ps_err_e ps_lgetLDT(const struct ps_prochandle ∗ph,
lwpid_t lwpid, struct ssd ∗ldt);
DESCRIPTION
Every program that links libthread_db or librtld_db must provide a set of process control primitives that will allow libthread_db and librtld_db to access memory and registers in the target process, to start and to stop the target process, and to look up symbols in the target process. See libthread_db(3T). For information on librtld_db, refer to the Linker and Libraries Guide.
Refer to the individual reference manual pages that describe these routines for a functional specification that clients of libthread_db and librtld_db can use to implement this required interface. <proc_service.h> lists the C and C++ declarations of these routines
FUNCTIONS
Name Description
ps_pstop() Stops the target process.
ps_pcontinue() Resumes target process.
ps_lstop() Stops a single lightweight process ( LWP ) within the target process.
ps_lcontinue() Resumes a single LWP within the target process.
ps_pglobal_lookup() Looks up the symbol in the symbol table of the load object in the target process.
ps_pdread() Copies size bytes from the data segment of the target process to the controlling process.
ps_pdwrite() Copies size bytes from the data segment of the controlling process to the target process.
ps_ptread() Copies size bytes from the text segment of the target process to the controlling process.
ps_ptwrite() Copies size bytes from the text segment of the controlling process to the target process.
ps_lgetregs() Gets the general registers of the LWP.
ps_lsetregs() Sets the general registers of the LWP.
ps_plog() Logs a message.
ps_lrolltoaddr() Rolls the LWP out of a critical section when the process is stopped.
ps_kill() Sends signal to target process.
ps_lgetfpregs() Gets the LWP‘s floating point register set.
ps_lsetfpregs() Sets the LWP‘s floating point register set.
SPARC Platform Only
ps_lgetxregs() Gets the extra state registers from a LWP.
ps_lsetxregs() Sets the extra state registers from a LWP.
ps_lgetxregsize() Returns the size of the architecture-dependent extra state registers.
x86 Platform Only
ps_lgetLDT() Reads the local descriptor table of a LWP.
ATTRIBUTES
See attributes(5) for description of the following attributes:
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| MT Level | Safe |
SEE ALSO
libthread_db(3T), attributes(5)
Linker and Libraries Guide
SunOS 5.6 — Last change: 4 Mar 1997