/*--------------------------------------------------------------------*/ /* CHARCODE.H */ /* symbolic names for byte values which cannot be represented as */ /* characters within a C program */ /*--------------------------------------------------------------------*/ #define NULL_BYTE '\0' #define ESC '\x1b' /*--------------------------------------*/ /* the nonprintable 8-bit IBM ASCII */ /*--------------------------------------*/ #define E_ASC_BLANK '\x00' #define E_ASC_HAPPY_FACE '\x01' #define E_ASC_INV_HAPPY_FACE '\x02' #define E_ASC_HEART '\x03' #define E_ASC_DIAMOND '\x04' #define E_ASC_CLUB '\x05' #define E_ASC_SPADE '\x06' #define E_ASC_BULLET '\x07' #define E_ASC_INV_BULLET '\x08' #define E_ASC_CIRCLE '\x09' #define E_ASC_INVERSE_CIRCLE '\x0a' #define E_ASC_MALE_SIGN '\x0b' #define E_ASC_FEMALE_SIGN '\x0c' #define E_ASC_SINGLE_NOTE '\x0d' #define E_ASC_DOUBLE_NOTE '\x0e' #define E_ASC_SUN '\x0f' #define E_ASC_RT_TRIANGLE '\x10' #define E_ASC_LF_TRIANGLE '\x11' #define E_ASC_UP_DN_ARROW '\x12' #define E_ASC_2_EXCLAMATION_PT '\x13' #define E_ASC_PARAGRAPH_SIGN '\x14' #define E_ASC_SECTION_SIGN '\x15' #define E_ASC_RECT_BULLET '\x16' #define E_ASC_UP_DN_TO_LINE '\x17' #define E_ASC_UP_ARROW '\x18' #define E_ASC_DOWN_ARROW '\x19' #define E_ASC_RT_ARROW '\x1a' #define E_ASC_LF_ARROW '\x1b' #define E_ASC_LW_LF_BOX '\x1c' #define E_ASC_LF_RT_ARROW '\x1d' #define E_ASC_UP_TRIANGLE '\x1e' #define E_ASC_DN_TRIANGLE '\x1f' #define E_ASC_CAP_C_CEDILLA '\x80' #define E_ASC_SMALL_U_UMLAUT '\x81' #define E_ASC_SMALL_E_ACUTE '\x82' #define E_ASC_SMALL_A_CIRCUMFLEX '\x83' #define E_ASC_SMALL_A_UMLAUT '\x84' #define E_ASC_SMALL_A_GRAVE '\x85' #define E_ASC_SMALL_A_RING '\x86' #define E_ASC_SMALL_C_CEDILLA '\x87' #define E_ASC_SMALL_E_CIRCUMFLEX '\x88' #define E_ASC_SMALL_E_UMLAUT '\x89' #define E_ASC_SMALL_E_GRAVE '\x8a' #define E_ASC_SMALL_I_UMLAUT '\x8b' #define E_ASC_SMALL_I_CIRCUMFLEX '\x8c' #define E_ASC_SMALL_I_GRAVE '\x8d' #define E_ASC_CAP_A_UMLAUT '\x8e' #define E_ASC_CAP_A_RING '\x8f' #define E_ASC_CAP_E_ACUTE '\x90' #define E_ASC_SMALL_AE_LIG '\x91' #define E_ASC_CAP_AE_LIG '\x92' #define E_ASC_SMALL_O_CIRCUMFLEX '\x93' #define E_ASC_SMALL_O_UMLAUT '\x94' #define E_ASC_SMALL_O_GRAVE '\x95' #define E_ASC_SMALL_U_CIRCUMFLEX '\x96' #define E_ASC_SMALL_U_GRAVE '\x97' #define E_ASC_SMALL_Y_UMLAUT '\x98' #define E_ASC_CAP_O_UMLAUT '\x99' #define E_ASC_CAP_U_UMLAUT '\x9a' #define E_ASC_CENT_SIGN '\x9b' #define E_ASC_POUND_SIGN '\x9c' #define E_ASC_YEN_SIGN '\x9d' #define E_ASC_POINT_SIGN '\x9e' #define E_ASC_FUNCTION_SIGN '\x9f' #define E_ASC_SMALL_A_ACUTE '\xa0' #define E_ASC_SMALL_I_ACUTE '\xa1' #define E_ASC_SMALL_O_ACUTE '\xa2' #define E_ASC_SMALL_U_ACUTE '\xa3' #define E_ASC_SMALL_N_TILDA '\xa4' #define E_ASC_CAP_N_TILDA '\xa5' #define E_ASC_SMALL_A_MACRON '\xa6' #define E_ASC_SMALL_O_MACRON '\xa7' #define E_ASC_OPEN_QUEST_MARK '\xa8' #define E_ASC_UP_LF_BOX '\xa9' #define E_ASC_UP_RT_BOX '\xaa' #define E_ASC_ONE_HALF_SIGN '\xab' #define E_ASC_ONE_FOURTH_SIGN '\xac' #define E_ASC_OPEN_EXCLAIMATION '\xad' #define E_ASC_DBL_LESS_THAN '\xae' #define E_ASC_DBL_GREATER_THAN '\xaf' #define E_ASC_LIGHT_BLOCK '\xb0' #define E_ASC_MEDIUM_BLOCK '\xb1' #define E_ASC_DARK_BLOCK '\xb2' #define E_ASC_LN_DRW_1_VERT '\xb3' #define E_ASC_LN_DRW_1_RT_JCT '\xb4' #define E_ASC_LN_DRW_2_1_RT_JCT '\xb5' #define E_ASC_LN_DRW_1_2_RT_JCT '\xb6' #define E_ASC_LN_DRW_1_2_UP_RT '\xb7' #define E_ASC_LN_DRW_2_1_UP_RT '\xb8' #define E_ASC_LN_DRW_2_RT_JCT '\xb9' #define E_ASC_LN_DRW_2_VERT '\xba' #define E_ASC_LN_DRW_2_UP_RT '\xbb' #define E_ASC_LN_DRW_2_LW_RT '\xbc' #define E_ASC_LN_DRW_1_2_LW_RT '\xbd' #define E_ASC_LN_DRW_2_1_LW_RT '\xbe' #define E_ASC_LN_DRW_1_UP_RT '\xbf' #define E_ASC_LN_DRW_1_LW_LF '\xc0' #define E_ASC_LN_DRW_1_LW_JCT '\xc1' #define E_ASC_LN_DRW_1_UP_JCT '\xc2' #define E_ASC_LN_DRW_1_LF_JCT '\xc3' #define E_ASC_LN_DRW_1_HOR '\xc4' #define E_ASC_LN_DRW_1_INTER '\xc5' #define E_ASC_LN_DRW_2_1_LF_JCT '\xc6' #define E_ASC_LN_DRW_1_2_LF_JCT '\xc7' #define E_ASC_LN_DRW_2_LW_LF '\xc8' #define E_ASC_LN_DRW_2_UP_LF '\xc9' #define E_ASC_LN_DRW_2_LW_JCT '\xca' #define E_ASC_LN_DRW_2_UP_JCT '\xcb' #define E_ASC_LN_DRW_2_LF_JCT '\xcc' #define E_ASC_LN_DRW_2_HOR '\xcd' #define E_ASC_LN_DRW_2_INTER '\xce' #define E_ASC_LN_DRW_1_2_LW_JCT '\xcf' #define E_ASC_LN_DRW_2_1_LW_JCT '\xd0' #define E_ASC_LN_DRW_1_2_UP_JCT '\xd1' #define E_ASC_LN_DRW_2_1_UP_JCT '\xd2' #define E_ASC_LN_DRW_1_2_LW_LF '\xd3' #define E_ASC_LN_DRW_2_1_LW_LF '\xd4' #define E_ASC_LN_DRW_2_1_UP_LF '\xd5' #define E_ASC_LN_DRW_1_2_UP_LF '\xd6' #define E_ASC_LN_DRW_2_1_INTER '\xd7' #define E_ASC_LN_DRW_1_2_INTER '\xd8' #define E_ASC_LN_DRW_1_LW_RT '\xd9' #define E_ASC_LN_DRW_1_UP_LF '\xda' #define E_ASC_INV_SPACE '\xdb' #define E_ASC_LW_INV '\xdc' #define E_ASC_LF_INV '\xdd' #define E_ASC_RT_INV '\xde' #define E_ASC_UP_INV '\xdf' #define E_ASC_SMALL_ALPHA '\xe0' #define E_ASC_SMALL_BETA '\xe1' #define E_ASC_CAP_GAMMA '\xe2' #define E_ASC_SMALL_PI '\xe3' #define E_ASC_CAP_SIGMA '\xe4' #define E_ASC_SMALL_SIGMA '\xe5' #define E_ASC_SMALL_MU '\xe6' #define E_ASC_SMALL_TAU '\xe7' #define E_ASC_CAP_PHI '\xe8' #define E_ASC_CAP_THETA '\xe9' #define E_ASC_CAP_OMEGA '\xea' #define E_ASC_SMALL_DELTA '\xeb' #define E_ASC_INFINITY '\xec' #define E_ASC_SMALL_PHI '\xed' #define E_ASC_SMALL_EPSILON '\xee' #define E_ASC_INTERSECTION_SETS '\xef' #define E_ASC_IDENTICAL_TO '\xf0' #define E_ASC_PLUS_MINUS '\xf1' #define E_ASC_GREATER_EQUAL '\xf2' #define E_ASC_LESS_EQUAL '\xf3' #define E_ASC_TOP_INTEGRAL '\xf4' #define E_ASC_BOTTOM_INTEGRAL '\xf5' #define E_ASC_DIVIDE_SIGN '\xf6' #define E_ASC_APPROXIMATE_SIGN '\xf7' #define E_ASC_DEGREE_SIGN '\xf8' #define E_ASC_FILLED_DEGREE_SIGN '\xf9' #define E_ASC_SMALL_BULLET '\xfa' #define E_ASC_SQUARE_ROOT_SIGN '\xfb' #define E_ASC_SUPERSCRIPT_N '\xfc' #define E_ASC_SUPERSCRIPT_2 '\xfd' #define E_ASC_BOX '\xfe' #define E_ASC_PHANTOM_SPACE '\xff' /*-----------------------------------------------------*/ /*IBM Extended Character Codes */ /* per Thom Hogan, Programmer's PC Sourcebook, p.29 */ /*-----------------------------------------------------*/ #define NO_KEY_PRESSED '\x03' #define SHFT_TAB_KEY '\x0f' #define ALT_Q_KEY '\x10' #define ALT_W_KEY '\x11' #define ALT_E_KEY '\x12' #define ALT_R_KEY '\x13' #define ALT_T_KEY '\x14' #define ALT_Y_KEY '\x15' #define ALT_U_KEY '\x16' #define ALT_I_KEY '\x17' #define ALT_O_KEY '\x18' #define ALT_P_KEY '\x19' #define ALT_A_KEY '\x1e' #define ALT_S_KEY '\x1f' #define ALT_D_KEY '\x20' #define ALT_F_KEY '\x21' #define ALT_G_KEY '\x22' #define ALT_H_KEY '\x23' #define ALT_J_KEY '\x24' #define ALT_K_KEY '\x25' #define ALT_L_KEY '\x26' #define ALT_Z_KEY '\x2c' #define ALT_X_KEY '\x2d' #define ALT_C_KEY '\x2e' #define ALT_V_KEY '\x2f' #define ALT_B_KEY '\x30' #define ALT_N_KEY '\x31' #define ALT_M_KEY '\x32' #define PF1_KEY '\x3b' #define PF2_KEY '\x3c' #define PF3_KEY '\x3d' #define PF4_KEY '\x3e' #define PF5_KEY '\x3f' #define PF6_KEY '\x40' #define PF7_KEY '\x41' #define PF8_KEY '\x42' #define PF9_KEY '\x43' #define PF10_KEY '\x44' #define HOME_KEY '\x47' #define UP_ARW_KEY '\x48' #define PG_UP_KEY '\x49' #define LF_ARW_KEY '\x4b' #define RT_ARW_KEY '\x4d' #define END_KEY '\x4f' #define DN_ARW_KEY '\x50' #define PG_DN_KEY '\x51' #define INS_KEY '\x52' #define DEL_KEY '\x53' #define SHFT_PF1_KEY '\x54' #define SHFT_PF2_KEY '\x55' #define SHFT_PF3_KEY '\x56' #define SHFT_PF4_KEY '\x57' #define SHFT_PF5_KEY '\x58' #define SHFT_PF6_KEY '\x59' #define SHFT_PF7_KEY '\x5a' #define SHFT_PF8_KEY '\x5b' #define SHFT_PF9_KEY '\x5c' #define SHFT_PF10_KEY '\x5d' #define CNTR_PF1_KEY '\x5e' #define CNTR_PF2_KEY '\x5f' #define CNTR_PF3_KEY '\x60' #define CNTR_PF4_KEY '\x61' #define CNTR_PF5_KEY '\x62' #define CNTR_PF6_KEY '\x63' #define CNTR_PF7_KEY '\x64' #define CNTR_PF8_KEY '\x65' #define CNTR_PF9_KEY '\x66' #define CNTR_PF10_KEY '\x67' #define ALT_PF1_KEY '\x68' #define ALT_PF2_KEY '\x69' #define ALT_PF3_KEY '\x6a' #define ALT_PF4_KEY '\x6b' #define ALT_PF5_KEY '\x6c' #define ALT_PF6_KEY '\x6d' #define ALT_PF7_KEY '\x6e' #define ALT_PF8_KEY '\x6f' #define ALT_PF9_KEY '\x70' #define ALT_PF10_KEY '\x71' #define CNTR_PRT_SCR '\x72' #define CNTR_LF_ARW_KEY '\x73' #define CNTR_RT_ARW_KEY '\x74' #define CNTR_END_KEY '\x75' #define CNTR_PG_DN_KEY '\x76' #define CNTR_HOME_KEY '\x77' #define ALT_1_KEY '\x78' #define ALT_2_KEY '\x79' #define ALT_3_KEY '\x7a' #define ALT_4_KEY '\x7b' #define ALT_5_KEY '\x7c' #define ALT_6_KEY '\x7d' #define ALT_7_KEY '\x7e' #define ALT_8_KEY '\x7f' #define ALT_9_KEY '\x80' #define ALT_0_KEY '\x81' #define ALT_HYPHEN_KEY '\x82' #define ALT_EQUALS_KEY '\x83' #define CNTR_PG_UP_KEY '\x84' /*--------------------------------------*/ /* Monochrome Video Attributes */ /*--------------------------------------*/ #define NORMAL_VIDEO '\x07' #define REVERSE_VIDEO HIGHLITE '\x70' #define BLINKBIT '\x80' #define INTENSITYBIT '\x08'