Home | History | Annotate | Line # | Download | only in route
      1   1.1       gwr #!/bin/sh
      2  1.11     joerg # $NetBSD: keywords.sh,v 1.11 2013/03/01 18:25:17 joerg Exp $
      3   1.1       gwr # @(#)keywords	8.2 (Berkeley) 3/19/94
      4   1.1       gwr #
      5   1.1       gwr # WARNING!  If you change this file, re-run it!
      6   1.1       gwr 
      7   1.1       gwr # This program requires "new" awk (or GNU awk).
      8   1.1       gwr awk=${AWK:-awk}
      9   1.1       gwr 
     10   1.1       gwr cat << _EOF_ > _keywords.t1
     11   1.1       gwr add
     12   1.4  christos atalk
     13   1.1       gwr blackhole
     14   1.1       gwr change
     15   1.6    itojun cloned
     16   1.1       gwr cloning
     17   1.1       gwr delete
     18   1.1       gwr dst
     19   1.1       gwr expire
     20   1.1       gwr flush
     21   1.1       gwr gateway
     22   1.1       gwr genmask
     23   1.1       gwr get
     24   1.1       gwr host
     25   1.1       gwr hopcount
     26   1.1       gwr iface
     27   1.1       gwr interface
     28   1.1       gwr ifa
     29   1.1       gwr ifp
     30   1.1       gwr inet
     31   1.5    itojun inet6
     32   1.1       gwr link
     33   1.1       gwr llinfo
     34   1.1       gwr lock
     35   1.1       gwr lockrest
     36   1.1       gwr mask
     37   1.1       gwr monitor
     38   1.1       gwr mtu
     39   1.1       gwr net
     40   1.1       gwr netmask
     41   1.1       gwr nostatic
     42   1.5    itojun prefixlen
     43   1.1       gwr proto1
     44   1.1       gwr proto2
     45   1.1       gwr recvpipe
     46   1.1       gwr reject
     47   1.1       gwr rtt
     48   1.1       gwr rttvar
     49   1.1       gwr sa
     50   1.1       gwr sendpipe
     51   1.1       gwr show
     52   1.1       gwr ssthresh
     53   1.1       gwr static
     54   1.1       gwr x25
     55   1.1       gwr xns
     56   1.1       gwr xresolve
     57   1.7       jrf flushall
     58   1.8    kefren nocloned
     59   1.8    kefren nocloning
     60   1.8    kefren noblackhole
     61   1.8    kefren noreject
     62   1.9    kefren mpls
     63   1.9    kefren tag
     64  1.10       gdt proxy
     65   1.1       gwr _EOF_
     66   1.1       gwr 
     67   1.1       gwr 
     68   1.1       gwr ################################################################
     69   1.1       gwr # Setup
     70   1.1       gwr ################################################################
     71   1.1       gwr 
     72   1.1       gwr # This creates a stream of:
     73   1.1       gwr #	keyword KEYWORD
     74   1.1       gwr # (lower case, upper case).
     75   1.1       gwr tr a-z A-Z < _keywords.t1 |
     76   1.1       gwr paste _keywords.t1 - > _keywords.t2
     77   1.1       gwr 
     78   1.1       gwr 
     79   1.1       gwr ################################################################
     80   1.1       gwr # Generate the h file
     81   1.1       gwr ################################################################
     82   1.1       gwr exec > keywords.h
     83   1.1       gwr 
     84   1.1       gwr echo '/* $'NetBSD'$ */
     85   1.1       gwr 
     86   1.1       gwr /* WARNING!  This file was generated by keywords.sh  */
     87   1.1       gwr 
     88   1.3       cgd extern struct keytab {
     89   1.8    kefren 	const char *kt_cp;
     90   1.1       gwr 	int	kt_i;
     91   1.1       gwr } keywords[];
     92   1.1       gwr 
     93   1.1       gwr ' # defines follow
     94   1.1       gwr 
     95   1.1       gwr $awk '{
     96   1.1       gwr 	printf("#define\tK_%s\t%d\n", $2, NR);
     97   1.1       gwr }' < _keywords.t2
     98   1.1       gwr 
     99   1.1       gwr 
    100   1.1       gwr ################################################################
    101   1.1       gwr # Generate the c file
    102   1.1       gwr ################################################################
    103   1.1       gwr exec > keywords.c
    104   1.1       gwr 
    105   1.1       gwr echo '/* $'NetBSD'$ */
    106   1.1       gwr 
    107   1.1       gwr /* WARNING!  This file was generated by keywords.sh  */
    108   1.1       gwr 
    109   1.1       gwr #include "keywords.h"
    110   1.1       gwr 
    111   1.1       gwr struct keytab keywords[] = {
    112   1.1       gwr ' # initializers follow
    113   1.1       gwr 
    114   1.1       gwr $awk '{
    115   1.1       gwr 	printf("\t{\"%s\", K_%s},\n", $1, $2);
    116   1.1       gwr }' < _keywords.t2
    117   1.1       gwr 
    118   1.1       gwr echo '	{0, 0}
    119   1.1       gwr };
    120   1.1       gwr ' # tail
    121   1.1       gwr 
    122   1.1       gwr 
    123   1.1       gwr ################################################################
    124   1.1       gwr # Cleanup
    125   1.1       gwr ################################################################
    126   1.1       gwr 
    127   1.1       gwr rm -f _keywords.t1 _keywords.t2
    128   1.1       gwr exit 0
    129