Home | History | Annotate | Line # | Download | only in route
keywords.sh revision 1.5
      1  1.1       gwr #!/bin/sh
      2  1.5    itojun # $NetBSD: keywords.sh,v 1.5 1999/07/02 15:29:03 itojun 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.1       gwr cloning
     16  1.1       gwr delete
     17  1.1       gwr dst
     18  1.1       gwr expire
     19  1.1       gwr flush
     20  1.1       gwr gateway
     21  1.1       gwr genmask
     22  1.1       gwr get
     23  1.1       gwr host
     24  1.1       gwr hopcount
     25  1.1       gwr iface
     26  1.1       gwr interface
     27  1.1       gwr ifa
     28  1.1       gwr ifp
     29  1.1       gwr inet
     30  1.5    itojun inet6
     31  1.1       gwr iso
     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.1       gwr osi
     43  1.5    itojun prefixlen
     44  1.1       gwr proto1
     45  1.1       gwr proto2
     46  1.1       gwr recvpipe
     47  1.1       gwr reject
     48  1.1       gwr rtt
     49  1.1       gwr rttvar
     50  1.1       gwr sa
     51  1.1       gwr sendpipe
     52  1.1       gwr show
     53  1.1       gwr ssthresh
     54  1.1       gwr static
     55  1.1       gwr x25
     56  1.1       gwr xns
     57  1.1       gwr xresolve
     58  1.1       gwr _EOF_
     59  1.1       gwr 
     60  1.1       gwr 
     61  1.1       gwr ################################################################
     62  1.1       gwr # Setup
     63  1.1       gwr ################################################################
     64  1.1       gwr 
     65  1.1       gwr # This creates a stream of:
     66  1.1       gwr #	keyword KEYWORD
     67  1.1       gwr # (lower case, upper case).
     68  1.1       gwr tr a-z A-Z < _keywords.t1 |
     69  1.1       gwr paste _keywords.t1 - > _keywords.t2
     70  1.1       gwr 
     71  1.1       gwr 
     72  1.1       gwr ################################################################
     73  1.1       gwr # Generate the h file
     74  1.1       gwr ################################################################
     75  1.1       gwr exec > keywords.h
     76  1.1       gwr 
     77  1.1       gwr echo '/* $'NetBSD'$ */
     78  1.1       gwr 
     79  1.1       gwr /* WARNING!  This file was generated by keywords.sh  */
     80  1.1       gwr 
     81  1.3       cgd extern struct keytab {
     82  1.1       gwr 	char	*kt_cp;
     83  1.1       gwr 	int	kt_i;
     84  1.1       gwr } keywords[];
     85  1.1       gwr 
     86  1.1       gwr ' # defines follow
     87  1.1       gwr 
     88  1.1       gwr $awk '{
     89  1.1       gwr 	printf("#define\tK_%s\t%d\n", $2, NR);
     90  1.1       gwr }' < _keywords.t2
     91  1.1       gwr 
     92  1.1       gwr 
     93  1.1       gwr ################################################################
     94  1.1       gwr # Generate the c file
     95  1.1       gwr ################################################################
     96  1.1       gwr exec > keywords.c
     97  1.1       gwr 
     98  1.1       gwr echo '/* $'NetBSD'$ */
     99  1.1       gwr 
    100  1.1       gwr /* WARNING!  This file was generated by keywords.sh  */
    101  1.1       gwr 
    102  1.1       gwr #include "keywords.h"
    103  1.1       gwr 
    104  1.1       gwr struct keytab keywords[] = {
    105  1.1       gwr ' # initializers follow
    106  1.1       gwr 
    107  1.1       gwr $awk '{
    108  1.1       gwr 	printf("\t{\"%s\", K_%s},\n", $1, $2);
    109  1.1       gwr }' < _keywords.t2
    110  1.1       gwr 
    111  1.1       gwr echo '	{0, 0}
    112  1.1       gwr };
    113  1.1       gwr ' # tail
    114  1.1       gwr 
    115  1.1       gwr 
    116  1.1       gwr ################################################################
    117  1.1       gwr # Cleanup
    118  1.1       gwr ################################################################
    119  1.1       gwr 
    120  1.1       gwr rm -f _keywords.t1 _keywords.t2
    121  1.1       gwr exit 0
    122