/contrib/media/updf/me/include/menuet/console.h |
---|
0,0 → 1,25 |
#ifndef __GLIBC__MENUET_CONSOLE_H |
#define __GLIBC__MENUET_CONSOLE_H |
#ifdef __cplusplus |
extern "C" { |
#endif |
#include<menuet/os.h> |
extern const unsigned char font_8x8[]; |
extern void __menuet__redraw_console(void); |
extern void __menuet__show_text_cursor(void); |
extern void __menuet__hide_text_cursor(void); |
extern void __menuet__init_console(int x,int y); |
extern void __menuet__clrscr(void); |
extern void __menuet__putch(char c); |
extern void __menuet__gotoxy(int x,int y); |
extern void __menuet__outtextxy(int x,int y,char c); |
extern void __menuet__getxy(int * x,int * y); |
#ifdef __cplusplus |
} |
#endif |
#endif |
/contrib/media/updf/me/include/menuet/font8x8.h |
---|
0,0 → 1,262 |
/* font characters */ |
/* from www.freetype.org */ |
const unsigned char font_8x8[2048] = |
{ |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
0x7E, 0x81, 0xA5, 0x81, 0xBD, 0x99, 0x81, 0x7E, |
0x7E, 0xFF, 0xDB, 0xFF, 0xC3, 0xE7, 0xFF, 0x7E, |
0x6C, 0xFE, 0xFE, 0xFE, 0x7C, 0x38, 0x10, 0x00, |
0x10, 0x38, 0x7C, 0xFE, 0x7C, 0x38, 0x10, 0x00, |
0x38, 0x7C, 0x38, 0xFE, 0xFE, 0x92, 0x10, 0x7C, |
0x00, 0x10, 0x38, 0x7C, 0xFE, 0x7C, 0x38, 0x7C, |
0x00, 0x00, 0x18, 0x3C, 0x3C, 0x18, 0x00, 0x00, |
0xFF, 0xFF, 0xE7, 0xC3, 0xC3, 0xE7, 0xFF, 0xFF, |
0x00, 0x3C, 0x66, 0x42, 0x42, 0x66, 0x3C, 0x00, |
0xFF, 0xC3, 0x99, 0xBD, 0xBD, 0x99, 0xC3, 0xFF, |
0x0F, 0x07, 0x0F, 0x7D, 0xCC, 0xCC, 0xCC, 0x78, |
0x3C, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x7E, 0x18, |
0x3F, 0x33, 0x3F, 0x30, 0x30, 0x70, 0xF0, 0xE0, |
0x7F, 0x63, 0x7F, 0x63, 0x63, 0x67, 0xE6, 0xC0, |
0x99, 0x5A, 0x3C, 0xE7, 0xE7, 0x3C, 0x5A, 0x99, |
0x80, 0xE0, 0xF8, 0xFE, 0xF8, 0xE0, 0x80, 0x00, |
0x02, 0x0E, 0x3E, 0xFE, 0x3E, 0x0E, 0x02, 0x00, |
0x18, 0x3C, 0x7E, 0x18, 0x18, 0x7E, 0x3C, 0x18, |
0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x66, 0x00, |
0x7F, 0xDB, 0xDB, 0x7B, 0x1B, 0x1B, 0x1B, 0x00, |
0x3E, 0x63, 0x38, 0x6C, 0x6C, 0x38, 0x86, 0xFC, |
0x00, 0x00, 0x00, 0x00, 0x7E, 0x7E, 0x7E, 0x00, |
0x18, 0x3C, 0x7E, 0x18, 0x7E, 0x3C, 0x18, 0xFF, |
0x18, 0x3C, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x00, |
0x18, 0x18, 0x18, 0x18, 0x7E, 0x3C, 0x18, 0x00, |
0x00, 0x18, 0x0C, 0xFE, 0x0C, 0x18, 0x00, 0x00, |
0x00, 0x30, 0x60, 0xFE, 0x60, 0x30, 0x00, 0x00, |
0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xFE, 0x00, 0x00, |
0x00, 0x24, 0x66, 0xFF, 0x66, 0x24, 0x00, 0x00, |
0x00, 0x18, 0x3C, 0x7E, 0xFF, 0xFF, 0x00, 0x00, |
0x00, 0xFF, 0xFF, 0x7E, 0x3C, 0x18, 0x00, 0x00, |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
0x18, 0x3C, 0x3C, 0x18, 0x18, 0x00, 0x18, 0x00, |
0x6C, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, |
0x6C, 0x6C, 0xFE, 0x6C, 0xFE, 0x6C, 0x6C, 0x00, |
0x18, 0x7E, 0xC0, 0x7C, 0x06, 0xFC, 0x18, 0x00, |
0x00, 0xC6, 0xCC, 0x18, 0x30, 0x66, 0xC6, 0x00, |
0x38, 0x6C, 0x38, 0x76, 0xDC, 0xCC, 0x76, 0x00, |
0x30, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, |
0x18, 0x30, 0x60, 0x60, 0x60, 0x30, 0x18, 0x00, |
0x60, 0x30, 0x18, 0x18, 0x18, 0x30, 0x60, 0x00, |
0x00, 0x66, 0x3C, 0xFF, 0x3C, 0x66, 0x00, 0x00, |
0x00, 0x18, 0x18, 0x7E, 0x18, 0x18, 0x00, 0x00, |
0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30, |
0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, |
0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, |
0x06, 0x0C, 0x18, 0x30, 0x60, 0xC0, 0x80, 0x00, |
0x7C, 0xCE, 0xDE, 0xF6, 0xE6, 0xC6, 0x7C, 0x00, |
0x30, 0x70, 0x30, 0x30, 0x30, 0x30, 0xFC, 0x00, |
0x78, 0xCC, 0x0C, 0x38, 0x60, 0xCC, 0xFC, 0x00, |
0x78, 0xCC, 0x0C, 0x38, 0x0C, 0xCC, 0x78, 0x00, |
0x1C, 0x3C, 0x6C, 0xCC, 0xFE, 0x0C, 0x1E, 0x00, |
0xFC, 0xC0, 0xF8, 0x0C, 0x0C, 0xCC, 0x78, 0x00, |
0x38, 0x60, 0xC0, 0xF8, 0xCC, 0xCC, 0x78, 0x00, |
0xFC, 0xCC, 0x0C, 0x18, 0x30, 0x30, 0x30, 0x00, |
0x78, 0xCC, 0xCC, 0x78, 0xCC, 0xCC, 0x78, 0x00, |
0x78, 0xCC, 0xCC, 0x7C, 0x0C, 0x18, 0x70, 0x00, |
0x00, 0x18, 0x18, 0x00, 0x00, 0x18, 0x18, 0x00, |
0x00, 0x18, 0x18, 0x00, 0x00, 0x18, 0x18, 0x30, |
0x18, 0x30, 0x60, 0xC0, 0x60, 0x30, 0x18, 0x00, |
0x00, 0x00, 0x7E, 0x00, 0x7E, 0x00, 0x00, 0x00, |
0x60, 0x30, 0x18, 0x0C, 0x18, 0x30, 0x60, 0x00, |
0x3C, 0x66, 0x0C, 0x18, 0x18, 0x00, 0x18, 0x00, |
0x7C, 0xC6, 0xDE, 0xDE, 0xDC, 0xC0, 0x7C, 0x00, |
0x30, 0x78, 0xCC, 0xCC, 0xFC, 0xCC, 0xCC, 0x00, |
0xFC, 0x66, 0x66, 0x7C, 0x66, 0x66, 0xFC, 0x00, |
0x3C, 0x66, 0xC0, 0xC0, 0xC0, 0x66, 0x3C, 0x00, |
0xF8, 0x6C, 0x66, 0x66, 0x66, 0x6C, 0xF8, 0x00, |
0xFE, 0x62, 0x68, 0x78, 0x68, 0x62, 0xFE, 0x00, |
0xFE, 0x62, 0x68, 0x78, 0x68, 0x60, 0xF0, 0x00, |
0x3C, 0x66, 0xC0, 0xC0, 0xCE, 0x66, 0x3A, 0x00, |
0xCC, 0xCC, 0xCC, 0xFC, 0xCC, 0xCC, 0xCC, 0x00, |
0x78, 0x30, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00, |
0x1E, 0x0C, 0x0C, 0x0C, 0xCC, 0xCC, 0x78, 0x00, |
0xE6, 0x66, 0x6C, 0x78, 0x6C, 0x66, 0xE6, 0x00, |
0xF0, 0x60, 0x60, 0x60, 0x62, 0x66, 0xFE, 0x00, |
0xC6, 0xEE, 0xFE, 0xFE, 0xD6, 0xC6, 0xC6, 0x00, |
0xC6, 0xE6, 0xF6, 0xDE, 0xCE, 0xC6, 0xC6, 0x00, |
0x38, 0x6C, 0xC6, 0xC6, 0xC6, 0x6C, 0x38, 0x00, |
0xFC, 0x66, 0x66, 0x7C, 0x60, 0x60, 0xF0, 0x00, |
0x7C, 0xC6, 0xC6, 0xC6, 0xD6, 0x7C, 0x0E, 0x00, |
0xFC, 0x66, 0x66, 0x7C, 0x6C, 0x66, 0xE6, 0x00, |
0x7C, 0xC6, 0xE0, 0x78, 0x0E, 0xC6, 0x7C, 0x00, |
0xFC, 0xB4, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00, |
0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xFC, 0x00, |
0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x78, 0x30, 0x00, |
0xC6, 0xC6, 0xC6, 0xC6, 0xD6, 0xFE, 0x6C, 0x00, |
0xC6, 0xC6, 0x6C, 0x38, 0x6C, 0xC6, 0xC6, 0x00, |
0xCC, 0xCC, 0xCC, 0x78, 0x30, 0x30, 0x78, 0x00, |
0xFE, 0xC6, 0x8C, 0x18, 0x32, 0x66, 0xFE, 0x00, |
0x78, 0x60, 0x60, 0x60, 0x60, 0x60, 0x78, 0x00, |
0xC0, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x02, 0x00, |
0x78, 0x18, 0x18, 0x18, 0x18, 0x18, 0x78, 0x00, |
0x10, 0x38, 0x6C, 0xC6, 0x00, 0x00, 0x00, 0x00, |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, |
0x30, 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, |
0x00, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0x76, 0x00, |
0xE0, 0x60, 0x60, 0x7C, 0x66, 0x66, 0xDC, 0x00, |
0x00, 0x00, 0x78, 0xCC, 0xC0, 0xCC, 0x78, 0x00, |
0x1C, 0x0C, 0x0C, 0x7C, 0xCC, 0xCC, 0x76, 0x00, |
0x00, 0x00, 0x78, 0xCC, 0xFC, 0xC0, 0x78, 0x00, |
0x38, 0x6C, 0x64, 0xF0, 0x60, 0x60, 0xF0, 0x00, |
0x00, 0x00, 0x76, 0xCC, 0xCC, 0x7C, 0x0C, 0xF8, |
0xE0, 0x60, 0x6C, 0x76, 0x66, 0x66, 0xE6, 0x00, |
0x30, 0x00, 0x70, 0x30, 0x30, 0x30, 0x78, 0x00, |
0x0C, 0x00, 0x1C, 0x0C, 0x0C, 0xCC, 0xCC, 0x78, |
0xE0, 0x60, 0x66, 0x6C, 0x78, 0x6C, 0xE6, 0x00, |
0x70, 0x30, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00, |
0x00, 0x00, 0xCC, 0xFE, 0xFE, 0xD6, 0xD6, 0x00, |
0x00, 0x00, 0xB8, 0xCC, 0xCC, 0xCC, 0xCC, 0x00, |
0x00, 0x00, 0x78, 0xCC, 0xCC, 0xCC, 0x78, 0x00, |
0x00, 0x00, 0xDC, 0x66, 0x66, 0x7C, 0x60, 0xF0, |
0x00, 0x00, 0x76, 0xCC, 0xCC, 0x7C, 0x0C, 0x1E, |
0x00, 0x00, 0xDC, 0x76, 0x62, 0x60, 0xF0, 0x00, |
0x00, 0x00, 0x7C, 0xC0, 0x70, 0x1C, 0xF8, 0x00, |
0x10, 0x30, 0xFC, 0x30, 0x30, 0x34, 0x18, 0x00, |
0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, |
0x00, 0x00, 0xCC, 0xCC, 0xCC, 0x78, 0x30, 0x00, |
0x00, 0x00, 0xC6, 0xC6, 0xD6, 0xFE, 0x6C, 0x00, |
0x00, 0x00, 0xC6, 0x6C, 0x38, 0x6C, 0xC6, 0x00, |
0x00, 0x00, 0xCC, 0xCC, 0xCC, 0x7C, 0x0C, 0xF8, |
0x00, 0x00, 0xFC, 0x98, 0x30, 0x64, 0xFC, 0x00, |
0x1C, 0x30, 0x30, 0xE0, 0x30, 0x30, 0x1C, 0x00, |
0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x00, |
0xE0, 0x30, 0x30, 0x1C, 0x30, 0x30, 0xE0, 0x00, |
0x76, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
0x00, 0x10, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0x00, |
0x7C, 0xC6, 0xC0, 0xC6, 0x7C, 0x0C, 0x06, 0x7C, |
0x00, 0xCC, 0x00, 0xCC, 0xCC, 0xCC, 0x76, 0x00, |
0x1C, 0x00, 0x78, 0xCC, 0xFC, 0xC0, 0x78, 0x00, |
0x7E, 0x81, 0x3C, 0x06, 0x3E, 0x66, 0x3B, 0x00, |
0xCC, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0x76, 0x00, |
0xE0, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0x76, 0x00, |
0x30, 0x30, 0x78, 0x0C, 0x7C, 0xCC, 0x76, 0x00, |
0x00, 0x00, 0x7C, 0xC6, 0xC0, 0x78, 0x0C, 0x38, |
0x7E, 0x81, 0x3C, 0x66, 0x7E, 0x60, 0x3C, 0x00, |
0xCC, 0x00, 0x78, 0xCC, 0xFC, 0xC0, 0x78, 0x00, |
0xE0, 0x00, 0x78, 0xCC, 0xFC, 0xC0, 0x78, 0x00, |
0xCC, 0x00, 0x70, 0x30, 0x30, 0x30, 0x78, 0x00, |
0x7C, 0x82, 0x38, 0x18, 0x18, 0x18, 0x3C, 0x00, |
0xE0, 0x00, 0x70, 0x30, 0x30, 0x30, 0x78, 0x00, |
0xC6, 0x10, 0x7C, 0xC6, 0xFE, 0xC6, 0xC6, 0x00, |
0x30, 0x30, 0x00, 0x78, 0xCC, 0xFC, 0xCC, 0x00, |
0x1C, 0x00, 0xFC, 0x60, 0x78, 0x60, 0xFC, 0x00, |
0x00, 0x00, 0x7F, 0x0C, 0x7F, 0xCC, 0x7F, 0x00, |
0x3E, 0x6C, 0xCC, 0xFE, 0xCC, 0xCC, 0xCE, 0x00, |
0x78, 0x84, 0x00, 0x78, 0xCC, 0xCC, 0x78, 0x00, |
0x00, 0xCC, 0x00, 0x78, 0xCC, 0xCC, 0x78, 0x00, |
0x00, 0xE0, 0x00, 0x78, 0xCC, 0xCC, 0x78, 0x00, |
0x78, 0x84, 0x00, 0xCC, 0xCC, 0xCC, 0x76, 0x00, |
0x00, 0xE0, 0x00, 0xCC, 0xCC, 0xCC, 0x76, 0x00, |
0x00, 0xCC, 0x00, 0xCC, 0xCC, 0x7C, 0x0C, 0xF8, |
0xC3, 0x18, 0x3C, 0x66, 0x66, 0x3C, 0x18, 0x00, |
0xCC, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0x78, 0x00, |
0x18, 0x18, 0x7E, 0xC0, 0xC0, 0x7E, 0x18, 0x18, |
0x38, 0x6C, 0x64, 0xF0, 0x60, 0xE6, 0xFC, 0x00, |
0xCC, 0xCC, 0x78, 0x30, 0xFC, 0x30, 0xFC, 0x30, |
0xF8, 0xCC, 0xCC, 0xFA, 0xC6, 0xCF, 0xC6, 0xC3, |
0x0E, 0x1B, 0x18, 0x3C, 0x18, 0x18, 0xD8, 0x70, |
0x1C, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0x76, 0x00, |
0x38, 0x00, 0x70, 0x30, 0x30, 0x30, 0x78, 0x00, |
0x00, 0x1C, 0x00, 0x78, 0xCC, 0xCC, 0x78, 0x00, |
0x00, 0x1C, 0x00, 0xCC, 0xCC, 0xCC, 0x76, 0x00, |
0x00, 0xF8, 0x00, 0xB8, 0xCC, 0xCC, 0xCC, 0x00, |
0xFC, 0x00, 0xCC, 0xEC, 0xFC, 0xDC, 0xCC, 0x00, |
0x3C, 0x6C, 0x6C, 0x3E, 0x00, 0x7E, 0x00, 0x00, |
0x38, 0x6C, 0x6C, 0x38, 0x00, 0x7C, 0x00, 0x00, |
0x18, 0x00, 0x18, 0x18, 0x30, 0x66, 0x3C, 0x00, |
0x00, 0x00, 0x00, 0xFC, 0xC0, 0xC0, 0x00, 0x00, |
0x00, 0x00, 0x00, 0xFC, 0x0C, 0x0C, 0x00, 0x00, |
0xC6, 0xCC, 0xD8, 0x36, 0x6B, 0xC2, 0x84, 0x0F, |
0xC3, 0xC6, 0xCC, 0xDB, 0x37, 0x6D, 0xCF, 0x03, |
0x18, 0x00, 0x18, 0x18, 0x3C, 0x3C, 0x18, 0x00, |
0x00, 0x33, 0x66, 0xCC, 0x66, 0x33, 0x00, 0x00, |
0x00, 0xCC, 0x66, 0x33, 0x66, 0xCC, 0x00, 0x00, |
0x22, 0x88, 0x22, 0x88, 0x22, 0x88, 0x22, 0x88, |
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, |
0xDB, 0xF6, 0xDB, 0x6F, 0xDB, 0x7E, 0xD7, 0xED, |
0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, |
0x18, 0x18, 0x18, 0x18, 0xF8, 0x18, 0x18, 0x18, |
0x18, 0x18, 0xF8, 0x18, 0xF8, 0x18, 0x18, 0x18, |
0x36, 0x36, 0x36, 0x36, 0xF6, 0x36, 0x36, 0x36, |
0x00, 0x00, 0x00, 0x00, 0xFE, 0x36, 0x36, 0x36, |
0x00, 0x00, 0xF8, 0x18, 0xF8, 0x18, 0x18, 0x18, |
0x36, 0x36, 0xF6, 0x06, 0xF6, 0x36, 0x36, 0x36, |
0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, |
0x00, 0x00, 0xFE, 0x06, 0xF6, 0x36, 0x36, 0x36, |
0x36, 0x36, 0xF6, 0x06, 0xFE, 0x00, 0x00, 0x00, |
0x36, 0x36, 0x36, 0x36, 0xFE, 0x00, 0x00, 0x00, |
0x18, 0x18, 0xF8, 0x18, 0xF8, 0x00, 0x00, 0x00, |
0x00, 0x00, 0x00, 0x00, 0xF8, 0x18, 0x18, 0x18, |
0x18, 0x18, 0x18, 0x18, 0x1F, 0x00, 0x00, 0x00, |
0x18, 0x18, 0x18, 0x18, 0xFF, 0x00, 0x00, 0x00, |
0x00, 0x00, 0x00, 0x00, 0xFF, 0x18, 0x18, 0x18, |
0x18, 0x18, 0x18, 0x18, 0x1F, 0x18, 0x18, 0x18, |
0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, |
0x18, 0x18, 0x18, 0x18, 0xFF, 0x18, 0x18, 0x18, |
0x18, 0x18, 0x1F, 0x18, 0x1F, 0x18, 0x18, 0x18, |
0x36, 0x36, 0x36, 0x36, 0x37, 0x36, 0x36, 0x36, |
0x36, 0x36, 0x37, 0x30, 0x3F, 0x00, 0x00, 0x00, |
0x00, 0x00, 0x3F, 0x30, 0x37, 0x36, 0x36, 0x36, |
0x36, 0x36, 0xF7, 0x00, 0xFF, 0x00, 0x00, 0x00, |
0x00, 0x00, 0xFF, 0x00, 0xF7, 0x36, 0x36, 0x36, |
0x36, 0x36, 0x37, 0x30, 0x37, 0x36, 0x36, 0x36, |
0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, |
0x36, 0x36, 0xF7, 0x00, 0xF7, 0x36, 0x36, 0x36, |
0x18, 0x18, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, |
0x36, 0x36, 0x36, 0x36, 0xFF, 0x00, 0x00, 0x00, |
0x00, 0x00, 0xFF, 0x00, 0xFF, 0x18, 0x18, 0x18, |
0x00, 0x00, 0x00, 0x00, 0xFF, 0x36, 0x36, 0x36, |
0x36, 0x36, 0x36, 0x36, 0x3F, 0x00, 0x00, 0x00, |
0x18, 0x18, 0x1F, 0x18, 0x1F, 0x00, 0x00, 0x00, |
0x00, 0x00, 0x1F, 0x18, 0x1F, 0x18, 0x18, 0x18, |
0x00, 0x00, 0x00, 0x00, 0x3F, 0x36, 0x36, 0x36, |
0x36, 0x36, 0x36, 0x36, 0xFF, 0x36, 0x36, 0x36, |
0x18, 0x18, 0xFF, 0x18, 0xFF, 0x18, 0x18, 0x18, |
0x18, 0x18, 0x18, 0x18, 0xF8, 0x00, 0x00, 0x00, |
0x00, 0x00, 0x00, 0x00, 0x1F, 0x18, 0x18, 0x18, |
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, |
0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, |
0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, |
0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, |
0x00, 0x00, 0x76, 0xDC, 0xC8, 0xDC, 0x76, 0x00, |
0x00, 0x78, 0xCC, 0xF8, 0xCC, 0xF8, 0xC0, 0xC0, |
0x00, 0xFC, 0xCC, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, |
0x00, 0x00, 0xFE, 0x6C, 0x6C, 0x6C, 0x6C, 0x00, |
0xFC, 0xCC, 0x60, 0x30, 0x60, 0xCC, 0xFC, 0x00, |
0x00, 0x00, 0x7E, 0xD8, 0xD8, 0xD8, 0x70, 0x00, |
0x00, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, 0xC0, |
0x00, 0x76, 0xDC, 0x18, 0x18, 0x18, 0x18, 0x00, |
0xFC, 0x30, 0x78, 0xCC, 0xCC, 0x78, 0x30, 0xFC, |
0x38, 0x6C, 0xC6, 0xFE, 0xC6, 0x6C, 0x38, 0x00, |
0x38, 0x6C, 0xC6, 0xC6, 0x6C, 0x6C, 0xEE, 0x00, |
0x1C, 0x30, 0x18, 0x7C, 0xCC, 0xCC, 0x78, 0x00, |
0x00, 0x00, 0x7E, 0xDB, 0xDB, 0x7E, 0x00, 0x00, |
0x06, 0x0C, 0x7E, 0xDB, 0xDB, 0x7E, 0x60, 0xC0, |
0x38, 0x60, 0xC0, 0xF8, 0xC0, 0x60, 0x38, 0x00, |
0x78, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x00, |
0x00, 0x7E, 0x00, 0x7E, 0x00, 0x7E, 0x00, 0x00, |
0x18, 0x18, 0x7E, 0x18, 0x18, 0x00, 0x7E, 0x00, |
0x60, 0x30, 0x18, 0x30, 0x60, 0x00, 0xFC, 0x00, |
0x18, 0x30, 0x60, 0x30, 0x18, 0x00, 0xFC, 0x00, |
0x0E, 0x1B, 0x1B, 0x18, 0x18, 0x18, 0x18, 0x18, |
0x18, 0x18, 0x18, 0x18, 0x18, 0xD8, 0xD8, 0x70, |
0x18, 0x18, 0x00, 0x7E, 0x00, 0x18, 0x18, 0x00, |
0x00, 0x76, 0xDC, 0x00, 0x76, 0xDC, 0x00, 0x00, |
0x38, 0x6C, 0x6C, 0x38, 0x00, 0x00, 0x00, 0x00, |
0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, |
0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, |
0x0F, 0x0C, 0x0C, 0x0C, 0xEC, 0x6C, 0x3C, 0x1C, |
0x58, 0x6C, 0x6C, 0x6C, 0x6C, 0x00, 0x00, 0x00, |
0x70, 0x98, 0x30, 0x60, 0xF8, 0x00, 0x00, 0x00, |
0x00, 0x00, 0x3C, 0x3C, 0x3C, 0x3C, 0x00, 0x00, |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 |
}; |
/contrib/media/updf/me/include/menuet/gui.h |
---|
0,0 → 1,111 |
#ifndef __GUI_H |
#define __GUI_H |
#ifdef __cplusplus |
extern "C" { |
#endif |
#include<menuet/os.h> |
#define GUI_DX 10 |
#define GUI_DY 20 |
typedef struct __button_t |
{ |
int id; |
char * txt; |
int x,y; |
int xsz,ysz; |
void (* press_proc)(void); |
} button_t; |
typedef struct |
{ |
int x,y; |
int max_len; |
__u32 back_color,text_color; |
int current; |
__u8 * buffer; |
} input_line_t; |
static inline void draw_button(button_t * b) |
{ |
int l; |
l=strlen(b->txt)<<3; |
l=(b->xsz-l)>>1; |
__menuet__make_button(b->x-2+10,b->y-2+20,b->xsz,b->ysz,b->id,0x808080); |
__menuet__write_text(b->x+l+10,b->y+((b->ysz-8)>>1)+20,0,b->txt,strlen(b->txt)); |
} |
static inline void repaint_button_group(button_t * bt,int nr) |
{ |
int i; |
for(i=0;i<nr;i++) draw_button(&bt[i]); |
} |
static inline void check_button_click(button_t * bt,int nr,int clicked) |
{ |
int i; |
for(i=0;i<nr;i++) |
if(bt[i].id==clicked) |
{ |
if(bt[i].press_proc) bt[i].press_proc(); |
return; |
} |
} |
static inline void draw_input_line(input_line_t * k) |
{ |
__menuet__bar(k->x+GUI_DX,k->y+GUI_DY,(k->max_len<<3)+10,8+5,k->back_color); |
if(k->current) |
__menuet__write_text(k->x+GUI_DX,k->y+GUI_DY,k->text_color,k->buffer,k->current); |
} |
static inline void handle_input_line(input_line_t * l) |
{ |
for(;;) |
{ |
int k=__menuet__wait_for_event(); |
switch(k) |
{ |
case 1: |
WINDOW_PAINT_PROC(); |
continue; |
case 2: |
k=__menuet__getkey(); |
break; |
case 3: |
if(__menuet__get_button_id()==1) __menuet__sys_exit(); |
continue; |
} |
if(!k) continue; |
if(k==13) return; |
if(k=='\b') |
{ |
if(l->current) l->current--; |
l->buffer[l->current]='\0'; |
} else { |
if(l->current>=l->max_len) continue; |
l->buffer[l->current]=(__u8)k; |
l->current++; |
l->buffer[l->current]='\0'; |
} |
draw_input_line(l); |
} |
} |
static inline void outtextxy(int x,int y,__u32 tcol,__u32 bcol,char * txt) |
{ |
int l,m; |
m=l=strlen(txt); |
l<<=3; |
l+=4; |
__menuet__bar(GUI_DX+x,GUI_DY+y,l,10,bcol); |
__menuet__write_text(GUI_DX+x,GUI_DY+y,tcol,txt,m); |
} |
#ifdef __cplusplus |
} |
#endif |
#endif |
/contrib/media/updf/me/include/menuet/ipc.h |
---|
0,0 → 1,21 |
#ifndef __MENUETOS_IPC_H |
#define __MENUETOS_IPC_H |
typedef struct { |
volatile unsigned long lock; |
unsigned long free_ptr; |
char __mem[0]; |
} ipc_hdr_t; |
typedef struct { |
unsigned long sender_pid; |
unsigned long msg_length; |
char message[0]; |
} ipc_msg_t; |
ipc_hdr_t * create_ipc(unsigned long size); |
void register_ipc_mem(ipc_hdr_t * hdr); |
void ipc_send_message(int dst_pid,ipc_msg_t * msg); |
extern inline int ipc_messages_avail(ipc_hdr_t * hdr); |
#endif |
/contrib/media/updf/me/include/menuet/mash.h |
---|
0,0 → 1,19 |
#ifndef __MENUET_MASH_H |
#define __MENUET_MASH_H |
#ifdef __cplusplus |
extern "C" { |
#endif |
#include<menuet/os.h> |
extern void __mash__puts(char * str); |
extern void __mash__gets(char * str,int len); |
extern char mash_args[]; |
#ifdef __cplusplus |
} |
#endif |
#endif |
/contrib/media/updf/me/include/menuet/net.h |
---|
0,0 → 1,73 |
#ifndef __MENUET_NET_H |
#define __MENUET_NET_H |
#ifdef __cplusplus |
extern "C" { |
#endif |
#include<menuet/os.h> |
#define __NET_stack_rd_cfg_word 0 |
#define __NET_stack_get_ip 1 |
#define __NET_stack_wr_cfg_word 2 |
#define __NET_stack_put_ip 3 |
#define __NET_sock_open_UDP 0 |
#define __NET_sock_open_TCP 5 |
#define __NET_sock_close_UDP 1 |
#define __NET_sock_close_TCP 8 |
#define __NET_sock_poll 2 |
#define __NET_sock_read 3 |
#define __NET_sock_write_UDP 4 |
#define __NET_sock_get_status 6 |
#define __NET_sock_write_TCP 7 |
#define __NET_sock_check_port 9 |
#define __NET_socket 53 |
#define __NET_stack 52 |
int __menuet__get_stack_config_word(void); |
__u32 __menuet__get_my_IP(void); |
void __menuet__set_stack_config_word(int cfg); |
void __menuet__set_my_IP(__u32 my_IP); |
__u32 __menuet__open_UDP_socket(__u32 local_port,__u32 remote_port,__u32 remote_ip); |
__u32 __menuet__open_TCP_socket(__u32 local_port,__u32 remote_port,__u32 remote_ip,int mode); |
int __menuet__close_UDP_socket(int socket); |
int __menuet__close_TCP_socket(int socket); |
int __menuet__poll_socket(int sock); |
int __menuet__read_socket(int sock,__u8 * return_data); |
int __menuet__get_TCP_socket_status(int sock); |
int __menuet__write_UDP_socket(int sock,int count,void * buffer); |
int __menuet__write_TCP_socket(int sock,int count,void * buffer); |
int __menuet__check_net_port_availability(int port); |
/* Values returned by __menuet__check_net_port_availability */ |
#define PORT_AVAILABLE (1) |
#define PORT_UNAVAILABLE (0) |
#define NET_OP_OK ((int)(0)) |
#define NET_OP_ERR ((int)(-1)) |
/* These are socket modes */ |
#define SOCKET_PASSIVE 0 |
#define SOCKET_ACTIVE 1 |
/* These belong to socket status */ |
#define TCB_LISTEN 1 |
#define TCB_SYN_SENT 2 |
#define TCB_SYN_RECEIVED 3 |
#define TCB_ESTABLISHED 4 |
#define TCB_FIN_WAIT_1 5 |
#define TCB_FIN_WAIT_2 6 |
#define TCB_CLOSE_WAIT 7 |
#define TCB_CLOSING 8 |
#define TCB_LAST_ACK 9 |
#define TCB_TIME_AWAIT 10 |
#define TCB_CLOSED 11 |
#ifdef __cplusplus |
} |
#endif |
#endif |
/contrib/media/updf/me/include/menuet/network.hpp |
---|
0,0 → 1,33 |
#ifndef __MENUET_NETWORK_HPP__ |
#define __MENUET_NETWORK_HPP__ |
#include<menuet/net.h> |
class IP_Address |
{ |
public: |
unsigned long this_ip_inet_fmt; |
IP_Address(unsigned long); |
IP_Address(__u8,__u8,__u8,__u8); |
~IP_Address(); |
unsigned long operator = (IP_Address&); |
IP_Address& operator = (unsigned long); |
}; |
class UDP_Socket |
{ |
public: |
UDP_Socket(__u32 local_port,__u32 remote_port,__u32 remote_ip,bool close_on_delete); |
virtual ~UDP_Socket(); |
virtual int Open(); |
virtual int Close(); |
virtual int Read(__u8 * data); |
virtual int Write(int count,void * data); |
virtual int Poll(); |
protected: |
unsigned long p[3]; |
bool f; |
int sock; |
}; |
#endif |
/contrib/media/updf/me/include/menuet/os.h |
---|
0,0 → 1,225 |
#ifndef __GLIBC__MENUET_OS_H |
#define __GLIBC__MENUET_OS_H |
#ifdef __cplusplus |
extern "C" { |
#endif |
typedef unsigned char __u8; |
typedef unsigned short __u16; |
typedef unsigned long __u32; |
#pragma pack(push,1) |
void __menuet__define_window(__u16 x1,__u16 y1,__u16 xsize,__u16 ysize, |
__u32 body_color,__u32 grab_color,__u32 frame_color); |
void __menuet__window_redraw(int status); |
void __menuet__putpixel(__u32 x,__u32 y,__u32 color); |
int __menuet__getkey(void); |
__u32 __menuet__getsystemclock(void); |
void __menuet__write_text(__u16 x,__u16 y,__u32 color,char * text,int len); |
void __menuet__delay100(int m); |
__u32 __menuet__open(char * name,char * data); |
void __menuet__save(char * name,char * data,__u32 count); |
void __menuet__putimage(__u16 x1,__u16 y1,__u16 xsize,__u16 ysize,char * image); |
void __menuet__make_button(__u16 x1,__u16 y1,__u16 xsize,__u16 ysize, |
int id,__u32 color); |
int __menuet__get_button_id(void); |
int __menuet__wait_for_event(void); |
int __menuet__check_for_event(void); |
void __menuet__bar(__u16 x1,__u16 y1,__u16 xsize,__u16 ysize,__u32 color); |
void __menuet__sys_exit(void); |
void * __menuet__exec_thread(void (* func_ptr)(void),__u32 stack_size,int * retp); |
void __menuet__idle(void); |
void __menuet__exec_ramdisk(char * filename,char * args,...); |
void __menuet__exec_hd(char * filename,char * args,...); |
struct process_table_entry |
{ |
__u32 cpu_usage; |
__u16 pos_in_windowing_stack; |
__u16 win_stack_val_at_ecx; |
__u16 reserved1; |
char name[12]; |
__u32 memstart; |
__u32 memused; |
__u32 pid; |
__u32 winx_start,winy_start; |
__u32 winx_size,winy_size; |
__u16 thread_state; |
__u16 reserved2; |
__u32 client_left,client_top,client_width,client_height; |
__u8 window_state; |
__u8 reserved3[1024-71]; |
}; |
#define PID_WHOAMI (-1) |
int __menuet__get_process_table(struct process_table_entry * proctab,int pid); |
void __menuet__get_screen_max(__u16 * x,__u16 * y); |
#define BTYPE_TILE 1 |
#define BTYPE_STRETCH 2 |
void __menuet__set_background_size(__u32 xsz,__u32 ysz); |
void __menuet__write_background_mem(__u32 pos,__u32 color); |
void __menuet__draw_background(void); |
void __menuet__set_background_draw_type(int type); |
void __menuet__background_blockmove(char * src_ptr,__u32 bgr_dst,__u32 count); |
void __menuet__reset_mpu401(void); |
void __menuet__write_mpu401(__u8 d); |
__u32 __menuet__get_date(void); |
void __menuet__line(__u16 x1,__u16 y1,__u16 x2,__u16 y2,__u32 color); |
void __menuet__set_bitfield_for_wanted_events(__u16 ev); |
#define EVENT_REDRAW 0x00000001 |
#define EVENT_KEY 0x00000002 |
#define EVENT_BUTTON 0x00000004 |
#define EVENT_END_REQUEST 0x00000008 |
#define EVENT_DESKTOP_BACK_DRAW 0x00000010 |
#define EVENT_MOUSE_CHANGE 0x00000020 |
#define EVENT_IPC 0x00000040 |
#define EVENT_GET_IRQS_MASK 0xFFFF0000 |
#define EVENT_GET_IRQ(e) (((e)>>16)&0xFFFF) |
__u32 __menuet__get_irq_owner(__u32 irq); |
int __menuet__get_data_read_by_irq(__u32 irq,__u32 * num_bytes_in_buf,__u8 * data); |
int __menuet__send_data_to_device(__u16 port,__u8 val); |
void __menuet__program_irq(void * intr_table,__u32 irq_num); |
int __menuet__reserve_irq(int irqno); |
int __menuet__free_irq(int irqno); |
int __menuet__reserve_port_area(__u32 start,__u32 end); |
int __menuet__free_port_area(__u32 start,__u32 end); |
#define NAME_LEN 512 |
#define STC_READ 0 |
#define STC_WRITE 1 |
#define STC_APPEND 2 |
struct systree_info |
{ |
__u32 command; |
__u32 file_offset_low; |
__u32 file_offset_high; |
__u32 size; |
__u32 data_pointer; |
char _zero; |
const char* nameptr; |
}; |
struct systree_info2 |
{ |
__u32 command; |
__u32 file_offset_low; |
__u32 file_offset_high; |
__u32 size; |
__u32 data_pointer; |
char name[NAME_LEN]; |
}; |
struct bdfe_time |
{ |
__u8 seconds; |
__u8 minutes; |
__u8 hours; |
__u8 reserved; |
}; |
struct bdfe_date |
{ |
__u8 day; |
__u8 month; |
__u16 year; |
}; |
struct bdfe_item |
{ |
__u32 attr; |
__u8 nametype; |
__u8 reserved[3]; |
struct bdfe_time ctime; |
struct bdfe_date cdate; |
struct bdfe_time atime; |
struct bdfe_date adate; |
struct bdfe_time mtime; |
struct bdfe_date mdate; |
__u32 filesize_low; |
__u32 filesize_high; |
}; |
int __kolibri__system_tree_access(struct systree_info * info); |
int __kolibri__system_tree_access2(struct systree_info2 * info); |
int __fslayer_open(char * name,int flags); |
int __fslayer_close(int fd); |
int __fslayer_lseek(int fd,int pos,int seek_type); |
int __fslayer_tell(int fd); |
int __fslayer_read(int fd,void * buffer,__u32 count); |
int __fslayer_write(int fd,void * buffer,__u32 count); |
typedef struct |
{ |
__u8 lock; |
__u8 resvd[3]; |
__u32 ptr_to_fmsg_pos; |
/* Below is for message */ |
__u32 sender_pid; |
__u32 msg_length; |
} msgrcva_t /*__attribute__((packed))*/; |
void send_message(int pid,void * msg_ptr,int message_size); |
void define_receive_area(msgrcva_t * rcva_ptr,int size); |
void __menuet__sound_load_block(char * blockptr); |
void __menuet__sound_play_block(void); |
void __menuet__dga_get_caps(int * xres,int * yres,int * bpp,int * bpscan); |
void get_pci_version(__u8 * major,__u8 * minor); |
void pci_get_last_bus(__u8 * last_bus); |
void get_pci_access_mechanism(__u8 * mechanism); |
void pci_write_config_byte(__u8 bus,__u8 dev,__u8 fn,__u8 reg,__u8 val); |
void pci_write_config_word(__u8 bus,__u8 dev,__u8 fn,__u8 reg,__u16 val); |
void pci_write_config_dword(__u8 bus,__u8 dev,__u8 fn,__u8 reg,__u32 val); |
__u8 pci_read_config_byte(__u8 bus,__u8 dev,__u8 fn,__u8 reg); |
__u16 pci_read_config_word(__u8 bus,__u8 dev,__u8 fn,__u8 reg); |
__u32 pci_read_config_dword(__u8 bus,__u8 dev,__u8 fn,__u8 reg); |
typedef struct{ |
char* name; |
void* pointer; |
} IMP_ENTRY; |
typedef const IMP_ENTRY* IMP_TABLE; |
IMP_TABLE __kolibri__cofflib_load(const char*); |
__u32 __kolibri__cofflib_getproc(IMP_TABLE, const char*); |
static __inline__ void __menuet__debug_out_byte(const char ch){ |
__asm__ __volatile__ ("int $0x40"::"a"(63L),"b"(1L),"c"((__u8)ch)); |
} |
static __inline__ __u32 __menuet__wtf(void){ |
__u32 __ret; |
__asm__ __volatile__("int $0x40":"=a"(__ret):"0"(26),"b"(9)); |
return __ret; |
} |
void __menuet__debug_out(const char* str); |
#define TIME_GETH(x) ((x)&0x000000FF) |
#define TIME_GETM(x) ((((x)&0x00FF00)>>8)&0xFF) |
#define TIME_GETS(x) ((((x)&0xFF0000)>>16)&0xFF) |
#pragma pack(pop) |
#ifdef __cplusplus |
} |
#endif |
#endif |
/contrib/media/updf/me/include/menuet/sem.h |
---|
0,0 → 1,143 |
#ifndef __MENUETOS_SEM_H |
#define __MENUETOS_SEM_H |
#ifdef __cplusplus |
extern "C" { |
#endif |
typedef volatile struct { |
unsigned long s_magic; |
volatile unsigned long s_value; |
volatile unsigned long s_lock; |
} semaphore_t; |
#define SEM_MAGIC 0x1BAD2E20 |
#define SEM_INIT { SEM_MAGIC , 0 , 0 } |
static inline semaphore_t * get_sem_init(void) |
{ |
static semaphore_t __ret=SEM_INIT; |
return &__ret; |
} |
static inline void fill_empty_sem(semaphore_t * sem) |
{ |
if(sem) |
{ |
//memcpy((void *)sem,(const void *)get_sem_init(),sizeof(semaphore_t)); |
} |
} |
#define DECLARE_SEMAPHORE(name) semaphore_t name = SEM_INIT ; |
#define DECLARE_STATIC_SEM(name) static semaphore_t name = SEM_INIT ; |
#define DECLARE_SEMAPHORE_S(name) semaphore_t name |
#define check_sem_magic(s) ((s)->s_magic==SEM_MAGIC) |
#define SEM_VAL(s) (s)->s_value |
#define SEM_LOCK(s) (s)->s_lock |
#define sem_lock_acquire(sem) \ |
{ \ |
LOCKED: \ |
if(check_sem_magic(sem)) \ |
{ \ |
if(SEM_LOCK(sem)) \ |
{ \ |
__menuet__delay100(1); \ |
goto LOCKED; \ |
} \ |
} \ |
} |
#define sem_lock(sem) \ |
{ \ |
if(check_sem_magic(sem)) \ |
{ \ |
sem_lock_acquire(sem); \ |
SEM_LOCK(sem)++; \ |
} \ |
} |
#define sem_unlock(sem) \ |
{ \ |
if(check_sem_magic(sem)) \ |
{ \ |
if(SEM_LOCK(sem)) SEM_LOCK(sem)--; \ |
} \ |
} |
#define sem_read(sem) \ |
({ \ |
volatile unsigned long __ret; \ |
if(check_sem_magic(sem)) \ |
{ \ |
sem_lock(sem); \ |
__ret=SEM_VAL(sem); \ |
sem_unlock(sem); \ |
} else { \ |
__ret=0; \ |
} \ |
__ret; \ |
}) |
#define sem_write(sem,val) \ |
{ \ |
if(check_sem_magic(sem)) \ |
{ \ |
sem_lock(sem); \ |
SEM_VAL(sem)=(val); \ |
sem_unlock(sem); \ |
} \ |
} |
#define sem_up(sem) \ |
{ \ |
if(check_sem_magic(sem)) \ |
{ \ |
sem_lock(sem); \ |
SEM_VAL(sem)++; \ |
sem_unlock(sem); \ |
} \ |
} |
#define sem_down(sem) \ |
{ \ |
if(check_sem_magic(sem)) \ |
{ \ |
sem_lock(sem); \ |
if(SEM_VAL(sem)) SEM_VAL(sem)--; \ |
sem_unlock(sem); \ |
} \ |
} |
#define sem_isup(sem) \ |
{ \ |
int __ret; \ |
if(check_sem_magic(sem)) \ |
{ \ |
sem_lock(sem); \ |
__ret=SEM_VAL(sem) ? 1 : 0; \ |
sem_unlock(sem); \ |
} \ |
__ret; \ |
} |
#define sem_isdown(sem) \ |
{ \ |
int __ret; \ |
if(check_sem_magic(sem)) \ |
{ \ |
sem_lock(sem); \ |
__ret=SEM_VAL(sem) ? 0 : 1; \ |
sem_unlock(sem); \ |
} \ |
__ret; \ |
} |
#ifdef __cplusplus |
} |
#endif |
#endif |
/contrib/media/updf/me/include/menuet/textcon.h |
---|
0,0 → 1,91 |
#ifndef __TEXTCON_H |
#define __TEXTCON_H |
#include<menuet/sem.h> |
#define COLOR_CONV_B_2_D { \ |
0x000000, \ |
0x000080, \ |
0x800000, \ |
0x008080, \ |
0x800000, \ |
0x808000, \ |
0x404040, \ |
0x808080, \ |
0x606060, \ |
0x0000FF, \ |
0x00FF00, \ |
0x00FFFF, \ |
0xFF0000, \ |
0xFFFF00, \ |
0x00FFFF, \ |
0xFFFFFF, \ |
} |
#define CHAR_SIZE_X 5 |
#define CHAR_SIZE_Y 8 |
#define NR_CHARS_X 80 |
#define NR_CHARS_Y 25 |
#define CON_AT_X 10 |
#define CON_AT_Y 25 |
typedef struct |
{ |
unsigned char c_char; |
unsigned char c_back; |
unsigned char c_color; |
} char_info_t; |
typedef struct |
{ |
int esc[4]; |
} esc_info_t; |
typedef struct |
{ |
unsigned char text_color,back_color; |
char_info_t char_table[NR_CHARS_X][NR_CHARS_Y]; |
int id; |
int cur_x,cur_y; |
int cur_visible; |
unsigned char cur_color; |
esc_info_t esc_seq; |
DECLARE_SEMAPHORE_S(io_lock); |
} console_t; |
#define MAX_CONSOLES 4 |
extern console_t * consoles[MAX_CONSOLES]; |
extern console_t * visible_console; |
void init_consoles(void); |
void lcon_clrscr(console_t * con); |
void lcon_flush_console(console_t * con); |
void lcon_flushxy(console_t * con,int x,int y); |
void lcon_scroll(console_t * con,int update); |
void lcon_putch(console_t * con,char c); |
void lcon_gotoxy(console_t * con,int x,int y); |
void lcon_set_text_color(console_t * con,int color); |
void lcon_set_back_color(console_t * con,int color); |
void lcon_switch_to_console(int i); |
unsigned char lcon_getcxy(console_t * con,int x,int y); |
void lcon_putcxy(console_t * con,int x,int y,unsigned char c); |
#define _lcon_clrscr() lcon_clrscr(visible_console) |
#define _lcon_flush_console() lcon_flush_console(visible_console) |
#define _lcon_flushxy(x,y) lcon_flushxy(visible_console,(x),(y)) |
#define _lcon_scroll() lcon_scroll(visible_console,1) |
#define _lcon_putch(c) lcon_putch(visible_console,(char)(c)) |
#define _lcon_gotoxy(x,y) lcon_gotoxy(visible_console,(x),(y)) |
#define _lcon_set_text_color(c) lcon_set_text_color(visible_console,(c)&(1+2+4+8)) |
#define _lcon_set_back_color(c) lcon_set_back_color(visible_console,(c)&(1+2+4+8)) |
#define _lcon_switch(i) lcon_switch_to_console((i)) |
#define _lcon_getcxy(x,y) lcon_getcxy(visible_console,(x),(y)) |
#define _lcon_putcxy(x,y,c) lcon_putcxy(visible_console,(x),(y),(c)) |
console_t * create_private_console(void); |
void free_private_console(console_t * con); |
#endif |
/contrib/media/updf/me/include/menuet/thread.h |
---|
0,0 → 1,13 |
#ifndef __MENUET_THREAD_H |
#define __MENUET_THREAD_H |
#define THR_ATEXIT 0x00000001 |
#define THR_KILLER 0x00000002 |
void init_threads(void); |
int get_thread_pid(int tid); |
int get_thread_tid(int pid); |
int create_thread(void (* fn)(void),int stacksize,int flags,void ** rstackp); |
void kill_thread(int tid); |
#endif |