亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? console.c

?? 使用BorlandC++4.5編譯的一個MUD客戶端程序
?? C
字號:
head	2.1;access;symbols;locks; strict;comment	@ * @;2.1date	95.10.24.15.46.14;	author tsurace;	state Release;branches;next	1.1;1.1date	95.10.12.17.56.43;	author tsurace;	state Beta;branches;next	;desc@Routines to manage suspended programs.@2.1log@Roll.@text@/* console.c: Control over suspended programs */
/* RCS $Id: console.c 1.1 1995/10/12 17:56:43 tsurace Beta tsurace $ */

#include "vt.h"

#ifdef PROTOTYPES
static void main_menu(void);
static void show_menu(void);
static void del_menu(void);
static void del_estate(Estate **);
static int get_num(int);
static void list_estates(Estate *);
static int get_one_of(char *);
#else
static void main_menu(), show_menu(), del_menu(), del_estate();
static void list_estates();
#endif

int console_mode = 0;			/* Console currently executing */
static int nwin;
static int nrmt;
extern int console_pending;
extern Unode win_ring, rmt_ring;
extern Estate *events, *gen_read, *gen_high, *gen_low;

void console()
{
	Unode *un;

	console_mode = 1;
	console_pending = 0;
	coutput("Entering VT console mode\n");
	for (nwin = 0, un = win_ring.next; !un->dummy; un = un->next, nwin++);
	for (nrmt = 0, un = rmt_ring.next; !un->dummy; un = un->next, nrmt++);
	main_menu();
	console_mode = 0;
}

static void main_menu()
{
	for (;;) {
		coutput("[S]how [D]elete [Q]uit: ");
		switch (get_one_of("sdq\033")) {
		    case 's':
			coutput("Show\n");
			show_menu();
		    Case 'd':
			coutput("Del\n");
			del_menu();
		    Case 'q':
		    case '\033':
			coutput("Quit\n");
			return;
		}
	}
}

static void show_menu()
{
	int i;
	Unode *un;

	coutput("[W]indow [R]emote [G]eneral: ");
	switch (get_one_of("wrg\033")) {
	    case 'w':
		coutput("Window #");
		i = get_num(nwin - 1);
		if (i == -1)
			break;
		for (un = win_ring.next; i--; un = un->next);
		coutput("[GH] getch(HIGH) [GL] getch(LOW) [R] read(): ");
		switch (get_one_of("gr\033")) {
		    case 'g':
			coutput("getch(");
			switch(get_one_of("hl\033")) {
			    case 'h':
				coutput("HIGH)\n");
				list_estates(un->Wghstack);
			    Case 'l':
				coutput("LOW)\n");
				list_estates(un->Wglstack);
			    Case '\033':
				coutput("\n");
			}
		    Case 'r':
			coutput("read()\n");
			list_estates(un->Wrstack);
		    Case '\033':
			coutput("\n");
		}
	    Case 'r':
		coutput("Remote #");
		i = get_num(nrmt - 1);
		if (i != -1) {
			for (un = rmt_ring.next; i--; un = un->next);
			list_estates(un->Rrstack);
		}
	    Case 'g':
		coutput("General\n");
		coutput("[S]leep [R]ead [GH] getch(HIGH) [GL] getch(LOW): ");
		switch(get_one_of("srg\033")) {
		    case 's':
			coutput("sleep()\n");
			list_estates(events);
		    Case 'r':
			coutput("read()\n");
			list_estates(gen_read);
		    Case 'g':
			coutput("getch(");
			switch(get_one_of("hl")) {
			    case 'h':
				coutput("HIGH)\n");
				list_estates(gen_high);
			    Case 'l':
				coutput("LOW)\n");
				list_estates(gen_low);
			    Case '\033':
				coutput("\n");
			}
		    Case '\033':
			coutput("\n");
		}
	    Case '\033':
		coutput("\n");
	}
}

