Annotation of researchv10no/ncurses/screen/tgetstr.c, revision 1.1

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: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.