TNFCTL_CLOSE(3TNF) TNF Library Functions TNFCTL_CLOSE(3TNF)

tnfctl_close - close a tnfctl handle

cc [ flag ... ] file ... -ltnfctl [ library ... ]
#include <tnf/tnfctl.h>
tnfctl_errcode_t tnfctl_close(tnfctl_handle_t *hndl,
     tnfctl_targ_op_t action);

tnfctl_close() is used to close a tnfctl handle and to free up the memory associated with the handle. When the handle is closed, the tracing state and the states of the probes are not changed. tnfctl_close() can be used to close handles in any mode, that is, whether they were created by tnfctl_internal_open(3TNF), tnfctl_pid_open(3TNF), tnfctl_exec_open(3TNF), tnfctl_indirect_open(3TNF), or tnfctl_kernel_open(3TNF).

The action argument is only used in direct mode, that is, if hndl was created by tnfctl_exec_open(3TNF) or tnfctl_pid_open(3TNF). In direct mode, action specifies whether the process will proceed, be killed, or remain suspended. action may have the following values:

TNFCTL_TARG_DEFAULT

Kills the target process if hndl was created with tnfctl_exec_open(3TNF), but lets it continue if it was created with tnfctl_pid_open(3TNF).

TNFCTL_TARG_KILL

Kills the target process.

TNFCTL_TARG_RESUME

Allows the target process to continue.

TNFCTL_TARG_SUSPEND

Leaves the target process suspended. This is not a job control suspend. It is possible to attach to the process again with a debugger or with the tnfctl_pid_open(3TNF) interface. The target process can also be continued with prun(1).

tnfctl_close() returns TNFCTL_ERR_NONE upon success.

The following error codes apply to tnfctl_close():

TNFCTL_ERR_BADARG

A bad argument was sent in action.

TNFCTL_ERR_INTERNAL

An internal error occurred.

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
MT Level MT-Safe

prex(1), prun(1), TNF_PROBE(3TNF), libtnfctl(3TNF), tnfctl_exec_open(3TNF), tnfctl_indirect_open(3TNF), tnfctl_kernel_open(3TNF), tnfctl_pid_open(3TNF), tracing(3TNF), attributes(7)

March 4, 1997 OmniOS