1706f2543Smrg/* 2706f2543Smrg * Copyright © 2002 Keith Packard 3706f2543Smrg * 4706f2543Smrg * Permission to use, copy, modify, distribute, and sell this software and its 5706f2543Smrg * documentation for any purpose is hereby granted without fee, provided that 6706f2543Smrg * the above copyright notice appear in all copies and that both that 7706f2543Smrg * copyright notice and this permission notice appear in supporting 8706f2543Smrg * documentation, and that the name of Keith Packard not be used in 9706f2543Smrg * advertising or publicity pertaining to distribution of the software without 10706f2543Smrg * specific, written prior permission. Keith Packard makes no 11706f2543Smrg * representations about the suitability of this software for any purpose. It 12706f2543Smrg * is provided "as is" without express or implied warranty. 13706f2543Smrg * 14706f2543Smrg * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 15706f2543Smrg * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO 16706f2543Smrg * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR 17706f2543Smrg * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 18706f2543Smrg * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 19706f2543Smrg * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 20706f2543Smrg * PERFORMANCE OF THIS SOFTWARE. 21706f2543Smrg */ 22706f2543Smrg 23706f2543Smrg#ifdef HAVE_DIX_CONFIG_H 24706f2543Smrg#include <dix-config.h> 25706f2543Smrg#endif 26706f2543Smrg 27706f2543Smrg#ifndef _XFIXES_H_ 28706f2543Smrg#define _XFIXES_H_ 29706f2543Smrg 30706f2543Smrg#include "resource.h" 31706f2543Smrg 32706f2543Smrgextern _X_EXPORT RESTYPE RegionResType; 33706f2543Smrgextern _X_EXPORT int XFixesErrorBase; 34706f2543Smrg 35706f2543Smrg#define VERIFY_REGION(pRegion, rid, client, mode) \ 36706f2543Smrg do { \ 37706f2543Smrg int err; \ 38706f2543Smrg err = dixLookupResourceByType((pointer *) &pRegion, rid, \ 39706f2543Smrg RegionResType, client, mode); \ 40706f2543Smrg if (err != Success) { \ 41706f2543Smrg client->errorValue = rid; \ 42706f2543Smrg return err; \ 43706f2543Smrg } \ 44706f2543Smrg } while (0) 45706f2543Smrg 46706f2543Smrg#define VERIFY_REGION_OR_NONE(pRegion, rid, client, mode) { \ 47706f2543Smrg pRegion = 0; \ 48706f2543Smrg if (rid) VERIFY_REGION(pRegion, rid, client, mode); \ 49706f2543Smrg} 50706f2543Smrg 51706f2543Smrgextern _X_EXPORT RegionPtr 52706f2543SmrgXFixesRegionCopy (RegionPtr pRegion); 53706f2543Smrg 54706f2543Smrg 55706f2543Smrg#endif /* _XFIXES_H_ */ 56