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 |
+---------------+-----------------+
|MT Level | MT-Safe |
+---------------+-----------------+

SEE ALSO


prex(1), fuser(1M), TNF_PROBE(3TNF), libtnfctl(3TNF), tracing(3TNF),
tnf_kernel_probes(4), attributes(5)


March 4, 1997 TNFCTL_KERNEL_OPEN(3TNF)