[BACK]Return to sigconv.awk CVS log [TXT][DIR] Up to [local] / src / usr.bin / top

Annotation of src/usr.bin/top/sigconv.awk, Revision 1.5

1.3       deraadt     1: #
                      2: #  Top users/processes display for Unix
                      3: #  Version 3
                      4: #
                      5: # Copyright (c) 1984, 1989, William LeFebvre, Rice University
                      6: # Copyright (c) 1989, 1990, 1992, William LeFebvre, Northwestern University
                      7: #
                      8: # Redistribution and use in source and binary forms, with or without
                      9: # modification, are permitted provided that the following conditions
                     10: # are met:
                     11: # 1. Redistributions of source code must retain the above copyright
                     12: #    notice, this list of conditions and the following disclaimer.
                     13: # 2. Redistributions in binary form must reproduce the above copyright
                     14: #    notice, this list of conditions and the following disclaimer in the
                     15: #    documentation and/or other materials provided with the distribution.
                     16: #
                     17: # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
                     18: # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
                     19: # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
                     20: # IN NO EVENT SHALL THE AUTHOR OR HIS EMPLOYER BE LIABLE FOR ANY DIRECT, INDIRECT,
                     21: # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
                     22: # NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
                     23: # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
                     24: # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
                     25: # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
                     26: # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
                     27:
1.4       deraadt    28: BEGIN {
                     29:        nsig = 0;
                     30:        j = 0;
                     31:        print "/* This file was automatically generated */"
1.5     ! deraadt    32:        print "/* by the awk script \"sigconv.awk\".      */"
        !            33:        print "/* $OpenBSD: sigconv.awk,v 1.4 2003/06/18 08:42:31 deraadt Exp $ */\n"
1.4       deraadt    34:        print "struct sigdesc {"
                     35:        print " char    *name;"
                     36:        print " int     number;"
                     37:        print "};\n"
                     38:        print "struct sigdesc sigdesc[] = {"
                     39: }
1.1       downsj     40:
                     41: /^#define[ \t][ \t]*SIG[A-Z]/  {
                     42:
1.4       deraadt    43:        j = sprintf("%d", $3);
                     44:        str = $2;
1.5     ! deraadt    45:        if (nsig < j)
1.4       deraadt    46:                nsig = j;
                     47:        siglist[j] = sprintf("\"%s\",\t%2d", substr(str, 4), j);
                     48: }
1.1       downsj     49:
                     50: /^#[ \t]*define[ \t][ \t]*SIG[A-Z]/    {
                     51:
1.4       deraadt    52:        j = sprintf("%d", $4);
                     53:        str = $3;
                     54:        if (nsig < j)
                     55:                nsig = j;
                     56:        siglist[j] = sprintf("\"%s\",\t%2d", substr(str, 4), j);
                     57: }
1.1       downsj     58:
                     59: /^#[ \t]*define[ \t][ \t]*_SIG[A-Z]/   {
                     60:
1.4       deraadt    61:        j = sprintf("%d", $4);
                     62:        str = $3;
                     63:        if (nsig < j)
                     64:                nsig = j;
                     65:
                     66:        siglist[j] = sprintf("\"%s\",\t%2d", substr(str, 5), j);
                     67: }
                     68:
                     69: END {
1.5     ! deraadt    70:        for (n = 1; n <= nsig; n++)
1.4       deraadt    71:                if (siglist[n] != "")
                     72:                        printf("        { %s },\n", siglist[n]);
1.1       downsj     73:
1.4       deraadt    74:        printf("    { NULL,\t 0 }\n};\n");
                     75: }
1.1       downsj     76: