EVT_FilteredEventSpecifier

Contains information about a single event to monitor, including a filter used by the server to limit returned events.

Structure

  typedef struct EVT_FilteredEventSpecifier {
     int    eventType;
     int    eventStatus;
     char*  filter;
  };
  

Fields

eventType

Specifies an event type to monitor. For a complete listing of events, see LDAP Event Services in the LDAP and eDirectory Integration Guide.

eventStatus

Specifies the event status for which you would like to be notified. This can be one of the following values:

Status

Value

EVT_STATUS_ALL

0

EVT_STATUS_SUCCESS

1

EVT_STATUS_FAILURE

2

EVT_STATUS_ALL causes all events to be reported regardless of status. EVT_STATUS_SUCCESS causes only events with a successful result to be reported. EVT_STATUS_FAILURE causes only events with a failure result to be reported.

filter

Specifies a filter to limit events returned by the server. This event filter is patterned after the string representation of an LDAP search filter, and can filter based on any of the parameters returned in an event structure. See the remarks for additional information.

Remarks

An event filter is patterned after the string representation of an LDAP search filter. An event filter is contained in parenthesis "( )", and can filter events based on one or more values returned by an event.

For example, a value event (a change to an attribute value) returns the following nine parameters in an EVT_ValueInfo structure:

  verb
  perpetratorDN
  entryDN
  attributeName
  syntaxOID
  className
  timeStamp
  size
  value
  

When monitoring a value event, you can specify a filter based on one or more of the the nine values returned by this event.

For example, the following event filter causes the server to return only value events where the acted upon attribute is a title:

  (attributeName=title)
  

More complex event filters can be created using the same syntax as LDAP search filters.

  (&(entryDN=cn=user1,o=system)(perpetratorDN=cn=admin,o=system)(attributeName=fullName))
  
  (|(attributeName=modifiersName)(&(entryDN=cn=user1,o=system)(perpetratorDN=cn=admin,o=system)(attributeName=fullName)))
  

For additional information on LDAP search filters see Using Search Filters.