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

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

?? sig.c

?? OpenVPN is a robust and highly flexible tunneling application that uses all of the encryption, authe
?? C
字號(hào):
/* *  OpenVPN -- An application to securely tunnel IP networks *             over a single TCP/UDP port, with support for SSL/TLS-based *             session authentication and key exchange, *             packet encryption, packet authentication, and *             packet compression. * *  Copyright (C) 2002-2004 James Yonan <jim@yonan.net> * *  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; either version 2 of the License, or *  (at your option) any later version. * *  This program 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 this program (see the file COPYING included with this *  distribution); if not, write to the Free Software Foundation, Inc., *  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */#ifdef WIN32#include "config-win32.h"#else#include "config.h"#endif#include "syshead.h"#include "buffer.h"#include "error.h"#include "win32.h"#include "openvpn.h"#include "memdbg.h"/* Handle signals */struct signal_info siginfo_static; /* GLOBAL */const char *signal_description (int signum, const char *sigtext){  if (sigtext)    return sigtext;  else    {      switch (signum)	{	case SIGUSR1:	  return "sigusr1";	case SIGUSR2:	  return "sigusr2";	case SIGHUP:	  return "sighup";	case SIGTERM:	  return "sigterm";	case SIGINT:	  return "sigint";	default:	  return "unknown";	}    }}voidprint_signal (const struct signal_info *si, const char *title){  const char *hs = (si->hard ? "hard" : "soft");  const char *type = (si->signal_text ? si->signal_text : "");  const char *t = (title ? title : "process");  switch (si->signal_received)    {    case SIGINT:      msg (M_INFO, "SIGINT[%s,%s] received, %s exiting", hs, type, t);      break;    case SIGTERM:      msg (M_INFO, "SIGTERM[%s,%s] received, %s exiting", hs, type, t);      break;    case SIGHUP:      msg (M_INFO, "SIGHUP[%s,%s] received, %s restarting", hs, type, t);      break;    case SIGUSR1:      msg (M_INFO, "SIGUSR1[%s,%s] received, %s restarting", hs, type, t);      break;    default:      msg (M_INFO, "Unknown signal %d [%s,%s] received by %s", si->signal_received, hs, type, t);      break;    }}#ifdef HAVE_SIGNAL_H/* normal signal handler, when we are in event loop */static voidsignal_handler (int signum){  siginfo_static.signal_received = signum;  siginfo_static.hard = true;  signal (signum, signal_handler);}/* temporary signal handler, before we are fully initialized */static voidsignal_handler_exit (int signum){  msg (M_FATAL | M_NOLOCK,       "Signal %d (%s) received during initialization, exiting",       signum, signal_description (signum, NULL));}#endifvoidpre_init_signal_catch (void){#ifdef HAVE_SIGNAL_H  /*   * Special handling if signal arrives before   * we are properly initialized.   */  signal (SIGINT, signal_handler_exit);  signal (SIGTERM, signal_handler_exit);  signal (SIGHUP, SIG_IGN);  signal (SIGUSR1, SIG_IGN);  signal (SIGUSR2, SIG_IGN);  signal (SIGPIPE, SIG_IGN);#endif /* HAVE_SIGNAL_H */}voidpost_init_signal_catch (void){#ifdef HAVE_SIGNAL_H  /* catch signals */  signal (SIGINT, signal_handler);  signal (SIGTERM, signal_handler);  signal (SIGHUP, signal_handler);  signal (SIGUSR1, signal_handler);  signal (SIGUSR2, signal_handler);#endif /* HAVE_SIGNAL_H */}/* * Print statistics. * * Triggered by SIGUSR2 or F2 on Windows. */voidprint_status (const struct context *c, struct status_output *so){  struct gc_arena gc = gc_new ();  status_reset (so);  status_printf (so, PACKAGE_NAME " STATISTICS");  status_printf (so, "Updated,%s", time_string (0, 0, false, &gc));  status_printf (so, "TUN/TAP read bytes," counter_format, c->c2.tun_read_bytes);  status_printf (so, "TUN/TAP write bytes," counter_format, c->c2.tun_write_bytes);  status_printf (so, "TCP/UDP read bytes," counter_format, c->c2.link_read_bytes);  status_printf (so, "TCP/UDP write bytes," counter_format, c->c2.link_write_bytes);  status_printf (so, "Auth read bytes," counter_format, c->c2.link_read_bytes_auth);#ifdef USE_LZO  if (c->options.comp_lzo)    lzo_print_stats (&c->c2.lzo_compwork, so);#endif#ifdef WIN32  if (tuntap_defined (c->c1.tuntap))    status_printf (so, "TAP-WIN32 driver status,\"%s\"",	 tap_win32_getinfo (c->c1.tuntap, &gc));#endif  status_printf (so, "END");  status_flush (so);  gc_free (&gc);}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日韩精品一区二区浪潮av| 在线成人av影院| 日韩av一二三| 国产精品日韩精品欧美在线| 91精品久久久久久久久99蜜臂| 国产69精品久久777的优势| 日韩在线一二三区| 亚洲欧美区自拍先锋| 精品久久一区二区三区| 欧美日韩一区国产| 成人久久久精品乱码一区二区三区| 日韩电影一区二区三区| 亚洲欧美偷拍卡通变态| 国产视频一区在线观看| 91精品国产欧美一区二区| 色香色香欲天天天影视综合网| 国产精品香蕉一区二区三区| 欧美aaa在线| 亚洲国产一区二区三区| 国产精品免费人成网站| wwwwww.欧美系列| 91精品国产免费| 欧美性受xxxx| 色综合欧美在线| 99久久婷婷国产| 国产福利不卡视频| 国产一区二区三区四区五区美女 | 欧美精品一二三| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 91视频在线观看| 成人av电影在线播放| 国产一区不卡在线| 国内成人免费视频| 极品尤物av久久免费看| 久久99精品国产麻豆婷婷洗澡| 日韩一区精品字幕| 日本人妖一区二区| 日本麻豆一区二区三区视频| 奇米影视一区二区三区| 欧美a一区二区| 经典三级视频一区| 国产乱码一区二区三区| 国产高清在线精品| 国产成人免费视| 成人激情小说乱人伦| www.久久精品| 91麻豆国产福利精品| 色94色欧美sute亚洲线路二| 色婷婷综合久久久久中文一区二区| 色综合天天综合网天天看片| 欧美影院午夜播放| 欧美精品一二三| 精品成人在线观看| 久久在线免费观看| 日本伦理一区二区| 亚洲日本在线看| 亚洲天堂2016| 亚洲精品国产品国语在线app| 亚洲色图在线视频| 亚洲成a人v欧美综合天堂下载| 午夜精品久久一牛影视| 九九九久久久精品| 成人动漫在线一区| 欧美在线观看视频一区二区 | 成人综合日日夜夜| 波多野结衣欧美| 在线观看精品一区| 日韩欧美国产一区在线观看| 久久久久久久久一| 椎名由奈av一区二区三区| 亚洲成人综合网站| 国产综合久久久久久鬼色| jvid福利写真一区二区三区| 一本大道久久a久久综合婷婷| 在线91免费看| 国产欧美精品在线观看| 夜夜嗨av一区二区三区四季av| 日韩中文字幕一区二区三区| 高清在线不卡av| 欧美猛男gaygay网站| 久久久久久久精| 亚洲图片欧美视频| 国内精品久久久久影院薰衣草| 91视频91自| 日韩女优制服丝袜电影| 国产精品久久久一本精品| 婷婷成人综合网| 成人性生交大片免费看视频在线 | 在线精品视频一区二区| 日韩丝袜美女视频| 亚洲日本青草视频在线怡红院| 蜜桃久久av一区| 一本色道久久加勒比精品| 精品久久久网站| 亚洲一区在线免费观看| 国产91精品精华液一区二区三区 | 精品三级av在线| 一区二区三区精品视频在线| 国产剧情一区二区| 欧美午夜片在线观看| 国产精品你懂的在线| 精品一区二区综合| 欧美日产国产精品| 亚洲日本韩国一区| 成人一区二区三区中文字幕| 欧美一级xxx| 亚洲影视资源网| 91色婷婷久久久久合中文| 精品1区2区在线观看| 日韩精品福利网| 日本丶国产丶欧美色综合| 国产欧美日韩视频在线观看| 美女在线视频一区| 欧美喷潮久久久xxxxx| 亚洲精品日产精品乱码不卡| 不卡大黄网站免费看| 26uuu色噜噜精品一区二区| 日韩高清一区在线| 欧美日韩国产一二三| 亚洲精品大片www| 97精品超碰一区二区三区| 国产日本一区二区| 国产精品综合二区| 久久综合国产精品| 激情综合色综合久久| 日韩免费一区二区| 免费在线观看日韩欧美| 欧美一区二区三区喷汁尤物| 亚洲成人第一页| 欧美网站一区二区| 亚洲妇熟xx妇色黄| 欧美猛男超大videosgay| 亚洲国产精品久久人人爱| 色拍拍在线精品视频8848| 最新国产成人在线观看| 99久久99久久久精品齐齐| 亚洲欧美在线aaa| 97超碰欧美中文字幕| 一级女性全黄久久生活片免费| 色婷婷精品久久二区二区蜜臂av | 日韩视频免费观看高清在线视频| 性感美女极品91精品| 欧美日韩成人综合在线一区二区| 天堂影院一区二区| 欧美一区二区三区在线观看视频| 免费av网站大全久久| 亚洲精品在线一区二区| 懂色av一区二区三区蜜臀| 中文字幕视频一区| 日本韩国欧美三级| 日韩高清中文字幕一区| 久久蜜桃av一区精品变态类天堂| 国产大片一区二区| 1024亚洲合集| 欧美日韩高清一区二区不卡| 毛片基地黄久久久久久天堂| 久久影院视频免费| 99热精品一区二区| 亚洲成精国产精品女| 3d成人动漫网站| 国产精品911| 一级日本不卡的影视| 精品日韩一区二区| 99国产一区二区三精品乱码| 亚洲成av人片一区二区| 精品日韩一区二区| 91视频免费看| 麻豆精品久久精品色综合| 欧美高清在线精品一区| 欧美日韩精品欧美日韩精品| 国内精品嫩模私拍在线| 综合久久久久综合| 欧美一区二区免费观在线| 国产乱人伦偷精品视频不卡| 亚洲激情欧美激情| 欧美大肚乱孕交hd孕妇| 高清不卡一区二区在线| 午夜久久久久久久久| 久久久久88色偷偷免费| 91国偷自产一区二区三区成为亚洲经典| 午夜久久久久久久久| 国产精品午夜在线| 555夜色666亚洲国产免| 成人激情午夜影院| 男女性色大片免费观看一区二区 | 日本久久一区二区| 激情深爱一区二区| 亚洲自拍偷拍网站| 日本一区二区三区在线不卡| 欧美日韩一区国产| 91在线国产观看| 国产在线精品免费av| 亚洲成人一区在线| 国产精品久久毛片a| 精品美女一区二区三区| 在线日韩一区二区| 高清国产一区二区三区| 美女网站色91| 亚洲第一福利一区| 亚洲欧洲av色图|