home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / ENTERPRS / CPM / TERMS / ZMP-SRC.LZH / ZMCONFIG.C < prev    next >
Text File  |  2000-06-30  |  8KB  |  397 lines

  1. /*************************************************************************/
  2. /*                                     */
  3. /*        Configuration Overlay for ZMP - Module 1         */
  4. /*                                     */
  5. /*************************************************************************/
  6.  
  7.  
  8. #include "zmp.h"
  9.  
  10. #ifdef   AZTEC_C
  11. #include "libc.h"
  12. #else
  13. #include <stdio.h>
  14. #endif
  15.  
  16. ovmain()
  17.  
  18. {
  19.     int c, cfgchanged, phonechanged;
  20.  
  21. #ifdef C80
  22.     Cmode = 0;
  23. #endif
  24.  
  25.     cfgchanged = phonechanged = FALSE;
  26.  
  27. start:
  28.     cls();
  29.     printf("\r\t\t");
  30.     stndout();
  31.     printf(" CONFIGURATION MENU ");
  32.     stndend();
  33.  
  34.     printf("\n\n\tA - Edit long distance access number\n");
  35.  
  36. #ifdef HOSTON
  37.     printf("\tH - Set host mode parameters\n");
  38. #endif
  39.  
  40.     printf("\tK - Edit keyboard macros\n");
  41.     printf("\tL - Set line parameters\n");
  42.     printf("\tM - Set modem parameters\n");
  43.     printf("\tP - Edit phone number list\n");
  44.     printf("\tS - Set system parameters\n");
  45.     printf("\tT - Set file transfer parameters\n");
  46.     printf("\tZ - Exit\n");
  47.     printf("\n   Select:  ");
  48.     flush();
  49.     c = toupper(bdos(CONIN));
  50.     switch (c) {
  51.  
  52.         case 'A':
  53.             ldedit();
  54.             cfgchanged = TRUE;
  55.             break;
  56.  
  57. #ifdef HOSTON
  58.         case 'H':
  59.             sethost();
  60.             cfgchanged = TRUE;
  61.             break;
  62. #endif
  63.  
  64.         case 'K':
  65.             edit();
  66.             cfgchanged = TRUE;
  67.             break;
  68.  
  69.         case 'L':
  70.             setline();
  71.             cfgchanged = TRUE;
  72.             break;
  73.  
  74.         case 'M':
  75.             setmodem();
  76.             cfgchanged = TRUE;
  77.             break;
  78.  
  79.         case 'P':
  80.             phonedit();
  81.             phonechanged = TRUE;
  82.             break;
  83.  
  84.         case 'S':
  85.             setsys();
  86.             cfgchanged = TRUE;
  87.             break;
  88.  
  89.         case 'T':
  90.             settransfer();
  91.             cfgchanged = TRUE;
  92.             break;
  93.  
  94.         case ESC:
  95.         case 'Z':
  96.             if (cfgchanged || phonechanged) {
  97.                 printf("\nMake changes permanent? ");
  98.                 if (c = toupper(bdos(CONIN)) == 'Y') {
  99.                     if (cfgchanged)
  100.                         saveconfig();
  101.                     if (phonechanged)
  102.                         savephone();
  103.                     kbwait(2);
  104.                 }
  105.             }
  106.             cls();
  107.             return;        /* Return from overlay */
  108.             break;
  109.  
  110.         default:
  111.             break;
  112.  
  113.     }            /* end of switch */
  114.     goto start;
  115. }
  116.  
  117. settransfer()
  118. {
  119.     int c;
  120.  
  121. start:
  122.     cls();
  123.     printf("\r\t\t\t");
  124.     stndout();
  125.     printf(" FILE TRANSFER PARAMETERS ");
  126.     stndend();
  127.     printf("\n\n\tC - Set Checksum/CRC default - %s\n",
  128.         Crcflag?"CRC":"Checksum");
  129.     printf("\tD - Set delay after each character in ASCII send - %d mS\n",
  130.         Chardelay);
  131.     printf("\tF - Toggle 32-bit FCS capability - %s\n",
  132.         Wantfcs32?"Enabled":"Disabled");
  133.     printf("\tL - Set delay after each line in ASCII send - %d mS\n",
  134.         Linedelay);
  135.     printf("\tW - Change Zmodem receive window size - %d\n",Zrwindow);
  136.     printf("\tX - Toggle X-on/X-off protocol - %s\n",
  137.         XonXoff?"Enabled":"Disabled");
  138.     printf("\tZ - Exit\n\n");
  139.     printf("   Select:  ");
  140.     c = toupper(bdos(CONIN));
  141.     putchar('\n');
  142.     switch (c) {
  143.            case 'C':
  144.             Crcflag = !Crcflag;
  145.             break;
  146.  
  147.         case 'D':
  148.             gnewint("character delay",&Chardelay);
  149.             break;
  150.  
  151.         case 'F':
  152.             Wantfcs32 = !Wantfcs32;
  153.             break;
  154.  
  155.         case 'L':
  156.             gnewint("line delay",&Linedelay);
  157.             break;
  158.  
  159.         case 'W':
  160.             gnewint("window size",&Zrwindow);
  161.             break;
  162.  
  163.         case 'X':
  164.             XonXoff = !XonXoff;
  165.             break;
  166.  
  167.         case ESC:
  168.         case 'Z':
  169.             return;
  170.             break;
  171.  
  172.         default:
  173.             break;
  174.     }
  175.     goto start;
  176. }
  177.  
  178. setsys()
  179. {
  180.     int c;
  181.     char d;
  182.  
  183. start:
  184.     cls();
  185.     printf("\r\t\t\t");
  186.     stndout();
  187.     printf(" SYSTEM PARAMETERS ");
  188.     stndend();
  189.     printf("\n\n\tB - Set print buffer size - %d bytes\n",Pbufsiz);
  190.     printf("\tF - Toggle T-mode control character filter - now %s\n",
  191.         Filter ? "ON" : "OFF");
  192.     printf("\tM - Set maximum drive on system - now %c:\n",Maxdrive);
  193.     printf("\tP - Toggle T-mode parity bit removal - now %s\n",
  194.         ParityMask ? "ON" : "OFF");
  195.     printf("\tZ - Exit\n\n");
  196.     printf("   Select:  ");
  197.     c = toupper(bdos(CONIN));
  198.     switch (c) {
  199.  
  200.         case 'B':
  201.             gnewint("print buffer size",&Pbufsiz);
  202.             Pbufsiz = Pbufsiz < 1 ? 512 : Pbufsiz;
  203.             break;
  204.  
  205.         case 'F':
  206.             Filter = !Filter;
  207.             break;
  208.  
  209.         case 'M':
  210.             printf("\n\nEnter new maximum drive: ");
  211.             d = toupper(bdos(CONIN));
  212.             Maxdrive = ((d >= 'A') && (d <= 'P')) ? d : 'B';
  213.             break;
  214.  
  215.         case 'P':
  216.             ParityMask = !ParityMask;
  217.             break;
  218.  
  219.         case ESC:
  220.         case 'Z':
  221.             return;
  222.             break;
  223.  
  224.         default:
  225.             break;
  226.     }
  227.     goto start;
  228. }
  229.  
  230. char *Mdmstrings[] = {
  231.     "Modem init string.....",
  232.     "Dialling command......",
  233.     "Dial command suffix...",
  234.     "Connect string........",
  235.     "No Connect string 1...",
  236.     "No Connect string 2...",
  237.     "No Connect string 3...",
  238.     "No Connect string 4...",
  239.     "Hangup string.........",
  240.     "Redial timeout delay..",
  241.     "Redial pause delay...."
  242. };
  243.  
  244. setmodem()
  245. {
  246.     int c;
  247.  
  248. start:
  249.     cls();
  250.     printf("\r\t\t\t");
  251.     stndout();
  252.     printf(" MODEM PARAMETERS ");
  253.     stndend();
  254.     printf("\n\n\tA - %s%s\n",Mdmstring[0],Modem.init);
  255.     printf("\tB - %s%s\n",Mdmstring[1],Modem.dialcmd);
  256.     printf("\tC - %s%s\n",Mdmstring[2],Modem.dialsuffix);
  257.     printf("\tD - %s%s\n",Mdmstring[3],Modem.connect);
  258.     printf("\tE - %s%s\n",Mdmstring[4],Modem.busy1);
  259.     printf("\tF - %s%s\n",Mdmstring[5],Modem.busy2);
  260.     printf("\tG - %s%s\n",Mdmstring[6],Modem.busy3);
  261.     printf("\tH - %s%s\n",Mdmstring[7],Modem.busy4);
  262.     printf("\tI - %s%s\n",Mdmstring[8],Modem.hangup);
  263.     printf("\tJ - %s%d\n",Mdmstring[9],Modem.timeout);
  264.     printf("\tK - %s%d\n",Mdmstring[10],Modem.pause);
  265.     printf("\tZ - Exit\n\n");
  266.     printf("   Select:  ");
  267.     c = toupper(bdos(CONIN));
  268.     putchar('\n');
  269.     switch (c) {
  270.  
  271.         case 'A':
  272.             gnewstr(Mdmstring[0],Modem.init,40);
  273.             break;
  274.  
  275.         case 'B':
  276.             gnewstr(Mdmstring[1],Modem.dialcmd,20);
  277.             break;
  278.  
  279.         case 'C':
  280.             gnewstr(Mdmstring[2],Modem.dialsuffix,20);
  281.             break;
  282.  
  283.         case 'D':
  284.             gnewstr(Mdmstring[3],Modem.connect,20);
  285.             break;
  286.  
  287.         case 'E':
  288.             gnewstr(Mdmstring[4],Modem.busy1,20);
  289.             break;
  290.  
  291.         case 'F':
  292.             gnewstr(Mdmstring[5],Modem.busy2,20);
  293.             break;
  294.  
  295.         case 'G':
  296.             gnewstr(Mdmstring[6],Modem.busy3,20);
  297.             break;
  298.  
  299.         case 'H':
  300.             gnewstr(Mdmstring[7],Modem.busy4,20);
  301.             break;
  302.  
  303.         case 'I':
  304.             gnewstr(Mdmstring[8],Modem.hangup,20);
  305.             break;
  306.  
  307.         case 'J':
  308.             gnewint(Mdmstring[9],&Modem.timeout);
  309.             break;
  310.  
  311.         case 'K':
  312.             gnewint(Mdmstring[10],&Modem.pause);
  313.             break;
  314.  
  315.         case ESC:
  316.         case 'Z':
  317.             return;
  318.             break;
  319.  
  320.         default:
  321.             break;
  322.     }
  323.     goto start;
  324. }
  325.  
  326. gnewint(prompt,intp)
  327. char *prompt;
  328. int *intp;
  329. {
  330.     static char *temp;
  331.  
  332.     temp = Pathname;
  333.     printf("\n\nEnter new %s:  ",prompt);
  334.     if (getline(temp,20))
  335.         *intp = atoi(temp);
  336. }
  337.  
  338. gnewstr(prompt,mstring,length)
  339. char *prompt, *mstring;
  340. short length;
  341. {
  342. char *temp;
  343.  
  344.     temp = Pathname;
  345.     printf("\n\nEnter new %s:  ",prompt);
  346.     if (getline(temp,length))
  347.         strcpy(mstring,temp);
  348. }
  349.  
  350. setline()
  351. {
  352.     int c;
  353.  
  354. start:
  355.     cls();
  356.     printf("\r\t\t\t");
  357.     stndout();
  358.     printf(" LINE PARAMETERS ");
  359.     stndend();
  360.     printf("\n\n\tB - Bits per second.......%u\n",
  361.         Baudtable[Line.baudindex]);
  362.     printf("\tD - Number data bits......%d\n",Line.databits);
  363.     printf("\tP - Parity................%c\n",Line.parity);
  364.     printf("\tS - Number stop bits......%d\n",Line.stopbits);
  365.     printf("\tZ - Exit\n\n");
  366.     printf("   Select:  ");
  367.     c = toupper(bdos(CONIN));
  368.     cls();
  369.     switch (c) {
  370.         case 'B':
  371.             setbaud();
  372.             break;
  373.  
  374.         case 'D':
  375.             setdatabits();
  376.             break;
  377.  
  378.         case 'P':
  379.             setparity();
  380.             break;
  381.  
  382.         case 'S':
  383.             setstopbits();
  384.             break;
  385.  
  386.         case ESC:
  387.         case 'Z':
  388.             return;
  389.             break;
  390.  
  391.         default:
  392.             break;
  393.     }
  394.     goto start;
  395. }
  396. /********************** END OF ZMCONFIG MODULE 1 ****************************/
  397.