📄 fbreg.h
字号:
/* * Copyright (c) 1992, 1993 * The Regents of the University of California. All rights reserved. * * This code is derived from software contributed to Berkeley by * Sony Corp. and Kazumasa Utashiro of Software Research Associates, Inc. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * from: $Hdr: fbreg.h,v 4.300 91/06/27 20:43:07 root Rel41 $ SONY * * @(#)fbreg.h 8.1 (Berkeley) 6/11/93 */#ifdef KERNELstruct fb_softc { int fbs_state; int fbs_device; lScrType fbs_type; int fbs_flag;};#if defined(news3200) || defined(news3400)#define splfb spl3#endif#ifdef news3800#define splfb spl4#endif/* * state of fbstate */#define FB_BUSY 01 /* fb is busy */#define FB_WANTED 02 /* fb is wanted */#define FB_WAIT 04 /* fb is waiting for command complete */#define FB_DELAY 010 /* fb is busy, but not wait (inner ioctl) */#define FB_DELAY2 020 /* fb is busy, but not wait (outer ioctl) *//* * physical page map for IOP */#define FB_MAX_IO (2048*1024) /* 2048 KB */#define NFBMAP (FB_MAX_IO / NBPG + 1) /* maximum number of pages */struct fb_map { caddr_t fm_vaddr; /* virtual address */ unsigned fm_offset; /* offset into first page */ unsigned fm_count; /* byte counts */ caddr_t fm_addr[NFBMAP]; /* first addr into page */};extern struct fb_map fbmap[];/* * fbreg definition */struct fbreg { u_char fb_command; /* command byte */ u_char fb_result; /* result byte */ u_char fb_device; /* device type */ u_char fb_unit; /* unit no */ union { lBitblt _fb_bitblt; /* bitblt command */ lBatchBitblt _fb_batchbitblt; /* batch bitblt command */ lTileBitblt _fb_tilebitblt; /* tile bitblt command */ lBitblt3 _fb_bitblt3; /* 3 operand bitblt command */ lPrimLine _fb_polyline; /* (disjoint) polyline */ lPrimRect _fb_rectangle; /* rectangle */ lPrimFill _fb_fillscan; /* fill pattern */ lPrimMarker _fb_polymarker; /* polymarker */ lPrimText _fb_text; /* text display */ lPrimDot _fb_polydot; /* polydot */ lScrType _fb_scrtype; /* screen type */ lCursor2 _fb_cursor; /* cursor area */ lPalette _fb_palette; /* get/set palette */ lPoint _fb_point; int _fb_data; lVideoCtl _fb_videoctl; lVideoStatus _fb_videostatus; lFbIoctl _fb_ioctl; } fb_un;};#define fb_bitblt fb_un._fb_bitblt#define fb_batchbitblt fb_un._fb_batchbitblt#define fb_tilebitblt fb_un._fb_tilebitblt#define fb_bitblt3 fb_un._fb_bitblt3#define fb_polyline fb_un._fb_polyline#define fb_rectangle fb_un._fb_rectangle#define fb_fillscan fb_un._fb_fillscan#define fb_polymarker fb_un._fb_polymarker#define fb_text fb_un._fb_text#define fb_polydot fb_un._fb_polydot#define fb_scrtype fb_un._fb_scrtype#define fb_cursor fb_un._fb_cursor#define fb_palette fb_un._fb_palette#define fb_point fb_un._fb_point#define fb_data fb_un._fb_data#define fb_videoctl fb_un._fb_videoctl#define fb_videostatus fb_un._fb_videostatus#define fb_fbioctl fb_un._fb_ioctl/* command definiton */#define FB_CPROBE 0 /* probe */#define FB_CATTACH 1 /* attach */#define FB_COPEN 2 /* read from Frame Buffer */#define FB_CCLOSE 3 /* write to Frame Buffer */#define FB_CBITBLT 4 /* bitblt */#define FB_CBATCHBITBLT 5 /* bitblt */#define FB_CSETSCR 6 /* set display screen */#define FB_CGETSCR 7 /* get display screen */#define FB_CSETDIM 8 /* set dimmer level */#define FB_CGETDIM 9 /* get dimmer level */#define FB_CDRAW 10 /* graphic primitive drawing */#define FB_CPOLYLINE 11#define FB_CDJPOLYLINE 12#define FB_CRECTANGLE 13#define FB_CFILLSCAN 14#define FB_CPOLYMARKER 15#define FB_CTEXT 16#define FB_CPOLYDOT 17#define FB_CSETSCRMODE 18#define FB_CGETSCRMODE 19#define FB_CGETSCRTYPE 20 /* get screen type (b/w or color8 or...) */#define FB_CSETPALETTE 21#define FB_CGETPALETTE 22#define FB_CSELPALETTE 23 /* select current palette */#define FB_CSETDADDR 24 /* set display address */#define FB_CTILEBITBLT 30 /* tile bitblt */#define FB_CBITBLT3 31 /* 3 operand bitblt */#define FB_CSETCURSOR 50#define FB_CUNSETCURSOR 51#define FB_CSHOWCURSOR 52#define FB_CHIDECURSOR 53#define FB_CSETXY 54#define FB_CAUTODIM 55#define FB_CSETVIDEO 60#define FB_CGETVIDEO 61#define FB_CSETPMODE 62#define FB_CGETPMODE 63#define FB_CGETPAGE 70#define FB_CIOCTL 80/* result definiton */#define FB_ROK 0 /* OK */#define FB_RERROR 1 /* some error occurred */#define FBUNIT(dev) (minor(dev) & 0x7f)#define FBVIDEO(dev) (minor(dev) & 0x80)#define FBPRI (PRIBIO+1)#define ASROM_SIZE 0x10000 /* size of auto-select ROM */#define ASREG_SIZE 0x10000 /* size of auto-select control reg. */#define ASREG_SIZE2 0x40000 /* size of 2nd area */#endif /* KERNEL */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -