# posix_trace_get_attr

## PROLOG



           This manual page is part of the POSIX Programmer's Manual.  The
           Linux implementation of this interface may differ (consult the
           corresponding Linux manual page for details of Linux behavior), or
           the interface may not be implemented on Linux.
    


## NAME



           posix_trace_get_attr, posix_trace_get_status — retrieve the trace
           attributes or trace status (**TRACING**)
    


## SYNOPSIS



           #include <trace.h>
    
           int posix_trace_get_attr(trace_id_t _trid_ , trace_attr_t *_attr_);
           int posix_trace_get_status(trace_id_t _trid_ ,
               struct posix_trace_status_info *_statusinfo_);
    


## DESCRIPTION



           The _posix_trace_get_attr_() function shall copy the attributes of
           the active trace stream identified by _trid_ into the object pointed
           to by the _attr_ argument.  If the Trace Log option is supported,
           _trid_ may represent a pre-recorded trace log.
    
           The _posix_trace_get_status_() function shall return, in the
           structure pointed to by the _statusinfo_ argument, the current trace
           status for the trace stream identified by the _trid_ argument. These
           status values returned in the structure pointed to by _statusinfo_
           shall have been appropriately read to ensure that the returned
           values are consistent.  If the Trace Log option is supported and
           the _trid_ argument refers to a pre-recorded trace stream, the
           status shall be the status of the completed trace stream.
    
           Each time the _posix_trace_get_status_() function is used, the
           overrun status of the trace stream shall be reset to
           POSIX_TRACE_NO_OVERRUN immediately after the call completes.  If
           the Trace Log option is supported, the _posix_trace_get_status_()
           function shall behave the same as when the option is not supported
           except for the following differences:
    
            *  If the _trid_ argument refers to a trace stream with log, each
               time the _posix_trace_get_status_() function is used, the log
               overrun status of the trace stream shall be reset to
               POSIX_TRACE_NO_OVERRUN and the _flush_error_ status shall be
               reset to zero immediately after the call completes.
    
            *  If the _trid_ argument refers to a pre-recorded trace stream,
               the status returned shall be the status of the completed trace
               stream and the status values of the trace stream shall not be
               reset.
    


## RETURN VALUE



           Upon successful completion, these functions shall return a value
           of zero. Otherwise, they shall return the corresponding error
           number.
    
           The _posix_trace_get_attr_() function stores the trace attributes in
           the object pointed to by _attr_ , if successful.
    
           The _posix_trace_get_status_() function stores the trace status in
           the object pointed to by _statusinfo_ , if successful.
    


## ERRORS



           These functions shall fail if:
    
           **EINVAL** The trace stream argument _trid_ does not correspond to a
                  valid active trace stream or a valid trace log.
    
           _The following sections are informative._
    


## EXAMPLES



           None.
    


## APPLICATION USAGE



           None.
    


## RATIONALE



           None.
    


## FUTURE DIRECTIONS



           The _posix_trace_get_attr_() and _posix_trace_get_status_() functions
           may be removed in a future version.
    


* * *