]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/scanner.l
bpf filter stuff taken out
[ppp.git] / pppd / scanner.l
diff --git a/pppd/scanner.l b/pppd/scanner.l
deleted file mode 100644 (file)
index 64ffd34..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-%{
-/*     From NetBSD: scanner.l,v 1.2 1995/03/06 11:39:12 mycroft Exp */
-/*     From Header: scanner.l,v 1.40 94/06/10 17:21:44 mccanne Exp (LBL) */
-
-/*
- * Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that: (1) source code distributions
- * retain the above copyright notice and this paragraph in its entirety, (2)
- * distributions including binary code include the above copyright notice and
- * this paragraph in its entirety in the documentation or other materials
- * provided with the distribution, and (3) all advertising materials mentioning
- * features or use of this software display the following acknowledgement:
- * ``This product includes software developed by the University of California,
- * Lawrence Berkeley Laboratory and its contributors.'' Neither the name of
- * the University nor the names of its contributors may be used to endorse
- * or promote products derived from this software without specific prior
- * written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#ifndef lint
-static char rcsid[] = "$Id";
-#endif
-
-#include <sys/types.h>
-#include <sys/time.h>
-
-#include <ctype.h>
-
-#include <net/ppp_defs.h>
-#include "pcap.h"
-#include "pcap-namedb.h"
-
-#include "gencode.h"
-#include "y.tab.h"
-
-#ifndef __GNUC__
-#define inline
-#endif
-
-static int stoi(char *);
-static inline int xdtoi(int);
-
-#ifndef FLEX_SCANNER
-static char *in_buffer;
-
-#undef getc
-#define getc(fp)  (*in_buffer == 0 ? EOF : *in_buffer++)
-#endif
-
-extern YYSTYPE yylval;
-
-%}
-
-N              ([0-9]+|(0X|0x)[0-9A-Fa-f]+)
-B              ([0-9A-Fa-f][0-9A-Fa-f]?)
-
-%a 3000
-
-%%
-dst            return DST;
-src            return SRC;
-
-link|ppp       return LINK;
-ip             return IP;
-tcp            return TCP;
-udp            return UDP;
-icmp           return ICMP;
-
-host           return HOST;
-net            return NET;
-port           return PORT;
-proto          return PROTO;
-
-less           return LESS;
-greater                return GREATER;
-byte           return BYTE;
-broadcast      return TK_BROADCAST;
-multicast      return TK_MULTICAST;
-
-and|"&&"       return AND;
-or|"||"                return OR;
-not            return '!';
-
-len|length     return LEN;
-inbound                return INBOUND;
-outbound       return OUTBOUND;
-
-[ \n\t]                        ;
-[+\-*/:\[\]!<>()&|=]   return yytext[0];
-">="                   return GEQ;
-"<="                   return LEQ;
-"!="                   return NEQ;
-"=="                   return '=';
-"<<"                   return LSH;
-">>"                   return RSH;
-{N}                    { yylval.i = stoi((char *)yytext); return NUM; }
-({N}\.{N})|({N}\.{N}\.{N})|({N}\.{N}\.{N}\.{N})        {
-                       yylval.s = sdup((char *)yytext); return HID;
-}
-[A-Za-z][-_.A-Za-z0-9]*        { yylval.s = sdup((char *)yytext); return ID; }
-"\\"[^ !()\n\t]+       { yylval.s = sdup((char *)yytext + 1); return ID; }
-[^ \[\]\t\n\-_.A-Za-z0-9!<>()&|=]+    { bpf_error("illegal token: %s\n", yytext); }
-.                      { bpf_error("illegal char '%c'", *yytext); }
-%%
-void
-lex_init(buf)
-       char *buf;
-{
-#ifdef FLEX_SCANNER
-       if (yy_current_buffer)
-               yy_delete_buffer(yy_current_buffer);
-       yy_switch_to_buffer(yy_scan_string(buf));
-#else
-       in_buffer = buf;
-#endif
-}
-
-/*
- * Also define a yywrap.  Note that if we're using flex, it will
- * define a macro to map this identifier to pcap_wrap.
- */
-int
-yywrap()
-{
-       return 1;
-}
-
-/* Hex digit to integer. */
-static inline int
-xdtoi(c)
-       register int c;
-{
-       if (isdigit(c))
-               return c - '0';
-       else if (islower(c))
-               return c - 'a' + 10;
-       else
-               return c - 'A' + 10;
-}
-
-/*
- * Convert string to integer.  Just like atoi(), but checks for
- * preceding 0x or 0 and uses hex or octal instead of decimal.
- */
-static int
-stoi(s)
-       char *s;
-{
-       int base = 10;
-       int n = 0;
-
-       if (*s == '0') {
-               if (s[1] == 'x' || s[1] == 'X') {
-                       s += 2;
-                       base = 16;
-               }
-               else {
-                       base = 8;
-                       s += 1;
-               }
-       }
-       while (*s)
-               n = n * base + xdtoi(*s++);
-
-       return n;
-}
-