⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wvdialconf.cc

📁 wvdial 软件包是一个自动拨号程序
💻 CC
字号:
/* * Worldvisions Weaver Software: *   Copyright (C) 1997-2005 Net Integration Technologies, Inc. * * WvDial configuration utility.  Generates a basic wvdial.conf file. */#include "uniconfroot.h"#include "wvargs.h"#include "wvconfemu.h"#include "wvfile.h"#include "wvmodemscan.h"#include "wvstrutils.h"#include "wvver.h"#include <ctype.h>void check_ppp_options(){    WvFile file("/etc/ppp/options", O_RDONLY);    char *line;        while ((line = file.getline()) != NULL)    {	line = trim_string(line);		// comments and blank lines are ignored	if (line[0] == '#'  ||  !line[0])	    continue;		// IP addresses are allowed	if (strchr(line, '.') || strchr(line, ':'))	    continue;		// but baud rates and tty names are not!	// a 'connect' line is usually bad too.	if (isdigit(line[0])	    || !strncmp(line, "/dev", 4)	    || !strncmp(line, "tty",  3) 	    || !strncmp(line, "cua",  3)	    || !strncmp(line, "connect", 7))	{	    wvcon->print("\n*** WARNING!  Line \"%s\"\n"		"   in /etc/ppp/options may conflict with wvdial!\n\n", line);	}    }}int main(int argc, char **argv){#if DEBUG    free(malloc(1));    // for electric fence#endif	    WvString conffilename("/etc/wvdial.conf");    WvArgs args;    args.set_version("WvDialConf " WVDIAL_VER_STRING "\n"		     "Copyright (c) 1997-2005 Net Integration Technologies, "		     "Inc.");    args.set_help_header("Create or update a WvDial configuration file");    args.set_help_footer("You must specify the FILENAME of the configuration "			 "file to generate.");    args.set_email("<wvdial-list@lists.nit.ca>");    args.add_optional_arg("FILENAME", false);    WvStringList remaining_args;    args.process(argc, argv, &remaining_args);    if (!remaining_args.isempty())	conffilename = remaining_args.popstr();    wvcon->print("Editing `%s'.\n\n", conffilename);    wvcon->print("Scanning your serial ports for a modem.\n\n");        WvModemScanList l;    while (!l.isdone())	l.execute();        if (l.count() < 1)    {	wvcon->print("\n\n"	  "Sorry, no modem was detected!  "	    "Is it in use by another program?\n"	  "Did you configure it properly with setserial?\n\n"			  "Please read the FAQ at http://open.nit.ca/wiki/?WvDial\n\n"			  "If you still have problems, send mail to "	    "<wvdial-list@lists.nit.ca>.\n");	return 1;    }        WvModemScanList::Iter i(l);        i.rewind(); i.next();    WvModemScan &m = *i;    WvString fn = m.filename(), init = m.initstr();        wvcon->print("\nFound %s on %s",        m.is_isdn() ? "an ISDN TA" :        strncmp("/dev/ttyACM",fn,11) ? "a modem" : "an USB modem", fn.cstr());    if (m.use_modem_link) {        wvcon->print(", using link /dev/modem in config.\n");        fn = "/dev/modem";    } else {        wvcon->print(".\n");        }    UniConfRoot root(WvString("ini:%s", conffilename), 0660);    UniConf cfg(root["Dialer Defaults"]);    cfg.xset("Modem", fn);    cfg.xsetint("Baud", m.maxbaud());    cfg.xset("Init1", (m.is_isdn() ? "AT&F" : "ATZ"));    cfg.xset("Init2", init);    cfg.xset("ISDN", (m.use_default_asyncmap() ? "1" : "0"));    cfg.xset("Modem Name", (m.modem_name ? m.modem_name.cstr() : ""));    cfg.xset("Modem Type", (m.is_isdn()			    ? "ISDN Terminal Adapter"			    : (strncmp("/dev/ttyACM",fn,11)			       ? "Analog Modem" : "USB Modem")));       if (m.modem_name)        wvcon->print("Config for %s written to %s.\n",		     m.modem_name, conffilename);    else        wvcon->print("Modem configuration written to %s.\n", conffilename);    // insert some entries to let people know what they need to edit    if (!cfg.xget("Phone"))	cfg.xset("; Phone", "<Target Phone Number>");    if (!cfg.xget("Username"))	cfg.xset("; Username", "<Your Login Name>");    if (!cfg.xget("Password"))	cfg.xset("; Password", "<Your Password>");        check_ppp_options();        cfg.commit();    return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -