在linux下 获取,修改网关GateWay的两个函数
//获去GateWay
QString GetGateWay()
{
FILE *fp;
char buf[512];
char cmd[128];
char gateway[30];
char *tmp;
strcpy(cmd, "ip route");
fp = popen(cmd, "r");
if(NULL == fp)
{
perror("popen error");
return "";
}
while(fgets(buf, sizeof(buf), fp) != NULL)
{
tmp =buf;
while(*tmp && isspace(*tmp))
++ tmp;
if(strncmp(tmp, "default", strlen("default")) == 0)
break;
}
sscanf(buf, "%*s%*s%s", gateway);
printf("default gateway:%s\n", gateway);
pclose(fp);
return QString(gateway);
}
//设置网关
int SetGateWay(const char *szGateWay)
{
int ret = 0;
char cmd[128];
QString DefGW = GetGateWay();
const char *strGW = DefGW.latin1();
strcpy(cmd, "route del default gw ");
strcat(cmd, strGW);
ret = system(cmd);
if(ret < 0)
{
perror("route error");
return -1;
}
strcpy(cmd, "route add default gw ");
strcat(cmd, szGateWay);
ret = system(cmd);
if(ret < 0)
{
perror("route error");
return -1;
}
return ret;
}
相关文档:
例一:发送Signaling Packet:
Signaling Command是2个Bluetooth实体之间的L2CAP层命令传输。所以得Signaling Command使用CID 0x0001.
多个Command可以在一个C-frame(control frame)中发送。
如果要直接发送Signaling Command.需要建立SOCK_RAW类型的L2CAP连接Socket。这样才有机会自己填充Command Code,Identi ......
每一个Linux发行版都有自己专门的工具去构建自定义的内核. 本文主要介绍在Ubuntu平台上编译内核, 如何从www.kernel.org(也叫vanilla kernel)获得最新且未改动的内核源代码来构建一个自定义的内核, 这样你可以使用自己的内核而不是发行版的内核, 另外也介绍了如何给内核打补丁, 从而方便增加新的功能.
下面的工作我都在Ub ......
安装好arch linux 不论是2月的还是8月的,再更新完成以后重启,都是到acpi 启动处黑屏。
官方解释:内核拒绝启动,并显示类似 “had IRQ”探测失败,had中断丢失 的错误信息。在2.6.x内核中,某些硬盘控制器会出现类似信息,一般在启动时给内核传递"acpi = off"参数就可以解决这个问题。
nano /boot/grub/menu. ......
1、关于文本编辑器;
文本编辑器有很多,比如图形模式的gedit、kwrite、OpenOffice ... ... ,文本模式下的编辑器有vi、vim(vi的增强版本)和nano ... ... vi和vim是我们在Linux中最常用的编辑器。我们有必要介绍一下vi(vim)最简单的用法,以让Linux入门级用户在最短的时间内学会使用它。
nano 工具和DOS操作系统下的e ......