xref: /openbsd/sbin/route/keywords.sh (revision 404b540a)
1#!/bin/sh
2# $OpenBSD: keywords.sh,v 1.22 2008/05/07 06:06:25 claudio Exp $
3# $NetBSD: keywords.sh,v 1.2 1996/11/15 18:57:21 gwr Exp $
4# @(#)keywords	8.2 (Berkeley) 3/19/94
5#
6# WARNING!  If you change this file, re-run it!
7
8# This program requires "new" awk (or GNU awk).
9awk=${AWK:-awk}
10
11cat << _EOF_ > _keywords.t1
12add
13blackhole
14change
15cloning
16delete
17dst
18encap
19expire
20flush
21gateway
22genmask
23get
24host
25hopcount
26iface
27interface
28ifa
29ifp
30in
31inet
32inet6
33jumbo
34label
35link
36llinfo
37lock
38lockrest
39monitor
40mpath
41mpls
42mtu
43net
44netmask
45nojumbo
46nostatic
47out
48pop
49prefixlen
50priority
51proto1
52proto2
53push
54recvpipe
55reject
56rtt
57rttvar
58sa
59sendpipe
60show
61ssthresh
62static
63swap
64xresolve
65_EOF_
66
67
68################################################################
69# Setup
70################################################################
71
72# This creates a stream of:
73#	keyword KEYWORD
74# (lower case, upper case).
75tr a-z A-Z < _keywords.t1 |
76paste _keywords.t1 - > _keywords.t2
77
78################################################################
79# Generate the h file
80################################################################
81exec > keywords.h
82
83echo '/* $'OpenBSD'$ */
84
85/* WARNING!  This file was generated by keywords.sh  */
86
87struct keytab {
88	char	*kt_cp;
89	int	kt_i;
90};
91
92enum {
93	K_NULL,'
94
95$awk '{
96	printf("\tK_%s,\n", $2);
97}' < _keywords.t2
98
99echo '};
100
101struct keytab keywords[] = {'
102
103$awk '{
104	printf("\t{ \"%s\",\tK_%s },\n", $1, $2);
105}' < _keywords.t2
106
107echo '	{ 0, 0 }
108};
109' # tail
110
111
112################################################################
113# Cleanup
114################################################################
115
116rm -f _keywords.t1 _keywords.t2
117exit 0
118