#ifndef __VGAFB_H #define __VGAFB_H // Graphics pixel operations. struct gfx_op { struct vgamode_s *vmode_g; u32 linelength; u32 displaystart; u8 op; u16 x, y; u8 pixels[8]; u16 xlen, ylen; u16 srcy; }; #define GO_READ8 1 #define GO_WRITE8 2 #define GO_MEMSET 3 #define GO_MEMMOVE 4 struct cursorpos { u8 x, y, page, pad; }; struct carattr { u8 car, attr, use_attr, pad; }; // vgafb.c void memcpy_high(void *dest, void *src, u32 len); void init_gfx_op(struct gfx_op *op, struct vgamode_s *vmode_g); void handle_gfx_op(struct gfx_op *op); void *text_address(struct cursorpos cp); void vgafb_scroll(struct cursorpos win, struct cursorpos winsize , int lines, struct carattr ca); void vgafb_write_char(struct cursorpos cp, struct carattr ca); struct carattr vgafb_read_char(struct cursorpos cp); void vgafb_write_pixel(u8 color, u16 x, u16 y); u8 vgafb_read_pixel(u16 x, u16 y); #endif // vgafb.h