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

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

?? click-check.cc

?? Click is a modular router toolkit. To use it you ll need to know how to compile and install the sof
?? CC
字號(hào):
/* * click-check.cc -- check Click configurations for obvious errors * Eddie Kohler * * Copyright (c) 2000 Massachusetts Institute of Technology * Copyright (c) 2000 Mazu Networks, Inc. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, subject to the conditions * listed in the Click LICENSE file. These conditions include: you must * preserve this copyright notice, and you cannot mention the copyright * holders in advertising related to the Software without their permission. * The Software is provided WITHOUT ANY WARRANTY, EXPRESS OR IMPLIED. This * notice is a summary of the Click LICENSE file; the license in that file is * legally binding. */#include <click/config.h>#include <click/pathvars.h>#include "routert.hh"#include "lexert.hh"#include "elementmap.hh"#include <click/error.hh>#include <click/driver.hh>#include <click/clp.h>#include "toolutils.hh"#include "processingt.hh"#include <stdio.h>#include <stdlib.h>#include <string.h>#include <ctype.h>#include <errno.h>#include <time.h>#include <unistd.h>#include <sys/stat.h>#include <stdarg.h>#define HELP_OPT		300#define VERSION_OPT		301#define CLICKPATH_OPT		302#define ROUTER_OPT		303#define EXPRESSION_OPT		304#define OUTPUT_OPT		305#define FILTER_OPT		306#define QUIET_OPT		307#define FIRST_DRIVER_OPT	1000#define LINUXMODULE_OPT		(1000 + Driver::LINUXMODULE)#define USERLEVEL_OPT		(1000 + Driver::USERLEVEL)#define BSDMODULE_OPT		(1000 + Driver::BSDMODULE)static const Clp_Option options[] = {  { "bsdmodule", 'b', BSDMODULE_OPT, 0, Clp_Negate },  { "clickpath", 'C', CLICKPATH_OPT, Clp_ValString, 0 },  { "expression", 'e', EXPRESSION_OPT, Clp_ValString, 0 },  { "file", 'f', ROUTER_OPT, Clp_ValString, 0 },  { "filter", 'p', FILTER_OPT, 0, 0 },  { "help", 0, HELP_OPT, 0, 0 },  { "kernel", 'k', LINUXMODULE_OPT, 0, Clp_Negate },  { "linuxmodule", 'l', LINUXMODULE_OPT, 0, Clp_Negate },  { "output", 'o', OUTPUT_OPT, Clp_ValString, 0 },  { "quiet", 'q', QUIET_OPT, 0, Clp_Negate },  { "userlevel", 'u', USERLEVEL_OPT, 0, Clp_Negate },  { "version", 'v', VERSION_OPT, 0, 0 },};static const char *program_name;static String runclick_prog;voidshort_usage(){  fprintf(stderr, "Usage: %s [OPTION]... [ROUTERFILE]\n\Try '%s --help' for more information.\n",	  program_name, program_name);}voidusage(){  printf("\'Click-check' checks a Click router configuration for correctness and reports\n\any error messages to standard error.\n\\n\Usage: %s [OPTION]... [ROUTERFILE]\n\\n\Options:\n\  -f, --file FILE           Read router configuration from FILE.\n\  -e, --expression EXPR     Use EXPR as router configuration.\n\  -o, --output FILE         If valid, write configuration to FILE.\n\  -p, --filter              If valid, write configuration to standard output.\n\  -b, --bsdmodule           Check for bsdmodule driver.\n\  -l, --linuxmodule         Check for linuxmodule driver.\n\  -u, --userlevel           Check for userlevel driver.\n\  -C, --clickpath PATH      Use PATH for CLICKPATH.\n\      --help                Print this message and exit.\n\  -v, --version             Print version number and exit.\n\\n\Report bugs to <click@pdos.lcs.mit.edu>.\n", program_name);}static voidcheck_once(const RouterT *r, const char *filename,	   ElementMap &full_elementmap, int driver,	   bool indifferent, bool print_context, bool print_ok_message,	   ErrorHandler *full_errh){  const char *driver_name = Driver::name(driver);  if (!indifferent && !full_elementmap.driver_compatible(r, driver)) {    if (!full_elementmap.provides_global(driver_name))      full_errh->error("%s: Click compiled without support for %s driver", filename, driver_name);    else      full_errh->error("%s: configuration incompatible with %s driver", filename, driver_name);    return;  }  full_elementmap.set_driver(driver);  ErrorHandler *errh = full_errh;  if (print_context)      errh = new ContextErrorHandler(errh, "While checking configuration for %s driver:", driver_name);  int before = errh->nerrors();  int before_warnings = errh->nwarnings();  // get processing  ProcessingT p(const_cast<RouterT *>(r), &full_elementmap, errh);  p.check_types(errh);  // ... it will report errors as required  if (print_ok_message && errh->nerrors() == before && errh->nwarnings() == before_warnings)    full_errh->message("%s: configuration OK in %s driver", filename, driver_name);  if (print_context)    delete errh;}intmain(int argc, char **argv){  click_static_initialize();  CLICK_DEFAULT_PROVIDES;  ErrorHandler *errh = ErrorHandler::default_handler();  ErrorHandler *p_errh = new PrefixErrorHandler(errh, "click-check: ");  // read command line arguments  Clp_Parser *clp =    Clp_NewParser(argc, argv, sizeof(options) / sizeof(options[0]), options);  Clp_SetOptionChar(clp, '+', Clp_ShortNegated);  program_name = Clp_ProgramName(clp);  const char *router_file = 0;  bool file_is_expr = false;  const char *output_file = 0;  bool output = false;  bool quiet = false;  int driver_indifferent_mask = Driver::ALLMASK;  int driver_mask = 0;  while (1) {    int opt = Clp_Next(clp);    switch (opt) {     case HELP_OPT:      usage();      exit(0);      break;     case VERSION_OPT:      printf("click-check (Click) %s\n", CLICK_VERSION);      printf("Copyright (c) 2000 Massachusetts Institute of Technology\n\Copyright (c) 2000 Mazu Networks, Inc.\n\This is free software; see the source for copying conditions.\n\There is NO warranty, not even for merchantability or fitness for a\n\particular purpose.\n");      exit(0);      break;     case CLICKPATH_OPT:      set_clickpath(clp->vstr);      break;     case ROUTER_OPT:     case EXPRESSION_OPT:     router_file:      if (router_file) {	p_errh->error("router configuration specified twice");	goto bad_option;      }      router_file = clp->vstr;      file_is_expr = (opt == EXPRESSION_OPT);      break;     case Clp_NotOption:      if (!click_maybe_define(clp->vstr, p_errh))	  goto router_file;      break;     case OUTPUT_OPT:      if (output_file) {	p_errh->error("output file specified twice");	goto bad_option;      }      output_file = clp->vstr;      output = true;      break;     case FILTER_OPT:      if (output_file) {	p_errh->error("output file specified twice");	goto bad_option;      }      output_file = "-";      output = true;      break;     case QUIET_OPT:      quiet = !clp->negated;      break;     case LINUXMODULE_OPT:     case USERLEVEL_OPT:     case BSDMODULE_OPT: {       int dm = 1 << (opt - FIRST_DRIVER_OPT);       driver_mask = (clp->negated ? driver_mask & ~dm : driver_mask | dm);       driver_indifferent_mask &= ~dm;       break;     }     bad_option:     case Clp_BadOption:      short_usage();      exit(1);      break;     case Clp_Done:      goto done;    }  } done:  RouterT *r = read_router(router_file, file_is_expr, errh);  if (r)    r->flatten(errh);  if (!r || errh->nerrors() > 0)    exit(1);  if (file_is_expr)    router_file = "config";  else if (!router_file || strcmp(router_file, "-") == 0)    router_file = "<stdin>";  // open output file  FILE *outf = stdout;  if (output_file && strcmp(output_file, "-") != 0) {    outf = fopen(output_file, "w");    if (!outf)      errh->fatal("%s: %s", output_file, strerror(errno));  }  // parse 'elementmap's  ElementMap elementmap;  elementmap.parse_all_files(r, CLICK_DATADIR, p_errh);  // check configuration for driver indifference  bool indifferent = elementmap.driver_indifferent(r, driver_indifferent_mask, errh);  if (driver_indifferent_mask == Driver::ALLMASK) {    for (int d = 0; d < Driver::COUNT; d++)      if (elementmap.driver_compatible(r, d))	driver_mask |= 1 << d;  }  // actually check the drivers  for (int d = 0; d < Driver::COUNT; d++)    if (driver_mask & (1 << d))      check_once(r, router_file, elementmap,		 d, indifferent, driver_mask & ~(1 << d), !output && !quiet,		 errh);  // write configuration  if (errh->nerrors() != 0)    exit(1);  else if (output) {    write_router_file(r, outf, errh);    exit(0);  } else    exit(0);}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本中文在线一区| 日韩专区中文字幕一区二区| 国产毛片精品视频| 蜜桃视频一区二区| 美日韩一区二区三区| 日日夜夜免费精品| 日韩精品电影在线观看| 久久99最新地址| 精品一区二区久久| 国产高清不卡二三区| 国产精品资源网| 粗大黑人巨茎大战欧美成人| 国产成人免费视频一区| 成人亚洲精品久久久久软件| av综合在线播放| 色欧美片视频在线观看| 欧美色图免费看| 精品动漫一区二区三区在线观看 | 国产精品家庭影院| 亚洲一卡二卡三卡四卡无卡久久| 国产精品久久久久久福利一牛影视| 国产精品网站在线| 一区二区三区在线观看国产| 亚洲第一激情av| 国内精品免费**视频| 国产91丝袜在线观看| 色一情一伦一子一伦一区| 在线播放欧美女士性生活| 精品国产露脸精彩对白| 亚洲天堂免费看| 轻轻草成人在线| 91视频在线看| 欧美mv日韩mv国产网站app| 国产精品私人自拍| 天堂va蜜桃一区二区三区| 国产成人亚洲综合a∨猫咪| 欧美视频一二三区| 久久精品夜夜夜夜久久| 亚洲国产精品一区二区www在线| 成人免费视频app| 色婷婷亚洲综合| 欧美电影精品一区二区| 一色屋精品亚洲香蕉网站| 午夜久久久久久| av一本久道久久综合久久鬼色| 欧美另类z0zxhd电影| 国产精品久久久久久久浪潮网站 | 亚洲福中文字幕伊人影院| 国产一区欧美日韩| 欧美视频在线一区二区三区| 久久色中文字幕| 日本一区中文字幕| 欧美午夜视频网站| **性色生活片久久毛片| 国产精品中文字幕日韩精品| 欧美日韩电影在线| 亚洲欧美电影院| 丰满放荡岳乱妇91ww| 亚洲欧美色综合| 自拍av一区二区三区| 理论电影国产精品| 欧美日韩一区二区三区在线 | 日本一区二区电影| 蜜臀av亚洲一区中文字幕| 欧美网站大全在线观看| 亚洲三级电影全部在线观看高清| 国产曰批免费观看久久久| 日韩一区二区三区视频在线观看| 亚洲一区二区中文在线| 色婷婷av一区二区三区之一色屋| 国产日产欧美精品一区二区三区| 日本欧美久久久久免费播放网| 欧美性猛交一区二区三区精品| 亚洲精品国产无天堂网2021| 欧美亚洲国产bt| 亚洲第一电影网| 欧美精品三级在线观看| 美国毛片一区二区三区| 裸体歌舞表演一区二区| 69精品人人人人| 日韩精品乱码av一区二区| 欧美日韩国产高清一区二区| 一级日本不卡的影视| 91国偷自产一区二区开放时间| 亚洲精品一二三区| 91官网在线观看| 日韩国产一二三区| 欧美变态凌虐bdsm| 国产麻豆精品视频| 国产精品拍天天在线| 91视视频在线直接观看在线看网页在线看| 中文字幕乱码久久午夜不卡| jiyouzz国产精品久久| 亚洲色欲色欲www在线观看| 色综合久久久网| 久久丝袜美腿综合| 国产一区二区看久久| 国产精品蜜臀在线观看| 欧美少妇一区二区| 美国三级日本三级久久99| 久久精品视频一区二区| 91视频在线观看免费| 日本特黄久久久高潮| 欧美国产精品专区| 欧美性生活久久| 国产麻豆视频精品| 亚洲色图都市小说| 欧美一区二区三区在线| 粉嫩久久99精品久久久久久夜| 综合久久一区二区三区| 91麻豆精品国产91久久久使用方法| 欧美aaaaa成人免费观看视频| 欧美mv日韩mv| 日本精品一区二区三区四区的功能| 日韩黄色在线观看| 日本一区二区三区免费乱视频 | 亚洲天堂福利av| 日韩午夜在线观看| 99精品国产99久久久久久白柏 | 久久你懂得1024| 一本色道a无线码一区v| 美国十次了思思久久精品导航| 国产精品久久久久aaaa| 日韩欧美专区在线| 在线观看欧美精品| 国产成人午夜精品影院观看视频 | 亚洲欧美成人一区二区三区| 欧美一区二区三区的| 色综合天天综合网天天看片| 免费久久精品视频| 亚洲成人综合网站| 最新国产精品久久精品| 精品免费国产二区三区| 欧美日产国产精品| 91美女在线观看| 成人免费福利片| 国产乱对白刺激视频不卡| 强制捆绑调教一区二区| 亚洲国产日日夜夜| 亚洲三级在线免费| 一色桃子久久精品亚洲| 久久综合色8888| 欧美一卡2卡3卡4卡| 欧美精品乱码久久久久久按摩 | 91精品国产欧美一区二区| 91国偷自产一区二区使用方法| 成人黄色国产精品网站大全在线免费观看 | 国产成人精品免费在线| 国产在线一区观看| 麻豆精品在线观看| 免费看日韩精品| 美女脱光内衣内裤视频久久网站| 午夜精品福利一区二区蜜股av| 亚洲一区二区三区在线看| 一区二区不卡在线播放| 亚洲精品五月天| 亚洲精品福利视频网站| 亚洲男女一区二区三区| 一区二区在线观看不卡| 亚洲欧美日韩国产手机在线| 亚洲欧美视频在线观看视频| 一区二区三区成人| 亚洲国产成人高清精品| 日本中文字幕一区二区视频| 毛片一区二区三区| 国产在线精品一区在线观看麻豆| 国产一区二区91| 99久久婷婷国产| 91国产丝袜在线播放| 91精品欧美久久久久久动漫| 精品久久久影院| 一区二区中文视频| 亚洲高清视频的网址| 蜜臀久久99精品久久久久久9 | 国产精品人人做人人爽人人添| 国产精品久久久久9999吃药| 一区二区三区电影在线播| 亚洲国产cao| 精品亚洲porn| 国产精品一二三四五| 成人国产精品免费观看视频| 日本乱码高清不卡字幕| 欧美电影免费观看高清完整版在| 国产女人水真多18毛片18精品视频| 亚洲青青青在线视频| 日韩国产在线观看| 波多野结衣欧美| 91 com成人网| 国产精品对白交换视频| 国产米奇在线777精品观看| 91浏览器入口在线观看| 日韩美女在线视频| 亚洲蜜臀av乱码久久精品蜜桃| 日韩av中文字幕一区二区| 成人免费毛片a| 欧美一级理论性理论a| 亚洲色图.com| 国产成人在线电影| 日韩一区二区三区精品视频| 中文天堂在线一区|