Xge.h revision 0760f5d2
1485f0483Smrg/*
20760f5d2Smrg * Copyright © 2007-2008 Peter Hutterer
3485f0483Smrg *
4485f0483Smrg * Permission is hereby granted, free of charge, to any person obtaining a
5485f0483Smrg * copy of this software and associated documentation files (the "Software"),
6485f0483Smrg * to deal in the Software without restriction, including without limitation
7485f0483Smrg * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8485f0483Smrg * and/or sell copies of the Software, and to permit persons to whom the
9485f0483Smrg * Software is furnished to do so, subject to the following conditions:
10485f0483Smrg *
11485f0483Smrg * The above copyright notice and this permission notice (including the next
12485f0483Smrg * paragraph) shall be included in all copies or substantial portions of the
13485f0483Smrg * Software.
14485f0483Smrg *
15485f0483Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16485f0483Smrg * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17485f0483Smrg * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
18485f0483Smrg * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19485f0483Smrg * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20485f0483Smrg * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21485f0483Smrg * DEALINGS IN THE SOFTWARE.
22485f0483Smrg *
23485f0483Smrg * Authors: Peter Hutterer, University of South Australia, NICTA
24485f0483Smrg *
25485f0483Smrg */
26485f0483Smrg
27485f0483Smrg
28485f0483Smrg/* XGE Client interfaces */
29485f0483Smrg
30485f0483Smrg#ifndef _XGE_H_
31485f0483Smrg#define _XGE_H_
32485f0483Smrg
33485f0483Smrg#include <X11/Xlib.h>
34485f0483Smrg#include <X11/Xfuncproto.h>
35485f0483Smrg
36485f0483Smrg_XFUNCPROTOBEGIN
37485f0483Smrg
38485f0483Smrg/**
39af9a7ee5Smrg * Generic Event mask.
40485f0483Smrg * To be used whenever a list of masks per extension has to be provided.
41485f0483Smrg *
42485f0483Smrg * But, don't actually use the CARD{8,16,32} types.  We can't get them them
43485f0483Smrg * defined here without polluting the namespace.
44485f0483Smrg */
45485f0483Smrgtypedef struct {
46485f0483Smrg    unsigned char       extension;
47485f0483Smrg    unsigned char       pad0;
48485f0483Smrg    unsigned short      pad1;
49485f0483Smrg    unsigned int      evmask;
50485f0483Smrg} XGenericEventMask;
51485f0483Smrg
52485f0483SmrgBool XGEQueryExtension(Display* dpy, int *event_basep, int *err_basep);
53485f0483SmrgBool XGEQueryVersion(Display* dpy, int *major, int* minor);
54485f0483Smrg
55485f0483Smrg_XFUNCPROTOEND
56485f0483Smrg
57485f0483Smrg#endif /* _XGE_H_ */
58