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

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

?? wlan_monitor.c.old

?? wlan_monitor monitor utility for wlan device
?? OLD
字號:
/*--------------------------------*-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 */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日韩精品一区二区浪潮av| 亚洲日本免费电影| 国产精品理论在线观看| 亚洲一二三区不卡| 风间由美性色一区二区三区| 在线亚洲一区二区| 欧美精彩视频一区二区三区| 丝袜美腿亚洲色图| 日本伦理一区二区| 亚洲国产高清在线观看视频| 美国十次综合导航| 欧美午夜理伦三级在线观看| 国产精品丝袜一区| 国产精品一区三区| 日韩欧美中文字幕制服| 亚洲成人www| 欧美在线观看你懂的| 国产精品免费网站在线观看| 国产麻豆午夜三级精品| 91精品国产aⅴ一区二区| 伊人一区二区三区| 色综合色狠狠天天综合色| 久久精品日韩一区二区三区| 麻豆精品久久久| 欧美日韩国产精选| 亚洲国产精品久久人人爱蜜臀| 99视频一区二区三区| 国产日本欧美一区二区| 国产一区二区在线影院| 精品国内二区三区| 蜜桃精品视频在线观看| 91精品国产色综合久久不卡蜜臀| 一区二区三区毛片| 在线观看亚洲专区| 亚洲黄色片在线观看| 91丨九色porny丨蝌蚪| 亚洲精品免费播放| 欧美影院一区二区三区| 亚洲精品视频在线观看免费| 欧洲日韩一区二区三区| 亚洲一区二区三区国产| 欧美性大战久久久久久久| 亚洲国产成人av网| 91精品国产综合久久香蕉的特点| 婷婷亚洲久悠悠色悠在线播放| 欧美年轻男男videosbes| 免费观看成人av| 精品国产亚洲在线| 国产成人免费在线观看不卡| 国产精品亲子伦对白| 99久精品国产| 亚洲二区在线视频| 日韩一区二区精品在线观看| 国模少妇一区二区三区| 久久久亚洲精品石原莉奈| 成人美女视频在线看| 亚洲美女屁股眼交3| 欧美精三区欧美精三区| 精品夜夜嗨av一区二区三区| 欧美国产激情二区三区 | 久久一夜天堂av一区二区三区| 麻豆精品在线看| 国产精品无遮挡| 欧美色图一区二区三区| 另类小说色综合网站| 国产欧美日本一区视频| 在线观看亚洲一区| 国产精品亚洲一区二区三区妖精| ●精品国产综合乱码久久久久| 欧美剧在线免费观看网站| 国产美女精品人人做人人爽| 亚洲免费在线视频一区 二区| 91精品国产福利| 成人午夜精品在线| 日韩国产精品91| 国产精品久久久久一区二区三区| 欧美男男青年gay1069videost| 国产在线播放一区二区三区| 亚洲另类在线制服丝袜| 精品电影一区二区| 欧洲在线/亚洲| 成人一二三区视频| 奇米一区二区三区av| 亚洲人123区| 久久综合视频网| 91超碰这里只有精品国产| 成人毛片在线观看| 黄页网站大全一区二区| 一区二区免费在线| 中文字幕欧美区| 91精品国产欧美一区二区成人| 99久久精品免费看国产| 极品瑜伽女神91| 婷婷国产v国产偷v亚洲高清| 亚洲日本va午夜在线电影| 久久久综合网站| 日韩欧美123| 91.xcao| 在线观看精品一区| 99久久er热在这里只有精品66| 另类小说一区二区三区| 天堂蜜桃91精品| 亚洲一区二区精品久久av| 中文字幕欧美一| 中文字幕免费在线观看视频一区| www成人在线观看| 日韩视频国产视频| 日韩亚洲欧美综合| 91精品国产色综合久久不卡蜜臀| 欧美偷拍一区二区| 91国产丝袜在线播放| av欧美精品.com| 波多野结衣91| www.99精品| 99精品视频免费在线观看| 成人听书哪个软件好| 国产999精品久久| 国产成人综合亚洲网站| 国产二区国产一区在线观看| 国产成人在线视频网站| 国产盗摄女厕一区二区三区| 国产xxx精品视频大全| 成人一级片网址| 99久久免费精品高清特色大片| 99精品久久99久久久久| 91亚洲午夜精品久久久久久| 91久久国产最好的精华液| 欧美在线视频不卡| 制服丝袜亚洲精品中文字幕| 日韩一区二区三区观看| 精品国产乱子伦一区| 久久久久国产精品人| 国产精品美女久久久久久久 | 欧美精品123区| 欧美一区二区成人| 久久夜色精品国产欧美乱极品| 国产欧美日韩亚州综合| 成人欧美一区二区三区| 亚洲午夜视频在线观看| 麻豆精品精品国产自在97香蕉| 国产美女一区二区| 99久久国产综合精品女不卡 | 成人国产精品视频| 色综合久久久久网| 欧美日韩国产成人在线91| 欧美变态tickling挠脚心| 日本一区二区三区高清不卡| 亚洲精品免费一二三区| 久久精品国产99久久6| 国模少妇一区二区三区| 色综合久久88色综合天天6 | 99久久婷婷国产综合精品电影 | 欧美日韩在线播放三区| 精品区一区二区| 亚洲精品伦理在线| 久久99在线观看| 91毛片在线观看| 精品福利av导航| 亚洲午夜在线电影| 国产乱码一区二区三区| 欧美性三三影院| 国产午夜精品久久久久久久| 亚洲精品国久久99热| 国精产品一区一区三区mba桃花| 色综合天天做天天爱| 欧美精品一卡二卡| 久久综合色婷婷| 亚洲国产综合在线| 成人中文字幕电影| 日韩一区二区三区免费观看| 亚洲精品日韩一| 国产99久久久国产精品免费看| 欧美日韩日本视频| 国产精品久久久久久久蜜臀| 理论片日本一区| 欧美亚洲日本国产| 国产精品白丝在线| 国产美女精品一区二区三区| 69精品人人人人| 夜夜嗨av一区二区三区网页| 成人天堂资源www在线| 欧美成人三级电影在线| 午夜精品一区二区三区免费视频 | 日本道精品一区二区三区| 久久久一区二区三区| 日韩成人免费看| 欧美日韩成人综合| 亚洲一区二区三区在线| 色婷婷精品大在线视频| 国产精品久久久久毛片软件| 国产成人免费在线| 精品国产91洋老外米糕| 免费av成人在线| 日韩视频中午一区| 日韩va欧美va亚洲va久久| 在线成人免费视频| 五月婷婷欧美视频| 欧美高清www午色夜在线视频| 亚洲一二三四区| 欧美日韩精品一区二区在线播放|