-
Notifications
You must be signed in to change notification settings - Fork 0
/
reset.c
86 lines (74 loc) · 1.79 KB
/
reset.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
/* $Id: reset.c,v 1.7 2011/12/06 10:43:28 tom Exp $ */
#include <vttest.h>
#include <esc.h>
static int did_reset = FALSE;
int
tst_DECSTR(MENU_ARGS)
{
vt_move(1, 1);
println(the_title);
println("(VT220 & up)");
println("");
println("The terminal will now soft-reset");
holdit();
decstr();
return MENU_HOLD;
}
static int
tst_DECTST(MENU_ARGS)
{
vt_move(1, 1);
println(the_title);
println("");
if (did_reset)
println("The terminal is now RESET. Next, the built-in confidence test");
else
printf("The built-in confidence test ");
printf("will be invoked. ");
holdit();
vt_clear(2);
dectst(1);
zleep(5000); /* Wait 5.0 seconds */
vt_move(10, 1);
println("If the built-in confidence test found any errors, a code");
printf("%s", "is visible above. ");
did_reset = FALSE;
return MENU_HOLD;
}
static int
tst_RIS(MENU_ARGS)
{
vt_move(1, 1);
println(the_title);
println("(VT100 & up, not recommended)");
println("");
printf("The terminal will now be RESET. ");
holdit();
ris();
zleep(5000); /* Wait 5.0 seconds */
did_reset = TRUE;
reset_level();
input_8bits = FALSE;
output_8bits = FALSE;
return MENU_HOLD;
}
int
tst_rst(MENU_ARGS)
{
/* *INDENT-OFF* */
static MENU my_menu[] = {
{ "Exit", 0 },
{ "Reset to Initial State (RIS)", tst_RIS },
{ "Invoke Terminal Test (DECTST)", tst_DECTST },
{ "Soft Terminal Reset (DECSTR)", tst_DECSTR },
{ "", 0 }
};
/* *INDENT-ON* */
did_reset = FALSE;
do {
vt_clear(2);
__(title(0), printf("%s", the_title));
__(title(2), println("Choose test type:"));
} while (menu(my_menu));
return MENU_NOHOLD;
}