Home | History | Annotate | Line # | Download | only in route
keywords.sh revision 1.10
      1   1.1       gwr #!/bin/sh
      2  1.10       gdt # $NetBSD: keywords.sh,v 1.10 2011/11/11 15:09:32 gdt 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 iso
     33   1.1       gwr link
     34   1.1       gwr llinfo
     35   1.1       gwr lock
     36   1.1       gwr lockrest
     37   1.1       gwr mask
     38   1.1       gwr monitor
     39   1.1       gwr mtu
     40   1.1       gwr net
     41   1.1       gwr netmask
     42   1.1       gwr nostatic
     43   1.1       gwr osi
     44   1.5    itojun prefixlen
     45   1.1       gwr proto1
     46   1.1       gwr proto2
     47   1.1       gwr recvpipe
     48   1.1       gwr reject
     49   1.1       gwr rtt
     50   1.1       gwr rttvar
     51   1.1       gwr sa
     52   1.1       gwr sendpipe
     53   1.1       gwr show
     54   1.1       gwr ssthresh
     55   1.1       gwr static
     56   1.1       gwr x25
     57   1.1       gwr xns
     58   1.1       gwr xresolve
     59   1.7       jrf flushall
     60   1.8    kefren nocloned
     61   1.8    kefren nocloning
     62   1.8    kefren noblackhole
     63   1.8    kefren noreject
     64   1.9    kefren mpls
     65   1.9    kefren tag
     66  1.10       gdt proxy
     67   1.1       gwr _EOF_
     68   1.1       gwr 
     69   1.1       gwr 
     70   1.1       gwr ################################################################
     71   1.1       gwr # Setup
     72   1.1       gwr ################################################################
     73   1.1       gwr 
     74   1.1       gwr # This creates a stream of:
     75   1.1       gwr #	keyword KEYWORD
     76   1.1       gwr # (lower case, upper case).
     77   1.1       gwr tr a-z A-Z < _keywords.t1 |
     78   1.1       gwr paste _keywords.t1 - > _keywords.t2
     79   1.1       gwr 
     80   1.1       gwr 
     81   1.1       gwr ################################################################
     82   1.1       gwr # Generate the h file
     83   1.1       gwr ################################################################
     84   1.1       gwr exec > keywords.h
     85   1.1       gwr 
     86   1.1       gwr echo '/* $'NetBSD'$ */
     87   1.1       gwr 
     88   1.1       gwr /* WARNING!  This file was generated by keywords.sh  */
     89   1.1       gwr 
     90   1.3       cgd extern struct keytab {
     91   1.8    kefren 	const char *kt_cp;
     92   1.1       gwr 	int	kt_i;
     93   1.1       gwr } keywords[];
     94   1.1       gwr 
     95   1.1       gwr ' # defines follow
     96   1.1       gwr 
     97   1.1       gwr $awk '{
     98   1.1       gwr 	printf("#define\tK_%s\t%d\n", $2, NR);
     99   1.1       gwr }' < _keywords.t2
    100   1.1       gwr 
    101   1.1       gwr 
    102   1.1       gwr ################################################################
    103   1.1       gwr # Generate the c file
    104   1.1       gwr ################################################################
    105   1.1       gwr exec > keywords.c
    106   1.1       gwr 
    107   1.1       gwr echo '/* $'NetBSD'$ */
    108   1.1       gwr 
    109   1.1       gwr /* WARNING!  This file was generated by keywords.sh  */
    110   1.1       gwr 
    111   1.1       gwr #include "keywords.h"
    112   1.1       gwr 
    113   1.1       gwr struct keytab keywords[] = {
    114   1.1       gwr ' # initializers follow
    115   1.1       gwr 
    116   1.1       gwr $awk '{
    117   1.1       gwr 	printf("\t{\"%s\", K_%s},\n", $1, $2);
    118   1.1       gwr }' < _keywords.t2
    119   1.1       gwr 
    120   1.1       gwr echo '	{0, 0}
    121   1.1       gwr };
    122   1.1       gwr ' # tail
    123   1.1       gwr 
    124   1.1       gwr 
    125   1.1       gwr ################################################################
    126   1.1       gwr # Cleanup
    127   1.1       gwr ################################################################
    128   1.1       gwr 
    129   1.1       gwr rm -f _keywords.t1 _keywords.t2
    130   1.1       gwr exit 0
    131