/* @(#) $Revision: ../hdr/term.h@@/main/r11ros/cup_ros-cpe/cup_libc-ros-cpe/9 $ */
#ifndef _XOPEN_CURSES
#define _XOPEN_CURSES 1
#endif

/*
 * (c) Copyright 1995 Hewlett-Packard Co., All Rights Reserved.
 */
/*
 * Copyright (c) 1994
 * Novell, Inc. and International Business Machines Corp. All Rights Reserved.
 * THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF Novell Inc. and 
 * International Business Machines Corp. 
 * The copyright notice above does not evidence any actual or intended 
 * publication of such source code.
 */
/*
 * Copyright (c) 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1992, 1992, 1993, 1994
 * Novell, Inc. All Rights Reserved.
 * THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF Novell Inc.
 * The copyright notice above does not evidence any 
 * actual or intended publication of such source code.
 */
/*
 * Copyright (c) 1982, 1986, 1988
 * The Regents of the University of California.  All Rights Reserved.
 * Portions of this document are derived from software developed by the 
 * University of California, Berkeley, and its contributors.
 */

#include <sys/_inttypes.h>
#include <sys/stdsyms.h>

#if defined(__HP_CURSES) && !defined(__LP64__)
/*
 * HP Curses
 */
#include <../old/usr/include/term.h>
#else /* defined(__HP_CURSES) && !(__LP64__)  */
#ifndef _TERM_INCLUDED /* allow multiple inclusions */
#define _TERM_INCLUDED
/*
 * X/Open Curses
 */
                                        /* THE FOLLOWING TYPEDEFS ARE
                                           DUPLICATED IN CURSES.H */
#ifndef _CHTYPE_DEFINED
#	define _CHTYPE_DEFINED
typedef uint32_t chtype;
#endif /* _CHTYPE_DEFINED */

#ifndef _BOOL_DEFINED
#  if !defined(__cplusplus)
#     define _BOOL_DEFINED
      typedef char bool;
#  elif  __cplusplus < 199707L
#    define _BOOL_DEFINED
#ifndef __cplusplus
#    define bool char
#endif
#  endif /* !defined(__cplusplus) */
#endif /* _BOOL_DEFINED */

#ifndef _ATTR_T_DEFINED
#       define _ATTR_T_DEFINED
typedef int32_t        attr_t;
#endif /* _ATTR_T_DEFINED */

#ifndef _CCHAR_T_DEFINED
#       define _CCHAR_T_DEFINED
typedef struct { char __reserved[28]; } cchar_t;
#endif /* _CCHAR_T_DEFINED */

