mksiginfos revision 1.1
11.1Schristos#!/bin/sh - 21.1Schristos# $NetBSD: mksiginfos,v 1.1 2003/09/19 22:49:02 christos Exp $ 31.1Schristos# 41.1Schristos# Copyright (c) 2003 The NetBSD Foundation, Inc. 51.1Schristos# All rights reserved. 61.1Schristos# 71.1Schristos# This code is derived from software contributed to The NetBSD Foundation 81.1Schristos# by Christos Zoulas. 91.1Schristos# 101.1Schristos# Redistribution and use in source and binary forms, with or without 111.1Schristos# modification, are permitted provided that the following conditions 121.1Schristos# are met: 131.1Schristos# 1. Redistributions of source code must retain the above copyright 141.1Schristos# notice, this list of conditions and the following disclaimer. 151.1Schristos# 2. Redistributions in binary form must reproduce the above copyright 161.1Schristos# notice, this list of conditions and the following disclaimer in the 171.1Schristos# documentation and/or other materials provided with the distribution. 181.1Schristos# 3. All advertising materials mentioning features or use of this software 191.1Schristos# must display the following acknowledgement: 201.1Schristos# This product includes software developed by the NetBSD 211.1Schristos# Foundation, Inc. and its contributors. 221.1Schristos# 4. Neither the name of The NetBSD Foundation nor the names of its 231.1Schristos# contributors may be used to endorse or promote products derived 241.1Schristos# from this software without specific prior written permission. 251.1Schristos# 261.1Schristos# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 271.1Schristos# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 281.1Schristos# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 291.1Schristos# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 301.1Schristos# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 311.1Schristos# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 321.1Schristos# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 331.1Schristos# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 341.1Schristos# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 351.1Schristos# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 361.1Schristos# POSSIBILITY OF SUCH DAMAGE. 371.1Schristos 381.1Schristosawk ' 391.1SchristosBEGIN { 401.1Schristos print "/* Automatically generated file; do not edit */"; 411.1Schristos print "#include <stdio.h>"; 421.1Schristos print "#include <signal.h>"; 431.1Schristos print "#ifndef SIGCLD"; 441.1Schristos print "#define SIGCLD SIGCHLD"; 451.1Schristos print "#endif /* SIGCLD */"; 461.1Schristos print "#ifndef SIGPOLL"; 471.1Schristos print "#define SIGPOLL SIGIO"; 481.1Schristos print "#endif /* SIGPOLL */"; 491.1Schristos print "const char *siginfocodename(int signo, int code);\n"; 501.1Schristos print "static char number[64];\n"; 511.1Schristos print "const char *siginfocodename(int signo, int code) {\n"; 521.1Schristos} 531.1Schristos/^#[ ]*define[ ]*(ILL|FPE|SEGV|BUS|TRAP|CLD)_[A-Z]*[ ]*/ { 541.1Schristos 551.1Schristos # find where the name starts 561.1Schristos for (i = 1; i <= NF; i++) 571.1Schristos if ($i ~ /define/) 581.1Schristos break; 591.1Schristos ++i; 601.1Schristos split($i, sig, "_"); 611.1Schristos printf("\tif (signo == SIG%s && code == %s)\n\t\treturn \"%s\";\n", 621.1Schristos sig[1], $i, $i); 631.1Schristos} 641.1SchristosEND { 651.1Schristos print "\n\tsnprintf(number, sizeof(number), \"%d\", code);\n"; 661.1Schristos print "\n\treturn NULL;" 671.1Schristos print "}"; 681.1Schristos} 691.1Schristos' $DESTDIR/usr/include/sys/siginfo.h 70