/* This file contains the function that is responsible for the * choice from the menus. This code was extracted from DW's VT100 * emulation's main() function. * T.Whelan Oct 1986 */ /* all includes defines and globals */ #include "vt100.h" extern int XMODEM_Send_File(), XMODEM_Read_File(), doksend(), dokreceive(); menupick(code) int code; { int menunum, itemnum; menunum = MENUNUM( code ); itemnum = ITEMNUM( code ); switch( menunum ) { case 0: switch( itemnum ) { case 0: do_capture(NULL); break; case 1: do_send(NULL); break; case 2: emits("\nXmodem Receive:"); filename(name); multi_xfer(name,XMODEM_Read_File,0); break; case 3: emits("\nXmodem Send:"); filename(name); multi_xfer(name,XMODEM_Send_File,1); break; case 4: server = TRUE; itemnum = 5; case 5: emits("\nKermit Receive local name:"); filename(name); multi_xfer(name,dokreceive,0); break; case 6: server = TRUE; emits("\nKermit Send local name:"); filename(name); multi_xfer(name,doksend,1); break; case 7: saybye(); break; } break; case 1: AbortIO(Read_Request); switch( itemnum ) { case 0: Read_Request->io_Baud = 300; break; case 1: Read_Request->io_Baud = 1200; break; case 2: Read_Request->io_Baud = 2400; break; case 3: Read_Request->io_Baud = 4800; break; case 4: Read_Request->io_Baud = 9600; break; case 5: Read_Request->io_Baud = 19200; break; } Read_Request->IOSer.io_Command = SDCMD_SETPARAMS; DoIO(Read_Request); Read_Request->IOSer.io_Command = CMD_READ; BeginIO(Read_Request); break; case 2: p_mode = itemnum; break; case 3: if (!itemnum && !script_on) { emits("Script file name: "); filename(name); script_start(name); } if (itemnum && script_on) { exit_script(); } break; case 4: /* screen selection */ switch(itemnum) { case 0: doremote(24); /* force VT100 mode */ break; case 1: doremote(29); doremote(31); /* use alpha mode */ break; case 2: /* reset and clear screens */ doremote(24); doremote(29); /* tek screen */ doremote(27); doremote(12); doremote(24); /* vt100 screen */ doremote(27); doremote('c'); break; } break; case 5: /* about or quit */ switch(itemnum) { case 0: KeepGoing = FALSE; break; case 1: about(); break; } break; case 6: TekScale = itemnum; break; } /* end of switch ( menunum ) */ }