wht@gatech.edu@n4hgf.UUCP (Warren Tucker) (05/26/90)
Posting-number: Volume 13, Issue 2 Submitted-by: wht@gatech.edu@n4hgf.UUCP (Warren Tucker) Archive-name: ecu2.80/patch02 This patch overhauls the help system, enabling a user on a 25-line screen full access to the built-in help facility. Also, the help data itself has been updated. Apply the patch by unsharing this package and typing APPLY.P02. Patch 1 must have been appled (including the manual correction for the failed hunk #7 of ecuhayes.c). You may wish to apply patch 3 (released at the same time as this one) before proceeding. Then, make su make install #!/bin/sh # This is ecu2.80/patch02, a shell archive (shar 3.27) # made 05/23/1990 10:28 UTC by wht%n4hgf@gatech.edu # Source directory /u1/src/ecu # # existing files WILL be overwritten # # This shar contains: # length mode name # ------ ---------- ------------------------------------------ # 441 -rwxr-xr-x APPLY.P02 # 30384 -rw-r--r-- ECU280.P02 # 10682 -rw-r--r-- ecucmd.h # if touch 2>&1 | fgrep 'mmdd' > /dev/null then TOUCH=touch else TOUCH=true fi # ============= APPLY.P02 ============== echo "x - extracting APPLY.P02 (Text)" sed 's/^X//' << 'SHAR_EOF' > APPLY.P02 && X: X#-------------------------------------------------------------- X# APPLY.P02 - ensure patch 1 already applied and apply patch 2 X#-------------------------------------------------------------- Xif fgrep 'PATCHLEVEL 1' patchlevel.h > /dev/null 2>&1 X then X echo 'Applying patch 2'; X else X echo 'You must apply patch 1 first (or patch 2 already applied)'; X exit 1; Xfi Xpatch -p < ECU280.P02 Xcat > patchlevel.h << PLEOF X#define PATCHLEVEL 2 XPLEOF Xexit 0 SHAR_EOF $TOUCH -am 0523062690 APPLY.P02 && chmod 0755 APPLY.P02 || echo "restore of APPLY.P02 failed" # ============= ECU280.P02 ============== echo "x - extracting ECU280.P02 (Text)" sed 's/^X//' << 'SHAR_EOF' > ECU280.P02 && X#------------------------------------------------------- X# ECU280.P02 - help system overhaul X# created by gendiff x1.03 on 23 May 1990 10:04 UTC X#------------------------------------------------------- X*** /u4/ecurel/Make.ecu Wed May 23 06:01:44 1990 X--- Make.ecu Sat May 19 17:23:09 1990 X*************** X*** 318,323 X ecu.o: ecukey.h X ecu.o: ecuxkey.h X ecu.o: ecuhangup.h X ecuLCK.o: ecu.h X ecuLCK.o: utmpstatus.h X ecuchdir.o: ecu.h X X--- 318,324 ----- X ecu.o: ecukey.h X ecu.o: ecuxkey.h X ecu.o: ecuhangup.h X+ ecu.o: patchlevel.h X ecuLCK.o: ecu.h X ecuLCK.o: utmpstatus.h X ecuchdir.o: ecu.h X*************** X*** 379,384 X ecuscrdump.o: ecu.h X ecuscrdump.o: pc_scr.h X ecusetup.o: /usr/include/curses.h X ecusetup.o: ecu.h X ecusetup.o: ecukey.h X ecusetup.o: ecuxkey.h X X--- 380,386 ----- X ecuscrdump.o: ecu.h X ecuscrdump.o: pc_scr.h X ecusetup.o: /usr/include/curses.h X+ ecusetup.o: patchlevel.h X ecusetup.o: ecu.h X ecusetup.o: ecukey.h X ecusetup.o: ecuxkey.h X*** /u4/ecurel/README Wed May 23 06:01:45 1990 X--- README Mon May 21 01:57:57 1990 X*************** X*** 331,333 X 7. If you are not using a 43-line screen, the list of commands X displayed by the interactive 'help' command is truncated. I X apologize; this problem will be solved Real Soon Now. X X--- 331,343 ----- X 7. If you are not using a 43-line screen, the list of commands X displayed by the interactive 'help' command is truncated. I X apologize; this problem will be solved Real Soon Now. X+ X+ Changes since ecu 2.80 patchlevel 1 X+ X+ 1. The built-in help system was reworked. Interactive commands are X+ now divided into four categories: general, communications-related, X+ transfer-related and procedure-related. The help command asks for X+ a category and displays the appropriate subset. X+ X+ 2. The built-in help file (ecuhelp.data) was revised. X+ X*** /u4/ecurel/ecufinsert.c Mon May 7 23:33:00 1990 X--- ecufinsert.c Mon May 21 01:22:56 1990 X*************** X*** 140,146 X ff(se," (P)aced transmission (20 msec/schar)\r\n"); X ff(se," (Q)uit (or ESC): "); X xmit_mode = ttygetc(0) & 0x7F; X! fputs(make_char_graphic(xmit_mode,0),se); X fputs("\r\n",se); X } X X X--- 140,147 ----- X ff(se," (P)aced transmission (20 msec/schar)\r\n"); X ff(se," (Q)uit (or ESC): "); X xmit_mode = ttygetc(0) & 0x7F; X! if(xmit_mode > 0x20) X! fputs(make_char_graphic(xmit_mode,0),se); X fputs("\r\n",se); X } X X*** /u4/ecurel/ecuicmd.c Wed May 23 06:02:14 1990 X--- ecuicmd.c Sun May 20 17:34:44 1990 X*************** X*** 443,467 X ff(se,"%s\r\n",makedate); X break; X X- #if !defined(M_XENIX) || defined(M_UNIX) X- case CTte: X- if(narg > 1) X- { X- if(sscanf(arg[1],"%x",&cmd_escape) && (cmd_escape < 0x7F)) X- ff(se," tty escape set to "); X- else X- { X- ff(se," invalid parameter must be 01 to 7E: setting to "); X- cmd_escape = '%'; X- } X- } X- else X- ff(se," tty escape is "); X- X- ff(se,"0x%02x (%s)\r\n",cmd_escape,make_char_graphic(cmd_escape,1)); X- break; X- #endif X- X case CTtime: X get_tod(4,cmd); X ff(se,": %s\r\n",cmd); X X--- 443,448 ----- X ff(se,"%s\r\n",makedate); X break; X X case CTtime: X get_tod(4,cmd); X ff(se,": %s\r\n",cmd); X*** /u4/ecurel/ecuicmhelp.c Mon May 7 23:33:00 1990 X--- ecuicmhelp.c Mon May 21 01:37:38 1990 X*************** X*** 181,187 X return(cmd); X } /* end of help_get_cmd */ X X- X /*+------------------------------------------------------------------------- X display_help_screen() X --------------------------------------------------------------------------*/ X X--- 181,186 ----- X return(cmd); X } /* end of help_get_cmd */ X X /*+------------------------------------------------------------------------- X display_help_screen() X get user command section choice and display that group of commands X*************** X*** 184,189 X X /*+------------------------------------------------------------------------- X display_help_screen() X --------------------------------------------------------------------------*/ X void X display_help_screen() X X--- 183,189 ----- X X /*+------------------------------------------------------------------------- X display_help_screen() X+ get user command section choice and display that group of commands X --------------------------------------------------------------------------*/ X int X display_help_screen() X*************** X*** 185,191 X /*+------------------------------------------------------------------------- X display_help_screen() X --------------------------------------------------------------------------*/ X! void X display_help_screen() X { X register itmp; X X--- 185,191 ----- X display_help_screen() X get user command section choice and display that group of commands X --------------------------------------------------------------------------*/ X! int X display_help_screen() X { X register itmp; X*************** X*** 189,195 X display_help_screen() X { X register itmp; X! register P_CMD *pcmd = icmd_cmds; X register y = 1; X register x = 0; X char s80[80]; X X--- 189,195 ----- X display_help_screen() X { X register itmp; X! register P_CMD *pcmd; X register y = 1; X register x = 0; X short cmdclass; X*************** X*** 192,197 X register P_CMD *pcmd = icmd_cmds; X register y = 1; X register x = 0; X char s80[80]; X X wclear(stdscr); X X--- 192,198 ----- X register P_CMD *pcmd; X register y = 1; X register x = 0; X+ short cmdclass; X char s80[80]; X char **cpptr; X static char *list[] = X*************** X*** 193,198 X register y = 1; X register x = 0; X char s80[80]; X X wclear(stdscr); X wmove(stdscr,0,0); X X--- 194,210 ----- X register x = 0; X short cmdclass; X char s80[80]; X+ char **cpptr; X+ static char *list[] = X+ { X+ "g - general commands", X+ "c - communications-related commands", X+ "t - transfer-related commands", X+ "p - procedure-related commands", X+ "Esc - exit help", X+ (char *)0 X+ }; X+ static char keylist[] = {'g','c','t','p',ESC,0}; X X X wclear(stdscr); X*************** X*** 194,199 X register x = 0; X char s80[80]; X X wclear(stdscr); X wmove(stdscr,0,0); X wstandout(stdscr); X X--- 206,212 ----- X }; X static char keylist[] = {'g','c','t','p',ESC,0}; X X+ X wclear(stdscr); X wmove(stdscr,0,0); X wstandout(stdscr); X*************** X*** 197,204 X wclear(stdscr); X wmove(stdscr,0,0); X wstandout(stdscr); X! waddstr(stdscr, X! " ecu command list (capitalized portion sufficient for cmd recognition)"); X getyx(stdscr,y,x); X for(itmp = x; itmp < COLS-1; itmp++) X waddch(stdscr,' '); X X--- 210,216 ----- X wclear(stdscr); X wmove(stdscr,0,0); X wstandout(stdscr); X! waddstr(stdscr,"Interactive Command Help"); X getyx(stdscr,y,x); X for(itmp = x; itmp < COLS-1; itmp++) X waddch(stdscr,' '); X*************** X*** 204,209 X waddch(stdscr,' '); X wstandend(stdscr); X X pcmd = icmd_cmds; X y = 1; X x = 0; X X--- 216,239 ----- X waddch(stdscr,' '); X wstandend(stdscr); X X+ itmp = 6; X+ cpptr = list; X+ while(*cpptr) X+ { X+ wmove(stdscr,itmp++,4); X+ waddstr(stdscr,*cpptr++); X+ } X+ wmove(stdscr,19,4); X+ waddstr(stdscr,"---- press a key -------"); X+ switch(winget_single(stdscr,"",keylist) & 0x7F) X+ { X+ case 'g': cmdclass = ccG; break; X+ case 'c': cmdclass = ccC; break; X+ case 't': cmdclass = ccT; break; X+ case 'p': cmdclass = ccP; break; X+ case ESC: return(1); /* <=================== */ X+ } X+ X pcmd = icmd_cmds; X y = 1; X x = 0; X*************** X*** 207,212 X pcmd = icmd_cmds; X y = 1; X x = 0; X while(pcmd->token != -1) X { X if(!*pcmd->descr) X X--- 237,244 ----- X pcmd = icmd_cmds; X y = 1; X x = 0; X+ wmove(stdscr,y,x); X+ wclrtobot(stdscr); X while(pcmd->token != -1) X { X if(!*pcmd->descr || (pcmd->cmdclass != cmdclass)) X*************** X*** 209,215 X x = 0; X while(pcmd->token != -1) X { X! if(!*pcmd->descr) X { X pcmd++; X continue; X X--- 241,247 ----- X wclrtobot(stdscr); X while(pcmd->token != -1) X { X! if(!*pcmd->descr || (pcmd->cmdclass != cmdclass)) X { X pcmd++; X continue; X*************** X*** 235,240 X } X pcmd++; X } X X } /* end of display_help_screen */ X X X--- 267,281 ----- X } X pcmd++; X } X+ wmove(stdscr,LINES - 2,0); X+ wstandout(stdscr); X+ waddstr(stdscr, X+ "Capitalized portion of listed command sufficient for command recognition"); X+ getyx(stdscr,y,x); X+ for(itmp = x; itmp < COLS-1; itmp++) X+ waddch(stdscr,' '); X+ wstandend(stdscr); X+ return(0); X X } /* end of display_help_screen */ X X*************** X*** 254,261 X calculate_help_right_column(); X windows_start(); X scrollok(stdscr,0); X! display_help_screen(); X! while(cptr = help_get_cmd()) X { X wmove(stdscr,LINES - 1,0); X wclrtoeol(stdscr); X X--- 295,301 ----- X calculate_help_right_column(); X windows_start(); X scrollok(stdscr,0); X! if(!display_help_screen()) X { X while(cptr = help_get_cmd()) X { X*************** X*** 257,269 X display_help_screen(); X while(cptr = help_get_cmd()) X { X! wmove(stdscr,LINES - 1,0); X! wclrtoeol(stdscr); X! wrefresh(stdscr); X! display_help_stderr(cptr); X! ff(se,"press return: "); X! ttygetc(1); X! display_help_screen(); X } X wmove(stdscr,LINES - 1,0); X wclrtoeol(stdscr); X X--- 297,313 ----- X scrollok(stdscr,0); X if(!display_help_screen()) X { X! while(cptr = help_get_cmd()) X! { X! wmove(stdscr,LINES - 1,0); X! wclrtoeol(stdscr); X! wrefresh(stdscr); X! display_help_stderr(cptr); X! ff(se,"\r\npress return: "); X! ttygetc(1); X! if(display_help_screen()) X! break; X! } X } X windows_end(stdscr); X redisplay_rcvr_screen(); X*************** X*** 265,272 X ttygetc(1); X display_help_screen(); X } X- wmove(stdscr,LINES - 1,0); X- wclrtoeol(stdscr); X windows_end(stdscr); X redisplay_rcvr_screen(); X if(rcvr_active) X X--- 309,314 ----- X break; X } X } X windows_end(stdscr); X redisplay_rcvr_screen(); X if(rcvr_active) X*** /u4/ecurel/ecunumrev.c Wed May 23 06:02:17 1990 X--- ecunumrev.c Mon May 21 01:32:36 1990 X*************** X*** 16,22 X #endif X X #ifdef WHT X! char *numeric_revision = "twx280.04"; X #else X #ifdef SCO X char *numeric_revision = "sco2.80"; X X--- 16,22 ----- X #endif X X #ifdef WHT X! char *numeric_revision = "twx280.07"; X #else X #ifdef SCO X char *numeric_revision = "sco2.80"; X*** /u4/ecurel/ecuwinutil.c Mon May 7 23:33:00 1990 X--- ecuwinutil.c Fri May 18 14:28:06 1990 X*************** X*** 290,295 X continue; X X default: X wrefresh(win); X return(-1); X } /* end of switch(*delim) */ X X--- 290,296 ----- X continue; X X default: X+ *(buf + pos) = 0; X wrefresh(win); X return(-1); X } /* end of switch(*delim) */ X*** /u4/ecurel/ecuxfer.c Wed May 23 06:02:33 1990 X--- ecuxfer.c Mon May 21 15:50:38 1990 X*************** X*** 36,41 X X --------------------------------------------------------------------------*/ X /*+:EDITS:*/ X /*:05-14-1990-13:28-wht@n4hgf-add window size choice to sz */ X /*:05-07-1990-21:24-wht@n4hgf---- 2.80 --- */ X /*:04-19-1990-03:07-wht@n4hgf-GCC run found unused vars -- rm them */ X X--- 36,42 ----- X X --------------------------------------------------------------------------*/ X /*+:EDITS:*/ X+ /*:05-19-1990-17:12-wht@n4hgf-fix interaction between file list and windw */ X /*:05-14-1990-13:28-wht@n4hgf-add window size choice to sz */ X /*:05-07-1990-21:24-wht@n4hgf---- 2.80 --- */ X /*:04-19-1990-03:07-wht@n4hgf-GCC run found unused vars -- rm them */ X*************** X*** 455,460 X int used_argv = 0; X char execcmd[256]; X char s80[80]; X uchar delim; /* important to be unsigned to avoid sign extension */ X WINDOW *window_create(); X char bottom_label[64]; X X--- 456,462 ----- X int used_argv = 0; X char execcmd[256]; X char s80[80]; X+ char flst[80]; X uchar delim; /* important to be unsigned to avoid sign extension */ X WINDOW *window_create(); X char bottom_label[64]; X*************** X*** 518,524 X waddstr(xfrw," dir: "); X if(strlen(curr_dir) > (xfrw_cols - 32)) X { X- char s80[80]; X strncpy(s80,curr_dir,xfrw_cols - 32); X s80[xfrw_cols - 32] = 0; X waddstr(xfrw,s80); X X--- 520,525 ----- X waddstr(xfrw," dir: "); X if(strlen(curr_dir) > (xfrw_cols - 32)) X { X strncpy(s80,curr_dir,xfrw_cols - 32); X s80[xfrw_cols - 32] = 0; X waddstr(xfrw,s80); X*************** X*** 526,531 X else X waddstr(xfrw,curr_dir); X waddch(xfrw,' '); X X REENTER_INPUT_LOOP: X input_done = 0; X X--- 527,533 ----- X else X waddstr(xfrw,curr_dir); X waddch(xfrw,' '); X+ flst[0] = 0; X X REENTER_INPUT_LOOP: X input_done = 0; X*************** X*** 538,544 X CASE_0_AGAIN: X if(used_argv || (argc == 1)) X { X! itmp = wingets(xfrw,SNDW_FILE_Y,SNDW_FILE_X,s80, X SNDW_FILE_LEN + 1,&delim,(p_filelist[0] != 0)); X } X else X X--- 540,546 ----- X CASE_0_AGAIN: X if(used_argv || (argc == 1)) X { X! itmp = wingets(xfrw,SNDW_FILE_Y,SNDW_FILE_X,flst, X SNDW_FILE_LEN + 1,&delim,(p_filelist[0] != 0)); X } X else X*************** X*** 544,550 X else X { X used_argv = 1; X! s80[0] = 0; X utmp = 0; X for(itmp = 1; itmp < argc; itmp++) X { X X--- 546,552 ----- X else X { X used_argv = 1; X! flst[0] = 0; X utmp = 0; X for(itmp = 1; itmp < argc; itmp++) X { X*************** X*** 548,554 X utmp = 0; X for(itmp = 1; itmp < argc; itmp++) X { X! if((strlen(s80) + strlen(argv[itmp]) + 1) > sizeof(s80)) X { X xfrw_bot_msg("arguments too long ... reenter list"); X ring_bell(); X X--- 550,556 ----- X utmp = 0; X for(itmp = 1; itmp < argc; itmp++) X { X! if((strlen(flst) + strlen(argv[itmp]) + 1) > sizeof(flst)) X { X xfrw_bot_msg("arguments too long ... reenter list"); X ring_bell(); X*************** X*** 554,560 X ring_bell(); X goto CASE_0_AGAIN; X } X! strcat(s80,argv[itmp]); X if(itmp != (argc - 1)) X strcat(s80," "); X } X X--- 556,562 ----- X ring_bell(); X goto CASE_0_AGAIN; X } X! strcat(flst,argv[itmp]); X if(itmp != (argc - 1)) X strcat(flst," "); X } X*************** X*** 556,562 X } X strcat(s80,argv[itmp]); X if(itmp != (argc - 1)) X! strcat(s80," "); X } X delim = CR; X } X X--- 558,564 ----- X } X strcat(flst,argv[itmp]); X if(itmp != (argc - 1)) X! strcat(flst," "); X } X delim = NL; X } X*************** X*** 558,564 X if(itmp != (argc - 1)) X strcat(s80," "); X } X! delim = CR; X } X if(delim == ESC) X break; X X--- 560,566 ----- X if(itmp != (argc - 1)) X strcat(flst," "); X } X! delim = NL; X } X if(delim == ESC) X break; X*************** X*** 562,568 X } X if(delim == ESC) X break; X! if(strlen(s80)) X { X strcpy(p_filelist,s80); X xfrws_display_name(); X X--- 564,570 ----- X } X if(delim == ESC) X break; X! if(strlen(flst)) X { X strcpy(p_filelist,flst); X xfrws_display_name(); X*************** X*** 564,570 X break; X if(strlen(s80)) X { X! strcpy(p_filelist,s80); X xfrws_display_name(); X if(find_shell_chars(p_filelist)) X { X X--- 566,572 ----- X break; X if(strlen(flst)) X { X! strcpy(p_filelist,flst); X xfrws_display_name(); X if(find_shell_chars(p_filelist)) X { X*************** X*** 583,588 X } X } X break; X case 1: /* binary */ X xfrw_bot_msg("Y: no conversion, N: NLs converted to CR/LF"); X wmove(xfrw,SNDW_BIN_Y,SNDW_BIN_X); X X--- 585,591 ----- X } X } X break; X+ X case 1: /* binary */ X xfrw_bot_msg("Y: no conversion, N: NLs converted to CR/LF"); X wmove(xfrw,SNDW_BIN_Y,SNDW_BIN_X); X*************** X*** 659,665 X case 5: /* window size */ X X xfrw_bot_msg( X! "window size (bytes transferred before ACK) 0 = stream"); X sprintf(s80,"%d",zwindw_size); X itmp = wingets(xfrw,SNDW_ZWINDW_Y,SNDW_ZWINDW_X,s80, X SNDW_ZWINDW_LEN + 1,&delim,1); X X--- 662,669 ----- X case 5: /* window size */ X X xfrw_bot_msg( X! "window size (max bytes sent before ACK required) 0 = stream"); X! CASE_5_AGAIN: X sprintf(s80,"%d",zwindw_size); X clear_area(xfrw,SNDW_ZWINDW_Y,SNDW_ZWINDW_X, X SNDW_ZWINDW_LEN + 10); X*************** X*** 661,666 X xfrw_bot_msg( X "window size (bytes transferred before ACK) 0 = stream"); X sprintf(s80,"%d",zwindw_size); X itmp = wingets(xfrw,SNDW_ZWINDW_Y,SNDW_ZWINDW_X,s80, X SNDW_ZWINDW_LEN + 1,&delim,1); X if(delim == ESC) X X--- 665,672 ----- X "window size (max bytes sent before ACK required) 0 = stream"); X CASE_5_AGAIN: X sprintf(s80,"%d",zwindw_size); X+ clear_area(xfrw,SNDW_ZWINDW_Y,SNDW_ZWINDW_X, X+ SNDW_ZWINDW_LEN + 10); X itmp = wingets(xfrw,SNDW_ZWINDW_Y,SNDW_ZWINDW_X,s80, X SNDW_ZWINDW_LEN + 1,&delim,1); X if((delim == ESC)) X*************** X*** 663,669 X sprintf(s80,"%d",zwindw_size); X itmp = wingets(xfrw,SNDW_ZWINDW_Y,SNDW_ZWINDW_X,s80, X SNDW_ZWINDW_LEN + 1,&delim,1); X! if(delim == ESC) X break; X if(strlen(s80)) X { X X--- 669,675 ----- X SNDW_ZWINDW_LEN + 10); X itmp = wingets(xfrw,SNDW_ZWINDW_Y,SNDW_ZWINDW_X,s80, X SNDW_ZWINDW_LEN + 1,&delim,1); X! if((delim == ESC)) X break; X if( ((itmp = atoi(s80)) != 0) && X ((itmp < 256) || (itmp > 65536))) X*************** X*** 665,671 X SNDW_ZWINDW_LEN + 1,&delim,1); X if(delim == ESC) X break; X! if(strlen(s80)) X { X if(((itmp = atoi(s80)) < 0) || X ((itmp < 256) || (itmp > 65536))) X X--- 671,678 ----- X SNDW_ZWINDW_LEN + 1,&delim,1); X if((delim == ESC)) X break; X! if( ((itmp = atoi(s80)) != 0) && X! ((itmp < 256) || (itmp > 65536))) X { X ring_bell(); X xfrw_bot_msg( X*************** X*** 667,685 X break; X if(strlen(s80)) X { X! if(((itmp = atoi(s80)) < 0) || X! ((itmp < 256) || (itmp > 65536))) X! { X! ring_bell(); X! xfrw_bot_msg( X! "window size must be 0 or 256 <= w <= 65536"); X! continue; X! } X! zwindw_size = atoi(s80); X! sprintf(s80,"%d",zwindw_size); X! clear_area(xfrw,SNDW_ZWINDW_Y,SNDW_ZWINDW_X, X! SNDW_ZWINDW_LEN); X! waddstr(xfrw,s80); X } X break; X } X X--- 674,683 ----- X if( ((itmp = atoi(s80)) != 0) && X ((itmp < 256) || (itmp > 65536))) X { X! ring_bell(); X! xfrw_bot_msg( X! "window size must be 0 or 256 <= w <= 65536"); X! goto CASE_5_AGAIN; X } X zwindw_size = (itmp / 64) * 64; X sprintf(s80,"%d%s",zwindw_size, X*************** X*** 681,686 X SNDW_ZWINDW_LEN); X waddstr(xfrw,s80); X } X break; X } X X X--- 679,690 ----- X "window size must be 0 or 256 <= w <= 65536"); X goto CASE_5_AGAIN; X } X+ zwindw_size = (itmp / 64) * 64; X+ sprintf(s80,"%d%s",zwindw_size, X+ (zwindw_size != itmp) ? " adjusted" : "" ); X+ clear_area(xfrw,SNDW_ZWINDW_Y,SNDW_ZWINDW_X, X+ SNDW_ZWINDW_LEN + 10); X+ waddstr(xfrw,s80); X break; X } X X*** /u4/ecurel/help/ecuhelp.src Wed May 23 06:02:35 1990 X--- help/ecuhelp.src Mon May 21 01:41:59 1990 X*************** X*** 1,8 X! # ecu help ,source file X! /*+:EDITS:*/ X! /*:11-03-1989-16:21-wht------ unet2 ----- */ X! /*:06-17-1988-11:10-wht-add 'exit' command */ X! /*:06-13-1988-15:38-wht-creation */ X #-------------------------------------------------------------------- X %ax X Usage: ax [<param>] X X--- 1,8 ----- X! # ecu help source file X! #+:EDITS: X! #:11-03-1989-16:21-wht------ unet2 ----- X! #:06-17-1988-11:10-wht-add 'exit' command X! #:06-13-1988-15:38-wht-creation X #-------------------------------------------------------------------- X %ax X Usage: ax [<param>] X*************** X*** 481,485 X Similarly, X '$' causes the communications line to be stdin and stdout X for the spawned shell X! '>' causes spawned shell to receive exactly sames files as ecu X #-------------------------------------------------------------------- X X--- 481,488 ----- X Similarly, X '$' causes the communications line to be stdin and stdout X for the spawned shell X! '-' is similar to '>', except the command is executed directly X! without going through a shell. X #-------------------------------------------------------------------- X %$ X Usage: $ X*************** X*** 483,485 X for the spawned shell X '>' causes spawned shell to receive exactly sames files as ecu X #-------------------------------------------------------------------- X X--- 484,569 ----- X '-' is similar to '>', except the command is executed directly X without going through a shell. X #-------------------------------------------------------------------- X+ %$ X+ Usage: $ X+ $<command> X+ X+ The '$' command is a shell escape causing the communications line to be X+ the stand input and output. The environment variable SHELL is read to X+ determine what shell program to execute (e.g., /bin/sh, etc). If '$' is X+ entered by itself, an interactive shell is started; a ^D received from X+ the communications line causes the shell to terminate and control to be X+ passed back to ecu. If <command> is supplied, it is executed by the X+ shell with an immediate return to ecu. X+ #-------------------------------------------------------------------- X+ %- X+ Usage: -<command> X+ X+ The '-' command causes <command> to be executed directly without X+ passing through a shell (no wildcard expansion or other shell X+ processing occurs). Standard input, output and error all are X+ opened to the console. In addition, all other files (including X+ the communications line) opened by ecu remain open. X+ #-------------------------------------------------------------------- X+ %? X+ Usage: ? X+ X+ This is an alias for the help command. X+ #-------------------------------------------------------------------- X+ %clrx X+ Usage: clrx X+ X+ The 'clrx' command simulates receipt of an XON by ECU. It is useful X+ in the rare circumstances that an XOFF is received by ECU from a X+ remote system and no later XON is received. X+ #-------------------------------------------------------------------- X+ %pcmd X+ Usage: pcmd <procedure command> X+ X+ The 'pcmd' command allows a procedure command to be issued from the X+ interactive command prompt. It is primarily intended for debugging X+ procedure commands, but it is available for any use. X+ #-------------------------------------------------------------------- X+ %plog X+ Usage: plog [<filename> | off | ] X+ X+ The 'plog' command turns on or off procedure logging. If the X+ argument to the command is 'off', logging is turned off, otherwise X+ logging is started on the specified file. If no argument is specified, X+ the status of procedure logging is displayed. X+ #-------------------------------------------------------------------- X+ %rtscts X+ Usage: rtscts [ y | n | ] X+ X+ This experimental command turns on or off the driver RTS and CTS X+ flow control. As of this writing, the driver does not properly X+ handle RTS/CTS flow control. X+ #-------------------------------------------------------------------- X+ %sdname X+ Usage: sdname [<filename> | ] X+ X+ This command sets or displays the current screen dump filename. X+ Until the command is issued, screen dump data is placed in X+ ~/.ecu/screen.dump. X+ #-------------------------------------------------------------------- X+ %sgr X+ Usage: sgr mode cmd X+ X+ This experimental command is used to test the timed read primitive X+ used by ECU. The command <cmd> is sent to the line and a timed X+ read is performed. The data returned is displayed in hexadecimal X+ format on the console. Refer to source module ecuxenix.c, function X+ send_get_response() for details. X+ #-------------------------------------------------------------------- X+ %ts X+ Usage: ts X+ X+ This experimental command displays raw termio structure information X+ for the console and the tty. It is primarily used in debugging ECU. X+ #-------------------------------------------------------------------- X+ %xlog X+ Usage: xlog [y | n] X+ X+ This experimental command controls exhaustive logging by the X, Y, and X+ ZMODEM file transfer protocols to files named /tmp/szNNNNN.log or X+ /tmp/rzNNNNN.log where NNNNN is the process id of the transfer process. X*** /u4/ecurel/help/helpgen.c Mon May 7 23:33:00 1990 X--- help/helpgen.c Wed May 23 05:53:56 1990 X*************** X*** 48,55 X #define PFITXT "../doc/ecufi.txt" X #define PFSTXT "../doc/ecufs.txt" X X! long start_pos[TOKEN_QUAN]; X! int token_line[TOKEN_QUAN]; X FILE *fpsrc; /* help source file */ X FILE *fpdat; /* help data file */ X FILE *fpdoc; /* help doc file */ X X--- 48,55 ----- X #define PFITXT "../doc/ecufi.txt" X #define PFSTXT "../doc/ecufs.txt" X X! long start_pos[TOKEN_QUAN]; X! int token_line[TOKEN_QUAN]; X FILE *fpsrc; /* help source file */ X FILE *fpdat; /* help data file */ X FILE *fpdoc; /* help doc file */ X*************** X*** 55,62 X FILE *fpdoc; /* help doc file */ X FILE *fptxt; /* help nroff file */ X P_CMD *pcmd; X! int src_line = 0; X! char buf[128]; X X /*+------------------------------------------------------------------------- X usage() X X--- 55,62 ----- X FILE *fpdoc; /* help doc file */ X FILE *fptxt; /* help nroff file */ X P_CMD *pcmd; X! int src_line = 0; X! char buf[128]; X X /*+------------------------------------------------------------------------- X usage() X*************** X*** 79,85 X --------------------------------------------------------------------------*/ X P_CMD * X search_cmd_list(cmd) X! register char *cmd; X { X register P_CMD *cmd_list = icmd_cmds; X X X--- 79,85 ----- X --------------------------------------------------------------------------*/ X P_CMD * X search_cmd_list(cmd) X! register char *cmd; X { X register P_CMD *cmd_list = icmd_cmds; X X*************** X*** 109,115 X register int longest_descr = 0; X register int cmd_count = 0; X register int nl_flag = 0; X! char s80[80]; X P_CMD *longest_cmd_p = 0; X P_CMD *longest_descr_p = 0; X X X--- 109,115 ----- X register int longest_descr = 0; X register int cmd_count = 0; X register int nl_flag = 0; X! char s80[80]; X P_CMD *longest_cmd_p = 0; X P_CMD *longest_descr_p = 0; X X*************** X*** 183,188 X { X register int itmp; X register char *cptr; X printf("\nBuilding %s\n",PDAT); X for(itmp = 0; itmp < TOKEN_QUAN; itmp++) X { X X--- 183,189 ----- X { X register int itmp; X register char *cptr; X+ X printf("\nBuilding %s\n",PDAT); X X /* use proc cmd entry for flag */ X*************** X*** 184,189 X register int itmp; X register char *cptr; X printf("\nBuilding %s\n",PDAT); X for(itmp = 0; itmp < TOKEN_QUAN; itmp++) X { X start_pos[itmp] = 0L; X X--- 185,199 ----- X register char *cptr; X X printf("\nBuilding %s\n",PDAT); X+ X+ /* use proc cmd entry for flag */ X+ pcmd = icmd_cmds; X+ while(pcmd->token != -1) X+ { X+ pcmd->proc = (PFI)0; X+ pcmd++; X+ } X+ X for(itmp = 0; itmp < TOKEN_QUAN; itmp++) X { X start_pos[itmp] = 0L; X*************** X*** 241,246 X fputs(" ",fpdat); X cptr = &buf[1]; /* command text */ X itmp = 0; X while(*cptr) /* show cmd and min chars required */ X { X if(itmp < pcmd->min) X X--- 251,257 ----- X fputs(" ",fpdat); X cptr = &buf[1]; /* command text */ X itmp = 0; X+ pcmd->proc = (PFI)1; /* indicate we save command info */ X while(*cptr) /* show cmd and min chars required */ X { X if(itmp < pcmd->min) X*************** X*** 260,266 X X fseek(fpdat,0L,0); /* back to position table */ X fwrite((char *)start_pos,sizeof(long), /* write actual table */ X! TOKEN_QUAN,fpdat); X fclose(fpsrc); X fputs("\n",fpdat); /* terminate last command */ X fclose(fpdat); X X--- 271,277 ----- X X fseek(fpdat,0L,0); /* back to position table */ X fwrite((char *)start_pos,sizeof(long), /* write actual table */ X! TOKEN_QUAN,fpdat); X fclose(fpsrc); X fputs("\n",fpdat); /* terminate last command */ X fclose(fpdat); X*************** X*** 264,269 X fclose(fpsrc); X fputs("\n",fpdat); /* terminate last command */ X fclose(fpdat); X } /* end of build_ecuhelp */ X X /*+------------------------------------------------------------------------- X X--- 275,291 ----- X fclose(fpsrc); X fputs("\n",fpdat); /* terminate last command */ X fclose(fpdat); X+ X+ /* say which commands weren't in the help source */ X+ pcmd = icmd_cmds; X+ while(pcmd->token != -1) X+ { X+ if(pcmd->min && !pcmd->proc) X+ fprintf(stderr,"'%s' not in help source\n",pcmd->cmd); X+ pcmd++; X+ } X+ X+ X } /* end of build_ecuhelp */ X X /*+------------------------------------------------------------------------- X*************** X*** 442,450 X main(argc,argv,envp) X --------------------------------------------------------------------------*/ X main(argc,argv,envp) X! int argc; X! char **argv; X! char **envp; X { X register int itmp; X register char *cptr; X X--- 464,472 ----- X main(argc,argv,envp) X --------------------------------------------------------------------------*/ X main(argc,argv,envp) X! int argc; X! char **argv; X! char **envp; X { X register int itmp; X register char *cptr; X*************** X*** 448,460 X { X register int itmp; X register char *cptr; X! int iargv; X! int b_flag = 0; X! int s_flag = 0; X! int t_flag = 0; X! int f_flag = 0; X! int d_flag = 0; X! int n_flag = 0; X X setbuf(stdout,NULL); X setbuf(stderr,NULL); X X--- 470,482 ----- X { X register int itmp; X register char *cptr; X! int iargv; X! int b_flag = 0; X! int s_flag = 0; X! int t_flag = 0; X! int f_flag = 0; X! int d_flag = 0; X! int n_flag = 0; X X setbuf(stdout,NULL); X setbuf(stderr,NULL); X*** /u4/ecurel/lint_args.h Mon May 7 23:33:00 1990 X--- lint_args.h Mon May 21 00:31:23 1990 X*************** X*** 85,91 X char *help_get_cmd(void ); X struct p_cmd *search_cmd_list_pcmd(char *); X void calculate_help_right_column(void ); X! void display_help_screen(void ); X void display_help_stderr(char *); X void help_cmd_line_setup(char *); X void icmd_help(int ,char **); X X--- 85,91 ----- X char *help_get_cmd(void ); X struct p_cmd *search_cmd_list_pcmd(char *); X void calculate_help_right_column(void ); X! int display_help_screen(void ); X void display_help_stderr(char *); X void help_cmd_line_setup(char *); X void icmd_help(int ,char **); SHAR_EOF $TOUCH -am 0523062790 ECU280.P02 && chmod 0644 ECU280.P02 || echo "restore of ECU280.P02 failed" set `wc -c ECU280.P02`;Wc_c=$1 if test "$Wc_c" != "30384"; then echo original size 30384, current size $Wc_c fi # ============= ecucmd.h ============== echo "x - extracting ecucmd.h (Text)" sed 's/^X//' << 'SHAR_EOF' > ecucmd.h && X/* CHK=0xBB62 */ X/*+------------------------------------------------------------------------- X ecucmd.h -- command definitions X wht%n4hgf@gatech.edu X--------------------------------------------------------------------------*/ X/*+:EDITS:*/ X/*:05-20-1990-17:56-wht@n4hgf-classify interactive commands */ X/*:05-15-1990-22:31-wht@n4hgf-add xon command */ X/*:05-07-1990-21:24-wht@n4hgf---- 2.80 --- */ X/*:04-05-1990-14:29-wht@n4hgf-sort/renumber CT tokens */ X/*:03-25-1990-14:11-wht@n4hgf------ x2.70 ------- */ X/*:03-18-1990-15:33-wht@n4hgf-add popen and pclose */ X/*:03-12-1990-04:44-wht@n4hgf-add rname */ X/*:12-21-1989-21:49-wht-add 'rtscts' */ X/*:11-20-1989-16:05-wht-add 'getf' and 'putf' */ X/*:07-03-1989-22:57-wht------ x2.00 ----- */ X/*:06-24-1989-16:53-wht-flush edits --- ecu 1.95 */ X X/* interactive command tokens */ X X#define CTax 1 X#define CTbaud 2 X#define CTbn 3 X#define CTbreak 4 X#define CTcd 5 X#define CTclrx 6 X#define CTda 7 X#define CTdial 8 X#define CTdo 9 X#define CTduplex 10 X#define CTexit 11 X#define CTfi 12 X#define CTfkey 13 X#define CTgetf 14 X#define CThangup 15 X#define CThelp 16 X#define CTllp 17 X#define CTloff 18 X#define CTlog 19 X#define CTnl 21 X#define CTnlin 22 X#define CTnlout 23 X#define CToa 24 X#define CTparity 25 X#define CTpcmd 26 X#define CTpid 27 X#define CTplog 28 X#define CTptrace 29 X#define CTputf 30 X#define CTpwd 31 X#define CTredial 32 X#define CTrev 33 X#define CTrk 34 X#define CTrs 35 X#define CTrtscts 36 X#define CTrx 37 X#define CTry 38 X#define CTrz 39 X#define CTsdname 40 X#define CTsgr 41 X#define CTsk 43 X#define CTss 44 X#define CTstat 45 X#define CTsx 46 X#define CTsy 47 X#define CTsz 48 X#define CTtime 50 X#define CTts 51 X#define CTtty 52 X#define CTxa 53 X#define CTxlog 54 X#define CTxon 55 X X#define CTdummy1 120 X#define CTdummy2 121 X#define CTdummy3 122 X#define CTdummy4 123 X X#define TOKEN_QUAN 128 /* for help package */ X Xtypedef int (*PFI)(); X X#if defined(HELPGEN) X#define Z {;} X#else X#define Z ; X#endif X Xint cmd_baud() Z Xint cmd_break() Z Xint cmd_cd() Z Xint cmd_clrx() Z Xint cmd_cls() Z Xint cmd_color() Z Xint cmd_continue() Z Xint cmd_cursor() Z Xint cmd_delline() Z Xint cmd_dial() Z Xint cmd_do() Z Xint cmd_duplex() Z Xint cmd_echo() Z Xint cmd_eeol() Z Xint cmd_else() Z Xint cmd_exit() Z Xint cmd_expresp() Z Xint cmd_getf() Z Xint cmd_fchmod() Z Xint cmd_fclose() Z Xint cmd_fgetc() Z Xint cmd_fgets() Z Xint cmd_fkey() Z Xint cmd_flush() Z Xint cmd_fopen() Z Xint cmd_fputc() Z Xint cmd_fputs() Z Xint cmd_fread() Z Xint cmd_fseek() Z Xint cmd_fdel() Z Xint cmd_fwrite() Z Xint cmd_goto() Z Xint cmd_gotob() Z Xint cmd_hangup() Z Xint cmd_hexdump() Z Xint cmd_home() Z Xint cmd_icolor() Z Xint cmd_insline() Z Xint cmd_ifi() Z Xint cmd_ifs() Z Xint cmd_lbreak() Z Xint cmd_lgets() Z Xint cmd_logevent() Z Xint cmd_lookfor() Z X/* int cmd_mkdir() Z */ Xint cmd_mkvar() Z Xint cmd_nap() Z Xint cmd_parity() Z Xint cmd_pclose() Z Xint cmd_plog() Z Xint cmd_popen() Z Xint cmd_prompt() Z Xint cmd_ptrace() Z Xint cmd_putf() Z Xint cmd_return() Z Xint cmd_rk() Z Xint cmd_rname() Z Xint cmd_rs() Z Xint cmd_rx() Z Xint cmd_ry() Z Xint cmd_rz() Z Xint cmd_scrdump() Z Xint cmd_send() Z Xint cmd_set() Z Xint cmd_sk() Z Xint cmd_ss() Z Xint cmd_sx() Z Xint cmd_sy() Z Xint cmd_system() Z Xint cmd_sz() Z Xint cmd_vidcolor() Z Xint cmd_vidnorm() Z Xint cmd_vidrev() Z Xint cmd_whilei() Z Xint cmd_whiles() Z Xint cmd_xon() Z X X/* command classification */ X#define ccG 1 /* general command */ X#define ccC 2 /* comm command */ X#define ccT 3 /* transfer command */ X#define ccP 4 /* procedure-related command */ X Xtypedef struct p_cmd X{ X char *cmd; /* command string */ X short min; /* min chars for match (0 if not interactive) */ X short token; /* command number (if interactive) */ X char *descr; /* command description (if interactive) */ X PFI proc; /* procedure cmd handler (or 0) */ X short cmdclass; /* cc{C,G,P,X} or 0 (for help processor) */ X} P_CMD; X X#if !defined(DECLARE_P_CMD) X#if defined(NEED_P_CMD) Xextern P_CMD icmd_cmds[]; X#endif X#else XP_CMD icmd_cmds[] = X{ X { "ax", 2,CTax, "ascii char to hex/oct/dec", 0, ccG}, X { "baud", 2,CTbaud, "set/display line baud rate", cmd_baud, ccC}, X { "bn", 2,CTbn, "all console event alarm", 0, ccG}, X { "break", 2,CTbreak, "send break to remote", cmd_break, ccC}, X { "cd", 2,CTcd, "change current directory", cmd_cd, ccG}, X { "clrx", 2,CTclrx, "simulate XON from remote", cmd_clrx, ccC}, X { "cls", 0,0, "", cmd_cls, 0 }, X { "color", 0,0, "", cmd_color, 0 }, X { "continue",0,0, "", cmd_continue,0 }, X { "cursor", 0,0, "", cmd_cursor, 0 }, X { "da", 2,CTda, "decimal to ascii char", 0, ccG}, X { "dial", 1,CTdial, "dial remote destination", cmd_dial, ccC}, X { "delline",0,0, "", cmd_delline,0 }, X { "do", 2,CTdo, "perform procedure", cmd_do, ccP}, X { "duplex", 2,CTduplex, "set/display duplex", cmd_duplex, ccC}, X { "echo", 0,0, "", cmd_echo, 0 }, X { "eeol", 0,0, "", cmd_eeol, 0 }, X { "else", 0,0, "", cmd_else, 0 }, X { "exit", 2,CTexit, "hang up, exit program", cmd_exit, ccG}, X { "expresp",0,0, "", cmd_expresp,0 }, X { "fchmod", 0,0, "", cmd_fchmod, 0 }, X { "fclose", 0,0, "", cmd_fclose, 0 }, X { "fdel", 0,0, "", cmd_fdel, 0 }, X { "fgetc", 0,0, "", cmd_fgetc, 0 }, X { "fgets", 0,0, "", cmd_fgets, 0 }, X { "fi", 2,CTfi, "send text file to line", 0, ccG}, X { "fkey", 2,CTfkey, "function key definition", cmd_fkey, ccG}, X { "flush", 0,0, "", cmd_flush, 0 }, X { "fopen", 0,0, "", cmd_fopen, 0 }, X { "fputc", 0,0, "", cmd_fputc, 0 }, X { "fputs", 0,0, "", cmd_fputs, 0 }, X { "fread", 0,0, "", cmd_fread, 0 }, X { "fseek", 0,0, "", cmd_fseek, 0 }, X { "fwrite", 0,0, "", cmd_fwrite, 0 }, X { "getf", 0,0, "", cmd_getf, 0 }, X { "goto", 0,0, "", cmd_goto, 0 }, X { "gotob", 0,0, "", cmd_gotob, 0 }, X { "hangup", 2,CThangup, "hang up modem", cmd_hangup, ccC}, X { "help", 2,CThelp, "invoke help", 0, ccG}, X { "hexdump",0,0, "", cmd_hexdump,0 }, X { "home", 0,0, "", cmd_home, 0 }, X { "icolor", 0,0, "", cmd_icolor, 0 }, X { "ifi", 0,0, "", cmd_ifi, 0 }, X { "ifs", 0,0, "", cmd_ifs, 0 }, X { "insline",0,0, "", cmd_insline,0 }, X { "lbreak", 0,0, "", cmd_lbreak, 0 }, X { "llp", 2,CTllp, "set session log to /dev/lp", 0, ccG}, X { "lgets", 0,0, "", cmd_lgets, 0 }, X { "loff", 3,CTloff, "turn off session logging", 0, ccG}, X { "log", 3,CTlog, "session logging control", 0, ccG}, X { "logevent",0,0, "", cmd_logevent,0 }, X { "lookfor",0,0, "", cmd_lookfor,0 }, X/* { "mkdir", 3,CTmkdir, "mkdir <dirname>", cmd_mkdir, ccG}, */ X { "mkvar", 0,0, "", cmd_mkvar, 0 }, X { "nap", 0,0, "", cmd_nap, 0 }, X { "nl", 2,CTnl, "display CR/LF mapping", 0, ccC}, X { "nlin", 3,CTnlin, "set receive CR/LF mapping", 0, ccC}, X { "nlout", 3,CTnlout, "set transmit CR/LF mapping", 0, ccC}, X { "oa", 2,CToa, "octal to ascii char", 0, ccG}, X { "parity", 3,CTparity, "set/display line parity", cmd_parity, ccC}, X { "pclose", 0,0, "", cmd_pclose, 0 }, X { "pcmd", 2,CTpcmd, "execute a procedure command", 0, ccP}, X { "pid", 2,CTpid, "display process ids", 0, ccG}, X { "plog", 2,CTplog, "control procedure logging", cmd_plog, ccP}, X { "popen", 0,0, "", cmd_popen, 0 }, X { "prompt", 0,0, "", cmd_prompt, 0 }, X { "ptrace", 2,CTptrace, "control procedure trace", cmd_ptrace, ccP}, X { "putf", 0,0, "", cmd_putf, 0 }, X { "pwd", 2,CTpwd, "print working directory", 0, ccG}, X { "redial", 3,CTredial, "redial last number", 0, ccC}, X { "return", 0,0, "", cmd_return, 0 }, X { "rev", 3,CTrev, "ecu revision/make date", 0, ccG}, X { "rk", 2,CTrk, "receive via C-Kermit", cmd_rk, ccT}, X { "rname", 0,0, "", cmd_rname, 0 }, X { "rs", 2,CTrs, "receive via SEAlink", cmd_rs, ccT}, X { "rtscts", 3,CTrtscts, "control RTS/CTS flow control", 0, ccC}, X { "rx", 2,CTrx, "receive via XMODEM/CRC", cmd_rx, ccT}, X { "ry", 2,CTry, "receive via YMODEM Batch", cmd_ry, ccT}, X { "rz", 2,CTrz, "receive via ZMODEM/CRC32", cmd_rz, ccT}, X { "scrdump",0,0, "", cmd_scrdump,0 }, X { "sdname", 3,CTsdname, "select screen dump name", 0, ccC}, X { "send", 0,0, "", cmd_send, 0 }, X { "set", 0,0, "", cmd_set, 0 }, X { "sgr", 2,CTsgr, "send command/get response", 0, ccC}, X { "sk", 2,CTsk, "send via C-Kermit", cmd_sk, ccT}, X { "ss", 2,CTss, "send via SEAlink", cmd_ss, ccT}, X { "stat", 2,CTstat, "general status", 0, ccG}, X { "sx", 2,CTsx, "send via XMODEM/CRC", cmd_sx, ccT}, X { "sy", 2,CTsy, "send via YMODEM Batch", cmd_sy, ccT}, X { "system", 0,CTsy, "", cmd_system, 0 }, X { "sz", 2,CTsz, "send via ZMODEM/CRC32", cmd_sz, ccT}, X { "time", 2,CTtime, "time of day", 0, ccG}, X { "ts", 2,CTts, "termio display", 0, ccC}, X { "tty", 2,CTtty, "console tty name", 0, ccG}, X { "vidcolor",0,0, "", cmd_vidcolor,0 }, X { "vidnorm",0,0, "", cmd_vidnorm,0 }, X { "vidrev", 0,0, "", cmd_vidrev, 0 }, X { "whilei", 0,0, "", cmd_whilei, 0 }, X { "whiles", 0,0, "", cmd_whiles, 0 }, X { "xa", 2,CTxa, "hex to ascii char", 0, ccG}, X { "xlog", 2,CTxlog, "protocol packet logging", 0, ccT}, X { "xon", 2,CTxon, "control xon/xoff flow control",cmd_xon, ccC}, X/* these cmds are interecepted by special code in ecucmd.h and appear X * here only so they will be picked up by the help system. X */ X { "!", 1,CTdummy1, "execute shell (tty)", 0, ccG}, X { "$", 1,CTdummy2, "execute shell (comm line)", 0, ccG}, X { "-", 1,CTdummy3, "execute program", 0, ccG}, X { "?", 1,CTdummy4, "get help", 0, ccG}, X { "", 0,-1,"",0,0 } /* list ends with token value of -1 */ X}; X#endif X X/* end of ecucmd.h */ X/* vi: set tabstop=4 shiftwidth=4: */ SHAR_EOF $TOUCH -am 0521014290 ecucmd.h && chmod 0644 ecucmd.h || echo "restore of ecucmd.h failed" set `wc -c ecucmd.h`;Wc_c=$1 if test "$Wc_c" != "10682"; then echo original size 10682, current size $Wc_c fi exit 0