⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 oscan.c

📁 OSCAN操作系统的核心代码
💻 C
📖 第 1 页 / 共 5 页
字号:
  yylval = get_conf_token();

  yylval->string = malloc(yyleng + 1);

  if (yylval->string == NULL)
    {
      fprintf(stderr,
	      "Cannot allocate %d bytes for string token data.\n", yyleng + 1);
      yyterminate();
    }

  strncpy(yylval->string, yytext, yyleng+1);

  return TOK_IP4_ADDR;
}
	YY_BREAK
case 9:
YY_RULE_SETUP
#line 194 "oscan.lex"
{

  yylval = get_conf_token();

  yylval->string = malloc(yyleng+1);

  if (yylval->string == NULL)
    {
      fprintf(stderr,
	      "Cannot allocate %d bytes for string token data.\n", yyleng + 1);
      yyterminate();
    }

  strncpy(yylval->string, yytext, yyleng+1);

  return TOK_IP6_ADDR;
}
	YY_BREAK
case 10:
YY_RULE_SETUP
#line 212 "oscan.lex"
{
  yylval = NULL;
  return TOK_DEFAULT;
}
	YY_BREAK
case 11:
YY_RULE_SETUP
#line 217 "oscan.lex"
{

  yylval = get_conf_token();

  yylval->integer = atoi(yytext);

  return TOK_INTEGER;

}
	YY_BREAK
case 12:
YY_RULE_SETUP
#line 228 "oscan.lex"
{
  yylval = get_conf_token();

  if (strncmp(yytext, "yes", 3) == 0)
    yylval->boolean = OLSR_TRUE;

  else
    yylval->boolean = OLSR_FALSE;

  return TOK_BOOLEAN;
}
	YY_BREAK
case 13:
YY_RULE_SETUP
#line 242 "oscan.lex"
{
  yylval = get_conf_token();

  if (strncmp(yytext, "site-local", 10) == 0)
    yylval->boolean = OLSR_TRUE;

  else
    yylval->boolean = OLSR_FALSE;

  return TOK_IP6TYPE;
}
	YY_BREAK
case 14:
YY_RULE_SETUP
#line 254 "oscan.lex"
{
  yylval = NULL;
  return TOK_HOSTLABEL;
}
	YY_BREAK
case 15:
YY_RULE_SETUP
#line 259 "oscan.lex"
{
  yylval = NULL;
  return TOK_NETLABEL;
}
	YY_BREAK
case 16:
YY_RULE_SETUP
#line 264 "oscan.lex"
{
  yylval = NULL;
  return TOK_MAXIPC;
}
	YY_BREAK
case 17:
YY_RULE_SETUP
#line 269 "oscan.lex"
{
  yylval = NULL;
  return TOK_DEBUGLEVEL;
}
	YY_BREAK
case 18:
YY_RULE_SETUP
#line 274 "oscan.lex"
{
  yylval = NULL;
  return TOK_IPVERSION;
}
	YY_BREAK
case 19:
YY_RULE_SETUP
#line 279 "oscan.lex"
{
  yylval = NULL;
  return TOK_HNA4;
}
	YY_BREAK
case 20:
YY_RULE_SETUP
#line 284 "oscan.lex"
{
  yylval = NULL;
  return TOK_HNA6;
}
	YY_BREAK
case 21:
YY_RULE_SETUP
#line 289 "oscan.lex"
{
  yylval = NULL;
  return TOK_PLUGIN;
}
	YY_BREAK
case 22:
YY_RULE_SETUP
#line 294 "oscan.lex"
{
  yylval = NULL;
  return TOK_PLNAME;
}
	YY_BREAK
case 23:
YY_RULE_SETUP
#line 299 "oscan.lex"
{
  yylval = NULL;
  return TOK_PLPARAM;
}
	YY_BREAK
case 24:
YY_RULE_SETUP
#line 304 "oscan.lex"
{
  yylval = NULL;
  return TOK_INTERFACE;
}
	YY_BREAK
case 25:
YY_RULE_SETUP
#line 309 "oscan.lex"
{
  yylval = NULL;
  return TOK_NOINT;
}
	YY_BREAK
case 26:
YY_RULE_SETUP
#line 314 "oscan.lex"
{
  yylval = NULL;
  return TOK_TOS;
}
	YY_BREAK
case 27:
YY_RULE_SETUP
#line 319 "oscan.lex"
{
  yylval = NULL;
  return TOK_WILLINGNESS;
}
	YY_BREAK
case 28:
YY_RULE_SETUP
#line 324 "oscan.lex"
{
  yylval = NULL;
  return TOK_IPCCON;
}
	YY_BREAK
