⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mw_fb.h

📁 开放源码的嵌入式开发环境
💻 H
字号:
/*/////////////////////////////////////////////////////////////////////////////// $Header: /usr1/CVS/rtems/cpukit/libmisc/mw-fb/mw_fb.h,v 1.2 2004/04/16 12:06:28 ralf Exp $//// Copyright (c) 2000 - Rosimildo da Silva//// MODULE DESCRIPTION:// Micro FrameBuffer interface for Embedded Systems.//// MODIFICATION/HISTORY://// $Log: mw_fb.h,v $// Revision 1.2  2004/04/16 12:06:28  ralf// Remove stray white spaces.//// Revision 1.1  2000/08/30 08:21:24  joel// 2000-08-26  Rosimildo da Silva  <rdasilva@connecttel.com>//// 	* Added generic Micro FrameBuffer interface for MicroWindows.// 	This interface allows MicroWindows to under RTEMS. A sample// 	driver has been developed for the pc386 BSP. See// 	pc386/fb_vga.c as a sample.// 	* Added Uniform Input Device interface for MicroWindows.// 	See PC386 bsp for sample drivers for mouse and keyboard (console).// 	* mw-bf: New directory.// 	* Makefile.am, configure.in, wrapup/Makefile.am: Account for mw-fb.// 	* mw-fb/Makefile.am: New file.// 	* mw-fb/mw_fb.c: New file.// 	* mw-fb/mw_fb.h: New file.// 	* mw-fb/mw_uid.c: New file.// 	* mw-fb/mw_uid.h: New file./////////////////////////////////////////////////////////////////////////////////*/#ifndef _MW_FB_H#define _MW_FB_H#ifdef	__cplusplusextern "C" {#endif/* ioctls   0x46 is 'F'                                */#define FB_SCREENINFO             0x4601#define FB_GETPALETTE             0x4602#define FB_SETPALETTE             0x4603#define FB_EXEC_FUNCTION          0x4604#define FB_TYPE_PACKED_PIXELS          0    /* Packed Pixels    */#define FB_TYPE_PLANES                 1    /* Non interleaved planes */#define FB_TYPE_INTERLEAVED_PLANES     2    /* Interleaved planes    */#define FB_TYPE_TEXT                   3    /* Text/attributes    */#define FB_TYPE_VGA_PLANES             4    /* EGA/VGA planes    */#define FB_TYPE_VIRTUAL_BUFFER         5    /* Virtual Buffer */#define FB_VISUAL_MONO01               0    /* Monochr. 1=Black 0=White */#define FB_VISUAL_MONO10               1    /* Monochr. 1=White 0=Black */#define FB_VISUAL_TRUECOLOR            2    /* True color    */#define FB_VISUAL_PSEUDOCOLOR          3    /* Pseudo color (like atari) */#define FB_VISUAL_DIRECTCOLOR          4    /* Direct color */#define FB_VISUAL_STATIC_PSEUDOCOLOR   5    /* Pseudo color readonly */#define FB_ACCEL_NONE                  0    /* no hardware accelerator    *//* no dependency on any other header file */typedef  unsigned long  __u32;typedef  unsigned short __u16;struct fb_screeninfo {    __u32 xres;                  /* visible resolution        */    __u32 yres;    __u32 bits_per_pixel;        /* guess what            */	 __u32 line_length;          /* number of chars per line */     volatile char *smem_start; /* Start of frame buffer mem  */                                /* (physical address)         */    __u32 smem_len;             /* Length of frame buffer mem */    __u32 type;                 /* see FB_TYPE_*              */    __u32 visual;               /* see FB_VISUAL_*            */};struct fb_cmap {    __u32 start;                /* First entry    */    __u32 len;                  /* Number of entries */    __u16 *red;                 /* Red values    */    __u16 *green;    __u16 *blue;    __u16 *transp;              /* transparency, can be NULL */};/* type of function to be executed at the driver level */#define FB_FUNC_ENTER_GRAPHICS   0#define FB_FUNC_EXIT_GRAPHICS    1#define FB_FUNC_IS_DIRTY         2#define FB_FUNC_GET_MODE         3struct fb_exec_function{    int    func_no;    void  *param;};/* Micro Framebuffer API Wrapper *//* * This function returns the information regarding the display. * It is called just after the driver be opened to get all needed * information about the driver. No change in the mode of operation * of the driver is done with this call. */extern int ufb_get_screen_info( int fd, struct fb_screeninfo *info );/* * Returns the mode of the graphics subsystem */extern int ufb_get_mode( int fd, int *mode );/* * Returns the current collor pallete */extern int ufb_get_palette( int fd, struct fb_cmap *color );/* * Set the current collor pallete */extern int ufb_set_palette( int fd, struct fb_cmap *color );/* * Does all necessary initialization to put the device in * graphics mode */extern int ufb_enter_graphics( int fd, int mode );/* * Switch the device back to the default mode of operation. * In most cases it put the device back to plain text mode. */extern int ufb_exit_graphics( int fd );/* * Tell the driver that the "virtual buffer" is dirty, and an update * of it to the real device, maybe a serial/parallel LCD or whatever * is required */extern int ufb_buffer_is_dirty( int fd );/* * This function maps the physical ( kernel mode ) address of the framebuffer device * and maps it to the user space address. */ int ufb_mmap_to_user_space( int fd, void **fb_addr, void *physical_addr, unsigned long size );/* * This function unmaps memory of the FB from the user's space */ int ufb_unmmap_from_user_space( int fd, void *addr );#ifdef	__cplusplus}#endif#endif /* _MW_FB_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -