home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / linux / vt_buffer.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  1.4 KB  |  64 lines

  1. /*
  2.  *    include/linux/vt_buffer.h -- Access to VT screen buffer
  3.  *
  4.  *    (c) 1998 Martin Mares <mj@ucw.cz>
  5.  *
  6.  *    This is a set of macros and functions which are used in the
  7.  *    console driver and related code to access the screen buffer.
  8.  *    In most cases the console works with simple in-memory buffer,
  9.  *    but when handling hardware text mode consoles, we store
  10.  *    the foreground console directly in video memory.
  11.  */
  12.  
  13. #ifndef _LINUX_VT_BUFFER_H_
  14. #define _LINUX_VT_BUFFER_H_
  15.  
  16.  
  17. #if defined(CONFIG_VGA_CONSOLE) || defined(CONFIG_MDA_CONSOLE)
  18. #include <asm/vga.h>
  19. #endif
  20.  
  21. #ifndef VT_BUF_HAVE_RW
  22. #define scr_writew(val, addr) (*(addr) = (val))
  23. #define scr_readw(addr) (*(addr))
  24. #define scr_memcpyw(d, s, c) memcpy(d, s, c)
  25. #define scr_memmovew(d, s, c) memmove(d, s, c)
  26. #define VT_BUF_HAVE_MEMCPYW
  27. #define VT_BUF_HAVE_MEMMOVEW
  28. #endif
  29.  
  30. #ifndef VT_BUF_HAVE_MEMSETW
  31. static inline void scr_memsetw(u16 *s, u16 c, unsigned int count)
  32. {
  33.     count /= 2;
  34.     while (count--)
  35.         scr_writew(c, s++);
  36. }
  37. #endif
  38.  
  39. #ifndef VT_BUF_HAVE_MEMCPYW
  40. static inline void scr_memcpyw(u16 *d, const u16 *s, unsigned int count)
  41. {
  42.     count /= 2;
  43.     while (count--)
  44.         scr_writew(scr_readw(s++), d++);
  45. }
  46. #endif
  47.  
  48. #ifndef VT_BUF_HAVE_MEMMOVEW
  49. static inline void scr_memmovew(u16 *d, const u16 *s, unsigned int count)
  50. {
  51.     if (d < s)
  52.         scr_memcpyw(d, s, count);
  53.     else {
  54.         count /= 2;
  55.         d += count;
  56.         s += count;
  57.         while (count--)
  58.             scr_writew(scr_readw(--s), --d);
  59.     }
  60. }
  61. #endif
  62.  
  63. #endif
  64.