Annotation of coherent/g/usr/lib/uucp/uuinstall/add_dial.c, revision 1.1

1.1     ! root        1: /* add_dial.c: This will function just like add_port.c. It draws a
        !             2:  *             template to be used by a user to add a dial entry and
        !             3:  *             then gets the user's data.
        !             4:  */
        !             5: 
        !             6: #include "uuinstall.h"
        !             7: 
        !             8: /* add_port calls the functions to draw a dial entry template, get the
        !             9:  * data and finally to write the entry to the dial file.
        !            10:  */
        !            11: 
        !            12: add_dial()
        !            13: {
        !            14:        char b;
        !            15:        FILE * dialfd;
        !            16: 
        !            17:        dial_template();
        !            18:        wrefresh(portwin);
        !            19: 
        !            20:        b = get_dial_data();
        !            21: 
        !            22:        /* time to save the data to the dial file */
        !            23:        if(b == 'y'){
        !            24:                if ( (dialfd = fopen(DIALFILE,"a")) == NULL){
        !            25:                        mvwaddstr(portwin,12,28,"Error opening dial file!");
        !            26:                        wrefresh(portwin);
        !            27:                        sleep(1);
        !            28:                        wclear(portwin);
        !            29:                        wrefresh(portwin);
        !            30:                        return;
        !            31:                }
        !            32: 
        !            33:                wclear(portwin);
        !            34:                mvwaddstr(portwin,12,32,"Adding entry...");
        !            35:                wrefresh(portwin);
        !            36:                sleep(1);
        !            37: 
        !            38:                fprintf(dialfd,"\n%s\n",dialname);
        !            39:                fprintf(dialfd,"%s\n",dialchat);
        !            40:                fprintf(dialfd,"%s\n",dialtout);
        !            41: 
        !            42:                if (strlen(dialfail1) != 0)
        !            43:                        fprintf(dialfd,"%s\n",dialfail1);
        !            44: 
        !            45:                if (strlen(dialfail2) != 0)
        !            46:                        fprintf(dialfd,"%s\n",dialfail2);
        !            47: 
        !            48:                if (strlen(dialfail3) != 0)
        !            49:                        fprintf(dialfd,"%s\n",dialfail3);
        !            50: 
        !            51:                if(strlen(dialplete) > 0)
        !            52:                        fprintf(dialfd,"%s\n",dialplete);
        !            53:                if(strlen(dialabort) > 0)
        !            54:                        fprintf(dialfd,"%s\n",dialabort);
        !            55: 
        !            56:                fclose(dialfd);
        !            57:        }
        !            58: 
        !            59:        wclear(portwin);
        !            60:        wrefresh(portwin);
        !            61: }
        !            62: 
        !            63:        
        !            64:        
        !            65: /* dial_template(): draw a template for a dial entry */
        !            66: 
        !            67: dial_template()
        !            68: {
        !            69: 
        !            70:        /* label our fields */
        !            71: 
        !            72:        wclear(portwin);
        !            73:        mvwaddstr(portwin,3,1,"dialer");
        !            74:        mvwaddstr(portwin,4,1,"chat");
        !            75:        mvwaddstr(portwin,5,1,"chat-timeout");
        !            76:        mvwaddstr(portwin,6,1,"chat-fail");
        !            77:        mvwaddstr(portwin,7,1,"chat-fail");
        !            78:        mvwaddstr(portwin,8,1,"chat-fail");
        !            79:        mvwaddstr(portwin,9,1,"complete-chat");
        !            80:        mvwaddstr(portwin,10,1,"abort-chat");
        !            81: 
        !            82:        /* highlight our fields */
        !            83:        wstandout(portwin);
        !            84:        mvwaddstr(portwin,0,29,"Dial File Entry Screen");
        !            85:        mvwaddstr(portwin,3,16,"               ");
        !            86:        mvwaddstr(portwin,4,16,"                                       ");
        !            87:        mvwaddstr(portwin,5,16,"   ");
        !            88:        mvwaddstr(portwin,6,16,"                      ");
        !            89:        mvwaddstr(portwin,7,16,"                      ");
        !            90:        mvwaddstr(portwin,8,16,"                      ");
        !            91:        mvwaddstr(portwin,9,16,"                                       ");
        !            92:        mvwaddstr(portwin,10,16,"                                       ");
        !            93:        wstandend(portwin);
        !            94: }
        !            95: 
        !            96: 
        !            97: /* get_dial_data():    this will position our cursor to get data for
        !            98:  *                     the fields we will fill.
        !            99:  */
        !           100: 
        !           101: get_dial_data()
        !           102: {
        !           103:        char * workstring;
        !           104:        char b;
        !           105: 
        !           106:        /* initialize the fields we will fill */
        !           107: 
        !           108:        strcpy(dialname,"dialer ");
        !           109:        strcpy(dialchat,"chat ");
        !           110:        strcpy(dialtout,"chat-timeout ");
        !           111:        strcpy(dialplete,"complete-chat ");
        !           112:        strcpy(dialabort,"abort-chat ");
        !           113: 
        !           114:        /* get our dialer name */
        !           115: 
        !           116:        mvwaddstr(portwin,20,0,"Enter the name of the dialer that");
        !           117:        mvwaddstr(portwin,21,0,"this entry describes.");
        !           118:        mvwaddstr(portwin,22,0,"Leaving this field blank aborts entry.");
        !           119:        wrefresh(portwin);
        !           120:        workstring = get_data(portwin,3,16,14,0,1);
        !           121:        if (strlen(workstring) == 0)
        !           122:                return('n');
        !           123:        strcat(dialname,workstring);
        !           124: 
        !           125:        /* get our chat information */
        !           126:        wmove(portwin,20,0);
        !           127:        wclrtobot(portwin);
        !           128:        mvwaddstr(portwin,12,1,"Enter the chat script used to talk to the modem to set up its registers");
        !           129:        mvwaddstr(portwin,13,1,"and dial out. The format of a chat script is: expect_msg <SPACE> send_msg.");
        !           130:        mvwaddstr(portwin,14,1,"For example, a chat script of:");
        !           131:        wstandout(portwin);
        !           132:        mvwaddstr(portwin,14,38,"\"\" ATQ0E1V1L2M1DT\\D CONNECT\\s2400");
        !           133:        wstandend(portwin);
        !           134:        mvwaddstr(portwin,15,1,"tells uucico to expect NOTHING (\"\") and then sends the appropriate commands");
        !           135:        mvwaddstr(portwin,16,1,"to the modem to turn on ECHO and VERBAL RESULT CODES, sets speaker volume and");
        !           136:        mvwaddstr(portwin,17,1,"speaker duration and finally to dial the phone number from a system's");
        !           137:        mvwaddstr(portwin,18,1,"entry in the sys file (\\D). The final message to expect is the message the");
        !           138:        mvwaddstr(portwin,19,1,"modem will send when it has connected to another modem.");
        !           139:        wstandout(portwin);
        !           140:        mvwaddstr(portwin,21,1,"Important:");
        !           141:        wstandend(portwin);
        !           142:        mvwaddstr(portwin,21,11," Expect_msgs and send_msgs are separated by spaces. To represent a");
        !           143:        mvwaddstr(portwin,22,1,"space in an expect_msg or send_msg, enter a \\s instead of a space.");
        !           144:        wrefresh(portwin);
        !           145: 
        !           146:        workstring = get_data(portwin,4,16,60,1,0);
        !           147:        strcat(dialchat, workstring);
        !           148: 
        !           149:        wmove(portwin,12,0);
        !           150:        wclrtobot(portwin);
        !           151: 
        !           152:        /* get a chat timeout value */
        !           153: 
        !           154:        do{
        !           155:                wmove(portwin,20,0);
        !           156:                wclrtobot(portwin);
        !           157:                mvwaddstr(portwin,20,0,"Enter the  seconds uucico  should wait for");
        !           158:                mvwaddstr(portwin,21,0,"when expecting a chat message before giving");
        !           159:                mvwaddstr(portwin,22,0,"up attempting to establish a connection.");
        !           160:                wrefresh(portwin);
        !           161: 
        !           162:                workstring = get_data(portwin,5,16,3,1,0);
        !           163:        }       
        !           164:        while(0 == atoi(workstring) );
        !           165:        strcat(dialtout,workstring);
        !           166: 
        !           167:        /* now get some dial-fail strings */
        !           168: 
        !           169:        wmove(portwin,20,0);
        !           170:        wclrtobot(portwin);
        !           171:        mvwaddstr(portwin,20,0,"Optional: Enter a message that the modem");
        !           172:        mvwaddstr(portwin,21,0,"might return if the dial attempt failed.");
        !           173:        mvwaddstr(portwin,22,0,"Examples:");
        !           174:        wstandout(portwin);
        !           175:        mvwaddstr(portwin,22,11,"NO\\sDIALTONE BUSY NO\\sCARRIER");
        !           176:        wstandend(portwin);
        !           177:        wrefresh(portwin);
        !           178: 
        !           179:        strcpy(workstring,"");
        !           180:        workstring = get_data(portwin,6,16,22,0,2);
        !           181:        if (strlen(workstring) == 0)
        !           182:                strcpy(dialfail1,"");
        !           183:        else{
        !           184:                strcpy(dialfail1,"chat-fail ");
        !           185:                strcat(dialfail1,workstring);
        !           186:        }
        !           187:        
        !           188:        strcpy(workstring,"");
        !           189:        workstring = get_data(portwin,7,16,22,0,2);
        !           190:        if (strlen(workstring) == 0)
        !           191:                strcpy(dialfail2,"");
        !           192:        else{
        !           193:                strcpy(dialfail2,"chat-fail ");
        !           194:                strcat(dialfail2,workstring);
        !           195:        }
        !           196:        
        !           197:        strcpy(workstring,"");
        !           198:        workstring = get_data(portwin,8,16,22,0,2);
        !           199:        if (strlen(workstring) == 0)
        !           200:                strcpy(dialfail3,"");
        !           201:        else{
        !           202:                strcpy(dialfail3,"chat-fail ");
        !           203:                strcat(dialfail3,workstring);
        !           204:        }
        !           205:        
        !           206: 
        !           207:        /* now for abort-chat and complete-chat */
        !           208: 
        !           209:        wmove(portwin,20,0);
        !           210:        wclrtobot(portwin);
        !           211:        mvwaddstr(portwin,12,0,"Optional: Enter a chat script to be used to set the modem after a call has");
        !           212:        mvwaddstr(portwin,13,0,"successfully completed. The purpose of this might be to ensure that the modem");
        !           213:        mvwaddstr(portwin,14,0,"hangs up the line, although this would be done automatically under an ideal");
        !           214:        mvwaddstr(portwin,15,0,"modem configuration. Remember, expect_msgs and send_msgs are separated by");
        !           215:        mvwaddstr(portwin,16,0,"spaces. To represent a space within an expect_msg or send_msg, use \\s.");
        !           216:        mvwaddstr(portwin,17,0,"Example:");
        !           217:        wstandout(portwin);
        !           218:        mvwaddstr(portwin,17,12,"\"\" +++ OK AT\\sH0\\sE0");
        !           219:        wstandend(portwin);
        !           220:        mvwaddstr(portwin,18,0,"This tells uucico to expect NOTHING (\"\"), send a command to put the modem ");
        !           221:        mvwaddstr(portwin,19,0,"into command mode (+++), expect OK from the modem, then send a hangup command.");
        !           222:        wrefresh(portwin);
        !           223: 
        !           224:        workstring = get_data(portwin,9,16,80,0,0);
        !           225:        if(strlen(workstring) == 0)
        !           226:                strcpy(dialplete,"");
        !           227:        else
        !           228:                strcat(dialplete, workstring);
        !           229: 
        !           230:        wmove(portwin,13,0);
        !           231:        wclrtoeol(portwin);
        !           232:        mvwaddstr(portwin,13,0,"abnormally completed. The purpose of this might be to ensure that the modem");
        !           233:        wrefresh(portwin);
        !           234:        
        !           235:        workstring = get_data(portwin,10,16,80,0,0);
        !           236:        if(strlen(workstring) == 0)
        !           237:                strcpy(dialabort,"");
        !           238:        else
        !           239:                strcat(dialabort,workstring);
        !           240: 
        !           241:        wmove(portwin,12,0);
        !           242:        wclrtobot(portwin);
        !           243:        mvwaddstr(portwin,17,23,"Do you wish to save this entry? (y/n)");
        !           244:        wrefresh(portwin);
        !           245: 
        !           246:        do{
        !           247:                b = wgetch(portwin);
        !           248:        }
        !           249:        while ((b != 'n') && (b != 'y'));
        !           250: 
        !           251:        return(b);
        !           252: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.