Threads Debugging Library Functions td_ta_new(3C_DB)
NAME
td_ta_new, td_ta_delete, td_ta_get_ph - allocate and deallo-
cate process handles for libc_db
SYNOPSIS
cc [ flag... ] file... -lc_db [ library... ]
#include
#include
td_err_e td_ta_new(const struct ps_prochandle *ph_p, td_thragent_t **ta_pp);
td_err_e td_ta_delete(const td_thragent_t *ta_p);
td_err_e td_ta_get_ph(const td_thragent_t *ta_p, struct ps_prochandle **ph_pp);
DESCRIPTION
The td_ta_new() function registers a target process with
libc_db(3LIB) and allocates an internal process handle of
type td_thragent_t for this target process. Subsequent
calls to libc_db can use this handle to refer to this target
process. There are actually two process handles, an internal processhandle assigned by libc_db and an external process handle
assigned by the libc_db client. There is a one-to-one
correspondence between the two handles. When the clientcalls a libc_db function, it uses the internal process han-
dle. When libc_db calls one of the client-provided routines
listed in proc_service(3PROC), it uses the external process
handle.The ph argument is the external process handle that libc_db
should use to identify this target process to the control-
ling process when it calls routines in the imported inter-
face. If this call is successful, the value of the newly allocatedtd_thragent_t handle is returned in *ta_pp. The
td_ta_delete() function deregisters a target process with
libc_db, which deallocates its internal process handle and
frees any other resources libc_db has acquired with respect
to the target process. The ta_p argument specifies the tar-
get process to be deregistered.SunOS 5.11 Last change: 20 Oct 1998 1
Threads Debugging Library Functions td_ta_new(3C_DB)
The td_ta_get_ph() function returns in *ph_pp the external
process handle that corresponds to the internal process han-
dle ta_p. This is useful for checking internal consistency.
RETURN VALUES
TD_OK The call completed successfully.
TD_BADPH A NULL external process handle was passed
to td_ta_new().
TD_ERR The ta_pp argument is NULL or an internal
error occurred.TD_DBERR A call to one of the imported interface
routines failed.TD_MALLOC Memory allocation failure.
TD_NOLIBTHREAD The target process does not appear to be
multithreaded.ATTRIBUTES
See attributes(5) for description of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| MT-Level | Safe |
|_____________________________|_____________________________|
SEE ALSO
libc_db(3LIB), proc_service(3PROC), attributes(5)
SunOS 5.11 Last change: 20 Oct 1998 2