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.
|