Print this page
10518 Convert fbio(7I) to mandoc
   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.

   1 .\" Copyright (c) 2003, Sun Microsystems, Inc.
   2 .\" Copyright (c) 2017, Joyent, Inc.
   3 .\" The contents of this file are subject to the terms of the
   4 .\" Common Development and Distribution License (the "License").
   5 .\" You may not use this file except in compliance with the License.
   6 .\"
   7 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   8 .\" or http://www.opensolaris.org/os/licensing.
   9 .\" See the License for the specific language governing permissions
  10 .\" and limitations under the License.
  11 .\"
  12 .\" When distributing Covered Code, include this CDDL HEADER in each
  13 .\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  14 .\" If applicable, add the following below this CDDL HEADER, with the fields
  15 .\" enclosed by brackets "[]" replaced with your own identifying
  16 .\" information: Portions Copyright [yyyy] [name of copyright owner]
  17 .Dd October 22, 2017
  18 .Dt FBIO 7I
  19 .Os
  20 .Sh NAME
  21 .Nm fbio
  22 .Nd frame buffer control operations
  23 .Sh DESCRIPTION
  24 The frame buffers provided with this release support the same general interface
  25 that is defined by
  26 .In sys/fbio.h .
  27 Each responds to an
  28 .Dv FBIOGTYPE
  29 .Xr ioctl 2
  30 request which returns information in a
  31 .Vt fbtype
  32 structure.
  33 .Pp
  34 Each device has an
  35 .\" FBTYPE isn't macro, enum, or type, just used to describe a number of
  36 .\" CPP-macros of the form #define FBTYPE_xxxx
  37 .Sy FBTYPE
  38 which is used by higher-level software to
  39 determine how to perform graphics functions.
  40 Each device is used by opening it, doing an
  41 .Dv FBIOGTYPE
  42 .Xr ioctl 2
  43 to see which frame buffer type is
  44 present, and thereby selecting the appropriate device-management routines.
  45 .Pp
  46 .Dv FBIOGINFO
  47 returns information specific to the GS accelerator.
  48 .Pp
  49 .Dv FBIOSVIDEO
  50 and
  51 .Dv FBIOGVIDEO
  52 are general-purpose
  53 .Xr ioctl 2
  54 requests for controlling possible video features of frame buffers.
  55 These
  56 .Xr ioctl 2
  57 requests either set or return the value of a flags integer.
  58 At this point, only the
  59 .Dv FBVIDEO_ON
  60 option is available, controlled by
  61 .Dv FBIOSVIDEO .
  62 .Dv FBIOGVIDEO
  63 returns the current video state.
  64 .Pp
  65 The
  66 .Dv FBIOSATTR
  67 and
  68 .Dv FBIOGATTR
  69 .Xr ioctl 2
  70 requests allow access to special features of newer frame buffers.
  71 They use the
  72 .Vt fbsattr
  73 and
  74 .Vt fbgattr
  75 structures.
  76 .Pp
  77 Some color frame buffers support the
  78 .Dv FBIOPUTCMAP
  79 and
  80 .Dv FBIOGETCMAP
  81 .Xr ioctl 2
  82 requests, which provide access to the colormap.
  83 They use the
  84 .Vt fbcmap
  85 structure.
  86 .Pp
  87 Also, some framebuffers with multiple colormaps will either encode the colormap
  88 identifier in the high-order bits of the
  89 .Dq index
  90 field in the
  91 .Vt fbcmap
  92 structure, or use the
  93 .Dv FBIOPUTCMAPI
  94 and
  95 .Dv FBIOGETCMAPI
  96 .Xr ioctl 2
  97 requests.
  98 .Pp
  99 .Dv FBIOVERTICAL
 100 is used to wait for the start of the next vertical retrace
 101 period.
 102 .Pp
 103 .Dv FBIOVRTOFFSET
 104 Returns the offset to a read-only
 105 .Dq Em vertical retrace page
 106 for those framebuffers that support it.
 107 This vertical retrace page may be mapped into user space with
 108 .Xr mmap 2 .
 109 The first word of the vertical
 110 retrace page (type
 111 .Vt "unsigned int" )
 112 is a counter that is incremented every time there is a vertical retrace.
 113 The user process can use this counter in a variety of ways.
 114 .Pp
 115 .Dv FBIOMONINFO
 116 returns a
 117 .Vt mon_info
 118 structure which contains information about
 119 the monitor attached to the framebuffer, if available.
 120 .Pp
 121 .Dv FBIOSCURSOR ,
 122 .Dv FBIOGCURSOR ,
 123 .Dv FBIOSCURPOS
 124 and
 125 .Dv FBIOGCURPOS
 126 are used to control the hardware cursor for those framebuffers that have this
 127 feature.
 128 .Dv FBIOGCURMAX
 129 returns the maximum sized cursor supported by the framebuffer.
 130 Attempts to create a cursor larger than this will fail.
 131 .Pp
 132 Finally
 133 .Dv FBIOSDEVINFO
 134 and
 135 .Dv FBIOGDEVINFO
 136 are used to transfer
 137 variable-length, device-specific information into and out of framebuffers.
 138 .Sh SEE ALSO
 139 .Xr ioctl 2 ,
 140 .Xr mmap 2 ,
 141 .Xr cgsix 7D
 142 .Sh BUGS
 143 The
 144 .Dv FBIOSATTR
 145 and
 146 .Dv FBIOGATTR
 147 .Xr ioctl 2
 148 requests are only
 149 supported by frame buffers which emulate older frame buffer types.
 150 If a frame buffer emulates another frame buffer,
 151 .Dv FBIOGTYPE
 152 returns the emulated type.
 153 To get the real type, use
 154 .Dv FBIOGATTR .
 155 .Pp
 156 The
 157 .Dv FBIOGCURPOS
 158 ioctl was incorrectly defined in previous operating
 159 systems, and older code running in binary compatibility mode may get incorrect
 160 results.