Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
XGetEventData(3)		XLIB FUNCTIONS		      XGetEventData(3)

NAME
       XGetEventData,  XFreeEventData, XGenericEventCookie - retrieve and free
       additional event	data through cookies.

SYNTAX
       Bool XGetEventData(Display *display, XGenericEventCookie	*cookie);

       void XFreeEventData(Display *display, XGenericEventCookie *cookie);

ARGUMENTS
       display	 Specifies the connection to the X server.

       cookie	 Specifies the cookie to free or retrieve the data for.

STRUCTURES
       typedef struct {
	       int type;
	       unsigned	long serial;
	       Bool send_event;
	       Display *display;
	       int extension;
	       int evtype;
	       unsigned	int cookie;
	       void *data;
       } XGenericEventCookie;

DESCRIPTION
       Some extension XGenericEvents require additional	memory to store	infor-
       mation.	 For  these  events, the library returns a XGenericEventCookie
       with a token ('cookie')	unique	to  this  event.   The	XGenericEvent-
       Cookie's	data pointer is	undefined until	XGetEventData is called.

       The  XGetEventData  function  retrieves	this  extra data for the given
       cookie.	No round-trip to the server is required.  If the cookie	is in-
       valid or	the event is not an event handled by cookie handlers, False is
       returned.  If XGetEventData returns True,  the  cookie's	 data  pointer
       points  to  the memory containing the event information.	 A client must
       call XFreeEventData to free this	memory.	 XGetEventData	returns	 False
       for multiple calls for the same event cookie.

       The XFreeEventData function frees the data associated with a cookie.  A
       client must call	XFreeEventData for each	cookie claimed with XGetEvent-
       Data.

EXAMPLE	CODE
       XEvent event;
       XGenericEventCookie *cookie = &ev;

       XNextEvent(display, &event);
       if (XGetEventData(display, cookie)) {
	   handle_cookie_event(cookie->data);
       } else
	   handle_event(&event);
       }
       XFreeEventData(display, cookie);

NOTES
       A  cookie is defined as unclaimed if it has been	returned to the	client
       through XNextEvent but its data has not been retrieved  via  XGetEvent-
       Data.   Subsequent  calls to XNextEvent may free	memory associated with
       unclaimed  cookies.   Multi-threaded  X	clients	  must	 ensure	  that
       XGetEventData is	called before the next call to XNextEvent.

SEE ALSO
       XNextEvent(3),
       Xlib - C	Language X Interface

X Version 11			 libX11	1.6.12		      XGetEventData(3)

NAME | SYNTAX | ARGUMENTS | STRUCTURES | DESCRIPTION | EXAMPLE CODE | NOTES | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=XGetEventData&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help