|
|
1.1 root 1: /*
2: * ti4 [term]
3: * dummy program to test termlib.
4: * gets entry, counts it, and prints it.
5: */
6: #include <stdio.h>
7: #include "curses.h"
8: #include "term.h"
9:
10: #define prb(name) if (name) printf("name\n")
11: #define prn(name) if (name != -1) printf("name = %d\n", name)
12: #define prs(name) if (name) {printf("name = '"); pr(name); printf("'\n");}
13:
14: char buf[1024];
15: char *getenv();
16:
17: main(argc, argv) char **argv; {
18: char *p;
19: int rc;
20:
21: if (argc < 2)
22: p = getenv("TERM");
23: else
24: p = argv[1];
25: printf("Terminal type %s\n", p);
26: setupterm(p,1,0);
27:
28: printf("flags\n");
29:
30: prb(auto_left_margin) ;
31: prb(auto_right_margin) ;
32: prb(beehive_glitch) ;
33: prb(ceol_standout_glitch) ;
34: prb(eat_newline_glitch) ;
35: prb(erase_overstrike) ;
36: prb(generic_type) ;
37: prb(hard_copy) ;
38: prb(has_meta_key) ;
39: prb(has_status_line) ;
40: prb(insert_null_glitch) ;
41: prb(memory_above) ;
42: prb(memory_below) ;
43: prb(move_insert_mode) ;
44: prb(move_standout_mode) ;
45: prb(over_strike) ;
46: prb(status_line_esc_ok) ;
47: prb(teleray_glitch) ;
48: prb(tilde_glitch) ;
49: prb(transparent_underline) ;
50: prb(xon_xoff) ;
51:
52: printf("\nnumbers\n");
53:
54: prn(columns) ;
55: prn(init_tabs) ;
56: prn(lines) ;
57: prn(lines_of_memory) ;
58: prn(magic_cookie_glitch) ;
59: prn(padding_baud_rate) ;
60: prn(virtual_terminal) ;
61: prn(width_status_line) ;
62:
63: printf("\nstrings\n");
64:
65: prs(back_tab) ;
66: prs(bell) ;
67: prs(carriage_return) ;
68: prs(change_scroll_region) ;
69: prs(clear_all_tabs) ;
70: prs(clear_screen) ;
71: prs(clr_eol) ;
72: prs(clr_eos) ;
73: prs(column_address) ;
74: prs(command_character) ;
75: prs(cursor_address) ;
76: prs(cursor_down) ;
77: prs(cursor_home) ;
78: prs(cursor_invisible) ;
79: prs(cursor_left) ;
80: prs(cursor_mem_address) ;
81: prs(cursor_normal) ;
82: prs(cursor_right) ;
83: prs(cursor_to_ll) ;
84: prs(cursor_up) ;
85: prs(cursor_visible) ;
86: prs(delete_character) ;
87: prs(delete_line) ;
88: prs(dis_status_line) ;
89: prs(down_half_line) ;
90: prs(enter_alt_charset_mode) ;
91: prs(enter_blink_mode) ;
92: prs(enter_bold_mode) ;
93: prs(enter_ca_mode) ;
94: prs(enter_delete_mode) ;
95: prs(enter_dim_mode) ;
96: prs(enter_insert_mode) ;
97: prs(enter_secure_mode) ;
98: prs(enter_protected_mode) ;
99: prs(enter_reverse_mode) ;
100: prs(enter_standout_mode) ;
101: prs(enter_underline_mode) ;
102: prs(erase_chars) ;
103: prs(exit_alt_charset_mode) ;
104: prs(exit_attribute_mode) ;
105: prs(exit_ca_mode) ;
106: prs(exit_delete_mode) ;
107: prs(exit_insert_mode) ;
108: prs(exit_standout_mode) ;
109: prs(exit_underline_mode) ;
110: prs(flash_screen) ;
111: prs(form_feed) ;
112: prs(from_status_line) ;
113: prs(init_1string) ;
114: prs(init_2string) ;
115: prs(init_3string) ;
116: prs(init_file) ;
117: prs(insert_character) ;
118: prs(insert_line) ;
119: prs(insert_padding) ;
120: prs(key_backspace) ;
121: prs(key_catab) ;
122: prs(key_clear) ;
123: prs(key_ctab) ;
124: prs(key_dc) ;
125: prs(key_dl) ;
126: prs(key_down) ;
127: prs(key_eic) ;
128: prs(key_eol) ;
129: prs(key_eos) ;
130: prs(key_f0) ;
131: prs(key_f1) ;
132: prs(key_f10) ;
133: prs(key_f2) ;
134: prs(key_f3) ;
135: prs(key_f4) ;
136: prs(key_f5) ;
137: prs(key_f6) ;
138: prs(key_f7) ;
139: prs(key_f8) ;
140: prs(key_f9) ;
141: prs(key_home) ;
142: prs(key_ic) ;
143: prs(key_il) ;
144: prs(key_left) ;
145: prs(key_ll) ;
146: prs(key_npage) ;
147: prs(key_ppage) ;
148: prs(key_right) ;
149: prs(key_sf) ;
150: prs(key_sr) ;
151: prs(key_stab) ;
152: prs(key_up) ;
153: prs(keypad_local) ;
154: prs(keypad_xmit) ;
155: prs(lab_f0) ;
156: prs(lab_f1) ;
157: prs(lab_f10) ;
158: prs(lab_f2) ;
159: prs(lab_f3) ;
160: prs(lab_f4) ;
161: prs(lab_f5) ;
162: prs(lab_f6) ;
163: prs(lab_f7) ;
164: prs(lab_f8) ;
165: prs(lab_f9) ;
166: prs(meta_off) ;
167: prs(meta_on) ;
168: prs(newline) ;
169: prs(pad_char) ;
170: prs(parm_dch) ;
171: prs(parm_delete_line) ;
172: prs(parm_down_cursor) ;
173: prs(parm_ich) ;
174: prs(parm_index) ;
175: prs(parm_insert_line) ;
176: prs(parm_left_cursor) ;
177: prs(parm_right_cursor) ;
178: prs(parm_rindex) ;
179: prs(parm_up_cursor) ;
180: prs(pkey_key) ;
181: prs(pkey_local) ;
182: prs(pkey_xmit) ;
183: prs(print_screen) ;
184: prs(prtr_off) ;
185: prs(prtr_on) ;
186: prs(repeat_char) ;
187: prs(reset_1string) ;
188: prs(reset_2string) ;
189: prs(reset_3string) ;
190: prs(reset_file) ;
191: prs(restore_cursor) ;
192: prs(row_address) ;
193: prs(save_cursor) ;
194: prs(scroll_forward) ;
195: prs(scroll_reverse) ;
196: prs(set_attributes) ;
197: prs(set_tab) ;
198: prs(set_window) ;
199: prs(tab) ;
200: prs(to_status_line) ;
201: prs(underline_char) ;
202: prs(up_half_line) ;
203: prs(init_prog) ;
204: prs(key_a1) ;
205: prs(key_a3) ;
206: prs(key_b2) ;
207: prs(key_c1) ;
208: prs(key_c3) ;
209: prs(prtr_non) ;
210:
211: printf("end of strings\n");
212: reset_shell_mode();
213: exit(0);
214: }
215:
216: pr(p)
217: register char *p;
218: {
219: char *rdchar();
220:
221: for (; *p; p++)
222: printf("%s", rdchar(*p));
223: }
224:
225: /*
226: * rdchar: returns a readable representation of an ASCII char, using ^ notation.
227: */
228: #include <ctype.h>
229: char *rdchar(c)
230: char c;
231: {
232: static char ret[4];
233: register char *p;
234:
235: /*
236: * Due to a bug in isprint, this prints spaces as ^`, but this is OK
237: * because we want something to show up on the screen.
238: */
239: ret[0] = ((c&0377) > 0177) ? '\'' : ' ';
240: c &= 0177;
241: ret[1] = isprint(c) ? ' ' : '^';
242: ret[2] = isprint(c) ? c : c^0100;
243: ret[3] = 0;
244: for (p=ret; *p==' '; p++)
245: ;
246: return (p);
247: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.