tnfctl_kernel_open(3TNF) TNF Library Functions tnfctl_kernel_open(3TNF)NAME
tnfctl_kernel_open - create handle for kernel probe control
SYNOPSIS
cc [ flag ... ] file ... -ltnfctl [ library ... ]
#include <tnf/tnfctl.h>
tnfctl_errcode_t tnfctl_kernel_open(tnfctl_handle_t **ret_val);
DESCRIPTION
tnfctl_kernel_open() starts a kernel tracing session and returns in ret_val an opaque handle that can be used to control tracing and probes
in the kernel. Only one kernel tracing session is possible at a time on a given machine. An error code of TNFCTL_ERR_BUSY is returned if
there is another process using kernel tracing. Use the command
fuser -f /dev/tnfctl
to print the process id of the process currently using kernel tracing. Only a superuser may use tnfctl_kernel_open(). An error code of
TNFCTL_ERR_ACCES is returned if the caller does not have the necessary privileges.
RETURN VALUES
tnfctl_kernel_open returns TNFCTL_ERR_NONE upon success.
ERRORS
TNFCTL_ERR_ACCES Permission denied. Superuser privileges are needed for kernel tracing.
TNFCTL_ERR_BUSY Another client is currently using kernel tracing.
TNFCTL_ERR_ALLOCFAIL Memory allocation failed.
TNFCTL_ERR_FILENOTFOUND /dev/tnfctl not found.
TNFCTL_ERR_INTERNAL Some other failure occurred.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWtnfc |
+-----------------------------+-----------------------------+
|MT Level |MT-Safe |
+-----------------------------+-----------------------------+
SEE ALSO prex(1), fuser(1M), TNF_PROBE(3TNF), libtnfctl(3TNF), tracing(3TNF), tnf_kernel_probes(4), attributes(5)SunOS 5.11 4 Mar 1997 tnfctl_kernel_open(3TNF)
Check Out this Related Man Page
tnfctl_trace_state_set(3TNF) TNF Library Functions tnfctl_trace_state_set(3TNF)NAME
tnfctl_trace_state_set, tnfctl_filter_state_set, tnfctl_filter_list_get, tnfctl_filter_list_add, tnfctl_filter_list_delete - control kernel
tracing and process filtering
SYNOPSIS
cc [ flag ... ] file ... -ltnfctl [ library ... ]
#include <tnf/tnfctl.h>
tnfctl_errcode_t tnfctl_trace_state_set(tnfctl_handle_t *hndl,
boolean_t trace_state);
tnfctl_errcode_t tnfctl_filter_state_set(tnfctl_handle_t *hndl,
boolean_t filter_state);
tnfctl_errcode_t tnfctl_filter_list_get(tnfctl_handle_t *hndl,
pid_t **pid_list, int *pid_count);
tnfctl_errcode_t tnfctl_filter_list_add(tnfctl_handle_t *hndl,
pid_t pid_to_add);
tnfctl_errcode_t tnfctl_filter_list_delete(tnfctl_handle_t *hndl,
pid_t pid_to_delete);
DESCRIPTION
The interfaces to control kernel tracing and process filtering are used only with kernel handles, handles created by tnfctl_ker-
nel_open(3TNF). These interfaces are used to change the tracing and filter states for kernel tracing.
tnfctl_trace_state_set() sets the kernel global tracing state to "on" if trace_state is B_TRUE, or to "off" if trace_state is B_FALSE. For
the kernel, trace_state is off by default.Probes that are enabled will not write out data unless this state is on. Use
tnfctl_trace_attrs_get(3TNF) to retrieve the current tracing state.
tnfctl_filter_state_set() sets the kernel process filtering state to "on" if filter_state is B_TRUE, or to "off" if filter_state is
B_FALSE. filter_state is off by default. If it is on, only probe points encountered by processes in the process filter set by tnfctl_fil-
ter_list_add() will generate trace points. Use tnfctl_trace_attrs_get(3TNF) to retrieve the current process filtering state.
tnfctl_filter_list_get() returns the process filter list as an array in pid_list. The count of elements in the process filter list is
returned in pid_count. The caller should use free(3C) to free memory allocated for the array pid_list.
tnfctl_filter_list_add() adds pid_to_add to the process filter list. The process filter list is maintained even when the process filter-
ing state is off, but it has no effect unless the process filtering state is on.
tnfctl_filter_list_delete() deletes pid_to_delete from the process filter list. It returns an error if the process does not exist or is
not in the filter list.
RETURN VALUES
The interfaces tnfctl_trace_state_set(), tnfctl_filter_state_set(), tnfctl_filter_list_add(), tnfctl_filter_list_delete(), and tnfctl_fil-
ter_list_get() return TNFCTL_ERR_NONE upon success.
ERRORS
The following error codes apply to tnfctl_trace_state_set:
TNFCTL_ERR_BADARG The handle is not a kernel handle.
TNFCTL_ERR_NOBUF Cannot turn on tracing without a buffer being allocated.
TNFCTL_ERR_BUFBROKEN Tracing is broken in the target.
TNFCTL_ERR_INTERNAL An internal error occurred.
The following error codes apply to tnfctl_filter_state_set:
TNFCTL_ERR_BADARG The handle is not a kernel handle.
TNFCTL_ERR_INTERNAL An internal error occurred.
The following error codes apply to tnfctl_filter_list_add:
TNFCTL_ERR_BADARG The handle is not a kernel handle.
TNFCTL_ERR_NOPROCESS No such process exists.
TNFCTL_ERR_ALLOCFAIL A memory allocation failure occurred.
TNFCTL_ERR_INTERNAL An internal error occurred.
The following error codes apply to tnfctl_filter_list_delete:
TNFCTL_ERR_BADARG The handle is not a kernel handle.
TNFCTL_ERR_NOPROCESS No such process exists.
TNFCTL_ERR_INTERNAL An internal error occurred.
The following error codes apply to tnfctl_filter_list_get:
TNFCTL_ERR_BADARG The handle is not a kernel handle.
TNFCTL_ERR_ALLOCFAIL A memory allocation failure occurred.
TNFCTL_ERR_INTERNAL An internal error occurred.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWtnfc |
+-----------------------------+-----------------------------+
|MT Level |MT-Safe |
+-----------------------------+-----------------------------+
SEE ALSO prex(1), TNF_PROBE(3TNF), free(3C), libtnfctl(3TNF), tnfctl_kernel_open(3TNF), tnfctl_trace_attrs_get(3TNF), tracing(3TNF), tnf_ker-
nel_probes(4), attributes(5)SunOS 5.11 4 Mar 1997 tnfctl_trace_state_set(3TNF)