summaryrefslogtreecommitdiff
path: root/src/xine-engine/nvtvd.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/xine-engine/nvtvd.h')
-rw-r--r--src/xine-engine/nvtvd.h1263
1 files changed, 0 insertions, 1263 deletions
diff --git a/src/xine-engine/nvtvd.h b/src/xine-engine/nvtvd.h
deleted file mode 100644
index 85abd95c9..000000000
--- a/src/xine-engine/nvtvd.h
+++ /dev/null
@@ -1,1263 +0,0 @@
-/*
- * Copyright (C) 2000-2002 the xine project
- *
- * This file is part of xine, a free video player.
- *
- * xine is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * xine is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- *
- * $Id: nvtvd.h,v 1.4 2002/10/23 17:12:33 guenter Exp $
- *
- * nvtvd - Routines for communication with nvtvd.
- *
- * This is the combination of several files from the nvtvd package
- * by Dirk Thierbach <dthierbach@gmx.de>. They have been inserted into
- * one single file in order not to clutter the source filespace too much.
- * The only change has been the removal of some '#include' statements.
- *
- * This file contains (in this order):
- * Xdefs.h miscstruct.h xfree.h nv_tvchip.h backend.h back_client.h
- */
-
-
-/* $XFree86: xc/include/Xdefs.h,v 1.2 1999/08/22 06:21:20 dawes Exp $ */
-
-/***********************************************************
-
-Copyright (c) 1999 The XFree86 Project Inc.
-
-All Rights Reserved.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The XFree86 Project
-Inc. shall not be used in advertising or otherwise to promote the
-sale, use or other dealings in this Software without prior written
-authorization from The XFree86 Project Inc..
-
-*/
-
-/**
- ** Types definitions shared between server and clients
- **/
-
-#ifndef _XDEFS_H
-#define _XDEFS_H
-
-#ifdef _XSERVER64
-#include <Xmd.h>
-#endif
-
-#ifndef _XTYPEDEF_ATOM
-# define _XTYPEDEF_ATOM
-# ifndef _XSERVER64
-typedef unsigned long Atom;
-# else
-typedef CARD32 Atom;
-# endif
-#endif
-
-#ifndef Bool
-# ifndef _XTYPEDEF_BOOL
-# define _XTYPEDEF_BOOL
-typedef int Bool;
-# endif
-#endif
-
-#ifndef _XTYPEDEF_POINTER
-# define _XTYPEDEF_POINTER
-typedef void *pointer;
-#endif
-
-#ifndef _XTYPEDEF_CLIENTPTR
-typedef struct _Client *ClientPtr;
-# define _XTYPEDEF_CLIENTPTR
-#endif
-
-#ifndef _XTYPEDEF_XID
-# define _XTYPEDEF_XID
-# ifndef _XSERVER64
-typedef unsigned long XID;
-# else
-typedef CARD32 XID;
-# endif
-#endif
-
-#ifndef _XTYPEDEF_MASK
-# define _XTYPEDEF_MASK
-# ifndef _XSERVER64
-typedef unsigned long Mask;
-# else
-typedef CARD32 Mask;
-# endif
-#endif
-
-#ifndef _XTYPEDEF_FONTPTR
-# define _XTYPEDEF_FONTPTR
-typedef struct _Font *FontPtr; /* also in fonts/include/font.h */
-#endif
-
-#ifndef _XTYPEDEF_FONT
-# define _XTYPEDEF_FONT
-typedef XID Font;
-#endif
-
-#ifndef _XTYPEDEF_FSID
-# ifndef _XSERVER64
-typedef unsigned long FSID;
-# else
-typedef CARD32 FSID;
-# endif
-#endif
-
-typedef FSID AccContext;
-
-/* OS independant time value
- XXX Should probably go in Xos.h */
-typedef struct timeval **OSTimePtr;
-
-
-typedef void (* BlockHandlerProcPtr)(pointer /* blockData */,
- OSTimePtr /* pTimeout */,
- pointer /* pReadmask */);
-
-#endif
-/* Excerpt from: miscstruct.h and misc.h */
-
-/* $TOG: miscstruct.h /main/11 1998/02/09 14:29:04 kaleb $ */
-/***********************************************************
-
-Copyright 1987, 1998 The Open Group
-
-All Rights Reserved.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
- All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation, and that the name of Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
-ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-SOFTWARE.
-
-******************************************************************/
-/* $XFree86: xc/programs/Xserver/include/miscstruct.h,v 3.0 1996/02/18 03:45:10 dawes Exp $ */
-
-#ifndef MISCSTRUCT_H
-#define MISCSTRUCT_H 1
-
-/**** misc.h */
-
-#ifndef TRUE
-#define TRUE 1
-#endif
-
-#ifndef FALSE
-#define FALSE 0
-#endif
-
-/**** miscstruct.h */
-
-typedef struct _Box {
- short x1, y1, x2, y2;
-} BoxRec;
-
-typedef union _DevUnion {
- pointer ptr;
- long val;
- unsigned long uval;
- pointer (*fptr)(void);
-} DevUnion;
-
-#endif /* MISCSTRUCT_H */
-
-/* NVTV xfree -- Dirk Thierbach <dthierbach@gmx.de>
- *
- * Header: All definitions from xfree that are needed.
- *
- */
-
-#ifndef _XFREE_H
-#define _XFREE_H 1
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <X11/Xmd.h>
-
-#ifdef __GNUC__
-#ifndef DEBUG
-# define DEBUG(x) /*x*/
-#endif
-#define ErrorF(x...) fprintf(stderr,x)
-#else
-#ifndef DEBUG
-# define DEBUG(x) /*x*/
-#endif
-#define ErrorF(...) fprintf(stderr, __VA_ARGS__)
-#endif
-
-#define __inline__ inline
-
-/**** libc_wrapper.c */
-
-void xf86usleep(unsigned long usec);
-void xf86getsecs(long * secs, long * usecs);
-
-/**** include/os.h */
-
-/* modified for stdlib */
-
-#define xalloc(size) malloc(size)
-#define xnfcalloc(_num, _size) calloc(_num, _size)
-#define xcalloc(_num, _size) calloc(_num, _size)
-#define xfree(ptr) free(ptr)
-
-/**** common/compiler.h */
-
-#define MMIO_IN8(base, offset) \
- *(volatile CARD8 *)(((CARD8*)(base)) + (offset))
-#define MMIO_IN16(base, offset) \
- *(volatile CARD16 *)(void *)(((CARD8*)(base)) + (offset))
-#define MMIO_IN32(base, offset) \
- *(volatile CARD32 *)(void *)(((CARD8*)(base)) + (offset))
-#define MMIO_OUT8(base, offset, val) \
- *(volatile CARD8 *)(((CARD8*)(base)) + (offset)) = (val)
-#define MMIO_OUT16(base, offset, val) \
- *(volatile CARD16 *)(void *)(((CARD8*)(base)) + (offset)) = (val)
-#define MMIO_OUT32(base, offset, val) \
- *(volatile CARD32 *)(void *)(((CARD8*)(base)) + (offset)) = (val)
-#define MMIO_ONB8(base, offset, val) MMIO_OUT8(base, offset, val)
-#define MMIO_ONB16(base, offset, val) MMIO_OUT16(base, offset, val)
-#define MMIO_ONB32(base, offset, val) MMIO_OUT32(base, offset, val)
-
-/* -------- vgahw/vgaHW.h -------- */
-
-/* Standard VGA registers */
-#define VGA_ATTR_INDEX 0x3C0
-#define VGA_ATTR_DATA_W 0x3C0
-#define VGA_ATTR_DATA_R 0x3C1
-#define VGA_IN_STAT_0 0x3C2 /* read */
-#define VGA_MISC_OUT_W 0x3C2 /* write */
-#define VGA_ENABLE 0x3C3
-#define VGA_SEQ_INDEX 0x3C4
-#define VGA_SEQ_DATA 0x3C5
-#define VGA_DAC_MASK 0x3C6
-#define VGA_DAC_READ_ADDR 0x3C7
-#define VGA_DAC_WRITE_ADDR 0x3C8
-#define VGA_DAC_DATA 0x3C9
-#define VGA_FEATURE_R 0x3CA /* read */
-#define VGA_MISC_OUT_R 0x3CC /* read */
-#define VGA_GRAPH_INDEX 0x3CE
-#define VGA_GRAPH_DATA 0x3CF
-
-#define VGA_IOBASE_MONO 0x3B0
-#define VGA_IOBASE_COLOR 0x3D0
-
-#define VGA_CRTC_INDEX_OFFSET 0x04
-#define VGA_CRTC_DATA_OFFSET 0x05
-#define VGA_IN_STAT_1_OFFSET 0x0A /* read */
-#define VGA_FEATURE_W_OFFSET 0x0A /* write */
-
-
-/**** common/xf86str.h */
-
-/* Video mode flags */
-
-typedef enum {
- V_PHSYNC = 0x0001,
- V_NHSYNC = 0x0002,
- V_PVSYNC = 0x0004,
- V_NVSYNC = 0x0008,
- V_INTERLACE = 0x0010,
- V_DBLSCAN = 0x0020,
- V_CSYNC = 0x0040,
- V_PCSYNC = 0x0080,
- V_NCSYNC = 0x0100,
- V_HSKEW = 0x0200, /* hskew provided */
- V_BCAST = 0x0400,
- V_PIXMUX = 0x1000,
- V_DBLCLK = 0x2000,
- V_CLKDIV2 = 0x4000
-} ModeFlags;
-
-typedef enum {
- INTERLACE_HALVE_V = 0x0001 /* Halve V values for interlacing */
-} CrtcAdjustFlags;
-
-/* Flags passed to ChipValidMode() */
-typedef enum {
- MODECHECK_INITIAL = 0,
- MODECHECK_FINAL = 1
-} ModeCheckFlags;
-
-/* These are possible return values for xf86CheckMode() and ValidMode() */
-typedef enum {
- MODE_OK = 0, /* Mode OK */
- MODE_HSYNC, /* hsync out of range */
- MODE_VSYNC, /* vsync out of range */
- MODE_H_ILLEGAL, /* mode has illegal horizontal timings */
- MODE_V_ILLEGAL, /* mode has illegal horizontal timings */
- MODE_BAD_WIDTH, /* requires an unsupported linepitch */
- MODE_NOMODE, /* no mode with a maching name */
- MODE_NO_INTERLACE, /* interlaced mode not supported */
- MODE_NO_DBLESCAN, /* doublescan mode not supported */
- MODE_NO_VSCAN, /* multiscan mode not supported */
- MODE_MEM, /* insufficient video memory */
- MODE_VIRTUAL_X, /* mode width too large for specified virtual size */
- MODE_VIRTUAL_Y, /* mode height too large for specified virtual size */
- MODE_MEM_VIRT, /* insufficient video memory given virtual size */
- MODE_NOCLOCK, /* no fixed clock available */
- MODE_CLOCK_HIGH, /* clock required is too high */
- MODE_CLOCK_LOW, /* clock required is too low */
- MODE_CLOCK_RANGE, /* clock/mode isn't in a ClockRange */
- MODE_BAD_HVALUE, /* horizontal timing was out of range */
- MODE_BAD_VVALUE, /* vertical timing was out of range */
- MODE_BAD_VSCAN, /* VScan value out of range */
- MODE_HSYNC_NARROW, /* horizontal sync too narrow */
- MODE_HSYNC_WIDE, /* horizontal sync too wide */
- MODE_HBLANK_NARROW, /* horizontal blanking too narrow */
- MODE_HBLANK_WIDE, /* horizontal blanking too wide */
- MODE_VSYNC_NARROW, /* vertical sync too narrow */
- MODE_VSYNC_WIDE, /* vertical sync too wide */
- MODE_VBLANK_NARROW, /* vertical blanking too narrow */
- MODE_VBLANK_WIDE, /* vertical blanking too wide */
- MODE_PANEL, /* exceeds panel dimensions */
- MODE_INTERLACE_WIDTH, /* width too large for interlaced mode */
- MODE_ONE_WIDTH, /* only one width is supported */
- MODE_ONE_HEIGHT, /* only one height is supported */
- MODE_ONE_SIZE, /* only one resolution is supported */
- MODE_BAD = -2, /* unspecified reason */
- MODE_ERROR = -1 /* error condition */
-} ModeStatus;
-
-# define M_T_BUILTIN 0x01 /* built-in mode */
-# define M_T_CLOCK_C (0x02 | M_T_BUILTIN) /* built-in mode - configure clock */
-# define M_T_CRTC_C (0x04 | M_T_BUILTIN) /* built-in mode - configure CRTC */
-# define M_T_CLOCK_CRTC_C (M_T_CLOCK_C | M_T_CRTC_C)
- /* built-in mode - configure CRTC and clock */
-# define M_T_DEFAULT 0x10 /* (VESA) default modes */
-
-/* Video mode */
-typedef struct _DisplayModeRec {
- struct _DisplayModeRec * prev;
- struct _DisplayModeRec * next;
- char * name; /* identifier for the mode */
- ModeStatus status;
- int type;
-
- /* These are the values that the user sees/provides */
- int Clock; /* pixel clock freq */
- int HDisplay; /* horizontal timing */
- int HSyncStart;
- int HSyncEnd;
- int HTotal;
- int HSkew;
- int VDisplay; /* vertical timing */
- int VSyncStart;
- int VSyncEnd;
- int VTotal;
- int VScan;
- int Flags;
-
- /* These are the values the hardware uses */
- int ClockIndex;
- int SynthClock; /* Actual clock freq to
- * be programmed */
- int CrtcHDisplay;
- int CrtcHBlankStart;
- int CrtcHSyncStart;
- int CrtcHSyncEnd;
- int CrtcHBlankEnd;
- int CrtcHTotal;
- int CrtcHSkew;
- int CrtcVDisplay;
- int CrtcVBlankStart;
- int CrtcVSyncStart;
- int CrtcVSyncEnd;
- int CrtcVBlankEnd;
- int CrtcVTotal;
- Bool CrtcHAdjusted;
- Bool CrtcVAdjusted;
- int PrivSize;
- INT32 * Private;
- int PrivFlags;
-
- float HSync, VRefresh;
-} DisplayModeRec, *DisplayModePtr;
-
-/*
- * memType is of the size of the addressable memory (machine size)
- * usually unsigned long.
- */
-typedef pointer (*funcPointer)(void);
-
-typedef struct _ScrnInfoRec {
- int scrnIndex; /* Number of this screen */
-/* ... */
- DisplayModePtr currentMode; /* current mode */
-/* ... */
- pointer driverPrivate; /* Driver private area */
- DevUnion * privates; /* Other privates can hook in
- * here */
-} ScrnInfoRec;
-
-typedef struct _ScrnInfoRec *ScrnInfoPtr;
-
-/**** common/xf86.h */
-
-extern ScrnInfoPtr *xf86Screens; /* List of pointers to ScrnInfoRecs */
-
-#ifdef __GNUC__
-#define xf86Msg(type,format,args...) /* fprintf(stderr,format,args) */
-#define xf86DrvMsg(scrnIndex,type,format, args...) /* fprintf(stderr,format,args) */
-#else
-#define xf86Msg(type,format,...) /* fprintf(stderr,format,__VA_ARGS__) */
-#define xf86DrvMsg(scrnIndex,type,format, ...) /* fprintf(stderr,format,__VA_ARGS_) */
-#endif
-
-/* ---------------- nv driver files ---------------- */
-
-/**** nv_local.h */
-
-/*
- * Typedefs to force certain sized values.
- */
-typedef unsigned char U008;
-typedef unsigned short U016;
-typedef unsigned int U032;
-
-/* these assume memory-mapped I/O, and not normal I/O space */
-#define NV_WR08(p,i,d) MMIO_OUT8((volatile pointer)(p), (i), (d))
-#define NV_RD08(p,i) MMIO_IN8((volatile pointer)(p), (i))
-#define NV_WR16(p,i,d) MMIO_OUT16((volatile pointer)(p), (i), (d))
-#define NV_RD16(p,i) MMIO_IN16((volatile pointer)(p), (i))
-#define NV_WR32(p,i,d) MMIO_OUT32((volatile pointer)(p), (i), (d))
-#define NV_RD32(p,i) MMIO_IN32((volatile pointer)(p), (i))
-
-#define VGA_WR08(p,i,d) NV_WR08(p,i,d)
-#define VGA_RD08(p,i) NV_RD08(p,i)
-
-/**** nv_dac.c */
-
-#define DDC_SDA_READ_MASK (1 << 3)
-#define DDC_SCL_READ_MASK (1 << 2)
-#define DDC_SDA_WRITE_MASK (1 << 4)
-#define DDC_SCL_WRITE_MASK (1 << 5)
-
-/**** riva_hw.h */
-
-typedef struct _riva_hw_inst
-{
- U032 Architecture;
- U032 Version;
- U032 CrystalFreqKHz;
- U032 RamAmountKBytes;
- U032 MaxVClockFreqKHz;
- U032 RamBandwidthKBytesPerSec;
- U032 EnableIRQ;
- U032 IO;
-#if 1 /* from a different riva_hw ??? */
- U032 VBlankBit;
- U032 FifoFreeCount;
- U032 FifoEmptyCount;
-#endif
- /*
- * Non-FIFO registers.
- */
- volatile U032 *PCRTC;
- volatile U032 *PRAMDAC;
- volatile U032 *PFB;
- volatile U032 *PFIFO;
- volatile U032 *PGRAPH;
- volatile U032 *PEXTDEV;
- volatile U032 *PTIMER;
- volatile U032 *PMC;
- volatile U032 *PRAMIN;
- volatile U032 *FIFO;
- volatile U032 *CURSOR;
- volatile U032 *CURSORPOS;
- volatile U032 *VBLANKENABLE;
- volatile U032 *VBLANK;
- volatile U008 *PCIO;
- volatile U008 *PVIO;
- volatile U008 *PDIO;
-#if 1
- volatile U032 *PVIDEO; /* extra */
-#endif
- /* Remaining entries cut */
-#if 0
- /*
- * Common chip functions.
- */
- int (*Busy)(struct _riva_hw_inst *);
- void (*CalcStateExt)(struct _riva_hw_inst *,struct _riva_hw_state *,int,int,int,int,int,int,int,int,int,int,int,int,int);
- void (*LoadStateExt)(struct _riva_hw_inst *,struct _riva_hw_state *);
- void (*UnloadStateExt)(struct _riva_hw_inst *,struct _riva_hw_state *);
- void (*SetStartAddress)(struct _riva_hw_inst *,U032);
- void (*SetSurfaces2D)(struct _riva_hw_inst *,U032,U032);
- void (*SetSurfaces3D)(struct _riva_hw_inst *,U032,U032);
- int (*ShowHideCursor)(struct _riva_hw_inst *,int);
- void (*LockUnlock)(struct _riva_hw_inst *, int);
- /*
- * Current extended mode settings.
- */
- struct _riva_hw_state *CurrentState;
- /*
- * FIFO registers.
- */
- RivaRop *Rop;
- RivaPattern *Patt;
- RivaClip *Clip;
- RivaPixmap *Pixmap;
- RivaScreenBlt *Blt;
- RivaBitmap *Bitmap;
- RivaLine *Line;
- RivaTexturedTriangle03 *Tri03;
- RivaTexturedTriangle05 *Tri05;
-#endif
-} RIVA_HW_INST;
-
-#endif
-/* NVTV tv_chip header -- Dirk Thierbach <dthierbach@gmx.de>
- *
- * This file is part of nvtv, a tool for tv-output on NVidia cards.
- *
- * nvtv is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * nvtv is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- *
- * $Id: nvtvd.h,v 1.4 2002/10/23 17:12:33 guenter Exp $
- *
- * Contents:
- *
- * Header: Structures and defines for the Brooktree, the Chrontel and the
- * Philips chip. This part could eventually become a part of the XFree
- * NV-Driver.
- *
- */
-
-#ifndef _TV_CHIP_H
-#define _TV_CHIP_H
-
-typedef enum {
- TYPE_NONE = 0,
- TYPE_INT = 1,
- TYPE_ULONG = 2,
-} VarType;
-
-typedef enum {
- CARD_NONE = 0,
- CARD_NVIDIA = 1,
- CARD_TDFX = 2,
- CARD_I810 = 3,
-} CardType;
-
-typedef enum {
- TV_SYSTEM_NONE = -1,
- TV_SYSTEM_NTSC = 0,
- TV_SYSTEM_NTSC_J = 1, /* same as NTSC_60 */
- TV_SYSTEM_PAL = 2,
- TV_SYSTEM_PAL_60 = 3,
- TV_SYSTEM_PAL_N = 4,
- TV_SYSTEM_PAL_NC = 5,
- TV_SYSTEM_PAL_M = 6,
- TV_SYSTEM_PAL_M60 = 7,
- TV_SYSTEM_PAL_X = 8, /* Fake PAL System to correct color carriers,
- useful at least in Sweden PAL-B */
- TV_SYSTEM_SECAM = 9, /* only on Conexant chips */
-} TVSystem;
-
-typedef enum {
- TV_NO_CHIP = 0,
- TV_CHRONTEL = 1,
- TV_BROOKTREE = 2,
- TV_CONEXANT = 3,
- TV_PHILIPS = 4,
-} TVChip;
-
-/* -------- Host interface flags, all chips -------- */
-
-#define HOST_SYNC_DIR (1 << 0)
-#define HOST_SYNC_IN 0
-#define HOST_SYNC_OUT (1 << 0)
-
-#define HOST_VSYNC_ACTIVE (1 << 1)
-#define HOST_VSYNC_LOW 0
-#define HOST_VSYNC_HIGH (1 << 1)
-
-#define HOST_HSYNC_ACTIVE (1 << 2)
-#define HOST_HSYNC_LOW 0
-#define HOST_HSYNC_HIGH (1 << 2)
-
-#define HOST_BLANK_ACTIVE (1 << 3)
-#define HOST_BLANK_LOW 0
-#define HOST_BLANK_HIGH (1 << 3)
-
-#define HOST_BLANK_DIR (1 << 4)
-#define HOST_BLANK_IN 0
-#define HOST_BLANK_OUT (1 << 4)
-
-#define HOST_BLANK_MODE (1 << 5)
-#define HOST_BLANK_AREA 0
-#define HOST_BLANK_DOT (1 << 5)
-
-#define HOST_MODE_MASK (1 << 6)
-#define HOST_MODE_MASTER 0
-#define HOST_MODE_SLAVE (1 << 6)
-
-#define HOST_PCLK_ACTIVE (1 << 7)
-#define HOST_PCLK_LOW 0
-#define HOST_PCLK_HIGH (1 << 7)
-
-#define HOST_PCLK_VDD (1 << 8)
-#define HOST_VDD_LOW 0
-#define HOST_VDD_HIGH (1 << 8)
-
-#define HOST_NVIDIA (HOST_VSYNC_HIGH | HOST_HSYNC_HIGH | \
- HOST_SYNC_OUT | HOST_PCLK_HIGH | \
- HOST_BLANK_LOW | HOST_BLANK_OUT | \
- HOST_BLANK_AREA | HOST_MODE_MASTER)
-
-#define HOST_TDFX (HOST_VSYNC_HIGH | HOST_HSYNC_HIGH | \
- HOST_BLANK_LOW | HOST_BLANK_IN | \
- HOST_BLANK_DOT | HOST_MODE_MASTER)
-
-#define HOST_I810 (HOST_VSYNC_LOW | HOST_HSYNC_LOW | \
- HOST_SYNC_IN | HOST_PCLK_LOW | \
- HOST_BLANK_LOW | HOST_BLANK_IN | \
- HOST_BLANK_AREA | HOST_MODE_MASTER)
-
-/* -------- Brooktree -------- */
-
-#define BT_FLAG1_NI_OUT (1 << 0)
-#define BT_FLAG1_SETUP (1 << 1)
-#define BT_FLAG1_625LINE (1 << 2)
-#define BT_FLAG1_VSYNC_DUR (1 << 3)
-#define BT_FLAG1_DIS_SCRESET (1 << 4)
-#define BT_FLAG1_PAL_MD (1 << 5)
-#define BT_FLAG1_ECLIP (1 << 6)
-#define BT_FLAG1_EN_ASYNC (1 << 8)
-
-#define BT_FLAG1_NTSC (BT_FLAG1_VSYNC_DUR | BT_FLAG1_SETUP)
-#define BT_FLAG1_NTSC_JAPAN (BT_FLAG1_VSYNC_DUR)
-#define BT_FLAG1_PAL_BDGHI (BT_FLAG1_PAL_MD | BT_FLAG1_625LINE)
-#define BT_FLAG1_PAL_N (BT_FLAG1_VSYNC_DUR | BT_FLAG1_SETUP | \
- BT_FLAG1_PAL_MD | BT_FLAG1_625LINE)
-#define BT_FLAG1_PAL_M (BT_FLAG1_VSYNC_DUR | BT_FLAG1_SETUP | \
- BT_FLAG1_PAL_MD)
-#define BT_FLAG1_PAL_BDGHI (BT_FLAG1_PAL_MD | BT_FLAG1_625LINE)
-#define BT_FLAG1_PAL_60 (BT_FLAG1_PAL_MD | BT_FLAG1_VSYNC_DUR)
-
-#define BT_FLAG2_DIS_FFILT (1 << 0)
-#define BT_FLAG2_DIS_YFLPF (1 << 1)
-#define BT_FLAG2_DIS_GMSHY (1 << 2)
-#define BT_FLAG2_DIS_GMUSHY (1 << 3)
-#define BT_FLAG2_DIS_GMSHC (1 << 4)
-#define BT_FLAG2_DIS_GMUSHC (1 << 5)
-#define BT_FLAG2_DIS_CHROMA (1 << 6)
-
-#define BT_FLAG2_DIS_GM (BT_FLAG2_DIS_GMSHY | BT_FLAG2_DIS_GMUSHY \
- | BT_FLAG2_DIS_GMSHC | BT_FLAG2_DIS_GMUSHC)
-
-#define BT_FLAG3_DACDISA (1 << 0)
-#define BT_FLAG3_DACDISB (1 << 1)
-#define BT_FLAG3_DACDISC (1 << 2)
-#define BT_FLAG3_DACDISD (1 << 3)
-#define BT_FLAG3_DAC (BT_FLAG3_DACDISA | BT_FLAG3_DACDISB \
- | BT_FLAG3_DACDISC | BT_FLAG3_DACDISD)
-
-#define BT_FLAG3_FBAS (BT_FLAG3_DACDISB | BT_FLAG3_DACDISC)
-#define BT_FLAG3_SVHS (BT_FLAG3_DACDISA)
-#define BT_FLAG3_CONVERT (BT_FLAG3_DACDISA)
-#define BT_FLAG3_BOTH 0
-
-/* DACDISD is available only for the Conexant chip, and is reserved for
- the Brooktree chip. It is reset by default */
-
-/* FIXME URGENT: Conexant doc says no more than 1 DAC should be disabled */
-
-typedef struct {
- int hsynoffset; /* time */
- int vsynoffset; /* time */
- int hsynwidth; /* time */ /* don't confuse with hsync_width ! */
- int vsynwidth; /* time */
- int h_clko; /* time */
- int h_active; /* time */
- int hsync_width; /* time(system) */
- int hburst_begin; /* time(system) */
- int hburst_end; /* time(system) */
- int h_blanko; /* time */
- int v_blanko; /* time */
- int v_activeo; /* time */
- int h_fract; /* time */
- int h_clki; /* time */
- int h_blanki; /* time */
- int v_linesi; /* time */
- int v_blanki; /* time */
- int v_activei; /* time */
- int v_scale; /* time */
- int pll_fract; /* time */
- int pll_int; /* time */
- int sync_amp; /* level(system) */
- int bst_amp; /* level(system) */
- int mcr; /* level(system) */
- int mcb; /* level(system) */
- int my; /* level(system) */
- unsigned long msc; /* time */
- int flags1; /* time */
- int flags2; /* func */
- int flags3; /* func */
- int f_selc; /* func */
- int f_sely; /* func */
- int ycoring; /* func */
- int ccoring; /* func */
- int yattenuate; /* func */
- int cattenuate; /* func */
- int ylpf; /* func */
- int clpf; /* func */
- int out_muxa; /* func */
- int out_muxb; /* func */
- int out_muxc; /* func */
- int out_muxd; /* func */
- int phase_off; /* time(?) */
- int macro; /* time(all) */
-} TVBtRegs;
-
-/* -------- Conexant -------- */
-
-#define CX_FLAG1_FM (1 << 7)
-#define CX_FLAG1_EXT (1 << 9) /* Is extension, don't init */
-
-#define CX_FLAG4_PROG_SC (1 << 0)
-#define CX_FLAG4_SC_PATTERN (1 << 1)
-#define CX_FLAG4_FIELD_ID (1 << 3)
-#define CX_FLAG4_BY_YCCR (1 << 6)
-#define CX_FLAG4_CHROMA_BW (1 << 7)
-
-#define CX_FLAG4_MASK (CX_FLAG4_PROG_SC | CX_FLAG4_SC_PATTERN | \
- CX_FLAG4_FIELD_ID | CX_FLAG4_BY_YCCR | \
- CX_FLAG4_CHROMA_BW)
-
-#define CX_FLAG5_ADPT_FF (1 << 0)
-#define CX_FLAG5_FFRTN (1 << 1)
-#define CX_FLAG5_YSELECT (1 << 2)
-#define CX_FLAG5_DIV2 (1 << 4)
-#define CX_FLAG5_PLL_32CLK (1 << 5)
-#define CX_FLAG5_PIX_DOUBLE (1 << 6)
-#define CX_FLAG5_EWSSF1 (1 << 8)
-#define CX_FLAG5_EWSSF2 (1 << 9)
-
-typedef struct {
- TVBtRegs bt;
- unsigned long msc_db; /* time */
- int dr_limitp; /* time */
- int dr_limitn; /* time */
- int db_limitp; /* time */
- int db_limitn; /* time */
- int filfsconv; /* ?? */
- int filincr; /* ?? */ /* fil4286incr */
- int flags4; /* time & func */
- int flags5; /* time & func */
- int mcompy; /* level */
- int mcompu; /* level */
- int mcompv; /* level */
- int y_off; /* level */
- int hue_adj; /* time(?) */
- long wsdat; /* time */
- int wssinc; /* time */
- int c_altff; /* func */
- int y_altff; /* func */
- int c_thresh; /* func */
- int y_thresh; /* func */
- int pkfil_sel; /* func */
-} TVCxRegs;
-
-/* -------- Chrontel -------- */
-
-#define CH_FLAG_DAC 1:0
-#define CH_FLAG_DAC_MASK 3
-#define CH_FLAG_FBAS 2
-#define CH_FLAG_SVHS 0
-#define CH_FLAG_BOTH 3
-
-typedef struct {
- int dmr_ir; /* time */
- int dmr_vs; /* time */
- int dmr_sr; /* time */
- int ffr_fc; /* func */
- int ffr_fy; /* func */
- int ffr_ft; /* func */
- int vbw_flff; /* func */ /* flag */
- int vbw_cvbw; /* func */ /* flag */
- int vbw_cbw; /* func */
- int vbw_ypeak; /* func */ /* flag */
- int vbw_ysv; /* func */
- int vbw_ycv; /* func */ /* flag */
- int dacg; /* level(system) */ /* flag */
- int aciv; /* time */ /* flag */
- int civh; /* time */
- int sav; /* time */
- int blr; /* level(system) */
- int hpr; /* func/time */
- int vpr; /* func/time */
- int ce; /* func */
- int pll_m; /* time */
- int pll_n; /* time */
- int pllcap; /* time */ /* flag */
- unsigned long fsci;
-#if 0 /* Test register; no documentation */
- int ylm; /* y multiplier ? */
- int clm; /* c multiplier ? */
-#endif
- int flags; /* func */
- int mode; /* for macrovision table */
- int macro;
-} TVChRegs;
-
-/* -------- Philips -------- */
-
-#define PH_FLAG1_FISE (1 << 0)
-#define PH_FLAG1_PAL (1 << 1)
-#define PH_FLAG1_SCBW (1 << 2)
-#define PH_FLAG1_YGS (1 << 4)
-#define PH_FLAG1_YFIL (1 << 8)
-
-#define PH_FLAG1_MASK (PH_FLAG1_FISE | PH_FLAG1_PAL | \
- PH_FLAG1_SCBW | PH_FLAG1_YGS)
-
-#define PH_FLAG2_CEN (1 << 4)
-#define PH_FLAG2_CVBSEN0 (1 << 5)
-#define PH_FLAG2_CVBSEN1 (1 << 6)
-#define PH_FLAG2_VBSEN (1 << 7)
-
-#define PH_FLAG2_NORMAL (PH_FLAG2_CEN | PH_FLAG2_CVBSEN0 | \
- PH_FLAG2_VBSEN)
-#define PH_FLAG2_CONVERT (PH_FLAG2_CEN | PH_FLAG2_CVBSEN0 | \
- PH_FLAG2_CVBSEN1)
-#define PH_FLAG2_FBAS PH_FLAG2_NORMAL
-#define PH_FLAG2_SVHS PH_FLAG2_NORMAL
-#define PH_FLAG2_BOTH PH_FLAG2_NORMAL
-
-typedef struct {
- int adwhs; /* time */
- int adwhe; /* time */
- int xofs; /* time */
- int xpix; /* time */
- int xinc; /* time */
- int hlen; /* time */
- int fal; /* time */
- int lal; /* time */
- int yinc; /* time */
- int yskip; /* time */
- int yofso; /* time */
- int yofse; /* time */
- int ypix; /* time */
- int yiwgto; /* time */
- int yiwgte; /* time */
- long pcl; /* time */
- long fsc; /* time */
- int idel; /* init */
- int bs; /* time(system) */
- int be; /* time(system) */
- int bsta; /* level(system) */
- int blckl; /* level(system) */
- int blnnl; /* level(system) */
- int chps; /* time(phase) */
- int gy; /* level */
- int gcd; /* level */
- int bcy; /* func */
- int bcu; /* func */
- int bcv; /* func */
- int ccrs; /* func */
- int gainu; /* func */
- int gainv; /* func */
- int flc; /* time */
- int phres; /* func(phase) */
- int flags1;
- int flags2;
- int macro;
-} TVPhRegs;
-
-/* -------- CRT -------- */
-
-#ifndef V_INTERLACE
-#define V_INTERLACE 0x0010
-#endif
-
-#ifndef V_DBLSCAN
-#define V_DBLSCAN 0x0020
-#endif
-
-#ifndef V_HSKEW
-#define V_HSKEW 0x0200
-#endif
-
-/* Flags that describe the mode (in TVCrtRegs.PrivFlags) */
-
-#define TV_MODE_TVMODE (1 << 0) /* Is TV Mode */
-#define TV_MODE_DUALVIEW (1 << 2) /* Default dualview */
-#define TV_MODE_MACROVISION (1 << 3) /* Default macrovision */
-#define TV_MODE_NONINTERLACED (1 << 4) /* Default noninterlace */
-#define TV_MODE_MONOCHROME (1 << 5) /* Default monochrome */
-#define TV_MODE_CARRIER_LOCK (1 << 6) /* Default carrier lock */
-
-#define TV_CAN_DUALVIEW (1 << 10) /* Has dualview */
-#define TV_CAN_MACROVISION (1 << 11) /* Has macrovision choice */
-#define TV_CAN_NONINTERLACED (1 << 12) /* Has noninterlace */
-#define TV_CAN_MONOCHROME (1 << 13) /* Has monochrome */
-#define TV_CAN_CARRIER_LOCK (1 << 14) /* Default carrier lock */
-
-#define TV_CAN_BIT 8 /* Bit shift for HAS -> MODE */
-
-#define TV_CAN_MASK (TV_CAN_DUALVIEW | TV_CAN_MACROVISION | \
- TV_CAN_MONOCHROME | TV_CAN_NONINTERLACED)
-
-#define TV_DEF_DUALVIEW (TV_CAN_DUALVIEW | TV_MODE_DUALVIEW)
-
-/* Flags that affect the mode (in DisplayModeRec.PrivFlags) */
-
-#define TV_PRIV_TVMODE (1 << 0) /* TV or monitor mode? */
-#define TV_PRIV_BYPASS (1 << 1) /* Bypass settings */
-#define TV_PRIV_DUALVIEW (1 << 2) /* Set single/dualview */
-
-/* We use our own crt structure in the frontend and database, and convert
- * to DisplayModeRec, XF86VidModeModeLine, or XF86VidModeModeInfo as
- * required. The direct backend uses DisplayModeRec. The 'private'
- * structure is the same in all cases, and defined in nv_type.h.
- * FIXME: Change this.
- */
-
-typedef struct {
- long Clock; /* Pixel clock in kHz, 0 = ignore */
- int HDisplay; /* horizontal timing */
- int HSyncStart;
- int HSyncEnd;
- int HTotal;
- int VDisplay; /* vertical timing */
- int VSyncStart;
- int VSyncEnd;
- int VTotal;
- int Flags;
- int PrivFlags;
-} TVCrtRegs;
-
-/* -------- TV Regs Diff -------- */
-
-typedef struct {
- int ofs;
- VarType type;
- unsigned long ulval;
- int ival;
-} TVDiff;
-
-#define TV_FIELD_LONG(r,f,v) ofs:(char *)(&r.f) - (char *)(&r), \
- type:TYPE_ULONG, ulval:(v)
-#define TV_FIELD_INT(r,f,v) ofs:(char *)(&r.f) - (char *)(&r), \
- type:TYPE_INT, ival:(v)
-#define TV_FIELD_END ofs:-1, type:TYPE_NONE
-
-/* -------- Common -------- */
-
-typedef union {
- TVBtRegs bt;
- TVCxRegs cx;
- TVChRegs ch;
- TVPhRegs ph;
-} TVRegs;
-
-typedef enum {
- TV_UNKNOWN = 0,
- TV_OFF = 1,
- TV_BARS = 2,
- TV_ON = 3
-} TVState;
-
-typedef enum {
- CONNECT_AUTO = -2,
- CONNECT_NONE = -1,
- CONNECT_FBAS = 0,
- CONNECT_SVHS = 1,
- CONNECT_BOTH = 2,
- CONNECT_CONVERT = 3, /* FBAS on both S-VHS lines, for converter */
-} TVConnect;
-
-typedef struct {
- int tv_hoffset, tv_voffset;
- int mon_hoffset, mon_voffset;
- int brightness_sig; /* -50 - 50 % */
- int contrast; /* -100 - 100 % */
- int contrast_sig; /* -50 - 50 % */
- int saturation; /* -100 - 100 % */
- int saturation_sig; /* -50 - 50 % */
- int phase; /* -90 - 90 deg */
- int hue; /* -90 - 90 deg */
- int flicker; /* 0 - 100 % */
- int flicker_adapt; /* 0 - 100 % */
- int luma_bandwidth; /* 0 - 100 % */
- int chroma_bandwidth; /* 0 - 100 % */
- int sharpness; /* 0 - 100 % */
- int cross_color; /* 0 - 100 % */
- int flags;
- TVConnect connector;
-} TVSettings;
-
-/* FIXME: defines for TVSettings flags */
-
-/* FIXME: Get rid of NVPrivate */
-
-typedef struct {
- char magic[4];
- TVChip chip;
- TVRegs tv;
-} NVPrivate;
-
-typedef struct {
- TVSystem system;
- int res_x;
- int res_y;
- char *size;
- char *aspect;
- double hoc;
- double voc;
- TVCrtRegs *crt;
- TVRegs *tv;
- TVDiff *diff;
-} TVMode;
-
-#endif /* _TV_CHIP */
-/* NVTV backend -- Dirk Thierbach <dthierbach@gmx.de>
- *
- * This file is part of nvtv, a tool for tv-output on NVidia cards.
- *
- * nvtv is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * nvtv is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- *
- * $Id: nvtvd.h,v 1.4 2002/10/23 17:12:33 guenter Exp $
- *
- * Contents:
- *
- * Common header for all backends
- */
-
-#ifndef _BACKEND_H
-#define _BACKEND_H
-
-#ifdef DEBUG_PROBE
-#include "tv_common.h"
-#endif
-
-/* WARNING! The first entry of the two following data structures MUST be
- the 'next' field, and the second entry MUST be a string. If they are not,
- the pipe routines will crash. Other pointers besides those two are
- transfered through the pipe, but should be ignored, as there value is
- invalid. */
-
-/* List of chips accessible on one card. Most of the time, there will
- be only one tv chip, though in theory one could use two on dual-head
- cards. Other chips can be stored here as well. We duplicate the
- information in I2Chain and I2CDev to make the frontend independent
- of the back end.
-*/
-
-typedef struct chip_info {
- struct chip_info *next; /* must be 1st entry! */
- char *name; /* must be 2nd entry! (name including version and I2C addr) */
- TVChip chip; /* chip type */
- void *private; /* identify device, backend private */
-} ChipInfo, *ChipPtr;
-
-/* List of all NVidia cards available */
-
-typedef struct card_info {
- struct card_info *next; /* must be 1st entry! */
- char *name; /* must be 2nd entry! (name including bus addr) */
- char *dev; /* name of device for mmap */
- char *arch; /* architecture */
- CardType type;
- unsigned long reg_base;
- int pci_id;
- ChipPtr chips;
-} CardInfo, *CardPtr;
-
-#define BACK_SERVICE_CURSOR (1 << 0)
-#define BACK_SERVICE_VIDEO (1 << 1)
-#define BACK_SERVICE_VIEW_CURSOR (1 << 2)
-#define BACK_SERVICE_VIEW_MAIN (1 << 3)
-
-typedef struct {
- void (*openCard) (CardPtr card);
- void (*closeCard) (void);
-#ifdef DEBUG_PROBE
- void (*probeSystem) (CardPtr card_list);
-#endif
-} BackAccessRec, *BackAccessPtr;
-
-typedef struct {
- void (*openCard) (CardPtr card);
- void (*closeCard) (void);
- void (*probeChips) (void);
-#ifdef DEBUG_PROBE
- void (*probeCard) (void);
- I2CChainPtr (*probeBus) (void);
-#endif
- void (*setHeads) (int main, int tv, int video);
- void (*getHeads) (int *main, int *tv, int *video, int *max);
- void (*setChip) (ChipPtr chip, Bool init);
- void (*setSettings) (TVSettings *set);
- void (*getSettings) (TVSettings *set);
- void (*setMode) (int ModeFlags, TVCrtRegs *crt, TVRegs *tv);
- void (*getMode) (TVCrtRegs *crt, TVRegs *tv);
- void (*setModeSettings) (int ModeFlags, TVCrtRegs *crt, TVRegs *tv,
- TVSettings *set);
- void (*setTestImage) (int ModeFlags, TVRegs *tv, TVSettings *set);
- long (*getStatus) (int index);
- TVConnect (*getConnection) (void);
- Bool (*findBySize) (TVSystem system, int xres, int yres, char *size,
- TVMode *mode, TVCrtRegs *crt, TVRegs *tv);
- Bool (*findByOverscan) (TVSystem system, int xres, int yres,
- double hoc, double voc, TVMode *mode, TVCrtRegs *crt, TVRegs *tv);
- void (*initSharedView) (int *view_x, int *view_y);
- Bool (*getTwinView) (int *view_x, int *view_y);
- Bool (*adjustViewport) (int flags, int *view_x, int *view_y);
- Bool (*serviceViewportCursor) (int flags, int cursor_x, int cursor_y,
- int *view_x, int *view_y);
-} BackCardRec, *BackCardPtr;
-
-/* The backend(s) use static information, so there can only be one
- backend active: */
-
-extern BackAccessPtr back_access;
-extern BackCardPtr back_card;
-
-#endif /* _BACKEND_H */
-/* NVTV client backend header -- Dirk Thierbach <dthierbach@gmx.de>
- *
- * This file is part of nvtv, a tool for tv-output on NVidia cards.
- *
- * nvtv is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * nvtv is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- *
- * $Id: nvtvd.h,v 1.4 2002/10/23 17:12:33 guenter Exp $
- *
- * Contents:
- *
- * Header for client backend
- */
-
-#ifndef _BACK_CLIENT_H
-#define _BACK_CLIENT_H
-
-Bool back_client_avail (void);
-CardPtr back_client_init (void);
-
-/* client backend methods */
-
-void bcl_openCard (CardPtr card);
-void bcl_closeCard (void);
-#ifdef DEBUG_PROBE
-void bcl_probeCards (CardPtr card_list);
-#endif
-void bcl_setHeads (int main, int tv, int video);
-void bcl_getHeads (int *main, int *tv, int *video, int *max);
-void bcl_probeChips (void);
-void bcl_setChip (ChipPtr chip, Bool init);
-void bcl_setSettings (TVSettings *set);
-void bcl_getSettings (TVSettings *set);
-void bcl_setMode (int ModeFlags, TVCrtRegs *crt, TVRegs *tv);
-void bcl_getMode (TVCrtRegs *crt, TVRegs *tv);
-void bcl_setModeSettings (int ModeFlags, TVCrtRegs *crt,
- TVRegs *tv, TVSettings *set);
-void bcl_setTestImage (int ModeFlags, TVRegs *tv, TVSettings *set);
-long bcl_getStatus (int index);
-TVConnect bcl_getConnection (void);
-Bool bcl_findBySize (TVSystem system, int xres, int yres, char *size,
- TVMode *mode, TVCrtRegs *crt, TVRegs *tv);
-Bool bcl_findByOverscan (TVSystem system, int xres, int yres,
- double hoc, double voc, TVMode *mode, TVCrtRegs *crt, TVRegs *tv);
-
-void bcl_initSharedView (int *view_x, int *view_y);
-Bool bcl_getTwinView (int *view_x, int *view_y);
-Bool bcl_adjustViewportVideo (int flags, int *view_x, int *view_y);
-Bool bcl_serviceViewportVideoCursor (int flags, int cursor_x, int cursor_y,
- int *view_x, int *view_y);
-
-#endif /* _BACK_CLIENT_H */
-