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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ipc.c

?? wifi 無線網絡路由協議OLSR linux下C代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* * OLSR ad-hoc routing table management protocol GUI front-end * Copyright (C) 2003 Andreas T鴑nesen (andreto@ifi.uio.no) * * This file is part of olsr.org. * * uolsrGUI is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * uolsrGUI is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with olsr.org; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA * */#include "common.h"#include "ipc.h"#include "packet.h"#include "routes.h"#ifdef WIN32#define close(x) closesocket(x)#undef errno#define errno WSAGetLastError()#undef strerror#define strerror(x) StrError(x)#define perror(x) WinSockPError(x)#endifint ipc_socket = 0;intipc_close(){  if(close(ipc_socket))    return 1;    return 0;}intipc_connect(struct sockaddr_in *pin){#ifdef WIN32  int On = 1;  unsigned long Len;#else  int flags;#endif  connected = 0;  if(!ipc_socket)    if((ipc_socket = socket(AF_INET, SOCK_STREAM, 0)) == -1)       {	perror("socket");	exit(1);      }  printf("Attempting connect...");  /* connect to PORT on HOST */  if (connect(ipc_socket,(struct sockaddr *) pin, sizeof(*pin)) < 0)     {      fprintf(stderr, "Error connecting %d - %s\n", errno, strerror(errno));      set_net_info_offline();      printf("connection refused\n");    }  else     {      set_net_info("Connected!", FALSE);      printf("Connected!!\n");      /* Setting socket non-blocking */        #ifdef WIN32      if (WSAIoctl(ipc_socket, FIONBIO, &On, sizeof (On), NULL, 0, &Len,                   NULL, NULL) < 0)        {          fprintf(stderr, "Error while making socket non-blocking!\n");          exit(1);        }#else      if ((flags = fcntl(ipc_socket, F_GETFL, 0)) < 0)	{	  fprintf(stderr,"Error getting socket flags!\n");	  exit(1);	}                  if (fcntl(ipc_socket, F_SETFL, flags | O_NONBLOCK) < 0)	{	  fprintf(stderr,"Error setting socket flags!\n");	  exit(1);	}#endif            connected = 1;            return 1;    }    return 0;}intipc_read(){  //int x, i;  int bytes, tmp_len;  char *tmp;  union olsr_message *msg;  union   {    char	buf[BUFFSIZE+1];    union	olsr_message olsr_msg;  } inbuf;  //char buf[BUFFSIZE+1];  //printf(".");fflush(stdout);  memset(&inbuf, 0, sizeof(BUFFSIZE+1));  //buf[0] = '\0';  if(connected)    {      bytes = recv(ipc_socket, (char *)&inbuf, BUFFSIZE, 0);      if (bytes == 0)        {          shutdown(ipc_socket, SHUT_RDWR);	  set_net_info("Disconnected from server...", TRUE);          connected = 0;	  close(ipc_socket);        }           if(bytes > 0)	{	   	  tmp = (char *) &inbuf.olsr_msg;		  /*    	  x = 0;	  printf("\n\t");	  for(i = 0; i < bytes;i++)	    {	      if(x == 4)		{		  x = 0;		  printf("\n\t");		}	      x++;	      printf(" %03i", (u_char) tmp[i]);	    }	  	  printf("\n\nBytes read: %d - msg_size: %d\n", bytes, ntohs(inbuf.olsr.v4.olsr_packlen));	  */	  	  msg = &inbuf.olsr_msg;	  /* There can be(there probably are!) several packets in the buffer */	  /* Should be the same for v4 and v6 */	  if(ntohs(inbuf.olsr_msg.v4.olsr_msgsize) < bytes)	    {	      //printf("chomping...\n");	      while(ntohs(msg->v4.olsr_msgsize) < bytes)		{		  ipc_evaluate_message(msg);		  tmp_len = ntohs(msg->v4.olsr_msgsize);		  msg = (union olsr_message *) &tmp[tmp_len];		  tmp = &tmp[tmp_len];		  if(tmp_len == 0)		    break;		  bytes = bytes - tmp_len;		  tmp_len = ntohs(msg->v4.olsr_msgsize);		  //printf("%d/%d ", tmp_len, bytes);		  /* Copy to start of buffer */		  if(tmp_len > bytes)		    {		      /* Copy the buffer */		      //printf("READING END OF MESSAGE. %d bytes\n", tmp_len-bytes);		      //printf("\tCopying %d bytes\n", bytes);		      memcpy(&inbuf, tmp, bytes);		      //printf("\tRecieving %d bytes to buffer[%d]\n", tmp_len-bytes, bytes);		      bytes = recv(ipc_socket, (char *)&inbuf.buf[bytes], tmp_len-bytes, 0);		      //printf("\tBytes: %d Size: %d\n", bytes, ntohs(msgs->v4.olsr_packlen));		      tmp = (char *)&inbuf.olsr_msg;		      msg = (union olsr_message *) tmp;		    }		}	      //printf("\n");	    }	  	  /* Only one (or the last) message */	  ipc_evaluate_message(msg);	}    }  return 1;}intipc_send(){  return 1;}intipc_evaluate_message(union olsr_message *olsr_in){  int ipc_pack = 0;  olsr_u8_t type;  int msgsize;  char itoa_buf[10];  olsr_u8_t vtime;  union olsr_ip_addr *originator;  /* Find size, vtime, originator and type - same for IPv4 and 6 */  type = olsr_in->v4.olsr_msgtype;  msgsize = ntohs(olsr_in->v4.olsr_msgsize);  vtime = olsr_in->v4.olsr_vtime;  originator = (union olsr_ip_addr *)&olsr_in->v4.originator;  gui_itoa(msgsize, itoa_buf);  switch(type)    {    case HELLO_MESSAGE:      //printf("Recieved HELLO packet\n");      if(!freeze_packets)	packet_list_add("HELLO", ip_to_string(originator), itoa_buf);      if(ipversion == AF_INET)	{	  process_hello(msgsize, vtime, originator, (union hello_message *)&olsr_in->v4.message.hello);	}      else	{	  process_hello(msgsize, vtime, originator, (union hello_message *)&olsr_in->v6.message.hello);	}      break;    case TC_MESSAGE:      if(!freeze_packets)	packet_list_add("TC", ip_to_string(originator), itoa_buf);            if(ipversion == AF_INET)	{	  process_tc(msgsize, vtime, originator, (union tc_message *)&olsr_in->v4.message.tc);	  //printf("Recieved TC packet from %s\n", ip_to_string(&m->olsr_tc->tc_origaddr));	}      else	{	  process_tc(msgsize, vtime, originator, (union tc_message *)&olsr_in->v6.message.tc);	  //printf("Recieved TC packet from %s\n", ip_to_string(&m->olsr_tc->tc_origaddr));	}      break;    case MID_MESSAGE:      if(!freeze_packets)	packet_list_add("MID", ip_to_string(originator), itoa_buf);      if(ipversion == AF_INET)	{	  process_mid(msgsize, vtime, originator, (union mid_message *)&olsr_in->v4.message.mid);	  //printf("Recieved MID packet from %s\n", ip_to_string(&m->olsr_mid->mid_origaddr));	}      else	{	  process_mid(msgsize, vtime, originator, (union mid_message *)&olsr_in->v6.message.mid);	  //printf("Recieved MID packet from %s\n", ip_to_string(&m->olsr_mid->mid_origaddr));	}            break;    case HNA_MESSAGE:      if(!freeze_packets)	packet_list_add("HNA", ip_to_string(originator), itoa_buf);      if(ipversion == AF_INET)	{	  process_hna(msgsize, vtime, originator, (union hna_message *)&olsr_in->v4.message.hna);	  //printf("Recieved HNA packet\n");	}      else	{	  process_hna(msgsize, vtime, originator, (union hna_message *)&olsr_in->v6.message.hna);	  //printf("Recieved HNA packet\n");	}            break;    case IPC_MESSAGE:      //printf("Recieved IPC packet\n");      ipc_pack = 1; /* Don't add to buffer */      ipc_eval_route_packet((struct routemsg *) olsr_in);            break;    case IPC_NET:      //printf("Recieved IPC packet\n");      ipc_pack = 1; /* Don't add to buffer */      ipc_eval_net_info((struct netmsg *) olsr_in);            break;    default:      if(!freeze_packets)	{	  char unk_label[8];	  sprintf(unk_label, "%d", type);	  packet_list_add(unk_label, ip_to_string(originator), itoa_buf);	}	printf("Unknown packet type %d\n", type);          }    if(!freeze_packets && !ipc_pack)    {	  add_packet_to_buffer(olsr_in, msgsize);    }  return 1;}intipc_eval_net_info(struct netmsg *msg){  char info[256];  printf("Evaluating NET info...\n");  /*  printf("\tMain address: %s\n", ip_to_string(&msg->main_addr));  printf("\tMid adresses: %d\n", msg->mids);  printf("\tHna adresses: %d\n", msg->hnas);  printf("\tHELLO interval: %f\n", (float)(ntohs(msg->hello_int)));  printf("\tHELLO LAN interval: %f\n", (float)(ntohs(msg->hello_lan_int)));

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜臀精品久久久久久蜜臀| 国产精品123区| 国产一区二区福利| 91国偷自产一区二区开放时间| 欧美一区二区视频观看视频| 亚洲天堂a在线| 国产成人亚洲综合a∨婷婷图片| 欧美亚洲愉拍一区二区| 一区在线播放视频| 国产乱码精品1区2区3区| 91精品国产欧美日韩| 亚洲激情av在线| 99re成人精品视频| 国产精品少妇自拍| 国产综合成人久久大片91| 欧美另类z0zxhd电影| 亚洲视频综合在线| av不卡免费电影| 国产精品三级av在线播放| 久久97超碰色| 欧美videos大乳护士334| 石原莉奈在线亚洲二区| 欧美男生操女生| 亚洲成人在线网站| 精品视频资源站| 亚洲成人精品在线观看| 欧美性高清videossexo| 亚洲午夜成aⅴ人片| 在线一区二区三区四区| 椎名由奈av一区二区三区| www.亚洲激情.com| 亚洲视频一二三| 色婷婷狠狠综合| 亚洲在线观看免费| 欧美日韩一级视频| 免费成人在线观看视频| 欧美r级电影在线观看| 久久99国产精品尤物| 久久精品视频免费| av一区二区三区在线| 一区二区三区视频在线看| 欧美影院精品一区| 免费欧美在线视频| 久久精品这里都是精品| 韩国理伦片一区二区三区在线播放| 91精品国产欧美日韩| 国产又黄又大久久| 国产精品国产三级国产普通话三级 | 日韩制服丝袜av| 91精品国产免费| 国产成人精品亚洲777人妖 | 菠萝蜜视频在线观看一区| 中文字幕一区二区三区蜜月| 日韩欧美中文一区二区| 亚洲国产综合在线| 日韩欧美专区在线| 懂色av噜噜一区二区三区av| 亚洲三级在线免费| 在线综合视频播放| av影院午夜一区| 五月综合激情婷婷六月色窝| 26uuu精品一区二区| 91麻豆成人久久精品二区三区| 亚洲成人三级小说| 久久午夜色播影院免费高清| 色婷婷久久久综合中文字幕| 麻豆精品一区二区三区| 中文字幕亚洲电影| 欧美一二区视频| 97se亚洲国产综合自在线不卡| 亚洲一二三四区不卡| 2023国产一二三区日本精品2022| 91在线无精精品入口| 美腿丝袜一区二区三区| 亚洲欧美日韩在线| 精品国产乱码久久久久久浪潮| 色婷婷亚洲精品| 国产精品一二三在| 日韩精品一二区| 日韩毛片在线免费观看| 日韩欧美在线综合网| 欧美在线free| 岛国一区二区三区| 久久精品免费观看| 亚洲va韩国va欧美va| 日韩一区中文字幕| 国产欧美综合色| 欧美一区二区视频在线观看2022 | 国产成人99久久亚洲综合精品| 亚洲国产日韩av| 国产精品第13页| 欧美精品一区二区三区视频 | 亚洲激情男女视频| 国产精品五月天| 久久婷婷久久一区二区三区| 91.成人天堂一区| 色妹子一区二区| 成人短视频下载| 国产成人超碰人人澡人人澡| 久久精品99国产精品| 日韩精品欧美成人高清一区二区| 亚洲欧美色综合| 亚洲欧美另类在线| 亚洲欧美视频一区| 亚洲女人的天堂| 亚洲欧美日韩一区二区三区在线观看 | 欧美色男人天堂| 在线观看不卡视频| 在线视频一区二区免费| 91在线高清观看| 色综合天天天天做夜夜夜夜做| 高清在线观看日韩| 丰满少妇在线播放bd日韩电影| 国产又黄又大久久| 粉嫩高潮美女一区二区三区 | 一区在线播放视频| 亚洲视频在线一区观看| 亚洲免费在线视频一区 二区| 国产原创一区二区三区| 一区二区在线电影| 一区二区三区在线免费视频| 亚洲日本va在线观看| 亚洲美女偷拍久久| 一区二区三区产品免费精品久久75| 国产精品色呦呦| 亚洲视频在线一区观看| 夜夜精品浪潮av一区二区三区| 一区二区三区日韩精品视频| 亚洲一区欧美一区| 欧美aaaaaa午夜精品| 麻豆精品精品国产自在97香蕉| 亚洲综合一区在线| 日韩精品一二区| 国产高清在线观看免费不卡| 成人黄色电影在线 | 日韩一级高清毛片| 2021中文字幕一区亚洲| 中文字幕一区二区三区不卡| 亚洲欧美二区三区| 蜜桃av噜噜一区| 国产成人综合网站| 欧美日韩一区国产| 精品精品欲导航| 亚洲免费资源在线播放| 青青草原综合久久大伊人精品| 国产精品2024| 日本高清视频一区二区| 宅男噜噜噜66一区二区66| 欧美国产日韩亚洲一区| 亚洲va韩国va欧美va精品| 国产成人无遮挡在线视频| 欧美亚洲免费在线一区| 久久一日本道色综合| 一区二区三区**美女毛片| 久久狠狠亚洲综合| 色哟哟一区二区| 亚洲精品一区二区三区香蕉| 一个色在线综合| 国产精品一区三区| 欧美久久免费观看| 国产精品免费网站在线观看| 日韩国产精品91| 色婷婷久久一区二区三区麻豆| 久久蜜臀中文字幕| 日韩电影在线一区二区三区| 99久久久免费精品国产一区二区| 欧美一区二区三区免费| 亚洲精品视频免费观看| 国产福利电影一区二区三区| 666欧美在线视频| 亚洲精品中文字幕在线观看| 激情图区综合网| 欧美一区二区在线免费观看| 一区二区三区自拍| 成人av资源站| 国产欧美视频在线观看| 免费成人结看片| 欧美性受xxxx黑人xyx性爽| 国产精品色哟哟| 紧缚奴在线一区二区三区| 欧美日韩精品一区视频| 亚洲三级免费电影| 成人av免费在线播放| 久久久久国色av免费看影院| 蜜臀av性久久久久蜜臀av麻豆| 欧美在线视频不卡| 亚洲老妇xxxxxx| 色94色欧美sute亚洲线路一久| 国产精品女上位| 国产99久久久国产精品免费看| 精品sm捆绑视频| 精品在线你懂的| 久久这里只有精品首页| 久久99国产精品久久99| 日韩欧美成人午夜| 精品系列免费在线观看| 欧美成人一级视频| 国模冰冰炮一区二区| 国产三级欧美三级| 国产91对白在线观看九色|