127 lines
1.7 KiB
Bash
127 lines
1.7 KiB
Bash
#!/bin/sh
|
|
# $OpenBSD: keywords.sh,v 1.34 2021/08/04 18:17:23 benno Exp $
|
|
# $NetBSD: keywords.sh,v 1.2 1996/11/15 18:57:21 gwr Exp $
|
|
# @(#)keywords 8.2 (Berkeley) 3/19/94
|
|
#
|
|
# WARNING! If you change this file, re-run it!
|
|
|
|
# This program requires "new" awk (or GNU awk).
|
|
awk=${AWK:-awk}
|
|
|
|
# the following must be sorted
|
|
cat << _EOF_ | sort > _keywords.t1
|
|
add
|
|
bfd
|
|
blackhole
|
|
bgp
|
|
change
|
|
cloning
|
|
connected
|
|
del
|
|
delete
|
|
dst
|
|
exec
|
|
expire
|
|
flush
|
|
gateway
|
|
get
|
|
host
|
|
hopcount
|
|
iface
|
|
interface
|
|
ifa
|
|
ifp
|
|
in
|
|
inet
|
|
inet6
|
|
jumbo
|
|
label
|
|
link
|
|
llinfo
|
|
local
|
|
lock
|
|
lockrest
|
|
monitor
|
|
mpath
|
|
mpls
|
|
mplslabel
|
|
mtu
|
|
nameserver
|
|
net
|
|
netmask
|
|
nobfd
|
|
nojumbo
|
|
nostatic
|
|
ospf
|
|
out
|
|
pop
|
|
prefixlen
|
|
priority
|
|
proto1
|
|
proto2
|
|
push
|
|
recvpipe
|
|
reject
|
|
rip
|
|
rtt
|
|
rttvar
|
|
sa
|
|
sendpipe
|
|
show
|
|
sourceaddr
|
|
ssthresh
|
|
static
|
|
swap
|
|
_EOF_
|
|
|
|
|
|
################################################################
|
|
# Setup
|
|
################################################################
|
|
|
|
# This creates a stream of:
|
|
# keyword KEYWORD
|
|
# (lower case, upper case).
|
|
tr a-z A-Z < _keywords.t1 |
|
|
paste _keywords.t1 - > _keywords.t2
|
|
|
|
################################################################
|
|
# Generate the h file
|
|
################################################################
|
|
exec > keywords.h
|
|
|
|
echo '/* $'OpenBSD'$ */
|
|
|
|
/* WARNING! This file was generated by keywords.sh */
|
|
|
|
struct keytab {
|
|
char *kt_cp;
|
|
int kt_i;
|
|
};
|
|
|
|
enum {
|
|
K_NULL,'
|
|
|
|
$awk '{
|
|
printf("\tK_%s,\n", $2);
|
|
}' < _keywords.t2
|
|
|
|
echo '};
|
|
|
|
struct keytab keywords[] = {'
|
|
|
|
$awk '{
|
|
printf("\t{ \"%s\",\tK_%s },\n", $1, $2);
|
|
}' < _keywords.t2
|
|
|
|
echo '};
|
|
' # tail
|
|
|
|
|
|
################################################################
|
|
# Cleanup
|
|
################################################################
|
|
|
|
rm -f _keywords.t1 _keywords.t2
|
|
exit 0
|