1164784Skeramida# $FreeBSD$
2164784Skeramida
324139SjoergBEGIN		{
424139Sjoerg		    nsig = 0;
524139Sjoerg		    j = 0;
624139Sjoerg		    print "/* This file was automatically generated */"
724139Sjoerg		    print "/* by the awk script \"sigconv.awk\".      */\n"
824139Sjoerg		    print "struct sigdesc {"
924139Sjoerg		    print "    char *name;"
1024139Sjoerg		    print "    int  number;"
1124139Sjoerg		    print "};\n"
1224139Sjoerg		    print "struct sigdesc sigdesc[] = {"
1324139Sjoerg		}
1424139Sjoerg
15164784Skeramida/^#define[ \t][ \t]*SIG[A-Z]+[0-9]*[ \t]/	{
1624139Sjoerg
1724139Sjoerg				    j = sprintf("%d", $3);
1824139Sjoerg				    str = $2;
1924139Sjoerg
2024139Sjoerg				    if (nsig < j) 
2124139Sjoerg					nsig = j;
2224139Sjoerg
23164784Skeramida				    siglist[j] = sprintf("{ \"%s\",\t%2d },", \
2424139Sjoerg						substr(str, 4), j);
2524139Sjoerg				}
26164784Skeramida/^#[ \t]*define[ \t][ \t]*SIG[A-Z]+[0-9]*[ \t]/	{
2724139Sjoerg
2824139Sjoerg				    j = sprintf("%d", $4);
2924139Sjoerg				    str = $3;
3024139Sjoerg
3124139Sjoerg				    if (nsig < j)
3224139Sjoerg					nsig = j;
3324139Sjoerg
34164784Skeramida				    siglist[j] = sprintf("{ \"%s\",\t%2d },", \
3524139Sjoerg						substr(str, 4), j);
3624139Sjoerg				}
37164784Skeramida/^#[ \t]*define[ \t][ \t]*_SIG[A-Z]+[0-9]*[ \t]/	{
3824139Sjoerg
3924139Sjoerg				    j = sprintf("%d", $4);
4024139Sjoerg				    str = $3;
4124139Sjoerg
4224139Sjoerg				    if (nsig < j)
4324139Sjoerg					nsig = j;
4424139Sjoerg
45164784Skeramida				    siglist[j] = sprintf("{ \"%s\",\t%2d },", \
4624139Sjoerg					    substr(str, 5), j);
4724139Sjoerg				}
4824139Sjoerg
4924139SjoergEND				{
5024139Sjoerg				    for (n = 1; n <= nsig; n++) 
5124139Sjoerg					if (siglist[n] != "")
5224139Sjoerg					    printf("    %s\n", siglist[n]);
5324139Sjoerg
54164784Skeramida				    printf("    { NULL,\t 0 }\n};\n");
5524139Sjoerg				}
56