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