PROC_SERVICE(3PROC) | Process Control Library Functions | PROC_SERVICE(3PROC) |
proc_service - process service interfaces
#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);
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);
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 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 libc_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 clients of libthread_db and librtld_db can use to implement this required interface. The <proc_service.h> header lists the C declarations of these routines.
ps_pdmodel()
ps_pglobal_lookup()
ps_pglobal_sym()
ps_pread()
ps_pwrite()
ps_pdread()
ps_pdwrite()
ps_ptread()
ps_ptwrite()
ps_pstop()
ps_pcontinue()
ps_lstop()
ps_lcontinue()
ps_lgetregs()
ps_lsetregs()
ps_lgetfpregs()
ps_lsetfpregs()
ps_pauxv()
ps_kill()
ps_lrolltoaddr()
ps_plog()
ps_lgetxregsize()
ps_lgetxregs()
ps_lsetxregs()
ps_lgetLDT()
See attributes(7) for description of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
MT Level | Safe |
rtld_db(3EXT), libc_db(3LIB), librtld_db(3LIB), ps_pread(3PROC), attributes(7)
Linker and Libraries Guide
January 23, 2023 | OmniOS |