X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fvideo%2Fconsole%2Ffbcon.h;fp=drivers%2Fvideo%2Fconsole%2Ffbcon.h;h=befa1e725b1f7181154033d4548c38088c6500ce;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=a89001a40856ebb1a7d6a1d8a009662102d49f13;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/drivers/video/console/fbcon.h b/drivers/video/console/fbcon.h index a89001a40..befa1e725 100644 --- a/drivers/video/console/fbcon.h +++ b/drivers/video/console/fbcon.h @@ -48,6 +48,27 @@ struct display { struct fb_videomode *mode; }; +struct fbcon_ops { + void (*bmove)(struct vc_data *vc, struct fb_info *info, int sy, + int sx, int dy, int dx, int height, int width); + void (*clear)(struct vc_data *vc, struct fb_info *info, int sy, + int sx, int height, int width); + void (*putcs)(struct vc_data *vc, struct fb_info *info, + const unsigned short *s, int count, int yy, int xx, + int fg, int bg); + void (*clear_margins)(struct vc_data *vc, struct fb_info *info, + int bottom_only); + void (*cursor)(struct vc_data *vc, struct fb_info *info, + struct display *p, int mode, int fg, int bg); + + struct timer_list cursor_timer; /* Cursor timer */ + struct fb_cursor cursor_state; + int currcon; /* Current VC. */ + int cursor_flash; + int cursor_reset; + int blank_state; + char *cursor_data; +}; /* * Attribute Decoding */ @@ -72,6 +93,13 @@ struct display { #define attr_blink(s) \ ((s) & 0x8000) +/* Font */ +#define REFCOUNT(fd) (((int *)(fd))[-1]) +#define FNTSIZE(fd) (((int *)(fd))[-2]) +#define FNTCHARCNT(fd) (((int *)(fd))[-3]) +#define FNTSUM(fd) (((int *)(fd))[-4]) +#define FONT_EXTRA_WORDS 4 + /* * Scroll Method */ @@ -129,5 +157,12 @@ struct display { #define SCROLL_PAN_REDRAW 0x005 extern int fb_console_init(void); +#ifdef CONFIG_FB_TILEBLITTING +extern void fbcon_set_tileops(struct vc_data *vc, struct fb_info *info, + struct display *p, struct fbcon_ops *ops); +#endif +extern void fbcon_set_bitops(struct fbcon_ops *ops); + +extern const struct consw fb_con; #endif /* _VIDEO_FBCON_H */