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