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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? wlan_monitor.c

?? wlan_monitor monitor utility for wlan device
?? C
字號(hào):
/*--------------------------------*-C-*---------------------------------* * *  Copyright 1999, Terry Duchastel <tld@cise.ufl.edu>. * *  This program 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. * *  See the INSTALL file for instructions on how to install the *  Wireless LAN Monitor. * *----------------------------------------------------------------------*/#include <applet-widget.h>#include <gnome.h>#include <gdk/gdkx.h>#include <stdio.h>#include <stdlib.h>#include <errno.h>#include <string.h>#include <netdb.h>#include <sys/types.h>#include <netinet/in.h>#include <linux/sockios.h>#include <sys/ioctl.h>#include "wlan_monitor.h"/* Defines */#define ARRAY_WIDTH 22#define ECHO_PORT 7#define WLAN_TLD  (SIOCDEVPRIVATE +10)/* Typedefs */typedef unsigned short  UINT16;typedef struct wlan_req{	char 	name[16];	void	*data;	UINT16	result;	UINT16	len;} wlan_req_t;/* Prototypes */GtkWidget * applet_start_new_applet (const gchar *goad_id, const char	**params, int nparams);GtkWidget * make_new_panel_applet (const gchar *goad_id);gint expose_event (GtkWidget *widget, GdkEventExpose *event);gint configure_event (GtkWidget *widget, GdkEventConfigure *event);gint wlan_update (gpointer data);void wlan_init();int read_rssi();/* Global Variables */// FIX ME: These should really go into one one large struct instead of being globalGdkPixmap *graph_pixmap;         // Used for double-bufferingGdkColor blue_color;int rssi_array[ARRAY_WIDTH];     // Holds the rssi values to graphintmain (int argc, char ** argv){  const gchar *goad_id;  GtkWidget *applet;    // My own initializations  wlan_init();  applet_widget_init ("wlan_monitor", "1.0", argc, argv, NULL, 0, NULL);  applet_factory_new ("wlan_monitor", NULL,		     (AppletFactoryActivator) applet_start_new_applet);  goad_id = goad_server_activation_id ();  if (! goad_id)    return 1;  // Create the applet widget  applet = make_new_panel_applet (goad_id);  // Run...  applet_widget_gtk_main ();  return 0;} /* main */voidwlan_init( GtkWidget * applet ) {  int i=0;  for (i=0; i<ARRAY_WIDTH; i++)    rssi_array[i] = 0;}GtkWidget *applet_start_new_applet (const gchar *goad_id, const char **params,			 int nparams){  return make_new_panel_applet (goad_id);}// This is the function that actually creates the display widgetsGtkWidget *make_new_panel_applet (const gchar *goad_id){  GtkWidget *applet;               // The start of it all  GtkWidget *root;                 // The applet's only child  GtkWidget *button;  GtkWidget *graph_frame;          // Provides the bevelling and sizing  GtkWidget *graph_box;            // Holds the canvas named 'graph_area'  GtkWidget *graph_area;           // The canvas we draw on  GdkColormap *colormap;  guint update_timeout_id;  applet = applet_widget_new (goad_id);  // All widgets will go into this container.  root = gtk_hbox_new (FALSE, 0);  applet_widget_add(APPLET_WIDGET(applet), root);  // The 'graph frame' is the root widget of the entire graph mode.  // It provides the pretty bevelling.  graph_frame = gtk_frame_new (NULL);  gtk_frame_set_shadow_type (GTK_FRAME (graph_frame), GTK_SHADOW_IN);  gtk_box_pack_start_defaults (GTK_BOX (root), graph_frame);  gtk_widget_set_usize (graph_frame, 48, 48);  graph_box = gtk_vbox_new (TRUE, 0);  gtk_container_add( GTK_CONTAINER(graph_frame), graph_box );  graph_area = gtk_drawing_area_new ();  gtk_box_pack_start_defaults (GTK_BOX (graph_box), graph_area);    //////// BIND FUNCTIONS ////////  gtk_signal_connect (GTK_OBJECT(graph_area),"configure_event",		      (GtkSignalFunc) configure_event, NULL);  gtk_signal_connect (GTK_OBJECT (graph_area), "expose_event",		      (GtkSignalFunc) expose_event, NULL);  update_timeout_id = gtk_timeout_add (2000,				       (GtkFunction) wlan_update, 				       graph_area);  gtk_widget_show_all( applet );  //////// COLORS /////////*  colormap = gtk_widget_get_colormap (graph_area);  gdk_color_parse ( "#0000ff", &blue_color );  gdk_color_alloc ( colormap, &blue_color );*/    return(applet);} /* make_new_panel_applet */// Create a new backing pixmap of the appropriate size.gint configure_event (GtkWidget *widget, GdkEventConfigure *event){  wlan_update( widget );  return TRUE;}// Redraw the screen from the backing pixmap.gint expose_event (GtkWidget *widget, GdkEventExpose *event){  gdk_draw_pixmap(widget->window,		  widget->style->fg_gc[GTK_WIDGET_STATE (widget)],		  graph_pixmap,		  0, 0,		  0, 0,		  widget->allocation.width,		  widget->allocation.height);  return FALSE;}/** * Every two seconds this function is called.  It creates a new * pixmap, gets the latest rssi value, draws the graph on the pixmap, * and then calls wlan_expose to actually blit it on the screen. */gintwlan_update (gpointer data){  GtkWidget * graph_area = data;  GdkGC graph_gc;  int i=0;  int width, height;  double rssi_value=0, temp =0;  width =  graph_area->allocation.width;  height = graph_area->allocation.height;  if (graph_pixmap)    gdk_pixmap_unref(graph_pixmap);  // Get a new pixmap and make the background color black  graph_pixmap = gdk_pixmap_new(graph_area->window,				width,				height,				-1);  gdk_draw_rectangle (graph_pixmap,		      graph_area->style->black_gc,		      TRUE,		      0, 0,		      width,		      height);  // Move everything in the array down  for ( i=1; i< ARRAY_WIDTH; i++ )    rssi_array[i-1] = rssi_array[i];  /* Read_rssi() returns a number between 0 and 255.     We need a value between 0 and 44.  That's      because the graph is 44 pixels in height. */  i = (int) ( read_rssi() / 5 );  if ( i < 0 )    i = 0;  // Add the new value  rssi_array[ARRAY_WIDTH - 1] = i;    // Draw every value onto the pixmap  for ( i=0; i < ARRAY_WIDTH; i++ )    gdk_draw_rectangle (graph_pixmap,			graph_area->style->white_gc,			TRUE,			2*i, 44-rssi_array[i],			2, 44);  // Redraw the screen  expose_event( graph_area, NULL );    return TRUE;}  /* wlan_update */intread_rssi(){  int sockfd;  struct sockaddr_in send_addr;  int numbytes;  struct hostent *he;  //char host_name[17] = "128.227.162.246";  int io_ret=2;  wlan_req_t req;  char message[2] = "A";    ////////////////// SEND A PACKET ///////////////  // Get the host info  if (( he=gethostbyname(host_name) ) == NULL) {      gnome_error_dialog	(_("Error (A) querying gateway.  "	   "Make sure that your card is "	   "inserted properly."));  }    // Get a socket  if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) == -1) {    gnome_error_dialog	(_("Error (B) querying gateway.  "	   "Make sure that your card is "	   "inserted properly."));  }    send_addr.sin_family = AF_INET;            // host byte order  send_addr.sin_port = htons(ECHO_PORT);     // short, network byte order  send_addr.sin_addr = *((struct in_addr *)he->h_addr);  bzero(&(send_addr.sin_zero), 8);           // zero the rest of the struct    // Send the UDP packet  if ((numbytes=sendto(sockfd, message,strlen(message),0,(struct sockaddr *)&send_addr,		       sizeof(struct sockaddr))) == -1) {    gnome_error_dialog	(_("Error (C) querying gateway.  "	   "Make sure that your card is "	   "inserted properly."));    return (-1);  }    /////////////////// GET RSSI INFO //////////////////  // Test that there is a card  strcpy( req.name, eth_socket );  req.result = 0;  req.data = NULL;  req.len = 0;    io_ret = ioctl(sockfd, WLAN_TLD, &req);  if ( io_ret < 0 ) {    gnome_error_dialog	(_("Error (D) querying ioctl.  "	   "Make sure that you're using "	   "the correct driver."));    return (-1);  }  close(sockfd);    return( req.result );}  /* read_rssi */

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99亚偷拍自图区亚洲| 国产精品国产三级国产a| 一区二区三区免费看视频| 不卡一卡二卡三乱码免费网站| 国产区在线观看成人精品| 国产米奇在线777精品观看| 久久夜色精品国产欧美乱极品| 经典一区二区三区| 国产欧美在线观看一区| 欧美男女性生活在线直播观看| 午夜精品在线视频一区| 精品理论电影在线| 粉嫩一区二区三区在线看 | 国产午夜三级一区二区三| 国产成人在线看| 中文字幕亚洲区| 欧美日韩国产一二三| 成人不卡免费av| 国产又黄又大久久| 日韩精彩视频在线观看| 国产亚洲婷婷免费| 91精品国产综合久久小美女| 国内精品视频666| 亚洲视频在线一区观看| 欧美老肥妇做.爰bbww视频| 韩国一区二区在线观看| 日本中文一区二区三区| 国产精品视频九色porn| 精品视频色一区| 激情综合网最新| 在线视频一区二区三区| 欧美aaaaa成人免费观看视频| 中文字幕免费一区| 欧美乱妇23p| 欧美日韩精品欧美日韩精品一| 91亚洲国产成人精品一区二三| 乱中年女人伦av一区二区| 国产精品女人毛片| 国产欧美一区二区精品性| 26uuuu精品一区二区| 日韩欧美一区中文| 日本韩国一区二区三区| 激情小说欧美图片| 精品一区二区在线播放| 免费人成黄页网站在线一区二区 | 亚洲午夜电影在线| 久久婷婷色综合| 精品国产在天天线2019| 欧美调教femdomvk| 成人黄色网址在线观看| 成人性生交大片免费看视频在线| 亚洲国产欧美在线人成| 亚洲一级二级在线| 亚洲视频在线一区| 一区二区三区中文在线| 亚洲国产精品一区二区尤物区| 亚洲成人黄色影院| 欧美国产一区视频在线观看| 中文字幕av在线一区二区三区| 国产精品三级在线观看| 亚洲精品菠萝久久久久久久| 国产精品毛片大码女人| 中文字幕一区二区三区在线播放| 亚洲欧美日韩成人高清在线一区| 久久久一区二区三区捆绑**| 日韩欧美国产小视频| 欧美日韩国产综合一区二区| 欧美麻豆精品久久久久久| 日韩一二三四区| 欧美激情资源网| 亚洲一区二区三区不卡国产欧美 | 亚洲伊人伊色伊影伊综合网| 首页综合国产亚洲丝袜| 韩国v欧美v亚洲v日本v| av资源网一区| 欧美精品乱码久久久久久| 精品sm在线观看| 亚洲乱码国产乱码精品精98午夜| 偷拍一区二区三区四区| 国产美女精品在线| 91网站在线观看视频| 欧美一级片免费看| 日韩一区二区免费高清| 国产精品毛片久久久久久久| 亚洲国产一区二区三区青草影视| 精品一区二区三区欧美| 97久久超碰精品国产| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 尤物av一区二区| 久久国产精品99精品国产| 成人h动漫精品| 日韩一区二区视频| 亚洲视频一区二区在线| 久久精品99国产精品日本| 色女孩综合影院| 精品国产91久久久久久久妲己| 亚洲欧美一区二区三区极速播放| 伦理电影国产精品| 日本韩国欧美一区二区三区| 久久久国产午夜精品| 亚洲成人av一区二区| 不卡的电影网站| 精品欧美一区二区三区精品久久| 亚洲欧美另类在线| 国产精品一二三| 99免费精品在线| 久久天天做天天爱综合色| 亚洲高清视频在线| 93久久精品日日躁夜夜躁欧美| xnxx国产精品| 麻豆国产欧美日韩综合精品二区| 国产剧情av麻豆香蕉精品| 欧美美女bb生活片| 亚洲欧美日韩国产成人精品影院| 国产成人高清视频| 日韩午夜电影av| 亚洲午夜久久久久久久久电影院| 成人一区二区三区中文字幕| 精品欧美乱码久久久久久| 日韩综合小视频| 欧洲精品在线观看| 亚洲欧美视频一区| av激情综合网| 国产精品美女久久久久久久久| 国精品**一区二区三区在线蜜桃| 在线不卡的av| 亚洲成人一区二区在线观看| 欧美亚洲禁片免费| 亚洲精品成人在线| 日本韩国欧美国产| 一区二区理论电影在线观看| 99久久精品国产毛片| 国产精品视频一二| 风间由美一区二区三区在线观看| 精品久久五月天| 紧缚奴在线一区二区三区| 精品欧美乱码久久久久久1区2区| 免费人成精品欧美精品| 日韩一级大片在线| 看电视剧不卡顿的网站| 69堂精品视频| 麻豆高清免费国产一区| 欧美电影免费观看完整版| 精品制服美女久久| 久久综合色一综合色88| 国产精品一卡二卡在线观看| 国产欧美日本一区二区三区| 成人免费视频免费观看| 欧美国产视频在线| 99久久久精品| 亚洲综合久久av| 欧美精品在线观看一区二区| 免费精品视频最新在线| 久久综合一区二区| 丰满少妇在线播放bd日韩电影| 国产精品久久久久久久久晋中| 一本久久综合亚洲鲁鲁五月天| 亚洲精品久久7777| 91精品在线麻豆| 久久疯狂做爰流白浆xx| 欧美激情在线一区二区三区| av不卡一区二区三区| 亚洲资源中文字幕| 日韩一级视频免费观看在线| 国产成人免费在线观看| 亚洲欧美一区二区久久| 制服丝袜在线91| 国产精品一区二区久久不卡 | 久久日韩精品一区二区五区| 国产一区二区三区免费播放| 国产精品国产三级国产普通话99 | 《视频一区视频二区| 在线欧美小视频| 久久99久久久欧美国产| 国产精品久久影院| 欧美另类高清zo欧美| 国产呦萝稀缺另类资源| 亚洲欧美日韩系列| 日韩美女一区二区三区四区| 成人免费av资源| 日韩电影在线免费看| 国产蜜臀av在线一区二区三区| 欧美视频中文一区二区三区在线观看| 久久精品国产99久久6| 国产精品久久久久久妇女6080| 欧美久久久久久久久| 成人精品免费视频| 丝袜诱惑制服诱惑色一区在线观看| 欧美精品一区二区高清在线观看| 91香蕉视频mp4| 欧美艳星brazzers| 国产馆精品极品| 肉色丝袜一区二区| 中文字幕在线不卡| 欧美tk—视频vk| 欧美久久久久久蜜桃| 99在线视频精品| 国产一区二区三区在线观看免费 | gogo大胆日本视频一区| 青青青伊人色综合久久|