vserver 1.9.5.x5
[linux-2.6.git] / drivers / video / console / fbcon.h
index a89001a..befa1e7 100644 (file)
@@ -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 */