fbio - frame buffer control operations
The frame buffers provided with this release support the
same general interface that is defined by <sys/fbio.h>.
Each responds to an FBIOGTYPE ioctl(2) request which returns
information in a fbtype structure.
Each device has an FBTYPE which is used by higher-level
software to determine how to perform graphics functions.
Each device is used by opening it, doing an FBIOGTYPE
ioctl() to see which frame buffer type is present, and
thereby selecting the appropriate device-management rou-
FBIOGINFO returns information specific to the GS accelera-
FBIOSVIDEO and FBIOGVIDEO are general-purpose ioctl()
requests for controlling possible video features of frame
buffers. These ioctl() requests either set or return the
value of a flags integer. At this point, only the FBVIDEO_ON
option is available, controlled by FBIOSVIDEO. FBIOGVIDEO
returns the current video state.
The FBIOSATTR and FBIOGATTR ioctl() requests allow access to
special features of newer frame buffers. They use the
fbsattr and fbgattr structures.
Some color frame buffers support the FBIOPUTCMAP and
FBIOGETCMAP ioctl() requests, which provide access to the
colormap. They use the fbcmap structure.
Also, some framebuffers with multiple colormaps will either
encode the colormap identifier in the high-order bits of the
"index" field in the fbcmap structure, or use the
FBIOPUTCMAPI and FBIOGETCMAPI ioctl() requests.
FBIOVERTICAL is used to wait for the start of the next vert-
ical retrace period.
FBIOVRTOFFSET Returns the offset to a read-only vertical
retrace page for those framebuffers that support it. This
vertical retrace page may be mapped into user space with
mmap(2). The first word of the vertical retrace page (type
unsigned int) is a counter that is incremented every time
there is a vertical retrace. The user process can use this
counter in a variety of ways.
FBIOMONINFO returns a mon_info structure which contains
information about the monitor attached to the framebuffer,
FBIOSCURSOR, FBIOGCURSOR, FBIOSCURPOS and FBIOGCURPOS are
used to control the hardware cursor for those framebuffers
that have this feature. FBIOGCURMAX returns the maximum
sized cursor supported by the framebuffer. Attempts to
create a cursor larger than this will fail.
Finally FBIOSDEVINFO and FBIOGDEVINFO are used to transfer
variable-length, device-specific information into and out of
ioctl(2), mmap(2), bwtwo(7D), cgeight(7D), cgfour(7D),
cgsix(7D), cgthree(7D), cgtwo(7D)
The FBIOSATTR and FBIOGATTR ioctl() requests are only sup-
ported by frame buffers which emulate older frame buffer
types. For example, cgfour(7D) frame buffers emulate
bwtwo(7D) frame buffers. If a frame buffer is emulating
another frame buffer, FBIOGTYPE returns the emulated type.
To get the real type, use FBIOGATTR.
The FBIOGCURPOS ioctl was incorrectly defined in previous
operating systems, and older code running in binary compati-
bility mode may get incorrect results.
Man(1) output converted with