TNF Library Functions tnfctl_buffer_alloc(3TNF)
NAME
tnfctl_buffer_alloc, tnfctl_buffer_dealloc - allocate or
deallocate a buffer for trace dataSYNOPSIS
cc [ flag ... ] file ... -ltnfctl [ library ... ]
#include
tnfctl_errcode_t tnfctl_buffer_alloc(tnfctl_handle_t *hndl,
const char *trace_file_name, size_t trace_buffer_size);
tnfctl_buffer_dealloc(tnfctl_handle_t *hndl);
DESCRIPTION
tnfctl_buffer_alloc() allocates a buffer to which trace
events are logged. When tracing a process using a tnfctlhandle returned by tnfctl_pid_open(3TNF),
tnfctl_exec_open(3TNF), tnfctl_indirect_open(3TNF), and
tnfctl_internal_open(3TNF)), trace_file_name is the name of
the trace file to which trace events should be logged. It can be an absolute path specification or a relative pathspecification. If it is relative, the current working direc-
tory of the process that is calling tnfctl_buffer_alloc()
is prefixed to trace_file_name. If the named trace file
already exists, it is overwritten. For kernel tracing, that is, for a tnfctl handle returned bytnfctl_kernel_open(3TNF), trace events are logged to a trace
buffer in memory; therefore, trace_file_name is ignored.
Use tnfxtract(1) to extract a kernel buffer into a file.trace_buffer_size is the size in bytes of the trace buffer
that should be allocated. An error is returned if an attempt is made to allocate a buffer when one already exists.tnfctl_buffer_alloc() affects the trace attributes; use
tnfctl_trace_attrs_get(3TNF) to get the latest trace attri-
butes after a buffer is allocated.tnfctl_buffer_dealloc() is used to deallocate a kernel trace
buffer that is no longer needed. hndl must be a kernel han-
dle, returned by tnfctl_kernel_open(3TNF). A process's trace
file cannot be deallocated using tnfctl_buffer_dealloc().
Instead, once the trace file is no longer needed for analysis and after the process being traced exits, use rm(1) to remove the trace file. Do not remove the trace file while the process being traced is still alive.tnfctl_buffer_dealloc() affects the trace attributes; use
tnfctl_trace_attrs_get(3TNF) to get the latest trace attri-
butes after a buffer is deallocated.SunOS 5.11 Last change: 4 Mar 1997 1
TNF Library Functions tnfctl_buffer_alloc(3TNF)
For a complete discussion of tnf tracing, see tracing(3TNF).RETURN VALUES
tnfctl_buffer_alloc() and tnfctl_buffer_dealloc() return
TNFCTL_ERR_NONE upon success.
ERRORS
The following error codes apply to tnfctl_buffer_alloc():
TNFCTL_ERR_BUFEXISTS A buffer already exists.
TNFCTL_ERR_ACCES Permission denied; could not
create a trace file.TNFCTL_ERR_SIZETOOSMALL The trace_buffer_size requested
is smaller than the minimum trace buffer size needed. Usetrace_min_size of trace attri-
butes intnfctl_trace_attrs_get(3TNF) to
determine the minimum size of the buffer.TNFCTL_ERR_SIZETOOBIG The requested trace file size is
too big.TNFCTL_ERR_BADARG trace_file_name is NULL or the
absolute path name is longer than MAXPATHLEN.TNFCTL_ERR_ALLOCFAIL A memory allocation failure
occurred.TNFCTL_ERR_INTERNAL An internal error occurred.
The following error codes apply to tnfctl_buffer_dealloc():
TNFCTL_ERR_BADARG hndl is not a kernel handle.
TNFCTL_ERR_NOBUF No buffer exists to deallocate.
SunOS 5.11 Last change: 4 Mar 1997 2
TNF Library Functions tnfctl_buffer_alloc(3TNF)
TNFCTL_ERR_BADDEALLOC Cannot deallocate a trace buffer
unless tracing is stopped. Usetnfctl_trace_state_set(3TNF) to
stop tracing.TNFCTL_ERR_INTERNAL An internal error occurred.
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | system/tnf ||_____________________________|_____________________________|
| MT Level | MT-Safe |
|_____________________________|_____________________________|
SEE ALSO
prex(1), rm(1), tnfxtract(1), TNF_PROBE(3TNF),
libtnfctl(3TNF), tnfctl_exec_open(3TNF),
tnfctl_indirect_open(3TNF), tnfctl_internal_open(3TNF),
tnfctl_kernel_open(3TNF), tnfctl_pid_open(3TNF),
tnfctl_trace_attrs_get(3TNF), tracing(3TNF), attributes(5)
SunOS 5.11 Last change: 4 Mar 1997 3