FBIO(4I) | Ioctl Requests | FBIO(4I) |
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(2) to see which frame buffer type
is present, and thereby selecting the appropriate device-management
routines.
FBIOGINFO
returns information specific to
the GS accelerator.
FBIOSVIDEO
and
FBIOGVIDEO
are general-purpose
ioctl(2) requests for controlling
possible video features of frame buffers. These
ioctl(2) 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(2) 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(2) 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(2) requests.
FBIOVERTICAL
is used to wait for the start
of the next vertical 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, if available.
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 framebuffers.
The FBIOSATTR
and
FBIOGATTR
ioctl(2) requests are only supported by
frame buffers which emulate older frame buffer types. If a frame buffer
emulates 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
compatibility mode may get incorrect results.
March 13, 2022 | OmniOS |