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