131058Sminshall/* 2*33817Sbostic * Copyright (c) 1988 Regents of the University of California. 3*33817Sbostic * All rights reserved. 4*33817Sbostic * 5*33817Sbostic * Redistribution and use in source and binary forms are permitted 6*33817Sbostic * provided that this notice is preserved and that due credit is given 7*33817Sbostic * to the University of California at Berkeley. The name of the University 8*33817Sbostic * may not be used to endorse or promote products derived from this 9*33817Sbostic * software without specific prior written permission. This software 10*33817Sbostic * is provided ``as is'' without express or implied warranty. 11*33817Sbostic * 12*33817Sbostic * @(#)termcodes.m4 1.2 (Berkeley) 03/28/88 1331058Sminshall */ 1431058Sminshall 1531058Sminshall/* the following allows us to generate our TC values. it is a bit painful. */ 1631058Sminshall 1731058Sminshalldefine(TCvalue, 128) 1831058Sminshalldefine(TCbump, `define(`TCvalue', eval(TCvalue+1))') 1931058Sminshalldefine(TCdefine, ``#define'') 2031058Sminshalldefine(TC, `TCdefine define(`TCstring', TC_$1) TCstring TCvalue TCbump ` 2131058Sminshall 'InitialAscii("$1", TCstring) InitialAids(ifelse($2,,0,0x$2))') 2231058Sminshalldefine(Is, `TCdefine TC_$1 TCvalue') 2331058Sminshall 2431058Sminshall#define IsTc(x) (((x)&0xff) >= TC_LOWEST) 2531058Sminshall 2631058Sminshall/* This lists the codes which are output from termin() */ 2731058Sminshall 2831058Sminshalltypedef char TC_Aids_t; 2931058Sminshall 3031058Sminshalltypedef struct { 3131058Sminshall char *tc_name; /* what the name is */ 3231058Sminshall char tc_value; /* what the value is */ 3331058Sminshall} TC_Ascii_t; 3431058Sminshall 3531058Sminshalltypedef struct { 3631058Sminshall char *tc_name; /* what the name is */ 3731058Sminshall char tc_value; /* what the value is */ 3831058Sminshall char tc_aid; /* what the AID is */ 3931058Sminshall} TC_AsciiAids_t; 4031058Sminshall 4131058Sminshall#ifdef DEFINEAIDS 4231058Sminshall#define InitialAids(x) x, 4331058Sminshall#else 4431058Sminshall#define InitialAids(x) 4531058Sminshall#endif /* DEFINEAIDS */ 4631058Sminshall#ifdef LETS_SEE_ASCII 4731058Sminshall#define InitialAscii(x, y) x, y, 4831058Sminshall#else 4931058Sminshall#define InitialAscii(x, y) 5031058Sminshall#endif /* LETS_SEE_ASCII */ 5131058Sminshall 5231058Sminshall#ifdef LETS_SEE_ASCII 5331058Sminshall#ifdef DEFINEAIDS 5431058Sminshallstatic TC_AsciiAids_t TC_AsciiAids[] = { 5531058Sminshall#else /* so, no aids */ 5631058Sminshallstatic TC_Ascii_t TC_Ascii[] = { 5731058Sminshall#endif /* DEFINEAIDS */ 5831058Sminshall#else 5931058Sminshall#ifdef DEFINEAIDS 6031058Sminshallstatic TC_Aids_t TC_Aids[] = { 6131058Sminshall#endif /* LETS_SEE_ASCII */ 6231058Sminshall#endif 6331058Sminshall 6431058SminshallIs(LOWEST) 6531058Sminshall 6631058Sminshall/* the following are internal to the parser and generator */ 6731058Sminshall/* (and, generally, should not be specified by the user...) */ 6831058SminshallTC(CALL) /* INT: call a state sequence */ 6931058SminshallTC(RETURN) /* INT: return from TC_CALL */ 7031058SminshallTC(GOTO) /* INT: goto next entry */ 7131058SminshallTC(NULL) /* Illegal sequence; bell */ 7231058Sminshall 7331058Sminshall 7431058Sminshall 7531058SminshallIs(LOWEST_USER) /* lowest code settable by user */ 7631058Sminshall 7731058SminshallTC(VERTICAL_BAR) 7831058SminshallTC(CAPS_LOCK) 7931058SminshallTC(MAKE_SHIFT) 8031058SminshallTC(BREAK_SHIFT) 8131058SminshallTC(DVCNL) 8231058SminshallTC(MAKE_ALT) 8331058SminshallTC(BREAK_ALT) 8431058SminshallTC(SPACE) 8531058SminshallTC(LEFT2) 8631058SminshallTC(RIGHT2) 8731058SminshallTC(MONOCASE) 8831058SminshallTC(ATTN) /* attention generator */ 8931058SminshallTC(LPRT) /* local print */ 9031058SminshallTC(DP) /* dup character */ 9131058SminshallTC(FM) /* field mark character */ 9231058SminshallTC(CURSEL) /* cursor select */ 9331058SminshallTC(CENTSIGN) /* EBCDIC cent sign */ 9431058SminshallTC(RESHOW) /* redisplay the screen */ 9531058SminshallTC(EINP) /* erase input */ 9631058SminshallTC(EEOF) /* erase end of field */ 9731058SminshallTC(DELETE) /* delete character */ 9831058SminshallTC(INSRT) /* toggle insert mode */ 9931058SminshallTC(TAB) /* field tab */ 10031058SminshallTC(BTAB) /* field back tab */ 10131058SminshallTC(COLTAB) /* column tab */ 10231058SminshallTC(COLBAK) /* column back tab */ 10331058SminshallTC(INDENT) /* indent one tab stop */ 10431058SminshallTC(UNDENT) /* undent one tab stop */ 10531058SminshallTC(NL) /* new line */ 10631058SminshallTC(HOME) /* home the cursor */ 10731058SminshallTC(UP) /* up cursor */ 10831058SminshallTC(DOWN) /* down cursor */ 10931058SminshallTC(RIGHT) /* right cursor */ 11031058SminshallTC(LEFT) /* left cursor */ 11131058SminshallTC(SETTAB) /* set a column tab */ 11231058SminshallTC(DELTAB) /* delete a column tab */ 11331058SminshallTC(SETMRG) /* set left margin */ 11431058SminshallTC(SETHOM) /* set home position */ 11531058SminshallTC(CLRTAB) /* clear all column tabs */ 11631058SminshallTC(APLON) /* apl on */ 11731058SminshallTC(APLOFF) /* apl off */ 11831058SminshallTC(APLEND) /* treat input as ascii */ 11931058SminshallTC(PCON) /* xon/xoff on */ 12031058SminshallTC(PCOFF) /* xon/xoff off */ 12131058SminshallTC(DISC) /* disconnect (suspend) */ 12231058SminshallTC(INIT) /* new terminal type */ 12331058SminshallTC(ALTK) /* alternate keyboard dvorak */ 12431058SminshallTC(FLINP) /* flush input */ 12531058SminshallTC(ERASE) /* erase last character */ 12631058SminshallTC(WERASE) /* erase last word */ 12731058SminshallTC(FERASE) /* erase field */ 12831058SminshallTC(SYNCH) /* user and us are in synch */ 12931058SminshallTC(RESET) /* reset key -unlock keyboard */ 13031058SminshallTC(MASTER_RESET) /* master reset key; flush, reset, repaint */ 13131058SminshallTC(XOFF) /* please hold output */ 13231058SminshallTC(XON) /* please give me output */ 13331058SminshallTC(ESCAPE) /* enter telnet command mode */ 13431058SminshallTC(WORDTAB) /* Go to first character of next word */ 13531058SminshallTC(WORDBACKTAB) /* Go to first character of last word */ 13631058SminshallTC(WORDEND) /* Go to last character of this/next word */ 13731058SminshallTC(FIELDEND) /* Go to last non-blank of this field */ 13831058Sminshall 13931058Sminshall 14031058SminshallIs(LOWEST_AID) /* lowest attn generator */ 14131058Sminshall 14231058Sminshall/* the attention generating keys... */ 14331058Sminshall 14431058SminshallTC(PA1, 6c) 14531058SminshallTC(PA2, 6e) 14631058SminshallTC(PA3, 6b) 14731058SminshallTC(CLEAR, 6d) 14831058SminshallTC(TREQ, f0) 14931058SminshallTC(ENTER, 7d) 15031058SminshallTC(SELPEN, 7e) /* Really, only SELPEN with DESIGNATOR = space or null */ 15131058SminshallTC(PFK1, f1) 15231058SminshallTC(PFK2, f2) 15331058SminshallTC(PFK3, f3) 15431058SminshallTC(PFK4, f4) 15531058SminshallTC(PFK5, f5) 15631058SminshallTC(PFK6, f6) 15731058SminshallTC(PFK7, f7) 15831058SminshallTC(PFK8, f8) 15931058SminshallTC(PFK9, f9) 16031058SminshallTC(PFK10, 7a) 16131058SminshallTC(PFK11, 7b) 16231058SminshallTC(PFK12, 7c) 16331058SminshallTC(PFK13, c1) 16431058SminshallTC(PFK14, c2) 16531058SminshallTC(PFK15, c3) 16631058SminshallTC(PFK16, c4) 16731058SminshallTC(PFK17, c5) 16831058SminshallTC(PFK18, c6) 16931058SminshallTC(PFK19, c7) 17031058SminshallTC(PFK20, c8) 17131058SminshallTC(PFK21, c9) 17231058SminshallTC(PFK22, 4a) 17331058SminshallTC(PFK23, 4b) 17431058SminshallTC(PFK24, 4c) 17531058SminshallTC(PFK25, d1) 17631058SminshallTC(PFK26, d2) 17731058SminshallTC(PFK27, d3) 17831058SminshallTC(PFK28, d4) 17931058SminshallTC(PFK29, d5) 18031058SminshallTC(PFK30, d6) 18131058SminshallTC(PFK31, d7) 18231058SminshallTC(PFK32, d8) 18331058SminshallTC(PFK33, d9) 18431058SminshallTC(PFK34, 5a) 18531058SminshallTC(PFK35, 5b) 18631058SminshallTC(PFK36, 5c) 18731058Sminshall 18831058SminshallIs(HIGHEST_AID)-1 /* highest AID value */ 18931058Sminshall#define IsAid(x) (((x) >= TC_LOWEST_AID) && ((x) <= TC_HIGHEST_AID)) 19031058Sminshall 19131058SminshallIs(HIGHEST)-1 /* highest TC value */ 19231058Sminshall 19331058Sminshall#ifdef LETS_SEE_ASCII 19431058Sminshall}; 19531058Sminshall#else 19631058Sminshall#ifdef DEFINEAIDS 19731058Sminshall}; 19831058Sminshall#endif 19931058Sminshall#endif 20031058Sminshall 20131058Sminshall#ifdef DEFINEAIDS 20231058Sminshall#ifdef LETS_SEE_ASCII 20331058Sminshall#define TCtoAid(x) TC_AsciiAids[(x)-TC_LOWEST].tc_aid 20431058Sminshall#else 20531058Sminshall#define TCtoAid(x) TC_Aids[x-TC_LOWEST] 20631058Sminshall#endif 20731058Sminshall#endif 208