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