1706f2543Smrg/* 2706f2543Smrg * Copyright © 2004 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#ifndef _FBDEV_H_ 24706f2543Smrg#define _FBDEV_H_ 25706f2543Smrg#include <stdio.h> 26706f2543Smrg#include <unistd.h> 27706f2543Smrg#include "kdrive.h" 28706f2543Smrg 29706f2543Smrg#ifdef RANDR 30706f2543Smrg#include "randrstr.h" 31706f2543Smrg#endif 32706f2543Smrg 33706f2543Smrgtypedef struct _fakePriv { 34706f2543Smrg CARD8 *base; 35706f2543Smrg int bytes_per_line; 36706f2543Smrg} FakePriv; 37706f2543Smrg 38706f2543Smrgtypedef struct _fakeScrPriv { 39706f2543Smrg Rotation randr; 40706f2543Smrg Bool shadow; 41706f2543Smrg} FakeScrPriv; 42706f2543Smrg 43706f2543Smrgextern KdCardFuncs fakeFuncs; 44706f2543Smrg 45706f2543SmrgBool 46706f2543SmrgfakeInitialize (KdCardInfo *card, FakePriv *priv); 47706f2543Smrg 48706f2543SmrgBool 49706f2543SmrgfakeCardInit (KdCardInfo *card); 50706f2543Smrg 51706f2543SmrgBool 52706f2543SmrgfakeScreenInit (KdScreenInfo *screen); 53706f2543Smrg 54706f2543SmrgBool 55706f2543SmrgfakeScreenInitialize (KdScreenInfo *screen, FakeScrPriv *scrpriv); 56706f2543Smrg 57706f2543SmrgBool 58706f2543SmrgfakeInitScreen (ScreenPtr pScreen); 59706f2543Smrg 60706f2543SmrgBool 61706f2543SmrgfakeFinishInitScreen (ScreenPtr pScreen); 62706f2543Smrg 63706f2543SmrgBool 64706f2543SmrgfakeCreateResources (ScreenPtr pScreen); 65706f2543Smrg 66706f2543Smrgvoid 67706f2543SmrgfakePreserve (KdCardInfo *card); 68706f2543Smrg 69706f2543SmrgBool 70706f2543SmrgfakeEnable (ScreenPtr pScreen); 71706f2543Smrg 72706f2543SmrgBool 73706f2543SmrgfakeDPMS (ScreenPtr pScreen, int mode); 74706f2543Smrg 75706f2543Smrgvoid 76706f2543SmrgfakeDisable (ScreenPtr pScreen); 77706f2543Smrg 78706f2543Smrgvoid 79706f2543SmrgfakeRestore (KdCardInfo *card); 80706f2543Smrg 81706f2543Smrgvoid 82706f2543SmrgfakeScreenFini (KdScreenInfo *screen); 83706f2543Smrg 84706f2543Smrgvoid 85706f2543SmrgfakeCardFini (KdCardInfo *card); 86706f2543Smrg 87706f2543Smrgvoid 88706f2543SmrgfakeGetColors (ScreenPtr pScreen, int n, xColorItem *pdefs); 89706f2543Smrg 90706f2543Smrgvoid 91706f2543SmrgfakePutColors (ScreenPtr pScreen, int n, xColorItem *pdefs); 92706f2543Smrg 93706f2543SmrgBool 94706f2543SmrgfakeMapFramebuffer (KdScreenInfo *screen); 95706f2543Smrg 96706f2543Smrgvoid * 97706f2543SmrgfakeWindowLinear (ScreenPtr pScreen, 98706f2543Smrg CARD32 row, 99706f2543Smrg CARD32 offset, 100706f2543Smrg int mode, 101706f2543Smrg CARD32 *size, 102706f2543Smrg void *closure); 103706f2543Smrg 104706f2543Smrgvoid 105706f2543SmrgfakeSetScreenSizes (ScreenPtr pScreen); 106706f2543Smrg 107706f2543SmrgBool 108706f2543SmrgfakeUnmapFramebuffer (KdScreenInfo *screen); 109706f2543Smrg 110706f2543SmrgBool 111706f2543SmrgfakeSetShadow (ScreenPtr pScreen); 112706f2543Smrg 113706f2543SmrgBool 114706f2543SmrgfakeCreateColormap (ColormapPtr pmap); 115706f2543Smrg 116706f2543Smrg#ifdef RANDR 117706f2543SmrgBool 118706f2543SmrgfakeRandRGetInfo (ScreenPtr pScreen, Rotation *rotations); 119706f2543Smrg 120706f2543SmrgBool 121706f2543SmrgfakeRandRSetConfig (ScreenPtr pScreen, 122706f2543Smrg Rotation randr, 123706f2543Smrg int rate, 124706f2543Smrg RRScreenSizePtr pSize); 125706f2543SmrgBool 126706f2543SmrgfakeRandRInit (ScreenPtr pScreen); 127706f2543Smrg 128706f2543Smrg#endif 129706f2543Smrg 130706f2543Smrgextern KdPointerDriver FakePointerDriver; 131706f2543Smrg 132706f2543Smrgextern KdKeyboardDriver FakeKeyboardDriver; 133706f2543Smrg 134706f2543Smrgextern KdOsFuncs FakeOsFuncs; 135706f2543Smrg 136706f2543Smrg#endif /* _FBDEV_H_ */ 137