Sync usage with man page.
[netbsd-mini2440.git] / usr.bin / kdump / mksiginfos
blob6fa8343f05a1e8833bd50d84b969508c5a788c1e
1 #!/bin/sh -
2 # $NetBSD: mksiginfos,v 1.4 2008/09/12 20:44:40 christos Exp $
4 # Copyright (c) 2003 The NetBSD Foundation, Inc.
5 # All rights reserved.
7 # This code is derived from software contributed to The NetBSD Foundation
8 # by Christos Zoulas.
10 # Redistribution and use in source and binary forms, with or without
11 # modification, are permitted provided that the following conditions
12 # are met:
13 # 1. Redistributions of source code must retain the above copyright
14 # notice, this list of conditions and the following disclaimer.
15 # 2. Redistributions in binary form must reproduce the above copyright
16 # notice, this list of conditions and the following disclaimer in the
17 # documentation and/or other materials provided with the distribution.
19 # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20 # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21 # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23 # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 # POSSIBILITY OF SUCH DAMAGE.
31 # allow AWK to be overriden
32 : ${AWK:=awk}
34 $AWK '
35 BEGIN {
36 print "/* Automatically generated file; do not edit */";
37 print "#include <stdio.h>";
38 print "#include <signal.h>";
39 print "#ifndef SIGCLD";
40 print "#define SIGCLD SIGCHLD";
41 print "#endif /* SIGCLD */";
42 print "#ifndef SIGPOLL";
43 print "#define SIGPOLL SIGIO";
44 print "#endif /* SIGPOLL */";
45 print "const char *siginfocodename(int signo, int code);\n";
46 print "static char number[64];\n";
47 print "const char *siginfocodename(int signo, int code) {\n";
49 /^#[ ]*define[ ]*(ILL|FPE|SEGV|BUS|TRAP|CLD)_[A-Z]*[ ]*/ {
51 # find where the name starts
52 for (i = 1; i <= NF; i++)
53 if ($i ~ /define/)
54 break;
55 ++i;
56 split($i, sig, "_");
57 printf("\tif (signo == SIG%s && code == %s)\n\t\treturn \"%s\";\n",
58 sig[1], $i, $i);
60 END {
61 print "\n\tsnprintf(number, sizeof(number), \"[%d]\", code);\n";
62 print "\n\treturn number;"
63 print "}";
65 ' $DESTDIR/usr/include/sys/siginfo.h