v13i002: ECU 2.80 patch 2
wht at gatech.edu
wht at gatech.edu
Sat May 26 08:28:08 AEST 1990
Posting-number: Volume 13, Issue 2
Submitted-by: wht at 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 at 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 at n4hgf-add window size choice to sz */
X /*:05-07-1990-21:24-wht at n4hgf---- 2.80 --- */
X /*:04-19-1990-03:07-wht at n4hgf-GCC run found unused vars -- rm them */
X
X--- 36,42 -----
X
X --------------------------------------------------------------------------*/
X /*+:EDITS:*/
X+ /*:05-19-1990-17:12-wht at n4hgf-fix interaction between file list and windw */
X /*:05-14-1990-13:28-wht at n4hgf-add window size choice to sz */
X /*:05-07-1990-21:24-wht at n4hgf---- 2.80 --- */
X /*:04-19-1990-03:07-wht at 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 at gatech.edu
X--------------------------------------------------------------------------*/
X/*+:EDITS:*/
X/*:05-20-1990-17:56-wht at n4hgf-classify interactive commands */
X/*:05-15-1990-22:31-wht at n4hgf-add xon command */
X/*:05-07-1990-21:24-wht at n4hgf---- 2.80 --- */
X/*:04-05-1990-14:29-wht at n4hgf-sort/renumber CT tokens */
X/*:03-25-1990-14:11-wht at n4hgf------ x2.70 ------- */
X/*:03-18-1990-15:33-wht at n4hgf-add popen and pclose */
X/*:03-12-1990-04:44-wht at 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
More information about the Comp.sources.misc
mailing list