static void del_menu()
{
	int i;
	Unode *un;

	coutput("[W]indow [R]emote [G]eneral: ");
	switch(get_one_of("wrg\033")) {
	    case 'w':
		coutput("Window #");
		i = get_num(nwin - 1);
		if (i == -1)
			break;
		for (un = win_ring.next; i--; un = un->next);
		coutput("[GH] getch(HIGH) [GL] getch(LOW) [R] read(): ");
		switch(get_one_of("gr\033")) {
		    case 'g':
			coutput("getch(");
			switch(get_one_of("hl")) {
			    case 'h':
				coutput("HIGH) #");
				del_estate(&un->Wghstack);
			    Case 'l':
				coutput("LOW) #");
				del_estate(&un->Wglstack);
			    Case '\033':
				coutput("\n");
			}
		    Case 'r':
			coutput("read() #");
			del_estate(&un->Wrstack);
		    Case '\033':
			coutput("\n");
		}
	    Case 'r':
		coutput("Remote #");
		i = get_num(nrmt - 1);
		if (i != -1) {
		    for (un = rmt_ring.next; i--; un = un->next);
		    coutput("read_rmt() #");
		    del_estate(&un->Rrstack);
		}
	    Case 'g':
		coutput("General\n");
		coutput("[S]leep [R]ead [GH] getch(HIGH) [GL] getch(LOW): ");
		switch(get_one_of("srg\033")) {
		    case 's':
			coutput("sleep() #");
			del_estate(&events);
		    Case 'r':
			coutput("read() #");
			del_estate(&gen_read);
		    Case 'g':
			coutput("getch(");
			switch (get_one_of("hl")) {
			    case 'h':
				coutput("HIGH) #");
				del_estate(&gen_high);
			    Case 'l':
				coutput("LOW) #");
				del_estate(&gen_low);
			    Case '\033':
				coutput("\n");
			}
		    Case '\033':
			coutput("\n");
		}
	    Case '\033':
		coutput("\n");
	}
}

static void del_estate(list)
	Estate **list;
{
	Estate *es;
	int num;

	for (num = 0, es = *list; es; num++, es = es->next);
	num = get_num(num - 1);
	if (num == -1)
		return;
	for (; num--; list = &(*list)->next);
	discard_estate(list);
}

static int get_num(maxval)
	int maxval;
{
	char c, buf[2];
	int val = 0, blank = 1;

	if (maxval < 0) {
		coutput("None exist\n");
		return -1;
	}
	for (;;) {
		do
			c = getch();
		while (!isdigit(c) && c != '\033' && c != '\n');
		if (c == '\033') {
			coutput("\n");
			return -1;
		}
		if (c == '\n') {
			if (blank)
				coutput("0");
			coutput("\n");
			return val;
		}
		val = val * 10 + c - '0';
		if (val > maxval) {
			coutput("Invalid\n");
			return -1;
		}
		buf[0] = c;
		buf[1] = '\0';
		coutput(buf);
		blank = 0;
		if (val * 10 > maxval || !val) {
			coutput("\n");
			return val;
		}
	}
}

static void list_estates(list)
	Estate *list;
{
	int count = 0, i;
	char *name;

	for (; list; list = list->next, count++) {
		outputf("%3d: ", count);
		for (i = 0; i < list->cframes; i++) {
			name = lookup_prog(list->cimage[i].prog);
			coutput(name ? name : "<no name>");
			coutput((i == list->cframes - 1) ? "\n" : "\n	  ");
		}
	}
}

static int get_one_of(possibilities)
	char *possibilities;
{
	char c;

	do
		c = lcase(getch());
	while (!strchr(possibilities, c));
	return c;
}

