sigconv.awk revision 285830
1178476Sjb# $FreeBSD: releng/10.2/contrib/top/sigconv.awk 164784 2006-12-01 07:01:19Z keramida $ 2178476Sjb 3178476SjbBEGIN { 4178476Sjb nsig = 0; 5178476Sjb j = 0; 6178476Sjb print "/* This file was automatically generated */" 7178476Sjb print "/* by the awk script \"sigconv.awk\". */\n" 8178476Sjb print "struct sigdesc {" 9178476Sjb print " char *name;" 10178476Sjb print " int number;" 11178476Sjb print "};\n" 12178476Sjb print "struct sigdesc sigdesc[] = {" 13178476Sjb } 14178476Sjb 15178476Sjb/^#define[ \t][ \t]*SIG[A-Z]+[0-9]*[ \t]/ { 16178476Sjb 17178476Sjb j = sprintf("%d", $3); 18178476Sjb str = $2; 19178476Sjb 20178476Sjb if (nsig < j) 21178476Sjb nsig = j; 22178476Sjb 23178476Sjb siglist[j] = sprintf("{ \"%s\",\t%2d },", \ 24178476Sjb substr(str, 4), j); 25178476Sjb } 26178476Sjb/^#[ \t]*define[ \t][ \t]*SIG[A-Z]+[0-9]*[ \t]/ { 27178476Sjb 28178476Sjb j = sprintf("%d", $4); 29178476Sjb str = $3; 30178476Sjb 31178476Sjb if (nsig < j) 32178476Sjb nsig = j; 33178476Sjb 34178476Sjb siglist[j] = sprintf("{ \"%s\",\t%2d },", \ 35178476Sjb substr(str, 4), j); 36178476Sjb } 37178476Sjb/^#[ \t]*define[ \t][ \t]*_SIG[A-Z]+[0-9]*[ \t]/ { 38178476Sjb 39178476Sjb j = sprintf("%d", $4); 40178476Sjb str = $3; 41178476Sjb 42178476Sjb if (nsig < j) 43 nsig = j; 44 45 siglist[j] = sprintf("{ \"%s\",\t%2d },", \ 46 substr(str, 5), j); 47 } 48 49END { 50 for (n = 1; n <= nsig; n++) 51 if (siglist[n] != "") 52 printf(" %s\n", siglist[n]); 53 54 printf(" { NULL,\t 0 }\n};\n"); 55 } 56