geint.h revision 03532efdc331b598d3dedc8cc7477641c3b0dd12
fa9e4066f08beec538e775443c5be79dd423fcabahrens/*
fa9e4066f08beec538e775443c5be79dd423fcabahrens * Copyright 2007-2008 Peter Hutterer
fa9e4066f08beec538e775443c5be79dd423fcabahrens *
fa9e4066f08beec538e775443c5be79dd423fcabahrens * Permission is hereby granted, free of charge, to any person obtaining a
ea8dc4b6d2251b437950c0056bc626b311c73c27eschrock * copy of this software and associated documentation files (the "Software"),
ea8dc4b6d2251b437950c0056bc626b311c73c27eschrock * to deal in the Software without restriction, including without limitation
fa9e4066f08beec538e775443c5be79dd423fcabahrens * the rights to use, copy, modify, merge, publish, distribute, sublicense,
fa9e4066f08beec538e775443c5be79dd423fcabahrens * and/or sell copies of the Software, and to permit persons to whom the
fa9e4066f08beec538e775443c5be79dd423fcabahrens * Software is furnished to do so, subject to the following conditions:
fa9e4066f08beec538e775443c5be79dd423fcabahrens *
fa9e4066f08beec538e775443c5be79dd423fcabahrens * The above copyright notice and this permission notice (including the next
fa9e4066f08beec538e775443c5be79dd423fcabahrens * paragraph) shall be included in all copies or substantial portions of the
fa9e4066f08beec538e775443c5be79dd423fcabahrens * Software.
fa9e4066f08beec538e775443c5be79dd423fcabahrens *
fa9e4066f08beec538e775443c5be79dd423fcabahrens * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
fa9e4066f08beec538e775443c5be79dd423fcabahrens * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
fa9e4066f08beec538e775443c5be79dd423fcabahrens * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
fa9e4066f08beec538e775443c5be79dd423fcabahrens * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
fa9e4066f08beec538e775443c5be79dd423fcabahrens * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
fa9e4066f08beec538e775443c5be79dd423fcabahrens * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
fa9e4066f08beec538e775443c5be79dd423fcabahrens * DEALINGS IN THE SOFTWARE.
8d18220deb04ec7b12410cd90deb4d45e66d49bfMark J Musante *
daec38ecb4fb5e73e4ca9e99be84f6b8c50c02faJoe Stein * Author: Peter Hutterer, University of South Australia, NICTA
9dc3941c735ef88de46e850f745aa556d3a071a5Sašo Kiselkov */
c3d26abc9ee97b4f60233556aadeb57e0bd30bb9Matthew Ahrens#ifdef HAVE_DIX_CONFIG_H
fa9e4066f08beec538e775443c5be79dd423fcabahrens#include <dix-config.h>
fa9e4066f08beec538e775443c5be79dd423fcabahrens#endif
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens#ifndef _GEINT_H_
fa9e4066f08beec538e775443c5be79dd423fcabahrens#define _GEINT_H_
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens#include <X11/X.h>
fa9e4066f08beec538e775443c5be79dd423fcabahrens#include <X11/Xproto.h>
fa9e4066f08beec538e775443c5be79dd423fcabahrens#include "misc.h"
0713e232b7712cd27d99e1e935ebb8d5de61c57dGeorge Wilson#include "os.h"
2e4c998613148111f2fc5371085331ffb39122ffGeorge Wilson#include "dixstruct.h"
fa9e4066f08beec538e775443c5be79dd423fcabahrens#include "extnsionst.h"
0f7643c7376dd69a08acbfc9d1d7d548b10c846aGeorge Wilson#include <X11/extensions/geproto.h>
0f7643c7376dd69a08acbfc9d1d7d548b10c846aGeorge Wilson
09c9d376e8ccb8fbba74f33cc268964464092b62George Wilsonextern _X_EXPORT DevPrivateKeyRec GEClientPrivateKeyRec;
13506d1eefbbc37e2f12a0528831d9f6d4c361d7maybee
e05725b117836db173257fae43fb0746eb857fb5bonwick#define GEClientPrivateKey (&GEClientPrivateKeyRec)
13506d1eefbbc37e2f12a0528831d9f6d4c361d7maybee
16a4a8074274d2d7cc408589cf6359f4a378c861George Wilsontypedef struct _GEClientInfo {
16a4a8074274d2d7cc408589cf6359f4a378c861George Wilson CARD32 major_version;
16a4a8074274d2d7cc408589cf6359f4a378c861George Wilson CARD32 minor_version;
8363e80ae72609660f6090766ca8c2c18aa53f0cGeorge Wilson} GEClientInfoRec, *GEClientInfoPtr;
16a4a8074274d2d7cc408589cf6359f4a378c861George Wilson
16a4a8074274d2d7cc408589cf6359f4a378c861George Wilson#define GEGetClient(pClient) ((GEClientInfoPtr)(dixLookupPrivate(&((pClient)->devPrivates), GEClientPrivateKey)))
16a4a8074274d2d7cc408589cf6359f4a378c861George Wilson
16a4a8074274d2d7cc408589cf6359f4a378c861George Wilsonextern _X_EXPORT int (*ProcGEVector[ /*GENumRequests */ ]) (ClientPtr);
2a104a5236475eb73aa41eaaf3ed9f3ccbe0ca55Alex Reeceextern _X_EXPORT int (*SProcGEVector[ /*GENumRequests */ ]) (ClientPtr);
2a104a5236475eb73aa41eaaf3ed9f3ccbe0ca55Alex Reece
2a104a5236475eb73aa41eaaf3ed9f3ccbe0ca55Alex Reece#endif /* _GEINT_H_ */
b1be2892dd07cf9a97d47ad06334cdc879196aafMatthew Ahrens