亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? event_queue.c

?? linux 下的aodv實現(xiàn)源代碼
?? C
字號:
/*               Kernel AODV  v2.1National Institute of Standards and Technology               Luke Klein-Berndt-----------------------------------------------------  Version 2.1 new features:     * Much more stable!     * Added locks around important areas     * Multihop Internet gatewaying now works     * Multicast hack added     * Many bug fixes!-----------------------------------------------------Originally based upon MadHoc code. I am notsure how much of it is left anymore, but MadHocproved to be a great starting point.MadHoc was written by - Fredrik Lilieblad,Oskar Mattsson, Petra Nylund, Dan Ouchterlonyand Anders Roxenhag Mail: mad-hoc@flyinglinux.netThis software is Open Source under the GNU General Public Licence.*/#include "event_queue.h"/****************************************************   event_queue----------------------------------------------------This is a queue used to store events which haveto be dealt with. They are queued instead ofbeing acted on directly because a lot of theevents are recieved on interupts and you wantto limit the amount of work being done oninterupts!****************************************************/extern u_int32_t g_broadcast_ip;struct event_queue_entry *event_queue;struct event_queue_entry *end_event_queue;spinlock_t event_lock = SPIN_LOCK_UNLOCKED;void lock_event(){  spin_lock_bh(&event_lock);}void unlock_event(){  spin_unlock_bh(&event_lock);}/****************************************************   insert_event_queue_entry----------------------------------------------------Inserts an event into the event queue. dev is thedevice the event was recieved on. data pointsto the event itself.****************************************************/int insert_event_queue_entry(int type,struct sk_buff *packet){  struct event_queue_entry *new_entry;  struct interface_list_entry *tmp_interface;  struct iphdr *ip;  int start_point=sizeof(struct udphdr)+sizeof(struct iphdr);  if ((new_entry = (struct event_queue_entry*)kmalloc(sizeof(struct event_queue_entry),GFP_ATOMIC)) == NULL)    {      printk(KERN_WARNING "AODV: Not enough memory to create Event Queue Entry\n");      return -ENOMEM;    }  new_entry->time = getcurrtime();  new_entry->type = type;  new_entry->prev = NULL;  if (type<100)    {      ip  = packet->nh.iph;      new_entry->src_ip = ip->saddr;      new_entry->dst_ip = ip->daddr;      new_entry->ttl = ip->ttl;      new_entry->dev = packet->dev;      new_entry->size = packet->len-start_point;            //create space for the data and copy it there      if ((new_entry->data = kmalloc(new_entry->size,GFP_ATOMIC)) ==  NULL)	{	  kfree(new_entry);	  printk(KERN_WARNING "AODV: Not enough memory to create Event Queue Data Entry\n");	  return -ENOMEM;	}      memcpy(new_entry->data,packet->data+start_point,new_entry->size);    }    switch (type)    {      //RREP    case EVENT_RREP:      memcpy(&(new_entry->src_hw_addr),&(packet->mac.ethernet->h_source),sizeof(unsigned char)*ETH_ALEN);      break;          default:      break;    } /*lock table*/    lock_event();    //Set all the variables  new_entry->next=event_queue;  if (event_queue==NULL)      end_event_queue=new_entry;  else      event_queue->prev=new_entry;    event_queue=new_entry;      /*unlock table*/  unlock_event();  //wake up the AODV thread  kick_aodv();    return 0;}/****************************************************   get_last_event_queue_entry----------------------------------------------------Gets the last entry from the event queue****************************************************/struct event_queue_entry *get_next_event_queue_entry( void ){  struct event_queue_entry *temp_entry=NULL;  /*lock table*/  lock_event();    if (end_event_queue!=NULL)    {      temp_entry=end_event_queue;      if (temp_entry->prev==NULL)	{	  end_event_queue=NULL;	  event_queue=NULL;	}      else	{	  end_event_queue=temp_entry->prev;	  end_event_queue->next=NULL;	}    }  /*unlock table*/  unlock_event();  return temp_entry;  }/****************************************************   init_event_queue----------------------------------------------------Initalizes the event queue****************************************************/int init_event_queue( void ){    event_queue = NULL;    end_event_queue = NULL;    return 0;}/****************************************************   cleanup_event_queue----------------------------------------------------Deletes eveything in the event queue!****************************************************/int cleanup_event_queue(void ){  struct event_queue_entry *temp_entry=NULL;  while ((temp_entry=get_next_event_queue_entry())!=NULL)    {      kfree(temp_entry->data);      kfree(temp_entry);    } return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
不卡的av电影| 99久久伊人久久99| 日韩一区二区三区免费看| 色综合久久88色综合天天免费| 久久精品国产久精国产| 午夜精品久久久久久久久久| 一区二区三区蜜桃| 亚洲精品v日韩精品| 亚洲卡通欧美制服中文| 国产乱码一区二区三区| 国产一级精品在线| 粉嫩高潮美女一区二区三区| 懂色中文一区二区在线播放| 欧美军同video69gay| 依依成人精品视频| 国内精品国产成人国产三级粉色 | 国产精品亚洲成人| 欧美日韩在线播放一区| 在线亚洲人成电影网站色www| 国产在线视频一区二区三区| 欧美一区二区三区啪啪| 欧美丰满少妇xxxxx高潮对白| 国产精品超碰97尤物18| 一区二区三区在线影院| 99视频精品全部免费在线| 中文字幕av不卡| 亚洲一区二区欧美日韩 | 美女在线视频一区| 国产老妇另类xxxxx| 在线观看日韩国产| 一区二区三区视频在线看| jlzzjlzz亚洲女人18| 国产精品天天看| 日韩精品每日更新| 成人综合婷婷国产精品久久蜜臀 | 亚洲色图清纯唯美| 男人的天堂亚洲一区| 成人激情动漫在线观看| 国产欧美日韩综合| 亚洲成a人片在线不卡一二三区| 激情图区综合网| 精品对白一区国产伦| 欧美激情一区二区三区| 成人伦理片在线| 亚洲欧美视频一区| 国产一区二三区好的| 久久久久国产成人精品亚洲午夜| 亚洲宅男天堂在线观看无病毒| 欧美丝袜自拍制服另类| 欧美日产国产精品| 中文字幕+乱码+中文字幕一区| 成人黄色一级视频| 樱桃国产成人精品视频| 欧美日韩精品福利| 久久国产福利国产秒拍| 国产精品欧美综合在线| 91蝌蚪国产九色| 国产欧美精品国产国产专区| 99久久久久免费精品国产| 亚洲国产精品影院| 91视频一区二区三区| 亚洲大型综合色站| 精品国产青草久久久久福利| 成人午夜碰碰视频| 亚洲成人激情综合网| 欧美精品一区二区三区很污很色的| 99精品欧美一区| 亚洲国产毛片aaaaa无费看| 91精品国产91久久久久久最新毛片| 韩国三级中文字幕hd久久精品| 国产精品久久久久7777按摩| 欧美精品日日鲁夜夜添| 国产suv精品一区二区6| 午夜影院久久久| 欧美激情一区在线观看| 91精品国产综合久久小美女| 一区二区三区在线看| 欧美一区二区精品| 99久久久无码国产精品| 六月丁香综合在线视频| 亚洲另类在线制服丝袜| 久久久久久一二三区| 欧美日韩视频专区在线播放| 国产精品911| 日韩av一区二区在线影视| 91麻豆精品国产91久久久资源速度 | 丁香桃色午夜亚洲一区二区三区| 一区二区在线观看免费| 久久蜜桃av一区精品变态类天堂 | 懂色av一区二区在线播放| 天天色图综合网| 亚洲日本在线a| 久久综合久久99| 国产成人激情av| 国产精品久久久久四虎| 日韩欧美在线一区二区三区| 欧日韩精品视频| 91免费在线播放| 成人免费高清在线观看| 国内不卡的二区三区中文字幕| 日韩国产欧美视频| 亚洲国产成人精品视频| 亚洲精品国产视频| 国产精品久久久久久户外露出 | 亚洲美女屁股眼交3| 偷窥国产亚洲免费视频| 国产精品久久久久久一区二区三区 | 亚洲欧美偷拍另类a∨色屁股| 亚洲精品在线三区| 日韩一区二区免费在线电影| 欧美三级日韩在线| 在线亚洲一区二区| 一本久道中文字幕精品亚洲嫩| 成人免费av网站| 粗大黑人巨茎大战欧美成人| 国产精品亚洲成人| 国产不卡在线视频| 丁香桃色午夜亚洲一区二区三区| 国产寡妇亲子伦一区二区| 国产伦精品一区二区三区免费| 精品一区二区三区免费毛片爱| 精品久久久久久亚洲综合网| 成人视屏免费看| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 国内精品伊人久久久久av一坑 | 国产日韩精品一区二区三区 | 欧美二区三区的天堂| 色综合天天性综合| 国产精品美女久久久久久久| 欧美激情一区不卡| 国产精品久99| 一区二区三区四区在线| 午夜伊人狠狠久久| 激情文学综合插| 大胆亚洲人体视频| 成人午夜精品在线| 97精品国产露脸对白| 欧美色图在线观看| 欧美一区二区三区在线电影| 精品成人佐山爱一区二区| 国产欧美一区二区在线| 亚洲日本欧美天堂| 人人爽香蕉精品| 国产精品影视在线观看| 一本久久综合亚洲鲁鲁五月天| 欧美日韩国产不卡| 久久久激情视频| 一区二区三区精品视频| 视频在线观看国产精品| 国产精品综合av一区二区国产馆| 国产成人精品在线看| 在线精品视频免费播放| 日韩欧美一级特黄在线播放| 欧美欧美午夜aⅴ在线观看| 日韩精品在线网站| 国产精品免费丝袜| 午夜激情一区二区三区| 国产成人精品综合在线观看| 在线亚洲高清视频| 日韩三级av在线播放| 91超碰这里只有精品国产| 欧美mv日韩mv国产| 亚洲欧洲日产国产综合网| 欧美乱妇23p| 日韩欧美中文字幕一区| 国产999精品久久| 亚洲日本免费电影| 国产精品中文字幕日韩精品| 91久久精品网| 久久麻豆一区二区| 亚洲乱码一区二区三区在线观看| 久久99久久99| 欧美亚洲自拍偷拍| 中文字幕+乱码+中文字幕一区| 免费成人在线观看视频| 91农村精品一区二区在线| 久久久久久一二三区| 奇米在线7777在线精品| 在线亚洲人成电影网站色www| 欧美激情在线一区二区三区| 久久成人精品无人区| 欧美色老头old∨ideo| 日韩理论片一区二区| 国产一级精品在线| 一本一本久久a久久精品综合麻豆| 日韩精品一区二| 亚洲成在线观看| 在线日韩国产精品| 亚洲视频 欧洲视频| 国产永久精品大片wwwapp| 日韩一级免费一区| 免费高清不卡av| 欧美一级国产精品| 青青草91视频| 日韩午夜激情免费电影| 日韩av在线免费观看不卡| 欧美丝袜丝交足nylons图片| 一区二区三区波多野结衣在线观看| 91在线国产福利| 亚洲毛片av在线|