/*------------------------------------------------------------------ Copyright (c) 1998-1999 Microsoft Corporation tnadmin.l generates tnadminl.c (using flex) vikram (vikram_krc@bigfoot.com) This lex file recognises tokens in the command line and passes it to the command line parser.(tnadmin.y) -----------------------------------------------------------------*/ %{ #include #include #include "tnadminy.h" #define YY_NEVER_INTERACTIVE 1 #define fileno _fileno #define strdup _strdup int nMoccur=-1; char **filelist; int currentfile=1; //between yacc and lex int g_fMessage=0; int g_fComp=1; int g_fNormal=1; char * szCompname=NULL; %} %option noyywrap delim [ \t] ws {delim}+ letter [A-Za-z\"] digit [0-9] digit2 [0-5] integer {digit}+ time (({integer}:)?[0-5]?[0-9]:)?[0-5]?[0-9] num123 {digit}{digit}?{digit}? string {letter}({letter}|{digit})* message [A-Za-z0-9\\\|\}\{\]\[\+\=\-\_\(\)\*\&\^\%\$\@\!\~\`\;\:\"\'\<\,\>\.\?\/ ]+ ipno ((0|1)?[0-9]|2[0-4])?[0-9]|25[0-5] ipaddr {ipno}\.{ipno}\.{ipno}\.{ipno} comp [^ \t\n\r\.\=\+\/\\]* cname ({comp}\.)*{comp} computer (\\\\)?({cname}|{ipaddr}) %% "#"/"\n" {return _ENDINPUT;} "-?"|"/?" {if(g_fNormal==0)REJECT;return _HELP;} <> {return 0;} "\n" {return(0);} "tnadmin" {if(g_fNormal==0)REJECT;return(_TNADMIN);} "-u"/[ \t] {if(g_fNormal==0)REJECT;return(_tU);} "-p"/[ \t] {if(g_fNormal==0)REJECT;return(_tP);} "start" {if(g_fNormal==0)REJECT;return(_START);} "stop" {if(g_fNormal==0)REJECT;return( _STOP);} "pause" {if(g_fNormal==0)REJECT;return(_PAUSE);} "continue" {if(g_fNormal==0)REJECT;return(_CONTINUE);} "-s"/[ \t] {if(g_fNormal==0)REJECT;return(_S);} "-k"/[ \t] {if(g_fNormal==0)REJECT;return(_K);} "-m"/[ \t] {if(g_fNormal==0)REJECT;nMoccur=0;return(_M);} "config" {if(g_fNormal==0)REJECT;return(_CONFIG);} "dom" {if(g_fNormal==0)REJECT;return(_DOM);} "ctrlakeymap" {if(g_fNormal==0)REJECT;return(_CTRLKEYMAP);} "no"|"n" {if(g_fNormal==0)REJECT;return(_N);} "yes"|"y" {if(g_fNormal==0)REJECT;return(_Y);} "timeout" {if(g_fNormal==0)REJECT;return(_TIMEOUT);} "timeoutactive" {if(g_fNormal==0)REJECT;return(_TIMEOUTACTIVE);} "maxfail" {if(g_fNormal==0)REJECT;return(_MAXFAIL);} "maxconn" {if(g_fNormal==0)REJECT;return(_MAXCONN);} "port" {if(g_fNormal==0)REJECT;return(_PORT);} "killall" {if(g_fNormal==0)REJECT;return(_KILLALL);} "sec" {if(g_fNormal==0)REJECT;return(_SEC);} "-NTLM" {if(g_fNormal==0)REJECT;return _MINUSNTLM;} [+]?"NTLM" {if(g_fNormal==0)REJECT;return _PLUSNTLM;} "-PASSWD" {if(g_fNormal==0)REJECT;return _MINUSPASSWD;} [+]?"PASSWD" {if(g_fNormal==0)REJECT;return _PLUSPASSWD;} "mode" {if(g_fNormal==0)REJECT;return(_MODE);} "console" {if(g_fNormal==0)REJECT;return(_CONSOLE);} "stream" {if(g_fNormal==0)REJECT;return(_STREAM);} "=" {if(g_fNormal==0)REJECT;return(_EQ);} {integer} {if(g_fNormal==0)REJECT;return(_INTEGER);} {time} {if(g_fNormal==0)REJECT;return(_TIME);} "all" {if(g_fNormal==0)REJECT;return(_SESID);} {computer}|\. {if(g_fComp==0) REJECT; szCompname=strdup(yytext);return(_COMPNAME);} {ws} {} . {return _DUNNO;} %%