Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > media > main-release > by-pkgid > f500feda780059dbc2227b2aa7d4b56e > files > 16

kon2-0.3.9b-8mdv2008.1.x86_64.rpm

A. kon.cfg ¤Î½èÍý

¢£void ReadConfig(void)

kon.cfg ¤ÎÆâÍƤϴؿô ReadConfig() ¤Ë¤è¤Ã¤Æ½èÍý¤µ¤ì¤Þ¤¹¡£ ReadConfig()
¤Ï¥¨¥ó¥È¥ê̾¤È½é´ü²½´Ø¿ô¤ÎÂбþɽ¤ò¥µ¡¼¥Á¤·¤Æ¡¢Æɤ߹þ¤ó¤À¥¨¥ó¥È¥ê£±¤Ä£±
¤Ä¤Ë¤Ä¤¤¤ÆÂбþ¤¹¤ë½é´ü²½´Ø¿ô¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£ Âбþɽ¤Ï°Ê²¼¤Î¹½Â¤ÂΤòÊÂ
¤Ù¤¿¤â¤Î¤Ç¤¹¡£

	static struct capability {
		const char *name;	    ¥¨¥ó¥È¥ê̾
		void (*func)(const char*);  ½é´ü²½´Ø¿ô
		int initialized;	    ½é´ü²½¤¬½ª¤ì¤Ð 1
		const char *def_value;	    ¥Ç¥Õ¥©¥ë¥ÈÃÍ¡£ NULL¤Ê¤éɬ¿Ü¥¨¥ó¥È¥ê
	};

½èÍý´Ø¿ô¤Ï¥¨¥ó¥È¥êÃͤÎʸ»úÎó¤ò¼õ¤±¤È¤ê½é´ü²½½èÍý¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£

kon.cfg ¤òÆɤ߽ª¤ë¤È¡¢½é´ü²½´Ø¿ô¤ò¸Æ¤Ó½Ð¤µ¤Ê¤«¤Ã¤¿¥¨¥ó¥È¥ê¤Ë¤Ä¤¤¤Æ¥Ç¥Õ¥©
¥ë¥ÈÃͤ¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«Ä´¤Ù¡¢ÀßÄꤵ¤ì¤Æ¤¤¤ì¤Ð¤½¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤÇ
½é´ü²½´Ø¿ô¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£ ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¥¨¥é¡¼¤È¤Ê¤ê¤Þ¤¹¡£


¢£void DefineCap(const char *name, initializer *func, const char *def_value)

¿·¤¿¤Ê¥¨¥ó¥È¥ê¤ò½é´ü²½¥Æ¡¼¥Ö¥ë¤Ë²Ã¤¨¤Þ¤¹¡£ VGA ¥É¥é¥¤¥Ð¤À¤±¤Ï PELS ¥¨
¥ó¥È¥ê¤òɬÍפȤ¹¤ë¤Î¤Ç¡¢¤³¤Î´Ø¿ô¤ò»È¤Ã¤Æɬ¿Ü¥¨¥ó¥È¥ê¤òÄɲ䷤Ƥ¤¤Þ¤¹¡£

¢£void DelCap(const char* name)

Âбþɽ¤ÎÃæ¤Î¥¨¥ó¥È¥ê̾ name ¤Î½é´ü²½´Ø¿ô¤òºï½ü¤·¤Þ¤¹¡£ ºÆ½é´ü²½¤ÎºÝ¤Ë
»È¤Ã¤Æ¤¤¤Þ¤¹¡£


B. ¥Ó¥Ç¥ª¥É¥é¥¤¥Ð¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹

¡ü¹½Â¤ÂÎ vInfo

¥Ó¥Ç¥ª¥É¥é¥¤¥Ð¤ËÂФ¹¤ëÁàºî¤Ï¤¹¤Ù¤Æ¹½Â¤ÂÎ vInfo ¤òÄ̤·¤Æ¹Ô¤Ê¤ï¤ì¤Þ¤¹¡£

struct videoInfo {
	bool	has_hard_scroll;	¥Ï¡¼¥É¥¹¥¯¥í¡¼¥ë¤¬»È¤¨¤ë¤«¤É¤¦¤«
	void	(*init)(void),		½é´ü²½
		(*text_mode)(void),	¥Æ¥­¥¹¥È¥â¡¼¥É¤ËÀÚÂؤ¨
		(*graph_mode)(void),	¥°¥é¥Õ¥£¥Ã¥¯¥â¡¼¥É¤ËÀÚÂؤ¨
		(*wput)(u_char *code, u_char fc, u_char bc),
				        ´Á»ú½ÐÎÏ
		(*sput)(u_char *code, u_char fc, u_char bc),
				        ANK½ÐÎÏ
		(*set_cursor_address)(struct cursorInfo *c, u_int x, u_int y),
					¥«¡¼¥½¥ë c ¤Î¥¢¥É¥ì¥¹¤ò (x, y) ¤ËÀßÄê
		(*set_address)(u_int i),¼¡¤Ë½ñ¤¯Ê¸»ú¤Î¥¢¥É¥ì¥¹¤ò i ʸ»úÌܤËÀßÄê
		(*cursor)(bool),	¥«¡¼¥½¥ëon/off
		(*clear_all)(void),	²èÌÌ¥¯¥ê¥¢
		(*screen_saver)(bool),	¥¹¥¯¥ê¡¼¥ó¥»¡¼¥Ð(TRUE¤Ç¥»¡¼¥Ö¡¢FALSE¤ÇÉüµ¢)

		/* ¥Ï¡¼¥É¥¹¥¯¥í¡¼¥ë¤¬»È¤¨¤Ê¤±¤ì¤Ð°Ê²¼¤ÏNULL */
		(*set_start_address)(),	ɽ¼¨³«»Ï¥¢¥É¥ì¥¹ÀßÄê
		(*hard_scroll_up)(int lines),   ¥Ï¡¼¥É¥¹¥¯¥í¡¼¥ë¥¢¥Ã¥×
		(*hard_scroll_down)(int lines); ¥Ï¡¼¥É¥¹¥¯¥í¡¼¥ë¥À¥¦¥ó
} vInfo;


¢£void ConfigDisplay(const char *config)

¥Ó¥Ç¥ª¥É¥é¥¤¥Ð¥¨¥ó¥È¥ê¤Î½é´ü²½´Ø¿ô ConfigDisplay() ¤Ï¡¢¥¨¥ó¥È¥êÃÍʸ»ú
Îó config ¤ÎºÇ½é¤Î¹Ô¤ò¥­¡¼¤È¤·¤Æ¥Ó¥Ç¥ª¥É¥é¥¤¥ÐÀßÄê´Ø¿ô¤òÁªÂò¤·¤Þ¤¹¡£ 
¥Ó¥Ç¥ª¥É¥é¥¤¥ÐÀßÄê´Ø¿ô¤Ï dInfo ¤È vInfo ¤Ë¤½¤Î¥É¥é¥¤¥Ð¤ò»È¤¦¤¿¤á¤ÎÃͤò
ÀßÄꤷ¤Þ¤¹¡£¤Þ¤¿¡¢VGA, VGAFM ¥É¥é¥¤¥Ð¤Î¾ì¹ç¤Ï¥ì¥¸¥¹¥¿Ãͤò config ʸ»ú
Îó¤è¤êÆÀ¤Æ¥É¥é¥¤¥ÐÆâÉô¤ÎÊÑ¿ô¤Ëµ­²±¤·¤Þ¤¹¡£