Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

auscanevents(3) [debian man page]

AuScanEvents(3) 					     Library Functions Manual						   AuScanEvents(3)

Name
       AuScanEvents - return the first event that satisfies the predicate

Synopsis
       #include <audio/audiolib.h>

       AuBool AuScanEvents(server, mode, dequeue, predicate, arg, event)
	   AuServer *server;
	   int mode;
	   AuBool dequeue;
	   AuBool (*predicate)(AuServer *,AuEvent *, AuPointer);
	   AuPointer arg;
	   AuEvent *event; /* RETURN */

Arguments
       server	 Specifies the connection to the audio server.

       mode	 Specifies how far to look for a match.  This should be one of these constants: AuEventsQueuedAlready, AuEventsQueuedAfterReading,
		 or AuEventsQueuedAfterFlush.

       dequeue	 Specifies if a matching event is found, should it be removed from the queue.

       predicate Specifies the procedure that is called to determine if an event matches the criteria.

       arg	 Specifies any additional arguments to be passed to the predicate procedure.

       event	 Returns the matching event if found.

Description
       AuScanEvents scans the event queue looking for the first event that satisfies the caller-supplied predicate.  If mode is  AuEventsQueuedAl-
       ready,  AuScanEvents  only checks for events already in the queue.  If mode is AuEventsQueuedAfterReading, and a matching event isn't found
       already in the queue, AuScanEvents attempts to read more events out of the application's connection.  If mode  is  AuEventsQueuedAfterFlush
       and  a  matching  event	isn't already in the queue or isn't waiting to be read, AuScanEvents flushes the output queue and attempts to read
       more events out of the application's connection.  If dequeue is AuTrue, and a matching event is found, it is removed from the  queue.   The
       predicate procedure is called with the arguments server, event, and arg and should return AuTrue to indicate a match.

See Also
       AuEventsQueued, AuScanForTypedEvent, AuNextEvent.

       audiolib - Network Audio System C Language Interface

audiolib - event handling					       1.9.3							   AuScanEvents(3)

Check Out this Related Man Page

XIfEvent(3)							  XLIB FUNCTIONS						       XIfEvent(3)

NAME
XIfEvent, XCheckIfEvent, XPeekIfEvent - check the event queue with a predicate procedure SYNTAX
int XIfEvent(Display *display, XEvent *event_return, Bool (*predicate)(), XPointer arg); Bool XCheckIfEvent(Display *display, XEvent *event_return, Bool (*predicate)(), XPointer arg); int XPeekIfEvent(Display *display, XEvent *event_return, Bool (*predicate)(), XPointer arg); ARGUMENTS
arg Specifies the user-supplied argument that will be passed to the predicate procedure. display Specifies the connection to the X server. event_return Returns either a copy of or the matched event's associated structure. predicate Specifies the procedure that is to be called to determine if the next event in the queue matches what you want. DESCRIPTION
The XIfEvent function completes only when the specified predicate procedure returns True for an event, which indicates an event in the queue matches. XIfEvent flushes the output buffer if it blocks waiting for additional events. XIfEvent removes the matching event from the queue and copies the structure into the client-supplied XEvent structure. When the predicate procedure finds a match, XCheckIfEvent copies the matched event into the client-supplied XEvent structure and returns True. (This event is removed from the queue.) If the predicate procedure finds no match, XCheckIfEvent returns False, and the output buf- fer will have been flushed. All earlier events stored in the queue are not discarded. The XPeekIfEvent function returns only when the specified predicate procedure returns True for an event. After the predicate procedure finds a match, XPeekIfEvent copies the matched event into the client-supplied XEvent structure without removing the event from the queue. XPeekIfEvent flushes the output buffer if it blocks waiting for additional events. Each of these functions requires you to pass a predicate procedure that determines if an event matches what you want. Your predicate pro- cedure must decide if the event is useful without calling any Xlib functions. If the predicate directly or indirectly causes the state of the event queue to change, the result is not defined. If Xlib has been initialized for threads, the predicate is called with the display locked and the result of a call by the predicate to any Xlib function that locks the display is not defined unless the caller has first called XLockDisplay. The predicate procedure and its associated arguments are: Bool (*predicate)(Display *display, XEvent *event, XPointer arg) display Specifies the connection to the X server. event Specifies the XEvent structure. arg Specifies the argument passed in from the XIfEvent, XCheckIfEvent, or XPeekIfEvent function. The predicate procedure is called once for each event in the queue until it finds a match. After finding a match, the predicate procedure must return True. If it did not find a match, it must return False. SEE ALSO
XAnyEvent(3), XNextEvent(3), XPutBackEvent(3) XSendEvent(3) Xlib - C Language X Interface X Version 11 libX11 1.5.0 XIfEvent(3)
Man Page