#ifdef __cplusplus
extern "C" {
#endif

/*
** _SGTTY is a copy of the termios structure defined in the <termio.h>
** header file.  Need to be kept compatible.
*/

#define _NCCS 16
typedef struct {
    unsigned int	__c_iflag;	/* Input modes */
    unsigned int	__c_oflag;	/* Output modes */
    unsigned int	__c_cflag;	/* Control modes */
    unsigned int	__c_lflag;	/* Local modes */
    unsigned int	__c_reserved;	/* Reserved for future use */
    unsigned char	__c_cc[_NCCS];	/* Control characters */
} _SGTTY;

#define auto_left_margin 		_CUR __b1
#define auto_right_margin 		_CUR __b2
#define no_esc_ctlc 			_CUR __b3
#define ceol_standout_glitch 		_CUR __b4
#define eat_newline_glitch 		_CUR __b5
#define erase_overstrike 		_CUR __b6
#define generic_type 			_CUR __b7
#define hard_copy 			_CUR __b8
#define has_meta_key 			_CUR __b9
#define has_status_line 		_CUR __b10
#define insert_null_glitch 		_CUR __b11
#define memory_above 			_CUR __b12
#define memory_below 			_CUR __b13
#define move_insert_mode 		_CUR __b14
#define move_standout_mode 		_CUR __b15
#define over_strike 			_CUR __b16
#define status_line_esc_ok 		_CUR __b17
#define dest_tabs_magic_smso 		_CUR __b18
#define tilde_glitch 			_CUR __b19
#define transparent_underline 		_CUR __b20
#define xon_xoff 			_CUR __b21
#define needs_xon_xoff 			_CURB __needs_xon_xoff
#define prtr_silent 			_CURB __prtr_silent
#define hard_cursor 			_CURB __hard_cursor
#define non_rev_rmcup 			_CURB __non_rev_rmcup
#define no_pad_char 			_CURB __no_pad_char
#define non_dest_scroll_region 		_CURB __non_dest_scroll_region
#define can_change 			_CURB __can_change
#define back_color_erase 		_CURB __back_color_erase
#define hue_lightness_saturation 	_CURB __hue_lightness_saturation
#define col_addr_glitch 		_CURB __col_addr_glitch
#define cr_cancels_micro_mode 		_CURB __cr_cancels_micro_mode
#define has_print_wheel 		_CURB __has_print_wheel
#define row_addr_glitch 		_CURB __row_addr_glitch
#define semi_auto_right_margin 		_CURB __semi_auto_right_margin
#define cpi_changes_res 		_CURB __cpi_changes_res
#define lpi_changes_res 		_CURB __lpi_changes_res
#define columns 			_CUR __c1
#define init_tabs 			_CUR __c2
#define lines 				_CUR __c3
#define lines_of_memory 		_CUR __c4
#define magic_cookie_glitch 		_CUR __c5
#define padding_baud_rate 		_CUR __c6
#define virtual_terminal 		_CUR __c7
#define width_status_line 		_CUR __c8
#define num_labels 			_CURN __num_labels
#define label_height 			_CURN __labl_height
#define label_width 			_CURN __labl_width
#define max_attributes 			_CURN __max_attributes
#define maximum_windows 		_CURN __maximum_windows
#define max_colors 			_CURN __max_colors
#define max_pairs 			_CURN __max_pairs
#define no_color_video 			_CURN __no_color_video
#define buffer_capacity 		_CURN __buffer_capacity
#define dot_vert_spacing 		_CURN __dot_vert_spacing
#define dot_horz_spacing 		_CURN __dot_horz_spacing
#define max_micro_address 		_CURN __max_micro_address
#define max_micro_jump 			_CURN __max_micro_jump
#define micro_col_size 			_CURN __micro_col_size
#define micro_line_size 		_CURN __micro_line_size
#define number_of_pins 			_CURN __number_of_pins
#define output_res_char 		_CURN __output_res_char
#define output_res_line 		_CURN __output_res_line
#define output_res_horz_inch 		_CURN __output_res_horz_inch
#define output_res_vert_inch 		_CURN __output_res_vert_inch
#define print_rate 			_CURN __print_rate
#define wide_char_size 			_CURN __wide_char_size
#define buttons 			_CURN __buttons
#define bit_image_entwining 		_CURN __bit_image_entwining
#define bit_image_type 			_CURN __bit_image_type
#define back_tab 			_CUR _Vr2_Astrs.__s1
#define bell 				_CUR _Vr2_Astrs.__s2
#define carriage_return 		_CUR _Vr2_Astrs.__s3
#define change_scroll_region 		_CUR _Vr2_Astrs.__s4
#define clear_all_tabs 			_CUR _Vr2_Astrs.__s5
#define clear_screen 			_CUR _Vr2_Astrs.__s6
#define clr_eol 			_CUR _Vr2_Astrs.__s7
#define clr_eos 			_CUR _Vr2_Astrs.__s8
#define column_address 			_CUR _Vr2_Astrs.__s9
#define command_character 		_CUR _Vr2_Astrs.__s10
#define cursor_address 			_CUR _Vr2_Astrs.__s11
#define cursor_down 			_CUR _Vr2_Astrs.__s12
#define cursor_home 			_CUR _Vr2_Astrs.__s13
#define cursor_invisible 		_CUR _Vr2_Astrs.__s14
#define cursor_left 			_CUR _Vr2_Astrs.__s15
#define cursor_mem_address 		_CUR _Vr2_Astrs.__s16
#define cursor_normal 			_CUR _Vr2_Astrs.__s17
#define cursor_right 			_CUR _Vr2_Astrs.__s18
#define cursor_to_ll 			_CUR _Vr2_Astrs.__s19
#define cursor_up 			_CUR _Vr2_Astrs.__s20
#define cursor_visible 			_CUR _Vr2_Astrs.__s21
#define delete_character 		_CUR _Vr2_Astrs.__s22
#define delete_line 			_CUR _Vr2_Astrs.__s23
#define dis_status_line 		_CUR _Vr2_Astrs.__s24
#define down_half_line 			_CUR _Vr2_Astrs.__s25
#define enter_alt_charset_mode 		_CUR _Vr2_Astrs.__s26
#define enter_blink_mode 		_CUR _Vr2_Astrs.__s27
#define enter_bold_mode 		_CUR _Vr2_Astrs.__s28
#define enter_ca_mode 			_CUR _Vr2_Astrs.__s29
#define enter_delete_mode 		_CUR _Vr2_Astrs.__s30
#define enter_dim_mode 			_CUR _Vr2_Astrs.__s31
#define enter_insert_mode 		_CUR _Vr2_Astrs.__s32
#define enter_secure_mode 		_CUR _Vr2_Astrs.__s33
#define enter_protected_mode 		_CUR _Vr2_Astrs.__s34
#define enter_reverse_mode 		_CUR _Vr2_Astrs.__s35
#define enter_standout_mode 		_CUR _Vr2_Astrs.__s36
#define enter_underline_mode 		_CUR _Vr2_Astrs.__s37
#define erase_chars 			_CUR _Vr2_Astrs.__s38
#define exit_alt_charset_mode 		_CUR _Vr2_Astrs.__s39
#define exit_attribute_mode 		_CUR _Vr2_Astrs.__s40
#define exit_ca_mode 			_CUR _Vr2_Astrs.__s41
#define exit_delete_mode 		_CUR _Vr2_Astrs.__s42
#define exit_insert_mode 		_CUR _Vr2_Astrs.__s43
#define exit_standout_mode 		_CUR _Vr2_Astrs.__s44
#define exit_underline_mode 		_CUR _Vr2_Astrs.__s45
#define flash_screen 			_CUR _Vr2_Astrs.__s46
#define form_feed 			_CUR _Vr2_Astrs.__s47
#define from_status_line 		_CUR _Vr2_Astrs.__s48
#define init_1string 			_CUR _Vr2_Astrs.__s49
#define init_2string 			_CUR _Vr2_Astrs.__s50
#define init_3string 			_CUR _Vr2_Astrs.__s51
#define init_file 			_CUR _Vr2_Astrs.__s52
#define insert_character 		_CUR _Vr2_Astrs.__s53
#define insert_line 			_CUR _Vr2_Astrs.__s54
#define insert_padding 			_CUR _Vr2_Astrs.__s55
#define key_backspace 			_CUR _Vr2_Astrs.__s56
#define key_catab 			_CUR _Vr2_Astrs.__s57
#define key_clear 			_CUR _Vr2_Astrs.__s58
#define key_ctab 			_CUR _Vr2_Astrs.__s59
#define key_dc 				_CUR _Vr2_Astrs.__s60
#define key_dl 				_CUR _Vr2_Astrs.__s61
#define key_down 			_CUR _Vr2_Astrs.__s62
#define key_eic 			_CUR _Vr2_Astrs.__s63
#define key_eol 			_CUR _Vr2_Astrs.__s64
#define key_eos 			_CUR _Vr2_Astrs.__s65
#define key_f0 				_CUR _Vr2_Astrs.__s66
#define key_f1 				_CUR _Vr2_Astrs.__s67
#define key_f10 			_CUR _Vr2_Astrs.__s68
#define key_f2 				_CUR _Vr2_Astrs.__s69
#define key_f3 				_CUR _Vr2_Astrs.__s70
#define key_f4 				_CUR _Vr2_Astrs.__s71
#define key_f5 				_CUR _Vr2_Astrs.__s72
#define key_f6 				_CUR _Vr2_Astrs.__s73
#define key_f7 				_CUR _Vr2_Astrs.__s74
#define key_f8 				_CUR _Vr2_Astrs.__s75
#define key_f9 				_CUR _Vr2_Astrs.__s76
#define key_home 			_CUR _Vr2_Astrs.__s77
#define key_ic 				_CUR _Vr2_Astrs.__s78
#define key_il 				_CUR _Vr2_Astrs.__s79
#define key_left 			_CUR _Vr2_Astrs.__s80
#define key_ll 				_CUR _Vr2_Astrs.__s81
#define key_npage 			_CUR _Vr2_Astrs.__s82
#define key_ppage 			_CUR _Vr2_Astrs.__s83
#define key_right 			_CUR _Vr2_Astrs.__s84
#define key_sf 				_CUR _Vr2_Astrs.__s85
#define key_sr 				_CUR _Vr2_Astrs.__s86
#define key_stab 			_CUR _Vr2_Astrs.__s87
#define key_up 				_CUR _Vr2_Astrs.__s88
#define keypad_local 			_CUR _Vr2_Astrs.__s89
#define keypad_xmit 			_CUR _Vr2_Astrs.__s90
#define lab_f0 				_CUR _Vr2_Astrs.__s91
#define lab_f1 				_CUR _Vr2_Astrs.__s92
#define lab_f10 			_CUR _Vr2_Astrs.__s93
#define lab_f2 				_CUR _Vr2_Astrs.__s94
#define lab_f3 				_CUR _Vr2_Astrs.__s95
#define lab_f4 				_CUR _Vr2_Astrs.__s96
#define lab_f5 				_CUR _Vr2_Astrs.__s97
#define lab_f6 				_CUR _Vr2_Astrs.__s98
#define lab_f7 				_CUR _Vr2_Astrs.__s99
#define lab_f8 				_CUR _Vr2_Astrs.__s100
#define lab_f9 				_CUR _Vr2_Bstrs.__s101
#define meta_off 			_CUR _Vr2_Bstrs.__s102
#define meta_on 			_CUR _Vr2_Bstrs.__s103
#define newline 			_CUR _Vr2_Bstrs.__s104
#define pad_char 			_CUR _Vr2_Bstrs.__s105
#define parm_dch 			_CUR _Vr2_Bstrs.__s106
#define parm_delete_line 		_CUR _Vr2_Bstrs.__s107
#define parm_down_cursor 		_CUR _Vr2_Bstrs.__s108
#define parm_ich 			_CUR _Vr2_Bstrs.__s109
#define parm_index 			_CUR _Vr2_Bstrs.__s110
#define parm_insert_line 		_CUR _Vr2_Bstrs.__s111
#define parm_left_cursor 		_CUR _Vr2_Bstrs.__s112
#define parm_right_cursor 		_CUR _Vr2_Bstrs.__s113
#define parm_rindex 			_CUR _Vr2_Bstrs.__s114
#define parm_up_cursor 			_CUR _Vr2_Bstrs.__s115
#define pkey_key 			_CUR _Vr2_Bstrs.__s116
#define pkey_local 			_CUR _Vr2_Bstrs.__s117
#define pkey_xmit 			_CUR _Vr2_Bstrs.__s118
#define print_screen 			_CUR _Vr2_Bstrs.__s119
#define prtr_off 			_CUR _Vr2_Bstrs.__s120
#define prtr_on 			_CUR _Vr2_Bstrs.__s121
#define repeat_char 			_CUR _Vr2_Bstrs.__s122
#define reset_1string 			_CUR _Vr2_Bstrs.__s123
#define reset_2string 			_CUR _Vr2_Bstrs.__s124
#define reset_3string 			_CUR _Vr2_Bstrs.__s125
#define reset_file 			_CUR _Vr2_Bstrs.__s126
#define restore_cursor 			_CUR _Vr2_Bstrs.__s127
#define row_address 			_CUR _Vr2_Bstrs.__s128
#define save_cursor 			_CUR _Vr2_Bstrs.__s129
#define scroll_forward 			_CUR _Vr2_Bstrs.__s130
#define scroll_reverse 			_CUR _Vr2_Bstrs.__s131
#define set_attributes 			_CUR _Vr2_Bstrs.__s132
#define set_tab 			_CUR _Vr2_Bstrs.__s133
#define set_window 			_CUR _Vr2_Bstrs.__s134
#define tab 				_CUR _Vr2_Bstrs.__s135
#define to_status_line 			_CUR _Vr2_Bstrs.__s136
#define underline_char 			_CUR _Vr2_Bstrs.__s137
#define up_half_line 			_CUR _Vr2_Bstrs.__s138
#define init_prog 			_CUR _Vr2_Bstrs.__s139
#define key_a1 				_CUR _Vr2_Bstrs.__s140
#define key_a3 				_CUR _Vr2_Bstrs.__s141
#define key_b2 				_CUR _Vr2_Bstrs.__s142
#define key_c1 				_CUR _Vr2_Bstrs.__s143
#define key_c3 				_CUR _Vr2_Bstrs.__s144
#define prtr_non 			_CUR _Vr2_Bstrs.__s145
#ifdef __HP_CURSES_COMPAT
#define memory_lock 			_CURS __strs2.__mem_lock
#define memory_unlock 			_CURS __strs2.__mem_unlock
#endif /* __HP_CURSES_COMPAT */
#define plab_norm 			_CURS __strs2.__plab_norm
#define label_on 			_CURS __strs2.__labl_on
#define label_off 			_CURS __strs2.__labl_off
#define key_f11 			_CURS __strs2.__ky_f11
#define key_f12 			_CURS __strs2.__ky_f12
#define key_f13 			_CURS __strs2.__ky_f13
#define key_f14 			_CURS __strs2.__ky_f14
#define key_f15 			_CURS __strs2.__ky_f15
#define key_f16 			_CURS __strs2.__ky_f16
#define key_f17 			_CURS __strs2.__ky_f17
#define key_f18 			_CURS __strs2.__ky_f18
#define key_f19 			_CURS __strs2.__ky_f19
#define key_f20 			_CURS __strs2.__ky_f20
#define key_f21 			_CURS __strs2.__ky_f21
#define key_f22 			_CURS __strs2.__ky_f22
#define key_f23 			_CURS __strs2.__ky_f23
#define key_f24 			_CURS __strs2.__ky_f24
#define key_f25 			_CURS __strs2.__ky_f25
#define key_f26 			_CURS __strs2.__ky_f26
#define key_f27 			_CURS __strs2.__ky_f27
#define key_f28 			_CURS __strs2.__ky_f28
#define key_f29 			_CURS __strs2.__ky_f29
#define key_f30 			_CURS __strs2.__ky_f30
#define key_f31 			_CURS __strs2.__ky_f31
#define key_f32 			_CURS __strs2.__ky_f32
#define key_f33 			_CURS __strs2.__ky_f33
#define key_f34 			_CURS __strs2.__ky_f34
#define key_f35 			_CURS __strs2.__ky_f35
#define key_f36 			_CURS __strs2.__ky_f36
#define key_f37 			_CURS __strs2.__ky_f37
#define key_f38 			_CURS __strs2.__ky_f38
#define key_f39 			_CURS __strs2.__ky_f39
#define key_f40 			_CURS __strs2.__ky_f40
#define key_f41 			_CURS __strs2.__ky_f41
#define key_f42 			_CURS __strs2.__ky_f42
#define key_f43 			_CURS __strs2.__ky_f43
#define key_f44 			_CURS __strs2.__ky_f44
#define key_f45 			_CURS __strs2.__ky_f45
#define key_f46 			_CURS __strs2.__ky_f46
#define key_f47 			_CURS __strs2.__ky_f47
#define key_f48 			_CURS __strs2.__ky_f48
#define key_f49 			_CURS __strs2.__ky_f49
#define key_f50 			_CURS __strs2.__ky_f50
#define key_f51 			_CURS __strs2.__ky_f51
#define key_f52 			_CURS __strs2.__ky_f52
#define key_f53 			_CURS __strs2.__ky_f53
#define key_f54 			_CURS __strs2.__ky_f54
#define key_f55 			_CURS __strs2.__ky_f55
#define key_f56 			_CURS __strs2.__ky_f56
#define key_f57 			_CURS __strs2.__ky_f57
#define key_f58 			_CURS __strs2.__ky_f58
#define key_f59 			_CURS __strs2.__ky_f59
#define key_f60 			_CURS __strs2.__ky_f60
#define key_f61 			_CURS __strs3.__ky_f61
#define key_f62 			_CURS __strs3.__ky_f62
#define key_f63 			_CURS __strs3.__ky_f63
#define char_padding 			_CURS __strs3.__char_padding
#define acs_chars 			_CURS __strs3.__acs_chars
#define key_btab 			_CURS __strs3.__ky_btab
#define enter_xon_mode 			_CURS __strs3.__entr_xon_mode
#define exit_xon_mode 			_CURS __strs3.__exit_xon_mode
#define enter_am_mode 			_CURS __strs3.__entr_am_mode
#define exit_am_mode 			_CURS __strs3.__exit_am_mode
#define xon_character 			_CURS __strs3.__xon_character
#define xoff_character 			_CURS __strs3.__xoff_character
#define ena_acs 			_CURS __strs3.__ena_acs
#define key_beg 			_CURS __strs3.__ky_beg
#define key_cancel 			_CURS __strs3.__ky_cancel
#define key_close 			_CURS __strs3.__ky_close
#define key_command 			_CURS __strs3.__ky_command
#define key_copy 			_CURS __strs3.__ky_copy
#define key_create 			_CURS __strs3.__ky_create
#define key_end 			_CURS __strs3.__ky_end
#define key_enter 			_CURS __strs3.__ky_enter
#define key_exit 			_CURS __strs3.__ky_exit
#define key_find 			_CURS __strs3.__ky_find
#define key_help 			_CURS __strs3.__ky_help
#define key_mark 			_CURS __strs3.__ky_mark
#define key_message 			_CURS __strs3.__ky_message
#define key_move 			_CURS __strs3.__ky_move
#define key_next 			_CURS __strs3.__ky_next
#define key_open 			_CURS __strs3.__ky_open
#define key_options 			_CURS __strs3.__ky_options
#define key_previous 			_CURS __strs3.__ky_previous
#define key_print 			_CURS __strs3.__ky_print
#define key_redo 			_CURS __strs3.__ky_redo
#define key_reference 			_CURS __strs3.__ky_reference
#define key_refresh 			_CURS __strs3.__ky_refresh
#define key_replace 			_CURS __strs3.__ky_replace
#define key_restart 			_CURS __strs3.__ky_restart
#define key_resume 			_CURS __strs3.__ky_resume
#define key_save 			_CURS __strs3.__ky_save
#define key_suspend 			_CURS __strs3.__ky_suspend
#define key_undo 			_CURS __strs3.__ky_undo
#define key_sbeg 			_CURS __strs3.__ky_sbeg
#define key_scancel 			_CURS __strs3.__ky_scancel
#define key_scommand 			_CURS __strs3.__ky_scommand
#define key_scopy 			_CURS __strs3.__ky_scopy
#define key_screate 			_CURS __strs3.__ky_screate
#define key_sdc 			_CURS __strs3.__ky_sdc
#define key_sdl 			_CURS __strs3.__ky_sdl
#define key_select 			_CURS __strs3.__ky_select
#define key_send 			_CURS __strs3.__ky_send
#define key_seol 			_CURS __strs3.__ky_seol
#define key_sexit 			_CURS __strs3.__ky_sexit
#define key_sfind 			_CURS __strs3.__ky_sfind
#define key_shelp 			_CURS __strs3.__ky_shelp
#define key_shome 			_CURS __strs3.__ky_shome
#define key_sic 			_CURS __strs3.__ky_sic
#define key_sleft 			_CURS __strs3.__ky_sleft
#define key_smessage 			_CURS __strs3.__ky_smessage
#define key_smove 			_CURS __strs3.__ky_smove
#define key_snext 			_CURS __strs3.__ky_snext
#define key_soptions 			_CURS __strs3.__ky_soptions
#define key_sprevious 			_CURS __strs3.__ky_sprevious
#define key_sprint 			_CURS __strs3.__ky_sprint
#define key_sredo 			_CURS __strs3.__ky_sredo
#define key_sreplace 			_CURS __strs3.__ky_sreplace
#define key_sright 			_CURS __strs3.__ky_sright
#define key_srsume 			_CURS __strs3.__ky_srsume
#define key_ssave 			_CURS __strs3.__ky_ssave
#define key_ssuspend 			_CURS __strs3.__ky_ssuspend
#define key_sundo 			_CURS __strs3.__ky_sundo
#define req_for_input 			_CURS __strs3.__req_for_input
#define clr_bol 			_CURS __strs3.__clr_bol
#define clear_margins 			_CURS __strs3.__clear_margins
#define set_left_margin 		_CURS __strs3.__set_left_margin
#define set_right_margin 		_CURS __strs3.__set_right_margin
#define label_format 			_CURS __strs3.__labl_format
#define set_clock 			_CURS __strs3.__set_clock
#define display_clock 			_CURS __strs3.__display_clock
#define remove_clock 			_CURS __strs3.__remove_clock
#define create_window 			_CURS __strs3.__create_window
#define goto_window 			_CURS __strs3.__goto_window
#define hangup 				_CURS __strs3.__hangup
#define dial_phone 			_CURS __strs3.__dial_phone
#define quick_dial 			_CURS __strs3.__quick_dial
#define tone 				_CURS __strs3.__tone
#define pulse 				_CURS __strs3.__pulse
#define flash_hook 			_CURS __strs3.__flash_hook
#define fixed_pause 			_CURS __strs3.__fixed_pause
#define wait_tone 			_CURS __strs3.__wait_tone
#define user0 				_CURS __strs3.__user0
#define user1 				_CURS __strs3.__user1
#define user2 				_CURS __strs3.__user2
#define user3 				_CURS __strs3.__user3
#define user4 				_CURS __strs3.__user4
#define user5 				_CURS __strs3.__user5
#define user6 				_CURS __strs3.__user6
#define user7 				_CURS __strs3.__user7
#define user8 				_CURS __strs3.__user8
#define user9 				_CURS __strs3.__user9
#define orig_pair 			_CURS __strs3.__orig_pair
#define orig_colors 			_CURS __strs4.__orig_colors
#define initialize_color 		_CURS __strs4.__initialize_color
#define initialize_pair 		_CURS __strs4.__initialize_pair
#define set_color_pair 			_CURS __strs4.__set_color_pair
#define set_foreground 			_CURS __strs4.__set_foreground
#define set_background 			_CURS __strs4.__set_background
#define change_char_pitch 		_CURS __strs4.__change_char_pitch
#define change_line_pitch 		_CURS __strs4.__change_line_pitch
#define change_res_horz 		_CURS __strs4.__change_res_horz
#define change_res_vert 		_CURS __strs4.__change_res_vert
#define define_char 			_CURS __strs4.__define_char
#define enter_doublewide_mode 		_CURS __strs4.__entr_doublewide_mode
#define enter_draft_quality 		_CURS __strs4.__entr_draft_quality
#define enter_italics_mode 		_CURS __strs4.__entr_italics_mode
#define enter_leftward_mode 		_CURS __strs4.__entr_leftward_mode
#define enter_micro_mode 		_CURS __strs4.__entr_micro_mode
#define enter_near_letter_quality 	_CURS __strs4.__entr_near_letter_quality
#define enter_normal_quality 		_CURS __strs4.__entr_normal_quality
#define enter_shadow_mode 		_CURS __strs4.__entr_shadow_mode
#define enter_subscript_mode 		_CURS __strs4.__entr_subscript_mode
#define enter_superscript_mode 		_CURS __strs4.__entr_superscript_mode
#define enter_upward_mode 		_CURS __strs4.__entr_upward_mode
#define exit_doublewide_mode 		_CURS __strs4.__exit_doublewide_mode
#define exit_italics_mode 		_CURS __strs4.__exit_italics_mode
#define exit_leftward_mode 		_CURS __strs4.__exit_leftward_mode
#define exit_micro_mode 		_CURS __strs4.__exit_micro_mode
#define exit_shadow_mode 		_CURS __strs4.__exit_shadow_mode
#define exit_subscript_mode 		_CURS __strs4.__exit_subscript_mode
#define exit_superscript_mode 		_CURS __strs4.__exit_superscript_mode
#define exit_upward_mode 		_CURS __strs4.__exit_upward_mode
#define micro_column_address 		_CURS __strs4.__micro_column_address
#define micro_down 			_CURS __strs4.__micro_down
#define micro_left 			_CURS __strs4.__micro_left
#define micro_right 			_CURS __strs4.__micro_right
#define micro_row_address 		_CURS __strs4.__micro_row_address
#define micro_up 			_CURS __strs4.__micro_up
#define order_of_pins 			_CURS __strs4.__order_of_pins
#define parm_down_micro 		_CURS __strs4.__prm_down_micro
#define parm_left_micro 		_CURS __strs4.__prm_left_micro
#define parm_right_micro 		_CURS __strs4.__prm_right_micro
#define parm_up_micro 			_CURS __strs4.__prm_up_micro
#define select_char_set 		_CURS __strs4.__select_char_set
#define set_bottom_margin 		_CURS __strs4.__set_bottom_margin
#define set_bottom_margin_parm 		_CURS __strs4.__set_bottom_margin_parm
#define set_left_margin_parm 		_CURS __strs4.__set_left_margin_parm
#define set_right_margin_parm 		_CURS __strs4.__set_right_margin_parm
#define set_top_margin 			_CURS __strs4.__set_top_margin
#define set_top_margin_parm 		_CURS __strs4.__set_top_margin_parm
#define start_bit_image 		_CURS __strs4.__start_bit_image
#define start_char_set_def 		_CURS __strs4.__start_char_set_def
#define stop_bit_image 			_CURS __strs4.__stop_bit_image
#define stop_char_set_def 		_CURS __strs4.__stop_char_set_def
#define subscript_characters 		_CURS __strs4.__subscript_characters
#define superscript_characters 		_CURS __strs4.__superscript_characters
#define these_cause_cr 			_CURS __strs4.__these_cause_cr
#define zero_motion 			_CURS __strs4.__zero_motion
#define char_set_names 			_CURS __strs4.__char_set_names
#define key_mouse 			_CURS __strs4.__ky_mouse
#define mouse_info 			_CURS __strs4.__mouse_info
#define req_mouse_pos 			_CURS __strs4.__req_mouse_pos
#define get_mouse 			_CURS __strs4.__get_mouse
#define set_a_foreground 		_CURS __strs4.__set_a_foreground
#define set_a_background 		_CURS __strs4.__set_a_background
#define pkey_plab 			_CURS __strs4.__pkey_plab
#define device_type 			_CURS __strs4.__device_type
#define code_set_init 			_CURS __strs4.__code_set_init
#define set0_des_seq 			_CURS __strs4.__set0_des_seq
#define set1_des_seq 			_CURS __strs4.__set1_des_seq
#define set2_des_seq 			_CURS __strs4.__set2_des_seq
#define set3_des_seq 			_CURS __strs4.__set3_des_seq
#define set_lr_margin 			_CURS __strs4.__set_lr_margin
#define set_tb_margin 			_CURS __strs4.__set_tb_margin
#define bit_image_repeat 		_CURS __strs4.__bit_image_repeat
#define bit_image_newline 		_CURS __strs4.__bit_image_newline
#define bit_image_carriage_return 	_CURS __strs4.__bit_image_carriage_return
#define color_names 			_CURS __strs4.__color_names
#define define_bit_image_region 	_CURS __strs4.__define_bit_image_region
#define end_bit_image_region 		_CURS __strs4.__end_bit_image_region
#define set_color_band 			_CURS __strs4.__set_color_band
#define set_page_length 		_CURS __strs4.__set_page_length
#define display_pc_char 		_CURS __strs4.__display_pc_char
#define enter_pc_charset_mode 		_CURS __strs4.__entr_pc_charset_mode
#define exit_pc_charset_mode 		_CURS __strs4.__exit_pc_charset_mode
#define enter_scancode_mode 		_CURS __strs4.__entr_scancode_mode
#define exit_scancode_mode 		_CURS __strs4.__exit_scancode_mode
#define pc_term_options 		_CURS __strs4.__pc_term_options
#define scancode_escape 		_CURS __strs4.__scancode_escape
#define alt_scancode_esc 		_CURS __strs4.__alt_scancode_esc
#define set_pglen_inch 			_CURS __strs4.__set_pglen_inch
#define enter_horizontal_hl_mode 	_CURS __strs4.__entr_horizontal_hl_mode
#define enter_left_hl_mode 		_CURS __strs4.__entr_left_hl_mode
#define enter_low_hl_mode 		_CURS __strs4.__entr_low_hl_mode
#define enter_right_hl_mode 		_CURS __strs4.__entr_right_hl_mode
#define enter_top_hl_mode 		_CURS __strs4.__entr_top_hl_mode
#define enter_vertical_hl_mode 		_CURS __strs4.__entr_vertical_hl_mode
#define set_a_attributes 		_CURS __strs4.__set_a_attributes
#define exit_horizontal_hl_mode 	_CURS __strs4.__exit_horizontal_hl_mode
#define exit_left_hl_mode 		_CURS __strs4.__exit_left_hl_mode
#define exit_low_hl_mode 		_CURS __strs4.__exit_low_hl_mode
#define exit_right_hl_mode 		_CURS __strs4.__exit_right_hl_mode
#define exit_top_hl_mode 		_CURS __strs4.__exit_top_hl_mode
#define exit_vertical_hl_mode 		_CURS __strs4.__exit_vertical_hl_mode

struct __strs {
    char
	*__back_tab,		/* Back tab */
	*__bell,		/* Audible signal (bell) */
	*__carriage_return,	/* Carriage return (*) */
	*__change_scroll_region,/* change to lines #1 thru #2 (vt100) (G) */
	*__clear_all_tabs,	/* Clear all tab stops. */
	*__clear_screen,	/* Clear screen (*) */
	*__clr_eol,		/* Clear to end of line */
	*__clr_eos,		/* Clear to end of display (*) */
	*__column_address,	/* Set cursor column (G) */
	*__command_character,	/* Term. settable cmd char in prototype */
	*__crsr_address,	/* Cursor motion to row #1 col #2 (G) */
	*__crsr_down,		/* Down one line */
	*__crsr_home,		/* Home cursor (if no cup) */
	*__crsr_invisible,	/* Make cursor invisible */
	*__crsr_left,		/* Move cursor left one space. */
	*__crsr_mem_address,	/* Memory relative cursor addressing. */
	*__crsr_normal,		/* Make cursor appear normal (undo vs/vi) */
	*__crsr_right,		/* Non-destructive space (cursor right) */
	*__crsr_to_ll,		/* Last line, first column (if no cup) */
	*__crsr_up,		/* Upline (cursor up) */
	*__crsr_visible,	/* Make cursor very visible */
	*__dlt_character,	/* Delete character (*) */
	*__dlt_line,		/* Delete line (*) */
	*__dis_status_line,	/* Disable status line */
	*__down_half_line,	/* Half-line down (forward 1/2 linefeed) */
	*__entr_alt_charset_mode,/* Start alternate character set */
	*__entr_blink_mode,	/* Turn on blinking */
	*__entr_bold_mode,	/* Turn on bold (extra bright) mode */
	*__entr_ca_mode,	/* String to begin programs that use cup */
	*__entr_delete_mode,	/* Delete mode (enter) */
	*__entr_dim_mode,	/* Turn on half-bright mode */
	*__entr_insert_mode,	/* Insert mode (enter); */
	*__entr_secure_mode,	/* Turn on blank mode (chars invisible) */
	*__entr_protected_mode,	/* Turn on protected mode */
	*__entr_reverse_mode,	/* Turn on reverse video mode */
	*__entr_standout_mode,	/* Begin stand out mode */
	*__entr_underline_mode,	/* Start underscore mode */
	*__erase_chars,		/* Erase #1 characters (G) */
	*__exit_alt_charset_mode,/* End alternate character set */
	*__exit_attribute_mode,	/* Turn off all attributes */
	*__exit_ca_mode,	/* String to end programs that use cup */
	*__exit_delete_mode,	/* End delete mode */
	*__exit_insert_mode,	/* End insert mode; */
	*__exit_standout_mode,	/* End stand out mode */
	*__exit_underline_mode,	/* End underscore mode */
	*__flash_screen,	/* Visible bell (may not move cursor) */
	*__form_feed,		/* Hardcopy terminal page eject (*) */
	*__from_status_line,	/* Return from status line */
	*__init_1string,	/* Terminal initialization string */
	*__init_2string,	/* Terminal initialization string */
	*__init_3string,	/* Terminal initialization string */
	*__init_file,		/* Name of file containing is */
	*__ins_character,	/* Insert character */
	*__ins_line,		/* Add new blank line (*) */
	*__ins_padding,		/* Insert pad after character inserted (*) */
	*__ky_backspace,	/* KEY_BACKSPACE, 0407, Sent by backspace key */
	*__ky_catab,		/* KEY_CATAB, 0526, Sent by clear-all-tabs key. */
	*__ky_clear,		/* KEY_CLEAR, 0515, Sent by clear screen or erase key. */
	*__ky_ctab,		/* KEY_CTAB, 0525, Sent by clear-tab key */
	*__ky_dc,		/* KEY_DC, 0512, Sent by delete character key. */
	*__ky_dl,		/* KEY_DL, 0510, Sent by delete line key. */
	*__ky_down,		/* KEY_DOWN, 0402, Sent by terminal down arrow key */
	*__ky_eic,		/* KEY_EIC, 0514, Sent by rmir or smir in insert mode. */
	*__ky_eol,		/* KEY_EOL, 0517, Sent by clear-to-end-of-line key. */
	*__ky_eos,		/* KEY_EOS, 0516, Sent by clear-to-end-of-screen key. */
	*__ky_f0,		/* KEY_F(0), 0410, function key f0. */
	*__ky_f1,		/* KEY_F(1), 0411, function key f1. */
	*__ky_f10,		/* KEY_F(10), 0422, function key f10. */
	*__ky_f2,		/* KEY_F(2), 0412, function key f2. */
	*__ky_f3,		/* KEY_F(3), 0413, function key f3. */
	*__ky_f4,		/* KEY_F(4), 0414, function key f4. */
	*__ky_f5,		/* KEY_F(5), 0415, function key f5. */
	*__ky_f6,		/* KEY_F(6), 0416, function key f6. */
	*__ky_f7,		/* KEY_F(7), 0417, function key f7. */
	*__ky_f8,		/* KEY_F(8), 0420, function key f8. */
	*__ky_f9,		/* KEY_F(9), 0421, function key f9. */
	*__ky_home,		/* KEY_HOME, 0406, Sent by home key. */
	*__ky_ic,		/* KEY_IC, 0513, Sent by ins char/enter ins mode key. */
	*__ky_il,		/* KEY_IL, 0511, Sent by insert line. */
	*__ky_left,		/* KEY_LEFT, 0404, Sent by terminal left arrow key */
	*__ky_ll,		/* KEY_LL, 0533, Sent by home-down key */
	*__ky_npage,		/* KEY_NPAGE, 0522, Sent by next-page key */
	*__ky_ppage,		/* KEY_PPAGE, 0523, Sent by previous-page key */
	*__ky_right,		/* KEY_RIGHT, 0405, Sent by terminal right arrow key */
	*__ky_sf,		/* KEY_SF, 0520, Sent by scroll-forward/down key */
	*__ky_sr,		/* KEY_SR, 0521, Sent by scroll-backward/up key */
	*__ky_stab,		/* KEY_STAB, 0524, Sent by set-tab key */
	*__ky_up,		/* KEY_UP, 0403, Sent by terminal up arrow key */
	*__kpad_local,		/* Out of "keypad transmit" mode */
	*__kpad_xmit,		/* Put terminal in "keypad transmit" mode */
	*__lab_f0,		/* Labels on function key f0 if not f0 */
	*__lab_f1,		/* Labels on function key f1 if not f1 */
	*__lab_f10,		/* Labels on function key f10 if not f10 */
	*__lab_f2,		/* Labels on function key f2 if not f2 */
	*__lab_f3,		/* Labels on function key f3 if not f3 */
	*__lab_f4,		/* Labels on function key f4 if not f4 */
	*__lab_f5,		/* Labels on function key f5 if not f5 */
	*__lab_f6,		/* Labels on function key f6 if not f6 */
	*__lab_f7,		/* Labels on function key f7 if not f7 */
	*__lab_f8;		/* Labels on function key f8 if not f8 */
};

struct __strs2 {
    char
	*__lab_f9,		/* Labels on function key f9 if not f9 */
	*__meta_off,		/* Turn off "meta mode" */
	*__meta_on,		/* Turn on "meta mode" (8th bit) */
	*__newline,		/* Newline (behaves like cr followed by lf) */
	*__pad_char,		/* Pad character (rather than null) */
	*__prm_dch,		/* Delete #1 chars (G*) */
	*__prm_delete_line,	/* Delete #1 lines (G*) */
	*__prm_down_cursor,	/* Move cursor down #1 lines. (G*) */
	*__prm_ich,		/* Insert #1 blank chars (G*) */
	*__prm_index,		/* Scroll forward #1 lines. (G) */
	*__prm_insert_line,	/* Add #1 new blank lines (G*) */
	*__prm_left_cursor,	/* Move cursor left #1 spaces (G) */
	*__prm_right_cursor,	/* Move cursor right #1 spaces. (G*) */
	*__prm_rindex,		/* Scroll backward #1 lines. (G) */
	*__prm_up_cursor,	/* Move cursor up #1 lines. (G*) */
	*__pkey_key,		/* Prog funct key #1 to type string #2 */
	*__pkey_local,		/* Prog funct key #1 to execute string #2 */
	*__pkey_xmit,		/* Prog funct key #1 to xmit string #2 */
	*__print_screen,	/* Print contents of the screen */
	*__prtr_off,		/* Turn off the printer */
	*__prtr_on,		/* Turn on the printer */
	*__repeat_char,		/* Repeat char #1 #2 times.  (G*) */
	*__reset_1string,	/* Reset terminal completely to sane modes. */
	*__reset_2string,	/* Reset terminal completely to sane modes. */
	*__reset_3string,	/* Reset terminal completely to sane modes. */
	*__reset_file,		/* Name of file containing reset string. */
	*__restore_cursor,	/* Restore cursor to position of last sc. */
	*__row_address,		/* Like hpa but sets row. (G) */
	*__save_cursor,		/* Save cursor position. */
	*__scrll_forward,	/* Scroll text up */
	*__scrll_reverse,	/* Scroll text down */
	*__set_attributes,	/* Define the video attributes (G9) */
	*__set_tab,		/* Set a tab in all rows, current column. */
	*__set_window,		/* Current window is lines #1-#2 cols #3-#4 */
	*__tab,			/* Tab to next 8 space hardware tab stop. */
	*__to_status_line,	/* Go to status line, col #1 */
	*__underline_char,	/* Underscore one char and move past it */
	*__up_half_line,	/* Half-line up (reverse 1/2 linefeed) */
	*__init_prog,		/* Path name of program for init. */
	*__ky_a1,		/* KEY_A1, 0534, Upper left of keypad */
	*__ky_a3,		/* KEY_A3, 0535, Upper right of keypad */
	*__ky_b2,		/* KEY_B2, 0536, Center of keypad */
	*__ky_c1,		/* KEY_C1, 0537, Lower left of keypad */
	*__ky_c3,		/* KEY_C3, 0540, Lower right of keypad */
	*__prtr_non,		/* Turn on the printer for #1 bytes. */
	*__mem_lock,		/* Lock memory above cursor */
	*__mem_unlock,		/* Turn memory lock off */
	*__plab_norm,		/* Prog label #1 to show string #2 */
	*__labl_on,		/* Turn on soft labels */
	*__labl_off,		/* Turn off soft labels */
	*__ky_f11,		/* KEY_F(11), 0423, function key f11. */
	*__ky_f12,		/* KEY_F(12), 0424, function key f12. */
	*__ky_f13,		/* KEY_F(13), 0425, function key f13. */
	*__ky_f14,		/* KEY_F(14), 0426, function key f14. */
	*__ky_f15,		/* KEY_F(15), 0427, function key f15. */
	*__ky_f16,		/* KEY_F(16), 0430, function key f16. */
	*__ky_f17,		/* KEY_F(17), 0431, function key f17. */
	*__ky_f18,		/* KEY_F(18), 0432, function key f18. */
	*__ky_f19,		/* KEY_F(19), 0433, function key f19. */
	*__ky_f20,		/* KEY_F(20), 0434, function key f20. */
	*__ky_f21,		/* KEY_F(21), 0435, function key f21. */
	*__ky_f22,		/* KEY_F(22), 0436, function key f22. */
	*__ky_f23,		/* KEY_F(23), 0437, function key f23. */
	*__ky_f24,		/* KEY_F(24), 0440, function key f24. */
	*__ky_f25,		/* KEY_F(25), 0441, function key f25. */
	*__ky_f26,		/* KEY_F(26), 0442, function key f26. */
	*__ky_f27,		/* KEY_F(27), 0443, function key f27. */
	*__ky_f28,		/* KEY_F(28), 0444, function key f28. */
	*__ky_f29,		/* KEY_F(29), 0445, function key f29. */
	*__ky_f30,		/* KEY_F(30), 0446, function key f30. */
	*__ky_f31,		/* KEY_F(31), 0447, function key f31. */
	*__ky_f32,		/* KEY_F(32), 0450, function key f32. */
	*__ky_f33,		/* KEY_F(33), 0451, function key f33. */
	*__ky_f34,		/* KEY_F(34), 0452, function key f34. */
	*__ky_f35,		/* KEY_F(35), 0453, function key f35. */
	*__ky_f36,		/* KEY_F(36), 0454, function key f36. */
	*__ky_f37,		/* KEY_F(37), 0455, function key f37. */
	*__ky_f38,		/* KEY_F(38), 0456, function key f38. */
	*__ky_f39,		/* KEY_F(39), 0457, function key f39. */
	*__ky_f40,		/* KEY_F(40), 0460, function key f40. */
	*__ky_f41,		/* KEY_F(41), 0461, function key f41. */
	*__ky_f42,		/* KEY_F(42), 0462, function key f42. */
	*__ky_f43,		/* KEY_F(43), 0463, function key f43. */
	*__ky_f44,		/* KEY_F(44), 0464, function key f44. */
	*__ky_f45,		/* KEY_F(45), 0465, function key f45. */
	*__ky_f46,		/* KEY_F(46), 0466, function key f46. */
	*__ky_f47,		/* KEY_F(47), 0467, function key f47. */
	*__ky_f48,		/* KEY_F(48), 0470, function key f48. */
	*__ky_f49,		/* KEY_F(49), 0471, function key f49. */
	*__ky_f50,		/* KEY_F(50), 0472, function key f50. */
	*__ky_f51,		/* KEY_F(51), 0473, function key f51. */
	*__ky_f52,		/* KEY_F(52), 0474, function key f52. */
	*__ky_f53,		/* KEY_F(53), 0475, function key f53. */
	*__ky_f54,		/* KEY_F(54), 0476, function key f54. */
	*__ky_f55,		/* KEY_F(55), 0477, function key f55. */
	*__ky_f56,		/* KEY_F(56), 0500, function key f56. */
	*__ky_f57,		/* KEY_F(57), 0501, function key f57. */
	*__ky_f58,		/* KEY_F(58), 0502, function key f58. */
	*__ky_f59,		/* KEY_F(59), 0503, function key f59. */
	*__ky_f60;		/* KEY_F(60), 0504, function key f60. */
};

struct __strs3 {
    char
	*__ky_f61,		/* KEY_F(61), 0505, function key f61. */
	*__ky_f62,		/* KEY_F(62), 0506, function key f62. */
	*__ky_f63,		/* KEY_F(63), 0507, function key f63. */
	*__char_padding,	/* Like ip but when in replace mode */
	*__acs_chars,		/* Graphic charset pairs aAbBcC - def=vt100 */
	*__ky_btab,		/* KEY_BTAB, 0541, Back tab key */
	*__entr_xon_mode,	/* Turn on xon/xoff handshaking */
	*__exit_xon_mode,	/* Turn off xon/xoff handshaking */
	*__entr_am_mode,	/* Turn on automatic margins */
	*__exit_am_mode,	/* Turn off automatic margins */
	*__xon_character,	/* X-on character */
	*__xoff_character,	/* X-off character */
	*__ena_acs,		/* Enable alternate char set */
	*__ky_beg,		/* KEY_BEG, 0542, beg(inning) key */
	*__ky_cancel,		/* KEY_CANCEL, 0543, cancel key */
	*__ky_close,		/* KEY_CLOSE, 0544, close key */
	*__ky_command,		/* KEY_COMMAND, 0545, cmd (command) key */
	*__ky_copy,		/* KEY_COPY, 0546, copy key */
	*__ky_create,		/* KEY_CREATE, 0547, create key */
	*__ky_end,		/* KEY_END, 0550, end key */
	*__ky_enter,		/* KEY_ENTER, 0527, Enter/send (unreliable) */
	*__ky_exit,		/* KEY_EXIT, 0551, exit key */
	*__ky_find,		/* KEY_FIND, 0552, find key */
	*__ky_help,		/* KEY_HELP, 0553, help key */
	*__ky_mark,		/* KEY_MARK, 0554, mark key */
	*__ky_message,		/* KEY_MESSAGE, 0555, message key */
	*__ky_move,		/* KEY_MOVE, 0556, move key */
	*__ky_next,		/* KEY_NEXT, 0557, next object key */
	*__ky_open,		/* KEY_OPEN, 0560, open key */
	*__ky_options,		/* KEY_OPTIONS, 0561, options key */
	*__ky_previous,		/* KEY_PREVIOUS, 0562, previous object key */
	*__ky_print,		/* KEY_PRINT, 0532, print or copy */
	*__ky_redo,		/* KEY_REDO, 0563, redo key */
	*__ky_reference,	/* KEY_REFERENCE, 0564, ref(erence) key */
	*__ky_refresh,		/* KEY_REFRESH, 0565, refresh key */
	*__ky_replace,		/* KEY_REPLACE, 0566, replace key */
	*__ky_restart,		/* KEY_RESTART, 0567, restart key */
	*__ky_resume,		/* KEY_RESUME, 0570, resume key */
	*__ky_save,		/* KEY_SAVE, 0571, save key */
	*__ky_suspend,		/* KEY_SUSPEND, 0627, suspend key */
	*__ky_undo,		/* KEY_UNDO, 0630, undo key */
	*__ky_sbeg,		/* KEY_SBEG, 0572, shifted beginning key */
	*__ky_scancel,		/* KEY_SCANCEL, 0573, shifted cancel key */
	*__ky_scommand,		/* KEY_SCOMMAND, 0574, shifted command key */
	*__ky_scopy,		/* KEY_SCOPY, 0575, shifted copy key */
	*__ky_screate,		/* KEY_SCREATE, 0576, shifted create key */
	*__ky_sdc,		/* KEY_SDC, 0577, shifted delete char key */
	*__ky_sdl,		/* KEY_SDL, 0600, shifted delete line key */
	*__ky_select,		/* KEY_SELECT, 0601, select key */
	*__ky_send,		/* KEY_SEND, 0602, shifted end key */
	*__ky_seol,		/* KEY_SEOL, 0603, shifted clear line key */
	*__ky_sexit,		/* KEY_SEXIT, 0604, shifted exit key */
	*__ky_sfind,		/* KEY_SFIND, 0605, shifted find key */
	*__ky_shelp,		/* KEY_SHELP, 0606, shifted help key */
	*__ky_shome,		/* KEY_SHOME, 0607, shifted home key */
	*__ky_sic,		/* KEY_SIC, 0610, shifted input key */
	*__ky_sleft,		/* KEY_SLEFT, 0611, shifted left arrow key */
	*__ky_smessage,		/* KEY_SMESSAGE, 0612, shifted message key */
	*__ky_smove,		/* KEY_SMOVE, 0613, shifted move key */
	*__ky_snext,		/* KEY_SNEXT, 0614, shifted next key */
	*__ky_soptions,		/* KEY_SOPTIONS, 0615, shifted options key */
	*__ky_sprevious,	/* KEY_SPREVIOUS, 0616, shifted prev key */
	*__ky_sprint,		/* KEY_SPRINT, 0617, shifted print key */
	*__ky_sredo,		/* KEY_SREDO, 0620, shifted redo key */
	*__ky_sreplace,		/* KEY_SREPLACE, 0621, shifted replace key */
	*__ky_sright,		/* KEY_SRIGHT, 0622, shifted right arrow */
	*__ky_srsume,		/* KEY_SRSUME, 0623, shifted resume key */
	*__ky_ssave,		/* KEY_SSAVE, 0624, shifted save key */
	*__ky_ssuspend,		/* KEY_SSUSPEND, 0625, shifted suspend key */
	*__ky_sundo,		/* KEY_SUNDO, 0626, shifted undo key */
	*__req_for_input,	/* send next input char (for ptys) */
	*__clr_bol,		/* Clear to beginning of line, inclusive */
	*__clear_margins,	/* Clear left and right soft margins */
	*__set_left_margin,	/* Set soft left margin */
	*__set_right_margin,	/* Set soft right margin */
	*__labl_format,		/* Label format */
	*__set_clock,		/* Set time-of-day clock */
	*__display_clock,	/* Display time-of-day clock */
	*__remove_clock,	/* Remove time-of-day clock */
	*__create_window,	/* Define win #1 to go from #2,#3 to #4,#5 */
	*__goto_window,		/* Got to window #1 */
	*__hangup,		/* Hang-up phone */
	*__dial_phone,		/* Dial phone number #1 */
	*__quick_dial,		/* Dial phone number #1, without progress detection */
	*__tone,		/* Select touch tone dialing */
	*__pulse,		/* Select pulse dialing */
	*__flash_hook,		/* Flash the switch hook */
	*__fixed_pause,		/* Pause for 2-3 seconds */
	*__wait_tone,		/* Wait for dial tone */
	*__user0,		/* User string 0 */
	*__user1,		/* User string 1 */
	*__user2,		/* User string 2 */
	*__user3,		/* User string 3 */
	*__user4,		/* User string 4 */
	*__user5,		/* User string 5 */
	*__user6,		/* User string 6 */
	*__user7,		/* User string 7 */
	*__user8,		/* User string 8 */
	*__user9,		/* User string 9 */
	*__orig_pair;		/* Original color-pair */
};

struct __strs4 {
    char
	*__orig_colors,		/* Original colors */
	*__initialize_color,	/* Initialize the definition of color */
	*__initialize_pair,	/* Initialize color pair */
	*__set_color_pair,	/* Set color pair	 */
	*__set_foreground,	/* Set foreground color using RGB escape */
	*__set_background,	/* Set background color using RGB escape */
	*__change_char_pitch,	/* Change no. characters per inch */
	*__change_line_pitch,	/* Change no. lines per inch */
	*__change_res_horz,	/* Change horizontal resolution */
	*__change_res_vert,	/* Change vertical resolution */
	*__define_char,		/* Define a character in a character set */
	*__entr_doublewide_mode,/* Enable double wide printing */
	*__entr_draft_quality,	/* Set draft quality print */
	*__entr_italics_mode,	/* Enable italics */
	*__entr_leftward_mode,	/* Enable leftward carriage motion */
	*__entr_micro_mode,	/* Enable micro motion capabilities */
	*__entr_near_letter_quality,/* Set near-letter quality print */
	*__entr_normal_quality,	/* Set normal quality print */
	*__entr_shadow_mode,	/* Enable shadow printing */
	*__entr_subscript_mode,	/* Enable subscript printing */
	*__entr_superscript_mode,/* Enable superscript printing */
	*__entr_upward_mode,	/* Enable upward carriage motion */
	*__exit_doublewide_mode,/* Disable double wide printing */
	*__exit_italics_mode,	/* Disable italics */
	*__exit_leftward_mode,	/* Enable rightward (normal) carriage motion */
	*__exit_micro_mode,	/* Disable micro motion capabilities */
	*__exit_shadow_mode,	/* Disable shadow printing */
	*__exit_subscript_mode,	/* Disable subscript printing */
	*__exit_superscript_mode,/* Disable superscript printing */
	*__exit_upward_mode,	/* Enable downward (normal) carriage motion */
	*__micro_column_address,/* Like column_address for micro adjustment */
	*__micro_down,		/* Like cursor_down for micro adjustment */
	*__micro_left,		/* Like cursor_left for micro adjustment */
	*__micro_right,		/* Like cursor_right for micro adjustment */
	*__micro_row_address,	/* Like row_address for micro adjustment */
	*__micro_up,		/* Like cursor_up for micro adjustment */
	*__order_of_pins,	/* Matches software bits to print-head pins */
	*__prm_down_micro,	/* Like parm_down_cursor for micro adjust. */
	*__prm_left_micro,	/* Like parm_left_cursor for micro adjust. */
	*__prm_right_micro,	/* Like parm_right_cursor for micro adjust. */
	*__prm_up_micro,	/* Like parm_up_cursor for micro adjust. */
	*__select_char_set,	/* Select character set */
	*__set_bottom_margin,	/* Set soft bottom margin at current line */
	*__set_bottom_margin_parm,/* Set soft bottom margin */
	*__set_left_margin_parm,/* Set soft left margin */
	*__set_right_margin_parm,/* Set soft right margin */
	*__set_top_margin,	/* Set soft top margin at current line */
	*__set_top_margin_parm,	/* Set soft top margin */
	*__start_bit_image,	/* Start printing bit image graphics */
	*__start_char_set_def,	/* Start definition of a character set */
	*__stop_bit_image,	/* End printing bit image graphics (use tputs) */
	*__stop_char_set_def,	/* End definition of a character set */
	*__subscript_characters,/* List of ``subscript-able'' characters */
	*__superscript_characters,/* List of ``superscript-able'' characters */
	*__these_cause_cr,	/* Printing any of these chars causes cr */
	*__zero_motion,		/* No motion for the subsequent character */
	*__char_set_names,	/* List of character set names */
	*__ky_mouse,		/* KEY_MOUSE, 0631, Mouse event has occured */
	*__mouse_info,		/* Mouse status information */
	*__req_mouse_pos,	/* Request mouse position report */
	*__get_mouse,		/* Curses should get button events */
	*__set_a_foreground,	/* Set foreground color using ANSI escape */
	*__set_a_background,	/* Set background color using ANSI escape */
	*__pkey_plab,		/* Prog key #1 to xmit string #2 and show string #3 */
	*__device_type,		/* Indicate language/codeset support */
	*__code_set_init,	/* Init sequence for multiple codesets */
	*__set0_des_seq,	/* Shift into codeset 0 (EUC set 0, ASCII) */
	*__set1_des_seq,	/* Shift into codeset 1 */
	*__set2_des_seq,	/* Shift into codeset 2 */
	*__set3_des_seq,	/* Shift into codeset 3 */
	*__set_lr_margin,	/* Sets both left and right margins */
	*__set_tb_margin,	/* Sets both top and bottom margins */
	*__bit_image_repeat,	/* Repeat bit-image cell #1 #2 times (use tparm) */
	*__bit_image_newline,	/* Move to next row of the bit image (use tparm) */
	*__bit_image_carriage_return,/* Move to beginning of same row (use tparm) */
	*__color_names,		/* Give name for color #1 */
	*__define_bit_image_region,/* Define rectangular bit-image region (use tparm) */
	*__end_bit_image_region,/* End a bit-image region (use tparm) */
	*__set_color_band,	/* Change to ribbon color #1 */
	*__set_page_length,	/* Set page length to #1 lines (use tparm) */
	*__display_pc_char,	/* Display PC character */
	*__entr_pc_charset_mode,/* Enter PC character display mode */
	*__exit_pc_charset_mode,/* Disable PC character display mode */
	*__entr_scancode_mode,	/* Enter PC scancode mode */
	*__exit_scancode_mode,	/* Disable PC scancode mode */
	*__pc_term_options,	/* PC terminal options */
	*__scancode_escape,	/* Escape for scancode emulation */
	*__alt_scancode_esc,	/* Alternate escape for scancode emulation */
	*__set_pglen_inch,	/* Set page length to #1 hundredths of an inch (use tparm) */
	*__entr_horizontal_hl_mode,/* Turn on horizontal highlight mode */
	*__entr_left_hl_mode,	/* Turn on left highlight mode */
	*__entr_low_hl_mode,	/* Turn on low highlight mode */
	*__entr_right_hl_mode,	/* Turn on right highlight mode */
	*__entr_top_hl_mode,	/* Turn on top highlight mode */
	*__entr_vertical_hl_mode,/* Turn on vertical hilight mode */
	*__set_a_attributes,	/* Define second set of video attributes */
	*__exit_horizontal_hl_mode,/* Turn on horizontal highlight mode */
	*__exit_left_hl_mode,	/* Turn on left highlight mode */
	*__exit_low_hl_mode,	/* Turn on low highlight mode */
	*__exit_right_hl_mode,	/* Turn on right highlight mode */
	*__exit_top_hl_mode,	/* Turn on top highlight mode */
	*__exit_vertical_hl_mode,/* Turn on vertical hilight mode */
	*_Sentinel;		/* End of strings. DO NOT MOVE! */
};

struct __bool_struct {
    char
	__auto_left_margin,	/* cub1 wraps from column 0 to last column */
	__auto_right_margin,	/* Terminal has automatic margins */
	__no_esc_ctlc,		/* Beehive (f1=escape, f2=ctrl C) */
	__ceol_standout_glitch,	/* Standout not erased by overwriting (hp) */
	__eat_newline_glitch,	/* newline ignored after 80 cols (Concept) */
	__erase_overstrike,	/* Can erase overstrikes with a blank */
	__generic_type,		/* Generic line type (e.g. dialup, switch). */
	__hard_copy,		/* Hardcopy terminal */
	__has_meta_key,		/* Has a meta key (shift, sets parity bit) */
	__has_status_line,	/* Has extra "status line" */
	__ins_null_glitch,	/* Insert mode distinguishes nulls */
	__mem_above,		/* Display may be retained above the screen */
	__mem_below,		/* Display may be retained below the screen */
	__move_insert_mode,	/* Safe to move while in insert mode */
	__move_standout_mode,	/* Safe to move in standout modes */
	__over_strike,		/* Terminal overstrikes */
	__status_line_esc_ok,	/* Escape can be used on the status line */
	__dest_tabs_magic_smso,	/* Tabs destructive, magic so char (t1061) (hp-ux teleray_glitch) */
	__tilde_glitch,		/* Hazeltine; can't print ~'s */
	__transparent_underline,/* underline character overstrikes */
	__xon_xoff,		/* Terminal uses xon/xoff handshaking */
	__needs_xon_xoff,	/* Padding won't work, xon/xoff required */
	__prtr_silent,		/* Printer won't echo on screen. */
	__hard_cursor,		/* Cursor is hard to see. */
	__non_rev_rmcup,	/* Smcup does not reverse rmcup. */
	__no_pad_char,		/* Pad character doesn't exist. */
	__non_dest_scroll_region,/* Scrolling region is non-destructive. */
	__can_change,		/* Can re-define existing color */
	__back_color_erase,	/* Erases screen with current background */
	__hue_lightness_saturation,/* HLS color notation is used (Tek) */
	__col_addr_glitch,	/* Only positive motion for hpa/mhpa caps */
	__cr_cancels_micro_mode,/* Using cr turns off micro mode */
	__has_print_wheel,	/* Printer needs operator to change character set */
	__row_addr_glitch,	/* Only positive motion for vpa/mvpa caps */
	__semi_auto_right_margin,/* Printing in last column causes cr */
	__cpi_changes_res,	/* Changing char. pitch changes resolution */
	__lpi_changes_res,	/* Changing line pitch changes resolution */
	_Sentinel;		/* End of bools. DO NOT MOVE! */
};

struct __num_struct {
    short
	__columns,		/* Number of columns in a line */
	__init_tabs,		/* Tabs initially every # spaces. */
	__lines,		/* Number of lines on screen or page */
	__lines_of_memory,	/* Lines of memory if > lines.  0 => varies */
	__magic_cookie_glitch,	/* Number blank chars left by smso or rmso */
	__padding_baud_rate,	/* Lowest baud rate where padding needed */
	__virtual_terminal,	/* Virtual terminal number (CB/Unix) */
	__width_status_line,	/* # columns in status line */
	__num_labels,		/* # of labels on screen (start at 1) */
	__labl_height,		/* # rows in each label */
	__labl_width,		/* # cols in each label */
	__max_attributes,	/* max combined video attributes terminal can display */
	__maximum_windows,	/* Maximum number of defineable windows */
	__max_colors,		/* max # of color on the screen */
	__max_pairs,		/* max # of color pairs on the screen */
	__no_color_video,	/* Video attributes that cannot be used with colors */
	__buffer_capacity,	/* Number of bytes buffered before printing */
	__dot_vert_spacing,	/* Spacing of pins vertically in pins per inch */
	__dot_horz_spacing,	/* Spacing of dots horizontally in dots per inch */
	__max_micro_address,	/* Maximum value in micro_..._address */
	__max_micro_jump,	/* Maximum value in parm_..._micro */
	__micro_col_size,	/* Character step size when in micro mode */
	__micro_line_size,	/* Line step size when in micro mode */
	__number_of_pins,	/* Number of pins in print-head */
	__output_res_char,	/* Horizontal resolution in units per character */
	__output_res_line,	/* Vertical resolution in units per line */
	__output_res_horz_inch,	/* Horizontal resolution in units per inch */
	__output_res_vert_inch,	/* Vertical resolution in units per inch */
	__print_rate,		/* Print rate in characters per second */
	__wide_char_size,	/* Character step size when in double wide mode */
	__buttons,		/* Number of buttons on the mouse */
	__bit_image_entwining,	/* Number of passes for each bit-image row */
	__bit_image_type,	/* Type of bit-image device */
	_Sentinel;		/* End of nums. DO NOT MOVE! */
};

struct __str_struct {
	struct __strs  __strs;
	struct __strs2 __strs2;
	struct __strs3 __strs3;
	struct __strs4 __strs4;
};

struct _Vr2_Astrs {
    char
	*__s1,  *__s2,  *__s3,  *__s4,  *__s5,  *__s6,  *__s7,  *__s8,
	*__s9,	*__s10,	*__s11, *__s12, *__s13, *__s14, *__s15, *__s16,
	*__s17, *__s18, *__s19, *__s20,	*__s21, *__s22, *__s23, *__s24,
	*__s25, *__s26, *__s27, *__s28, *__s29, *__s30,	*__s31, *__s32,
	*__s33, *__s34, *__s35, *__s36, *__s37, *__s38, *__s39, *__s40,
	*__s41, *__s42, *__s43, *__s44, *__s45, *__s46, *__s47, *__s48,
	*__s49, *__s50,	*__s51, *__s52, *__s53, *__s54, *__s55, *__s56,
	*__s57, *__s58, *__s59, *__s60,	*__s61, *__s62, *__s63, *__s64,
	*__s65, *__s66, *__s67, *__s68, *__s69, *__s70,	*__s71, *__s72,
	*__s73, *__s74, *__s75, *__s76, *__s77, *__s78, *__s79, *__s80,
	*__s81, *__s82, *__s83, *__s84, *__s85, *__s86, *__s87, *__s88,
	*__s89, *__s90,	*__s91, *__s92, *__s93, *__s94, *__s95, *__s96,
	*__s97, *__s98, *__s99, *__s100;
};

struct _Vr2_Bstrs {
    char
	*__s101,*__s102,*__s103,*__s104,*__s105,*__s106,*__s107,*__s108,
	*__s109,*__s110,*__s111,*__s112,*__s113,*__s114,*__s115,*__s116,
	*__s117,*__s118,*__s119,*__s120,*__s121,*__s122,*__s123,*__s124,
	*__s125,*__s126,*__s127,*__s128,*__s129,*__s130,*__s131,*__s132,
	*__s133,*__s134,*__s135,*__s136,*__s137,*__s138,*__s139,*__s140,
	*__s141,*__s142,*__s143,*__s144,*__s145;
};

typedef struct {
	char *__sends;	/* Characters sent when key is pressed */
	short __keyval;	/* "char" we pass back to program */
} _KEY_MAP;

typedef struct {
	short  __foreground;   /* foreground color */
	short  __background;   /* background color */
	bool   __init;         /* TRUE if pair was initialized */
} _Color_pair;


typedef struct {
	short	__r, __g, __b;
} _Color;


/*
 * This definition for the term struct allows the boolean, number
 * and string information to grow in the future and still allow .o
 * compatibility.
 */

#define _NUM_ATTRIBUTES	15
#define _INP_QSIZE	32

struct term {
    char
	__b1, __b2, __b3, __b4, __b5, __b6, __b7, __b8, __b9, __b10,
	__b11,__b12,__b13,__b14,__b15,__b16,__b17,__b18,__b19,__b20,__b21;
    short
	__c1, __c2, __c3, __c4, __c5, __c6, __c7, __c8;
	struct _Vr2_Astrs _Vr2_Astrs;
	struct _Vr2_Bstrs _Vr2_Bstrs;
	short _Filedes;		/* file descriptor being written to */
	_SGTTY _Ottyb;		/* original state of the terminal */
	_SGTTY _Nttyb;		/* current state of the terminal */
	/* end of Vr2 structure */
	struct __bool_struct *__bools;
	struct __num_struct *__nums;
	struct __str_struct *__strs;
	char *__strtab;
	long __timeout;		/* for BSD halfdelay mode */
	/* end of Vr3 structure */
	attr_t __sgr_mode;		/* current phys. graphic rendition */
	attr_t __sgr_faked;		/* attributes faked by vidputs */
	int    __delay;			/* timeout for inputs */
	int    __inputfd;		/* input file descriptor */
	int    __check_fd;		/* typeahead file descriptor */
	_KEY_MAP	**__keys,	/* key map */
			*__internal_keys;/* pointer to free key structures */
	short		__ksz,		/* size of keymap */
			__lastkey_ordered,/* where the last ordered key is */
			__lastmacro_ordered,/* where the last ordered macro is */
			__first_macro;
	bool				/* map of which chars start fn keys */
			__funckeystarter[0400];	
	bool		__fl_rawmode,	/* in cbreak(=1) or raw(=2) mode */
			__fl_typeahdok,	/* ok to use typeahead */
			__cursorstate,	/* cursor: 0=invis, 1=norm, 2=vvis */
			__iwait;		/* true if input-pending */
	short		__regs[26];	/* tparm static registers */
	int				/* a place to put stuff ungetch'ed */
			__input_queue[_INP_QSIZE];
	short		__ungotten;	/* # chars ungotten by ungetch() */
	char		__chars_on_queue; /* # chars on queue */
	cchar_t		*__acsmap;	/* map of alternate char set chars */
	char		*__turn_on_seq[_NUM_ATTRIBUTES];
	attr_t		__bit_vector;
	char		*__cursor_seq[3];
	char		__termname[15];
	char		*__turn_off_seq[3];
	attr_t		__check_turn_off;
    	_Color_pair	__cur_pair;
    	_Color_pair	*__pairs_tbl;
    	_Color		*__color_tbl;
};

typedef struct term TERMINAL;

#ifdef __HP_CURSES_COMPAT
/* allow old names for these capabilities */
#define beehive_glitch	no_esc_ctlc
#define teleray_glitch	dest_tabs_magic_smso
#endif /* __HP_CURSES_COMPAT */

extern TERMINAL			*cur_term;
extern struct __bool_struct	*__cur_bools;
extern struct __num_struct	*__cur_nums;
extern struct __str_struct	*__cur_strs;

# define _CUR			cur_term->
# define _CURB			__cur_bools->
# define _CURN			__cur_nums->
# define _CURS			__cur_strs->
# define _PROGTTY		(cur_term->_Nttyb)
# define _SHELLTTY		(cur_term->_Ottyb)
 
extern	int	del_curterm __((TERMINAL *));
extern	int	putp __((const char *));
extern	int	restartterm __((char *, int, int *));
extern	TERMINAL*set_curterm __((TERMINAL *));
extern  int	setupterm __((char *, int, int *));
extern	int	tgetent __((char *, char *));
extern	int	tgetflag __((char *));
extern	int	tgetnum __((char *));
extern	char	*tgetstr __((char *, char **));
extern	char	*tgoto __((char *, int, int));
extern	int	tigetflag __((char *));
extern	int	tigetnum __((char *));
extern	char	*tigetstr __((char *));
#ifdef __10_10_COMPAT_CODE
/*
 * The old tparm() API prototype is present only for backward compatibility.
 * It wil not be available in future releases.
 */
extern	char	*tparm __((char *, ...));
#else
extern	char	*tparm __((char *, long, long, long, long, \
		       long,   long, long, long, long));
#endif /* __10_10_COMPAT_CODE */
extern	int	tputs __((const char *, int, int (*)(int)));

#ifdef __HP_CURSES_COMPAT
/*
 * Include <curses.h> to get the following API declarations.  They will
 * not be available in <term.h> in future releases.
 */
extern	int	vidputs __((chtype, int (*)(int)));
extern	int	vidattr __((chtype));
extern	char	*termname __((void));

/*
 * The following are present only for backward compatibility.  They
 * will not be available in future releases.
 */

#define	UNACCESSIBLE		1
#define	NO_TERMINAL		2
#define CORRUPTED		3
#define	ENTRY_TOO_LONG		4
#define	TERMINFO_TOO_LONG	5
#define	TERM_BAD_MALLOC		6
#define NOT_READABLE		7

extern	short	term_errno;
extern	char	term_parm_err[], *term_err_strings[], *Def_term,
		*boolnames[], *boolcodes[], *boolfnames[],
		*numnames[], *numcodes[], *numfnames[],
		*strnames[], *strcodes[], *strfnames[];

extern	int	delterm __((TERMINAL *));
extern	TERMINAL*setcurterm __((TERMINAL *));
extern	int	resetterm __((void));
extern	int	saveterm __((void));
extern	int	fixterm __((void));
extern	void	termerr __((void));
extern	void	tinputfd __((int));
#endif /* __HP_CURSES_COMPAT */

#ifdef __cplusplus
}
#endif

#endif /* _TERM_INCLUDED */
#endif /* defined(__HP_CURSES) && !defined(__LP64__)  */

