AFIfEvent(3)							 AFIfEvent(3)



NAME
  AFIfEvent, AFCheckIfEvent, AFPeekIfEvent - check the event queue with	a
  predicate procedure

SYNTAX
  #include <AF/AFlib.h>

  void AFIfEvent (AFAudioConn *aud, AFEvent *event_return,
					  ABool	(*predicate)(),	char *arg)

  ABool	AFCheckIfEvent (AFAudioConn *aud, AFEvent *event_return,
					  ABool	(*predicate)(),	char *arg)

  void AFPeekIfEvent (AFAudioConn *aud,	AFEvent	*event_return,
					  ABool	(*predicate)(),	char *arg)

ARGUMENTS

  arg	    Specifies the user-supplied	argument that will be passed to	the
	    predicate procedure.

  aud	    Specifies the connection to	the AF server.

  event_return
	    Returns either a copy of or	the matched event's associated struc-
	    ture.

  predicate Specifies the procedure that is to be called to determine if the
	    next event in the queue matches what you want.

DESCRIPTION
  The AFIfEvent	function completes only	when the specified predicate pro-
  cedure returns ATrue for an event, which indicates an	event in the queue
  matches.  AFIfEvent flushes the output buffer	if it blocks waiting for
  additional events.  AFIfEvent	removes	the matching event from	the queue and
  copies the structure into the	client-supplied	AFEvent	structure.

  When the predicate procedure finds a match, AFCheckIfEvent copies the
  matched event	into the client-supplied AFEvent structure and returns ATrue.
  (This	event is removed from the queue.) If the predicate procedure finds no
  match, AFCheckIfEvent	returns	AFalse,	and the	output buffer will have	been
  flushed.  All	earlier	events stored in the queue are not discarded.

  The AFPeekIfEvent function returns only when the specified predicate pro-
  cedure returns ATrue for an event.  After the	predicate procedure finds a
  match, AFPeekIfEvent copies the matched event	into the client-supplied
  AFEvent structure without removing the event from the	queue.	AFPeekIfEvent
  flushes the output buffer if it blocks waiting for additional	events.

SEE ALSO
  AFNextEvent(3), AF(1)


BUGS
  If you encounter a reproducible bug, please submit a problem report to
  (af-bugs@crl.dec.com).



COPYRIGHT
  Copyright 1990-1994, Digital Equipment Corporation.
  See AF(1) for	a full statement of rights and permissions.

AUTHORS
  Digital Cambridge Research Lab