# posix_trace_eventset_add

## 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_eventset_add, posix_trace_eventset_del,
           posix_trace_eventset_empty, posix_trace_eventset_fill,
           posix_trace_eventset_ismember — manipulate trace event type sets
           (**TRACING**)
    


## SYNOPSIS



           #include <trace.h>
    
           int posix_trace_eventset_add(trace_event_id_t _event_id_ ,
               trace_event_set_t *_set_);
           int posix_trace_eventset_del(trace_event_id_t _event_id_ ,
               trace_event_set_t *_set_);
           int posix_trace_eventset_empty(trace_event_set_t *_set_);
           int posix_trace_eventset_fill(trace_event_set_t *_set_ , int _what_);
           int posix_trace_eventset_ismember(trace_event_id_t _event_id_ ,
               const trace_event_set_t *restrict _set_ , int *restrict _ismember_);
    


## DESCRIPTION



           These  primitives  manipulate  sets  of  trace  event  types. They
           operate on data objects addressable by the application, not on the
           current trace event filter of any trace stream.
    
           The  _posix_trace_eventset_add_()   and   _posix_trace_eventset_del_()
           functions,  respectively, shall add or delete the individual trace
           event type specified by the value of the argument _event_id_  to  or
           from  the  trace  event  type  set pointed to by the argument _set_.
           Adding a trace event type already in the set or deleting  a  trace
           event type not in the set shall not be considered an error.
    
           The  _posix_trace_eventset_empty_()  function  shall  initialize the
           trace event type set pointed to by the _set_ argument such that  all
           trace event types defined, both system and user, shall be excluded
           from the set.
    
           The  _posix_trace_eventset_fill_()  function  shall  initialize  the
           trace event type set pointed to by the argument _set_ , such that the
           set of trace event types defined by the  argument  _what_  shall  be
           included  in the set. The value of the argument _what_ shall consist
           of one of the  following  values,  as  defined  in  the  _< trace.h>_
           header:
    
           POSIX_TRACE_WOPID_EVENTS
                 All the process-independent implementation-defined system
                 trace event types are included in the set.
    
           POSIX_TRACE_SYSTEM_EVENTS
                 All the implementation-defined system trace event types are
                 included in the set, as are those defined in POSIX.1‐2008.
    
           POSIX_TRACE_ALL_EVENTS
                 All trace event types defined, both system and user, are
                 included in the set.
    
           Applications shall call either _posix_trace_eventset_empty_() or
           _posix_trace_eventset_fill_() at least once for each object of type
           **trace_event_set_t** prior to any other use of that object. If such
           an object is not initialized in this way, but is nonetheless
           supplied as an argument to any of the _posix_trace_eventset_add_(),
           _posix_trace_eventset_del_(), or _posix_trace_eventset_ismember_()
           functions, the results are undefined.
    
           The _posix_trace_eventset_ismember_() function shall test whether
           the trace event type specified by the value of the argument
           _event_id_ is a member of the set pointed to by the argument _set_.
           The value returned in the object pointed to by _ismember_ argument
           is zero if the trace event type identifier is not a member of the
           set and a value different from zero if it is a member of the set.
    


## RETURN VALUE



           Upon successful completion, these functions shall return a value
           of zero. Otherwise, they shall return the corresponding error
           number.
    


## ERRORS



           These functions may fail if:
    
           **EINVAL** The value of one of the arguments is invalid.
    
           _The following sections are informative._
    


## EXAMPLES



           None.
    


## APPLICATION USAGE



           None.
    


## RATIONALE



           None.
    


## FUTURE DIRECTIONS



           The _posix_trace_eventset_add_(), _posix_trace_eventset_del_(),
           _posix_trace_eventset_empty_(), _posix_trace_eventset_fill_(), and
           _posix_trace_eventset_ismember_() functions may be removed in a
           future version.
    


* * *