]> granicus.if.org Git - strace/blob - maint/signalent.sh
ba6703062cd7bd48f999150b65f464eb296545fa
[strace] / maint / signalent.sh
1 #!/bin/sh
2 # Copyright (c) 1996 Rick Sladkey <jrs@world.std.com>
3 # Copyright (c) 1996-2017 The strace developers.
4 # All rights reserved.
5 #
6 # SPDX-License-Identifier: LGPL-2.1-or-later
7
8 cat $* |
9         sed -n -e 's/\/\*.*\*\// /' -e 's/^#[   ]*define[       ][      ]*SIG\([^_      ]*\)[   ][      ]*\([0-9][0-9]*\)[      ]*$/\1 \2/p' |
10         sort -k2n | uniq |
11         awk '
12         BEGIN {
13                 tabs = "\t\t\t\t\t\t\t\t"
14                 signal = -1;
15         }
16         $2 <= 256 {
17                 if (signal == $2)
18                         next
19                 while (++signal < $2) {
20                         n = "\"SIG_" signal "\""
21                         s = "\t" n ","
22                         s = s substr(tabs, 1, 16/8 - int((length(n) + 1)/8))
23                         s = s "/* " signal " */"
24                         print s
25                 }
26                 if (signal == $2)
27                         n = "\"SIG" $1 "\""
28                 n = "\"SIG" $1 "\""
29                 s = "\t" n ","
30                 s = s substr(tabs, 1, 16/8 - int((length(n) + 1)/8))
31                 s = s "/* " signal " */"
32                 print s
33         }
34         '