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