Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

libthread_db(3T)

attributes(5)

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

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026