1 '\" te 2 .\" Copyright (c) 2003, Sun Microsystems, Inc. 3 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. 4 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License. 5 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner] 6 .TH FBIO 7I "May 12, 2003" 7 .SH NAME 8 fbio \- frame buffer control operations 9 .SH DESCRIPTION 10 .sp 11 .LP 12 The frame buffers provided with this release support the same general interface 13 that is defined by \fB<sys/fbio.h>\fR\&. Each responds to an \fBFBIOGTYPE\fR 14 \fBioctl\fR(2) request which returns information in a \fBfbtype\fR structure. 15 .sp 16 .LP 17 Each device has an \fBFBTYPE\fR which is used by higher-level software to 18 determine how to perform graphics functions. Each device is used by opening it, 19 doing an \fBFBIOGTYPE\fR \fBioctl()\fR to see which frame buffer type is 20 present, and thereby selecting the appropriate device-management routines. 21 .sp 22 .LP 23 \fBFBIOGINFO\fR returns information specific to the GS accelerator. 24 .sp 25 .LP 26 \fBFBIOSVIDEO\fR and \fBFBIOGVIDEO\fR are general-purpose \fBioctl()\fR 27 requests for controlling possible video features of frame buffers. These 28 \fBioctl()\fR requests either set or return the value of a flags integer. At 29 this point, only the \fBFBVIDEO_ON\fR option is available, controlled by 30 \fBFBIOSVIDEO\fR. \fBFBIOGVIDEO\fR returns the current video state. 31 .sp 32 .LP 33 The \fBFBIOSATTR\fR and \fBFBIOGATTR\fR \fBioctl()\fR requests allow access to 34 special features of newer frame buffers. They use the \fBfbsattr\fR and 35 \fBfbgattr\fR structures. 36 .sp 37 .LP 38 Some color frame buffers support the \fBFBIOPUTCMAP\fR and \fBFBIOGETCMAP\fR 39 \fBioctl()\fR requests, which provide access to the colormap. They use the 40 \fBfbcmap\fR structure. 41 .sp 42 .LP 43 Also, some framebuffers with multiple colormaps will either encode the colormap 44 identifier in the high-order bits of the "index" field in the fbcmap structure, 45 or use the \fBFBIOPUTCMAPI\fR and \fBFBIOGETCMAPI\fR \fBioctl()\fR requests. 46 .sp 47 .LP 48 \fBFBIOVERTICAL\fR is used to wait for the start of the next vertical retrace 49 period. 50 .sp 51 .LP 52 \fBFBIOVRTOFFSET\fR Returns the offset to a read-only \fIvertical retrace 53 page\fR for those framebuffers that support it. This vertical retrace page may 54 be mapped into user space with \fBmmap\fR(2). The first word of the vertical 55 retrace page (type unsigned int) is a counter that is incremented every time 56 there is a vertical retrace. The user process can use this counter in a 57 variety of ways. 58 .sp 59 .LP 60 \fBFBIOMONINFO\fR returns a mon_info structure which contains information about 61 the monitor attached to the framebuffer, if available. 62 .sp 63 .LP 64 \fBFBIOSCURSOR\fR, \fBFBIOGCURSOR\fR, \fBFBIOSCURPOS\fR and \fBFBIOGCURPOS\fR 65 are used to control the hardware cursor for those framebuffers that have this 66 feature. \fBFBIOGCURMAX\fR returns the maximum sized cursor supported by the 67 framebuffer. Attempts to create a cursor larger than this will fail. 68 .sp 69 .LP 70 Finally \fBFBIOSDEVINFO\fR and \fBFBIOGDEVINFO\fR are used to transfer 71 variable-length, device-specific information into and out of framebuffers. 72 .SH SEE ALSO 73 .sp 74 .LP 75 \fBioctl\fR(2), \fBmmap\fR(2), \fBcgsix\fR(7D) 76 .SH BUGS 77 .sp 78 .LP 79 The \fBFBIOSATTR\fR and \fBFBIOGATTR\fR \fBioctl()\fR requests are only 80 supported by frame buffers which emulate older frame buffer types. If a frame 81 buffer emulates another frame buffer, \fBFBIOGTYPE\fR returns the emulated 82 type. To get the real type, use \fBFBIOGATTR\fR. 83 .sp 84 .LP 85 The \fBFBIOGCURPOS\fR ioctl was incorrectly defined in previous operating 86 systems, and older code running in binary compatibility mode may get incorrect 87 results.