Beispiel #1
0
void read_rts(struct params *p, struct ieee80211_frame *wh, int len)
{
	if (memcmp(wh->i_addr1, p->mac, 6) != 0)
		return;

	send_cts(p, wh->i_addr2);
}
Beispiel #2
0
void rtscts_sink_thread(){
   comBuf *recv_pkt;                     //give us a packet pointer
   com_mode(IFACE_RADIO, IF_LISTEN);

   printf("before entering the while loop\n");
   while(1)
   {
      recv_pkt = com_recv(IFACE_RADIO); //blocking recv a packet
      printf("Src = %C Seq = %C Type = %C Size = %C TS = %l TCNT = %C RSSI = %l\n",
	     recv_pkt->data[0],
	     recv_pkt->data[1],
	     recv_pkt->data[2],
	     recv_pkt->size,
	     recv_pkt->ts,
	     recv_pkt->tcnt,
	     recv_pkt->signal);
      if(recv_pkt->data[2] == RTS_TYPE) {
	 mos_thread_sleep(100);
	 send_cts(recv_pkt->data[0], recv_pkt->data[1], &ctrl_pkt);
	 printf("Send out CTS to %C\n", recv_pkt->data[0]);
      }
      com_free_buf(recv_pkt);             //free the recv'd packet to the pool
      mos_led_toggle(0);
      
   }
}