Process Control Library Functions proc_service(3PROC)
NAME
proc_service - process service interfaces
SYNOPSIS
#include
ps_err_e ps_pdmodel(struct ps_prochandle *ph,
int *data_model);
ps_err_e ps_pglobal_lookup(struct ps_prochandle *ph,
const char *object_name, const char *sym_name,
psaddr_t *sym_addr);
ps_err_e ps_pglobal_sym(struct ps_prochandle *ph,
const char *object_name, const char *sym_name,
ps_sym_t *sym);
ps_err_e ps_pread(struct ps_prochandle *ph, psaddr_t addr,
void *buf, size_t size);
ps_err_e ps_pwrite(struct ps_prochandle *ph, psaddr_t addr,
const void *buf, size_t size);
ps_err_e ps_pdread(struct ps_prochandle *ph, psaddr_t addr,
void *buf, size_t size);
ps_err_e ps_pdwrite(struct ps_prochandle *ph, psaddr_t addr,
const void *buf, size_t size);
ps_err_e ps_ptread(struct ps_prochandle *ph, psaddr_t addr,
void *buf, size_t size);
ps_err_e ps_ptwrite(struct ps_prochandle *ph, psaddr_t addr,
const void *buf, size_t size);
ps_err_e ps_pstop(struct ps_prochandle *ph);
ps_err_e ps_pcontinue(struct ps_prochandle *ph);
ps_err_e ps_lstop(struct ps_prochandle *ph, lwpid_t lwpid);
SunOS 5.11 Last change: 12 Oct 2007 1
Process Control Library Functions proc_service(3PROC)
ps_err_e ps_lcontinue(struct ps_prochandle *ph, lwpid_t lwpid);
ps_err_e ps_lgetregs(struct ps_prochandle *ph, lwpid_t lwpid,
prgregset_t gregset);
ps_err_e ps_lsetregs(struct ps_prochandle *ph, lwpid_t lwpid,
const prgregset_t gregset);
ps_err_e ps_lgetfpregs(struct ps_prochandle *ph, lwpid_t lwpid,
prfpregset_t *fpregset);
ps_err_e ps_lsetfpregs(struct ps_prochandle *ph, lwpid_t lwpid,
const prfpregset_t *fpregset);
ps_err_e ps_pauxv(struct ps_prochandle *ph,
const auxv_t **auxp);
ps_err_e ps_kill(struct ps_prochandle *ph, int sig);
ps_err_e ps_lrolltoaddr(struct ps_prochandle *ph,
lwpid_t lwpid, psaddr_t go_addr, psaddr_t stop_addr);
void ps_plog(const char *fmt);
SPARCps_err_e ps_lgetxregsize(struct ps_prochandle *ph,
lwpid_t lwpid, int *xregsize);
ps_err_e ps_lgetxregs(struct ps_prochandle *ph,
lwpid_t lwpid, caddr_t xregset);
ps_err_e ps_lsetxregs(struct ps_prochandle *ph,
lwpid_t lwpid, caddr_t xregset);
x86ps_err_e ps_lgetLDT(struct ps_prochandle *ph, lwpid_t lwpid,
struct ssd *ldt);SunOS 5.11 Last change: 12 Oct 2007 2
Process Control Library Functions proc_service(3PROC)
DESCRIPTION
Every program that links libthread_db or librtld_db must
provide a set of process control primitives that allowlibthread_db and librtld_db to access memory and registers
in the target process, to start and to stop the target pro-
cess, and to look up symbols in the target process. Seelibc_db(3LIB). 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 clientsof libthread_db and librtld_db can use to implement this
required interface. The
declarations of these routines. FUNCTIONSheader lists the C ps_pdmodel() Returns the data model of the target
process.ps_pglobal_lookup() Looks up the symbol in the symbol
table of the load object in the tar-
get process and returns its address.ps_pglobal_sym() Looks up the symbol in the symbol
table of the load object in the tar-
get process and returns its symbol table entry.ps_pread() Copies size bytes from the target
process to the controlling process.ps_pwrite() Copies size bytes from the control-
ling process to the target process.ps_pdread() Identical to ps_pread().
ps_pdwrite() Identical to ps_pwrite().
ps_ptread() Identical to ps_pread().
ps_ptwrite() Identical to ps_pwrite().
SunOS 5.11 Last change: 12 Oct 2007 3
Process Control Library Functions proc_service(3PROC)
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 tar-
get process.ps_lgetregs() Gets the general registers of the
LWP.ps_lsetregs() Sets the general registers of the
LWP.ps_lgetfpregs() Gets the LWP`s floating point regis-
ter set.ps_lsetfpregs() Sets the LWP`s floating point regis-
ter set.ps_pauxv() Returns a pointer to a read-only copy
of the target process's auxiliary vector.ps_kill() Sends signal to target process.
ps_lrolltoaddr() Rolls the LWP out of a critical sec-
tion when the process is stopped.ps_plog() Logs a message.
SPARCps_lgetxregsize() Returns the size of the architecture-
dependent extra state registers.ps_lgetxregs() Gets the extra state registers of the
LWP.SunOS 5.11 Last change: 12 Oct 2007 4
Process Control Library Functions proc_service(3PROC)
ps_lsetxregs() Sets the extra state registers of the
LWP. x86ps_lgetLDT() Reads the local descriptor table of the LWP.
ATTRIBUTES
See attributes(5) for description of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| MT Level | Safe ||_____________________________|_____________________________|
SEE ALSO
libc_db(3LIB), librtld_db(3LIB), ps_pread(3PROC),
rtld_db(3EXT), attributes(5)
Linker and Libraries GuideSunOS 5.11 Last change: 12 Oct 2007 5