函数结构体介绍:
Fb_info:该结构体重要是用来描述帧缓冲设备的属性和操作的完整描述,包括了设备的设置参数,状态以及操作函数指针,每个缓冲设备都必须对应一个fb_info
Fb_ops:该结构体是fb_info中的成员变量,主要是用来为指向底层操作的函数的指针,fb_ops结构体中的成员函数fb_check_var是用来检查可以修改的屏幕参数并调整到最合适的值;成员函数fb_set_par是用来使得用户设置的屏幕参数可以在硬件上生效。
Fb_var_screeninfo:该结构体是用来记录用户可以修改的显示控制器参数,包括屏幕分辨率和每个像素点的比特数。该结构体中的xres定义屏幕一行中有多少个点,yres是用来定义一列中有几个点,bit_per_pixel定义每个点用多少字节表示
Fb_fix_screeninfo:该结构体是用来记录用户不能修改的显示控制器的参数,如果屏幕缓冲区的物理地址,长度。当对帧缓冲区进行映射操作时,就是从fb_fix_screeninfo中取得帧缓冲区的物理地址。
Fb_bitfield:该结构体是fb_var_screeninfo中的成员函数,主要是用来记录藐视每一像素显示缓冲区的组织方式,包括位域偏移,位域长度,和MSB(最高有效位)指示。
Fb_cmap:该结构体重要是用来记录设备无关的颜色值信息,用户空间通过ioctl()的FBIOGETMAP和FBIOSETMAP命令来读取或设定颜色值(FBI代表fb_info)