- 论坛徽章:
- 0
|
无线网络,设置ap 的 address的时候,如果输入的地址第一组不为全零的话,则会segment fault,为什么?
相当于"iwconfig ap xx:00:00:00:00:00",如果xx不为全零,就一定是segment fault。iwconfig也是返回segment fault.
源码:
struct iwreq iwr;
memset(&iwr,0x00,sizeof(iwr));
strncpy(iwr.ifr_name,InterfaceName, IFNAMSIZ);
iwr.u.addr.sa_family = 1;//ARPHRD_ETHER
iwr.u.ap_addr.sa_data[0]=0x03;
.........................................//set the sa_data
int sfd = socket( PF_INET, SOCK_STREAM, 0 );
int rv = -1;
if(sfd == -1)
{
printf("Error getting socket for ioctl! \n");
return -1;
}
rv = ioctl(sfd,SIOCSIWAP, &iwr);
谢谢
[ 本帖最后由 llzzccc 于 2008-10-7 22:49 编辑 ] |
|