Home | History | Annotate | Line # | Download | only in route
keywords.sh revision 1.1
      1 #!/bin/sh
      2 # $NetBSD: keywords.sh,v 1.1 1996/11/15 18:01:39 gwr Exp $
      3 # @(#)keywords	8.2 (Berkeley) 3/19/94
      4 #
      5 # WARNING!  If you change this file, re-run it!
      6 #
      7 # Note that this implementation mixes the #define's and
      8 # the C structure initialiers in keywords.h! (Yuck!)
      9 
     10 # This program requires "new" awk (or GNU awk).
     11 awk=${AWK:-awk}
     12 
     13 cat << _EOF_ > _keywords.t1
     14 add
     15 blackhole
     16 change
     17 cloning
     18 delete
     19 dst
     20 expire
     21 flush
     22 gateway
     23 genmask
     24 get
     25 host
     26 hopcount
     27 iface
     28 interface
     29 ifa
     30 ifp
     31 inet
     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 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 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