1 FBIO(7I) Ioctl Requests FBIO(7I) 2 3 NAME 4 fbio - frame buffer control operations 5 6 DESCRIPTION 7 The frame buffers provided with this release support the same general 8 interface that is defined by <sys/fbio.h>. Each responds to an FBIOGTYPE 9 ioctl(2) request which returns information in a fbtype structure. 10 11 Each device has an FBTYPE which is used by higher-level software to 12 determine how to perform graphics functions. Each device is used by 13 opening it, doing an FBIOGTYPE ioctl(2) to see which frame buffer type is 14 present, and thereby selecting the appropriate device-management 15 routines. 16 17 FBIOGINFO returns information specific to the GS accelerator. 18 19 FBIOSVIDEO and FBIOGVIDEO are general-purpose ioctl(2) requests for 20 controlling possible video features of frame buffers. These ioctl(2) 21 requests either set or return the value of a flags integer. At this 22 point, only the FBVIDEO_ON option is available, controlled by FBIOSVIDEO. 23 FBIOGVIDEO returns the current video state. 24 25 The FBIOSATTR and FBIOGATTR ioctl(2) requests allow access to special 26 features of newer frame buffers. They use the fbsattr and fbgattr 27 structures. 28 29 Some color frame buffers support the FBIOPUTCMAP and FBIOGETCMAP ioctl(2) 30 requests, which provide access to the colormap. They use the fbcmap 31 structure. 32 33 Also, some framebuffers with multiple colormaps will either encode the 34 colormap identifier in the high-order bits of the "index" field in the 35 fbcmap structure, or use the FBIOPUTCMAPI and FBIOGETCMAPI ioctl(2) 36 requests. 37 38 FBIOVERTICAL is used to wait for the start of the next vertical retrace 39 period. 40 41 FBIOVRTOFFSET Returns the offset to a read-only "vertical retrace page" 42 for those framebuffers that support it. This vertical retrace page may 43 be mapped into user space with mmap(2). The first word of the vertical 44 retrace page (type unsigned int) is a counter that is incremented every 45 time there is a vertical retrace. The user process can use this counter 46 in a variety of ways. 47 48 FBIOMONINFO returns a mon_info structure which contains information about 49 the monitor attached to the framebuffer, if available. 50 51 FBIOSCURSOR, FBIOGCURSOR, FBIOSCURPOS and FBIOGCURPOS are used to control 52 the hardware cursor for those framebuffers that have this feature. 53 FBIOGCURMAX returns the maximum sized cursor supported by the 54 framebuffer. Attempts to create a cursor larger than this will fail. 55 56 Finally FBIOSDEVINFO and FBIOGDEVINFO are used to transfer variable- 57 length, device-specific information into and out of framebuffers. 58 59 SEE ALSO 60 ioctl(2), mmap(2) 61 62 BUGS 63 The FBIOSATTR and FBIOGATTR ioctl(2) requests are only supported by frame 64 buffers which emulate older frame buffer types. If a frame buffer 65 emulates another frame buffer, FBIOGTYPE returns the emulated type. To 66 get the real type, use FBIOGATTR. 67 68 The FBIOGCURPOS ioctl was incorrectly defined in previous operating 69 systems, and older code running in binary compatibility mode may get 70 incorrect results. 71 72 illumos February 17, 2020 illumos