case 29:
YY_RULE_SETUP
#line 329 "oscan.lex"
{
  yylval = NULL;
  return TOK_USEHYST;
}
	YY_BREAK
case 30:
YY_RULE_SETUP
#line 334 "oscan.lex"
{
  yylval = NULL;
  return TOK_HYSTSCALE;
}
	YY_BREAK
case 31:
YY_RULE_SETUP
#line 339 "oscan.lex"
{
  yylval = NULL;
  return TOK_HYSTUPPER;
}
	YY_BREAK
case 32:
YY_RULE_SETUP
#line 344 "oscan.lex"
{
  yylval = NULL;
  return TOK_HYSTLOWER;
}
	YY_BREAK
case 33:
YY_RULE_SETUP
#line 349 "oscan.lex"
{
  yylval = NULL;
  return TOK_POLLRATE;
}
	YY_BREAK
case 34:
YY_RULE_SETUP
#line 355 "oscan.lex"
{
  yylval = NULL;
  return TOK_TCREDUNDANCY;
}
	YY_BREAK
case 35:
YY_RULE_SETUP
#line 360 "oscan.lex"
{
  yylval = NULL;
  return TOK_MPRCOVERAGE;
}
	YY_BREAK
case 36:
YY_RULE_SETUP
#line 365 "oscan.lex"
{
  yylval = NULL;
  return TOK_LQ_LEVEL;
}
	YY_BREAK
case 37:
YY_RULE_SETUP
#line 370 "oscan.lex"
{
  yylval = NULL;
  return TOK_LQ_FISH;
}
	YY_BREAK
case 38:
YY_RULE_SETUP
#line 375 "oscan.lex"
{
  yylval = NULL;
  return TOK_LQ_DLIMIT;
}
	YY_BREAK
case 39:
YY_RULE_SETUP
#line 380 "oscan.lex"
{
  yylval = NULL;
  return TOK_LQ_WSIZE;
}
	YY_BREAK
case 40:
YY_RULE_SETUP
#line 385 "oscan.lex"
{
  yylval = NULL;
  return TOK_LQ_MULT;
}
	YY_BREAK
case 41:
YY_RULE_SETUP
#line 390 "oscan.lex"
{
  yylval = NULL;
  return TOK_CLEAR_SCREEN;
}
	YY_BREAK
case 42:
YY_RULE_SETUP
#line 395 "oscan.lex"
{
  yylval = NULL;
  return TOK_IFWEIGHT;
}
	YY_BREAK
case 43:
YY_RULE_SETUP
#line 400 "oscan.lex"
{
  yylval = NULL;
  return TOK_IP4BROADCAST;
}
	YY_BREAK
case 44:
YY_RULE_SETUP
#line 404 "oscan.lex"
{
  yylval = NULL;
  return TOK_IP6ADDRTYPE;
}
	YY_BREAK
case 45:
YY_RULE_SETUP
#line 408 "oscan.lex"
{
  yylval = NULL;
  return TOK_IP6MULTISITE;
}
	YY_BREAK
case 46:
YY_RULE_SETUP
#line 412 "oscan.lex"
{
  yylval = NULL;
  return TOK_IP6MULTIGLOBAL;
}
	YY_BREAK
case 47:
YY_RULE_SETUP
#line 416 "oscan.lex"
{
  yylval = NULL;
  return TOK_HELLOINT;
}
	YY_BREAK
case 48:
YY_RULE_SETUP
#line 420 "oscan.lex"
{
  yylval = NULL;
  return TOK_HELLOVAL;
}
	YY_BREAK
case 49:
YY_RULE_SETUP
#line 424 "oscan.lex"
{
  yylval = NULL;
  return TOK_TCINT;
}
	YY_BREAK
case 50:
YY_RULE_SETUP
#line 428 "oscan.lex"
{
  yylval = NULL;
  return TOK_TCVAL;
}
	YY_BREAK
case 51:
YY_RULE_SETUP
#line 432 "oscan.lex"
{
  yylval = NULL;
  return TOK_MIDINT;
}
	YY_BREAK
case 52:
YY_RULE_SETUP
#line 436 "oscan.lex"
{
  yylval = NULL;
  return TOK_MIDVAL;
}
	YY_BREAK
case 53:
YY_RULE_SETUP
#line 440 "oscan.lex"
{
  yylval = NULL;
  return TOK_HNAINT;
}
	YY_BREAK
case 54:
YY_RULE_SETUP
#line 444 "oscan.lex"
{
  yylval = NULL;
  return TOK_HNAVAL;
}
	YY_BREAK
case 55:
/* rule 55 can match eol */
YY_RULE_SETUP
#line 451 "oscan.lex"
{
  current_line++;
}
	YY_BREAK
case 56:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -