|
|
1.1 ! root 1: /* @(#) tgetstr.c: 1.1 10/15/83 (1.8 3/6/83) */ ! 2: ! 3: /* ! 4: * Simulation of termcap using terminfo. ! 5: */ ! 6: ! 7: #include "curses.ext" ! 8: ! 9: /* Make a 2 letter code into an integer we can switch on easily */ ! 10: #define two( s1, s2 ) (s1 + 256 * s2 ) ! 11: #define twostr( str ) two( *str, str[ 1 ] ) ! 12: ! 13: char * ! 14: tgetstr(id, area) ! 15: char *id, *area; ! 16: { ! 17: char *rv; ! 18: ! 19: switch (twostr(id)) { ! 20: case two('b','t'): rv = back_tab; break; ! 21: case two('b','l'): rv = bell; break; ! 22: case two('c','r'): rv = carriage_return; break; ! 23: case two('c','s'): rv = change_scroll_region; break; ! 24: case two('c','t'): rv = clear_all_tabs; break; ! 25: case two('c','l'): rv = clear_screen; break; ! 26: case two('c','e'): rv = clr_eol; break; ! 27: case two('c','d'): rv = clr_eos; break; ! 28: case two('c','h'): rv = column_address; break; ! 29: case two('C','C'): rv = command_character; break; ! 30: case two('c','m'): rv = cursor_address; break; ! 31: case two('d','o'): rv = cursor_down; break; ! 32: case two('h','o'): rv = cursor_home; break; ! 33: case two('v','i'): rv = cursor_invisible; break; ! 34: case two('l','e'): rv = cursor_left; break; ! 35: case two('C','M'): rv = cursor_mem_address; break; ! 36: case two('v','e'): rv = cursor_normal; break; ! 37: case two('n','d'): rv = cursor_right; break; ! 38: case two('l','l'): rv = cursor_to_ll; break; ! 39: case two('u','p'): rv = cursor_up; break; ! 40: case two('v','s'): rv = cursor_visible; break; ! 41: case two('d','c'): rv = delete_character; break; ! 42: case two('d','l'): rv = delete_line; break; ! 43: case two('d','s'): rv = dis_status_line; break; ! 44: case two('h','d'): rv = down_half_line; break; ! 45: case two('a','s'): rv = enter_alt_charset_mode; break; ! 46: case two('m','b'): rv = enter_blink_mode; break; ! 47: case two('m','d'): rv = enter_bold_mode; break; ! 48: case two('t','i'): rv = enter_ca_mode; break; ! 49: case two('d','m'): rv = enter_delete_mode; break; ! 50: case two('m','h'): rv = enter_dim_mode; break; ! 51: case two('i','m'): rv = enter_insert_mode; break; ! 52: case two('m','k'): rv = enter_secure_mode; break; ! 53: case two('m','p'): rv = enter_protected_mode; break; ! 54: case two('m','r'): rv = enter_reverse_mode; break; ! 55: case two('s','o'): rv = enter_standout_mode; break; ! 56: case two('u','s'): rv = enter_underline_mode; break; ! 57: case two('e','c'): rv = erase_chars; break; ! 58: case two('a','e'): rv = exit_alt_charset_mode; break; ! 59: case two('m','e'): rv = exit_attribute_mode; break; ! 60: case two('t','e'): rv = exit_ca_mode; break; ! 61: case two('e','d'): rv = exit_delete_mode; break; ! 62: case two('e','i'): rv = exit_insert_mode; break; ! 63: case two('s','e'): rv = exit_standout_mode; break; ! 64: case two('u','e'): rv = exit_underline_mode; break; ! 65: case two('v','b'): rv = flash_screen; break; ! 66: case two('f','f'): rv = form_feed; break; ! 67: case two('f','s'): rv = from_status_line; break; ! 68: case two('i','1'): rv = init_1string; break; ! 69: case two('i','s'): rv = init_2string; break; ! 70: case two('i','2'): rv = init_3string; break; ! 71: case two('i','f'): rv = init_file; break; ! 72: case two('i','c'): rv = insert_character; break; ! 73: case two('a','l'): rv = insert_line; break; ! 74: case two('i','p'): rv = insert_padding; break; ! 75: case two('k','b'): rv = key_backspace; break; ! 76: case two('k','a'): rv = key_catab; break; ! 77: case two('k','C'): rv = key_clear; break; ! 78: case two('k','t'): rv = key_ctab; break; ! 79: case two('k','D'): rv = key_dc; break; ! 80: case two('k','L'): rv = key_dl; break; ! 81: case two('k','d'): rv = key_down; break; ! 82: case two('k','M'): rv = key_eic; break; ! 83: case two('k','E'): rv = key_eol; break; ! 84: case two('k','S'): rv = key_eos; break; ! 85: case two('k','0'): rv = key_f0; break; ! 86: case two('k','1'): rv = key_f1; break; ! 87: case two('k',';'): rv = key_f10; break; ! 88: case two('k','2'): rv = key_f2; break; ! 89: case two('k','3'): rv = key_f3; break; ! 90: case two('k','4'): rv = key_f4; break; ! 91: case two('k','5'): rv = key_f5; break; ! 92: case two('k','6'): rv = key_f6; break; ! 93: case two('k','7'): rv = key_f7; break; ! 94: case two('k','8'): rv = key_f8; break; ! 95: case two('k','9'): rv = key_f9; break; ! 96: case two('k','h'): rv = key_home; break; ! 97: case two('k','I'): rv = key_ic; break; ! 98: case two('k','A'): rv = key_il; break; ! 99: case two('k','l'): rv = key_left; break; ! 100: case two('k','H'): rv = key_ll; break; ! 101: case two('k','N'): rv = key_npage; break; ! 102: case two('k','P'): rv = key_ppage; break; ! 103: case two('k','r'): rv = key_right; break; ! 104: case two('k','F'): rv = key_sf; break; ! 105: case two('k','R'): rv = key_sr; break; ! 106: case two('k','T'): rv = key_stab; break; ! 107: case two('k','u'): rv = key_up; break; ! 108: case two('k','e'): rv = keypad_local; break; ! 109: case two('k','s'): rv = keypad_xmit; break; ! 110: case two('l','0'): rv = lab_f0; break; ! 111: case two('l','1'): rv = lab_f1; break; ! 112: case two('l','a'): rv = lab_f10; break; ! 113: case two('l','2'): rv = lab_f2; break; ! 114: case two('l','3'): rv = lab_f3; break; ! 115: case two('l','4'): rv = lab_f4; break; ! 116: case two('l','5'): rv = lab_f5; break; ! 117: case two('l','6'): rv = lab_f6; break; ! 118: case two('l','7'): rv = lab_f7; break; ! 119: case two('l','8'): rv = lab_f8; break; ! 120: case two('l','9'): rv = lab_f9; break; ! 121: case two('m','o'): rv = meta_off; break; ! 122: case two('m','m'): rv = meta_on; break; ! 123: case two('n','w'): rv = newline; break; ! 124: case two('p','c'): rv = pad_char; break; ! 125: case two('D','C'): rv = parm_dch; break; ! 126: case two('D','L'): rv = parm_delete_line; break; ! 127: case two('D','O'): rv = parm_down_cursor; break; ! 128: case two('I','C'): rv = parm_ich; break; ! 129: case two('S','F'): rv = parm_index; break; ! 130: case two('A','L'): rv = parm_insert_line; break; ! 131: case two('L','E'): rv = parm_left_cursor; break; ! 132: case two('R','I'): rv = parm_right_cursor; break; ! 133: case two('S','R'): rv = parm_rindex; break; ! 134: case two('U','P'): rv = parm_up_cursor; break; ! 135: case two('p','k'): rv = pkey_key; break; ! 136: case two('p','l'): rv = pkey_local; break; ! 137: case two('p','x'): rv = pkey_xmit; break; ! 138: case two('p','s'): rv = print_screen; break; ! 139: case two('p','f'): rv = prtr_off; break; ! 140: case two('p','o'): rv = prtr_on; break; ! 141: case two('r','p'): rv = repeat_char; break; ! 142: case two('r','1'): rv = reset_1string; break; ! 143: case two('r','2'): rv = reset_2string; break; ! 144: case two('r','3'): rv = reset_3string; break; ! 145: case two('r','f'): rv = reset_file; break; ! 146: case two('r','c'): rv = restore_cursor; break; ! 147: case two('c','v'): rv = row_address; break; ! 148: case two('s','c'): rv = save_cursor; break; ! 149: case two('s','f'): rv = scroll_forward; break; ! 150: case two('s','r'): rv = scroll_reverse; break; ! 151: case two('s','a'): rv = set_attributes; break; ! 152: case two('s','t'): rv = set_tab; break; ! 153: case two('w','i'): rv = set_window; break; ! 154: case two('t','a'): rv = tab; break; ! 155: case two('t','s'): rv = to_status_line; break; ! 156: case two('u','c'): rv = underline_char; break; ! 157: case two('h','u'): rv = up_half_line; break; ! 158: case two('i','P'): rv = init_prog; break; ! 159: case two('K','1'): rv = key_a1; break; ! 160: case two('K','3'): rv = key_a3; break; ! 161: case two('K','2'): rv = key_b2; break; ! 162: case two('K','4'): rv = key_c1; break; ! 163: case two('K','5'): rv = key_c3; break; ! 164: case two('p','O'): rv = prtr_non; break; ! 165: default: rv = NULL; ! 166: } ! 167: return rv; ! 168: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.