Home | History | Annotate | Line # | Download | only in route
keywords.sh revision 1.7
      1  1.1       gwr #!/bin/sh
      2  1.7       jrf # $NetBSD: keywords.sh,v 1.7 2003/07/19 01:36:47 jrf 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.1       gwr _EOF_
     61  1.1       gwr 
     62  1.1       gwr 
     63  1.1       gwr ################################################################
     64  1.1       gwr # Setup
     65  1.1       gwr ################################################################
     66  1.1       gwr 
     67  1.1       gwr # This creates a stream of:
     68  1.1       gwr #	keyword KEYWORD
     69  1.1       gwr # (lower case, upper case).
     70  1.1       gwr tr a-z A-Z < _keywords.t1 |
     71  1.1       gwr paste _keywords.t1 - > _keywords.t2
     72  1.1       gwr 
     73  1.1       gwr 
     74  1.1       gwr ################################################################
     75  1.1       gwr # Generate the h file
     76  1.1       gwr ################################################################
     77  1.1       gwr exec > keywords.h
     78  1.1       gwr 
     79  1.1       gwr echo '/* $'NetBSD'$ */
     80  1.1       gwr 
     81  1.1       gwr /* WARNING!  This file was generated by keywords.sh  */
     82  1.1       gwr 
     83  1.3       cgd extern struct keytab {
     84  1.1       gwr 	char	*kt_cp;
     85  1.1       gwr 	int	kt_i;
     86  1.1       gwr } keywords[];
     87  1.1       gwr 
     88  1.1       gwr ' # defines follow
     89  1.1       gwr 
     90  1.1       gwr $awk '{
     91  1.1       gwr 	printf("#define\tK_%s\t%d\n", $2, NR);
     92  1.1       gwr }' < _keywords.t2
     93  1.1       gwr 
     94  1.1       gwr 
     95  1.1       gwr ################################################################
     96  1.1       gwr # Generate the c file
     97  1.1       gwr ################################################################
     98  1.1       gwr exec > keywords.c
     99  1.1       gwr 
    100  1.1       gwr echo '/* $'NetBSD'$ */
    101  1.1       gwr 
    102  1.1       gwr /* WARNING!  This file was generated by keywords.sh  */
    103  1.1       gwr 
    104  1.1       gwr #include "keywords.h"
    105  1.1       gwr 
    106  1.1       gwr struct keytab keywords[] = {
    107  1.1       gwr ' # initializers follow
    108  1.1       gwr 
    109  1.1       gwr $awk '{
    110  1.1       gwr 	printf("\t{\"%s\", K_%s},\n", $1, $2);
    111  1.1       gwr }' < _keywords.t2
    112  1.1       gwr 
    113  1.1       gwr echo '	{0, 0}
    114  1.1       gwr };
    115  1.1       gwr ' # tail
    116  1.1       gwr 
    117  1.1       gwr 
    118  1.1       gwr ################################################################
    119  1.1       gwr # Cleanup
    120  1.1       gwr ################################################################
    121  1.1       gwr 
    122  1.1       gwr rm -f _keywords.t1 _keywords.t2
    123  1.1       gwr exit 0
    124