Exemple #1
0
int
ieee80211_get_rate(struct ieee80211com *ic)
{
	u_int8_t (*rates)[IEEE80211_RATE_MAXSIZE];
	int rate;

	rates = &ic->ic_bss->ni_rates.rs_rates;

	if (ic->ic_fixed_rate != -1)
		rate = (*rates)[ic->ic_fixed_rate];
	else if (ic->ic_state == IEEE80211_S_RUN)
		rate = (*rates)[ic->ic_bss->ni_txrate];
	else
		rate = 0;

	return rate & IEEE80211_RATE_VAL;
}
int main(int argc, char* argv[])
{
	int c;
	u_int8_t payload[10] = {0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a};
	u_int8_t srcmac1[6] =  {0x10,0x11,0x12,0x13,0x14,0x15};
	u_int8_t srcmac2[6] =  {0x16,0x17,0x18,0x19,0x1a,0x1b}; 
	u_int8_t (*p)[6];
	p=&srcmac2;
	struct config* pointer_config = NULL;
	struct thread_input input;
	while((c=getopt(argc, argv, "c:")) != -1) {
		if(c == 'c') {
			pointer_config = load_config(optarg);
			if(pointer_config == NULL) {
				return 1;
			}
		}
	}
	input.device = pointer_config->device;
	input.interval = pointer_config->interval;
	input.count = pointer_config->count;
	input.srcmac_qty = 2;
	input.size = pointer_config->size;
	input.srcip = pointer_config->srcip;
	input.dstip = pointer_config->dstip;
	memcpy(input.dstmac, pointer_config->dstmac, 6*sizeof(u_int8_t));
	input.payload = (u_int8_t*)malloc(10*sizeof(u_int8_t));
	input.size = 10;
	input.srcmac = malloc(2*sizeof(u_int8_t*));
	input.srcmac[0] = malloc(6*sizeof(u_int8_t));
	input.srcmac[1] = malloc(6*sizeof(u_int8_t));
	memcpy(input.srcmac[0], srcmac1, 6*sizeof(u_int8_t));
	memcpy(input.srcmac[1], srcmac2, 6*sizeof(u_int8_t));
	thread_routine(&input);	
	return 0;
}