All Sun frame buffers support the same general interface that is defined by <sun/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 routines.
Full-fledged frame buffers (that is, those that run SunView1) implement an FBIOGPIXRECT ioctl() request, which returns a pixrect. This call is made only from inside the kernel. The returned pixrect is used by win.4s for cursor tracking and colormap loading.
FBIOSVIDEO and FBIOGVIDEO are general-purpose ioctl() reuqests 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() reuqests, which provide access to the colormap. They use the fbcmap structure.
The FBIOSATTR and FBIOGATTR ioctl() requests are only supported by frame buffers which emulate older frame buffer types. For example, cgfour.4s frame buffers emulate bwtwo.4s frame buffers. If a frame buffer is emulating another frame buffer, FBIOGTYPE returns the emulated type. To get the real type, use FBIOGATTR.
Created by unroff & hp-tools. © by Hans-Peter Bischof. All Rights Reserved (1997).
Last modified 21/April/97