|
Process Control Library Functions | proc_service(3PROC) |
| proc_service - process service interfaces |
SYNOPSIS
|
#include <proc_service.h> 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); |
| 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); |
SPARC
|
| ps_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); |
|
IA
|
| ps_err_e ps_lgetLDT(struct ps_prochandle *ph, lwpid_t lwpid, struct ssd *ldt); |
|
|
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(3THR). 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 declarations of these routines
|
|
-
Name
-
Description
- 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 target process and returns its address.
- ps_pglobal_sym()
- Looks up the symbol in the symbol table of the load object in the target 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 controlling 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().
- 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_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 register set.
- ps_lsetfpregs()
- Sets the LWP`s floating point register 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 section when the process is stopped.
- ps_plog()
- Logs a message.
SPARC
|
- ps_lgetxregsize()
- Returns the size of the architecture-dependent extra state registers.
- ps_lgetxregs()
- Gets the extra state registers of the LWP.
- ps_lsetxregs()
- Sets the extra state registers of the LWP.
|
IA
|
- ps_lgetLDT()
- Reads the local descriptor table of the LWP.
|
|
|
See attributes(5) for description of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
MT Level | Safe |
|
| |