예제 #1
0
CWBool CWSetRate(int radio_id, int wlan_id, int radiotype,int ratemask)
{
	char cmdbuf[128];
	memset(cmdbuf,0,128);
	sprintf(cmdbuf,"iwpriv wifi%d fixrate %d",radio_id,0);
//	return _system(cmdbuf);//so first,wait the interface below be transplated. 
	_system(cmdbuf);
	if(radiotype & IEEE80211_PARAM_MODE_11g )
	{
		sprintf(cmdbuf,"iwpriv wifi%d set_rate_mask_g 0x%x",radio_id,ratemask);
	}
	else if(radiotype & IEEE80211_PARAM_MODE_11b)
	{
		sprintf(cmdbuf,"iwpriv wifi%d set_rate_mask_b 0x%x",radio_id,ratemask);
	}
	else if (radiotype & IEEE80211_PARAM_MODE_11a)
	{
		sprintf(cmdbuf,"iwpriv wifi%d set_rate_mask_a 0x%x",radio_id,ratemask);
	}
	_system(cmdbuf);

	memset(cmdbuf,0,128);
	sprintf(cmdbuf,"iwpriv wifi%d  set_rate_cap  0x80",radio_id/*,ratemask*/);
	_system(cmdbuf);
	return CW_TRUE;
}
예제 #2
0
파일: cdi.cpp 프로젝트: jiangyy/c3
DiskImage *CDIGenerator::mount_disk_img(std::vector<DiskOp*> ops) {
  static char crash_disk[DISK_CAP], ret;

  memcpy(crash_disk, disk.data, DISK_CAP);
  for (DiskOp *op: ops) {
//    printf("Write to %d (offset %d) %08x\n", op->offset / 512, op->nbytes / 512, 
//      *(int*)op->data);
    memcpy(crash_disk + op->offset, op->data, op->nbytes);
  }

  _system("mkdir -p /mnt/recover; umount /mnt/recover");

  FILE *fp = fopen("/tmp/disk.img", "w");
  size_t nwrite = fwrite(crash_disk, DISK_CAP, 1, fp);
  fclose(fp);
  assert(nwrite == 1);

  _system("mount /tmp/disk.img /mnt/recover");
  if (ret != 0) {
    fprintf(stderr, "Fatal error: Cannot mount crash disk image.");
    assert(0);
  }

  DiskImage *cdi = new DiskImage(("/mnt/recover/" + subject).c_str());

  return cdi;
}
예제 #3
0
CWBool CWSetMCSMaskAndCap(int radio_id, int mask, int capability)
{
	char cmdbuf[128];
	memset(cmdbuf, 0, 128);
	sprintf(cmdbuf,"iwpriv wifi%d set_mcs_mask 0x%x", radio_id, mask); 
	_system(cmdbuf);
	
	memset(cmdbuf, 0, 128);
	sprintf(cmdbuf,"iwpriv wifi%d set_mcs_cap 0x%x", radio_id, capability);
	_system(cmdbuf);
	return CW_TRUE;
}
예제 #4
0
CWBool CWSetBeaconInterval(int radio_id, int wlan_id,unsigned short beaconInterval)
{
	char cmdbuf[100];
	memset(cmdbuf,0,100);
	sprintf(cmdbuf,"iwpriv wifi%d bcninterval %hd",radio_id, beaconInterval);
	return _system(cmdbuf);
}
예제 #5
0
CWBool CWSetRtsThreshold(int radio_id, int wlan_id,unsigned short rtsThreshold)
{
	char cmdbuf[100];
	memset(cmdbuf,0,100);
	sprintf(cmdbuf,"iwconfig wifi%d rts %d",radio_id, rtsThreshold);
	return _system(cmdbuf);
}
예제 #6
0
CWBool CWDestroyWlanInterface(char *wlanname)
{
	char cmdbuf[128];
	memset(cmdbuf,0,128);
	sprintf(cmdbuf,"wlanconfig %s destroy",wlanname);
	return _system(cmdbuf);
}
예제 #7
0
CWBool CWSetWidFloodInterval(char *wlanname,unsigned char gFloodWidsInterval)
{
	char cmdbuf[128];
	memset(cmdbuf,0,128);
	sprintf(cmdbuf,"iwpriv %s wids_intval %d",wlanname,gFloodWidsInterval);
	return _system(cmdbuf);
}
예제 #8
0
CWBool CWSetHideSsid(char *wlanname,unsigned char hide_ssid)
{
	char cmdbuf[128];
	memset(cmdbuf,0,128);
	sprintf(cmdbuf,"iwpriv %s hidessid %d",wlanname,hide_ssid);
	return _system(cmdbuf);
}
예제 #9
0
CWBool CWSetForBiasAuto(int radio_id,char enable)
{
	char cmdbuf[128];
	memset(cmdbuf,0,128);
	sprintf(cmdbuf,"iwpriv wifi%d ForBiasAuto %d",radio_id,enable);
	return _system(cmdbuf);
}
예제 #10
0
CWBool CWSetExtoffset(char *wlanname,char extoffset)
{
	char cmdbuf[100];
	memset(cmdbuf,0,100);
	sprintf(cmdbuf,"iwpriv %s extoffset %d",wlanname, extoffset);
	return _system(cmdbuf);
}
예제 #11
0
CWBool CWSetPuregEnable(char *wlanname,int enable)
{
	char cmdbuf[128];
	memset(cmdbuf,0,128);
	sprintf(cmdbuf,"iwpriv %s pureg %d",wlanname,enable);
	return _system(cmdbuf);
}
예제 #12
0
CWBool CWSetEssid(char *wlanname,char *essid)
{
	char cmdbuf[128];
	memset(cmdbuf,0,128);
	sprintf(cmdbuf,"iwconfig %s essid \"%s\"",wlanname,essid);
	return _system(cmdbuf);
}
예제 #13
0
CWBool CWSetPrivacyEnable(char *wlanname,char enable)
{
	char cmdbuf[128];
	memset(cmdbuf,0,128);
	sprintf(cmdbuf,"iwpriv %s privacy %d",wlanname,enable);
	return _system(cmdbuf);
}
예제 #14
0
CWBool CWSetOpenNone(char *wlanname)
{
	char cmdbuf[128];
	memset(cmdbuf,0,128);
	sprintf(cmdbuf,"iwconfig %s key off",wlanname);
	return _system(cmdbuf);
}
예제 #15
0
CWBool CWSetAuthmode(char *wlanname,int automode)
{
	char cmdbuf[128];
	memset(cmdbuf,0,128);
	sprintf(cmdbuf,"iwpriv %s authmode %d",wlanname,automode);
	return _system(cmdbuf);
}
예제 #16
0
CWBool CWSetShortgi(char *wlanname,unsigned short guardinterval)
{
	char cmdbuf[128];
	memset(cmdbuf,0,128);
	sprintf(cmdbuf,"iwpriv %s shortgi %hd",wlanname,guardinterval);
	return _system(cmdbuf);
}
예제 #17
0
CWBool CWSetQuickRoamingEnable(char *wlanname,int enable)
{
	char cmdbuf[128];
	memset(cmdbuf,0,128);
	sprintf(cmdbuf,"autelan quick_roaming %s set_flag %d",wlanname,enable);
	return _system(cmdbuf);
}
예제 #18
0
CWBool CWSetDtim(char *wlanname,unsigned char dtim)
{
	char cmdbuf[100];
	memset(cmdbuf,0,100);
	sprintf(cmdbuf,"iwpriv %s dtim %d",wlanname, dtim);
	return _system(cmdbuf);
}
예제 #19
0
CWBool CWSetPreamble(char *wlanname,unsigned char preamble)
{
	char cmdbuf[100];
	memset(cmdbuf,0,100);
	sprintf(cmdbuf,"iwpriv %s preamble %d",wlanname, preamble);
	return _system(cmdbuf);
}
예제 #20
0
CWBool CWSetRadioType(int radio_id, int wlan_id, int radiotype)
{
	/*
		radiotype as follows from AC (and atheros)
		+-+-+-+-+-+-+-+-+
			    gn an  n  g   a   b
		+-+-+-+-+-+-+-+-+
		
		but,marvell like this
		+-+-+-+-+-+-+-+-+
				         a   n  g   b
		+-+-+-+-+-+-+-+-+
			5=802.11g/n (unused)
			7=802.11b/g/n(default)

		so,we need to transfer.
	*/
	int new_radiotype = 0;
    
	if(radiotype & IEEE80211_PARAM_MODE_11b) new_radiotype |= 0x01;	
//	if(radiotype & 0x02) new_radiotype |= 0x0f;//delete by wangxl 20121221
    if(radiotype & IEEE80211_PARAM_MODE_11a) new_radiotype |= 0x08; //add by wangxl 20121221
	if(radiotype & IEEE80211_PARAM_MODE_11g) new_radiotype |= 0x02;
	if(radiotype & IEEE80211_PARAM_MODE_11n) new_radiotype |= 0x04;
	if(radiotype & IEEE80211_PARAM_MODE_11an) new_radiotype |= 0x0c;
//	if(radiotype & 0x20) new_radiotype |= 0x05;//delete by wangxl 20121221
//  if(radiotype & 0x02) new_radiotype |= 0x0f;//add by wangxl 20121221
    if(radiotype & IEEE80211_PARAM_MODE_11gn) new_radiotype |= 0x06;
    
	char cmdbuf[128];
	memset(cmdbuf,0,128);
	sprintf(cmdbuf,"iwpriv wifi%d opmode %d",radio_id,new_radiotype);
	return _system(cmdbuf);

}
예제 #21
0
CWBool CWSetRxChainMask(char *wlanname,unsigned char state)
{
	char cmdbuf[128];
	memset(cmdbuf,0,128);
	sprintf(cmdbuf,"iwpriv %s rxchainmask %d",wlanname,state);
	return _system(cmdbuf);
}
예제 #22
0
CWBool CWSetChannel(int radio_id, int wlan_id, int channel)
{
	char cmdbuf[128];
	memset(cmdbuf,0,128);
	sprintf(cmdbuf,"iwconfig wifi%d channel %d",radio_id,channel);
	return _system(cmdbuf);
}
예제 #23
0
CWBool CWSetPuren(char *wlanname,int state)
{
	char cmdbuf[128];
	memset(cmdbuf,0,128);
	sprintf(cmdbuf,"iwpriv %s puren %d",wlanname,state);
	return _system(cmdbuf);
}
예제 #24
0
CWBool CWDelWapiset(char *wlanname)
{
	char cmdbuf[128];
	memset(cmdbuf,0,128);
	sprintf(cmdbuf,"wapiset wlan %s del",wlanname);
	return _system(cmdbuf);
}
예제 #25
0
CWBool CWSetWidFloodProbeCnt(char *wlanname,unsigned char gFloodProbeCnt)
{
	char cmdbuf[128];
	memset(cmdbuf,0,128);
	sprintf(cmdbuf,"iwpriv %s prb_atk_cnt %d",wlanname,gFloodProbeCnt);
	return _system(cmdbuf);
}
예제 #26
0
CWBool CWSetTrafficLimitEnable(char *wlanname,unsigned char enable)
{
	char cmdbuf[128];
	memset(cmdbuf,0,128);
	sprintf(cmdbuf, "autelan traffic_limit %s set_vap_flag %d",wlanname,enable);
	return _system(cmdbuf);
}
예제 #27
0
CWBool CWSetWidWeakIVDetectEnable(char *wlanname,int enable)
{
	char cmdbuf[128];
	memset(cmdbuf,0,128);
	sprintf(cmdbuf,"iwpriv %s wk_iv_detect %d",wlanname,enable);
	return _system(cmdbuf);
}
예제 #28
0
CWBool CWSetTrafficLimitThreshold(char *wlanname,unsigned char threshold)
{
	char cmdbuf[128];
	memset(cmdbuf,0,128);
	sprintf(cmdbuf, "autelan traffic_limit %s set_vap %d",wlanname,threshold);
	return _system(cmdbuf);
}
예제 #29
0
CWBool CWSetFragmentThreshold(char *wlanname,unsigned short  threshold)
{
	char cmdbuf[128];
	memset(cmdbuf,0,128);
	sprintf(cmdbuf,"iwconfig %s frag %d",wlanname,threshold);
	return _system(cmdbuf);
}
예제 #30
0
CWBool CWSet1p_egress_map(char * wlanname,unsigned char QosOrder,unsigned char dot1p_map_wmm)
{	
	char cmdbuf[128];
	memset(cmdbuf,0,128);
	sprintf(cmdbuf, "autelan wmm 1p_egress_map %.*s %.*d %.*d",sizeof(wlanname),wlanname,sizeof(QosOrder),QosOrder,sizeof(dot1p_map_wmm),dot1p_map_wmm);
	return _system(cmdbuf);
}