Sun Microsystems, Inc.
spacerspacer
spacer   www.sun.com docs.sun.com | | |  
spacer
black dot
   
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z
    
 
Process Control Library Functionsproc_service(3PROC)


NAME

 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);

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(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

FUNCTIONS

 
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.

ATTRIBUTES

 

See attributes(5) for description of the following attributes:

ATTRIBUTE TYPEATTRIBUTE VALUE
MT LevelSafe

SEE ALSO

 

libthread_db(3THR), attributes(5)

Linker and Libraries Guide


SunOS 5.9Go To TopLast Changed 16 Jan 1998

 
      
      
Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.