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.
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(5) for descriptions of the following attributes:
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|
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(5)