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; }