1706f2543Smrg/* 2706f2543Smrg * Copyright © 1998 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#include "fb.h" 28706f2543Smrg 29706f2543Smrg#ifdef FB_SCREEN_PRIVATE 30706f2543Smrgstatic DevPrivateKeyRec fbScreenPrivateKeyRec; 31706f2543SmrgDevPrivateKey 32706f2543SmrgfbGetScreenPrivateKey(void) { return &fbScreenPrivateKeyRec; } 33706f2543Smrg#endif 34706f2543Smrg 35706f2543Smrgstatic DevPrivateKeyRec fbGCPrivateKeyRec; 36706f2543SmrgDevPrivateKey 37706f2543SmrgfbGetGCPrivateKey (void) { return &fbGCPrivateKeyRec; } 38706f2543Smrg 39706f2543Smrgstatic DevPrivateKeyRec fbWinPrivateKeyRec; 40706f2543SmrgDevPrivateKey 41706f2543SmrgfbGetWinPrivateKey (void) { return &fbWinPrivateKeyRec; } 42706f2543Smrg 43706f2543SmrgBool 44706f2543SmrgfbAllocatePrivates(ScreenPtr pScreen, DevPrivateKey *pGCKey) 45706f2543Smrg{ 46706f2543Smrg if (pGCKey) 47706f2543Smrg *pGCKey = &fbGCPrivateKeyRec; 48706f2543Smrg 49706f2543Smrg if (!dixRegisterPrivateKey(&fbGCPrivateKeyRec, PRIVATE_GC, sizeof(FbGCPrivRec))) 50706f2543Smrg return FALSE; 51706f2543Smrg#ifdef FB_SCREEN_PRIVATE 52706f2543Smrg if (!dixRegisterPrivateKey(&fbScreenPrivateKeyRec, PRIVATE_SCREEN, sizeof (FbScreenPrivRec))) 53706f2543Smrg return FALSE; 54706f2543Smrg#endif 55706f2543Smrg if (!dixRegisterPrivateKey(&fbWinPrivateKeyRec, PRIVATE_WINDOW, 0)) 56706f2543Smrg return FALSE; 57706f2543Smrg 58706f2543Smrg return TRUE; 59706f2543Smrg} 60706f2543Smrg 61706f2543Smrg#ifdef FB_ACCESS_WRAPPER 62706f2543SmrgReadMemoryProcPtr wfbReadMemory; 63706f2543SmrgWriteMemoryProcPtr wfbWriteMemory; 64706f2543Smrg#endif 65