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