@1.1log@Initial revision@text@d2 1a2 1/* RCS $Id$ */@

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级夜夜爽| 1000部国产精品成人观看| 亚洲精品乱码久久久久久日本蜜臀| 国产乱码一区二区三区| 日本一区二区成人| 色综合天天天天做夜夜夜夜做| 亚洲欧美二区三区| 91精品欧美综合在线观看最新| 老司机精品视频线观看86| 久久亚洲精品小早川怜子| 不卡大黄网站免费看| 亚洲精品国产高清久久伦理二区| 成人免费视频免费观看| 欧美xxxx老人做受| 成人av电影在线网| 奇米影视在线99精品| 亚洲国产高清aⅴ视频| 欧美精品777| 91美女视频网站| 韩国精品在线观看| 午夜日韩在线观看| 日本一二三不卡| 日韩一区二区三免费高清| 99视频超级精品| 国产一区二区三区精品视频| 亚洲国产乱码最新视频| 亚洲女同ⅹxx女同tv| 亚洲精品一区二区三区精华液| 欧美性生活久久| av在线这里只有精品| 国产高清久久久| 国产福利一区二区三区视频| 麻豆freexxxx性91精品| 性做久久久久久久久| 亚洲自拍与偷拍| 亚洲成人自拍偷拍| 日本不卡视频在线观看| 日本三级韩国三级欧美三级| 日本不卡免费在线视频| 日本v片在线高清不卡在线观看| 日韩和欧美一区二区三区| 国产精品国产自产拍高清av| 色妞www精品视频| 色婷婷久久久亚洲一区二区三区| caoporn国产精品| 91碰在线视频| 欧美一区日韩一区| 久久精品免视看| 亚洲女同ⅹxx女同tv| 亚洲妇女屁股眼交7| 精品在线播放免费| 不卡的电影网站| 制服丝袜av成人在线看| 久久久久久夜精品精品免费| 成人免费小视频| 精品影视av免费| 日本道免费精品一区二区三区| 91精品国产综合久久福利| 国产色91在线| 蜜桃久久久久久久| 91丨porny丨国产| 精品美女在线播放| 亚洲免费在线播放| 成人毛片视频在线观看| 宅男在线国产精品| 国产精品国产馆在线真实露脸| 日本少妇一区二区| 欧美乱妇23p| 亚洲午夜激情网站| 91国产福利在线| 亚洲精品高清视频在线观看| 国产乱国产乱300精品| 国产91丝袜在线播放九色| av电影一区二区| 国产精品久久午夜夜伦鲁鲁| 国产精品资源在线| 国产午夜亚洲精品午夜鲁丝片| 秋霞国产午夜精品免费视频| 欧美精品vⅰdeose4hd| 午夜伦理一区二区| 欧美一区二区性放荡片| 婷婷中文字幕一区三区| 日韩视频免费直播| 国产成人在线视频网站| 自拍偷在线精品自拍偷无码专区 | 成人短视频下载| 中文字幕一区二区5566日韩| 色婷婷精品久久二区二区蜜臂av | 国产不卡在线视频| 国产欧美日韩视频一区二区| 99热精品一区二区| 日韩在线卡一卡二| 中文字幕国产精品一区二区| 99久久伊人久久99| 欧美a级一区二区| 中文字幕巨乱亚洲| 欧美一区二区三区四区在线观看 | 蜜臀精品一区二区三区在线观看| 欧美精品在线视频| 一区二区三区蜜桃| 久久日韩粉嫩一区二区三区| 日本韩国精品在线| 国产揄拍国内精品对白| 亚洲精品国产无天堂网2021| 国产亚洲欧美在线| 欧美一级欧美三级| 欧美午夜精品一区| 91在线观看地址| 成人综合激情网| 国产高清亚洲一区| 国产在线日韩欧美| 美女国产一区二区| 免费久久99精品国产| 樱桃视频在线观看一区| 亚洲视频 欧洲视频| 麻豆精品一区二区综合av| 国产精品二三区| 精品乱人伦小说| 欧美日本在线看| 欧美日韩一区国产| 欧美日免费三级在线| 在线观看免费亚洲| 欧美午夜影院一区| 制服视频三区第一页精品| 日韩一区二区三区在线| 日韩精品一区在线| 久久青草国产手机看片福利盒子| 26uuu亚洲综合色欧美| 国产亚洲欧美在线| 亚洲欧美自拍偷拍色图| 一区二区三区在线视频免费| 亚洲午夜精品网| 美腿丝袜在线亚洲一区| 精品一区二区三区在线播放视频| 国产成人一级电影| 99国产精品99久久久久久| 日本韩国欧美三级| 日韩一级大片在线| 国产精品久久久久久久久免费相片| 一区二区中文视频| 首页亚洲欧美制服丝腿| 国产自产v一区二区三区c| 成人av在线一区二区| 欧美日韩亚洲综合一区| 久久久久久久久97黄色工厂| 国产精品视频九色porn| 亚洲va欧美va天堂v国产综合| 日本亚洲一区二区| 成人av资源在线观看| 欧美一区二区在线不卡| 欧美激情一区二区三区| 亚洲不卡在线观看| 国产99精品视频| 欧美日韩国产在线播放网站| 久久综合999| 亚洲韩国精品一区| 国产乱码一区二区三区| 欧美日韩一区二区在线观看视频 | 国产精品美女www爽爽爽| 亚洲综合视频在线| 国产一区二区久久| 在线电影院国产精品| 国产精品视频一二三| 日韩国产高清影视| 99re8在线精品视频免费播放| 欧美一区永久视频免费观看| 国产精品国产自产拍高清av | 欧美成人一区二区三区在线观看| 亚洲欧洲精品一区二区精品久久久 | 日韩一区二区三区av| 中文字幕中文字幕中文字幕亚洲无线| 免费一级片91| 欧美亚洲丝袜传媒另类| 国产精品理伦片| 国内精品伊人久久久久av一坑| 在线观看免费视频综合| 亚洲图片激情小说| 国产99久久久精品| 26uuu亚洲综合色欧美| 欧美a级理论片| 在线播放一区二区三区| 亚洲最色的网站| 一本一道波多野结衣一区二区| 久久久精品日韩欧美| 国产中文一区二区三区| 日韩一区二区麻豆国产| 天堂av在线一区| 欧美日韩一区精品| 午夜精品福利视频网站| 日本道在线观看一区二区| 亚洲精品视频一区二区| 97se亚洲国产综合自在线| 国产精品免费aⅴ片在线观看| 国产精品自拍三区| 久久久午夜电影| 成人精品小蝌蚪| 亚洲特黄一级片| 色婷婷一区二区三区四区| 亚洲人成小说网站色在线| 91在线视频官网|